From 8008dd09ccf88d4edef237a184a698cac42f2952 Mon Sep 17 00:00:00 2001 From: "William R. Otte" Date: Mon, 24 Jul 2006 15:50:11 +0000 Subject: Repo restructuring --- TAO/orbsvcs/orbsvcs/ATLAS.idl | 88 - TAO/orbsvcs/orbsvcs/AV.mpc | 85 - TAO/orbsvcs/orbsvcs/AV.rc | 30 - TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp | 5309 ---- TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h | 1536 -- TAO/orbsvcs/orbsvcs/AV/AVStreams_i.i | 62 - TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp | 1186 - TAO/orbsvcs/orbsvcs/AV/AV_Core.h | 181 - TAO/orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html | 377 - TAO/orbsvcs/orbsvcs/AV/AV_export.h | 40 - TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp | 435 - TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h | 190 - TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp | 837 - TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h | 293 - TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp | 75 - TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h | 86 - TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp | 1018 - TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h | 359 - TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i | 347 - TAO/orbsvcs/orbsvcs/AV/Flows_T.cpp | 252 - TAO/orbsvcs/orbsvcs/AV/Flows_T.h | 130 - TAO/orbsvcs/orbsvcs/AV/MCast.cpp | 220 - TAO/orbsvcs/orbsvcs/AV/MCast.h | 117 - TAO/orbsvcs/orbsvcs/AV/MCast.i | 17 - TAO/orbsvcs/orbsvcs/AV/Policy.cpp | 150 - TAO/orbsvcs/orbsvcs/AV/Policy.h | 176 - TAO/orbsvcs/orbsvcs/AV/Policy.i | 81 - TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.cpp | 131 - TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h | 103 - TAO/orbsvcs/orbsvcs/AV/QoS_UDP.cpp | 1537 -- TAO/orbsvcs/orbsvcs/AV/QoS_UDP.h | 306 - TAO/orbsvcs/orbsvcs/AV/QoS_UDP.i | 81 - TAO/orbsvcs/orbsvcs/AV/README | 27 - TAO/orbsvcs/orbsvcs/AV/RTCP.cpp | 826 - TAO/orbsvcs/orbsvcs/AV/RTCP.h | 256 - TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.cpp | 364 - TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.h | 223 - TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.cpp | 1212 - TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.h | 405 - TAO/orbsvcs/orbsvcs/AV/RTP.cpp | 785 - TAO/orbsvcs/orbsvcs/AV/RTP.h | 423 - TAO/orbsvcs/orbsvcs/AV/Resource_Factory.h | 54 - TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp | 932 - TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h | 308 - TAO/orbsvcs/orbsvcs/AV/TCP.cpp | 721 - TAO/orbsvcs/orbsvcs/AV/TCP.h | 283 - TAO/orbsvcs/orbsvcs/AV/Transport.cpp | 682 - TAO/orbsvcs/orbsvcs/AV/Transport.h | 345 - TAO/orbsvcs/orbsvcs/AV/Transport.i | 111 - TAO/orbsvcs/orbsvcs/AV/UDP.cpp | 1094 - TAO/orbsvcs/orbsvcs/AV/UDP.h | 296 - TAO/orbsvcs/orbsvcs/AV/UDP.i | 32 - TAO/orbsvcs/orbsvcs/AV/default_resource.cpp | 107 - TAO/orbsvcs/orbsvcs/AV/default_resource.h | 66 - TAO/orbsvcs/orbsvcs/AV/global.h | 33 - TAO/orbsvcs/orbsvcs/AV/md5.h | 49 - TAO/orbsvcs/orbsvcs/AV/md5c.cpp | 326 - TAO/orbsvcs/orbsvcs/AV/media_timer.cpp | 95 - TAO/orbsvcs/orbsvcs/AV/media_timer.h | 69 - TAO/orbsvcs/orbsvcs/AV/ntp-time.h | 97 - TAO/orbsvcs/orbsvcs/AV/sfp.cpp | 1336 -- TAO/orbsvcs/orbsvcs/AV/sfp.h | 306 - TAO/orbsvcs/orbsvcs/AVStreams.idl | 795 - TAO/orbsvcs/orbsvcs/CSI.idl | 201 - TAO/orbsvcs/orbsvcs/CSIIOP.idl | 153 - TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp | 41 - TAO/orbsvcs/orbsvcs/Channel_Clients_T.h | 99 - TAO/orbsvcs/orbsvcs/Channel_Clients_T.i | 19 - TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp | 246 - TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.h | 148 - TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp | 330 - TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.h | 199 - .../orbsvcs/Concurrency/CC_LockSetFactory.cpp | 62 - .../orbsvcs/Concurrency/CC_LockSetFactory.h | 68 - .../orbsvcs/Concurrency/Concurrency_Loader.cpp | 88 - .../orbsvcs/Concurrency/Concurrency_Loader.h | 74 - .../orbsvcs/Concurrency/Concurrency_Utils.cpp | 126 - .../orbsvcs/Concurrency/Concurrency_Utils.h | 77 - .../orbsvcs/Concurrency/concurrency_export.h | 40 - .../orbsvcs/Concurrency/concurrency_serv_export.h | 40 - .../orbsvcs/Concurrency/concurrency_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/CosConcurrency.mpc | 106 - TAO/orbsvcs/orbsvcs/CosConcurrency.rc | 30 - TAO/orbsvcs/orbsvcs/CosConcurrencyControl.idl | 199 - TAO/orbsvcs/orbsvcs/CosEvent.mpc | 135 - TAO/orbsvcs/orbsvcs/CosEvent.rc | 30 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp | 141 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h | 157 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.i | 39 - .../orbsvcs/CosEvent/CEC_ConsumerControl.cpp | 62 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h | 99 - .../orbsvcs/CosEvent/CEC_Default_Factory.cpp | 1403 -- TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h | 231 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i | 32 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h | 127 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.cpp | 64 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h | 119 - .../orbsvcs/CosEvent/CEC_Dispatching_Task.cpp | 156 - .../orbsvcs/CosEvent/CEC_Dispatching_Task.h | 165 - .../orbsvcs/CosEvent/CEC_Dispatching_Task.i | 85 - .../orbsvcs/CosEvent/CEC_DynamicImplementation.cpp | 179 - .../orbsvcs/CosEvent/CEC_DynamicImplementation.h | 84 - .../orbsvcs/CosEvent/CEC_DynamicImplementation.i | 19 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp | 241 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h | 316 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i | 205 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp | 536 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h | 110 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp | 14 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h | 235 - .../orbsvcs/CosEvent/CEC_MT_Dispatching.cpp | 108 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h | 100 - .../orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp | 423 - .../orbsvcs/CosEvent/CEC_ProxyPullConsumer.h | 158 - .../orbsvcs/CosEvent/CEC_ProxyPullConsumer.i | 42 - .../orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp | 389 - .../orbsvcs/CosEvent/CEC_ProxyPullSupplier.h | 182 - .../orbsvcs/CosEvent/CEC_ProxyPullSupplier.i | 43 - .../orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp | 397 - .../orbsvcs/CosEvent/CEC_ProxyPushConsumer.h | 210 - .../orbsvcs/CosEvent/CEC_ProxyPushConsumer.i | 50 - .../orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp | 983 - .../orbsvcs/CosEvent/CEC_ProxyPushSupplier.h | 233 - .../orbsvcs/CosEvent/CEC_ProxyPushSupplier.i | 98 - .../orbsvcs/CosEvent/CEC_Pulling_Strategy.cpp | 13 - .../orbsvcs/CosEvent/CEC_Pulling_Strategy.h | 71 - .../CosEvent/CEC_Reactive_ConsumerControl.cpp | 492 - .../CosEvent/CEC_Reactive_ConsumerControl.h | 213 - .../CosEvent/CEC_Reactive_ConsumerControl.i | 23 - .../CosEvent/CEC_Reactive_Pulling_Strategy.cpp | 204 - .../CosEvent/CEC_Reactive_Pulling_Strategy.h | 151 - .../CosEvent/CEC_Reactive_Pulling_Strategy.i | 15 - .../CosEvent/CEC_Reactive_SupplierControl.cpp | 537 - .../CosEvent/CEC_Reactive_SupplierControl.h | 229 - .../CosEvent/CEC_Reactive_SupplierControl.i | 34 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp | 105 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h | 127 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.i | 23 - .../orbsvcs/CosEvent/CEC_SupplierControl.cpp | 67 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h | 112 - .../orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp | 135 - .../orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h | 129 - .../orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i | 24 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.cpp | 9 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h | 69 - TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.i | 30 - .../orbsvcs/CosEvent/CEC_TypedEventChannel.cpp | 597 - .../orbsvcs/CosEvent/CEC_TypedEventChannel.h | 393 - .../orbsvcs/CosEvent/CEC_TypedEventChannel.i | 205 - .../CosEvent/CEC_TypedProxyPushConsumer.cpp | 450 - .../orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h | 210 - .../orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i | 21 - .../orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp | 111 - .../orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h | 109 - .../orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i | 15 - TAO/orbsvcs/orbsvcs/CosEvent/event_export.h | 40 - TAO/orbsvcs/orbsvcs/CosEvent/event_serv_export.h | 40 - TAO/orbsvcs/orbsvcs/CosEvent/event_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl | 246 - TAO/orbsvcs/orbsvcs/CosEventComm.idl | 177 - TAO/orbsvcs/orbsvcs/CosEvent_Serv.rc | 30 - TAO/orbsvcs/orbsvcs/CosEvent_Skel.rc | 30 - TAO/orbsvcs/orbsvcs/CosLifeCycle.idl | 127 - TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc | 32 - TAO/orbsvcs/orbsvcs/CosLifeCycle.rc | 30 - TAO/orbsvcs/orbsvcs/CosLoadBalancing.idl | 202 - TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc | 50 - TAO/orbsvcs/orbsvcs/CosLoadBalancing.rc | 30 - TAO/orbsvcs/orbsvcs/CosNaming.idl | 291 - TAO/orbsvcs/orbsvcs/CosNaming.mpc | 48 - TAO/orbsvcs/orbsvcs/CosNaming.rc | 30 - TAO/orbsvcs/orbsvcs/CosNaming_Serv.mpc | 53 - TAO/orbsvcs/orbsvcs/CosNaming_Serv.rc | 30 - TAO/orbsvcs/orbsvcs/CosNaming_Skel.mpc | 35 - TAO/orbsvcs/orbsvcs/CosNaming_Skel.rc | 30 - TAO/orbsvcs/orbsvcs/CosNotification.idl | 390 - TAO/orbsvcs/orbsvcs/CosNotification.mpc | 267 - TAO/orbsvcs/orbsvcs/CosNotification.rc | 30 - TAO/orbsvcs/orbsvcs/CosNotification_Serv.rc | 30 - TAO/orbsvcs/orbsvcs/CosNotification_Skel.rc | 30 - TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl | 1027 - TAO/orbsvcs/orbsvcs/CosNotifyComm.idl | 387 - TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl | 505 - TAO/orbsvcs/orbsvcs/CosProperty.idl | 413 - TAO/orbsvcs/orbsvcs/CosProperty.mpc | 120 - TAO/orbsvcs/orbsvcs/CosProperty.rc | 30 - TAO/orbsvcs/orbsvcs/CosPropertyService.idl | 16 - TAO/orbsvcs/orbsvcs/CosTime.mpc | 33 - TAO/orbsvcs/orbsvcs/CosTime.rc | 30 - TAO/orbsvcs/orbsvcs/CosTrading.idl | 522 - TAO/orbsvcs/orbsvcs/CosTrading.mpc | 133 - TAO/orbsvcs/orbsvcs/CosTrading.rc | 30 - TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl | 50 - TAO/orbsvcs/orbsvcs/CosTradingRepos.idl | 159 - TAO/orbsvcs/orbsvcs/CosTrading_Serv.rc | 30 - TAO/orbsvcs/orbsvcs/CosTrading_Skel.rc | 30 - TAO/orbsvcs/orbsvcs/CosTypedEventChannelAdmin.idl | 62 - TAO/orbsvcs/orbsvcs/CosTypedEventComm.idl | 32 - TAO/orbsvcs/orbsvcs/DsEventLogAdmin.idl | 56 - TAO/orbsvcs/orbsvcs/DsEventLogAdmin.mpc | 108 - TAO/orbsvcs/orbsvcs/DsEventLogAdmin.rc | 30 - TAO/orbsvcs/orbsvcs/DsLogAdmin.idl | 337 - TAO/orbsvcs/orbsvcs/DsLogAdmin.mpc | 137 - TAO/orbsvcs/orbsvcs/DsLogAdmin.rc | 30 - TAO/orbsvcs/orbsvcs/DsLogNotification.idl | 112 - TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.idl | 66 - TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc | 110 - TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.rc | 30 - TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.cpp | 64 - TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h | 80 - TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.i | 13 - TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp | 120 - TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h | 74 - TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp | 208 - TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h | 184 - TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.i | 41 - TAO/orbsvcs/orbsvcs/ESF/ESF_Defaults.h | 37 - TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp | 216 - TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h | 160 - TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.i | 38 - TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp | 97 - TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h | 187 - TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.i | 47 - TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp | 49 - TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h | 69 - TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i | 48 - TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp | 58 - TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h | 108 - TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.cpp | 53 - TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h | 107 - TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.i | 31 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp | 110 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h | 167 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.i | 32 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.cpp | 20 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h | 174 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.cpp | 93 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h | 88 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.i | 25 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp | 91 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h | 114 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.i | 69 - .../orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp | 29 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h | 79 - TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i | 18 - TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.cpp | 14 - TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h | 67 - TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.i | 22 - TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.cpp | 33 - TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h | 52 - TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.i | 12 - TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.cpp | 22 - TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.h | 67 - TAO/orbsvcs/orbsvcs/ESF/esf_export.h | 40 - TAO/orbsvcs/orbsvcs/ETCL.mpc | 33 - TAO/orbsvcs/orbsvcs/ETCL.rc | 30 - TAO/orbsvcs/orbsvcs/ETCL/ETCL.ll | 161 - TAO/orbsvcs/orbsvcs/ETCL/ETCL.rc | 30 - TAO/orbsvcs/orbsvcs/ETCL/ETCL.yy | 261 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp | 956 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h | 430 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl | 330 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h | 70 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp | 112 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h | 110 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp | 1884 -- TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff | 511 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp | 1295 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff | 607 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h | 45 - TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff | 25 - TAO/orbsvcs/orbsvcs/ETCL/README | 12 - TAO/orbsvcs/orbsvcs/ETCL/etcl_export.h | 40 - TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.cpp | 19 - TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.h | 79 - .../orbsvcs/Event/ECG_Address_Server_Base.h | 42 - .../orbsvcs/Event/ECG_CDR_Message_Receiver.cpp | 608 - .../orbsvcs/Event/ECG_CDR_Message_Receiver.h | 318 - .../orbsvcs/Event/ECG_CDR_Message_Receiver.i | 51 - .../orbsvcs/Event/ECG_CDR_Message_Sender.cpp | 340 - TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h | 190 - TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i | 56 - .../orbsvcs/Event/ECG_Complex_Address_Server.cpp | 170 - .../orbsvcs/Event/ECG_Complex_Address_Server.h | 118 - .../orbsvcs/Event/ECG_Complex_Address_Server.i | 17 - .../orbsvcs/Event/ECG_ConsumerEC_Control.cpp | 42 - TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h | 83 - TAO/orbsvcs/orbsvcs/Event/ECG_Defaults.h | 79 - TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp | 303 - TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h | 294 - TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i | 63 - TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp | 705 - TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h | 290 - TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.i | 34 - .../Event/ECG_Reactive_ConsumerEC_Control.cpp | 253 - .../Event/ECG_Reactive_ConsumerEC_Control.h | 133 - .../Event/ECG_Reconnect_ConsumerEC_Control.cpp | 319 - .../Event/ECG_Reconnect_ConsumerEC_Control.h | 147 - .../orbsvcs/Event/ECG_Simple_Address_Server.cpp | 38 - .../orbsvcs/Event/ECG_Simple_Address_Server.h | 69 - .../orbsvcs/Event/ECG_Simple_Address_Server.i | 17 - TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.cpp | 98 - TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h | 96 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.cpp | 89 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.h | 110 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.i | 13 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp | 83 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h | 108 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.i | 37 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp | 250 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h | 239 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.i | 106 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp | 236 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h | 230 - TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl | 96 - TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.cpp | 170 - TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.h | 89 - TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp | 262 - TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.h | 120 - .../orbsvcs/Event/EC_Basic_Filter_Builder.cpp | 203 - .../orbsvcs/Event/EC_Basic_Filter_Builder.h | 81 - .../orbsvcs/Event/EC_Basic_Filter_Builder.i | 14 - TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.cpp | 122 - TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h | 107 - TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.cpp | 64 - TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.h | 66 - TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.i | 13 - TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.cpp | 30 - TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h | 46 - .../orbsvcs/Event/EC_Conjunction_Filter.cpp | 209 - TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h | 113 - TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp | 41 - TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h | 81 - TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp | 42 - TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.h | 83 - TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp | 1003 - TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h | 201 - TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i | 59 - .../orbsvcs/Event/EC_Default_ProxyConsumer.cpp | 192 - .../orbsvcs/Event/EC_Default_ProxyConsumer.h | 85 - .../orbsvcs/Event/EC_Default_ProxySupplier.cpp | 228 - .../orbsvcs/Event/EC_Default_ProxySupplier.h | 82 - TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h | 144 - .../orbsvcs/Event/EC_Disjunction_Filter.cpp | 163 - TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h | 90 - TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.cpp | 14 - TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h | 84 - TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp | 210 - TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h | 199 - TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i | 95 - TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp | 37 - TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h | 62 - .../orbsvcs/Event/EC_Event_Channel_Base.cpp | 353 - TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.h | 377 - TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.i | 206 - TAO/orbsvcs/orbsvcs/Event/EC_Factory.cpp | 14 - TAO/orbsvcs/orbsvcs/Event/EC_Factory.h | 169 - TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp | 130 - TAO/orbsvcs/orbsvcs/Event/EC_Filter.h | 225 - TAO/orbsvcs/orbsvcs/Event/EC_Filter.i | 45 - TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp | 33 - TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.h | 92 - TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.i | 12 - TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp | 32 - TAO/orbsvcs/orbsvcs/Event/EC_Gateway.h | 71 - TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp | 715 - TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h | 255 - .../orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp | 212 - .../orbsvcs/Event/EC_Gateway_IIOP_Factory.h | 115 - .../orbsvcs/Event/EC_Gateway_IIOP_Factory.i | 19 - TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp | 82 - TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h | 59 - TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.cpp | 32 - TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h | 56 - TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.inl | 7 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp | 210 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.h | 147 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.i | 42 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp | 272 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.h | 78 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.i | 15 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.cpp | 313 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.h | 127 - .../orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp | 513 - .../orbsvcs/Event/EC_Kokyu_Filter_Builder.h | 89 - .../orbsvcs/Event/EC_Kokyu_Filter_Builder.i | 15 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.cpp | 99 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h | 77 - TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.i | 14 - TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.cpp | 7 - TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h | 217 - TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.i | 179 - TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.cpp | 51 - TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.h | 203 - TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i | 340 - TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp | 92 - TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h | 98 - .../orbsvcs/Event/EC_Masked_Type_Filter.cpp | 128 - TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h | 93 - TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp | 114 - TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.h | 86 - TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp | 241 - TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.h | 116 - TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp | 39 - TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h | 60 - TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.i | 7 - TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp | 516 - TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h | 362 - TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i | 81 - .../orbsvcs/Event/EC_Per_Supplier_Filter.cpp | 213 - TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h | 122 - TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i | 14 - .../orbsvcs/Event/EC_Prefix_Filter_Builder.cpp | 158 - .../orbsvcs/Event/EC_Prefix_Filter_Builder.h | 72 - .../orbsvcs/Event/EC_Prefix_Filter_Builder.i | 14 - .../orbsvcs/Event/EC_Priority_Dispatching.cpp | 141 - .../orbsvcs/Event/EC_Priority_Dispatching.h | 90 - .../orbsvcs/Event/EC_Priority_Scheduling.cpp | 100 - TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h | 76 - TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i | 14 - TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp | 310 - TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h | 238 - TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i | 71 - TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp | 535 - TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h | 231 - TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.i | 99 - .../orbsvcs/Event/EC_Proxy_Disconnector.cpp | 47 - TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h | 76 - TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.cpp | 9 - TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.h | 70 - TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.i | 23 - .../orbsvcs/Event/EC_RTCORBA_Dispatching.cpp | 106 - TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h | 82 - TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp | 276 - TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h | 123 - .../orbsvcs/Event/EC_Reactive_ConsumerControl.cpp | 276 - .../orbsvcs/Event/EC_Reactive_ConsumerControl.h | 155 - .../orbsvcs/Event/EC_Reactive_ConsumerControl.i | 13 - .../orbsvcs/Event/EC_Reactive_Dispatching.cpp | 45 - .../orbsvcs/Event/EC_Reactive_Dispatching.h | 65 - .../orbsvcs/Event/EC_Reactive_SupplierControl.cpp | 266 - .../orbsvcs/Event/EC_Reactive_SupplierControl.h | 166 - .../orbsvcs/Event/EC_Reactive_SupplierControl.i | 13 - .../Event/EC_Reactive_Timeout_Generator.cpp | 56 - .../orbsvcs/Event/EC_Reactive_Timeout_Generator.h | 70 - TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp | 225 - TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h | 71 - TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.i | 13 - TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp | 283 - TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.h | 129 - .../orbsvcs/Event/EC_Sched_Filter_Builder.cpp | 335 - .../orbsvcs/Event/EC_Sched_Filter_Builder.h | 89 - .../orbsvcs/Event/EC_Sched_Filter_Builder.i | 14 - .../orbsvcs/Event/EC_Scheduling_Strategy.cpp | 14 - TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h | 73 - TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp | 39 - TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h | 73 - TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.cpp | 42 - TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.h | 81 - TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.cpp | 29 - TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h | 151 - TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.i | 15 - .../orbsvcs/Event/EC_Supplier_Filter_Builder.cpp | 13 - .../orbsvcs/Event/EC_Supplier_Filter_Builder.h | 67 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp | 198 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h | 85 - .../orbsvcs/Event/EC_TPC_Dispatching_Task.cpp | 22 - .../orbsvcs/Event/EC_TPC_Dispatching_Task.h | 34 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp | 124 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.h | 67 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp | 55 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h | 50 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp | 76 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h | 64 - TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i | 17 - TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp | 171 - TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h | 120 - TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i | 19 - TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp | 61 - TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h | 101 - TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i | 12 - .../orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp | 112 - .../orbsvcs/Event/EC_Trivial_Supplier_Filter.h | 109 - TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp | 150 - TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.h | 81 - TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp | 30 - TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h | 60 - TAO/orbsvcs/orbsvcs/Event/event_export.h | 40 - TAO/orbsvcs/orbsvcs/Event/event_serv_export.h | 40 - TAO/orbsvcs/orbsvcs/Event/event_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h | 40 - TAO/orbsvcs/orbsvcs/Event/rtkokyu_event_export.h | 56 - TAO/orbsvcs/orbsvcs/Event/sched_event_export.h | 40 - TAO/orbsvcs/orbsvcs/Event_Forwarder.idl | 50 - TAO/orbsvcs/orbsvcs/Event_Service_Constants.h | 84 - TAO/orbsvcs/orbsvcs/Event_Utilities.cpp | 221 - TAO/orbsvcs/orbsvcs/Event_Utilities.h | 256 - TAO/orbsvcs/orbsvcs/Event_Utilities.i | 152 - TAO/orbsvcs/orbsvcs/FTORB.mpc | 89 - TAO/orbsvcs/orbsvcs/FTRT.idl | 82 - TAO/orbsvcs/orbsvcs/FTRT_GroupManager.idl | 71 - TAO/orbsvcs/orbsvcs/FT_CORBA.idl | 352 - TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl | 136 - TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl | 119 - TAO/orbsvcs/orbsvcs/FT_Notifier.idl | 62 - TAO/orbsvcs/orbsvcs/FT_Replica.idl | 51 - TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl | 75 - TAO/orbsvcs/orbsvcs/FaultTolerance.mpc | 43 - TAO/orbsvcs/orbsvcs/FaultTolerance.rc | 30 - .../FaultTolerance/FT_ClientORBInitializer.cpp | 115 - .../FaultTolerance/FT_ClientORBInitializer.h | 73 - .../orbsvcs/FaultTolerance/FT_ClientORB_export.h | 60 - .../FaultTolerance/FT_ClientPolicyFactory.cpp | 34 - .../FaultTolerance/FT_ClientPolicyFactory.h | 61 - .../orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp | 193 - .../orbsvcs/FaultTolerance/FT_ClientPolicy_i.h | 165 - .../orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl | 55 - .../FT_ClientRequest_Interceptor.cpp | 441 - .../FaultTolerance/FT_ClientRequest_Interceptor.h | 150 - .../FaultTolerance/FT_ClientService_Activate.cpp | 81 - .../FaultTolerance/FT_ClientService_Activate.h | 73 - .../FT_Endpoint_Selector_Factory.cpp | 60 - .../FaultTolerance/FT_Endpoint_Selector_Factory.h | 76 - .../orbsvcs/FaultTolerance/FT_IOGR_Property.cpp | 428 - .../orbsvcs/FaultTolerance/FT_IOGR_Property.h | 147 - .../orbsvcs/FaultTolerance/FT_IOGR_Property.inl | 35 - .../FT_Invocation_Endpoint_Selectors.cpp | 235 - .../FT_Invocation_Endpoint_Selectors.h | 96 - .../orbsvcs/FaultTolerance/FT_ORBInitializer.cpp | 140 - .../orbsvcs/FaultTolerance/FT_ORBInitializer.h | 79 - .../orbsvcs/FaultTolerance/FT_ORB_Utils_export.h | 60 - .../orbsvcs/FaultTolerance/FT_PolicyFactory.cpp | 38 - .../orbsvcs/FaultTolerance/FT_PolicyFactory.h | 63 - TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp | 259 - TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h | 217 - TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl | 80 - .../FaultTolerance/FT_ServerORBInitializer.cpp | 100 - .../FaultTolerance/FT_ServerORBInitializer.h | 74 - .../orbsvcs/FaultTolerance/FT_ServerORB_export.h | 60 - .../FaultTolerance/FT_ServerPolicyFactory.cpp | 34 - .../FaultTolerance/FT_ServerPolicyFactory.h | 60 - .../orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp | 82 - .../orbsvcs/FaultTolerance/FT_ServerPolicy_i.h | 96 - .../orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl | 28 - .../FT_ServerRequest_Interceptor.cpp | 237 - .../FaultTolerance/FT_ServerRequest_Interceptor.h | 138 - .../FaultTolerance/FT_ServerService_Activate.cpp | 55 - .../FaultTolerance/FT_ServerService_Activate.h | 65 - .../orbsvcs/FaultTolerance/FT_Service_Activate.cpp | 79 - .../orbsvcs/FaultTolerance/FT_Service_Activate.h | 19 - .../FaultTolerance/FT_Service_Callbacks.cpp | 325 - .../orbsvcs/FaultTolerance/FT_Service_Callbacks.h | 107 - .../orbsvcs/FaultTolerance/fault_tol_export.h | 40 - TAO/orbsvcs/orbsvcs/FaultTolerance/ftconf.h | 42 - TAO/orbsvcs/orbsvcs/FtRtEvent.mpc | 83 - .../ClientORB/FTRT_ClientORB_Initializer.cpp | 35 - .../ClientORB/FTRT_ClientORB_Initializer.h | 65 - .../ClientORB/FTRT_ClientORB_Interceptor.cpp | 161 - .../ClientORB/FTRT_ClientORB_Interceptor.h | 90 - .../FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp | 107 - .../FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h | 57 - .../FtRtEvent/ClientORB/ftrt_clientorb_export.h | 60 - .../AMI_Primary_Replication_Strategy.cpp | 222 - .../AMI_Primary_Replication_Strategy.h | 67 - .../EventChannel/AMI_Replication_Strategy.cpp | 71 - .../EventChannel/AMI_Replication_Strategy.h | 59 - .../EventChannel/Basic_Replication_Strategy.cpp | 158 - .../EventChannel/Basic_Replication_Strategy.h | 59 - .../FtRtEvent/EventChannel/ConnectionHandler_T.cpp | 96 - .../FtRtEvent/EventChannel/ConnectionHandler_T.h | 75 - .../FtRtEvent/EventChannel/Dynamic_Bitset.cpp | 125 - .../FtRtEvent/EventChannel/Dynamic_Bitset.h | 76 - .../FtRtEvent/EventChannel/Dynamic_Bitset.inl | 69 - .../EventChannel/FTEC_Become_Primary_Listener.cpp | 11 - .../EventChannel/FTEC_Become_Primary_Listener.h | 31 - .../FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp | 51 - .../FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h | 73 - .../FtRtEvent/EventChannel/FTEC_Event_Channel.cpp | 428 - .../FtRtEvent/EventChannel/FTEC_Event_Channel.h | 184 - .../EventChannel/FTEC_Event_Channel_Impl.cpp | 582 - .../EventChannel/FTEC_Event_Channel_Impl.h | 135 - .../FtRtEvent/EventChannel/FTEC_Factory.cpp | 56 - .../orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h | 49 - .../FtRtEvent/EventChannel/FTEC_Fault_Listener.h | 29 - .../FtRtEvent/EventChannel/FTEC_Group_Manager.cpp | 378 - .../FtRtEvent/EventChannel/FTEC_Group_Manager.h | 80 - .../FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp | 68 - .../FtRtEvent/EventChannel/FTEC_ORBInitializer.h | 42 - .../FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp | 134 - .../FtRtEvent/EventChannel/FTEC_ProxyConsumer.h | 67 - .../FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp | 202 - .../FtRtEvent/EventChannel/FTEC_ProxySupplier.h | 72 - .../FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp | 49 - .../FtRtEvent/EventChannel/FTEC_SupplierAdmin.h | 79 - .../EventChannel/FTRTEC_ServiceActivate.h | 11 - .../FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp | 52 - .../FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h | 53 - .../FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp | 145 - .../FtRtEvent/EventChannel/FT_ProxyAdmin_T.h | 58 - .../FtRtEvent/EventChannel/Fault_Detector.cpp | 75 - .../FtRtEvent/EventChannel/Fault_Detector.h | 64 - .../EventChannel/Fault_Detector_Loader.cpp | 90 - .../FtRtEvent/EventChannel/Fault_Detector_Loader.h | 59 - .../FtRtEvent/EventChannel/Fault_Detector_T.cpp | 65 - .../FtRtEvent/EventChannel/Fault_Detector_T.h | 48 - .../FtRtEvent/EventChannel/Fault_Listener.h | 33 - .../EventChannel/ForwardCtrlServerInterceptor.cpp | 260 - .../EventChannel/ForwardCtrlServerInterceptor.h | 65 - .../EventChannel/FtEventServiceInterceptor.cpp | 340 - .../EventChannel/FtEventServiceInterceptor.h | 100 - .../FtRtEvent/EventChannel/GroupInfoPublisher.cpp | 175 - .../FtRtEvent/EventChannel/GroupInfoPublisher.h | 83 - .../orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp | 269 - .../orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h | 75 - .../EventChannel/Identification_Service.cpp | 100 - .../EventChannel/Identification_Service.h | 57 - .../EventChannel/ObjectGroupManagerHandler.cpp | 71 - .../EventChannel/ObjectGroupManagerHandler.h | 61 - .../EventChannel/ProxyConsumerStateWorker.cpp | 36 - .../EventChannel/ProxyConsumerStateWorker.h | 43 - .../EventChannel/ProxySupplierStateWorker.cpp | 38 - .../EventChannel/ProxySupplierStateWorker.h | 43 - .../FtRtEvent/EventChannel/Replication_Service.cpp | 210 - .../FtRtEvent/EventChannel/Replication_Service.h | 85 - .../EventChannel/Replication_Strategy.cpp | 35 - .../FtRtEvent/EventChannel/Replication_Strategy.h | 76 - .../EventChannel/Request_Context_Repository.cpp | 316 - .../EventChannel/Request_Context_Repository.h | 116 - .../FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp | 96 - .../FtRtEvent/EventChannel/SCTP_Fault_Detector.h | 86 - .../EventChannel/Set_Update_Interceptor.cpp | 168 - .../EventChannel/Set_Update_Interceptor.h | 86 - .../FtRtEvent/EventChannel/Update_Manager.cpp | 61 - .../FtRtEvent/EventChannel/Update_Manager.h | 52 - .../FtRtEvent/EventChannel/UpdateableHandler.cpp | 100 - .../FtRtEvent/EventChannel/UpdateableHandler.h | 60 - .../EventChannel/create_persistent_poa.cpp | 49 - .../FtRtEvent/EventChannel/create_persistent_poa.h | 30 - .../orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h | 60 - .../orbsvcs/FtRtEvent/EventChannel/replace_key.cpp | 35 - .../orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp | 523 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h | 82 - .../orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl | 16 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.cpp | 29 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.h | 48 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.inl | 51 - .../orbsvcs/FtRtEvent/Utils/Safe_InputCDR.cpp | 9 - .../orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h | 40 - .../orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl | 23 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ScopeGuard.h | 300 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.cpp | 167 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.h | 123 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.inl | 58 - .../orbsvcs/FtRtEvent/Utils/activate_with_id.h | 43 - .../orbsvcs/FtRtEvent/Utils/ftrtevent_export.h | 73 - TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/resolve_init.h | 73 - TAO/orbsvcs/orbsvcs/FtRtecEventChannelAdmin.idl | 194 - TAO/orbsvcs/orbsvcs/FtRtecEventComm.idl | 32 - TAO/orbsvcs/orbsvcs/GSSUP.idl | 63 - TAO/orbsvcs/orbsvcs/HTIOP.idl | 30 - TAO/orbsvcs/orbsvcs/HTIOP.mpc | 29 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp | 889 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h | 239 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.i | 28 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp | 322 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h | 156 - .../orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp | 181 - .../orbsvcs/HTIOP/HTIOP_Completion_Handler.h | 99 - .../orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp | 289 - .../orbsvcs/HTIOP/HTIOP_Connection_Handler.h | 135 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp | 420 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h | 137 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp | 62 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h | 128 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp | 225 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.h | 162 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.i | 79 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Export.h | 54 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp | 146 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h | 99 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.cpp | 473 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.h | 151 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp | 456 - TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h | 168 - TAO/orbsvcs/orbsvcs/HTIOP/README.txt | 154 - TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpoints.pidl | 42 - TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp | 222 - TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h | 199 - TAO/orbsvcs/orbsvcs/IFRService.mpc | 21 - TAO/orbsvcs/orbsvcs/IFRService.rc | 30 - .../orbsvcs/IFRService/AbstractInterfaceDef_i.cpp | 62 - .../orbsvcs/IFRService/AbstractInterfaceDef_i.h | 81 - TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp | 141 - TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.h | 101 - TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp | 279 - TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.h | 148 - TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp | 397 - TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.h | 152 - .../orbsvcs/IFRService/ComponentContainer_i.cpp | 569 - .../orbsvcs/IFRService/ComponentContainer_i.h | 144 - TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp | 794 - TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.h | 249 - .../orbsvcs/IFRService/ComponentModuleDef_i.cpp | 23 - .../orbsvcs/IFRService/ComponentModuleDef_i.h | 63 - .../orbsvcs/IFRService/ComponentRepository_i.cpp | 245 - .../orbsvcs/IFRService/ComponentRepository_i.h | 129 - TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp | 313 - TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.h | 132 - TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.cpp | 34 - TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.h | 68 - TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp | 1259 - TAO/orbsvcs/orbsvcs/IFRService/Contained_i.h | 236 - TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp | 2684 --- TAO/orbsvcs/orbsvcs/IFRService/Container_i.h | 479 - TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.cpp | 32 - TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.h | 68 - TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp | 163 - TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.h | 101 - TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.cpp | 101 - TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.h | 102 - TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp | 200 - TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.h | 123 - TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp | 351 - TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.h | 124 - .../IFRService/ExtAbstractInterfaceDef_i.cpp | 43 - .../orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h | 70 - .../orbsvcs/IFRService/ExtAttributeDef_i.cpp | 315 - TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h | 133 - .../orbsvcs/IFRService/ExtInterfaceDef_i.cpp | 29 - TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.h | 65 - .../orbsvcs/IFRService/ExtLocalInterfaceDef_i.cpp | 43 - .../orbsvcs/IFRService/ExtLocalInterfaceDef_i.h | 70 - TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp | 975 - TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.h | 135 - TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.cpp | 32 - TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.h | 66 - TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.cpp | 31 - TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.h | 67 - TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.cpp | 152 - TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.h | 133 - TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp | 1058 - TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.h | 286 - TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.cpp | 21 - TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.h | 75 - TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp | 7987 ------- TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.h | 1261 - TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl | 414 - TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.cpp | 49 - TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h | 927 - TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl | 1512 -- TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp | 23928 ------------------- TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.h | 7898 ------ TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl | 9663 -------- TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.cpp | 49 - TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h | 7971 ------ TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl | 13439 ----------- TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp | 14264 ----------- TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h | 5119 ---- TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl | 6972 ------ .../orbsvcs/IFRService/IFR_ComponentsS_T.cpp | 49 - TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h | 5387 ----- .../orbsvcs/IFRService/IFR_ComponentsS_T.inl | 9019 ------- TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp | 7501 ------ TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h | 2140 -- TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl | 2232 -- TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.cpp | 49 - TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h | 2032 -- TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl | 3342 --- .../orbsvcs/IFRService/IFR_Service_Loader.cpp | 100 - .../orbsvcs/IFRService/IFR_Service_Loader.h | 76 - .../orbsvcs/IFRService/IFR_Service_Utils.cpp | 1445 -- TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h | 258 - .../orbsvcs/IFRService/IFR_Service_Utils_T.cpp | 389 - .../orbsvcs/IFRService/IFR_Service_Utils_T.h | 125 - TAO/orbsvcs/orbsvcs/IFRService/IFR_macro.h | 51 - TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.cpp | 89 - TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.h | 99 - .../IFRService/InterfaceAttrExtension_i.cpp | 343 - .../orbsvcs/IFRService/InterfaceAttrExtension_i.h | 97 - TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp | 1285 - TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.h | 236 - .../orbsvcs/IFRService/LocalInterfaceDef_i.cpp | 62 - .../orbsvcs/IFRService/LocalInterfaceDef_i.h | 78 - TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.cpp | 111 - TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.h | 94 - TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.cpp | 66 - TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.h | 79 - TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp | 750 - TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.h | 184 - TAO/orbsvcs/orbsvcs/IFRService/Options.cpp | 122 - TAO/orbsvcs/orbsvcs/IFRService/Options.h | 95 - TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.cpp | 142 - TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.h | 100 - TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.cpp | 161 - TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.h | 101 - TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.cpp | 30 - TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.h | 67 - TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.cpp | 47 - TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.h | 68 - TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp | 1150 - TAO/orbsvcs/orbsvcs/IFRService/Repository_i.h | 386 - TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp | 269 - TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.h | 150 - TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.cpp | 131 - TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.h | 112 - TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp | 317 - TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.h | 113 - TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.cpp | 82 - TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.h | 75 - TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp | 486 - TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h | 153 - TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp | 214 - TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.h | 122 - TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp | 140 - TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.h | 101 - TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp | 1857 -- TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.h | 353 - .../orbsvcs/IFRService/ValueMemberDef_i.cpp | 224 - TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.h | 132 - TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.cpp | 131 - TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.h | 113 - TAO/orbsvcs/orbsvcs/IFRService/concrete_classes.h | 54 - .../orbsvcs/IFRService/ifr_service_export.h | 40 - TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp | 321 - TAO/orbsvcs/orbsvcs/IOR_Multicast.h | 114 - TAO/orbsvcs/orbsvcs/LB_ORT.idl | 28 - TAO/orbsvcs/orbsvcs/LifeCycle/lifecycle_export.h | 40 - TAO/orbsvcs/orbsvcs/LifeCycleService.idl | 83 - .../LoadBalancing/LB_CPU_Load_Average_Monitor.cpp | 244 - .../LoadBalancing/LB_CPU_Load_Average_Monitor.h | 103 - .../LoadBalancing/LB_CPU_Utilization_Monitor.cpp | 170 - .../LoadBalancing/LB_CPU_Utilization_Monitor.h | 100 - .../orbsvcs/LoadBalancing/LB_ClientComponent.cpp | 70 - .../orbsvcs/LoadBalancing/LB_ClientComponent.h | 68 - .../LoadBalancing/LB_ClientORBInitializer.cpp | 43 - .../LoadBalancing/LB_ClientORBInitializer.h | 78 - .../LoadBalancing/LB_ClientRequestInterceptor.cpp | 114 - .../LoadBalancing/LB_ClientRequestInterceptor.h | 114 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp | 146 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h | 70 - .../orbsvcs/LoadBalancing/LB_IORInterceptor.cpp | 189 - .../orbsvcs/LoadBalancing/LB_IORInterceptor.h | 152 - .../orbsvcs/LoadBalancing/LB_LeastLoaded.cpp | 641 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h | 229 - .../orbsvcs/LoadBalancing/LB_LeastLoaded.inl | 27 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp | 42 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h | 87 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl | 16 - .../orbsvcs/LoadBalancing/LB_LoadAlertInfo.cpp | 16 - .../orbsvcs/LoadBalancing/LB_LoadAlertInfo.h | 54 - .../orbsvcs/LoadBalancing/LB_LoadAlertMap.h | 46 - .../orbsvcs/LoadBalancing/LB_LoadAlert_Handler.cpp | 52 - .../orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h | 76 - .../orbsvcs/LoadBalancing/LB_LoadAverage.cpp | 454 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.h | 184 - .../orbsvcs/LoadBalancing/LB_LoadAverage.inl | 26 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.h | 46 - .../orbsvcs/LoadBalancing/LB_LoadManager.cpp | 1295 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h | 519 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.h | 46 - .../orbsvcs/LoadBalancing/LB_LoadMinimum.cpp | 664 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.h | 208 - .../orbsvcs/LoadBalancing/LB_LoadMinimum.inl | 26 - .../orbsvcs/LoadBalancing/LB_Location_Index_Map.h | 44 - .../orbsvcs/LoadBalancing/LB_MemberLocator.cpp | 76 - .../orbsvcs/LoadBalancing/LB_MemberLocator.h | 92 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.h | 42 - .../orbsvcs/LoadBalancing/LB_ORBInitializer.cpp | 94 - .../orbsvcs/LoadBalancing/LB_ORBInitializer.h | 110 - .../LoadBalancing/LB_ObjectReferenceFactory.cpp | 258 - .../LoadBalancing/LB_ObjectReferenceFactory.h | 179 - .../orbsvcs/LoadBalancing/LB_Pull_Handler.cpp | 84 - .../orbsvcs/LoadBalancing/LB_Pull_Handler.h | 73 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp | 180 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h | 124 - .../orbsvcs/LoadBalancing/LB_RoundRobin.cpp | 171 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h | 127 - .../LoadBalancing/LB_ServerRequestInterceptor.cpp | 182 - .../LoadBalancing/LB_ServerRequestInterceptor.h | 125 - TAO/orbsvcs/orbsvcs/LoadBalancing/LB_conf.h | 45 - .../orbsvcs/LoadBalancing/LoadBalancing_export.h | 40 - TAO/orbsvcs/orbsvcs/LoadBalancing/README | 35 - TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp | 147 - TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.h | 109 - TAO/orbsvcs/orbsvcs/Log/BasicLog_i.cpp | 93 - TAO/orbsvcs/orbsvcs/Log/BasicLog_i.h | 101 - TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.cpp | 100 - TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.h | 102 - TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp | 253 - TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.h | 152 - TAO/orbsvcs/orbsvcs/Log/EventLogNotification.cpp | 52 - TAO/orbsvcs/orbsvcs/Log/EventLogNotification.h | 92 - TAO/orbsvcs/orbsvcs/Log/EventLog_i.cpp | 139 - TAO/orbsvcs/orbsvcs/Log/EventLog_i.h | 135 - TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp | 110 - TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.h | 95 - TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp | 832 - TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h | 399 - TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp | 269 - TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.h | 130 - .../orbsvcs/Log/Hash_Persistence_Strategy.cpp | 25 - .../orbsvcs/Log/Hash_Persistence_Strategy.h | 59 - TAO/orbsvcs/orbsvcs/Log/Iterator_i.cpp | 73 - TAO/orbsvcs/orbsvcs/Log/Iterator_i.h | 91 - TAO/orbsvcs/orbsvcs/Log/LogActivator.cpp | 58 - TAO/orbsvcs/orbsvcs/Log/LogActivator.h | 78 - TAO/orbsvcs/orbsvcs/Log/LogMgr_i.cpp | 296 - TAO/orbsvcs/orbsvcs/Log/LogMgr_i.h | 202 - TAO/orbsvcs/orbsvcs/Log/LogNotification.cpp | 418 - TAO/orbsvcs/orbsvcs/Log/LogNotification.h | 185 - TAO/orbsvcs/orbsvcs/Log/LogRecordStore.cpp | 17 - TAO/orbsvcs/orbsvcs/Log/LogRecordStore.h | 269 - TAO/orbsvcs/orbsvcs/Log/LogStore.h | 108 - TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.cpp | 66 - TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h | 66 - .../orbsvcs/Log/Log_Constraint_Interpreter.cpp | 49 - .../orbsvcs/Log/Log_Constraint_Interpreter.h | 70 - .../orbsvcs/Log/Log_Constraint_Visitors.cpp | 1347 -- TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h | 130 - TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.cpp | 59 - TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.h | 66 - TAO/orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h | 61 - TAO/orbsvcs/orbsvcs/Log/Log_i.cpp | 1859 -- TAO/orbsvcs/orbsvcs/Log/Log_i.h | 509 - TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp | 144 - TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.h | 117 - TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp | 462 - TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h | 281 - TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp | 88 - TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h | 108 - TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.cpp | 371 - TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h | 240 - TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp | 68 - TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.h | 95 - TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp | 242 - TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h | 141 - TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp | 90 - TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.h | 93 - TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.cpp | 166 - TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.h | 138 - TAO/orbsvcs/orbsvcs/Log/eventlog_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/eventlog_serv_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/eventlog_skel_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/log_export.h | 39 - TAO/orbsvcs/orbsvcs/Log/log_serv_export.h | 39 - TAO/orbsvcs/orbsvcs/Log/log_skel_export.h | 41 - TAO/orbsvcs/orbsvcs/Log/notifylog_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/notifylog_serv_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/notifylog_skel_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/rteventlog_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/rteventlog_serv_export.h | 37 - TAO/orbsvcs/orbsvcs/Log/rteventlog_skel_export.h | 37 - TAO/orbsvcs/orbsvcs/Makefile.am | 6166 ----- TAO/orbsvcs/orbsvcs/Metrics.idl | 331 - .../orbsvcs/Metrics/Metrics_FrameManager.cpp | 14 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.h | 37 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.i | 9 - .../orbsvcs/Metrics/Metrics_FrameManager_T.cpp | 14 - .../orbsvcs/Metrics/Metrics_FrameManager_T.h | 277 - .../orbsvcs/Metrics/Metrics_FrameManager_T.i | 821 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.cpp | 12 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.h | 115 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.i | 10 - .../orbsvcs/Metrics/Metrics_LocalCache_T.cpp | 488 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h | 329 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp | 871 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.h | 224 - .../orbsvcs/Metrics/Metrics_UpcallMonitor.cpp | 23 - .../orbsvcs/Metrics/Metrics_UpcallMonitor.h | 264 - .../orbsvcs/Metrics/Metrics_UpcallMonitor.i | 381 - .../orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp | 28 - .../orbsvcs/Metrics/Metrics_UpcallMonitor_T.h | 164 - .../orbsvcs/Metrics/Metrics_UpcallMonitor_T.i | 263 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp | 534 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h | 187 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.i | 39 - TAO/orbsvcs/orbsvcs/Metrics/metrics_export.h | 50 - TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp | 232 - TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h | 145 - TAO/orbsvcs/orbsvcs/Naming/Entries.cpp | 127 - TAO/orbsvcs/orbsvcs/Naming/Entries.h | 139 - .../orbsvcs/Naming/Flat_File_Persistence.cpp | 361 - TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.h | 95 - TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp | 680 - TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h | 280 - TAO/orbsvcs/orbsvcs/Naming/Naming_Client.cpp | 67 - TAO/orbsvcs/orbsvcs/Naming/Naming_Client.h | 78 - .../orbsvcs/Naming/Naming_Context_Interface.cpp | 539 - .../orbsvcs/Naming/Naming_Context_Interface.h | 422 - TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.cpp | 98 - TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.h | 71 - TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp | 768 - TAO/orbsvcs/orbsvcs/Naming/Naming_Server.h | 239 - .../orbsvcs/Naming/Naming_Service_Container.cpp | 392 - .../orbsvcs/Naming/Naming_Service_Container.h | 234 - .../orbsvcs/Naming/Persistent_Context_Index.cpp | 310 - .../orbsvcs/Naming/Persistent_Context_Index.h | 171 - TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp | 208 - TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.h | 233 - .../orbsvcs/Naming/Persistent_Naming_Context.cpp | 541 - .../orbsvcs/Naming/Persistent_Naming_Context.h | 273 - TAO/orbsvcs/orbsvcs/Naming/README | 69 - TAO/orbsvcs/orbsvcs/Naming/Storable.cpp | 25 - TAO/orbsvcs/orbsvcs/Naming/Storable.h | 165 - TAO/orbsvcs/orbsvcs/Naming/Storable.inl | 170 - .../orbsvcs/Naming/Storable_Naming_Context.cpp | 1584 -- .../orbsvcs/Naming/Storable_Naming_Context.h | 474 - .../Naming/Storable_Naming_Context_Activator.cpp | 125 - .../Naming/Storable_Naming_Context_Activator.h | 91 - .../orbsvcs/Naming/Transient_Naming_Context.cpp | 344 - .../orbsvcs/Naming/Transient_Naming_Context.h | 204 - TAO/orbsvcs/orbsvcs/Naming/naming_export.h | 40 - TAO/orbsvcs/orbsvcs/Naming/naming_serv_export.h | 40 - TAO/orbsvcs/orbsvcs/Naming/naming_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/Naming/nsconf.h | 45 - TAO/orbsvcs/orbsvcs/Notify/Admin.cpp | 222 - TAO/orbsvcs/orbsvcs/Notify/Admin.h | 126 - TAO/orbsvcs/orbsvcs/Notify/Admin.inl | 54 - TAO/orbsvcs/orbsvcs/Notify/AdminProperties.cpp | 94 - TAO/orbsvcs/orbsvcs/Notify/AdminProperties.h | 133 - TAO/orbsvcs/orbsvcs/Notify/AdminProperties.inl | 85 - TAO/orbsvcs/orbsvcs/Notify/AllocTracker.h | 81 - TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp | 140 - TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.h | 121 - .../orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp | 90 - .../orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h | 86 - .../orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp | 65 - .../orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h | 89 - .../orbsvcs/Notify/Any/ProxyPushConsumer.cpp | 134 - TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h | 96 - .../orbsvcs/Notify/Any/ProxyPushSupplier.cpp | 110 - TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h | 98 - TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp | 118 - TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.h | 78 - TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp | 65 - TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.h | 63 - TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp | 114 - TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h | 81 - TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp | 266 - TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.h | 121 - TAO/orbsvcs/orbsvcs/Notify/Builder.cpp | 592 - TAO/orbsvcs/orbsvcs/Notify/Builder.h | 175 - TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp | 702 - TAO/orbsvcs/orbsvcs/Notify/Consumer.h | 195 - TAO/orbsvcs/orbsvcs/Notify/Consumer.inl | 27 - TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp | 488 - TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h | 254 - TAO/orbsvcs/orbsvcs/Notify/Consumer_Map.h | 43 - TAO/orbsvcs/orbsvcs/Notify/Container_T.cpp | 65 - TAO/orbsvcs/orbsvcs/Notify/Container_T.h | 82 - TAO/orbsvcs/orbsvcs/Notify/Container_T.inl | 13 - .../orbsvcs/Notify/CosNotify_Initializer.cpp | 17 - TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h | 44 - TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp | 314 - TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h | 95 - TAO/orbsvcs/orbsvcs/Notify/Default_Factory.cpp | 197 - TAO/orbsvcs/orbsvcs/Notify/Default_Factory.h | 101 - TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp | 103 - TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h | 135 - TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl | 27 - TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp | 448 - TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.h | 175 - TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp | 81 - TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h | 94 - TAO/orbsvcs/orbsvcs/Notify/Event.cpp | 84 - TAO/orbsvcs/orbsvcs/Notify/Event.h | 139 - TAO/orbsvcs/orbsvcs/Notify/Event.inl | 43 - TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp | 685 - TAO/orbsvcs/orbsvcs/Notify/EventChannel.h | 254 - TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp | 564 - TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h | 207 - TAO/orbsvcs/orbsvcs/Notify/EventType.cpp | 180 - TAO/orbsvcs/orbsvcs/Notify/EventType.h | 107 - TAO/orbsvcs/orbsvcs/Notify/EventType.inl | 19 - TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp | 317 - TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h | 88 - TAO/orbsvcs/orbsvcs/Notify/Event_Manager.cpp | 309 - TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h | 136 - TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp | 58 - TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h | 101 - TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl | 31 - TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.cpp | 166 - TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.h | 123 - TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl | 56 - .../orbsvcs/Notify/Event_Persistence_Factory.cpp | 13 - .../orbsvcs/Notify/Event_Persistence_Factory.h | 54 - .../orbsvcs/Notify/Event_Persistence_Strategy.h | 51 - TAO/orbsvcs/orbsvcs/Notify/Factory.h | 136 - TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp | 204 - TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h | 117 - TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.inl | 39 - TAO/orbsvcs/orbsvcs/Notify/FilterFactory.h | 49 - TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp | 49 - TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.h | 77 - TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.inl | 14 - TAO/orbsvcs/orbsvcs/Notify/ID_Factory.cpp | 22 - TAO/orbsvcs/orbsvcs/Notify/ID_Factory.h | 62 - TAO/orbsvcs/orbsvcs/Notify/ID_Factory.inl | 24 - TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp | 62 - TAO/orbsvcs/orbsvcs/Notify/Method_Request.h | 75 - .../orbsvcs/Notify/Method_Request_Dispatch.cpp | 304 - .../orbsvcs/Notify/Method_Request_Dispatch.h | 170 - .../orbsvcs/Notify/Method_Request_Event.cpp | 102 - TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h | 104 - .../orbsvcs/Notify/Method_Request_Lookup.cpp | 233 - TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h | 140 - .../orbsvcs/Notify/Method_Request_Shutdown.cpp | 35 - .../orbsvcs/Notify/Method_Request_Shutdown.h | 58 - .../orbsvcs/Notify/Method_Request_Updates.cpp | 59 - .../orbsvcs/Notify/Method_Request_Updates.h | 90 - .../orbsvcs/Notify/Method_Request_Updates_T.cpp | 28 - .../orbsvcs/Notify/Method_Request_Updates_T.h | 81 - .../orbsvcs/Notify/Method_Request_Updates_T.inl | 36 - TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp | 216 - TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h | 102 - .../Notify/Notify_Constraint_Interpreter.cpp | 49 - .../orbsvcs/Notify/Notify_Constraint_Interpreter.h | 65 - .../orbsvcs/Notify/Notify_Constraint_Visitors.cpp | 1465 -- .../orbsvcs/Notify/Notify_Constraint_Visitors.h | 168 - .../orbsvcs/Notify/Notify_Default_CO_Factory.cpp | 17 - .../orbsvcs/Notify/Notify_Default_CO_Factory.h | 48 - .../Notify/Notify_Default_Collection_Factory.cpp | 17 - .../Notify/Notify_Default_Collection_Factory.h | 47 - .../orbsvcs/Notify/Notify_Default_EMO_Factory.cpp | 17 - .../orbsvcs/Notify/Notify_Default_EMO_Factory.h | 45 - .../orbsvcs/Notify/Notify_Default_POA_Factory.cpp | 17 - .../orbsvcs/Notify/Notify_Default_POA_Factory.h | 44 - .../Notify/Notify_EventChannelFactory_i.cpp | 41 - .../orbsvcs/Notify/Notify_EventChannelFactory_i.h | 44 - TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp | 12 - TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.h | 33 - TAO/orbsvcs/orbsvcs/Notify/Object.cpp | 372 - TAO/orbsvcs/orbsvcs/Notify/Object.h | 221 - TAO/orbsvcs/orbsvcs/Notify/Object.inl | 97 - TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp | 218 - TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h | 115 - TAO/orbsvcs/orbsvcs/Notify/POA_Helper.inl | 13 - TAO/orbsvcs/orbsvcs/Notify/Peer.cpp | 125 - TAO/orbsvcs/orbsvcs/Notify/Peer.h | 85 - .../orbsvcs/Notify/Persistent_File_Allocator.cpp | 400 - .../orbsvcs/Notify/Persistent_File_Allocator.h | 208 - TAO/orbsvcs/orbsvcs/Notify/Properties.cpp | 44 - TAO/orbsvcs/orbsvcs/Notify/Properties.h | 155 - TAO/orbsvcs/orbsvcs/Notify/Properties.inl | 151 - TAO/orbsvcs/orbsvcs/Notify/Property.h | 49 - TAO/orbsvcs/orbsvcs/Notify/PropertySeq.cpp | 65 - TAO/orbsvcs/orbsvcs/Notify/PropertySeq.h | 77 - TAO/orbsvcs/orbsvcs/Notify/PropertySeq.inl | 22 - TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.cpp | 47 - TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.h | 89 - TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.inl | 62 - TAO/orbsvcs/orbsvcs/Notify/Property_T.cpp | 137 - TAO/orbsvcs/orbsvcs/Notify/Property_T.h | 170 - TAO/orbsvcs/orbsvcs/Notify/Property_T.inl | 77 - TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp | 199 - TAO/orbsvcs/orbsvcs/Notify/Proxy.h | 139 - TAO/orbsvcs/orbsvcs/Notify/Proxy.inl | 40 - TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp | 204 - TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h | 105 - TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.inl | 26 - TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp | 84 - TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h | 86 - TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp | 166 - TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h | 101 - TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.inl | 26 - TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp | 227 - TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h | 161 - TAO/orbsvcs/orbsvcs/Notify/Proxy_T.cpp | 165 - TAO/orbsvcs/orbsvcs/Notify/Proxy_T.h | 161 - TAO/orbsvcs/orbsvcs/Notify/QoSProperties.cpp | 218 - TAO/orbsvcs/orbsvcs/Notify/QoSProperties.h | 120 - TAO/orbsvcs/orbsvcs/Notify/QoSProperties.inl | 163 - TAO/orbsvcs/orbsvcs/Notify/README | 51 - TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp | 73 - TAO/orbsvcs/orbsvcs/Notify/RT_Builder.h | 50 - TAO/orbsvcs/orbsvcs/Notify/RT_Factory.cpp | 131 - TAO/orbsvcs/orbsvcs/Notify/RT_Factory.h | 100 - TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.cpp | 98 - TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.h | 61 - TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.cpp | 166 - TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.h | 63 - TAO/orbsvcs/orbsvcs/Notify/RT_Properties.cpp | 22 - TAO/orbsvcs/orbsvcs/Notify/RT_Properties.h | 68 - TAO/orbsvcs/orbsvcs/Notify/RT_Properties.inl | 31 - TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp | 161 - TAO/orbsvcs/orbsvcs/Notify/Random_File.h | 94 - TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.cpp | 59 - TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.h | 77 - TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.inl | 13 - TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp | 41 - TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h | 54 - .../orbsvcs/Notify/Reconnection_Registry.cpp | 257 - TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h | 100 - TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp | 252 - TAO/orbsvcs/orbsvcs/Notify/Refcountable.h | 99 - .../orbsvcs/Notify/Refcountable_Guard_T.cpp | 14 - TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h | 89 - .../orbsvcs/Notify/Refcountable_Guard_T.inl | 91 - TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp | 933 - TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h | 242 - .../Notify/Routing_Slip_Persistence_Manager.cpp | 804 - .../Notify/Routing_Slip_Persistence_Manager.h | 267 - TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp | 112 - TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h | 93 - .../orbsvcs/Notify/Save_Persist_Worker_T.cpp | 47 - TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h | 63 - TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.cpp | 38 - TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.h | 72 - TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.inl | 15 - .../Notify/Sequence/SequenceProxyPushConsumer.cpp | 139 - .../Notify/Sequence/SequenceProxyPushConsumer.h | 102 - .../Notify/Sequence/SequenceProxyPushSupplier.cpp | 108 - .../Notify/Sequence/SequenceProxyPushSupplier.h | 99 - .../Notify/Sequence/SequencePushConsumer.cpp | 297 - .../orbsvcs/Notify/Sequence/SequencePushConsumer.h | 94 - .../Notify/Sequence/SequencePushSupplier.cpp | 56 - .../orbsvcs/Notify/Sequence/SequencePushSupplier.h | 61 - TAO/orbsvcs/orbsvcs/Notify/Service.cpp | 15 - TAO/orbsvcs/orbsvcs/Notify/Service.h | 84 - .../orbsvcs/Notify/Standard_Event_Persistence.cpp | 234 - .../orbsvcs/Notify/Standard_Event_Persistence.h | 134 - .../Structured/RT_StructuredProxyPushSupplier.cpp | 81 - .../Structured/RT_StructuredProxyPushSupplier.h | 63 - .../orbsvcs/Notify/Structured/StructuredEvent.cpp | 142 - .../orbsvcs/Notify/Structured/StructuredEvent.h | 112 - .../Structured/StructuredProxyPushConsumer.cpp | 135 - .../Structured/StructuredProxyPushConsumer.h | 105 - .../Structured/StructuredProxyPushSupplier.cpp | 111 - .../Structured/StructuredProxyPushSupplier.h | 103 - .../Notify/Structured/StructuredPushConsumer.cpp | 101 - .../Notify/Structured/StructuredPushConsumer.h | 81 - .../Notify/Structured/StructuredPushSupplier.cpp | 55 - .../Notify/Structured/StructuredPushSupplier.h | 62 - .../orbsvcs/Notify/Subscription_Change_Worker.cpp | 29 - .../orbsvcs/Notify/Subscription_Change_Worker.h | 54 - TAO/orbsvcs/orbsvcs/Notify/Supplier.cpp | 41 - TAO/orbsvcs/orbsvcs/Notify/Supplier.h | 70 - TAO/orbsvcs/orbsvcs/Notify/Supplier.inl | 13 - TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp | 430 - TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h | 219 - TAO/orbsvcs/orbsvcs/Notify/Supplier_Map.h | 37 - TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp | 200 - TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h | 98 - TAO/orbsvcs/orbsvcs/Notify/Timer.h | 56 - TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.cpp | 48 - TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.h | 70 - TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp | 50 - TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.h | 66 - TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h | 54 - TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp | 20 - TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h | 84 - TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp | 151 - TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h | 213 - TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl | 26 - TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp | 16 - TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h | 114 - TAO/orbsvcs/orbsvcs/Notify/Worker_Task.cpp | 22 - TAO/orbsvcs/orbsvcs/Notify/Worker_Task.h | 71 - TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp | 234 - TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h | 87 - TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp | 203 - TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h | 87 - .../orbsvcs/Notify/XML_Topology_Factory.cpp | 162 - TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h | 85 - TAO/orbsvcs/orbsvcs/Notify/notify_export.h | 40 - TAO/orbsvcs/orbsvcs/Notify/notify_persist_export.h | 60 - TAO/orbsvcs/orbsvcs/Notify/notify_serv_export.h | 40 - TAO/orbsvcs/orbsvcs/Notify/notify_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/Notify/rt_notify_export.h | 39 - TAO/orbsvcs/orbsvcs/NotifyExt.idl | 184 - TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl | 5 - TAO/orbsvcs/orbsvcs/PortableGroup.idl | 323 - TAO/orbsvcs/orbsvcs/PortableGroup.mpc | 40 - TAO/orbsvcs/orbsvcs/PortableGroup.rc | 30 - TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp | 711 - TAO/orbsvcs/orbsvcs/PortableGroup/GOA.h | 329 - TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.cpp | 29 - TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.h | 45 - .../PG_Default_Property_Validator.cpp | 151 - .../PortableGroup/PG_Default_Property_Validator.h | 86 - .../orbsvcs/PortableGroup/PG_FactoryRegistry.cpp | 733 - .../orbsvcs/PortableGroup/PG_FactoryRegistry.h | 263 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h | 46 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h | 58 - .../orbsvcs/PortableGroup/PG_GenericFactory.cpp | 780 - .../orbsvcs/PortableGroup/PG_GenericFactory.h | 248 - .../orbsvcs/PortableGroup/PG_Group_Factory.cpp | 232 - .../orbsvcs/PortableGroup/PG_Group_Factory.h | 184 - .../orbsvcs/PortableGroup/PG_Group_Guard.cpp | 59 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h | 93 - .../orbsvcs/PortableGroup/PG_Location_Equal_To.cpp | 11 - .../orbsvcs/PortableGroup/PG_Location_Equal_To.h | 59 - .../orbsvcs/PortableGroup/PG_Location_Equal_To.inl | 15 - .../orbsvcs/PortableGroup/PG_Location_Hash.cpp | 13 - .../orbsvcs/PortableGroup/PG_Location_Hash.h | 53 - .../orbsvcs/PortableGroup/PG_Location_Hash.inl | 25 - .../orbsvcs/PortableGroup/PG_Location_Map.h | 54 - .../orbsvcs/PortableGroup/PG_MemberInfo.cpp | 18 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h | 62 - .../PortableGroup/PG_Null_Property_Validator.cpp | 30 - .../PortableGroup/PG_Null_Property_Validator.h | 67 - .../PortableGroup/PG_ObjectGroupManager.cpp | 871 - .../orbsvcs/PortableGroup/PG_ObjectGroupManager.h | 314 - .../orbsvcs/PortableGroup/PG_ObjectGroup_Map.h | 84 - .../PortableGroup/PG_Object_Adapter_Factory.cpp | 48 - .../PortableGroup/PG_Object_Adapter_Factory.h | 47 - .../orbsvcs/PortableGroup/PG_Object_Group.cpp | 896 - .../orbsvcs/PortableGroup/PG_Object_Group.h | 382 - .../PortableGroup/PG_Object_Group_Manipulator.cpp | 190 - .../PortableGroup/PG_Object_Group_Manipulator.h | 123 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.cpp | 33 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.h | 50 - .../PortableGroup/PG_Properties_Encoder.cpp | 67 - .../orbsvcs/PortableGroup/PG_Properties_Encoder.h | 101 - .../PortableGroup/PG_Properties_Encoder.inl | 64 - .../PortableGroup/PG_Properties_Support.cpp | 151 - .../orbsvcs/PortableGroup/PG_Properties_Support.h | 214 - .../orbsvcs/PortableGroup/PG_PropertyManager.cpp | 368 - .../orbsvcs/PortableGroup/PG_PropertyManager.h | 192 - .../orbsvcs/PortableGroup/PG_Property_Set.cpp | 360 - .../orbsvcs/PortableGroup/PG_Property_Set.h | 200 - .../orbsvcs/PortableGroup/PG_Property_Set_Find.h | 55 - .../orbsvcs/PortableGroup/PG_Property_Utils.cpp | 82 - .../orbsvcs/PortableGroup/PG_Property_Utils.h | 57 - .../PortableGroup/PG_Servant_Dispatcher.cpp | 70 - .../orbsvcs/PortableGroup/PG_Servant_Dispatcher.h | 72 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp | 176 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h | 59 - TAO/orbsvcs/orbsvcs/PortableGroup/PG_conf.h | 64 - .../PortableGroup_Acceptor_Registry.cpp | 191 - .../PortableGroup_Acceptor_Registry.h | 117 - .../orbsvcs/PortableGroup/PortableGroup_Loader.cpp | 83 - .../orbsvcs/PortableGroup/PortableGroup_Loader.h | 68 - .../PortableGroup/PortableGroup_ORBInitializer.cpp | 71 - .../PortableGroup/PortableGroup_ORBInitializer.h | 61 - .../PortableGroup_Request_Dispatcher.cpp | 61 - .../PortableGroup_Request_Dispatcher.h | 70 - .../orbsvcs/PortableGroup/Portable_Group_Map.cpp | 180 - .../orbsvcs/PortableGroup/Portable_Group_Map.h | 139 - TAO/orbsvcs/orbsvcs/PortableGroup/README | 43 - .../orbsvcs/PortableGroup/UIPMC_Acceptor.cpp | 354 - TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h | 160 - TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i | 29 - .../PortableGroup/UIPMC_Connection_Handler.cpp | 267 - .../PortableGroup/UIPMC_Connection_Handler.h | 149 - .../orbsvcs/PortableGroup/UIPMC_Connector.cpp | 215 - .../orbsvcs/PortableGroup/UIPMC_Connector.h | 99 - .../orbsvcs/PortableGroup/UIPMC_Endpoint.cpp | 150 - TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h | 129 - TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i | 52 - .../orbsvcs/PortableGroup/UIPMC_Factory.cpp | 99 - TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h | 72 - .../UIPMC_Message_Block_Data_Iterator.cpp | 89 - .../UIPMC_Message_Block_Data_Iterator.h | 70 - .../orbsvcs/PortableGroup/UIPMC_Profile.cpp | 800 - TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h | 165 - .../orbsvcs/PortableGroup/UIPMC_Transport.cpp | 613 - .../orbsvcs/PortableGroup/UIPMC_Transport.h | 131 - .../orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp | 53 - .../orbsvcs/PortableGroup/UIPMC_Wait_Never.h | 58 - TAO/orbsvcs/orbsvcs/PortableGroup/miopconf.h | 41 - .../orbsvcs/PortableGroup/portablegroup_export.h | 40 - TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl | 41 - .../orbsvcs/Property/CosPropertyService_i.cpp | 1888 -- .../orbsvcs/Property/CosPropertyService_i.h | 621 - TAO/orbsvcs/orbsvcs/Property/property_export.h | 40 - .../orbsvcs/Property/property_serv_export.h | 40 - .../orbsvcs/Property/property_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc | 27 - TAO/orbsvcs/orbsvcs/RTCosScheduling.idl | 107 - TAO/orbsvcs/orbsvcs/RTCosScheduling.mpc | 24 - .../RTCosScheduling_ClientScheduler_i.cpp | 524 - .../RTCosScheduling_ClientScheduler_i.h | 218 - .../RTCosScheduling_PCP_Manager.cpp | 519 - .../RTCosScheduling/RTCosScheduling_PCP_Manager.h | 316 - .../RTCosScheduling/RTCosScheduling_PCP_Manager.i | 98 - .../RTCosScheduling_ServerScheduler_i.cpp | 766 - .../RTCosScheduling_ServerScheduler_i.h | 316 - .../RTCosScheduling_ServerScheduler_i.i | 39 - .../RTCosScheduling/RTCosScheduling_export.h | 60 - TAO/orbsvcs/orbsvcs/RTEvent.mpc | 55 - TAO/orbsvcs/orbsvcs/RTEvent.rc | 30 - TAO/orbsvcs/orbsvcs/RTEventLogAdmin.idl | 56 - TAO/orbsvcs/orbsvcs/RTEventLogAdmin.mpc | 107 - TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc | 99 - TAO/orbsvcs/orbsvcs/RTEvent_Serv.rc | 30 - TAO/orbsvcs/orbsvcs/RTEvent_Skel.mpc | 44 - TAO/orbsvcs/orbsvcs/RTEvent_Skel.rc | 30 - TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc | 24 - TAO/orbsvcs/orbsvcs/RTSched.mpc | 32 - TAO/orbsvcs/orbsvcs/RTSched.rc | 30 - TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc | 25 - TAO/orbsvcs/orbsvcs/RTSchedEvent.rc | 30 - TAO/orbsvcs/orbsvcs/RT_Notification.mpc | 26 - TAO/orbsvcs/orbsvcs/RT_Notification.rc | 30 - TAO/orbsvcs/orbsvcs/RtecBase.idl | 92 - TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl | 78 - TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl | 393 - TAO/orbsvcs/orbsvcs/RtecEventComm.idl | 175 - TAO/orbsvcs/orbsvcs/RtecScheduler.idl | 496 - TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl | 61 - TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp | 594 - TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h | 288 - TAO/orbsvcs/orbsvcs/SL3CSI.idl | 353 - TAO/orbsvcs/orbsvcs/SL3TCPIP.idl | 203 - TAO/orbsvcs/orbsvcs/SL3TLS.idl | 350 - TAO/orbsvcs/orbsvcs/SSLIOP.idl | 98 - TAO/orbsvcs/orbsvcs/SSLIOP.mpc | 29 - TAO/orbsvcs/orbsvcs/SSLIOP.rc | 30 - TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp | 39 - TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h | 86 - .../orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp | 90 - .../orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h | 122 - .../orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl | 33 - TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp | 288 - TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h | 104 - TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp | 54 - TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h | 90 - .../orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp | 66 - .../orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h | 98 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp | 684 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h | 169 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i | 14 - .../orbsvcs/SSLIOP/SSLIOP_ClientCredentials.cpp | 142 - .../orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h | 153 - .../orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp | 445 - .../orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h | 202 - .../orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i | 29 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp | 862 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h | 162 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp | 267 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h | 186 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl | 21 - .../orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp | 388 - .../orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h | 154 - .../SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp | 30 - .../SSLIOP/SSLIOP_CredentialsAcquirerFactory.h | 65 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp | 197 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h | 177 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl | 40 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp | 128 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h | 113 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl | 26 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp | 76 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h | 79 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp | 382 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h | 256 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i | 70 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Export.h | 40 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp | 614 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h | 141 - .../SSLIOP/SSLIOP_Invocation_Interceptor.cpp | 175 - .../orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h | 148 - .../orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp | 248 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h | 100 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp | 17 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h | 139 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl | 165 - .../orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp | 77 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h | 121 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp | 357 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h | 179 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.h | 85 - .../orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp | 134 - .../orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h | 129 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp | 385 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h | 159 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp | 58 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h | 65 - TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h | 84 - TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.c | 19 - TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.h | 44 - TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpoints.pidl | 33 - TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp | 165 - TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h | 158 - TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp | 674 - TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.h | 318 - TAO/orbsvcs/orbsvcs/Sched/DynSched.cpp | 2423 -- TAO/orbsvcs/orbsvcs/Sched/DynSched.h | 544 - TAO/orbsvcs/orbsvcs/Sched/DynSched.i | 113 - TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp | 1808 -- TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h | 669 - .../orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp | 1085 - TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h | 490 - TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h | 38 - TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp | 3218 --- TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h | 777 - TAO/orbsvcs/orbsvcs/Sched/SchedEntry.cpp | 938 - TAO/orbsvcs/orbsvcs/Sched/SchedEntry.h | 648 - TAO/orbsvcs/orbsvcs/Sched/SchedEntry.i | 447 - TAO/orbsvcs/orbsvcs/Sched/Scheduler.cpp | 271 - TAO/orbsvcs/orbsvcs/Sched/Scheduler.h | 300 - TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp | 269 - TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.h | 140 - TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp | 1394 -- TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h | 505 - TAO/orbsvcs/orbsvcs/Sched/sched_export.h | 40 - TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp | 795 - TAO/orbsvcs/orbsvcs/Scheduler_Factory.h | 280 - TAO/orbsvcs/orbsvcs/Scheduler_Factory.i | 21 - TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp | 12 - TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h | 68 - TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i | 40 - TAO/orbsvcs/orbsvcs/Security.idl | 358 - TAO/orbsvcs/orbsvcs/Security.mpc | 42 - TAO/orbsvcs/orbsvcs/Security.rc | 30 - TAO/orbsvcs/orbsvcs/Security/CSI_Utils.cpp | 69 - TAO/orbsvcs/orbsvcs/Security/CSI_Utils.h | 56 - .../orbsvcs/Security/SL2_EstablishTrustPolicy.cpp | 63 - .../orbsvcs/Security/SL2_EstablishTrustPolicy.h | 106 - TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.cpp | 61 - TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.h | 103 - .../Security/SL3_ContextEstablishmentPolicy.cpp | 126 - .../Security/SL3_ContextEstablishmentPolicy.h | 134 - .../Security/SL3_CredentialsAcquirerFactory.cpp | 14 - .../Security/SL3_CredentialsAcquirerFactory.h | 68 - .../orbsvcs/Security/SL3_CredentialsCurator.cpp | 284 - .../orbsvcs/Security/SL3_CredentialsCurator.h | 176 - .../Security/SL3_ObjectCredentialsPolicy.cpp | 65 - .../orbsvcs/Security/SL3_ObjectCredentialsPolicy.h | 110 - TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp | 63 - TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.h | 82 - .../orbsvcs/Security/SL3_SecurityCurrent.cpp | 60 - TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.h | 152 - .../orbsvcs/Security/SL3_SecurityCurrent.inl | 26 - .../orbsvcs/Security/SL3_SecurityCurrent_Impl.cpp | 16 - .../orbsvcs/Security/SL3_SecurityCurrent_Impl.h | 85 - .../orbsvcs/Security/SL3_SecurityManager.cpp | 84 - TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.h | 119 - TAO/orbsvcs/orbsvcs/Security/Security_Current.cpp | 97 - TAO/orbsvcs/orbsvcs/Security/Security_Current.h | 149 - TAO/orbsvcs/orbsvcs/Security/Security_Current.inl | 26 - .../orbsvcs/Security/Security_Current_Impl.cpp | 15 - .../orbsvcs/Security/Security_Current_Impl.h | 95 - .../orbsvcs/Security/Security_ORBInitializer.cpp | 240 - .../orbsvcs/Security/Security_ORBInitializer.h | 106 - .../orbsvcs/Security/Security_PolicyFactory.cpp | 159 - .../orbsvcs/Security/Security_PolicyFactory.h | 73 - TAO/orbsvcs/orbsvcs/Security/security_export.h | 40 - TAO/orbsvcs/orbsvcs/SecurityAdmin.idl | 143 - TAO/orbsvcs/orbsvcs/SecurityLevel1.idl | 31 - TAO/orbsvcs/orbsvcs/SecurityLevel2.idl | 274 - TAO/orbsvcs/orbsvcs/SecurityLevel3.idl | 2037 -- TAO/orbsvcs/orbsvcs/SecurityReplaceable.idl | 237 - TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp | 97 - TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h | 71 - TAO/orbsvcs/orbsvcs/Svc_Utils.mpc | 34 - TAO/orbsvcs/orbsvcs/Svc_Utils.rc | 30 - TAO/orbsvcs/orbsvcs/TAO_CosConcurrency.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosEvent.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosEvent_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosEvent_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosLifeCycle.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosLoadBalancing.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosNaming.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosNaming_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosNaming_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosNotification.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosNotification_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosNotification_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosProperty.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosProperty_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosProperty_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosTime.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosTrading.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosTrading_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_CosTrading_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin.pc.in | 11 - .../orbsvcs/TAO_DsNotifyLogAdmin_Serv.pc.in | 11 - .../orbsvcs/TAO_DsNotifyLogAdmin_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_ETCL.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_FTORB_Utils.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_FT_ClientORB.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_FT_ServerORB.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_FaultTolerance.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_PortableGroup.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_RTEvent.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_RTEvent_Serv.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_RTEvent_Skel.pc.in | 11 - TAO/orbsvcs/orbsvcs/TAO_Svc_Utils.pc.in | 11 - TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp | 288 - TAO/orbsvcs/orbsvcs/Time/TAO_TIO.h | 95 - .../orbsvcs/Time/TAO_Time_Service_Clerk.cpp | 181 - TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h | 141 - .../orbsvcs/Time/TAO_Time_Service_Server.cpp | 127 - TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h | 87 - TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp | 246 - TAO/orbsvcs/orbsvcs/Time/TAO_UTO.h | 119 - TAO/orbsvcs/orbsvcs/Time/Timer_Helper.cpp | 156 - TAO/orbsvcs/orbsvcs/Time/Timer_Helper.h | 80 - TAO/orbsvcs/orbsvcs/Time/time_export.h | 40 - TAO/orbsvcs/orbsvcs/TimeBase.idl | 16 - TAO/orbsvcs/orbsvcs/TimeService.idl | 179 - TAO/orbsvcs/orbsvcs/Time_Utilities.cpp | 22 - TAO/orbsvcs/orbsvcs/Time_Utilities.h | 111 - TAO/orbsvcs/orbsvcs/Time_Utilities.i | 103 - .../orbsvcs/Trader/Constraint_Interpreter.cpp | 255 - .../orbsvcs/Trader/Constraint_Interpreter.h | 166 - TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp | 930 - TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.h | 358 - TAO/orbsvcs/orbsvcs/Trader/Constraint_Tokens.h | 49 - TAO/orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp | 1204 - TAO/orbsvcs/orbsvcs/Trader/Constraint_Visitors.h | 449 - TAO/orbsvcs/orbsvcs/Trader/Constraint_l.cpp | 1790 -- TAO/orbsvcs/orbsvcs/Trader/Constraint_y.cpp | 900 - TAO/orbsvcs/orbsvcs/Trader/Interpreter.cpp | 101 - TAO/orbsvcs/orbsvcs/Trader/Interpreter.h | 107 - TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp | 56 - TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h | 100 - TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.cpp | 52 - TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.h | 23 - TAO/orbsvcs/orbsvcs/Trader/Locking.h | 46 - TAO/orbsvcs/orbsvcs/Trader/Offer_Database.cpp | 389 - TAO/orbsvcs/orbsvcs/Trader/Offer_Database.h | 211 - TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp | 322 - TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators.h | 298 - TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp | 97 - TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h | 96 - .../orbsvcs/Trader/Service_Type_Repository.cpp | 695 - .../orbsvcs/Trader/Service_Type_Repository.h | 327 - TAO/orbsvcs/orbsvcs/Trader/Trader.cpp | 866 - TAO/orbsvcs/orbsvcs/Trader/Trader.h | 525 - .../orbsvcs/Trader/Trader_Constraint_Visitors.cpp | 84 - .../orbsvcs/Trader/Trader_Constraint_Visitors.h | 63 - TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp | 1940 -- TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.h | 1019 - TAO/orbsvcs/orbsvcs/Trader/Trader_T.cpp | 325 - TAO/orbsvcs/orbsvcs/Trader/Trader_T.h | 278 - TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp | 1535 -- TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.h | 783 - TAO/orbsvcs/orbsvcs/Trader/Trading_Loader.cpp | 512 - TAO/orbsvcs/orbsvcs/Trader/Trading_Loader.h | 116 - TAO/orbsvcs/orbsvcs/Trader/constraint.l | 136 - TAO/orbsvcs/orbsvcs/Trader/constraint.y | 139 - TAO/orbsvcs/orbsvcs/Trader/trading_export.h | 40 - TAO/orbsvcs/orbsvcs/Trader/trading_serv_export.h | 40 - TAO/orbsvcs/orbsvcs/Trader/trading_skel_export.h | 40 - TAO/orbsvcs/orbsvcs/ec_typed_events.mpb | 21 - TAO/orbsvcs/orbsvcs/ec_typed_events_idl.mpb | 16 - TAO/orbsvcs/orbsvcs/ec_typed_events_serv.mpb | 15 - TAO/orbsvcs/orbsvcs/ec_typed_events_skel.mpb | 32 - TAO/orbsvcs/orbsvcs/miop.idl | 55 - TAO/orbsvcs/orbsvcs/orbsvcs.mwc | 6 - TAO/orbsvcs/orbsvcs/sfp.idl | 124 - TAO/orbsvcs/orbsvcs/svc_utils_export.h | 40 - 1656 files changed, 430774 deletions(-) delete mode 100644 TAO/orbsvcs/orbsvcs/ATLAS.idl delete mode 100644 TAO/orbsvcs/orbsvcs/AV.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/AV.rc delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AVStreams_i.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AV_Core.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html delete mode 100644 TAO/orbsvcs/orbsvcs/AV/AV_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Flows_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Flows_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/MCast.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/MCast.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/MCast.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Policy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Policy.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Policy.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/QoS_UDP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/QoS_UDP.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/QoS_UDP.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/README delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTCP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTCP.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/RTP.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Resource_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/TCP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/TCP.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Transport.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Transport.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/Transport.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/UDP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/UDP.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/UDP.i delete mode 100644 TAO/orbsvcs/orbsvcs/AV/default_resource.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/default_resource.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/global.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/md5.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/md5c.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/media_timer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/media_timer.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/ntp-time.h delete mode 100644 TAO/orbsvcs/orbsvcs/AV/sfp.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/AV/sfp.h delete mode 100644 TAO/orbsvcs/orbsvcs/AVStreams.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CSI.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CSIIOP.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Channel_Clients_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Channel_Clients_T.i delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/concurrency_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/concurrency_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Concurrency/concurrency_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosConcurrency.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosConcurrency.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosConcurrencyControl.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/event_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/event_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent/event_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosEventComm.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent_Serv.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosEvent_Skel.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosLifeCycle.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosLifeCycle.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosLoadBalancing.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosLoadBalancing.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming_Serv.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming_Serv.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming_Skel.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNaming_Skel.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotification.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotification.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotification.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotification_Serv.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotification_Skel.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotifyComm.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosProperty.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosProperty.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosProperty.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosPropertyService.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosTime.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosTime.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosTrading.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosTrading.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/CosTrading.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosTradingRepos.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosTrading_Serv.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosTrading_Skel.rc delete mode 100644 TAO/orbsvcs/orbsvcs/CosTypedEventChannelAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/CosTypedEventComm.idl delete mode 100644 TAO/orbsvcs/orbsvcs/DsEventLogAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/DsEventLogAdmin.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/DsEventLogAdmin.rc delete mode 100644 TAO/orbsvcs/orbsvcs/DsLogAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/DsLogAdmin.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/DsLogAdmin.rc delete mode 100644 TAO/orbsvcs/orbsvcs/DsLogNotification.idl delete mode 100644 TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.rc delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Defaults.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.i delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.h delete mode 100644 TAO/orbsvcs/orbsvcs/ESF/esf_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL.rc delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL.ll delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL.rc delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL.yy delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/README delete mode 100644 TAO/orbsvcs/orbsvcs/ETCL/etcl_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Defaults.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Filter.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/event_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/event_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/event_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/rtkokyu_event_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event/sched_event_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event_Forwarder.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Event_Service_Constants.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event_Utilities.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Event_Utilities.h delete mode 100644 TAO/orbsvcs/orbsvcs/Event_Utilities.i delete mode 100644 TAO/orbsvcs/orbsvcs/FTORB.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/FTRT.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FTRT_GroupManager.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FT_CORBA.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FT_Notifier.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FT_Replica.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance.rc delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.cpp delete mode 100755 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/fault_tol_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/FaultTolerance/ftconf.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/ftrt_clientorb_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTRTEC_ServiceActivate.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Listener.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/replace_key.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ScopeGuard.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.inl delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/activate_with_id.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ftrtevent_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/resolve_init.h delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtecEventChannelAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/FtRtecEventComm.idl delete mode 100644 TAO/orbsvcs/orbsvcs/GSSUP.idl delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP.idl delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.i delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.i delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Export.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/README.txt delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpoints.pidl delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService.rc delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Contained_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Container_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IFR_macro.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Options.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Options.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/Repository_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/concrete_classes.h delete mode 100644 TAO/orbsvcs/orbsvcs/IFRService/ifr_service_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/IOR_Multicast.h delete mode 100644 TAO/orbsvcs/orbsvcs/LB_ORT.idl delete mode 100644 TAO/orbsvcs/orbsvcs/LifeCycle/lifecycle_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/LifeCycleService.idl delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.inl delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.inl delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LB_conf.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/LoadBalancing/README delete mode 100644 TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/BasicLog_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/BasicLog_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLogNotification.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLogNotification.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLog_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/EventLog_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Iterator_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Iterator_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogActivator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogActivator.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogMgr_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogMgr_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogNotification.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogNotification.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogRecordStore.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogRecordStore.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/LogStore.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/Log_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/eventlog_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/eventlog_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/eventlog_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/log_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/log_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/log_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/notifylog_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/notifylog_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/notifylog_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/rteventlog_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/rteventlog_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Log/rteventlog_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Makefile.am delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.i delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.i delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.i delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.i delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.i delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.i delete mode 100644 TAO/orbsvcs/orbsvcs/Metrics/metrics_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Entries.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Entries.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Client.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Client.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Server.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/README delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/naming_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/naming_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/naming_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Naming/nsconf.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Admin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Admin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Admin.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/AdminProperties.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/AdminProperties.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/AdminProperties.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/AllocTracker.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Consumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Consumer.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Consumer_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Container_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Container_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Container_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Default_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Default_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventChannel.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventType.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventType.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventType.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Manager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/FilterFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ID_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ID_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ID_Factory.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Object.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Object.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Object.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/POA_Helper.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Peer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Peer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Properties.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Properties.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Properties.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/PropertySeq.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/PropertySeq.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/PropertySeq.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Property_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Proxy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Proxy.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Proxy_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Proxy_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/QoSProperties.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/QoSProperties.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/QoSProperties.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/README delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Builder.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Properties.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Properties.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/RT_Properties.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Random_File.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Refcountable.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Service.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Service.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Supplier.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Supplier.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Supplier.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Supplier_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Timer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Worker_Task.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/Worker_Task.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/notify_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/notify_persist_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/notify_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/notify_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Notify/rt_notify_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/NotifyExt.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup.idl delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup.rc delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/GOA.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.inl delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.inl delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.inl delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PG_conf.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/README delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/miopconf.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/Property/property_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Property/property_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Property/property_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i delete mode 100644 TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/RTEvent.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTEvent.rc delete mode 100644 TAO/orbsvcs/orbsvcs/RTEventLogAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RTEventLogAdmin.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTEvent_Serv.rc delete mode 100644 TAO/orbsvcs/orbsvcs/RTEvent_Skel.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTEvent_Skel.rc delete mode 100644 TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTSched.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTSched.rc delete mode 100644 TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RTSchedEvent.rc delete mode 100644 TAO/orbsvcs/orbsvcs/RT_Notification.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/RT_Notification.rc delete mode 100644 TAO/orbsvcs/orbsvcs/RtecBase.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RtecEventComm.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RtecScheduler.idl delete mode 100644 TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h delete mode 100644 TAO/orbsvcs/orbsvcs/SL3CSI.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SL3TCPIP.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SL3TLS.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP.rc delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Export.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.c delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.h delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpoints.pidl delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/DynSched.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/DynSched.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/DynSched.i delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/SchedEntry.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/SchedEntry.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/SchedEntry.i delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Scheduler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Scheduler.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h delete mode 100644 TAO/orbsvcs/orbsvcs/Sched/sched_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Scheduler_Factory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Scheduler_Factory.i delete mode 100644 TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h delete mode 100644 TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i delete mode 100644 TAO/orbsvcs/orbsvcs/Security.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Security.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/Security.rc delete mode 100644 TAO/orbsvcs/orbsvcs/Security/CSI_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/CSI_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_Current.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_Current.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_Current.inl delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.h delete mode 100644 TAO/orbsvcs/orbsvcs/Security/security_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/SecurityAdmin.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SecurityLevel1.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SecurityLevel2.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SecurityLevel3.idl delete mode 100644 TAO/orbsvcs/orbsvcs/SecurityReplaceable.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h delete mode 100644 TAO/orbsvcs/orbsvcs/Svc_Utils.mpc delete mode 100644 TAO/orbsvcs/orbsvcs/Svc_Utils.rc delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosConcurrency.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosEvent.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosEvent_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosEvent_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosLifeCycle.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosLoadBalancing.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosNaming.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosNaming_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosNaming_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosNotification.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosNotification_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosNotification_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosProperty.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosProperty_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosProperty_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosTime.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosTrading.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosTrading_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_CosTrading_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_ETCL.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_FTORB_Utils.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_FT_ClientORB.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_FT_ServerORB.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_FaultTolerance.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_PortableGroup.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_RTEvent.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_RTEvent_Serv.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_RTEvent_Skel.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/TAO_Svc_Utils.pc.in delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_TIO.h delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Time/TAO_UTO.h delete mode 100644 TAO/orbsvcs/orbsvcs/Time/Timer_Helper.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Time/Timer_Helper.h delete mode 100644 TAO/orbsvcs/orbsvcs/Time/time_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/TimeBase.idl delete mode 100644 TAO/orbsvcs/orbsvcs/TimeService.idl delete mode 100644 TAO/orbsvcs/orbsvcs/Time_Utilities.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Time_Utilities.h delete mode 100644 TAO/orbsvcs/orbsvcs/Time_Utilities.i delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Nodes.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Tokens.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_Visitors.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_l.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Constraint_y.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Interpreter.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Interpreter.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Locking.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Offer_Database.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Offer_Database.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Service_Type_Repository.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_T.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_T.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trading_Loader.cpp delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/Trading_Loader.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/constraint.l delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/constraint.y delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/trading_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/trading_serv_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/Trader/trading_skel_export.h delete mode 100644 TAO/orbsvcs/orbsvcs/ec_typed_events.mpb delete mode 100644 TAO/orbsvcs/orbsvcs/ec_typed_events_idl.mpb delete mode 100644 TAO/orbsvcs/orbsvcs/ec_typed_events_serv.mpb delete mode 100644 TAO/orbsvcs/orbsvcs/ec_typed_events_skel.mpb delete mode 100644 TAO/orbsvcs/orbsvcs/miop.idl delete mode 100644 TAO/orbsvcs/orbsvcs/orbsvcs.mwc delete mode 100644 TAO/orbsvcs/orbsvcs/sfp.idl delete mode 100644 TAO/orbsvcs/orbsvcs/svc_utils_export.h (limited to 'TAO/orbsvcs/orbsvcs') diff --git a/TAO/orbsvcs/orbsvcs/ATLAS.idl b/TAO/orbsvcs/orbsvcs/ATLAS.idl deleted file mode 100644 index c313ef474c6..00000000000 --- a/TAO/orbsvcs/orbsvcs/ATLAS.idl +++ /dev/null @@ -1,88 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file ATLAS.idl - * - * $Id$ - * - * IDL for Authorization Token Layer Acquisition Service (ATLAS). - * - * @author Object Management Group - */ -//============================================================================= - - -#ifndef _ATLAS_IDL_ -#define _ATLAS_IDL_ - -#include -#include -#include -#include - -#pragma prefix "omg.org" - -module ATLAS { - typedef sequence ExpiryTime; - typedef sequence IdTokenOption; - - struct AuthTokenData { - IdTokenOption ident_token; - CSI::AuthorizationToken auth_token; - ExpiryTime expiry_time; - }; - - exception IllegalTokenRequest { - unsigned long the_errnum; - string the_reason; - }; - - exception TokenOkay {}; - - interface AuthTokenDispenser { - AuthTokenData get_my_authorization_token () - raises (IllegalTokenRequest); - - AuthTokenData translate_authorization_token ( - in CSI::IdentityToken the_subject, - in CSI::AuthorizationToken the_token) - raises (IllegalTokenRequest, - TokenOkay); - }; - - struct CosNamingLocator { - CosNaming::NamingContext name_service; - CosNaming::Name the_name; - }; - - // - // This type specifies a string encoded in UTF-8 form [IETF RFC 2044]. - // - typedef sequence UTF8String; - typedef CosNaming::NamingContextExt::URLString URLocator; - - typedef unsigned long ATLASLocatorType; - - const ATLASLocatorType ATLASCosNaming = 1; - const ATLASLocatorType ATLASURL = 2; - const ATLASLocatorType ATLASObject = 3; - - union ATLASLocator switch (ATLASLocatorType) - { - case ATLASCosNaming: CosNamingLocator naming_locator; - case ATLASURL: URLocator the_url; - case ATLASObject: AuthTokenDispenser the_depenser; - }; - - typedef sequence ATLASCacheId; - - struct ATLASProfile { - ATLASLocator the_locator; - ATLASCacheId the_cache_id; - }; - - const CSIIOP::ServiceConfigurationSyntax SCS_ATLAS = 3; -}; - -#endif // _ATLAS_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/AV.mpc b/TAO/orbsvcs/orbsvcs/AV.mpc deleted file mode 100644 index 1a2b0bdadab..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV.mpc +++ /dev/null @@ -1,85 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(AV) : orbsvcslib, core, property_serv, naming, qos, tao_versioning_idl_defaults { - avoids += ace_for_tao - sharedname = TAO_AV - idlflags += -Wb,export_macro=TAO_AV_Export -Wb,export_include=orbsvcs/AV/AV_export.h - dynamicflags = TAO_AV_BUILD_DLL - tagchecks += AV - pch_header = - pch_source = - - IDL_Files { - AVStreams.idl - Null_MediaCtrl.idl - sfp.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - AV { - AVStreamsC.cpp - AVStreamsS.cpp - Null_MediaCtrlC.cpp - Null_MediaCtrlS.cpp - sfpC.cpp - sfpS.cpp - AV/AVStreams_i.cpp - AV/AV_Core.cpp - AV/Endpoint_Strategy.cpp - AV/Endpoint_Strategy_T.cpp - AV/Fill_ACE_QoS.cpp - AV/FlowSpec_Entry.cpp - AV/Flows_T.cpp - AV/MCast.cpp - AV/md5c.cpp - AV/Policy.cpp - AV/Protocol_Factory.cpp - AV/QoS_UDP.cpp - AV/RTCP.cpp - AV/RTCP_Channel.cpp - AV/RTCP_Packet.cpp - AV/RTP.cpp - AV/TCP.cpp - AV/Transport.cpp - AV/UDP.cpp - AV/default_resource.cpp - AV/media_timer.cpp - AV/sfp.cpp - AV/SCTP_SEQ.cpp - } - } - - Header_Files { - AV/AVStreams_i.h - AV/AV_Core.h - AV/AV_export.h - AV/Endpoint_Strategy.h - AV/Endpoint_Strategy_T.h - AV/Fill_ACE_QoS.h - AV/FlowSpec_Entry.h - AV/Flows_T.h - AV/MCast.h - AV/md5.h - AV/Policy.h - AV/Protocol_Factory.h - AV/QoS_UDP.h - AV/RTCP.h - AV/RTCP_Channel.h - AV/RTCP_Packet.h - AV/RTP.h - AV/Resource_Factory.h - AV/UDP.h - AV/default_resource.h - AV/global.h - AV/media_timer.h - AV/ntp-time.h - AV/sfp.h - AV/SCTP_SEQ.h - } - Template_Files { - AV/Endpoint_Strategy_T.cpp - AV/Flows_T.cpp - } - -} diff --git a/TAO/orbsvcs/orbsvcs/AV.rc b/TAO/orbsvcs/orbsvcs/AV.rc deleted file mode 100644 index f781e232026..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "AV\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_AVDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_AV.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp deleted file mode 100644 index 3b21cf04246..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp +++ /dev/null @@ -1,5309 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// AVStreams_i.cpp -// -// = AUTHOR -// Sumedh Mungee -// Nagarajan Surendran -// -// ============================================================================ - -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/sfp.h" -#include "orbsvcs/AV/MCast.h" -#include "orbsvcs/AV/RTCP.h" - -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "tao/AnyTypeCode/Any.h" -#include "ace/OS_NS_arpa_inet.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/AV/AVStreams_i.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (AV, - AVStreams_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_Qos -//------------------------------------------------------------ - -TAO_AV_QoS::TAO_AV_QoS (void) -{ -} - -TAO_AV_QoS::TAO_AV_QoS (AVStreams::streamQoS &stream_qos) -{ - this->set (stream_qos); -} - -int -TAO_AV_QoS::convert (AVStreams::streamQoS &/*network_qos*/) -{ - return -1; -} - - -// ---------------------------------------------------------------------- -// AV_Null_MediaCtrl -// ---------------------------------------------------------------------- -AV_Null_MediaCtrl::AV_Null_MediaCtrl (void) -{ -} - -AV_Null_MediaCtrl::~AV_Null_MediaCtrl (void) -{ -} - - -// ---------------------------------------------------------------------- -// TAO_Basic_StreamCtrl -// ---------------------------------------------------------------------- - -// Constructor -TAO_Basic_StreamCtrl::TAO_Basic_StreamCtrl (void) - :flow_count_ (0) -{ -} - - -// Stop the transfer of data of the stream -// Empty the_spec means apply operation to all flows -void -TAO_Basic_StreamCtrl::stop (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - ACE_TRY - { - // @@Call stop on the Related MediaCtrl. call stop on the flow - // connections. - if (this->flow_connection_map_.current_size () > 0) - { - if (flow_spec.length () > 0) - for (u_int i=0;iflow_connection_map_.find (flow_name_key, - flow_connection_entry) == 0) - { - flow_connection_entry->stop (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - else - { - // call stop on all the flows. - FlowConnection_Map_Iterator iterator (this->flow_connection_map_); - FlowConnection_Map_Entry *entry; - for (;iterator.next (entry) != 0;iterator.advance ()) - { - entry->int_id_->stop (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Basic_StreamCtrl::stop"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Start the transfer of data in the stream. -// Empty the_spec means apply operation to all flows -void -TAO_Basic_StreamCtrl::start (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - ACE_TRY - { - // @@Call start on the Related MediaCtrl. - - // call start on the flow connections. - if (this->flow_connection_map_.current_size () > 0) - { - if (flow_spec.length () > 0) - for (u_int i = 0; i < flow_spec.length (); i++) - { - char *flowname = TAO_AV_Core::get_flowname (flow_spec[i]); - ACE_CString flow_name_key (flowname); - FlowConnection_Map::ENTRY *flow_connection_entry = 0; - if (this->flow_connection_map_.find (flow_name_key, - flow_connection_entry) == 0) - { - flow_connection_entry->int_id_->start (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - else - { - // call start on all the flows. - FlowConnection_Map_Iterator iterator (this->flow_connection_map_); - FlowConnection_Map_Entry *entry = 0; - for (;iterator.next (entry) != 0;iterator.advance ()) - { - entry->int_id_->start (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Basic_StreamCtrl::start"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Tears down the stream. This will close the connection, and delete -// the streamendpoint and vdev associated with this stream Empty -// the_spec means apply operation to all flows - -void -TAO_Basic_StreamCtrl::destroy (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - ACE_TRY - { - // call stop on the flow connections. - if (this->flow_connection_map_.current_size () > 0) - { - if (flow_spec.length () > 0) - { - for (u_int i=0;iflow_connection_map_.find (flow_name_key, flow_connection_entry) == 0) - { - flow_connection_entry->int_id_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - else - { - // call destroy on all the flows. - FlowConnection_Map_Iterator iterator (this->flow_connection_map_); - FlowConnection_Map_Entry *entry = 0; - for (;iterator.next (entry) != 0;iterator.advance ()) - { - entry->int_id_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Basic_StreamCtrl::destroy"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Changes the QoS associated with the stream -// Empty the_spec means apply operation to all flows -CORBA::Boolean - -TAO_Basic_StreamCtrl::modify_QoS (AVStreams::streamQoS & /*new_qos*/, - const AVStreams::flowSpec &/*flowspec*/ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - return 1; -} - -// Used by StreamEndPoint and VDev to inform StreamCtrl of events. -// E.g., loss of flow, reestablishment of flow, etc.. -void -TAO_Basic_StreamCtrl::push_event (const struct CosPropertyService::Property &/*the_event*/ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "\n(%P|%t) Recieved event \"")); -} - -// Sets the flow protocol status. -void -TAO_Basic_StreamCtrl::set_FPStatus (const AVStreams::flowSpec &flow_spec, - const char *fp_name, - const CORBA::Any &fp_settings - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::FPError)) - -{ - if (!CORBA::is_nil (this->sep_a_.in ())) - { - this->sep_a_->set_FPStatus (flow_spec, fp_name, fp_settings ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -// Gets the flow connection. -CORBA::Object_ptr -TAO_Basic_StreamCtrl::get_flow_connection (const char *flow_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::notSupported)) -{ - ACE_CString flow_name_key (flow_name); - AVStreams::FlowConnection_var flow_connection_entry; - - if (this->flow_connection_map_.find (flow_name_key, flow_connection_entry) == 0){ - return flow_connection_entry._retn(); - } - else{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "(%N,%l) Cannot find flow: %s\n", flow_name )); - ACE_THROW_RETURN (AVStreams::noSuchFlow (), CORBA::Object::_nil ()); - } -} - -// Sets the flow connection. -void -TAO_Basic_StreamCtrl::set_flow_connection (const char *flow_name, - CORBA::Object_ptr flow_connection_obj - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::notSupported)) -{ - AVStreams::FlowConnection_var flow_connection; - ACE_TRY - { - flow_connection = AVStreams::FlowConnection::_narrow (flow_connection_obj ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Basic_StreamCtrl::set_flow_connection"); - return; - } - ACE_ENDTRY; - ACE_CHECK; - // add the flowname and the flowconnection to the hashtable. - this->flows_.length (this->flow_count_ + 1); - this->flows_ [this->flow_count_++] = CORBA::string_dup (flow_name); - ACE_CString flow_name_key (flow_name); - if (this->flow_connection_map_.bind (flow_name_key, flow_connection) != 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "(%N,%l) Cannot find flow: %s\n", flow_name )); - ACE_THROW (AVStreams::noSuchFlow ());// is this right? - } -} - -TAO_Basic_StreamCtrl::~TAO_Basic_StreamCtrl (void) -{ -} - -// ---------------------------------------------------------------------- -// TAO_Negotiator -// ---------------------------------------------------------------------- - -CORBA::Boolean -TAO_Negotiator::negotiate (AVStreams::Negotiator_ptr /* remote_negotiator */, - const AVStreams::streamQoS &/* qos_spec */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_DEBUG ((LM_DEBUG, - "TAO_Negotiator::negotiate\n")); - return 0; -} - -// ---------------------------------------------------------------------- -// MMDevice_Map_Hash_Key -// ---------------------------------------------------------------------- - -const int MMDevice_Map_Hash_Key::hash_maximum_ = 10000; - -//default constructor. -MMDevice_Map_Hash_Key::MMDevice_Map_Hash_Key (void) -{ - this->mmdevice_ = AVStreams::MMDevice::_nil (); -} - -// constructor. -MMDevice_Map_Hash_Key::MMDevice_Map_Hash_Key (AVStreams::MMDevice_ptr mmdevice) -{ - this->mmdevice_ = AVStreams::MMDevice::_duplicate (mmdevice); -} - -// copy constructor. -MMDevice_Map_Hash_Key::MMDevice_Map_Hash_Key (const MMDevice_Map_Hash_Key& hash_key) -{ - this->mmdevice_ = AVStreams::MMDevice::_duplicate (hash_key.mmdevice_); -} - -// destructor. -MMDevice_Map_Hash_Key::~MMDevice_Map_Hash_Key (void) -{ - CORBA::release (this->mmdevice_); -} - -bool -MMDevice_Map_Hash_Key::operator == (const MMDevice_Map_Hash_Key &hash_key) const -{ - CORBA::Boolean result = 0; - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - result = - this->mmdevice_->_is_equivalent (hash_key.mmdevice_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "MMDevice_Map_Hash_Key::operator == "); - return false; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (false); - - return result; -} - -bool -operator < (const MMDevice_Map_Hash_Key &left, - const MMDevice_Map_Hash_Key &right) -{ - bool result = false; - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - const CORBA::ULong left_hash = - left.mmdevice_->_hash (left.hash_maximum_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - const CORBA::ULong right_hash = - right.mmdevice_->_hash (right.hash_maximum_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - result = left_hash < right_hash; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "operator < for MMDevice_Map_Hash_Key"); - return false; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (false); - - return result; -} - -u_long -MMDevice_Map_Hash_Key::hash (void) const -{ - u_long result = 0; - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - result = this->mmdevice_->_hash (this->hash_maximum_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "MMDevice_Map_Hash_Key::hash"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return result; -} - -// ---------------------------------------------------------------------- -// TAO_StreamCtrl -// ---------------------------------------------------------------------- - -TAO_StreamCtrl::TAO_StreamCtrl (void) - :mcastconfigif_ (0) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->streamctrl_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - char buf [BUFSIZ]; - int result = ACE_OS::hostname (buf, BUFSIZ); - unsigned long ipaddr = 0; - if (result == 0) - ipaddr = ACE_OS::inet_addr (buf); - this->source_id_ = TAO_AV_RTCP::alloc_srcid (ipaddr); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::TAO_StreamCtrl"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -TAO_StreamCtrl::~TAO_StreamCtrl (void) -{ - delete this->mcastconfigif_; -} - - -// Stop the transfer of data of the stream -// Empty the_spec means apply operation to all flows -void -TAO_StreamCtrl::stop (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - ACE_TRY - { - TAO_Basic_StreamCtrl::stop (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (this->flow_connection_map_.current_size () > 0) - return; - MMDevice_Map_Iterator a_iterator (this->mmdevice_a_map_); - MMDevice_Map::ENTRY *entry = 0; - for (;a_iterator.next (entry)!= 0;a_iterator.advance ()) - { - entry->int_id_.sep_->stop (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - MMDevice_Map_Iterator b_iterator (this->mmdevice_b_map_); - for (;b_iterator.next (entry)!= 0;b_iterator.advance ()) - { - entry->int_id_.sep_->stop (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Basic_StreamCtrl::stop"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Start the transfer of data in the stream. -// Empty the_spec means apply operation to all flows -void -TAO_StreamCtrl::start (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - ACE_TRY - { - TAO_Basic_StreamCtrl::start (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (this->flow_connection_map_.current_size () > 0) - return; - - MMDevice_Map_Iterator a_iterator (this->mmdevice_a_map_); - MMDevice_Map::ENTRY *entry = 0; - for (;a_iterator.next (entry)!= 0;a_iterator.advance ()) - { - entry->int_id_.sep_->start (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - MMDevice_Map_Iterator b_iterator (this->mmdevice_b_map_); - for (;b_iterator.next (entry)!= 0;b_iterator.advance ()) - { - entry->int_id_.sep_->start (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::start"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Tears down the stream. This will close the connection, and delete -// the streamendpoint and vdev associated with this stream -// Empty the_spec means apply operation to all flows -void -TAO_StreamCtrl::destroy (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - ACE_TRY - { - TAO_Basic_StreamCtrl::destroy (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (this->flow_connection_map_.current_size () > 0) - return; - - MMDevice_Map_Iterator a_iterator (this->mmdevice_a_map_); - MMDevice_Map::ENTRY *entry = 0; - for (;a_iterator.next (entry)!= 0;a_iterator.advance ()) - { - entry->int_id_.sep_->destroy (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - MMDevice_Map_Iterator b_iterator (this->mmdevice_b_map_); - for (;b_iterator.next (entry)!= 0;b_iterator.advance ()) - { - entry->int_id_.sep_->destroy (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::destroy"); - return; - } - ACE_ENDTRY; - ACE_CHECK; - - int result = TAO_AV_Core::deactivate_servant (this); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamCtrl::destroy failed\n")); -} - -// request the two MMDevices to create vdev and stream endpoints. save -// the references returned. - -// The interaction diagram for this method is on page 13 of the spec -CORBA::Boolean -TAO_StreamCtrl::bind_devs (AVStreams::MMDevice_ptr a_party, - AVStreams::MMDevice_ptr b_party, - AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - ACE_TRY - { - if (CORBA::is_nil (a_party) && CORBA::is_nil (b_party)) - ACE_ERROR_RETURN ((LM_ERROR, "Both parties are nil\n"), 0); - // Check to see if we have non-nil parties to bind! - if (TAO_debug_level > 0) - if (CORBA::is_nil (a_party) || - CORBA::is_nil (b_party)) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) TAO_StreamCtrl::bind_devs: " - "a_party or b_party is null" - "Multicast mode\n")); - - // Request a_party to create the endpoint and vdev - CORBA::Boolean met_qos; - CORBA::String_var named_vdev; - - if (!CORBA::is_nil (a_party)) - { - MMDevice_Map_Hash_Key find_key (a_party); - MMDevice_Map_Entry find_entry; - int result = - this->mmdevice_a_map_.find (find_key, find_entry); - if (result == 0) - { - if (TAO_debug_level > 0) - { - // Already in the map. - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "mmdevice a_party is already bound\n")); - } - return 1; - } - else - { - this->sep_a_ = - a_party-> create_A (this->streamctrl_.in (), - this->vdev_a_.out (), - the_qos, - met_qos, - named_vdev.inout (), - the_flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "(%P|%t) TAO_StreamCtrl::create_A: succeeded\n")); - // Define ourselves as the related_streamctrl property of the sep. - CORBA::Any streamctrl_any; - streamctrl_any <<= this->streamctrl_.in (); - this->sep_a_->define_property ("Related_StreamCtrl", - streamctrl_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Any vdev_a_any; - vdev_a_any <<= this->vdev_a_.in (); - this->sep_a_->define_property ("Related_VDev", - vdev_a_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Any streamendpoint_a_any; - streamendpoint_a_any <<= this->sep_a_.in (); - this->vdev_a_->define_property ("Related_StreamEndpoint", - streamendpoint_a_any - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - - CORBA::Any mmdevice_a_any; - mmdevice_a_any <<= a_party; - this->vdev_a_->define_property ("Related_MMDevice", - mmdevice_a_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // add the mmdevice, sep and vdev to the map. - MMDevice_Map_Entry map_entry; - MMDevice_Map_Hash_Key key (a_party); - map_entry.sep_ = AVStreams::StreamEndPoint_A::_duplicate (this->sep_a_.in ()); - map_entry.vdev_ = AVStreams::VDev::_duplicate (this->vdev_a_.in ()); - map_entry.flowspec_ = the_flows; - map_entry.qos_ = the_qos; - result = - this->mmdevice_a_map_.bind (key, map_entry); - if (result < 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Error binding mmdevice entry in the a_map")); - } - } - // Request b_party to create the endpoint and vdev - if (!CORBA::is_nil (b_party)) - { - MMDevice_Map_Hash_Key find_key (b_party); - MMDevice_Map_Entry find_entry; - int result = - this->mmdevice_b_map_.find (find_key, find_entry); - if (result == 0) - { - // Already in the map. - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "mmdevice b_party is already bound\n")); - return 1; - } - else - { - this->sep_b_ = - b_party-> create_B (this->streamctrl_.in (), - this->vdev_b_.out (), - the_qos, - met_qos, - named_vdev.inout (), - the_flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "(%P|%t) TAO_StreamCtrl::create_B: succeeded\n")); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n(%P|%t)stream_endpoint_b_ = %s", - TAO_ORB_Core_instance ()->orb ()->object_to_string (this->sep_b_.in () - ACE_ENV_ARG_PARAMETER))); - ACE_TRY_CHECK; - // Define ourselves as the related_streamctrl property of the sep. - CORBA::Any streamctrl_any; - streamctrl_any <<= this->streamctrl_.in (); - this->sep_b_->define_property ("Related_StreamCtrl", - streamctrl_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Any vdev_b_any; - vdev_b_any <<= this->vdev_b_.in (); - this->sep_b_->define_property ("Related_VDev", - vdev_b_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Any streamendpoint_b_any; - streamendpoint_b_any <<= this->sep_b_.in (); - this->vdev_b_->define_property ("Related_StreamEndpoint", - streamendpoint_b_any - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - - CORBA::Any mmdevice_b_any; - mmdevice_b_any <<= b_party; - this->vdev_b_->define_property ("Related_MMDevice", - mmdevice_b_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - // add the mmdevice, sep and vdev to the map. - MMDevice_Map_Entry map_entry; - MMDevice_Map_Hash_Key key (b_party); - map_entry.sep_ = AVStreams::StreamEndPoint::_duplicate (this->sep_b_.in ()); - map_entry.vdev_ = AVStreams::VDev::_duplicate(this->vdev_b_.in ()); - map_entry.flowspec_ = the_flows; - map_entry.qos_ = the_qos; - int result = - this->mmdevice_b_map_.bind (key, map_entry); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "Error binding mmdevice entry in the b_map")); - } - } - - // Tell the endpoints about each other. - if ((!CORBA::is_nil (a_party)) && (!CORBA::is_nil (b_party))) - { - CORBA::Any sep_a_peer_any; - CORBA::Any sep_b_peer_any; - - sep_a_peer_any <<= this->sep_b_.in(); - sep_b_peer_any <<= this->sep_a_.in(); - this->sep_a_->define_property ("PeerAdapter", - sep_a_peer_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->sep_b_->define_property ("PeerAdapter", - sep_b_peer_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - // In the full profile case there's no VDev. - if (CORBA::is_nil (b_party) && (!CORBA::is_nil (this->vdev_a_.in ()))) - { - // Now set the source id for this A endpoint. - // If the sep contains flow producers then set the source ids for those - // instead. - ACE_TRY_EX (set_source_id) - { - CORBA::Any_ptr flows_any = this->sep_a_->get_property_value ("Flows" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (set_source_id); - AVStreams::flowSpec_var flows; - *flows_any >>= flows.out (); - for (CORBA::ULong i=0; i< flows->length ();++i) - { - CORBA::Object_var fep_obj = - this->sep_a_->get_fep (flows [i] ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (set_source_id); - ACE_TRY_EX (producer_check) - { - AVStreams::FlowProducer_var producer = - AVStreams::FlowProducer::_narrow (fep_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (producer_check); - producer->set_source_id (this->source_id_++); - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, " %s ", static_cast(flows[i]))); - - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "producer_check: not a producer"); - - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - } - ACE_CATCHANY - { - // Since the full profile failed try setting the source id - // for the sep instead. - // @@Naga: What do we do if in the light profile the sep has - // many producers who do not have flow interfaces. Then - // the streamctrl has to give an array of source ids to - // the sep. - this->sep_a_->set_source_id (this->source_id_++ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - if (!this->mcastconfigif_) - { - ACE_NEW_RETURN (this->mcastconfigif_, - TAO_MCastConfigIf, - 0); - // @@: Deactivating the object thru poa means calling remove_ref after _this. - this->mcastconfigif_ptr_ = this->mcastconfigif_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - // Multicast source being added. - CORBA::Boolean result = this->vdev_a_->set_Mcast_peer (this->streamctrl_.in (), - this->mcastconfigif_ptr_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - if (!result) - ACE_ERROR_RETURN ((LM_ERROR, "set_Mcast_peer failed\n"), 0); - } - - if (CORBA::is_nil (a_party)) - { - if (!CORBA::is_nil (this->vdev_b_.in ())) - { - // Multicast sink being added. - if (!this->mcastconfigif_) - ACE_ERROR_RETURN ((LM_ERROR, "first add a source and then a sink\n"), 0); - this->mcastconfigif_->set_peer (this->vdev_b_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - int connect_leaf_success = 0; - ACE_TRY_EX (connect_leaf) - { - // @@: define null interfaces for Atm so that they can be implemented once - // ACE adds support for ATM multicast. - connect_leaf_success = this->sep_a_->connect_leaf (this->sep_b_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (connect_leaf); - connect_leaf_success = 1; - } - ACE_CATCH (AVStreams::notSupported, ex) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "connect_leaf failed\n")); - connect_leaf_success = 0; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::bind_devs"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - if (!connect_leaf_success) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_StreamCtrl::bind_devs Multiconnect\n")); - AVStreams::flowSpec connect_flows = the_flows; - this->sep_a_->multiconnect (the_qos, connect_flows ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->sep_b_->multiconnect (the_qos, connect_flows ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - - if (!CORBA::is_nil (a_party) && !CORBA::is_nil (b_party)) - { - // Check to see if the MMDevice contains FDev objects - // If it contains FDev objects, then we are using the - // Full profile, and we want to call bind() instead - // of connect() on the the streamctrl - if( a_party->is_property_defined("Flows") && - b_party->is_property_defined("Flows") ) - { - if (TAO_debug_level > 0) { - ACE_DEBUG ((LM_DEBUG, "(%N,%l) Full profile, invoking bind()\n")); - } - - // It is full profile - // we have feps in the sep then dont call connect - // instead call bind on the streamctrl. - this->bind (this->sep_a_.in (), - this->sep_b_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - - - } - // This is the light profile, call connect() - else if (!CORBA::is_nil (this->vdev_a_.in ()) && !CORBA::is_nil (this->vdev_b_.in ())) - { - if (TAO_debug_level > 0) { - ACE_DEBUG ((LM_DEBUG, "(%N,%l) Light profile, invoking connect()\n")); - } - - // Tell the 2 VDev's about one another - this->vdev_a_->set_peer (this->streamctrl_.in (), - this->vdev_b_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - this->vdev_b_->set_peer (this->streamctrl_.in (), - this->vdev_a_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - - // Now connect the streams together. This will - // establish the connection - CORBA::Boolean result = - this->sep_a_->connect (this->sep_b_.in (), - the_qos, - the_flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (result == 0) - ACE_ERROR_RETURN ((LM_ERROR, "sep_a->connect (sep_b) failed\n"), 0); - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::bind_devs"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -// Used to establish a connection between two endpoints -// directly, i.e. without a MMDevice -CORBA::Boolean -TAO_StreamCtrl::bind (AVStreams::StreamEndPoint_A_ptr sep_a, - AVStreams::StreamEndPoint_B_ptr sep_b, - AVStreams::streamQoS &stream_qos, - const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - this->sep_a_ = AVStreams::StreamEndPoint_A::_duplicate(sep_a); - this->sep_b_ = AVStreams::StreamEndPoint_B::_duplicate(sep_b); - - int result = 0; - ACE_TRY - { - if (CORBA::is_nil (sep_a_.in() ) || - CORBA::is_nil (sep_b_.in() )) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) TAO_StreamCtrl::bind:" - "a_party or b_party null!"), - 0); - - // Define each other as their peers. - CORBA::Any sep_any; - sep_any <<= sep_b; - sep_a_->define_property ("PeerAdapter", - sep_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - sep_any <<= sep_a; - sep_b_->define_property ("PeerAdapter", - sep_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - // since its full profile we do the viable stream setup algorithm. - // get the flows for the A streamendpoint. - // the flows spec is empty and hence we do a exhaustive match. - AVStreams::flowSpec a_flows, b_flows; - CORBA::Any_var flows_any; - flows_any = sep_a_->get_property_value ("Flows" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::flowSpec *temp_flows; - flows_any.in () >>= temp_flows; - a_flows = *temp_flows; - flows_any = sep_b_->get_property_value ("Flows" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - flows_any.in () >>= temp_flows; - b_flows = *temp_flows; - u_int i; - FlowEndPoint_Map *a_fep_map; - FlowEndPoint_Map *b_fep_map; - ACE_NEW_RETURN (a_fep_map, - FlowEndPoint_Map, - 0); - ACE_NEW_RETURN (b_fep_map, - FlowEndPoint_Map, - 0); - for (i=0;iget_fep (flowname - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::FlowEndPoint_var fep = - AVStreams::FlowEndPoint::_narrow (fep_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - ACE_CString fep_key (flowname); - result = a_fep_map->bind (fep_key, fep); - if (result == -1) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamCtrl::bind failed for %s\n", flowname)); - } - // get the flowendpoints for streamendpoint_b - for (i=0;iget_fep (flowname - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::FlowEndPoint_var fep = - AVStreams::FlowEndPoint::_narrow (fep_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - ACE_CString fep_key (flowname); - result = b_fep_map->bind (fep_key, fep); - if (result == -1) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamCtrl::bind failed for %s\n", flowname)); - } - FlowEndPoint_Map *map_a = 0, *map_b = 0; - if (flow_spec.length () == 0) - { - map_a = a_fep_map; - map_b = b_fep_map; - } - else - { - FlowEndPoint_Map *spec_fep_map_a, *spec_fep_map_b; - ACE_NEW_RETURN (spec_fep_map_a, - FlowEndPoint_Map, - 0); - ACE_NEW_RETURN (spec_fep_map_b, - FlowEndPoint_Map, - 0); - for (i=0; i< flow_spec.length ();i++) - { - TAO_Forward_FlowSpec_Entry *entry = 0; - ACE_NEW_RETURN (entry, - TAO_Forward_FlowSpec_Entry, - 0); - entry->parse (flow_spec[i]); - ACE_CString fep_key (entry->flowname ()); - AVStreams::FlowEndPoint_var fep; - result = a_fep_map->find (fep_key, fep); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, "Fep not found on A side for flowname: %s\n", flow_spec[i]), 0); - - result = spec_fep_map_a->bind (fep_key, fep); - if (result == -1) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "Bind failed for %s\n", flow_spec[i])); - - result = b_fep_map->find (fep_key, fep); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, "Fep not found on B side for flowname: %s\n", flow_spec[i]), 0); - - result = spec_fep_map_b->bind (fep_key, fep); - if (result == -1) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "Bind failed for %s\n", flow_spec[i])); - } - map_a = spec_fep_map_a; - map_b = spec_fep_map_b; - } - - TAO_AV_QoS qos (stream_qos); - // Now go thru the list of flow endpoint and match them. - // uses the first match policy. - FlowEndPoint_Map_Iterator a_feps_iterator (*map_a); - FlowEndPoint_Map_Entry *a_feps_entry, *b_feps_entry; - ACE_TRY_EX (flow_connect) - { - - for (;a_feps_iterator.next (a_feps_entry) != 0; - a_feps_iterator.advance ()) - { - AVStreams::FlowEndPoint_var fep_a = a_feps_entry->int_id_; - AVStreams::FlowEndPoint_var connected_to = - fep_a->get_connected_fep (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connect); - - if (!CORBA::is_nil (connected_to.in ())) - { - // Skip this one, it is already connected... - continue; - } - - FlowEndPoint_Map_Iterator b_feps_iterator (*map_b); - for (;b_feps_iterator.next (b_feps_entry) != 0; - b_feps_iterator.advance ()) - { - AVStreams::FlowEndPoint_var fep_b = b_feps_entry->int_id_; - AVStreams::FlowConnection_var flow_connection; - - AVStreams::FlowEndPoint_var connected_to = - fep_b->get_connected_fep (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connect); - - if (!CORBA::is_nil (connected_to.in ())) - { - // Skip this one, it is already connected... - continue; - } - - if (fep_a->is_fep_compatible (fep_b.in() - ACE_ENV_ARG_PARAMETER) == 1) - { - ACE_TRY_CHECK_EX (flow_connect); - // assume that flow names are same so that we - // can use either of them. - CORBA::Object_var flow_connection_obj; - CORBA::Any_var flowname_any = - fep_a->get_property_value ("FlowName" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connect); - const char *flowname = 0; - flowname_any.in () >>= flowname; - ACE_TRY_EX (flow_connection) - { - flow_connection_obj = - this->get_flow_connection (flowname - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connection); - flow_connection = - AVStreams::FlowConnection::_narrow (flow_connection_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connection); - } - ACE_CATCHANY - { - TAO_FlowConnection *flowConnection; - ACE_NEW_RETURN (flowConnection, - TAO_FlowConnection, - 0); - flow_connection = flowConnection->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connect); - this->set_flow_connection (flowname, - flow_connection.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connect); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - // make sure that a_feps is flow_producer - // and b_feps is flow_consumer - // There should be a way to find which flow - // endpoint is producer and which is - // consumer. - - AVStreams::FlowProducer_var producer; - AVStreams::FlowConsumer_var consumer; - - ACE_TRY_EX (producer_check) - { - producer = - AVStreams::FlowProducer::_narrow (fep_a.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (producer_check); - consumer = - AVStreams::FlowConsumer::_narrow (fep_b.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (producer_check); - - // If the types don't match then try in - // the opposite order - if (CORBA::is_nil (producer.in ())) - { - producer = - AVStreams::FlowProducer::_narrow (fep_b.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (producer_check); - consumer = - AVStreams::FlowConsumer::_narrow (fep_a.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (producer_check); - } - // At this point they should both be - // non-nil - // @@ raise an exception (which one?) if - // this is not true... - ACE_ASSERT (!CORBA::is_nil (producer.in ())); - ACE_ASSERT (!CORBA::is_nil (consumer.in ())); - } - ACE_CATCHANY - { - //Yamuna : Recheck this - ACE_RE_THROW;//_EX (producer_check); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - CORBA::String_var fep_a_name, fep_b_name; - flowname_any = fep_a->get_property_value ("FlowName" - ACE_ENV_ARG_PARAMETER); - const char *temp_name; - flowname_any.in () >>= temp_name; - fep_a_name = CORBA::string_dup (temp_name); - flowname_any = fep_b->get_property_value ("FlowName" - ACE_ENV_ARG_PARAMETER); - flowname_any.in () >>= temp_name; - fep_b_name = CORBA::string_dup (temp_name); - AVStreams::QoS flow_qos; - flow_qos.QoSType = fep_a_name; - flow_qos.QoSParams.length (0); - result = qos.get_flow_qos (fep_a_name.in (), flow_qos); - if (result == -1) - { - flow_qos.QoSType = fep_b_name; - result = qos.get_flow_qos (fep_b_name.in (), - flow_qos); - if (result == -1 && TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "No QoS Specified for this flow <%s>\n", flowname)); - } - flow_connection->connect (producer.in (), - consumer.in (), - flow_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connect); - } - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_StreamCtrl::bind:flow_connect block"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - ACE_CATCHANY - { - // error was thrown because one of the streamendpoints is light profile. - // Now connect the streams together - this->sep_a_->connect (this->sep_b_.in (), - stream_qos, - flow_spec - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -void -TAO_StreamCtrl::unbind (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed)) -{ - ACE_TRY - { - if (this->flow_connection_map_.current_size () > 0) - return; - - AVStreams::flowSpec flow_spec; - flow_spec.length(0); - - MMDevice_Map_Iterator a_iterator (this->mmdevice_a_map_); - MMDevice_Map::ENTRY *entry = 0; - for (;a_iterator.next (entry)!= 0;a_iterator.advance ()) - { - entry->int_id_.sep_->destroy (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - MMDevice_Map_Iterator b_iterator (this->mmdevice_b_map_); - for (;b_iterator.next (entry)!= 0;b_iterator.advance ()) - { - entry->int_id_.sep_->destroy (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::unbind"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -void -TAO_StreamCtrl::unbind_party (AVStreams::StreamEndPoint_ptr /* the_ep */, - const AVStreams::flowSpec &/* the_spec */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow)) -{ -} - -void -TAO_StreamCtrl::unbind_dev (AVStreams::MMDevice_ptr /* dev */, - const AVStreams::flowSpec & /* the_spec */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow)) -{ -} - -AVStreams::VDev_ptr -TAO_StreamCtrl::get_related_vdev (AVStreams::MMDevice_ptr adev, - AVStreams::StreamEndPoint_out sep - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed)) -{ - MMDevice_Map_Hash_Key key (adev); - MMDevice_Map_Entry entry; - int result = -1; - result = this->mmdevice_a_map_.find (key, entry); - if (result < 0) - { - result = this->mmdevice_a_map_.find (key, entry); - if (result < 0) - return AVStreams::VDev::_nil (); - } - sep = AVStreams::StreamEndPoint::_duplicate (entry.sep_.in ()); - return AVStreams::VDev::_duplicate (entry.vdev_.in ()); -} - -CORBA::Boolean - -TAO_StreamCtrl::modify_QoS (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamCtrl::modify_QoS\n")); - - - if (this->mcastconfigif_ != 0) - { - // call modify_Qos on the root VDev which is the mcast configif. - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "Cannot Modify the Qos for multipoint streams\n")); - } - else - { - ACE_TRY - { - AVStreams::flowSpec in_flowspec; - AVStreams::flowSpec out_flowspec; - - in_flowspec.length (0); - out_flowspec.length (0); - - int in_index = 0; - int out_index = 0; - - AVStreams::flowSpec flowspec; - if (the_spec.length () == 0) - { - // Apply modify_qos to all the flows - flowspec = this->flows_; - MMDevice_Map_Iterator iterator (this->mmdevice_a_map_); - MMDevice_Map::ENTRY *entry = 0; - for (;iterator.next (entry) != 0;iterator.advance ()) - { - flowspec = entry->int_id_.flowspec_; - } - } - else - { - flowspec = the_spec; - } - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamCtrl::modify_QoS\n")); - - - for (u_int i=0;i < flowspec.length ();i++) - { - TAO_Forward_FlowSpec_Entry entry; - entry.parse (flowspec [i]); - int direction = entry.direction (); - if (direction == 0) - { - in_flowspec.length (in_index + 1); - in_flowspec [in_index++] = CORBA::string_dup (entry.entry_to_string ()); - } - else - { - out_flowspec.length (out_index + 1); - out_flowspec [out_index++] = CORBA::string_dup (entry.entry_to_string ()); - } - } - - if (in_flowspec.length () != 0) - { - this->vdev_a_->modify_QoS (new_qos, in_flowspec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - if (out_flowspec.length () != 0) - { - this->vdev_b_->modify_QoS (new_qos, out_flowspec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamCtrl::modify_QoS"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - } - return 1; -} - -// ---------------------------------------------------------------------- -// TAO_MCastConfigIf -// ---------------------------------------------------------------------- - -TAO_MCastConfigIf::TAO_MCastConfigIf (void) - :peer_list_iterator_ (peer_list_) -{ -} - -TAO_MCastConfigIf::~TAO_MCastConfigIf (void) -{ - //no-op -} - -// In future this should be a multicast message instead of point-to-point unicasts. -CORBA::Boolean -TAO_MCastConfigIf::set_peer (CORBA::Object_ptr peer, - AVStreams::streamQoS & qos, - const AVStreams::flowSpec & flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)) -{ - ACE_TRY - { - Peer_Info *info; - ACE_NEW_RETURN (info, - Peer_Info, - 0); - info->peer_ = AVStreams::VDev::_narrow (peer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - info->qos_ = qos; - info->flow_spec_ = flow_spec; - this->peer_list_.insert_tail (info); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MCastConfigIf::set_peer"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -// In future this should be a multicast message instead of point-to-point unicasts. -void -TAO_MCastConfigIf::configure (const CosPropertyService::Property & a_configuration - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - Peer_Info *info; - ACE_TRY - { - for (this->peer_list_iterator_.first (); - (info = this->peer_list_iterator_.next ()) != 0; - this->peer_list_iterator_.advance ()) - { - info->peer_->configure (a_configuration ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MCastConfigIf::set_configure"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - - -void -TAO_MCastConfigIf::set_initial_configuration (const CosPropertyService::Properties &initial - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->initial_configuration_ = initial; -} - -// In future this should be a multicast message instead of point-to-point unicasts. -void -TAO_MCastConfigIf::set_format (const char * flowName, - const char * format_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)) -{ - Peer_Info *info; - ACE_TRY - { - for (this->peer_list_iterator_.first (); - (info = this->peer_list_iterator_.next ()) != 0; - this->peer_list_iterator_.advance ()) - { - if (this->in_flowSpec (info->flow_spec_, flowName)) - { - info->peer_->set_format (flowName, format_name ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MCastConfigIf::set_format"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// In future this should be a multicast message instead of point-to-point unicasts. -void -TAO_MCastConfigIf::set_dev_params (const char * flowName, - const CosPropertyService::Properties & new_params - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)) -{ - Peer_Info *info; - ACE_TRY - { - - for (this->peer_list_iterator_.first (); - (info = this->peer_list_iterator_.next ()) != 0; - this->peer_list_iterator_.advance ()) - { - if (this->in_flowSpec (info->flow_spec_, flowName)) - { - info->peer_->set_dev_params (flowName, new_params ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MCastConfigIf::set_dev_params"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -int -TAO_MCastConfigIf::in_flowSpec (const AVStreams::flowSpec& flow_spec, const char *flow_name) -{ - size_t len = ACE_OS::strlen (flow_name); - for (CORBA::ULong i = 0; i < flow_spec.length (); i++) - if (ACE_OS::strncmp (flow_spec[i], flow_name, len) == 0) - { - return 1; - } - return 0; -} - -// ---------------------------------------------------------------------- -// TAO_Base_StreamEndPoint -// ---------------------------------------------------------------------- - -TAO_Base_StreamEndPoint::TAO_Base_StreamEndPoint (void) - : protocol_object_set_ (0) -{ -} - -TAO_Base_StreamEndPoint::~TAO_Base_StreamEndPoint (void) -{ -} - -int -TAO_Base_StreamEndPoint::handle_close (void) -{ - // This method should not be defined, but EGCS complains endlessly - // about it. - return -1; -} - -int -TAO_Base_StreamEndPoint::handle_open (void) -{ - return 0; -} - -int -TAO_Base_StreamEndPoint::handle_stop (const AVStreams::flowSpec & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -int -TAO_Base_StreamEndPoint::handle_start (const AVStreams::flowSpec & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -int -TAO_Base_StreamEndPoint::handle_destroy (const AVStreams::flowSpec & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -// The following function is for backward compatibility. -CORBA::Boolean -TAO_Base_StreamEndPoint::handle_preconnect (AVStreams::flowSpec &) -{ - return 1; -} - -// The following function is for backward compatibility. -CORBA::Boolean -TAO_Base_StreamEndPoint::handle_postconnect (AVStreams::flowSpec &) -{ - - while (!this->is_protocol_object_set ()) - TAO_AV_CORE::instance ()->orb ()->perform_work (); - return 1; -} - -// The following function is for backward compatibility. -CORBA::Boolean -TAO_Base_StreamEndPoint::handle_connection_requested (AVStreams::flowSpec & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 1; -} - -int -TAO_Base_StreamEndPoint::set_protocol_object (const char * /*flowname*/, - TAO_AV_Protocol_Object * /*sfp_object*/) -{ - return -1; -} - -void -TAO_Base_StreamEndPoint::protocol_object_set (void) -{ - this->protocol_object_set_ = 1; -} - - -int -TAO_Base_StreamEndPoint::is_protocol_object_set (void) -{ - return this->protocol_object_set_; -} - -int -TAO_Base_StreamEndPoint::get_callback (const char * /*flowname*/, - TAO_AV_Callback *&/*sfp_callback*/) -{ - return -1; -} - -int -TAO_Base_StreamEndPoint::get_control_callback (const char * /*flowname*/, - TAO_AV_Callback *&/*sfp_callback*/) -{ - return -1; -} - -void -TAO_Base_StreamEndPoint::set_flow_handler (const char *flowname, - TAO_AV_Flow_Handler *handler) -{ - if(TAO_debug_level > 1) - { - ACE_DEBUG ((LM_DEBUG, "(%N,%l) TAO_Base_StreamEndPoint::set_flow_handler(), flowname: %s\n", flowname)); - } - ACE_CString flow_name_key (flowname); - if (this->flow_handler_map_.bind (flow_name_key, handler) != 0) - ACE_ERROR ((LM_ERROR, - "Error in storing flow handler\n")); -} - -void -TAO_Base_StreamEndPoint::set_control_flow_handler (const char *flowname, - TAO_AV_Flow_Handler *handler) -{ - ACE_CString flow_name_key (flowname); - if (this->control_flow_handler_map_.bind (flow_name_key, handler) != 0) - ACE_ERROR ((LM_ERROR, - "Error in storing control flow handler\n")); -} - -// ---------------------------------------------------------------------- -// TAO_StreamEndPoint -// ---------------------------------------------------------------------- - -// constructor. - -TAO_StreamEndPoint::TAO_StreamEndPoint (void) - :flow_count_ (0), - flow_num_ (0), - mcast_port_ (ACE_DEFAULT_MULTICAST_PORT+1) -{ - //is->mcast_addr_ = ACE_OS::inet_addr (ACE_DEFAULT_MULTICAST_ADDR); - this->mcast_addr_.set (ACE_DEFAULT_MULTICAST_ADDR); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::TAO_StreamEndPoint::mcast_addr = %s", this->mcast_addr_.c_str ())); - // this->handle_open (); -} - - -CORBA::Boolean -TAO_StreamEndPoint::connect (AVStreams::StreamEndPoint_ptr responder, - AVStreams::streamQoS &qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::Connect ()\n")); - CORBA::Boolean retv = 0; - this->peer_sep_ = AVStreams::StreamEndPoint::_duplicate (responder); - ACE_TRY_EX (negotiate) - { - if (!CORBA::is_nil (this->negotiator_.in ())) - { - ACE_DEBUG ((LM_DEBUG, - "NEGOTIATOR AVIALABLE\n")); - - CORBA::Any_var negotiator_any = responder->get_property_value ("Negotiator"); - - AVStreams::Negotiator_ptr peer_negotiator; - negotiator_any.in () >>= peer_negotiator; - if (!CORBA::is_nil (peer_negotiator)) - { - CORBA::Boolean result = - this->negotiator_->negotiate (peer_negotiator, - qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (negotiate); - if (!result) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::Connect (): negotiate failed\n")); - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::negotiate"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - ACE_TRY_EX (available_protocols) - { - if (this->protocols_.length () > 0) - { - // choose protocols based on what the remote endpoint can support. - CORBA::Any_var protocols_any = - responder->get_property_value ("AvailableProtocols" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (available_protocols); - AVStreams::protocolSpec peer_protocols; - AVStreams::protocolSpec *temp_protocols; - protocols_any.in () >>= temp_protocols; - peer_protocols = *temp_protocols; - for (u_int i=0;iprotocols_.length ();j++) - if (ACE_OS::strcmp (peer_protocols [i], - this->protocols_[j]) == 0) - { - // we'll agree upon the first protocol that matches. - this->protocol_ = CORBA::string_dup (peer_protocols [i]); - break; - } - } - } - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "Availableprotocols property not defined\n")); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - ACE_TRY - { - AVStreams::streamQoS network_qos; - if (qos.length () > 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "QoS is Specified\n")); - - int result = this->translate_qos (qos, - network_qos); - if (result != 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "QoS translation failed\n")); - - this->qos ().set (network_qos); - } - - - AVStreams::flowSpec flow_spec (the_spec); - this->handle_preconnect (flow_spec); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamEndPoint::connect: flow_spec_length = %d\n", - flow_spec.length ())); - u_int i; - for (i=0;iparse (flow_spec[i]) == -1) - return 0; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::Connect: %s\n", entry->entry_to_string ())); - - this->forward_flow_spec_set.insert (entry); - } - - int result =TAO_AV_CORE::instance ()->init_forward_flows (this, - this->forward_flow_spec_set, - TAO_AV_Core::TAO_AV_ENDPOINT_A, - flow_spec); - - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "%N:%l TAO_AV_Core::init_forward_flows failed\n"), 0); - - - AVStreams::StreamEndPoint_var streamendpoint = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - retv = responder->request_connection (streamendpoint.in (), - 0, - network_qos, - flow_spec - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "%N:%l request_connection returned %d\n", retv)); - - if (retv == 0) - return retv; - for (i=0;iparse (flow_spec[i]) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Reverse_Flow_Spec_Set::parse failed\n"), - 0); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamEndPoint::Connect: Reverse Flow Spec %s\n", - entry->entry_to_string ())); - - this->reverse_flow_spec_set.insert (entry); - } - - result = TAO_AV_CORE::instance ()->init_reverse_flows (this, - this->forward_flow_spec_set, - this->reverse_flow_spec_set, - TAO_AV_Core::TAO_AV_ENDPOINT_A); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_Core::init_reverse_flows failed\n"), - 0); - - // Make the upcall to the app - retv = this->handle_postconnect (flow_spec); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::connect"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return retv; -} - -int -TAO_StreamEndPoint::translate_qos (const AVStreams::streamQoS& application_qos, - AVStreams::streamQoS& network_qos) -{ - u_int len = application_qos.length (); - network_qos.length (len); - for (u_int i=0;i apply to all flows - -void -TAO_StreamEndPoint::stop (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - // Make the upcall into the app - this->handle_stop (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (flow_spec.length () > 0) - { - - for (u_int i=0;iforward_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor begin = this->forward_flow_spec_set.begin (); - begin != end; ++begin) - { - TAO_Forward_FlowSpec_Entry entry; - entry.parse (flow_spec[i]); - if (ACE_OS::strcmp ((*begin)->flowname (), entry.flowname ()) == 0) - { - TAO_FlowSpec_Entry *entry = *begin; - // (*begin)->protocol_object ()->stop (); - if (entry->handler() != 0) - entry->handler ()->stop (entry->role ()); - if (entry->control_handler () != 0) - entry->control_handler ()->stop (entry->role ()); - break; - } - } - } - } - else - { - TAO_AV_FlowSpecSetItor end = this->forward_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor begin = this->forward_flow_spec_set.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = *begin; - // entry->protocol_object ()->stop (); - if (entry->handler() != 0) - entry->handler ()->stop (entry->role ()); - if (entry->control_handler () != 0) - entry->control_handler ()->stop (entry->role ()); - } - } -} - -// Start the physical flow of data on the stream -// Empty the_spec --> apply to all flows -void -TAO_StreamEndPoint::start (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::start\n")); - // Make the upcall into the app - this->handle_start (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (flow_spec.length () > 0) - { - // Now call start on all the flow handlers. - for (u_int i=0;iforward_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor forward_begin = this->forward_flow_spec_set.begin (); - forward_begin != end; ++forward_begin) - { - TAO_FlowSpec_Entry *entry = *forward_begin; - if (ACE_OS::strcmp (entry->flowname (), flow_spec [i]) == 0) - { - // entry->protocol_object ()->start (); - if (entry->handler () != 0) - { - entry->handler ()->start (entry->role ()); - } - if (entry->control_handler () != 0) - { - entry->control_handler ()->start (entry->role ()); - } - } - } - - end = this->reverse_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor reverse_begin = this->reverse_flow_spec_set.begin (); - reverse_begin != end; ++reverse_begin) - { - TAO_FlowSpec_Entry *entry = *reverse_begin; - if (ACE_OS::strcmp (entry->flowname (), flow_spec [i]) == 0) - { - // entry->protocol_object ()->start (); - if (entry->handler () != 0) - { - entry->handler ()->start (entry->role ()); - } - if (entry->control_handler () != 0) - { - entry->control_handler ()->start (entry->role ()); - } - } - } - } - } - else - { - TAO_AV_FlowSpecSetItor end = this->forward_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor forwardbegin = this->forward_flow_spec_set.begin (); - forwardbegin != end; ++forwardbegin) - { - TAO_FlowSpec_Entry *entry = *forwardbegin; - if (entry->handler () != 0) - { - entry->handler ()->start (entry->role ()); - } - if (entry->control_handler () != 0) - { - entry->control_handler ()->start (entry->role ()); - } - } - - end = this->reverse_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor reversebegin = this->reverse_flow_spec_set.begin (); - reversebegin != end; ++reversebegin) - { - TAO_FlowSpec_Entry *entry = *reversebegin; - // entry->protocol_object ()->start (); - if (entry->handler () != 0) - { - entry->handler ()->start (entry->role ()); - } - if (entry->control_handler () != 0) - { - entry->control_handler ()->start (entry->role ()); - } - } - } -} - -// Close the connection -void -TAO_StreamEndPoint::destroy (const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)) -{ - CORBA::Any_var vdev_any = this->get_property_value ("Related_VDev" - ACE_ENV_ARG_PARAMETER); - - AVStreams::VDev_ptr vdev; - - vdev_any.in() >>= vdev; - CORBA::Any_var mc_any = vdev->get_property_value ("Related_MediaCtrl" - ACE_ENV_ARG_PARAMETER); - - // The Related_MediaCtrl property was inserted as a CORBA::Object, so we - // must extract it as the same type. - CORBA::Object_var obj; - mc_any.in() >>= CORBA::Any::to_object( obj.out() ); - - AVStreams::MediaControl_var media_ctrl = - AVStreams::MediaControl::_narrow( obj.in() ); - - // deactivate the associated vdev and media ctrl - - if ( !CORBA::is_nil( vdev ) ) - { - PortableServer::ServantBase_var vdev_servant = - TAO_AV_CORE::instance()->poa()->reference_to_servant ( vdev ); - TAO_AV_Core::deactivate_servant (vdev_servant.in()); - } - - if ( !CORBA::is_nil ( media_ctrl.in () ) ) - { - PortableServer::ServantBase_var mc_servant = - TAO_AV_CORE::instance()->poa()->reference_to_servant (media_ctrl.in()); - TAO_AV_Core::deactivate_servant (mc_servant.in()); - } - - int result = TAO_AV_Core::deactivate_servant (this); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::destroy failed\n")); - - if (flow_spec.length () > 0) - { - for (u_int i=0;iforward_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor begin = this->forward_flow_spec_set.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = *begin; - TAO_Tokenizer flow_name (flow_spec [i], '\\'); - if (ACE_OS::strcmp (entry->flowname (), flow_name[0]) == 0) - { - if (entry->protocol_object ()) - { - entry->protocol_object ()->destroy (); - } - break; - } - } - } - { - TAO_AV_FlowSpecSetItor end = this->reverse_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor begin = this->reverse_flow_spec_set.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = *begin; - TAO_Tokenizer flow_name (flow_spec [i], '\\'); - if (ACE_OS::strcmp (entry->flowname (), flow_name[0]) == 0) - { - if (entry->protocol_object ()) - { - entry->protocol_object ()->destroy (); - } - break; - } - } - } - } - } - else - { - { - TAO_AV_FlowSpecSetItor end = this->forward_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor begin = this->forward_flow_spec_set.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = *begin; - if (entry->protocol_object ()) - { - entry->protocol_object ()->stop (); - - ACE_CString control_flowname = - TAO_AV_Core::get_control_flowname (entry->flowname ()); - TAO_AV_CORE::instance()->remove_acceptor(entry->flowname()); - TAO_AV_CORE::instance()->remove_acceptor(control_flowname.c_str()); - - entry->protocol_object ()->destroy (); - } - } - } - { - TAO_AV_FlowSpecSetItor end = this->reverse_flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor begin = this->reverse_flow_spec_set.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = *begin; - if (entry->protocol_object ()) - { - entry->protocol_object ()->stop (); - - ACE_CString control_flowname = - TAO_AV_Core::get_control_flowname (entry->flowname ()); - TAO_AV_CORE::instance()->remove_connector(entry->flowname()); - TAO_AV_CORE::instance()->remove_connector(control_flowname.c_str()); - entry->protocol_object ()->destroy (); - - } - } - } - } - - // Make the upcall into the app - // this->handle_destroy (the_spec ACE_ENV_ARG_PARAMETER); - // -} - -// Called by our peer endpoint, requesting us to establish -// a connection -CORBA::Boolean -TAO_StreamEndPoint::request_connection (AVStreams::StreamEndPoint_ptr /*initiator*/, - CORBA::Boolean /*is_mcast*/, - AVStreams::streamQoS &qos, - AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpDenied, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::FPError)) - -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "\n(%P|%t) TAO_StreamEndPoint::request_connection called")); - - int result = 0; - ACE_TRY - { - AVStreams::streamQoS network_qos; - if (qos.length () > 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "QoS is Specified\n")); - - int result = this->translate_qos (qos, network_qos); - if (result != 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "QoS translation failed\n")); - - this->qos ().set (network_qos); - } - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "\n(%P|%t) TAO_StreamEndPoint::request_connection: " - "flowspec has length = %d and the strings are:\n", - flow_spec.length ())); - CORBA::ULong i; - - for (i=0;i 0) - ACE_DEBUG(( LM_DEBUG, - "%N:%l Parsing flow spec: [%s]\n", - string_entry.in ())); - - if (entry->parse (string_entry.in ()) == -1) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "%N:%l Error parsing flow_spec: [%s]\n", - string_entry.in ())); - return 0; - } - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamEndPoint::request_connection flow spec [%s]\n", - entry->entry_to_string ())); - - this->forward_flow_spec_set.insert (entry); - } - - result = TAO_AV_CORE::instance ()->init_forward_flows (this, - this->forward_flow_spec_set, - TAO_AV_Core::TAO_AV_ENDPOINT_B, - flow_spec); - - if (result < 0) - return 0; - - // Make the upcall to the app - result = this->handle_connection_requested (flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_StreamEndpoint::request_connection"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return result; -} - -int -TAO_StreamEndPoint::change_qos (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamEndPoint::change_qos\n")); - - TAO_AV_QoS qos (new_qos); - for (int i = 0; (unsigned) i < the_flows.length (); i++) - { - TAO_Forward_FlowSpec_Entry entry; - entry.parse (the_flows [i]); - ACE_CString flow_name_key (entry.flowname ()); - Flow_Handler_Map_Entry *handler_entry; - if (this->flow_handler_map_.find (flow_name_key, - handler_entry) == 0) - { - AVStreams::QoS flow_qos; - if (qos.get_flow_qos (entry.flowname (), flow_qos) != 0) - ACE_DEBUG ((LM_DEBUG, - "New QoS for the flow %s is not specified\n", - entry.flowname ())); - int result; - result = handler_entry->int_id_->change_qos (flow_qos); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Modifying QoS Failed\n"), - -1); - - } - } - return 0; -} - -// Refers to modification of transport QoS. -CORBA::Boolean -TAO_StreamEndPoint::modify_QoS (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_StreamEndPoint::modify_QoS\n")); - - int result = this->change_qos (new_qos, the_flows ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (result != 0) - return 0; - - return 1; - -} - -// Sets the list of protocols this streamendpoint can understand. - -CORBA::Boolean -TAO_StreamEndPoint::set_protocol_restriction (const AVStreams::protocolSpec &protocols - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - CORBA::Any protocol_restriction_any; - - protocol_restriction_any <<= protocols; - this->define_property ("ProtocolRestriction", - protocol_restriction_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->protocols_ = protocols; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::set_protocol_restriction"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - - -void -TAO_StreamEndPoint::disconnect (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::streamOpFailed)) -{ - ACE_UNUSED_ARG (the_spec); -} - -// Sets the status of the flow protocol. - -void -TAO_StreamEndPoint::set_FPStatus (const AVStreams::flowSpec &/*the_spec*/, - const char *fp_name, - const CORBA::Any &fp_settings - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::FPError)) -{ - if (ACE_OS::strcmp (fp_name, "SFP1.0") != 0) - return; - fp_settings >>= this->sfp_status_; - // @@Naga: We should call set_FPStatus on all the protocol objects. -} - - -CORBA::Object_ptr -TAO_StreamEndPoint::get_fep (const char *flow_name - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::noSuchFlow)) -{ - ACE_CString fep_name_key (flow_name); - AVStreams::FlowEndPoint_var fep_entry; - if (this->fep_map_.find (fep_name_key, fep_entry) == 0) - return fep_entry._retn(); - return 0; -} - -char* -TAO_StreamEndPoint::add_fep_i_add_property (AVStreams::FlowEndPoint_ptr fep - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)) -{ - ACE_CString flow_name; - - ACE_TRY - { - // exception implies the flow name is not defined and is system - // generated. - flow_name = "flow"; - char tmp[255]; - ACE_OS::sprintf (tmp, "%u", this->flow_num_++); - flow_name += tmp; - - CORBA::Any flowname_any; - flowname_any <<= flow_name.c_str (); - fep->define_property ("Flow", - flowname_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_StreamEndPoint::add_fep"); - return 0; - } - ACE_ENDTRY; - return ACE_OS::strdup( flow_name.c_str () ); -} - -char* -TAO_StreamEndPoint::add_fep_i (AVStreams::FlowEndPoint_ptr fep - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)) -{ - CORBA::String_var flow_name; - ACE_TRY - { - CORBA::Any_var flow_name_any = - fep->get_property_value ("FlowName" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - const char *tmp; - flow_name_any >>= tmp; - flow_name = CORBA::string_dup (tmp); - } - ACE_CATCHANY - { - flow_name = - this->add_fep_i_add_property (fep ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - ACE_ENDTRY; - return flow_name._retn (); -} - -char * -TAO_StreamEndPoint::add_fep (CORBA::Object_ptr fep_obj - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)) -{ - AVStreams::FlowEndPoint_var fep = - AVStreams::FlowEndPoint::_narrow (fep_obj ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::String_var flow_name = - this->add_fep_i (fep.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TRY - { - fep->lock (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - // Add it to the sequence of flowNames supported. - // put the flowname and the flowendpoint in a hashtable. - ACE_CString fep_name_key (CORBA::string_dup (flow_name.in ())); - if (this->fep_map_.bind (fep_name_key, AVStreams::FlowEndPoint::_duplicate (fep.in ())) != 0) - { - ACE_THROW_RETURN (AVStreams::streamOpFailed (), 0); - } - // increment the flow count. - this->flow_count_++; - this->flows_.length (this->flow_count_); - this->flows_[this->flow_count_-1] = flow_name; - // define/modify the "Flows" property. - CORBA::Any flows_any; - flows_any <<= this->flows_; - this->define_property ("Flows", - flows_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::add_fep"); - return 0; - } - ACE_ENDTRY; - return flow_name._retn (); -} - - -void -TAO_StreamEndPoint::remove_fep (const char *flow_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)) -{ - ACE_TRY - { - ACE_CString fep_name_key (flow_name); - AVStreams::FlowEndPoint_var fep_entry; - // Remove the fep from the hash table. - if (this->fep_map_.unbind (fep_name_key, fep_entry)!= 0) - ACE_THROW (AVStreams::streamOpFailed ()); - // redefine the "Flows" property - AVStreams::flowSpec new_flows (this->flows_.length ()); - for (u_int i=0, j=0 ; i flows_.length (); i++) - if (ACE_OS::strcmp (flow_name, this->flows_[i]) != 0) - new_flows[j++] = this->flows_[i]; - - CORBA::Any flows; - flows <<= new_flows; - this->flows_ = new_flows; - this->define_property ("Flows", - flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::remove_fep"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Sets the negotiator object. -void -TAO_StreamEndPoint::set_negotiator (AVStreams::Negotiator_ptr new_negotiator - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - CORBA::Any negotiator; - negotiator <<= new_negotiator; - this->define_property ("Negotiator", - negotiator - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->negotiator_ = AVStreams::Negotiator::_duplicate (new_negotiator); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::set_negotiator"); - } - ACE_ENDTRY; - ACE_CHECK; -} - - -// Sets the public key used for this streamendpoint. -void -TAO_StreamEndPoint::set_key (const char *flow_name, - const AVStreams::key & the_key - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - this->key_ = the_key; - CORBA::Any PublicKey; - PublicKey <<= the_key; - char PublicKey_property [BUFSIZ]; - ACE_OS::sprintf (PublicKey_property, "%s_PublicKey", flow_name); - this->define_property (PublicKey_property, - PublicKey - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint::set_key"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Set the source id. -void -TAO_StreamEndPoint::set_source_id (CORBA::Long source_id - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->source_id_ = source_id; -} - -CORBA::Boolean -TAO_StreamEndPoint::multiconnect (AVStreams::streamQoS &/*the_qos*/, - AVStreams::flowSpec &/*flow_spec*/ - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::multiconnect\n")); - return 0; -} - -TAO_StreamEndPoint::~TAO_StreamEndPoint (void) -{ - //this->handle_close (); - TAO_AV_FlowSpecSetItor begin = this->forward_flow_spec_set.begin (); - TAO_AV_FlowSpecSetItor end = this->forward_flow_spec_set.end (); - - int i=0; - // @@ Naga: Will the iterator always give the entries in the order of insertion. - // or is it an implementation fact of ACE containers. - for ( ; begin != end; ++begin, ++i) - { -// if (i >= FLOWSPEC_MAX) -// { - TAO_FlowSpec_Entry *entry = *begin; - delete entry; - // } - } - begin = this->reverse_flow_spec_set.begin (); - end = this->reverse_flow_spec_set.end (); - i = 0; - for (; begin != end; ++begin) - { -// if (i >= FLOWSPEC_MAX) -// { - TAO_FlowSpec_Entry *entry = *begin; - delete entry; - // } - } -} - - -// ---------------------------------------------------------------------- -// TAO_StreamEndPoint_A -// ---------------------------------------------------------------------- - -TAO_StreamEndPoint_A::TAO_StreamEndPoint_A (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "(%P|%t) TAO_StreamEndPoint_A::TAO_StreamEndPoint_A: created\n")); -} - -// IP Multicast style connect. -CORBA::Boolean -TAO_StreamEndPoint_A::multiconnect (AVStreams::streamQoS &stream_qos, - AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPointA::multiconnect\n")); - ACE_TRY - { - int result = 0; - TAO_AV_QoS qos (stream_qos); - for (u_int i=0;i< flow_spec.length ();i++) - { - TAO_Forward_FlowSpec_Entry *forward_entry = 0; - ACE_NEW_RETURN (forward_entry, - TAO_Forward_FlowSpec_Entry, - 0); - forward_entry->parse (flow_spec[i]); - ACE_CString mcast_key (forward_entry->flowname ()); - AVStreams::FlowEndPoint_var flow_endpoint; - - // @@Naga: There is a problem in the full profile case for multiconnect. Since - // multiconnect on sep_a is called everytime a sink is added and if called for - // the same flow twice, the following code will just call add producer on the flow connection. - // It is however very hard to find out if the flow producer is already in the flow connection - // since comparing object references will not work and the flowproducer reference is - // generated by _narrow. Our only hope is that _narrow on the same fep will return the same - // pointer for the flowproducer in which case we can find out if the flowproducer exists in - // fep set for that flowconnection. - if (this->fep_map_.find (mcast_key, flow_endpoint) == 0) - { - ACE_TRY_EX (narrow) - { - AVStreams::QoS flow_qos; - result = qos.get_flow_qos (forward_entry->flowname (), flow_qos); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "QoS not found for %s\n", forward_entry->flowname ())); - // Narrow it to FlowProducer. - AVStreams::FlowProducer_var producer; - producer = AVStreams::FlowProducer::_narrow (flow_endpoint.in() ACE_ENV_ARG_PARAMETER); - // - ACE_TRY_CHECK_EX (narrow); - // Else narrow succeeeded. - if (!CORBA::is_nil (producer.in ())) - { - AVStreams::FlowConnection_var flow_connection; - ACE_TRY_EX (flow_connection) - { - if (CORBA::is_nil (this->streamctrl_.in ())) - { - CORBA::Any_var streamctrl_any; - streamctrl_any = this->get_property_value ("Related_StreamCtrl" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::StreamCtrl_ptr streamctrl; - streamctrl_any.in () >>= streamctrl; - this->streamctrl_ = AVStreams::StreamCtrl::_duplicate (streamctrl); - } - - CORBA::Object_var flow_connection_obj = - this->streamctrl_->get_flow_connection (forward_entry->flowname () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connection); - flow_connection = AVStreams::FlowConnection::_narrow (flow_connection_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connection); - } - ACE_CATCHANY - { - TAO_FlowConnection *flowConnection; - ACE_NEW_RETURN (flowConnection, - TAO_FlowConnection, - 0); - //@@ Strategize the multicast address allocation. - flowConnection->set_mcast_addr (this->mcast_addr_, this->mcast_port_); - this->mcast_port_++; - flowConnection->set_protocol (forward_entry->carrier_protocol_str ()); - flow_connection = flowConnection->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - this->streamctrl_->set_flow_connection (forward_entry->flowname (), - flow_connection.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - if (ACE_OS::strcmp (forward_entry->flow_protocol_str (), "") != 0) - { - CORBA::Any fp_settings; - flow_connection->use_flow_protocol (forward_entry->flow_protocol_str (), - fp_settings - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - result = flow_connection->add_producer (producer.in (), - flow_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (result == 0) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_StreamEndPoint_A::multiconnect: add_producer failed\n"), 0); - } - } - ACE_CATCHANY - { - // Narrow failed and since its not a flowproducer its an error. - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "FlowProducer::_narrow"); - ACE_ERROR_RETURN ((LM_ERROR, "sep_a doesn't contain a flowproducer"), 0); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - else - { - ACE_INET_Addr *mcast_addr; - TAO_FlowSpec_Entry *entry = 0; - result = this->mcast_entry_map_.find (mcast_key, entry); - if (result == 0) - { - mcast_addr = dynamic_cast (entry->address ()); - char str_addr [BUFSIZ]; - result = mcast_addr->addr_to_string (str_addr, BUFSIZ); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_StreamEndPointA::multiconnect ::addr_to_string failed\n"), 0); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint_A::multiconnect:%s\n", str_addr)); - TAO_Forward_FlowSpec_Entry new_entry (entry->flowname (), - entry->direction_str (), - entry->format (), - entry->flow_protocol_str (), - entry->carrier_protocol_str (), - entry->address ()); - flow_spec[i] = CORBA::string_dup (new_entry.entry_to_string ()); - } - else - { - - switch (forward_entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - { - ACE_NEW_RETURN (mcast_addr, - ACE_INET_Addr, - 0); - mcast_addr->set (this->mcast_port_, this->mcast_addr_.c_str ()); - this->mcast_port_++; - char buf[BUFSIZ]; - mcast_addr->addr_to_string (buf, BUFSIZ); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%s\n", buf)); - TAO_Forward_FlowSpec_Entry *new_entry; - ACE_NEW_RETURN (new_entry, - TAO_Forward_FlowSpec_Entry (forward_entry->flowname (), - forward_entry->direction_str (), - forward_entry->format (), - forward_entry->flow_protocol_str (), - forward_entry->carrier_protocol_str (), - mcast_addr), - 0); - flow_spec[i] = CORBA::string_dup (new_entry->entry_to_string ()); - //new_entry->is_multicast (1); - - this->forward_flow_spec_set.insert (new_entry); - TAO_AV_Acceptor_Registry *acceptor_registry = TAO_AV_CORE::instance ()->acceptor_registry (); - result = acceptor_registry->open (this, - TAO_AV_CORE::instance (), - this->forward_flow_spec_set); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "Acceptor_Registry::open failed\n"), 0); - result = this->mcast_entry_map_.bind (mcast_key, new_entry); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "mcast_entry::bind failed"), 0); - } - break; - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - // OUT implies we're the sink. - break; - default: - break; - } - } - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint_A::multiconnect"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -// ATM style Multicast is not supported yet. -CORBA::Boolean -TAO_StreamEndPoint_A::connect_leaf (AVStreams::StreamEndPoint_B_ptr /* the_ep */, - AVStreams::streamQoS & /* the_qos */, - const AVStreams::flowSpec & /* the_flows */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::notSupported)) -{ - ACE_THROW_RETURN (AVStreams::notSupported (), 0); -} - -// Multicast not supported yet. -void -TAO_StreamEndPoint_A::disconnect_leaf (AVStreams::StreamEndPoint_B_ptr /* the_ep */, - const AVStreams::flowSpec & /* theSpec */ - ACE_ENV_ARG_DECL) - - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::notSupported)) -{ - - ACE_THROW (AVStreams::notSupported ()); - -} - -TAO_StreamEndPoint_A::~TAO_StreamEndPoint_A (void) -{ -} - -// ---------------------------------------------------------------------- -// TAO_StreamEndPoint_B -// ---------------------------------------------------------------------- - -TAO_StreamEndPoint_B::TAO_StreamEndPoint_B (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n(%P|%t) TAO_StreamEndPoint_B::TAO_StreamEndPoint_B: created")); -} - -CORBA::Boolean -TAO_StreamEndPoint_B::multiconnect (AVStreams::streamQoS &stream_qos, - AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::FPError)) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint_B::multiconnect\n")); - ACE_TRY - { - int result = 0; - TAO_AV_QoS qos (stream_qos); - for (u_int i=0;i< flow_spec.length ();i++) - { - TAO_Forward_FlowSpec_Entry *forward_entry; - ACE_NEW_RETURN (forward_entry, - TAO_Forward_FlowSpec_Entry, - 0); - forward_entry->parse (flow_spec[i]); - ACE_CString mcast_key (forward_entry->flowname ()); - AVStreams::FlowEndPoint_var flow_endpoint; - if (this->fep_map_.find (mcast_key, flow_endpoint ) == 0) - { - AVStreams::FlowConsumer_var consumer; - ACE_TRY_EX (narrow) - { - consumer = AVStreams::FlowConsumer::_narrow (flow_endpoint.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (narrow); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "FlowConsumer::_narrow"); - ACE_ERROR_RETURN ((LM_ERROR, "sep_b doesn't contain a flowconsumer"), 0); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - AVStreams::QoS flow_qos; - result = qos.get_flow_qos (forward_entry->flowname (), flow_qos); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "QoS not found for %s", forward_entry->flowname ())); - AVStreams::FlowConnection_var flow_connection; - ACE_TRY_EX (flow_connection) - { - if (CORBA::is_nil (this->streamctrl_.in ())) - { - CORBA::Any_var streamctrl_any; - streamctrl_any = this->get_property_value ("Related_StreamCtrl" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::StreamCtrl_ptr streamctrl; - streamctrl_any.in () >>= streamctrl; - this->streamctrl_ = AVStreams::StreamCtrl::_duplicate (streamctrl); - } - CORBA::Object_var flow_connection_obj = - this->streamctrl_->get_flow_connection (forward_entry->flowname () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connection); - flow_connection = AVStreams::FlowConnection::_narrow (flow_connection_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_connection); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint_B::multiconnect::get_flow_connection"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - result = flow_connection->add_consumer (consumer.in (), - flow_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (result == 0) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_StreamEndPoint_B::multiconnect:add_consumer failed\n"), 0); - } - else - { - TAO_FlowSpec_Entry *mcast_entry = 0; - ACE_INET_Addr *mcast_addr; - mcast_addr = dynamic_cast (forward_entry->address ()); - if (mcast_addr == 0) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_StreamEndPoint_B::multiconnect::Address missing in flowspec_entry\n"), 0); - result = this->mcast_entry_map_.find (mcast_key, mcast_entry); - if (result == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "TAO_StreamEndPoint_B::multiconnect::handler already found\n"), 0); - } - else - { - switch (forward_entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - { - // IN means we're the sink. - // @@ We have to take care of this. - // result = this->make_dgram_mcast_flow_handler (mcast_dgram); - // if (result < 0) - // return 0; - - this->forward_flow_spec_set.insert (forward_entry); - TAO_AV_Connector_Registry *connector_registry = TAO_AV_CORE::instance ()->connector_registry (); - result = connector_registry->open (this, - TAO_AV_CORE::instance (), - this->forward_flow_spec_set); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "connector_registry::open failed\n"), 0); - result = this->mcast_entry_map_.bind (mcast_key, forward_entry); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "dgram_mcast_handler::bind failed"), 0); - } - break; - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - // OUT implies we're the source., which is an error. - break; - default: - break; - } - } - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_StreamEndPoint_B::multiconnect"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -TAO_StreamEndPoint_B::~TAO_StreamEndPoint_B (void) -{ -} - -// ---------------------------------------------------------------------- -// TAO_VDev -// ---------------------------------------------------------------------- - -TAO_VDev::TAO_VDev (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "(%P|%t) TAO_VDev::TAO_VDev: created\n")); -} - -// StreamCtrl will call this to give us a reference to itself, and to -// our peer vdev.. -CORBA::Boolean -TAO_VDev::set_peer (AVStreams::StreamCtrl_ptr the_ctrl, - AVStreams::VDev_ptr the_peer_dev, - AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)) -{ - ACE_UNUSED_ARG (the_qos); - ACE_UNUSED_ARG (the_spec); - - CORBA::Boolean result = 0; - ACE_TRY - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "(%P|%t) TAO_VDev::set_peer: called\n")); - - - CORBA::Any anyval; - anyval <<= the_peer_dev; - this->define_property ("Related_VDev", - anyval - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - - this->streamctrl_ = AVStreams::StreamCtrl::_duplicate (the_ctrl); - this->peer_ = AVStreams::VDev::_duplicate (the_peer_dev); - - CORBA::Any_var anyptr; - anyptr = this->peer_->get_property_value ("Related_MediaCtrl" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Object_ptr media_ctrl_obj = 0; - - anyptr.in () >>= CORBA::Any::to_object(media_ctrl_obj); - ACE_TRY_CHECK; - - result = this->set_media_ctrl (media_ctrl_obj ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_VDev::set_peer"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return result; -} - -CORBA::Boolean -TAO_VDev::set_media_ctrl (CORBA::Object_ptr media_ctrl - ACE_ENV_ARG_DECL_NOT_USED) - -{ - // since the media ctrl is not stored or used, delete it. - - CORBA::release( media_ctrl); - - return 1; -} - -// Sets the multicast VDev peer. -CORBA::Boolean -TAO_VDev::set_Mcast_peer (AVStreams::StreamCtrl_ptr /* the_ctrl */, - AVStreams::MCastConfigIf_ptr mcast_peer, - AVStreams::streamQoS &/* the_qos */, - const AVStreams::flowSpec &/* the_spec */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)) -{ - this->mcast_peer_ = AVStreams::MCastConfigIf::_duplicate (mcast_peer); - return 1; -} - -// applications should override this to handle configuration changes. -void -TAO_VDev::configure (const CosPropertyService::Property &/*the_config_mesg*/ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)) -{ -} - -// sets the media format used for the flowname as a property. -void -TAO_VDev::set_format (const char *flowName, - const char *format_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)) -{ - ACE_TRY - { - if (flowName == 0 || format_name == 0) - ACE_ERROR ((LM_ERROR, "TAO_VDev::set_format: flowName or format_name is null\n")); - char format_property [BUFSIZ]; - ACE_OS::sprintf (format_property, "%s_currFormat", flowName); - CORBA::Any format; - format <<= format_name; - this->define_property (format_property, - format - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_VDev::set_format"); - return; - } - ACE_ENDTRY; - ACE_CHECK; - return; -} - -// sets the device parameters for the flowname as a property. -void -TAO_VDev::set_dev_params (const char *flowName, - const CosPropertyService::Properties &new_params - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)) -{ - ACE_TRY - { - if (flowName == 0) - ACE_ERROR ((LM_ERROR, "TAO_VDev::set_dev_params:flowName is null\n")); - char devParams_property[BUFSIZ]; - ACE_OS::sprintf (devParams_property, "%s_devParams", flowName); - CORBA::Any devParams; - devParams <<= new_params; - this->define_property (devParams_property, - devParams - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_VDev::set_dev_params"); - return; - } - ACE_ENDTRY; - ACE_CHECK; - return; -} - -// QoS Modification should be handled by the application currently. -CORBA::Boolean -TAO_VDev::modify_QoS (AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &flowspec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_VDev::modify_QoS\n")); - - if (flowspec.length () != 0) - { - TAO_Forward_FlowSpec_Entry entry; - entry.parse (flowspec [0]); - int direction = entry.direction (); - if (direction == 0) - { - AVStreams::StreamEndPoint_A_ptr sep_a; - - CORBA::Any_ptr streamendpoint_a_any = - this->get_property_value ("Related_StreamEndpoint" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - *streamendpoint_a_any >>= sep_a; - if (sep_a != 0) - { - sep_a->modify_QoS (the_qos, flowspec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else ACE_DEBUG ((LM_DEBUG, - "Stream EndPoint Not Found\n")); - } - else - { - AVStreams::StreamEndPoint_B_ptr sep_b; - - CORBA::Any_ptr streamendpoint_b_any = - this->get_property_value ("Related_StreamEndpoint" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - *streamendpoint_b_any >>= sep_b; - sep_b->modify_QoS (the_qos, flowspec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - return 1; -} - -TAO_VDev::~TAO_VDev (void) -{ -} - -// ---------------------------------------------------------------------- -// TAO_MMDevice -// ---------------------------------------------------------------------- - - -TAO_MMDevice::TAO_MMDevice (TAO_AV_Endpoint_Strategy *endpoint_strategy) - : endpoint_strategy_ (endpoint_strategy), - flow_count_ (0), - flow_num_ (0), - stream_ctrl_ (0) -{ -} - -// create a streamctrl which is colocated with me, use that streamctrl -// to bind the peer_device with me. -AVStreams::StreamCtrl_ptr -TAO_MMDevice::bind (AVStreams::MMDevice_ptr peer_device, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out is_met, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - AVStreams::StreamCtrl_ptr streamctrl (AVStreams::StreamCtrl::_nil ()); - ACE_TRY - { - ACE_UNUSED_ARG (is_met); - ACE_NEW_RETURN (this->stream_ctrl_, - TAO_StreamCtrl, - 0); - AVStreams::MMDevice_var mmdevice = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - this->stream_ctrl_->bind_devs (peer_device, - mmdevice.in (), - the_qos, - the_spec - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - streamctrl = this->stream_ctrl_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::bind"); - return streamctrl; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (streamctrl); - return streamctrl; -} - -// Multicast is not supported yet. -AVStreams::StreamCtrl_ptr -TAO_MMDevice::bind_mcast (AVStreams::MMDevice_ptr first_peer, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out is_met, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)) -{ - ACE_UNUSED_ARG (first_peer); - ACE_UNUSED_ARG (the_qos); - ACE_UNUSED_ARG (is_met); - ACE_UNUSED_ARG (the_spec); - - return 0; -} - -AVStreams::StreamEndPoint_ptr -TAO_MMDevice::create_A_B (MMDevice_Type type, - AVStreams::StreamCtrl_ptr streamctrl, - AVStreams::VDev_out the_vdev, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out met_qos, - char *&/*named_vdev*/, - const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) -{ - AVStreams::StreamEndPoint_A_ptr sep_a (AVStreams::StreamEndPoint_A::_nil ()); - AVStreams::StreamEndPoint_B_ptr sep_b (AVStreams::StreamEndPoint_B::_nil ()); - AVStreams::StreamEndPoint_ptr sep (AVStreams::StreamEndPoint::_nil ()); - ACE_TRY - { - switch (type) - { - case MMDEVICE_A: - { - if (this->endpoint_strategy_->create_A (sep_a, - the_vdev - ACE_ENV_ARG_PARAMETER) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_MMDevice::create_A_B (%P|%t) - " - "error in create_A\n"), - 0); - sep = sep_a; - } - break; - case MMDEVICE_B: - { - if (this->endpoint_strategy_->create_B (sep_b, - the_vdev - ACE_ENV_ARG_PARAMETER) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_MMDevice::create_A_B (%P|%t) - " - "error in create_B\n"), - 0); - sep = sep_b; - } - break; - default: - break; - } - ACE_TRY_CHECK; - if (this->fdev_map_.current_size () > 0) - { - TAO_AV_QoS qos (the_qos); - // create flowendpoints from the FDevs. - for (u_int i=0;iget_flow_connection (forward_entry.flowname () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flowconnection); - printf("successfully called get_flow_connection\n"); - if (!CORBA::is_nil (flowconnection_obj.in ())) - { - flowconnection = AVStreams::FlowConnection::_narrow (flowconnection_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flowconnection); - } - } - ACE_CATCH(AVStreams::noSuchFlow, nsf) - { - TAO_FlowConnection *flowConnection; - ACE_NEW_RETURN (flowConnection, - TAO_FlowConnection, - 0); - flowconnection = flowConnection->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - streamctrl->set_flow_connection (forward_entry.flowname(), - flowconnection.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - //if (TAO_debug_level >= 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::create_a::get_flow_connection"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - int result = this->fdev_map_.find (flow_key, flow_dev); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "(%N,%l) fdev_map::find failed\n"), 0); - - CORBA::String_var named_fdev; - AVStreams::FlowEndPoint_var flow_endpoint; - AVStreams::QoS flow_qos; - result = qos.get_flow_qos (forward_entry.flowname (), flow_qos); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "(%N,%l) get_flow_qos failed for %s\n", forward_entry.flowname ())); - switch (forward_entry.direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - { - switch (type) - { - case MMDEVICE_A: - { - // In implies flow is from A to B and - // hence A is the producer for this flow and B is the consumer for this flow. - // We have to create a producer from the FDev for this flow. - flow_endpoint = - flow_dev->create_producer (flowconnection.in (), - flow_qos, - met_qos, - named_fdev.inout () - ACE_ENV_ARG_PARAMETER); - } - break; - case MMDEVICE_B: - { - flow_endpoint = - flow_dev->create_consumer (flowconnection.in (), - flow_qos, - met_qos, - named_fdev.inout () - ACE_ENV_ARG_PARAMETER); - } - break; - } - ACE_TRY_CHECK; - } - break; - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - { - switch (type) - { - case MMDEVICE_A: - { - // OUT implies flow is from B to A and - // hence B is the producer for this flow and A is the consumer for this flow. - // We have to create a consumer from the FDev for this flow. - flow_endpoint = - flow_dev->create_consumer (flowconnection.in (), - flow_qos, - met_qos, - named_fdev.inout () - ACE_ENV_ARG_PARAMETER); - } - break; - case MMDEVICE_B: - { - // In implies flow is from A to B and - // hence A is the producer for this flow and B is the consumer for this flow. - // We have to create a producer from the FDev for this flow. - flow_endpoint = - flow_dev->create_producer (flowconnection.in (), - flow_qos, - met_qos, - named_fdev.inout () - ACE_ENV_ARG_PARAMETER); - } - break; - } - ACE_TRY_CHECK; - } - break; - default: - break; - } - CORBA::Any flowname_any; - flowname_any <<= forward_entry.flowname (); - flow_endpoint->define_property ("FlowName", flowname_any ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - sep->add_fep (flow_endpoint.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::create_A"); - return sep; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (sep); - return sep; -} - -AVStreams::StreamEndPoint_A_ptr -TAO_MMDevice::create_A (AVStreams::StreamCtrl_ptr streamctrl, - AVStreams::VDev_out the_vdev, - AVStreams::streamQoS &stream_qos, - CORBA::Boolean_out met_qos, - char *&named_vdev, - const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed, - AVStreams::noSuchFlow)) -{ - AVStreams::StreamEndPoint_A_ptr sep_a = 0; - AVStreams::StreamEndPoint_var sep; - ACE_TRY - { - sep = this->create_A_B (MMDEVICE_A, streamctrl, the_vdev, stream_qos, met_qos, named_vdev, flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - sep_a = AVStreams::StreamEndPoint_A::_narrow (sep.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_ASSERT( !CORBA::is_nil( sep_a ) ); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::create_A"); - return sep_a; - } - ACE_ENDTRY; - - return sep_a; -} - - -AVStreams::StreamEndPoint_B_ptr -TAO_MMDevice::create_B (AVStreams::StreamCtrl_ptr streamctrl, - AVStreams::VDev_out the_vdev, - AVStreams::streamQoS &stream_qos, - CORBA::Boolean_out met_qos, - char *&named_vdev, - const AVStreams::flowSpec &flow_spec - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed, - AVStreams::noSuchFlow)) -{ - AVStreams::StreamEndPoint_B_ptr sep_b = AVStreams::StreamEndPoint_B::_nil (); - AVStreams::StreamEndPoint_var sep; - - ACE_TRY - { - sep = this->create_A_B (MMDEVICE_B, streamctrl, the_vdev, stream_qos, met_qos, named_vdev, flow_spec ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - sep_b = AVStreams::StreamEndPoint_B::_narrow (sep.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_ASSERT ( !CORBA::is_nil( sep_b ) ); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::create_B"); - return sep_b; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (sep_b); - return sep_b; -} - - -// destroys the streamendpoint and the Vdev. -void -TAO_MMDevice::destroy (AVStreams::StreamEndPoint_ptr /* the_ep */, - const char * /* vdev_name */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)) -{ - // Remove self from POA. Because of reference counting, the POA - // will automatically delete the servant when all pending requests - // on this servant are complete. - int result = TAO_AV_Core::deactivate_servant (this); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_MMDevice::destroy failed\n")); -} - -char * -TAO_MMDevice::add_fdev_i (AVStreams::FDev_ptr fdev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)) -{ - char* tmp; - ACE_NEW_RETURN (tmp, - char[64], - 0); - CORBA::String_var flow_name = tmp; - - ACE_TRY - { - // exception implies the flow name is not defined and is system - // generated. - ACE_OS::sprintf (tmp, "flow%d", flow_num_++); - CORBA::Any flowname_any; - flowname_any <<= flow_name.in (); - fdev->define_property ("Flow", flowname_any ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::add_fdev"); - return 0; - } - ACE_ENDTRY; - return flow_name._retn (); -} - -// Adds the fdev object to the MMDevice. -char * -TAO_MMDevice::add_fdev (CORBA::Object_ptr fdev_obj - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)) -{ - CORBA::String_var flow_name; - AVStreams::FDev_var fdev; - ACE_TRY_EX (flow_name) - { - CORBA::Any_ptr flow_name_any; - fdev = AVStreams::FDev::_narrow (fdev_obj ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_name); - - if (CORBA::is_nil (fdev.in ())) - return 0; - - - flow_name_any = fdev->get_property_value ("Flow" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flow_name); - - const char *tmp; - *flow_name_any >>= tmp; - flow_name = CORBA::string_dup (tmp); - } - ACE_CATCHANY - { - flow_name = - this->add_fdev_i (fdev.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - - // Add it to the sequence of flowNames supported. - // put the flowname and the fdev in a hashtable. - ACE_CString fdev_name_key ( flow_name.in () ); - - - if ( (this->fdev_map_.bind (fdev_name_key, fdev )) != 0) - ACE_THROW_RETURN (AVStreams::streamOpFailed (), 0); - // increment the flow count. - this->flow_count_++; - this->flows_.length (this->flow_count_); - this->flows_ [this->flow_count_-1] = flow_name; - // define/modify the "Flows" property. - CORBA::Any flows_any; - flows_any <<= this->flows_; - ACE_TRY_EX (flows) - { - this->define_property ("Flows", - flows_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (flows); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::add_fdev"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return flow_name._retn (); -} - -// Gets the FDev object associated with this flow. -CORBA::Object_ptr -TAO_MMDevice::get_fdev (const char *flow_name - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::noSuchFlow)) -{ - - ACE_CString fdev_name_key (flow_name); - AVStreams::FDev_var fdev_entry; - if (this->fdev_map_.find (fdev_name_key, fdev_entry) == 0) - return fdev_entry._retn() ; - return 0; -} - -// Removes the fdev from this MMDevice. -void -TAO_MMDevice::remove_fdev (const char *flow_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::noSuchFlow, - AVStreams::streamOpFailed)) -{ - ACE_TRY - { - ACE_CString fdev_name_key (flow_name); - AVStreams::FDev_var fdev_entry; - // Remove the fep from the hash table. - if (this->fdev_map_.unbind (fdev_name_key, fdev_entry)!= 0) - ACE_THROW (AVStreams::streamOpFailed ()); - - AVStreams::flowSpec new_flows (this->flows_.length ()); - for (u_int i=0, j=0 ; i flows_.length (); i++) - if (ACE_OS::strcmp (flow_name, this->flows_[i]) != 0) - new_flows[j++] = this->flows_[i]; - - CORBA::Any flows; - flows <<= new_flows; - this->flows_ = new_flows; - this->define_property ("Flows", - flows - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::remove_fdev"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -// destructor. -TAO_MMDevice::~TAO_MMDevice (void) -{ - delete this->stream_ctrl_; -} - -//------------------------------------------------------------------ -// TAO_FlowConnection -//------------------------------------------------------------------ - -// default constructor. -TAO_FlowConnection::TAO_FlowConnection (void) - :fp_name_ (CORBA::string_dup ("")), - ip_multicast_ (0) -{ -} - -// int -// TAO_FlowConnection::set_mcast_addr (ACE_UINT32 mcast_addr, u_short mcast_port) -// { -// this->mcast_addr_ = mcast_addr; -// this->mcast_port_ = mcast_port; -// return 0; -// } - -int -TAO_FlowConnection::set_mcast_addr (ACE_CString mcast_addr, u_short mcast_port) -{ - this->mcast_addr_ = mcast_addr; - this->mcast_port_ = mcast_port; - return 0; -} - -void -TAO_FlowConnection::set_protocol (const char *protocol) -{ - this->protocol_ = protocol; -} - -// stop this flow. -void -TAO_FlowConnection::stop (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin - (); - for (FlowProducer_SetItor producer_end = - this->flow_producer_set_.end (); - producer_begin != producer_end; ++producer_begin) - { - (*producer_begin)->stop (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin - (); - for (FlowConsumer_SetItor consumer_end = - this->flow_consumer_set_.end (); - consumer_begin != consumer_end; ++consumer_begin) - { - (*consumer_begin)->stop (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::stop"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// start this flow. -void -TAO_FlowConnection::start (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin - (); - for (FlowConsumer_SetItor consumer_end = - this->flow_consumer_set_.end (); - consumer_begin != consumer_end; ++consumer_begin) - { - (*consumer_begin)->start (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin - (); - for (FlowProducer_SetItor producer_end = - this->flow_producer_set_.end (); - producer_begin != producer_end; ++producer_begin) - { - (*producer_begin)->start (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::start"); - return; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// destroy this flow. -void -TAO_FlowConnection::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin - (); - for (FlowProducer_SetItor producer_end = - this->flow_producer_set_.end (); - producer_begin != producer_end; ++producer_begin) - { - (*producer_begin)->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin - (); - for (FlowConsumer_SetItor consumer_end = - this->flow_consumer_set_.end (); - consumer_begin != consumer_end; ++consumer_begin) - { - (*consumer_begin)->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::destroy"); - return; - } - ACE_ENDTRY; - ACE_CHECK; - int result = TAO_AV_Core::deactivate_servant (this); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_FlowConnection::destroy failed\n")); -} - -// modify the QoS for this flow. -CORBA::Boolean -TAO_FlowConnection::modify_QoS (AVStreams::QoS & new_qos - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed)) -{ - ACE_UNUSED_ARG (new_qos); - return 0; -} - -// use the specified flow protocol for this flow. -CORBA::Boolean -TAO_FlowConnection::use_flow_protocol (const char * fp_name, - const CORBA::Any & fp_settings - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::FPError, - AVStreams::notSupported)) -{ - this->fp_name_ = fp_name; - this->fp_settings_ = fp_settings; - FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin - (); - for (FlowProducer_SetItor producer_end = - this->flow_producer_set_.end (); - producer_begin != producer_end; ++producer_begin) - { - (*producer_begin)->use_flow_protocol - (fp_name, fp_settings ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin - (); - for (FlowConsumer_SetItor consumer_end = - this->flow_consumer_set_.end (); - consumer_begin != consumer_end; ++consumer_begin) - { - (*consumer_begin)->use_flow_protocol - (fp_name, fp_settings ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return 1; -} - -void -TAO_FlowConnection::push_event (const AVStreams::streamEvent & the_event - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_UNUSED_ARG (the_event); -} - -CORBA::Boolean -TAO_FlowConnection::connect_devs (AVStreams::FDev_ptr a_party, - AVStreams::FDev_ptr b_party, - AVStreams::QoS & flow_qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::QoSRequestFailed)) -{ - CORBA::Boolean result = 0; - ACE_TRY - { - AVStreams::FlowConnection_var flowconnection = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - CORBA::Boolean met_qos; - CORBA::String_var named_fdev ((const char *)""); - AVStreams::FlowProducer_var producer = - a_party->create_producer (flowconnection.in (), - flow_qos, - met_qos, - named_fdev.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::FlowConsumer_var consumer = - b_party->create_consumer (flowconnection.in (), - flow_qos, - met_qos, - named_fdev.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = this->connect (producer.in (), - consumer.in (), - flow_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::connect_devs"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return result; -} - -// connect the producer and the consumer -CORBA::Boolean -TAO_FlowConnection::connect (AVStreams::FlowProducer_ptr producer, - AVStreams::FlowConsumer_ptr consumer, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::formatMismatch, - AVStreams::FEPMismatch, - AVStreams::alreadyConnected)) -{ - ACE_TRY - { - - AVStreams::FlowProducer_ptr flow_producer = - AVStreams::FlowProducer::_duplicate (producer); - AVStreams::FlowConsumer_ptr flow_consumer = - AVStreams::FlowConsumer::_duplicate (consumer); - - this->flow_producer_set_.insert (flow_producer); - this->flow_consumer_set_.insert (flow_consumer); - AVStreams::FlowConnection_var flowconnection = - this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - flow_producer->set_peer (flowconnection.in (), - flow_consumer, - the_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - flow_consumer->set_peer (flowconnection.in (), - flow_producer, - the_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - char *consumer_address = - flow_consumer->go_to_listen (the_qos, - 0, // false for is_mcast - flow_producer, - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (ACE_OS::strcmp (consumer_address, "") == 0) - { - // Consumer is not willing to listen, so try the producer. - consumer_address = flow_producer->go_to_listen (the_qos, - 0, // false for is_mcast - flow_consumer, - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - flow_consumer->connect_to_peer (the_qos, - consumer_address, - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - // @@ Naga: We have to find means to set the reverse channel for the producer. - // Its broken in the point-to_point case for UDP. - } - else - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_FlowConnection::connect_to_peer addres: %s", consumer_address)); - flow_producer->connect_to_peer (the_qos, - consumer_address, - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::connect"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - - -CORBA::Boolean -TAO_FlowConnection::disconnect (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return 0; -} - -CORBA::Boolean -TAO_FlowConnection::add_producer (AVStreams::FlowProducer_ptr producer, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::alreadyConnected, - AVStreams::notSupported)) -{ - ACE_TRY - { - AVStreams::FlowProducer_ptr flow_producer = - AVStreams::FlowProducer::_duplicate (producer); - // @@Naga:Sometimes the same producer could be added with a different object reference. - // There's no portable way of comparing obj refs. but we have to do this till we find - // a permanent solution.For eg. 2 different flowproducers for the same flow in a - // Multipoint to Multipoint binding will have the same flowname and hence cannot be - // used for resolving ties. - FlowProducer_SetItor begin = this->flow_producer_set_.begin (); - FlowProducer_SetItor end = this->flow_producer_set_.end (); - for (; begin != end; ++begin) - { - if ((*begin)->_is_equivalent (producer - ACE_ENV_ARG_PARAMETER)) - // producer exists in the set, a duplicate. - ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_producer: producer already exists\n"), 1); - } - // We need to check the return value of the insert into the flow producer - // set, since multiconnect could be called many times which will lead to - // a call to add_producer every time a sink is added. If the producer is already - // present in our list we just return immediately. - int result = this->flow_producer_set_.insert (flow_producer); - if (result == 1) - { - // producer exists in the set, a duplicate. - ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_producer: producer already exists\n"), 1); - } - CORBA::Boolean met_qos; - char mcast_address[BUFSIZ]; - if (this->producer_address_.in () == 0) - { - ACE_INET_Addr mcast_addr; - mcast_addr.set (this->mcast_port_, - this->mcast_addr_.c_str () - ); - - char buf [BUFSIZ]; - mcast_addr.addr_to_string (buf, BUFSIZ); - ACE_OS::sprintf (mcast_address, "%s=%s", this->protocol_.in (), buf); - } - else - { - ACE_OS::strcpy (mcast_address, this->producer_address_.in ()); - } - char *address = flow_producer->connect_mcast (the_qos, - met_qos, - mcast_address, - this->fp_name_.in () - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - if (this->producer_address_.in () == 0) - { - TAO_Forward_FlowSpec_Entry entry ("", "", "", "", address); - if (entry.address () != 0) - { - // Internet multicasting is in use. - this->producer_address_ = address; - } - else - { - // ATM Multicasting is in use. - this->ip_multicast_ = 0; - } - } - // set the multicast peer. - if (CORBA::is_nil (this->mcastconfigif_.in ())) - { - ACE_NEW_RETURN (this->mcastconfigif_i_, - TAO_MCastConfigIf, - 0); - this->mcastconfigif_ = this->mcastconfigif_i_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - AVStreams::FlowConnection_var flowconnection = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - flow_producer->set_Mcast_peer (flowconnection.in (), - this->mcastconfigif_.in (), - the_qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::add_producer"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -CORBA::Boolean -TAO_FlowConnection::add_consumer (AVStreams::FlowConsumer_ptr consumer, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::alreadyConnected)) -{ - ACE_TRY - { - AVStreams::FlowConsumer_ptr flow_consumer = - AVStreams::FlowConsumer::_duplicate (consumer); - FlowConsumer_SetItor begin = this->flow_consumer_set_.begin (); - FlowConsumer_SetItor end = this->flow_consumer_set_.end (); - for (; begin != end; ++begin) - { - if ((*begin)->_is_equivalent (consumer - ACE_ENV_ARG_PARAMETER)) - // Consumer exists in the set, a duplicate. - ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_Consumer: Consumer already exists\n"), 1); - } - int result = this->flow_consumer_set_.insert (flow_consumer); - if (result == 1) - { - // consumer exists in the set, a duplicate. - ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_consumer: consumer already exists\n"), 1); - } - - FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin (); - // @@Lets take that the first entry as the only producer. We're - // not sure if we can have multiple flow producers in a - // flowconnection. We can have multiple producer in the MtM binding, - // in which case the first producer that gets added is the leader. - AVStreams::FlowProducer_ptr flow_producer = (*producer_begin); - - AVStreams::protocolSpec protocols (1); - protocols.length (1); - protocols [0] = CORBA::string_dup (this->producer_address_.in ()); - - if (!this->ip_multicast_) - { - flow_consumer->set_protocol_restriction (protocols - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - char * address = - flow_consumer->go_to_listen (the_qos, - 1, - flow_producer, - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - CORBA::Boolean is_met; - flow_producer->connect_mcast (the_qos, - is_met, - address, - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - else - { - // The spec says go_to_listen is called with the multicast - // address returned from the connect_mcast call called - // during add_producer. But go_to_listen doesn't have a - // address parameter. I guess it should be connect_to_peer. - // IP Multicasting. - flow_consumer->connect_to_peer (the_qos, - this->producer_address_.in (), - this->fp_name_.inout () - ACE_ENV_ARG_PARAMETER); - - // char * address = - // flow_consumer->go_to_listen (the_qos, - // 1, - // flow_producer, - // this->fp_name_.inout () - // ACE_ENV_ARG_PARAMETER); - - // ACE_TRY_CHECK; - } - if (CORBA::is_nil (this->mcastconfigif_.in ())) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_FlowConnection::add_consumer: first add a producer and then a consumer\n"), 0); - // @@ Is this the right place to do set_peer? - AVStreams::flowSpec flow_spec; - AVStreams::streamQoS stream_qos (1); - stream_qos.length (1); - stream_qos [0] = the_qos; - this->mcastconfigif_->set_peer (flow_consumer, - stream_qos, - flow_spec - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowConnection::add_consumer"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -CORBA::Boolean -TAO_FlowConnection::drop (AVStreams::FlowEndPoint_ptr target - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notConnected)) -{ - ACE_UNUSED_ARG (target); - return 0; -} - -// ----------------------------------------------------------------- -// TAO_FlowEndPoint -// ----------------------------------------------------------------- - -//default constructor. -TAO_FlowEndPoint::TAO_FlowEndPoint (void) - :lock_ (0) -{ -} - -TAO_FlowEndPoint::TAO_FlowEndPoint (const char *flowname, - AVStreams::protocolSpec &protocols, - const char *format) -{ - this->open (flowname, protocols, format); -} - -void -TAO_FlowEndPoint::set_flow_handler (const char * /*flowname*/, - TAO_AV_Flow_Handler * /*handler*/) -{ -} - -int -TAO_FlowEndPoint::open (const char *flowname, - AVStreams::protocolSpec &protocols, - const char *format) -{ - this->flowname_ = flowname; - this->format_ = format; - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_FlowEndPoint::open\n")); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::Any flowname_any; - flowname_any <<= flowname; - this->define_property ("FlowName", - flowname_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->set_format (format - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->protocol_addresses_ = protocols; - AVStreams::protocolSpec protocol_spec (protocols.length ()); - protocol_spec.length (protocols.length ()); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); - for (u_int i=0;i 0) - ACE_DEBUG ((LM_DEBUG, - "[%s]\n", - static_cast(protocol_spec[i]))); - } - this->set_protocol_restriction (protocol_spec - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowEndPoint::open"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - - -int -TAO_FlowEndPoint::set_flowname (const char *flowname) -{ - this->flowname_ = flowname; - return 0; -} - -// used by one flowconnection so that multiple connections cant use -// the same flowendpoint. -CORBA::Boolean -TAO_FlowEndPoint::lock (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // lock the current flowendpoint - - if (this->lock_) - return 0; - this->lock_ = 1; - return 1; -} - -// unlocks the flowendpoint , becomes free to be used in another flow. -void -TAO_FlowEndPoint::unlock (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->lock_ = 0; -} - - -void -TAO_FlowEndPoint::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - int result = TAO_AV_Core::deactivate_servant (this); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::destroy failed\n")); - TAO_AV_FlowSpecSetItor end = this->flow_spec_set_.end (); - for (TAO_AV_FlowSpecSetItor begin = this->flow_spec_set_.begin (); - begin != end; ++begin) - (*begin)->protocol_object ()->destroy (); -} - -AVStreams::StreamEndPoint_ptr -TAO_FlowEndPoint::related_sep (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - - return AVStreams::StreamEndPoint::_duplicate (this->related_sep_.in ()); -} - -void -TAO_FlowEndPoint::related_sep (AVStreams::StreamEndPoint_ptr related_sep - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->related_sep_ = AVStreams::StreamEndPoint::_duplicate (related_sep); -} - -AVStreams::FlowConnection_ptr -TAO_FlowEndPoint::related_flow_connection (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return AVStreams::FlowConnection::_duplicate (this->related_flow_connection_.in ()); -} - -void -TAO_FlowEndPoint::related_flow_connection (AVStreams::FlowConnection_ptr related_flow_connection - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->related_flow_connection_ = AVStreams::FlowConnection::_duplicate (related_flow_connection); -} - -// returns the connected peer for this flow -AVStreams::FlowEndPoint_ptr -TAO_FlowEndPoint::get_connected_fep (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notConnected, - AVStreams::notSupported)) -{ - return AVStreams::FlowEndPoint::_duplicate (this->peer_fep_.in ()); -} - -CORBA::Boolean -TAO_FlowEndPoint::use_flow_protocol (const char * fp_name, - const CORBA::Any & - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::FPError, - AVStreams::notSupported)) -{ - ACE_TRY - { - // Define the property called FlowProtocol - CORBA::Any flowname_property; - flowname_property <<= fp_name; - this->define_property ("FlowProtocol", - flowname_property - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowEndPoint::use_flow_protocol"); - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - return 1; -} - -void -TAO_FlowEndPoint::set_format (const char * format - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)) -{ - this->format_ = format; - ACE_TRY - { - // make this a property so that is_fep_compatible can query this and - // check if 2 flowendpoints are compatible. - CORBA::Any format_val; - format_val <<= format; - this->define_property ("Format", - format_val - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowEndpoint::set_format"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -void -TAO_FlowEndPoint::set_dev_params (const CosPropertyService::Properties & new_settings - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)) -{ - this->dev_params_ = new_settings; - ACE_TRY - { - CORBA::Any DevParams_property; - DevParams_property <<= new_settings; - this->define_property ("DevParams", - DevParams_property - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowEndPoint::set_dev_params"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -void -TAO_FlowEndPoint::set_protocol_restriction (const AVStreams::protocolSpec & protocols - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)) -{ - ACE_TRY - { - u_int i = 0; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); - for (i=0;i 0) ACE_DEBUG ((LM_DEBUG, "%s\n", protocol)); - } - CORBA::Any AvailableProtocols_property; - AvailableProtocols_property <<= protocols; - this->define_property ("AvailableProtocols", - AvailableProtocols_property - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AVStreams::protocolSpec *temp_spec; - CORBA::Any_var temp_any = this->get_property_value ("AvailableProtocols" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - temp_any.in () >>= temp_spec; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); - for (i=0;ilength ();i++) - { - const char *protocol = (*temp_spec)[i]; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%s\n", protocol)); - } - this->protocols_ = protocols; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowEndpoint::set_protocol_restriction"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -CORBA::Boolean -TAO_FlowEndPoint::is_fep_compatible (AVStreams::FlowEndPoint_ptr peer_fep - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::formatMismatch, - AVStreams::deviceQosMismatch)) -{ - const char *exception_message = ""; - ACE_TRY - { - // check whether the passed flowendpoint is compatible with this flowendpoint. - // should we check for the availableFormats and choose one format. - // get my format value - CORBA::Any_var format_ptr; - CORBA::String_var my_format, peer_format; - - exception_message = "TAO_FlowEndPoint::is_fep_compatible - Format"; - format_ptr = this->get_property_value ("Format" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - const char *temp_format; - format_ptr.in () >>= temp_format; - my_format = CORBA::string_dup (temp_format); - // get my peer's format value - exception_message = "TAO_FlowEndPoint::is_fep_compatible - Format[2]"; - format_ptr = peer_fep->get_property_value ("Format" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - format_ptr.in () >>= temp_format; - peer_format = CORBA::string_dup (temp_format); - if (ACE_OS::strcmp (my_format.in (), - peer_format.in ()) != 0) - return 0; - - // since formats are same, check for a common protocol - CORBA::Any_var AvailableProtocols_ptr; - AVStreams::protocolSpec my_protocol_spec, peer_protocol_spec; - AVStreams::protocolSpec *temp_protocols;; - - exception_message = - "TAO_FlowEndPoint::is_fep_compatible - AvailableProtocols"; - AvailableProtocols_ptr = this->get_property_value ("AvailableProtocols" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AvailableProtocols_ptr.in () >>= temp_protocols; - my_protocol_spec = *temp_protocols; - - exception_message = - "TAO_FlowEndPoint::is_fep_compatible - AvailableProtocols[2]"; - AvailableProtocols_ptr = peer_fep->get_property_value ("AvailableProtocols" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - AvailableProtocols_ptr.in () >>= temp_protocols; - peer_protocol_spec = *temp_protocols; - - int protocol_match = 0; - for (u_int i=0;ipeer_fep_ = - AVStreams::FlowEndPoint::_duplicate (the_peer_fep); - return 1; -} - -CORBA::Boolean -TAO_FlowEndPoint::set_Mcast_peer (AVStreams::FlowConnection_ptr /* the_fc */, - AVStreams::MCastConfigIf_ptr mcast_peer, - AVStreams::QoS & /* the_qos */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed)) -{ - this->mcast_peer_ = AVStreams::MCastConfigIf::_duplicate (mcast_peer); - return 0; -} - -char * -TAO_FlowEndPoint::go_to_listen_i (TAO_FlowSpec_Entry::Role role, - AVStreams::QoS & /*the_qos*/, - CORBA::Boolean /*is_mcast*/, - AVStreams::FlowEndPoint_ptr peer_fep, - char *& flowProtocol - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - char direction [BUFSIZ]; - switch (role) - { - case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: - ACE_OS::strcpy (direction, "IN"); - break; - case TAO_FlowSpec_Entry::TAO_AV_CONSUMER: - ACE_OS::strcpy (direction, "OUT"); - break; - default: - break; - } - AVStreams::protocolSpec my_protocol_spec, peer_protocol_spec; - AVStreams::protocolSpec *temp_protocols; - CORBA::Any_var AvailableProtocols_ptr = - peer_fep->get_property_value ("AvailableProtocols" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - AvailableProtocols_ptr.in () >>= temp_protocols; - peer_protocol_spec = *temp_protocols; - AvailableProtocols_ptr = - this->get_property_value ("AvailableProtocols" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - AvailableProtocols_ptr.in () >>= temp_protocols; - my_protocol_spec = *temp_protocols; - int protocol_match = 0; - CORBA::String_var listen_protocol; - u_int i =0; - for (i=0;iprotocol_addresses_.length ();j++) - if (ACE_OS::strncmp (this->protocol_addresses_ [j], listen_protocol.in (), ACE_OS::strlen (listen_protocol.in ())) == 0) - { - // Now listen on that protocol. - TAO_Forward_FlowSpec_Entry *entry; - ACE_NEW_RETURN (entry, - TAO_Forward_FlowSpec_Entry (this->flowname_.in (), - direction, - this->format_.in (), - flowProtocol, - this->protocol_addresses_ [j]), - 0); - - TAO_AV_Acceptor_Registry *acceptor_registry = TAO_AV_CORE::instance ()->acceptor_registry (); - this->flow_spec_set_.insert (entry); - int result = acceptor_registry->open (this, - TAO_AV_CORE::instance (), - this->flow_spec_set_); - if (result < 0) - return 0; - char *listen_address = entry->get_local_addr_str (); - char *address; - ACE_NEW_RETURN (address, - char [BUFSIZ], - 0); - ACE_OS::sprintf (address, "%s=%s", listen_protocol.in (), listen_address); - return address; - } - return 0; -} - - -CORBA::Boolean -TAO_FlowEndPoint::connect_to_peer_i (TAO_FlowSpec_Entry::Role role, - AVStreams::QoS & /*the_qos*/, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - char direction [BUFSIZ]; - switch (role) - { - case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: - ACE_OS::strcpy (direction, "IN"); - break; - case TAO_FlowSpec_Entry::TAO_AV_CONSUMER: - ACE_OS::strcpy (direction, "OUT"); - break; - default: - break; - } - TAO_Forward_FlowSpec_Entry *entry; - ACE_NEW_RETURN (entry, - TAO_Forward_FlowSpec_Entry (this->flowname_.in (), - direction, - this->format_.in (), - use_flow_protocol, - address), - 0); - this->flow_spec_set_.insert (entry); - TAO_AV_Connector_Registry *connector_registry = TAO_AV_CORE::instance ()->connector_registry (); - int result = connector_registry->open (this, - TAO_AV_CORE::instance (), - this->flow_spec_set_); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_FlowEndPoint::connector_registry::open failed\n"), 0); - this->reverse_channel_ = entry->get_local_addr_str (); - return 1; -} - -int -TAO_FlowEndPoint::set_protocol_object (const char * /*flowname*/, - TAO_AV_Protocol_Object * /*object*/) -{ - return 0; -} - - -// ------------------------------------------------------------ -// TAO_FlowProducer class -// ------------------------------------------------------------ - -//default constructor -TAO_FlowProducer::TAO_FlowProducer (void) -{ -} - -TAO_FlowProducer::TAO_FlowProducer (const char *flowname, - AVStreams::protocolSpec protocols, - const char *format) -{ - this->open (flowname, protocols, format); -} - -// gets the reverse channel for feedback. -char * -TAO_FlowProducer::get_rev_channel (const char * /*pcol_name*/ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return 0; -} - -// The start, stop and destroy are to be handled by the application. -void -TAO_FlowProducer::stop (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_AV_FlowSpecSetItor end = this->flow_spec_set_.end (); - for (TAO_AV_FlowSpecSetItor begin = this->flow_spec_set_.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = (*begin); - entry->handler ()->stop (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - } -} - -void -TAO_FlowProducer::start (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_AV_FlowSpecSetItor end = this->flow_spec_set_.end (); - for (TAO_AV_FlowSpecSetItor begin = this->flow_spec_set_.begin (); - begin != end; ++begin) - { - TAO_FlowSpec_Entry *entry = (*begin); - if (entry->handler () != 0) - { - entry->handler ()->start (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - } - if (entry->control_handler () != 0) - { - entry->control_handler ()->start (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - } - } -} - -char * -TAO_FlowProducer::go_to_listen (AVStreams::QoS & the_qos, - CORBA::Boolean is_mcast, - AVStreams::FlowEndPoint_ptr peer_fep, - char *& flowProtocol - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - return this->go_to_listen_i (TAO_FlowSpec_Entry::TAO_AV_PRODUCER, - the_qos, - is_mcast, - peer_fep, - flowProtocol - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_FlowProducer::connect_to_peer (AVStreams::QoS & the_qos, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - return this->connect_to_peer_i (TAO_FlowSpec_Entry::TAO_AV_PRODUCER, - the_qos, - address, - use_flow_protocol - ACE_ENV_ARG_PARAMETER); -} -// Connect to a IP multicast address. -char * -TAO_FlowProducer::connect_mcast (AVStreams::QoS & /* the_qos */, - CORBA::Boolean_out /* is_met */, - const char *address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::notSupported, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - // The address variable gives the multicast address to subscribe to. - for (u_int i=0;iprotocols_.length ();i++) - { - // choose the protocol which supports multicast. - } - - if (address == 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_FlowProducer::connect_mcast address is 0\n")); - TAO_Forward_FlowSpec_Entry *entry; - ACE_NEW_RETURN (entry, - TAO_Forward_FlowSpec_Entry(this->flowname_.in (), - "IN", - this->format_.in (), - use_flow_protocol, - address), - 0); - - this->flow_spec_set_.insert (entry); - TAO_AV_Acceptor_Registry *acceptor_registry = - TAO_AV_CORE::instance ()->acceptor_registry (); - int result = acceptor_registry->open (this, - TAO_AV_CORE::instance (), - this->flow_spec_set_); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_FlowProducer::connect_mcast:acceptor_registry open failed\n"), 0); - // Now remove our handler from the reactor since we're a producer and dont want to get called for - // multicast packets. - ACE_Event_Handler *event_handler = entry->handler ()->event_handler (); - event_handler->reactor ()->remove_handler (event_handler, - ACE_Event_Handler::READ_MASK); - return CORBA::string_dup (address); -} - -// sets the key for this flow. -void -TAO_FlowProducer::set_key (const AVStreams::key & the_key - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - CORBA::Any anyval; - anyval <<= the_key; - this->define_property ("PublicKey", - anyval - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_FlowProducer::set_key"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -// source id to be used to distinguish this source from others. -void -TAO_FlowProducer::set_source_id (CORBA::Long source_id - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->source_id_ = source_id; -} - -// ------------------------------------------------------------ -// TAO_FlowConsumer -// ------------------------------------------------------------ - - -// default constructor. -TAO_FlowConsumer::TAO_FlowConsumer (void) -{ -} - -TAO_FlowConsumer::TAO_FlowConsumer (const char *flowname, - AVStreams::protocolSpec protocols, - const char *format) -{ - this->open (flowname, protocols, format); -} - -// The start, stop and destroy are to be handled by the application. -void -TAO_FlowConsumer::stop (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_AV_FlowSpecSetItor end = this->flow_spec_set_.end (); - for (TAO_AV_FlowSpecSetItor begin = this->flow_spec_set_.begin (); - begin != end; ++begin) - (*begin)->handler ()->stop (TAO_FlowSpec_Entry::TAO_AV_CONSUMER); -} - -void -TAO_FlowConsumer::start (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_AV_FlowSpecSetItor end = this->flow_spec_set_.end (); - for (TAO_AV_FlowSpecSetItor begin = this->flow_spec_set_.begin (); - begin != end; ++begin) - { - (*begin)->handler ()->start (TAO_FlowSpec_Entry::TAO_AV_CONSUMER); - } -} - -char * -TAO_FlowConsumer::go_to_listen (AVStreams::QoS & the_qos, - CORBA::Boolean is_mcast, - AVStreams::FlowEndPoint_ptr peer_fep, - char *& flowProtocol - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - return this->go_to_listen_i (TAO_FlowSpec_Entry::TAO_AV_CONSUMER, - the_qos, - is_mcast, - peer_fep, - flowProtocol - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_FlowConsumer::connect_to_peer (AVStreams::QoS & the_qos, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) -{ - return this->connect_to_peer_i (TAO_FlowSpec_Entry::TAO_AV_CONSUMER, - the_qos, - address, - use_flow_protocol - ACE_ENV_ARG_PARAMETER); -} - -//------------------------------------------------------------ -// TAO_Tokenizer -//------------------------------------------------------------ -TAO_Tokenizer::TAO_Tokenizer (const char *string, char delimiter) - :token_array_ (10), - count_ (0) -{ - this->parse (string, delimiter); -} - -TAO_Tokenizer::~TAO_Tokenizer () -{ - for (unsigned int i=0; inum_tokens_; i++) - CORBA::string_free (this->token_array_[i]); -} - - -int -TAO_Tokenizer::parse (const char *string, char delimiter) -{ - ACE_CString new_string (string); - u_int pos =0; - ACE_CString::size_type slash_pos = 0; - u_int count = 0; - int result; - while (pos < new_string.length ()) - { - slash_pos = new_string.find (delimiter, pos); - ACE_CString substring; - if (slash_pos != new_string.npos) - { - substring = new_string.substring (pos, - slash_pos - pos); - pos = slash_pos + 1; - } - else - { - substring = new_string.substring (pos); - pos = static_cast (new_string.length ()); - } - char *token = CORBA::string_dup (substring.c_str ()); - result = this->token_array_.set (token, count); - if (result == -1) - { - this->token_array_.size (this->token_array_.size ()*2); - result = this->token_array_.set (token, count); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_Tokenizer::parse error"), -1); - } - count++; - } - - /* - ACE_OS::strcpy (this->string_ , string); - char delimiter_str [2] = {0, 0}; - delimiter_str [0] = delimiter; - char *token = ACE_OS::strtok (this->string_, delimiter_str); - - while (token != 0) - { - result = this->token_array_.set (token, count); - if (result == -1) - { - this->token_array_.size (this->token_array_.size ()*2); - result = this->token_array_.set (token, count); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_Tokenizer::parse error"), -1); - } - token = ACE_OS::strtok (0, delimiter_str); - count++; - } - */ - this->num_tokens_ = count; - return 0; -} - -char* -TAO_Tokenizer::token (void) -{ - if (count_ < num_tokens_) - return CORBA::string_dup (this->token_array_[this->count_++]); - else - return 0; -} - -int -TAO_Tokenizer::num_tokens (void) -{ - return static_cast (this->num_tokens_); -} - -const char * -TAO_Tokenizer::operator [] (size_t index) const -{ - if (index >= this->num_tokens_) - return 0; - - return this->token_array_[index]; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h deleted file mode 100644 index 8e23294c9bc..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h +++ /dev/null @@ -1,1536 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file AVStreams_i.h - * - * $Id$ - * - * @author Sumedh Mungee - * @author Nagarajan Surendran - */ -//============================================================================= - -#ifndef AVSTREAMS_I_H -#define AVSTREAMS_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AV_Core.h" - -#include "orbsvcs/AV/AV_export.h" -#include "orbsvcs/CosPropertyS.h" -#include "orbsvcs/AVStreamsS.h" -#include "orbsvcs/Property/CosPropertyService_i.h" -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/AV/AV_Core.h" -#include "orbsvcs/AV/Endpoint_Strategy.h" -#include "orbsvcs/Null_MediaCtrlS.h" -#include "orbsvcs/AV/FlowSpec_Entry.h" - -#include "ace/OS.h" -#include "ace/SOCK_Dgram_Mcast.h" -#include "ace/ATM_Addr.h" -#include "ace/Containers_T.h" -#include "ace/Process.h" -#include "ace/SOCK_CODgram.h" -#include "ace/SOCK_Connector.h" -#include "ace/Connector.h" -#include "ace/Acceptor.h" -#include "ace/SOCK_Stream.h" -#include "ace/Svc_Handler.h" -#include "ace/SOCK_Acceptor.h" - -#define FLOWSPEC_MAX 5 -// for the Hash_Map helper classes. - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Hash_Map_Manager FlowEndPoint_Map; -typedef ACE_Hash_Map_Entry FlowEndPoint_Map_Entry; -typedef ACE_Hash_Map_Iterator FlowEndPoint_Map_Iterator; - -typedef ACE_Hash_Map_Manager Flow_Handler_Map; -typedef ACE_Hash_Map_Entry Flow_Handler_Map_Entry; -typedef ACE_Hash_Map_Iterator Flow_Handler_Map_Iterator; - - - -class TAO_AV_Export AV_Null_MediaCtrl - : public virtual POA_Null_MediaCtrl -{ -public: - AV_Null_MediaCtrl (void); - -protected: - - virtual ~AV_Null_MediaCtrl (void); - -}; - -/** - * @class TAO_Basic_StreamCtrl - * @brief Base class for StreamCtrl, implements basic stream start - * and stop functionality. - */ -class TAO_AV_Export TAO_Basic_StreamCtrl - : public virtual POA_AVStreams::Basic_StreamCtrl, - public virtual TAO_PropertySet -{ - -public: - /// Default Constructor - TAO_Basic_StreamCtrl (void); - - /// Stop the transfer of data of the stream - /// Empty the_spec means apply operation to all flows - virtual void stop (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /// Start the transfer of data in the stream. - /// Empty the_spec means apply operation to all flows - virtual void start (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /** - * Tears down the stream. This will close the connection, and delete - * the streamendpoint and vdev associated with this stream - * Empty the_spec means apply operation to all flows - */ - virtual void destroy (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /// Changes the QoS associated with the stream - /// Empty the_spec means apply operation to all flows - virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - - /// Used by StreamEndPoint and VDev to inform StreamCtrl of events. - /// E.g., loss of flow, reestablishment of flow, etc.. - virtual void push_event (const struct CosPropertyService::Property & the_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Used to control the flow protocol parameters. - virtual void set_FPStatus (const AVStreams::flowSpec &the_spec, - const char *fp_name, - const CORBA::Any &fp_settings - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::FPError)); - - /// Not implemented in the light profile, will raise the notsupported - /// exception - virtual CORBA::Object_ptr get_flow_connection (const char *flow_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::notSupported)); - - /// Not implemented in the light profile, will raise the notsupported - /// exception - virtual void set_flow_connection (const char *flow_name, - CORBA::Object_ptr flow_connection - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::notSupported)); - -protected: - - /// Destructor. - virtual ~TAO_Basic_StreamCtrl (void); - - - /// The Virtual Devices for this stream - AVStreams::VDev_var vdev_a_; - AVStreams::VDev_var vdev_b_; - - /// The Endpoints for this stream - AVStreams::StreamEndPoint_A_var sep_a_; - AVStreams::StreamEndPoint_B_var sep_b_; - - /// Hash table for the flow names and its corresponding flowconnection object reference. - typedef ACE_Hash_Map_Manager FlowConnection_Map; - typedef ACE_Hash_Map_Iterator FlowConnection_Map_Iterator; - typedef ACE_Hash_Map_Entry FlowConnection_Map_Entry; - FlowConnection_Map flow_connection_map_; - AVStreams::FlowConnection_seq flowConnections_; - - ///sequence of flow names. - u_int flow_count_; - AVStreams::flowSpec flows_; -}; - -class TAO_AV_Export TAO_Negotiator - : public POA_AVStreams::Negotiator -{ -public: - virtual CORBA::Boolean negotiate (AVStreams::Negotiator_ptr remote_negotiator, - const AVStreams::streamQoS &qos_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -class TAO_MCastConfigIf; - -class TAO_AV_Export MMDevice_Map_Hash_Key -{ -public: - /// default constructor. - MMDevice_Map_Hash_Key (void); - - /// constructor. - MMDevice_Map_Hash_Key (AVStreams::MMDevice_ptr mmdevice); - - /// copy constructor. - MMDevice_Map_Hash_Key (const MMDevice_Map_Hash_Key&); - - /// destructor. - ~MMDevice_Map_Hash_Key (void); - - /// operator== needed by ACE_Hash_Map_Manager. - bool operator == (const MMDevice_Map_Hash_Key &hash_key) const; - - /// operator== needed by ACE_Hash_Map_Manager. - friend bool operator < (const MMDevice_Map_Hash_Key &left, - const MMDevice_Map_Hash_Key &right); - - /// hash function for this mmdevice. - u_long hash (void) const; - - static const int hash_maximum_; -protected: - AVStreams::MMDevice_ptr mmdevice_; -}; - -/** - * @class TAO_StreamCtrl - * @brief Implementation the A/V StreamCtrl class. this class - * is used to control the stream. It should be subclassed - * by applications that want to provide more control features. - */ -class TAO_AV_Export TAO_StreamCtrl - : public virtual POA_AVStreams::StreamCtrl, - public virtual TAO_Basic_StreamCtrl -{ - -public: - - /// Default Constructor - TAO_StreamCtrl (void); - - /// virtual destructor. - virtual ~TAO_StreamCtrl (void); - - /// Stop the transfer of data of the stream - /// Empty the_spec means apply operation to all flows - virtual void stop (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /// Start the transfer of data in the stream. - /// Empty the_spec means apply operation to all flows - virtual void start (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /** - * Tears down the stream. This will close the connection, and delete - * the streamendpoint and vdev associated with this stream - * Empty the_spec means apply operation to all flows - */ - virtual void destroy (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /** - * Establish a stream between a_party and b_party, - * with qos the_qos, and for the flows in the_flows - * if the_flows is empty, bind all the flows - * Causes a connection to be established between the StreamEndpoints. - * Returns success/failure - */ - virtual CORBA::Boolean bind_devs (AVStreams::MMDevice_ptr a_party, - AVStreams::MMDevice_ptr b_party, - AVStreams::streamQoS& the_qos, - const AVStreams::flowSpec& the_flows - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - - /** - * Establish a connection between two streamendpoints. This can - * be used if the streamendpoints have been created independent of - * a MMDevice - */ - virtual CORBA::Boolean bind (AVStreams::StreamEndPoint_A_ptr a_party, - AVStreams::StreamEndPoint_B_ptr b_party, - AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - - virtual void unbind_dev (AVStreams::MMDevice_ptr dev, - const AVStreams::flowSpec & the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow)); - - /// Unbind the_ep from the stream. Empty the_spec means apply to all flows. - virtual void unbind_party (AVStreams::StreamEndPoint_ptr the_ep, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow)); - - /// unbind the stream. Same effect as Basic_StreamCtrl::destroy () - virtual void unbind (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed)); - - virtual AVStreams::VDev_ptr get_related_vdev (AVStreams::MMDevice_ptr adev, - AVStreams::StreamEndPoint_out sep - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed)); - - /// Changes the QoS associated with the stream - /// Empty the_spec means apply operation to all flows - virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - -protected: - - struct MMDevice_Map_Entry - { - AVStreams::StreamEndPoint_var sep_; - AVStreams::VDev_var vdev_; - AVStreams::flowSpec flowspec_; - AVStreams::streamQoS qos_; - }; - - typedef ACE_Hash_Map_Manager MMDevice_Map; - typedef ACE_Hash_Map_Iterator MMDevice_Map_Iterator; - - MMDevice_Map mmdevice_a_map_; - MMDevice_Map mmdevice_b_map_; - TAO_MCastConfigIf *mcastconfigif_; - AVStreams::MCastConfigIf_var mcastconfigif_ptr_; - AVStreams::StreamCtrl_var streamctrl_; - CORBA::ULong source_id_; -}; - -class TAO_AV_Export TAO_MCastConfigIf - : public virtual POA_AVStreams::MCastConfigIf, - public virtual TAO_PropertySet -{ -public: - - enum Peer_Interface {VDEV = 0, FLOWENDPOINT=1}; - struct Peer_Info - { - AVStreams::VDev_var peer_; - AVStreams::FlowEndPoint_var fep_; - AVStreams::streamQoS qos_; - AVStreams::flowSpec flow_spec_; - Peer_Interface interface_; - }; - - /// Default constructor. - TAO_MCastConfigIf (void); - - /// Dtor - ~TAO_MCastConfigIf (void); - - virtual CORBA::Boolean set_peer (CORBA::Object_ptr peer, - AVStreams::streamQoS & the_qos, - const AVStreams::flowSpec & the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)); - - virtual void configure (const CosPropertyService::Property & a_configuration - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void set_initial_configuration (const CosPropertyService::Properties & initial - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void set_format (const char * flowName, - const char * format_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)); - - virtual void set_dev_params (const char * flowName, - const CosPropertyService::Properties & new_params - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)); - -protected: - /// checks whether the flowname is in the flow_spec. - int in_flowSpec (const AVStreams::flowSpec& flow_spec, const char *flow_name); - - /// Multicast socket. - ACE_SOCK_Dgram_Mcast sock_mcast_; - - /// Initial configuration to be distributed to all B parties when they join. - CosPropertyService::Properties initial_configuration_; - - ACE_DLList peer_list_; - ACE_DLList_Iterator peer_list_iterator_; -}; - -/** - * @class TAO_AV_QoS - * @brief Class for getting and setting the QoS characteristics of - * an AV Stream. - */ -class TAO_AV_Export TAO_AV_QoS -{ -public: - /// constructor. - TAO_AV_QoS (void); - - /// constructor taking a stream qos parameter. - TAO_AV_QoS (AVStreams::streamQoS &stream_qos); - - /// sets the maps with the QoS paramter. - int set (AVStreams::streamQoS &stream_qos); - - /// gets the flow_qos. - int get_flow_qos (const char *flowname,AVStreams::QoS &flow_qos); - - /// converts the application level QoS to Network-level QoS. - int convert (AVStreams::streamQoS &network_qos); - - -protected: - /// Stream Qos. - AVStreams::streamQoS stream_qos_; - - ACE_Hash_Map_Manager qos_map_; -}; - - -// Forward declarations. -class TAO_AV_TCP_Flow_Handler; -class TAO_AV_UDP_Flow_Handler; -class TAO_AV_UDP_MCast_Flow_Handler; -class TAO_AV_Protocol_Object; -class TAO_AV_Callback; -class TAO_AV_SourceManager; -class TAO_AV_Source; -class TAO_AV_RTP_State; -class TAO_AV_Flow_Handler; - -/** - * @class TAO_Base_StreamEndPoint - * - * Base class for the A/V StreamEndPoint class. this class - * is used to control the stream. It should be subclassed - * by applications that want to provide more control features. - */ -class TAO_AV_Export TAO_Base_StreamEndPoint - :public virtual TAO_PropertySet -{ - - // @@Naga: Rename this class to TAO_Base_EndPoint since both stream and flowendpoints derive from it. -public: - TAO_Base_StreamEndPoint (void); - virtual ~TAO_Base_StreamEndPoint (void); - - /// called when streamendpoint is instantiated - virtual int handle_open (void); - - /// called when streamendpoint is being destructed - virtual int handle_close (void); - - /// Application needs to define this - virtual int handle_stop (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Application needs to define this - virtual int handle_start (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Application needs to define this - virtual int handle_destroy (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Application needs to define this - virtual CORBA::Boolean handle_preconnect (AVStreams::flowSpec &the_spec); - - /// Application needs to define this - virtual CORBA::Boolean handle_postconnect (AVStreams::flowSpec &the_spec); - - /// Application needs to define this - virtual CORBA::Boolean handle_connection_requested (AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - virtual int get_callback (const char *flowname, - TAO_AV_Callback *&callback); - - virtual int get_control_callback (const char *flowname, - TAO_AV_Callback *&callback); - - virtual int set_protocol_object (const char *flowname, - TAO_AV_Protocol_Object *object); - - virtual void set_flow_handler (const char *flowname, - TAO_AV_Flow_Handler *handler); - - virtual void set_control_flow_handler (const char *flowname, - TAO_AV_Flow_Handler *handler); - - TAO_AV_QoS &qos (void); - - void protocol_object_set (void); - int is_protocol_object_set (void); - -protected: - - TAO_AV_QoS qos_; - Flow_Handler_Map flow_handler_map_; - Flow_Handler_Map control_flow_handler_map_; - int protocol_object_set_; -}; - -// Forward declarations. -class TAO_AV_Acceptor; -class TAO_AV_Connector; -class TAO_Forward_FlowSpec_Entry; -class TAO_Reverse_FlowSpec_Entry; - -/** - * @class TAO_StreamEndPoint - * @brief The Stream EndPoint. Used to implement one endpoint of a stream - * that implements the transport layer. - */ -class TAO_AV_Export TAO_StreamEndPoint - : public virtual POA_AVStreams::StreamEndPoint, - public virtual TAO_Base_StreamEndPoint -{ - -public: - /// Constructor - TAO_StreamEndPoint (void); - - /// Stop the stream. Empty the_spec means, for all the flows - virtual void stop (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /// Start the stream, Empty the_spec means, for all the flows - virtual void start (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /// Destroy the stream, Empty the_spec means, for all the flows - virtual void destroy (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow)); - - /// Called by StreamCtrl. responder is the peer to connect to - virtual CORBA::Boolean connect (AVStreams::StreamEndPoint_ptr responder, - AVStreams::streamQoS& qos_spec, - const AVStreams::flowSpec& the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)); - - /// Called by the peer StreamEndPoint. The flow_spec indicates the - /// flows (which contain transport addresses etc.) - virtual CORBA::Boolean request_connection (AVStreams::StreamEndPoint_ptr initiator, - CORBA::Boolean is_mcast, - AVStreams::streamQoS &qos, - AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpDenied, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::FPError)); - - /// Change the transport qos on a stream - virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - - virtual int change_qos (AVStreams::streamQoS &new_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Used to restrict the set of protocols - virtual CORBA::Boolean set_protocol_restriction (const AVStreams::protocolSpec &the_pspec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// disconnect the flows - virtual void disconnect (const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::streamOpFailed)); - - /// Used to control the flow - virtual void set_FPStatus (const AVStreams::flowSpec &the_spec, - const char *fp_name, - const CORBA::Any &fp_settings - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::FPError)); - - /// Not implemented in the light profile, throws notsupported - virtual CORBA::Object_ptr get_fep (const char *flow_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::noSuchFlow)); - - /// Not implemented in the light profile, throws notsupported - virtual char * add_fep (CORBA::Object_ptr the_fep - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)); - - /// Not implemented in the light profile, throws notsupported - virtual void remove_fep (const char *fep_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)); - - /// Used to "attach" a negotiator to the endpoint - virtual void set_negotiator (AVStreams::Negotiator_ptr new_negotiator - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Used for public key encryption. - virtual void set_key (const char *flow_name, - const AVStreams::key & the_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Used to set a unique id for packets sent by this streamendpoint - virtual void set_source_id (CORBA::Long source_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Destructor - virtual ~TAO_StreamEndPoint (void); - - CORBA::Boolean multiconnect (AVStreams::streamQoS &the_qos, - AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL); - -protected: - /// Helper methods to implement add_fep() - char* add_fep_i (AVStreams::FlowEndPoint_ptr fep - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)); - char* add_fep_i_add_property (AVStreams::FlowEndPoint_ptr fep - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)); - - /// translate from application level to network level qos. - int translate_qos (const AVStreams::streamQoS& application_qos, - AVStreams::streamQoS& network_qos); - - /// Count of the number of flows in this streamendpoint, used to - /// generate unique names for the flows. - u_int flow_count_; - - /// current flow number used for system generation of flow names. - u_int flow_num_; - - /// hash table for the flownames and its corresponding flowEndpoint reference. - FlowEndPoint_Map fep_map_; - - /// sequence of supported flow names. - AVStreams::flowSpec flows_; - - /// source id used for multicast. - CORBA::Long source_id_; - - /// our local negotiator for QoS. - AVStreams::Negotiator_var negotiator_; - - /// Our available list of protocols. - AVStreams::protocolSpec protocols_; - - /// Chosen protocol for this streamendpoint based on availableprotocols property. - CORBA::String_var protocol_; - - /// Key used for encryption. - AVStreams::key key_; - -/// TAO_Forward_FlowSpec_Entry forward_entries_ [FLOWSPEC_MAX]; -/// TAO_Reverse_FlowSpec_Entry reverse_entries_ [FLOWSPEC_MAX]; - u_short mcast_port_; - ACE_CString mcast_addr_; - ACE_Hash_Map_Manager mcast_entry_map_; - TAO_AV_FlowSpecSet forward_flow_spec_set; - TAO_AV_FlowSpecSet reverse_flow_spec_set; - AVStreams::StreamEndPoint_var peer_sep_; - AVStreams::SFPStatus *sfp_status_; - AVStreams::StreamCtrl_var streamctrl_; -}; - -/** - * @class TAO_StreamEndPoint_A - * @brief The "A" side of a streamendpoint - */ -class TAO_AV_Export TAO_StreamEndPoint_A : - public virtual POA_AVStreams::StreamEndPoint_A, - public virtual TAO_StreamEndPoint -{ - -public: - /// Constructor - TAO_StreamEndPoint_A (void); - - /// Used for ATM-style multicast - virtual CORBA::Boolean multiconnect (AVStreams::streamQoS &the_qos, - AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)); - - /// Used for ATM-style multicast - virtual CORBA::Boolean connect_leaf (AVStreams::StreamEndPoint_B_ptr the_ep, - AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_flows - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::notSupported)); - - /// Used to remove a multicast leaf - virtual void disconnect_leaf (AVStreams::StreamEndPoint_B_ptr the_ep, - const AVStreams::flowSpec &theSpec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::notSupported)); - - /// Destructor - virtual ~TAO_StreamEndPoint_A (void); - -}; - -// For backward compatibility. -#define TAO_Client_StreamEndPoint TAO_StreamEndPoint_A -#define TAO_Server_StreamEndPoint TAO_StreamEndPoint_B - -/** - * @class TAO_StreamEndPoint_B - * @brief The "B" side of a streamendpoint - */ -class TAO_AV_Export TAO_StreamEndPoint_B : - public virtual POA_AVStreams::StreamEndPoint_B, - public virtual TAO_StreamEndPoint -{ - // = DESCRIPTION - // The "B" side of a streamendpoint -public: - /// Constructor - TAO_StreamEndPoint_B (void); - - /// Used for internet-style multicast - virtual CORBA::Boolean multiconnect (AVStreams::streamQoS &the_qos, - AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::FPError)); - - /// Destructor - virtual ~TAO_StreamEndPoint_B (void); -}; - -/** - * @class TAO_VDev - * @brief Implements the VDev interface. One of these is created per - * connection, and represents device-specific parameters. - */ -class TAO_AV_Export TAO_VDev - :public virtual TAO_PropertySet, - public virtual POA_AVStreams::VDev -{ - -public: - /// Default Constructor - TAO_VDev (void); - - /// Called to tell the vdev who the streamctrl, peer vdev is - virtual CORBA::Boolean set_peer (AVStreams::StreamCtrl_ptr the_ctrl, - AVStreams::VDev_ptr the_peer_dev, - AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)); - - /// Used to set the streamctrl and multicast device - virtual CORBA::Boolean set_Mcast_peer (AVStreams::StreamCtrl_ptr the_ctrl, - AVStreams::MCastConfigIf_ptr a_mcastconfigif, - AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)); - - /// Called by the peer VDev to configure the device (catch all) - virtual void configure (const CosPropertyService::Property &the_config_mesg - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)); - - /// Used to set a format on a flowname - virtual void set_format (const char *flowName, - const char *format_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)); - - /// Used to set device parameters - virtual void set_dev_params (const char *flowName, - const CosPropertyService::Properties &new_params - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)); - - /// Called to change QoS of the device - virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &the_qos, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - -protected: - /// Destructor for a servant should be protected or private. - /// Use _remove_ref() to delete this servant. - virtual ~TAO_VDev (void); - - /// hook called after set_peer is done to set the media ctrl of the peer vdev. - virtual CORBA::Boolean set_media_ctrl (CORBA::Object_ptr media_ctrl - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// My stream controller - AVStreams::StreamCtrl_var streamctrl_; - - /// My peer - AVStreams::VDev_var peer_; - - /// The multicast VDev peer. - AVStreams::MCastConfigIf_var mcast_peer_; -}; - -class TAO_AV_Endpoint_Strategy; - -/** - * @class TAO_MMDevice - * @brief Implements a factory to create Endpoints and VDevs - */ -class TAO_AV_Export TAO_MMDevice - :public virtual POA_AVStreams::MMDevice, - public virtual TAO_PropertySet -{ - -public: - - /// Constructor - enum MMDevice_Type {MMDEVICE_A = 0,MMDEVICE_B = 1}; - TAO_MMDevice (TAO_AV_Endpoint_Strategy *endpoint_strategy_); - - virtual AVStreams::StreamEndPoint_ptr create_A_B (MMDevice_Type type, - AVStreams::StreamCtrl_ptr the_requester, - AVStreams::VDev_out the_vdev, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out met_qos, - char *&named_vdev, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Can be used to request the MMDevice to create a new StreamCtrl, - /// and call bind_devs on it - virtual AVStreams::StreamCtrl_ptr bind (AVStreams::MMDevice_ptr peer_device, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out is_met, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - - /// Multicast bind - virtual AVStreams::StreamCtrl_ptr bind_mcast (AVStreams::MMDevice_ptr first_peer, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out is_met, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::noSuchFlow, - AVStreams::QoSRequestFailed)); - - /// Called by StreamCtrl to create a "A" type streamandpoint and vdev - virtual AVStreams::StreamEndPoint_A_ptr create_A (AVStreams::StreamCtrl_ptr the_requester, - AVStreams::VDev_out the_vdev, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out met_qos, - char *&named_vdev, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed, - AVStreams::noSuchFlow)); - - /// Called by StreamCtrl to create a "B" type streamandpoint and vdev - virtual AVStreams::StreamEndPoint_B_ptr create_B (AVStreams::StreamCtrl_ptr the_requester, - AVStreams::VDev_out the_vdev, - AVStreams::streamQoS &the_qos, - CORBA::Boolean_out met_qos, - char *&named_vdev, - const AVStreams::flowSpec &the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed, - AVStreams::noSuchFlow)); - - /// Remove the StreamEndPoint and the related vdev - virtual void destroy (AVStreams::StreamEndPoint_ptr the_ep, - const char *vdev_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)); - - /// Not supported in the light profile, raises notsupported - virtual char * add_fdev (CORBA::Object_ptr the_fdev - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)); - - /// Not supported in the light profile, raises notsupported - virtual CORBA::Object_ptr get_fdev (const char *flow_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::noSuchFlow)); - - /// Not supported in the light profile, raises notsupported - virtual void remove_fdev (const char *flow_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::noSuchFlow, - AVStreams::streamOpFailed)); - - /// Destructor - virtual ~TAO_MMDevice (void); - -protected: - /// Helper method to implement add_fdev() - char* add_fdev_i (AVStreams::FDev_ptr fdev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported, - AVStreams::streamOpFailed)); - -protected: - - TAO_AV_Endpoint_Strategy *endpoint_strategy_; - - /// Count of the number of flows in this MMDevice , used to - /// generate unique names for the flows. - u_int flow_count_; - - /// current flow number used for system generation of flow names. - u_int flow_num_; - - typedef ACE_Hash_Map_Manager FDev_Map; - typedef ACE_Hash_Map_Iterator FDev_Map_Iterator; - typedef ACE_Hash_Map_Entry FDev_Map_Entry; - - /// hash table for the flownames and its corresponding flowEndpoint - /// reference. - FDev_Map fdev_map_; - - /// sequence of supported flow names. - AVStreams::flowSpec flows_; - - TAO_StreamCtrl *stream_ctrl_; -}; - -class TAO_FlowConsumer; -class TAO_FlowProducer; - -/** - * @class TAO_FlowConnection - * @brief This class currently supports only one producer and one - * consumer per flow. - */ -class TAO_AV_Export TAO_FlowConnection - : public virtual POA_AVStreams::FlowConnection, - public virtual TAO_PropertySet -{ - -public: - /// default constructor. - TAO_FlowConnection (void); - - /// stop this flow. - virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// start this flow. - virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// destroy this flow. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// modify the QoS for this flow. - virtual CORBA::Boolean modify_QoS (AVStreams::QoS & new_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed)); - - /// use the specified flow protocol for this flow. - virtual CORBA::Boolean use_flow_protocol (const char * fp_name, - const CORBA::Any & fp_settings - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::FPError, - AVStreams::notSupported)); - - /// pushes an event , to be handled by the application. - virtual void push_event (const AVStreams::streamEvent & the_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - /// connect 2 Flow Devices. - virtual CORBA::Boolean connect_devs (AVStreams::FDev_ptr a_party, - AVStreams::FDev_ptr b_party, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::QoSRequestFailed)); - - /// Connect a flow producer and consumer under this flow connection. - virtual CORBA::Boolean connect (AVStreams::FlowProducer_ptr flow_producer, - AVStreams::FlowConsumer_ptr flow_consumer, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::formatMismatch, - AVStreams::FEPMismatch, - AVStreams::alreadyConnected)); - - /// disconnect this flow connection. - virtual CORBA::Boolean disconnect (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// adds the producer to this flow connection. - virtual CORBA::Boolean add_producer (AVStreams::FlowProducer_ptr flow_producer, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::alreadyConnected, - AVStreams::notSupported)); - - /// adds a consumer to this flow connection. - virtual CORBA::Boolean add_consumer (AVStreams::FlowConsumer_ptr flow_consumer, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::alreadyConnected)); - - /// drops a flow endpoint from the flow. - virtual CORBA::Boolean drop (AVStreams::FlowEndPoint_ptr target - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notConnected)); - - int set_mcast_addr (ACE_CString addr,u_short port); - void set_protocol (const char *protocol); -protected: - typedef ACE_Unbounded_Set FlowProducer_Set; - typedef ACE_Unbounded_Set_Iterator FlowProducer_SetItor; - typedef ACE_Unbounded_Set FlowConsumer_Set; - typedef ACE_Unbounded_Set_Iterator FlowConsumer_SetItor; - - /// The multicast address returned by the producer. - FlowProducer_Set flow_producer_set_; - FlowConsumer_Set flow_consumer_set_; - CORBA::String_var fp_name_; - CORBA::Any fp_settings_; - CORBA::String_var producer_address_; - - /// IP Multicasting is used. - int ip_multicast_; - TAO_MCastConfigIf *mcastconfigif_i_; - AVStreams::MCastConfigIf_var mcastconfigif_; - u_short mcast_port_; - ACE_CString mcast_addr_; - CORBA::String_var protocol_; -}; - -/** - * @class TAO_FlowEndPoint - * @brief This class is used per flow e.g video flow and an audio flow - * to encapsulate the transport details. - */ -class TAO_AV_Export TAO_FlowEndPoint : - public virtual POA_AVStreams::FlowEndPoint, - public virtual TAO_Base_StreamEndPoint -{ - -public: - - ///default constructor. - TAO_FlowEndPoint (void); - - TAO_FlowEndPoint (const char *flowname, - AVStreams::protocolSpec &protocols, - const char *format); - - int open (const char *flowname, - AVStreams::protocolSpec &protocols, - const char *format); - - int set_flowname (const char *flowname); - - virtual void set_flow_handler (const char *flowname, - TAO_AV_Flow_Handler *handler); - - virtual int set_protocol_object (const char *flowname, - TAO_AV_Protocol_Object *object); - - /// lock the flow endpoint for a particular flow. - virtual CORBA::Boolean lock (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// unlock the flow endpoint for subsequent use. - virtual void unlock (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - /// destroy this flow. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// get method for the related streamendpoint under which this - /// flowendpoint is. - virtual AVStreams::StreamEndPoint_ptr related_sep(ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// set method for the related streamendpoint under which this - /// flowendpoint is. - virtual void related_sep (AVStreams::StreamEndPoint_ptr related_sep - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual AVStreams::FlowConnection_ptr related_flow_connection(ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // accessor for the related flow connection attribute. - - /// set method for the related flow connection attribute. - virtual void related_flow_connection (AVStreams::FlowConnection_ptr related_flow_connection - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// returns the other flowendpoint to which this is connected. - virtual AVStreams::FlowEndPoint_ptr get_connected_fep (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notConnected, - AVStreams::notSupported)); - - //// use the specified flow protocol. - virtual CORBA::Boolean use_flow_protocol (const char * fp_name, - const CORBA::Any & fp_settings - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::FPError, - AVStreams::notSupported)); - - /// sets the data format. - virtual void set_format (const char * format - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)); - - /// sets the device parameters. - virtual void set_dev_params (const CosPropertyService::Properties & new_settings - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::PropertyException, - AVStreams::streamOpFailed)); - - /// sets the list of protocols to be used. - virtual void set_protocol_restriction (const AVStreams::protocolSpec & the_spec - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)); - - /// checks whether the passed flowendpoint is compatible with this. - virtual CORBA::Boolean is_fep_compatible (AVStreams::FlowEndPoint_ptr fep - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::formatMismatch, - AVStreams::deviceQosMismatch)); - - /// sets the peer flowendpoint. - virtual CORBA::Boolean set_peer (AVStreams::FlowConnection_ptr the_fc, - AVStreams::FlowEndPoint_ptr the_peer_fep, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed)); - - /// sets the multicast peer flowendpoint, not implemented. - virtual CORBA::Boolean set_Mcast_peer (AVStreams::FlowConnection_ptr the_fc, - AVStreams::MCastConfigIf_ptr a_mcastconfigif, - AVStreams::QoS & the_qos - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::QoSRequestFailed)); - - - /** - * This should be implemented in both the FlowProducer and consumer and hence is - * pure virtual since we need to know the role of the flowendpoint to create appropriate - * protocol objects. eg. in SFP to create Producer Object/ Consumer Object. - */ - virtual CORBA::Boolean connect_to_peer (AVStreams::QoS & the_qos, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) = 0; - - /// connect to the peer endpoint. - virtual CORBA::Boolean connect_to_peer_i (TAO_FlowSpec_Entry::Role role, - AVStreams::QoS & the_qos, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); - - /** - * This should be implemented in both the FlowProducer and consumer and hence is - * pure virtual since we need to know the role of the flowendpoint to create appropriate - * protocol objects. eg. in SFP to create Producer Object/ Consumer Object. - */ - virtual char * go_to_listen (AVStreams::QoS & the_qos, - CORBA::Boolean is_mcast, - AVStreams::FlowEndPoint_ptr peer, - char *& flowProtocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)) = 0; - - /// listen request from the peer. - virtual char * go_to_listen_i (TAO_FlowSpec_Entry::Role role, - AVStreams::QoS & the_qos, - CORBA::Boolean is_mcast, - AVStreams::FlowEndPoint_ptr peer, - char *& flowProtocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); - - -protected: - /// The related streamendpoint. - AVStreams::StreamEndPoint_var related_sep_; - - /// The related flow connection reference - AVStreams::FlowConnection_var related_flow_connection_; - - /// The peer flowendpoint reference. - AVStreams::FlowEndPoint_var peer_fep_; - - /// Available protocols for this flowendpoint. - AVStreams::protocolSpec protocols_; - - /// Address information for the protocols. - AVStreams::protocolSpec protocol_addresses_; - - /// The multicast peer endpoint. - AVStreams::MCastConfigIf_var mcast_peer_; - - /// Lock. - CORBA::Boolean lock_; - - CORBA::String_var format_; - CORBA::String_var flowname_; - CosPropertyService::Properties dev_params_; - TAO_AV_FlowSpecSet flow_spec_set_; - CORBA::String_var reverse_channel_; -}; - -class TAO_AV_Export TAO_FlowProducer: - public virtual POA_AVStreams::FlowProducer, - public virtual TAO_FlowEndPoint -{ -public: - /// default constructor - TAO_FlowProducer (void); - - TAO_FlowProducer (const char *flowname, - AVStreams::protocolSpec protocols, - const char *format); - - /** - * get the reverse channel, to be used for feedback for protocols like UDP. - * @@Naga: In the spec this is defined in the TAO_FlowProducer but it seems more reasonable for this - * to be in a FlowEndPoint since any of the flowendpoints can be made to listen. So in the case of - * UDP if the producer is listening and the consumer connects (logically) then the producer needs to - * know the reverse channel on its peer fep to send data to. - */ - virtual char * get_rev_channel (const char * pcol_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// stop this flow, to be overridden by the application. - virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// start this flow, to be overridden by the application. - virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * go_to_listen (AVStreams::QoS & the_qos, - CORBA::Boolean is_mcast, - AVStreams::FlowEndPoint_ptr peer, - char *& flowProtocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); - - virtual CORBA::Boolean connect_to_peer (AVStreams::QoS & the_qos, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); - - /// connect to the multicast address, not implemented. - virtual char * connect_mcast (AVStreams::QoS & the_qos, - CORBA::Boolean_out is_met, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::notSupported, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); - - - - /// sets the public key to be used for encryption of the data. - virtual void set_key (const AVStreams::key & the_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// sets the source id of this flow producer so that it can be used - /// to distinguish this producer from others in the multicast case. - virtual void set_source_id (CORBA::Long source_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - /// source id of this producer. - CORBA::Long source_id_; - CORBA::String_var peer_address_; -}; - -class TAO_AV_Export TAO_FlowConsumer : - public virtual POA_AVStreams::FlowConsumer, - public virtual TAO_FlowEndPoint -{ -public: - /// default constructor. - TAO_FlowConsumer (void); - - TAO_FlowConsumer (const char *flowname, - AVStreams::protocolSpec protocols, - const char *format); - - /// stop this flow, to be overridden by the application. - virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// start this flow, to be overridden by the application. - virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * go_to_listen (AVStreams::QoS & the_qos, - CORBA::Boolean is_mcast, - AVStreams::FlowEndPoint_ptr peer, - char *& flowProtocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToListen, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); - - virtual CORBA::Boolean connect_to_peer (AVStreams::QoS & the_qos, - const char * address, - const char * use_flow_protocol - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::failedToConnect, - AVStreams::FPError, - AVStreams::QoSRequestFailed)); -}; - -/** - * @class TAO_MediaControl - * @brief Abstract Mediacontrol class. - * The following are to be handled by the specialized media control - * for the specific media like camera, speaker. - */ -class TAO_AV_Export TAO_MediaControl - :public virtual POA_AVStreams::MediaControl -{ - -public: - /// default constructor - TAO_MediaControl (void); - - virtual AVStreams::Position get_media_position (AVStreams::PositionOrigin an_origin, - AVStreams::PositionKey a_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::MediaControl::PostionKeyNotSupported)) =0; - - virtual void set_media_position (const AVStreams::Position & a_position - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::MediaControl::PostionKeyNotSupported, - AVStreams::InvalidPosition)) =0; - - virtual void start (const AVStreams::Position & a_position - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::InvalidPosition)) =0; - - virtual void pause (const AVStreams::Position & a_position - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::InvalidPosition)) =0; - - virtual void resume (const AVStreams::Position & a_position - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::InvalidPosition)) =0; - - virtual void stop (const AVStreams::Position & a_position - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::InvalidPosition)) =0; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "orbsvcs/AV/Transport.h" - -#if defined (__ACE_INLINE__) -#include "tao/debug.h" -#include "orbsvcs/AV/AVStreams_i.i" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/AV/Flows_T.h" - -#include /**/ "ace/post.h" -#endif /* AVSTREAMS_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.i b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.i deleted file mode 100644 index 81731c09f05..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.i +++ /dev/null @@ -1,62 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_AV_QoS & -TAO_Base_StreamEndPoint::qos (void) -{ - return this->qos_; -} - -ACE_INLINE -int -TAO_AV_QoS::set (AVStreams::streamQoS &stream_qos) -{ - this->stream_qos_ = stream_qos; - - for (u_int j=0;jstream_qos_.length ();j++) - { - ACE_CString qos_key (CORBA::string_dup (this->stream_qos_[j].QoSType)); - int result = this->qos_map_.bind (qos_key,this->stream_qos_[j]); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "(%N,%l) TAO_AV_QoS::set qos_map::bind failed\n"),-1); - } - return 0; -} - - -ACE_INLINE -int -TAO_AV_QoS::get_flow_qos (const char *flowname, - AVStreams::QoS &flow_qos) -{ - int result = this->qos_map_.find (flowname, - flow_qos); - - if (result < 0) - { - if (TAO_debug_level > 0 ) { - ACE_DEBUG((LM_DEBUG, "(%N,%l) qos_map contains the flows:\n")); - - ACE_Hash_Map_Manager::ITERATOR iter - = qos_map_.begin(); - - while( iter != qos_map_.end() ) - { - ACE_DEBUG((LM_DEBUG, " %s\n", (*iter).ext_id_.c_str() )); - ++iter; - } - - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_QOS::get_flow_qos qos_map::find failed for %s\n", flowname)); - } - return -1; - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp b/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp deleted file mode 100644 index 830f8fe5e98..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp +++ /dev/null @@ -1,1186 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/AV_Core.h" -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/Transport.h" -#include "orbsvcs/AV/Protocol_Factory.h" -#include "orbsvcs/AV/UDP.h" -#include "orbsvcs/AV/TCP.h" -#include "orbsvcs/AV/RTP.h" -#include "orbsvcs/AV/RTCP.h" -#include "orbsvcs/AV/sfp.h" -#include "orbsvcs/AV/default_resource.h" - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) -#include "orbsvcs/AV/QoS_UDP.h" -#endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ - -#if defined (ACE_HAS_SCTP) -#include "orbsvcs/AV/SCTP_SEQ.h" -#endif // ACE_HAS_SCTP - -#include "tao/debug.h" -#include "tao/ORB_Core.h" - -#include "ace/Dynamic_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_Core -//------------------------------------------------------------ - -TAO_AV_Core::TAO_AV_Core (void) - :connector_registry_ (0), - acceptor_registry_ (0) -{ - ACE_NEW (this->connector_registry_, - TAO_AV_Connector_Registry - ); - ACE_NEW (this->acceptor_registry_, - TAO_AV_Acceptor_Registry - ); -} - -TAO_AV_Core::~TAO_AV_Core (void) -{ - delete this->connector_registry_; - delete this->acceptor_registry_; - - TAO_AV_TransportFactorySetItor transport_iter = - this->transport_factories_.begin(); - - while (transport_iter != this->transport_factories_.end()) - { - if ((*transport_iter)->factory()->ref_count != 1) - { - delete (*transport_iter)->factory(); - } - delete (*transport_iter); - transport_iter++; - } - - TAO_AV_Flow_ProtocolFactorySetItor flow_iter = - this->flow_protocol_factories_.begin(); - - while (flow_iter != this->flow_protocol_factories_.end()) - { - if ((*flow_iter)->factory()->ref_count != 1) - { - delete (*flow_iter)->factory(); - } - delete (*flow_iter); - - flow_iter++; - } -} - -CORBA::ORB_ptr -TAO_AV_Core::orb (void) -{ - return this->orb_.in (); -} - -void -TAO_AV_Core::orb (CORBA::ORB_ptr orb) -{ - this->orb_ = orb; -} - -PortableServer::POA_ptr -TAO_AV_Core::poa (void) -{ - return this->poa_.in (); -} - -void -TAO_AV_Core::poa (PortableServer::POA_ptr poa) -{ - this->poa_ = poa; -} - -TAO_AV_Connector_Registry* -TAO_AV_Core::connector_registry (void) -{ - return this->connector_registry_; -} - -TAO_AV_Acceptor_Registry* -TAO_AV_Core::acceptor_registry (void) -{ - return this->acceptor_registry_; -} - -TAO_AV_TransportFactorySet * -TAO_AV_Core::transport_factories (void) -{ - return &this->transport_factories_; -} - -TAO_AV_Flow_ProtocolFactorySet* -TAO_AV_Core::flow_protocol_factories (void) -{ - return &this->flow_protocol_factories_; -} - -int -TAO_AV_Core::stop_run (void) -{ - this->stop_run_ = 1; - return 0; -} - -int -TAO_AV_Core::run (void) -{ - this->stop_run_ = 0; - while (!this->stop_run_ && this->orb_->work_pending ()) - this->orb_->perform_work (); - return 0; -} - -void -TAO_AV_Core::reactor (ACE_Reactor *r) -{ - this->reactor_ = r; -} - -ACE_Reactor * -TAO_AV_Core::reactor (void) -{ - return this->reactor_; -} - - -int -TAO_AV_Core::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Core::init ")); - this->orb_ = CORBA::ORB::_duplicate (orb); - this->poa_ = PortableServer::POA::_duplicate (poa); - this->reactor (this->orb_->orb_core ()->reactor ()); - this->init_transport_factories (); - this->init_flow_protocol_factories (); - return 0; -} - -int -TAO_AV_Core::init_forward_flows (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_FlowSpecSet &flow_spec_set, - TAO_AV_Core::EndPoint direction, - AVStreams::flowSpec &flow_spec) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Core::init_forward_flows\n")); - - TAO_AV_FlowSpecSet address_flow_set; - TAO_AV_FlowSpecSet flow_set; - TAO_AV_FlowSpecSetItor end = flow_spec_set.end (); - for (TAO_AV_FlowSpecSetItor start = flow_spec_set.begin (); - start != end; ++start) - { - TAO_FlowSpec_Entry *entry = (*start); - switch (direction) - { - case TAO_AV_Core::TAO_AV_ENDPOINT_B: - { - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - { - entry->role (TAO_FlowSpec_Entry::TAO_AV_CONSUMER); - break; - } - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - { - entry->role (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - break; - } - } - break; - } - case TAO_AV_Core::TAO_AV_ENDPOINT_A: - { - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - entry->role (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - break; - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - entry->role (TAO_FlowSpec_Entry::TAO_AV_CONSUMER); - break; - } - break; - } - default: - break; - } - ACE_Addr *address = entry->address (); - if (address != 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "address given for flow %s\n", - entry->flowname ())); - - address_flow_set.insert (entry); - } - else - flow_set.insert (entry); - } //End of For Loop - - - int result = -1; - switch (direction) - { - case TAO_AV_Core::TAO_AV_ENDPOINT_A: - if (address_flow_set.size () > 0) - { - result = this->acceptor_registry_->open (endpoint, - this, - address_flow_set); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_Core::init_forward_flows::acceptor_registry::open failed\n"), - -1); - TAO_AV_FlowSpecSetItor end = address_flow_set.end (); - for (TAO_AV_FlowSpecSetItor start = address_flow_set.begin (); - start != end; ++start) - { - TAO_FlowSpec_Entry *entry = (*start); - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - { - if (entry->handler () != 0) - { - //Yamuna:PLEASE CHECK THIS LATER -#if defined ACE_HAS_RAPI || defined (ACE_HAS_WINSOCK2_GQOS) - // For IN flows on the A side we should remove the handlers from the reactor. - ACE_Event_Handler *event_handler = entry->handler ()->event_handler (); - - if (event_handler->reactor () != 0) - { - result = event_handler->reactor ()->remove_handler (event_handler, - ACE_Event_Handler::READ_MASK); - - if (result < 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Core::init_forward_flows: remove_handler failed\n")); - } -#endif //ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS - } - } - default: - break; - } - // Now if the address_set has been changed due to the addition of a control entry we should - // add that to the flow_spec_set also. - if (flow_spec_set.find (entry) < 0) - { - // entry doesn't exist so add it. - flow_spec_set.insert (entry); - // size_t len = flow_spec.length (); - // flow_spec.length (len+1); - // flow_spec [len] = entry->entry_to_string (); - } - } - } - break; - case TAO_AV_Core::TAO_AV_ENDPOINT_B: - { - if (address_flow_set.size () > 0) - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) This connector registry is called\n")); - - result = this->connector_registry_->open (endpoint, - this, - address_flow_set); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_Core::init_Forward_flows: connector_registry open failed\n"),-1); - TAO_AV_FlowSpecSetItor end = address_flow_set.end (); - for (TAO_AV_FlowSpecSetItor start = address_flow_set.begin (); - start != end; ++start) - { - TAO_FlowSpec_Entry *entry = (*start); - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - { - if (entry->handler () != 0) - { - // @@Naga: This wont be called in the case of Full Profile. - // For IN flows on the A side we should remove the handlers from the reactor. - ACE_Event_Handler *event_handler = entry->handler ()->event_handler (); - result = event_handler->reactor ()->remove_handler (event_handler, - ACE_Event_Handler::READ_MASK); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Core::init_forward_flows: remove_handler failed\n")); - } - } - default: - break; - } - // Now if the address_set has been changed due to the addition of a control entry we should - // add that to the flow_spec_set also. - if (flow_spec_set.find (entry) < 0) - { - // entry doesn't exist so add it. - flow_spec_set.insert (entry); - } - } - } - if (flow_set.size () > 0) - { - TAO_AV_FlowSpecSet tmp_flow_set (flow_set); - flow_set.reset (); - TAO_AV_FlowSpecSetItor end = tmp_flow_set.end (); - TAO_AV_FlowSpecSetItor start = tmp_flow_set.begin (); - for (; start != end; ++start) - { - TAO_FlowSpec_Entry *entry = *start; - TAO_FlowSpec_Entry *new_entry; - ACE_CString dir; - if (entry->direction () == 0) - dir += "IN"; - else if (entry->direction () == 1) - dir += "OUT"; - if (entry->get_peer_addr () != 0) - { - ACE_NEW_RETURN (new_entry, - TAO_Forward_FlowSpec_Entry (entry->flowname (), - dir.c_str (), - entry->format (), - entry->flow_protocol_str (), - entry->carrier_protocol_str (), - entry->get_peer_addr (), - entry->control_address ()), - -1); - } - else - { - ACE_NEW_RETURN (new_entry, - TAO_Forward_FlowSpec_Entry (entry->flowname (), - dir.c_str (), - entry->format (), - entry->flow_protocol_str (), - entry->carrier_protocol_str (), - entry->address (), - entry->control_address ()), - -1); - } - flow_set.insert (new_entry); - } - result = this->acceptor_registry_->open (endpoint, - this, - flow_set); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_Core::init_Forward_flows: Acceptor_registry open failed\n"),-1); - end = address_flow_set.end (); - start = address_flow_set.begin (); - for (; start != end; ++start) - { - TAO_FlowSpec_Entry *entry = (*start); - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - { - if (entry->handler () != 0) - { - // For IN flows on the A side we should remove the handlers from the reactor. - ACE_Event_Handler *event_handler = entry->handler ()->event_handler (); - result = event_handler->reactor ()->remove_handler (event_handler, - ACE_Event_Handler::READ_MASK); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Core::init_forward_flows: remove_handler failed\n")); - } - } - default: - break; - } - // Now if the address_set has been changed due to the addition of a control entry we should - // add that to the flow_spec_set also. - if (flow_spec_set.find (entry) < 0) - { - // entry doesn't exist so add it. - flow_spec_set.insert (entry); - } - } - } - - AVStreams::flowSpec new_flowspec (static_cast (flow_spec_set.size ())); - int i=0; - TAO_AV_FlowSpecSetItor connect_end = address_flow_set.end (); - TAO_AV_FlowSpecSetItor connect = address_flow_set.begin (); - for (;connect != connect_end; ++connect) - { - ACE_Addr *local_addr; - ACE_Addr *local_control_addr; - local_addr = (*connect)->get_local_addr (); - local_control_addr = (*connect)->get_local_control_addr (); - if (local_addr != 0) - { - TAO_Reverse_FlowSpec_Entry entry ((*connect)->flowname (), - (*connect)->direction_str (), - (*connect)->format (), - (*connect)->flow_protocol_str (), - (*connect)->carrier_protocol_str (), - local_addr, - local_control_addr); - /* - ACE_Addr *addr; - if ((addr = (*connect)->get_peer_addr ()) != 0) - { - entry.set_peer_addr (addr); - }; - */ - int len = new_flowspec.length (); - if (i == len) - new_flowspec.length (len+1); - new_flowspec [i++] = entry.entry_to_string (); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "reverse Flow Spec Is %s\n", entry.entry_to_string ())); - } - } - connect_end = flow_set.end (); - for (connect = flow_set.begin (); - connect != connect_end; ++connect) - { - ACE_Addr *local_addr; - ACE_Addr *local_control_addr; - local_addr = (*connect)->get_local_addr (); - local_control_addr = (*connect)->get_local_control_addr (); - if (local_addr != 0) - { - TAO_Reverse_FlowSpec_Entry entry ((*connect)->flowname (), - (*connect)->direction_str (), - (*connect)->format (), - (*connect)->flow_protocol_str (), - (*connect)->carrier_protocol_str (), - local_addr, - local_control_addr); - - int len = new_flowspec.length (); - if (i == len) - new_flowspec.length (len+1); - new_flowspec [i++] = entry.entry_to_string (); - } - } - // Change the reverse flow spec to be sent. - // int index = flow_spec.length () + 1; - int index = new_flowspec.length (); - flow_spec.length (index); - for (i = 0; i < index; i++) - { - flow_spec [i] = new_flowspec [i]; - } - } - break; - default: - break; - } - return 0; -} - -int -TAO_AV_Core::init_reverse_flows (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_FlowSpecSet &forward_flow_spec_set, - TAO_AV_FlowSpecSet &reverse_flow_spec_set, - TAO_AV_Core::EndPoint direction) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Core::init_reverse_flows\n")); - TAO_AV_FlowSpecSet acceptor_flow_set; - TAO_AV_FlowSpecSet connector_flow_set; - TAO_AV_FlowSpecSetItor end = reverse_flow_spec_set.end (); - TAO_AV_FlowSpecSetItor start = reverse_flow_spec_set.begin (); - for (;start != end; ++start) - { - TAO_FlowSpec_Entry *entry = (*start); - ACE_Addr *address = entry->address (); - switch (direction) - { - case TAO_AV_Core::TAO_AV_ENDPOINT_B: - { - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - entry->role (TAO_FlowSpec_Entry::TAO_AV_CONSUMER); - break; - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - entry->role (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - break; - } - break; - } - case TAO_AV_Core::TAO_AV_ENDPOINT_A: - { - switch (entry->direction ()) - { - case TAO_FlowSpec_Entry::TAO_AV_DIR_IN: - entry->role (TAO_FlowSpec_Entry::TAO_AV_PRODUCER); - break; - case TAO_FlowSpec_Entry::TAO_AV_DIR_OUT: - entry->role (TAO_FlowSpec_Entry::TAO_AV_CONSUMER); - break; - } - break; - } - default: break; - } - - if (address != 0) - { - if (this->get_acceptor (entry->flowname ())!= 0) - { - ACE_Addr *address = entry->address (); - TAO_FlowSpec_Entry *forward_entry = - this->get_flow_spec_entry (forward_flow_spec_set, - entry->flowname ()); - if (forward_entry != 0) - forward_entry->set_peer_addr (address); - } - else - connector_flow_set.insert (entry); - } - } - int result = -1; - switch (direction) - { - - case TAO_AV_Core::TAO_AV_ENDPOINT_A: - { - result = this->connector_registry_->open (endpoint, - this, - connector_flow_set); - } - break; - default: - break; - } - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR,"acceptor_registry::open"),-1); - return 0; -} - -TAO_FlowSpec_Entry * -TAO_AV_Core::get_flow_spec_entry (TAO_AV_FlowSpecSet &flow_spec_set, - const char *flowname) -{ - TAO_AV_FlowSpecSetItor end = flow_spec_set.end (); - TAO_AV_FlowSpecSetItor begin = flow_spec_set.begin (); - for (; - begin != end; - ++begin) - { - if (ACE_OS::strcmp ((*begin)->flowname (),flowname) == 0) - return (*begin); - } - return 0; -} - -TAO_AV_Acceptor* -TAO_AV_Core::get_acceptor (const char *flowname) -{ - - ACE_TRY_NEW_ENV - { - - TAO_AV_AcceptorSetItor acceptor = this->acceptor_registry_->begin (); - ACE_TRY_CHECK; - - TAO_AV_AcceptorSetItor end = - this->acceptor_registry_->end (); - - for (;acceptor != end; ++acceptor) - { - if (ACE_OS::strcmp ((*acceptor)->flowname (),flowname) == 0) - return *acceptor; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_AV_Core::get_acceptor"); - } - ACE_ENDTRY; - return 0; -} - -int -TAO_AV_Core::remove_acceptor (const char *flowname) -{ - - ACE_TRY_NEW_ENV - { - - TAO_AV_AcceptorSetItor acceptor = this->acceptor_registry_->begin (); - ACE_TRY_CHECK; - - TAO_AV_AcceptorSetItor end = - this->acceptor_registry_->end (); - - for (;acceptor != end; ++acceptor) - { - if (ACE_OS::strcmp ((*acceptor)->flowname (),flowname) == 0) - { - this->acceptor_registry_->close (*acceptor); - return 0; - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_AV_Core::get_acceptor"); - } - ACE_ENDTRY; - return -1; -} - -TAO_AV_Connector* -TAO_AV_Core::get_connector (const char *flowname) -{ - TAO_AV_ConnectorSetItor connector = - this->connector_registry_->begin (); - TAO_AV_ConnectorSetItor end = - this->connector_registry_->end (); - - for (;connector != end; ++connector) - { - if (ACE_OS::strcmp ((*connector)->flowname (),flowname) == 0) - return *connector; - } - return 0; -} - -int -TAO_AV_Core::remove_connector (const char *flowname) -{ - TAO_AV_ConnectorSetItor connector = - this->connector_registry_->begin (); - TAO_AV_ConnectorSetItor end = - this->connector_registry_->end (); - - for (;connector != end; ++connector) - { - if (ACE_OS::strcmp ((*connector)->flowname (),flowname) == 0) - { - this->connector_registry_->close (*connector); - return 0; - } - } - return -1; -} - -TAO_AV_Flow_Protocol_Factory * -TAO_AV_Core::get_flow_protocol_factory(const char *flow_protocol) -{ - if (flow_protocol == 0) - return 0; - - for (TAO_AV_Flow_ProtocolFactorySetItor control_flow_factory = - this->flow_protocol_factories_.begin (); - control_flow_factory != - this->flow_protocol_factories_.end (); - ++control_flow_factory) - { - if ((*control_flow_factory)->factory ()->match_protocol (flow_protocol)) - { - return (*control_flow_factory)->factory (); - } - } - - // Not found. - return 0; -} - -TAO_AV_Transport_Factory * -TAO_AV_Core::get_transport_factory(const char *transport_protocol) -{ - if (transport_protocol == 0) - return 0; - - for (TAO_AV_TransportFactorySetItor transport_factory = - this->transport_factories_.begin (); - transport_factory != this->transport_factories_.end (); - ++transport_factory) - { - if ((*transport_factory)->factory ()->match_protocol (transport_protocol)) - { - return (*transport_factory)->factory (); - } - } - - // Not found. - return 0; -} - -int -TAO_AV_Core::load_default_transport_factories (void) -{ - const char *udp_factory_str = "UDP_Factory"; - const char *tcp_factory_str = "TCP_Factory"; - - TAO_AV_Transport_Factory *udp_factory = 0; - TAO_AV_Transport_Item *udp_item = 0; - - udp_factory = - ACE_Dynamic_Service::instance (udp_factory_str); - if (udp_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "UDP Factory")); - - ACE_NEW_RETURN (udp_factory, - TAO_AV_UDP_Factory, - -1); - } - else udp_factory->ref_count = 1; - - ACE_NEW_RETURN (udp_item, TAO_AV_Transport_Item ("UDP_Factory"), -1); - udp_item->factory (udp_factory); - - this->transport_factories_.insert (udp_item); - - TAO_AV_Transport_Factory *tcp_factory = 0; - TAO_AV_Transport_Item *tcp_item = 0; - - tcp_factory = - ACE_Dynamic_Service::instance (tcp_factory_str); - if (tcp_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "TCP Factory")); - - ACE_NEW_RETURN (tcp_factory, - TAO_AV_TCP_Factory, - -1); - } - else tcp_factory->ref_count = 1; - - ACE_NEW_RETURN (tcp_item, TAO_AV_Transport_Item ("TCP_Factory"), -1); - tcp_item->factory (tcp_factory); - - this->transport_factories_.insert (tcp_item); - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) - const char *udp_qos_factory_str = "UDP_QoS_Factory"; - - TAO_AV_Transport_Factory *udp_qos_factory = 0; - TAO_AV_Transport_Item *udp_qos_item = 0; - - udp_qos_factory = - ACE_Dynamic_Service::instance (udp_qos_factory_str); - if (udp_qos_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "UDP QoS Factory")); - - ACE_NEW_RETURN (udp_qos_factory, - TAO_AV_UDP_QoS_Factory, - -1); - } - else udp_qos_factory->ref_count = 1; - - ACE_NEW_RETURN (udp_qos_item, - TAO_AV_Transport_Item ("UDP_QoS_Factory"), - -1); - - udp_qos_item->factory (udp_qos_factory); - - this->transport_factories_.insert (udp_qos_item); -#endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ - -#if defined ACE_HAS_SCTP - const char *sctp_seq_factory_str = "SCTP_SEQ_Factory"; - - TAO_AV_Transport_Factory *sctp_seq_factory = 0; - TAO_AV_Transport_Item *sctp_seq_item = 0; - - sctp_seq_factory = - ACE_Dynamic_Service::instance (sctp_seq_factory_str); - if (sctp_seq_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "SCTP SEQ Factory")); - - ACE_NEW_RETURN (sctp_seq_factory, - TAO_AV_SCTP_SEQ_Factory, - -1); - } - else sctp_seq_factory->ref_count = 1; - - ACE_NEW_RETURN (sctp_seq_item, - TAO_AV_Transport_Item ("SCTP_SEQ_Factory"), - -1); - - sctp_seq_item->factory (sctp_seq_factory); - - this->transport_factories_.insert (sctp_seq_item); -#endif /* ACE_HAS_SCTP */ - - return 0; -} - -int -TAO_AV_Core::init_transport_factories (void) -{ - TAO_AV_TransportFactorySetItor end = this->transport_factories_.end (); - TAO_AV_TransportFactorySetItor factory = this->transport_factories_.begin (); - - - if (factory == end) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Loading default transport protocols\n")); - this->load_default_transport_factories (); - } - else - { - for (; factory != end; factory++) - { - const ACE_CString &name = (*factory)->name (); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "%s \n", - name.c_str ())); - - (*factory)->factory ( - ACE_Dynamic_Service::instance (name.c_str ())); - if ((*factory)->factory () == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Unable to load ") - ACE_TEXT ("protocol <%s>, %p\n"), - name.c_str (), ""), - -1); - } - (*factory)->factory ()->ref_count = 1; - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) Loaded protocol <%s>\n"), - name.c_str ())); - } - } - } - - return 0; -} - -int -TAO_AV_Core::load_default_flow_protocol_factories (void) -{ - const char *udp_flow = "UDP_Flow_Factory"; - const char *tcp_flow = "TCP_Flow_Factory"; - const char *rtp_flow = "RTP_Flow_Factory"; - const char *rtcp_flow = "RTCP_Flow_Factory"; - const char *sfp_flow = "SFP_Flow_Factory"; - - TAO_AV_Flow_Protocol_Factory *udp_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *udp_item = 0; - - udp_flow_factory = - ACE_Dynamic_Service::instance (udp_flow); - if (udp_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "UDP Flow Factory")); - - ACE_NEW_RETURN (udp_flow_factory, - TAO_AV_UDP_Flow_Factory, - -1); - } - else udp_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (udp_item, TAO_AV_Flow_Protocol_Item ("UDP_Flow_Factory"), -1); - udp_item->factory (udp_flow_factory); - - this->flow_protocol_factories_.insert (udp_item); - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) - - const char *udp_qos_flow = "UDP_QoS_Flow_Factory"; - TAO_AV_Flow_Protocol_Factory *udp_qos_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *udp_qos_flow_item = 0; - - udp_qos_flow_factory = - ACE_Dynamic_Service::instance (udp_qos_flow); - if (udp_qos_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "UDP QoS Flow Factory")); - - ACE_NEW_RETURN (udp_qos_flow_factory, - TAO_AV_UDP_QoS_Flow_Factory, - -1); - } - else udp_qos_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (udp_qos_flow_item, TAO_AV_Flow_Protocol_Item ("UDP_QoS_Flow_Factory"), -1); - udp_qos_flow_item->factory (udp_qos_flow_factory); - - this->flow_protocol_factories_.insert (udp_qos_flow_item); - -#endif /* defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) */ - -#if defined ACE_HAS_SCTP - - const char *sctp_seq_flow = "SCTP_SEQ_Flow_Factory"; - TAO_AV_Flow_Protocol_Factory *sctp_seq_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *sctp_seq_flow_item = 0; - - sctp_seq_flow_factory = - ACE_Dynamic_Service::instance (sctp_seq_flow); - if (sctp_seq_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "SCTP SEQ Flow Factory")); - - ACE_NEW_RETURN (sctp_seq_flow_factory, - TAO_AV_SCTP_SEQ_Flow_Factory, - -1); - } - else sctp_seq_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (sctp_seq_flow_item, TAO_AV_Flow_Protocol_Item ("SCTP_SEQ_Flow_Factory"), -1); - sctp_seq_flow_item->factory (sctp_seq_flow_factory); - - this->flow_protocol_factories_.insert (sctp_seq_flow_item); - -#endif /* ACE_HAS_SCTP */ - - TAO_AV_Flow_Protocol_Factory *tcp_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *tcp_item = 0; - - tcp_flow_factory = - ACE_Dynamic_Service::instance (tcp_flow); - if (tcp_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "TCP Flow Factory")); - - ACE_NEW_RETURN (tcp_flow_factory, - TAO_AV_TCP_Flow_Factory, - -1); - } - else tcp_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (tcp_item, TAO_AV_Flow_Protocol_Item ("TCP_Flow_Factory"), -1); - tcp_item->factory (tcp_flow_factory); - - this->flow_protocol_factories_.insert (tcp_item); - - TAO_AV_Flow_Protocol_Factory *rtp_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *rtp_item = 0; - - rtp_flow_factory = - ACE_Dynamic_Service::instance (rtp_flow); - if (rtp_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "RTP Flow Factory")); - - ACE_NEW_RETURN (rtp_flow_factory, - TAO_AV_RTP_Flow_Factory, - -1); - } - else rtp_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (rtp_item, TAO_AV_Flow_Protocol_Item ("RTP_Flow_Factory"), -1); - rtp_item->factory (rtp_flow_factory); - - this->flow_protocol_factories_.insert (rtp_item); - - TAO_AV_Flow_Protocol_Factory *rtcp_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *rtcp_item = 0; - - rtcp_flow_factory = - ACE_Dynamic_Service::instance (rtcp_flow); - if (rtcp_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "RTCP Flow Factory")); - - ACE_NEW_RETURN (rtcp_flow_factory, - TAO_AV_RTCP_Flow_Factory, - -1); - } - else rtcp_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (rtcp_item, TAO_AV_Flow_Protocol_Item ("RTCP_Flow_Factory"), -1); - rtcp_item->factory (rtcp_flow_factory); - - this->flow_protocol_factories_.insert (rtcp_item); - - TAO_AV_Flow_Protocol_Factory *sfp_flow_factory = 0; - TAO_AV_Flow_Protocol_Item *sfp_item = 0; - - sfp_flow_factory = - ACE_Dynamic_Service::instance (sfp_flow); - if (sfp_flow_factory == 0) - { - if (TAO_debug_level) - ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "SFP Flow Factory")); - - ACE_NEW_RETURN (sfp_flow_factory, - TAO_AV_SFP_Factory, - -1); - } - else sfp_flow_factory->ref_count = 1; - - ACE_NEW_RETURN (sfp_item, TAO_AV_Flow_Protocol_Item ("SFP_Flow_Factory"), -1); - sfp_item->factory (sfp_flow_factory); - - this->flow_protocol_factories_.insert (sfp_item); - - return 0; -} - -int -TAO_AV_Core::init_flow_protocol_factories (void) -{ - TAO_AV_Flow_ProtocolFactorySetItor end = this->flow_protocol_factories_.end (); - TAO_AV_Flow_ProtocolFactorySetItor factory = this->flow_protocol_factories_.begin (); - - if (factory == end) - { - ACE_DEBUG ((LM_DEBUG, - "Loading default flow protocol factories\n")); - - this->load_default_flow_protocol_factories (); - } - else - { - for (; factory != end; factory++) - { - const ACE_CString &name = (*factory)->name (); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "%s \n", - name.c_str ())); - - (*factory)->factory ( - ACE_Dynamic_Service::instance (name.c_str ())); - if ((*factory)->factory () == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Unable to load ") - ACE_TEXT ("protocol <%s>, %p\n"), - name.c_str (), ""), - -1); - } - - (*factory)->factory ()->ref_count = 1; - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) Loaded protocol <%s>\n"), - name.c_str ())); - } - } - } - - return 0; -} - -/* static */ -int -TAO_AV_Core::deactivate_servant (PortableServer::Servant servant) -{ - // Because of reference counting, the POA will automatically delete - // the servant when all pending requests on this servant are - // complete. - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - PortableServer::POA_var poa = servant->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableServer::ObjectId_var id = poa->servant_to_id (servant - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - poa->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "deactivate_servant"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -/* static */ -char * -TAO_AV_Core::get_flowname (const char *flow_spec_entry_str) -{ - ACE_CString flow_spec_entry (flow_spec_entry_str); - ACE_CString::size_type slash_pos = flow_spec_entry.find ('\\'); - ACE_CString flow_name; - if (slash_pos != flow_spec_entry.npos) - flow_name = flow_spec_entry.substring (0, slash_pos); - else - flow_name = flow_spec_entry_str; - return CORBA::string_dup (flow_name.c_str ()); -} - -ACE_CString -TAO_AV_Core::get_control_flowname(const char *flowname) -{ - ACE_CString control_flowname; - control_flowname = "c_"; - control_flowname = control_flowname + flowname; - - return flowname; -} - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton *ACE_Singleton::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_Core.h b/TAO/orbsvcs/orbsvcs/AV/AV_Core.h deleted file mode 100644 index 4a8f29aa137..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AV_Core.h +++ /dev/null @@ -1,181 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file AV_Core.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - -#ifndef TAO_AV_CORE_H -#define TAO_AV_CORE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AV_export.h" -#include "orbsvcs/AVStreamsC.h" - -#include "tao/PortableServer/PortableServer.h" - -#include "ace/Singleton.h" -#include "ace/Unbounded_Set.h" -#include "ace/Null_Mutex.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Reactor; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Base_StreamEndPoint; -class TAO_AV_Connector_Registry; -class TAO_AV_Acceptor_Registry; -class TAO_AV_Acceptor; -class TAO_AV_Connector; -class TAO_FlowSpec_Entry; -class TAO_AV_Transport_Item; -class TAO_AV_Transport_Factory; -class TAO_AV_Flow_Protocol_Item; -class TAO_AV_Flow_Protocol_Factory; - -typedef ACE_Unbounded_Set TAO_AV_FlowSpecSet; -typedef ACE_Unbounded_Set_Iterator TAO_AV_FlowSpecSetItor; - -typedef ACE_Unbounded_Set TAO_AV_TransportFactorySet; -typedef ACE_Unbounded_Set_Iterator TAO_AV_TransportFactorySetItor; - -// typedefs for containers containing the list of loaded Flow_Protocol factories. -typedef ACE_Unbounded_Set TAO_AV_Flow_ProtocolFactorySet; -typedef ACE_Unbounded_Set_Iterator TAO_AV_Flow_ProtocolFactorySetItor; - -/** - * @class TAO_AV_Core - * @brief This class encapsulates access to the TAO AV Core's resources - * and its state. - */ -class TAO_AV_Export TAO_AV_Core -{ -public: - enum EndPoint {TAO_AV_ENDPOINT_A,TAO_AV_ENDPOINT_B}; - - enum Protocol - { - TAO_AV_NOPROTOCOL = -1, - TAO_AV_TCP = 0, - TAO_AV_UDP = 1, - TAO_AV_AAL5 = 2, - TAO_AV_AAL3_4 = 3, - TAO_AV_AAL1 = 4, - TAO_AV_RTP_UDP = 5, - TAO_AV_RTP_AAL5 = 6, - TAO_AV_IPX = 7, - TAO_AV_SFP_UDP = 8, - TAO_AV_UDP_MCAST = 9, - TAO_AV_RTP_UDP_MCAST = 10, - TAO_AV_SFP_UDP_MCAST = 11, - TAO_AV_QOS_UDP = 12, - TAO_AV_USERDEFINED_UDP = 13, - TAO_AV_USERDEFINED_UDP_MCAST = 14, - TAO_AV_SCTP_SEQ = 15 - }; - - enum Flow_Component - { - TAO_AV_DATA = 1, - TAO_AV_CONTROL = 2, - TAO_AV_BOTH = 3 - }; - - /// Default constructor. - TAO_AV_Core (void); - - /// Destructor. - ~TAO_AV_Core (void); - - int init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - int run (void); - int stop_run (void); - int init_forward_flows (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_FlowSpecSet &flow_spec_set, - EndPoint direction, - AVStreams::flowSpec &flow_spec); - int init_reverse_flows (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_FlowSpecSet &forward_flow_spec_set, - TAO_AV_FlowSpecSet &reverse_flow_spec_set, - EndPoint direction); - int init_transport_factories (void); - int init_flow_protocol_factories (void); - - int load_default_transport_factories (void); - int load_default_flow_protocol_factories (void); - - /// = Get the acceptor registry - TAO_AV_Acceptor *get_acceptor (const char *flowname); - TAO_AV_Connector *get_connector (const char *flowname); - int remove_acceptor (const char *flowname); - int remove_connector (const char *flowname); - TAO_AV_Connector_Registry *connector_registry (void); - TAO_FlowSpec_Entry *get_flow_spec_entry (TAO_AV_FlowSpecSet &flow_spec_set, - const char *flowname); - TAO_AV_Acceptor_Registry *acceptor_registry (void); - - // = Get the protocol factories - /// = Set/get the . - TAO_AV_Flow_Protocol_Factory *get_flow_protocol_factory(const char *flow_protocol); - TAO_AV_Transport_Factory *get_transport_factory(const char *transport_protocol); - TAO_AV_Flow_ProtocolFactorySet *flow_protocol_factories (void); - TAO_AV_TransportFactorySet *transport_factories (void); - void reactor (ACE_Reactor *r); - ACE_Reactor *reactor (void); - CORBA::ORB_ptr orb (void); - void orb (CORBA::ORB_ptr orb_); - PortableServer::POA_ptr poa (void); - void poa (PortableServer::POA_ptr poa_); - - static int deactivate_servant (PortableServer::Servant servant); - static char *get_flowname (const char *flow_spec_entry_str); - static ACE_CString get_control_flowname(const char *flowname); - -protected: - /// The connector registry which all active connecters must register - /// themselves with. - TAO_AV_Connector_Registry *connector_registry_; - - /// The registry which maintains a list of acceptor factories for each - /// loaded protocol. - TAO_AV_Acceptor_Registry *acceptor_registry_; - - /// Pointer to the list of transports loaded into this AV_Core instance. - TAO_AV_TransportFactorySet transport_factories_; - - /// Pointer to the list of flow protocol loaded into this AV_Core instance. - TAO_AV_Flow_ProtocolFactorySet flow_protocol_factories_; - - ACE_Reactor *reactor_; - CORBA::ORB_var orb_; - PortableServer::POA_var poa_; - CORBA::Boolean stop_run_; -}; - -#if defined (__BORLANDC__) -# if !defined (TAO_AV_BUILD_DLL) -# pragma option push -Jgx -# endif -#endif -TAO_AV_SINGLETON_DECLARE (ACE_Singleton, TAO_AV_Core, ACE_Null_Mutex) -#if defined (__BORLANDC__) -# if !defined(TAO_AV_BUILD_DLL) -# pragma option pop -# endif -#endif - -typedef ACE_Singleton TAO_AV_CORE; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_AV_CORE_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html b/TAO/orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html deleted file mode 100644 index ca4db983b3c..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - - - -
-

-Implementing Pluggable Protocol in TAO AV Streaming Service

- -
-

-Nagarajan Surendran and Yamuna -Krishnamurthy

- -
Center for Distributed Object Computing -
Washington University in St.Louis
- -
-

-Overview

-Traditionally DOC Middleware has provided facilities to design application-level -objects at a higher level of abstraction, away from low-level details of -network programming and distribution. The aspect of multimedia application -that could benefit from this is an interoperable standard design of multimedia -interfaces defined in IDL. The OMG A/V Specification defines such a set -of interfaces which helps in type-safe ,robust and flexible applications. -Also as proved in our earlier work,ORBs with IIOP implementation cannot -be used for streaming multimedia data since they're optimized for request-response -semantics. To circumvent this the application developer will have to use -Out of Band data connection to stream the data while using the ORB to negotiate -QoS, bind type-safe devices and explore their properties. -

Also it is important for a Multimedia framework to have the ability -to support different transports and be able to plug and configure them -dynamically and statically .For example, a wireless link based application -may want to use the Wireless link protocol to stream the data. RTP is gaining -wide significance as the Transport protocol for streaming Audio and Video -Data over the Internet. Our framework provides an implementation of RTP/RTCP -for the audio/video profile. RTP is internet-centric and doesn't provide -facilities to transport  IDL-defined flows. SFP is a Simple Flow Protocol -specified by the OMG for A/V Streaming and it can be mapped to different -transports like UDP, RTP and ATM AAL5. Our framework provides an implementation -of SFP that runs over UDP and multicast UDP. -

The OMG specification defines the flow specification syntax that is -to be used for the bind_devs calls for connection establishment. It defines -the protocol names and also the syntax for specifying the transport/flow -protocol information but it doesn't define any interfaces for the protocol -implementation as such. Our framework bridges this gap by defining a uniform -API  for the different flow protocols like RTP and SFP while taking -care of the variations using a Policy interface. We solve this with our -Pluggable Protocol Framework using design patterns like Layer, -
Acceptor, Connector, Facade and Abstract Factory. Please look at this -paper -for more documentation on the TAO AV Service Pluggable Protocol Framework. -

-


-

-Implementing the Pluggable Protocol

-In order to add a new pluggable transport and flow protocol to the AVStreams -framework, without making changes to the framework itself, the pluggable -protocol must implement the following components of the Pluggable Protocol -framework: -

-The Transport Protocol Components

- -

-Acceptor and Connector: 

-These are implementations of the Acceptor and Connector design patterns. -In the case of connectionless protocols like UDP, calling accept and connect -will result in the creation of handlers immediately. -

The pluggable transport protocol implementation should inherit from -the following abstract classes declared in <orbsvcs/orbsvcs/AV/Transport.h>: -

/** -
 * @class TAO_AV_Acceptor -
 * @brief -
 */ -
class TAO_AV_Export TAO_AV_Acceptor -
{ -
public: -
  TAO_AV_Acceptor (void); -
  virtual ~TAO_AV_Acceptor (void); -
  virtual int open (TAO_Base_StreamEndPoint *endpoint, -
                              -TAO_AV_Core *av_core, -
                              -TAO_FlowSpec_Entry *entry, -
                              -TAO_AV_Flow_Protocol_Factory *factory) = 0; -

  virtual int open_default (TAO_Base_StreamEndPoint *endpoint, -
                             -TAO_AV_Core *av_core, -
                             -TAO_FlowSpec_Entry *entry, -
                             -TAO_AV_Flow_Protocol_Factory *factory) = 0; -

  const char *flowname (); -
  virtual int close (void) = 0; -
protected: -
  ACE_CString flowname_; -
  TAO_AV_Core *av_core_; -
  ACE_Addr *address_; -
}; -
  -

/** -
 * @class TAO_AV_Connector -
 * @brief -
 */ -
class TAO_AV_Export TAO_AV_Connector -
{ -
public: -
  TAO_AV_Connector (void); -
  virtual ~TAO_AV_Connector (void); -
  const char *flowname (void); -

  virtual int open (TAO_Base_StreamEndPoint *endpoint, -
                    -TAO_AV_Core *av_core, -
                    -TAO_AV_Flow_Protocol_Factory *factory) = 0; -

  virtual int connect (TAO_FlowSpec_Entry *entry, -
                       -TAO_AV_Transport *&transport) = 0; -

  virtual int close (void) = 0; -
protected: -
  ACE_CString flowname_; -
}; -
  -
  -

-Transport and Transport Factory:

-The transport class provides a common interface for different protocols -for performing operations like open, close, send and recv. The trasnport -factory is an interface for creating acceptors and connectors. -

The pluggable transport protocol implementation should inherit from -the following abstract classes declared in  -<orbsvcs/orbsvcs/AV/Transport.h>: -

/** -
 * @class TAO_AV_Transport -
 * @brief A Base class for the different transport protocols. -
 *        All the different -transports should derive and implement -
 *        the open,close,send -and recv methods. -
 */ -
class TAO_AV_Export TAO_AV_Transport -
{ -
public: -
  TAO_AV_Transport (void); -

  virtual ~TAO_AV_Transport (void); -

  virtual int open (ACE_Addr *address) = 0; -

  virtual int close (void) = 0; -

  virtual int mtu (void) = 0; -
  virtual ACE_Addr *get_peer_addr (void) = 0; -
  virtual ACE_Addr *get_local_addr (void); -

  virtual ssize_t send (const ACE_Message_Block *mblk, -
                        -ACE_Time_Value *s = 0) = 0; -

  /// Write the contents of the buffer of length len to the connection. -
  virtual ssize_t send (const char *buf, -
                        -size_t len, -
                        -ACE_Time_Value *s = 0) = 0; -

  /// Write the contents of iovcnt iovec's to the connection. -
  virtual ssize_t send (const iovec *iov, -
                        -int iovcnt, -
                        -ACE_Time_Value *s = 0) = 0; -

  /// Read len bytes from into buf. -
  virtual ssize_t recv (char *buf, -
                        -size_t len, -
                        -ACE_Time_Value *s = 0) = 0; -

  /// Read len bytes from into buf using flags. -
  virtual ssize_t recv (char *buf, -
                        -size_t len, -
                        -int flags, -
                        -ACE_Time_Value *s = 0) = 0; -

  ///  Read received data into the iovec buffers. -
  virtual ssize_t recv (iovec *iov, -
                        -int iovcnt, -
                        -ACE_Time_Value *s = 0) = 0; -

}; -
  -

/** -
 * @class TAO_AV_Transport_Factory -
 * @brief -
 */ -
class TAO_AV_Export TAO_AV_Transport_Factory : public ACE_Service_Object -
{ -
public: -
  /// Initialization hook. -
  TAO_AV_Transport_Factory (void); -
  virtual ~TAO_AV_Transport_Factory (void); -
  virtual int init (int argc, char *argv[]); -
  virtual int match_protocol (const char *protocol_string); -
  virtual TAO_AV_Acceptor *make_acceptor (void); -
  virtual TAO_AV_Connector *make_connector (void); -
}; -
  -

-Flow handler :

-All the transport handlers derive from the  TAO_AV_Flow_Handler which -has methods to start and stop and provide flow specific functionality for -timeout upcalls to the Callbacks. -

The pluggable transport protocol implementation should inherit from -the following abstract class declared in -<orbsvcs/orbsvcs/AV/Transport.h>: -

/** -
 * @class TAO_AV_Flow_Handler -
 * @brief -
 */ -
class TAO_AV_Export TAO_AV_Flow_Handler -
{ -
public: -
  /// Constructor. -
  TAO_AV_Flow_Handler (void); -

  /// Start/stop the flow handler. -
  virtual int start (TAO_FlowSpec_Entry::Role role); -
  virtual int stop  (TAO_FlowSpec_Entry::Role role); -

  /// Schedule timer. Uses the get_timeout method on the callback. -
  virtual int schedule_timer (void); -

  /// get the transport. -
  TAO_AV_Transport *transport (void); -

  /// set/get protocol_object. -
  TAO_AV_Protocol_Object* protocol_object (void); -
  void protocol_object (TAO_AV_Protocol_Object *protocol_object); -

  /// set the callback. -
  void callback (TAO_AV_Callback *callback); -

  /// Handle timeout. called from reactor. -
  int handle_timeout (const ACE_Time_Value &tv, const void -*arg = 0); -

  /// set the remote address. -
  virtual int set_remote_address (ACE_Addr *address); -

  /// get the underlying event handler. To be overridden by the -derived clases. -
  virtual ACE_Event_Handler* event_handler (void) = 0; -

  virtual int change_qos (AVStreams::QoS); -

protected: -
  TAO_AV_Transport *transport_; -
  TAO_AV_Callback *callback_; -
  TAO_AV_Protocol_Object *protocol_object_; -
  long timer_id_; -
  ACE_Reactor *reactor_; -
  void *timeout_arg_; -
}; -
  -

-The Flow Protocol Components

- -

-Flow Protocol Factory:

-The  flow protocol factory is an interface for creating flow protocol -objects. -

The pluggable flow protocol implementation should inherit from the following -abstract class declared in <orbsvcs/orbsvcs/AV/Protocol_Factory>: -

/** -
 * @class TAO_AV_Flow_Protocol_Factory -
 * @brief -
 */ -
class TAO_AV_Export TAO_AV_Flow_Protocol_Factory : public ACE_Service_Object -
{ -
public: -
  /// Initialization hook. -
  TAO_AV_Flow_Protocol_Factory (void); -
  virtual ~TAO_AV_Flow_Protocol_Factory (void); -
  virtual int init (int argc, char *argv[]); -
  virtual int match_protocol (const char *flow_string); -
  virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry -*entry, -
                                                        -TAO_Base_StreamEndPoint *endpoint, -
                                                        -TAO_AV_Flow_Handler *handler, -
                                                        -TAO_AV_Transport *transport); -
  virtual const char *control_flow_factory (void); -
}; -
  -

-Protocol Object:

-This is a concrete implementation providing the flow protocol functionality. -Applications use this interface to send frames and the Protocol_Object -uses application specified  Callback objects to deliver frames. -

The pluggable flow protocol implementation should inherit from the following -abstract class declared in <orbsvcs/orbsvcs/AV/Protocol_Factory>: -

/** -
 * @class TAO_AV_Protocol_Object -
 * @brief -
 */ -
class TAO_AV_Export TAO_AV_Protocol_Object -
{ -
public: -
  TAO_AV_Protocol_Object (void); -

  /// constructor. -
  TAO_AV_Protocol_Object (TAO_AV_Callback *callback, -
                          -TAO_AV_Transport *transport); -

  /// Destructor -
  virtual ~TAO_AV_Protocol_Object (void); -

  virtual int open (TAO_AV_Callback *callback, -
                    -TAO_AV_Transport *transport); -

  virtual int handle_input (void) = 0; -

  /// Called on a control object. -
  virtual int handle_control_input (ACE_Message_Block *control_frame, -
                                    -const ACE_Addr &peer_address); -

  /// set/get policies. -
  virtual int set_policies (const TAO_AV_PolicyList &policy_list); -
  virtual TAO_AV_PolicyList get_policies (void); -

  /// start/stop the flow. -
  virtual int start (void); -
  virtual int stop (void); -

  /// send a data frame. -
  virtual int send_frame (ACE_Message_Block *frame, -
                          -TAO_AV_frame_info *frame_info = 0) = 0; -

  /// send a frame in iovecs. -
  virtual int send_frame (const iovec *iov, -
                          -int iovcnt, -
                          -TAO_AV_frame_info *frame_info = 0) = 0; -

  virtual int send_frame (const char *buf, -
                          -size_t len) = 0; -

  /// end the stream. -
  virtual void control_object (TAO_AV_Protocol_Object *object); -
  virtual int destroy (void) = 0; -
  TAO_AV_Transport *transport (void); -
protected: -
  TAO_AV_Transport *transport_; -
  TAO_AV_PolicyList policy_list_; -
  TAO_AV_Callback *callback_; -
}; -

For an example of how all the above components are implemented refer -to the implementation of the UDP transport <orbsvcs/orbsvcs/AV/UDP.h>  -and <orbsvcs/orbsvcs/AV/UDP.cpp> -

-


-

-Using a Pluggable Protocol

-Once the TAO AV pluggable transport and flow protocols are implemented -they can be loaded into the AV Streams framework by adding their entries -to the Service Configurator file (eg. svc.conf) for that protocol: -

A typical svc.conf will look like this: -

dynamic TAO_AV_Resource_Factory Service_Object * TAO_AV:_make_TAO_AV_Resource_Factory() -"" -
dynamic ATM_Factory Service_Object * TAO_AV:_make_TAO_AV_ATM_Factory() -"" -
static TAO_AV_Resource_Factory "-AVTransportFactory ATM_Factory" -
dynamic SFP_Factory Service_Object * TAO_AV:_make_TAO_AV_SFP_Factory() -"" -
static TAO_AV_Resource_Factory "-AVFlowProtocolFactory SFP_Factory" -

The TAO_AV_Resource_Factory is a the default resource factory that helps -to load the different transport and flow protocols to the corresponding -factory sets. -

NOTE: The TAO_AV_Resource_Factory must be loaded in order to load -the pluggable protocols, ie. the first statement shown above is mandatory -to load the protocols. -

The above entries show how to add a transport factory eg. ATM Factory -and a flow protocol factory eg. SFP Factory. The -AVTransportFactory -option causes the specified transport protocol factory to be loaded into -the AV Core and the -AVFlowProtocolFactory option causes the specified -flow protocol factory to be loaded into the AV Core. - - diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_export.h b/TAO/orbsvcs/orbsvcs/AV/AV_export.h deleted file mode 100644 index bfabf3dcde8..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/AV_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_AV_EXPORT_H -#define TAO_AV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_AV_HAS_DLL) -# define TAO_AV_HAS_DLL 0 -# endif /* ! TAO_AV_HAS_DLL */ -#else -# if !defined (TAO_AV_HAS_DLL) -# define TAO_AV_HAS_DLL 1 -# endif /* ! TAO_AV_HAS_DLL */ -#endif - -#if defined (TAO_AV_HAS_DLL) && (TAO_AV_HAS_DLL == 1) -# if defined (TAO_AV_BUILD_DLL) -# define TAO_AV_Export ACE_Proper_Export_Flag -# define TAO_AV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_AV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_AV_BUILD_DLL */ -# define TAO_AV_Export ACE_Proper_Import_Flag -# define TAO_AV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_AV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_AV_BUILD_DLL */ -#else /* TAO_AV_HAS_DLL == 1 */ -# define TAO_AV_Export -# define TAO_AV_SINGLETON_DECLARATION(T) -# define TAO_AV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_AV_HAS_DLL == 1 */ - -#endif /* TAO_AV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp deleted file mode 100644 index 4d15bdd853a..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp +++ /dev/null @@ -1,435 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Endpoint_Strategy.cpp -// -// = AUTHOR -// Sumedh Mungee -// -// -// ============================================================================ - -#include "orbsvcs/AV/Endpoint_Strategy.h" - -#include "tao/debug.h" -#include "tao/ORB_Core.h" - -#include "ace/Process_Semaphore.h" - -ACE_RCSID(AV, Endpoint_Strategy, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Strategy -// ---------------------------------------------------------------------- - -// Constructor -TAO_AV_Endpoint_Strategy::TAO_AV_Endpoint_Strategy (void) -{ -} - -// Destructor. -TAO_AV_Endpoint_Strategy::~TAO_AV_Endpoint_Strategy (void) -{ - -} - -// The base class defines the "failure" case, so that unless the -// subclasses override this, the call will fail. This is done so that -// subclasses need only define the calls that they want to support, -// and the remaining calls will fail automagically -int -TAO_AV_Endpoint_Strategy::create_A (AVStreams::StreamEndPoint_A_ptr & /* stream_endpoint */, - AVStreams::VDev_ptr & /* vdev */ - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Error creating A endpoint\n"), - -1); -} - -// The base class defines the "failure" case, so that unless the -// subclasses override this, the call will fail. This is done so that -// subclasses need only define the calls that they want to support, -// and the remaining calls will fail automagically -int -TAO_AV_Endpoint_Strategy::create_B (AVStreams::StreamEndPoint_B_ptr & /* stream_endpoint */, - AVStreams::VDev_ptr & /*vdev */ - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Error creating B endpoint\n"), - -1); -} - - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Process_Strategy -// ---------------------------------------------------------------------- - -// Constructor -TAO_AV_Endpoint_Process_Strategy::TAO_AV_Endpoint_Process_Strategy (ACE_Process_Options *process_options) - : process_options_ (process_options), - pid_ (-1) -{ - ACE_OS::hostname (this->host_, - sizeof this->host_); -} - -// Destructor. -TAO_AV_Endpoint_Process_Strategy::~TAO_AV_Endpoint_Process_Strategy (void) -{ -} - -// Spawns the process, and waits for it to finish booting. -// Then uses bind_to_naming_service, get_stream_endpoint, and get_vdev -// to get the object references to the various objects created in the -// child -int -TAO_AV_Endpoint_Process_Strategy::activate (void) -{ - ACE_Process process; - - // Create a new process to contain this endpoint - this->pid_ = process.spawn (*this->process_options_); - - // Process creation failed - if (this->pid_ == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) ACE_Process:: spawn failed: %p\n", - "spawn"), - -1); - - // Create a unique semaphore name, using my hostname, and pid. - char sem_str [BUFSIZ]; - - // create a unique semaphore name - ACE_OS::sprintf (sem_str, - "%s:%s:%ld", - "TAO_AV_Process_Semaphore", - this->host_, - static_cast (this->pid_)); - - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) semaphore is %s\n", - sem_str)); - // Create the semaphore - ACE_Process_Semaphore semaphore (0, // 0 means that the - // semaphore is locked initially - sem_str); - - // wait until the child finishes booting - while (1) - { - if (semaphore.acquire () == -1) - { - // See if my child process is still alive -- if not, return an error - if (ACE_OS::kill (this->pid_, - 0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Process_Strategy: Process being waited on died unexpectedly.\n"), - -1); - // if we were not interrupted due to a EINTR, break - if (errno != EINTR) - break; - } - else - break; - } - - // The job of the semaphore is done, remove it. - if (semaphore.remove () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) semaphore remove failed: %p\n", - "remove"), - -1); - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Get ourselves a Naming service - this->bind_to_naming_service (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Get the stream endpoint created by the child from the naming service - this->get_stream_endpoint (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Get the Vdev created by the child from the naming service - this->get_vdev (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Process_Strategy::activate"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Get ourselves a Naming service reference -int -TAO_AV_Endpoint_Process_Strategy::bind_to_naming_service (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - if (CORBA::is_nil (this->naming_context_.in ()) == 0) - return 0; - - CORBA::Object_var naming_obj = - TAO_ORB_Core_instance ()->orb ()->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (naming_obj.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to resolve the Name Service.\n"), - -1); - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Process_Strategy::bind_to_naming_service"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Get the VDev created in the child process from the namingservice -int -TAO_AV_Endpoint_Process_Strategy::get_vdev (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - char vdev_name [BUFSIZ]; - ACE_OS::sprintf (vdev_name, - "%s:%s:%ld", - "VDev", - this->host_, - (long) this->pid_); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",vdev_name)); - - // Create the name - CosNaming::Name VDev_Name (1); - VDev_Name.length (1); - VDev_Name [0].id = CORBA::string_dup (vdev_name); - - // Get the CORBA::Object - CORBA::Object_var vdev = - this->naming_context_->resolve (VDev_Name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Narrow it - this->vdev_ = - AVStreams::VDev::_narrow (vdev.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Check if valid - if (CORBA::is_nil (this->vdev_.in() )) - ACE_ERROR_RETURN ((LM_ERROR, - " could not resolve Stream_Endpoint_B in Naming service <%s>\n"), - -1); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Process_Strategy::get_vdev"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Process_Strategy_A -// ---------------------------------------------------------------------- - -// Constructor -TAO_AV_Endpoint_Process_Strategy_A::TAO_AV_Endpoint_Process_Strategy_A (ACE_Process_Options *process_options) - : TAO_AV_Endpoint_Process_Strategy (process_options) -{ -} - -// Destructor -TAO_AV_Endpoint_Process_Strategy_A::~TAO_AV_Endpoint_Process_Strategy_A (void) -{ -} - -// the "A" type endpoint creator -int -TAO_AV_Endpoint_Process_Strategy_A::create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL_NOT_USED) -{ - // use the baseclass activate - if (this->activate () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) TAO_AV_Endpoint_Process_Strategy: Error in activate ()\n"), - -1); - - // return the object references - stream_endpoint = AVStreams::StreamEndPoint_A::_duplicate( this->stream_endpoint_a_.in() ); - vdev = AVStreams::VDev::_duplicate( this->vdev_.in() ); - return 0; - -} - -// Gets the stream endpoint object reference from the naming service -int -TAO_AV_Endpoint_Process_Strategy_A::get_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - char stream_endpoint_name[BUFSIZ]; - ACE_OS::sprintf (stream_endpoint_name, - "%s:%s:%ld", - "Stream_Endpoint_A", - this->host_, - (long) this->pid_); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",stream_endpoint_name)); - - // Create the name - CosNaming::Name Stream_Endpoint_A_Name (1); - - Stream_Endpoint_A_Name.length (1); - Stream_Endpoint_A_Name [0].id = CORBA::string_dup (stream_endpoint_name); - - // Get the CORBA::Object - CORBA::Object_var stream_endpoint_a = - this->naming_context_->resolve (Stream_Endpoint_A_Name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Narrow the reference - this->stream_endpoint_a_ = - AVStreams::StreamEndPoint_A::_narrow (stream_endpoint_a.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Check for validity - if (CORBA::is_nil (this->stream_endpoint_a_.in() )) - ACE_ERROR_RETURN ((LM_ERROR, - " could not resolve Stream_Endpoint_A in Naming service <%s>\n"), - -1); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Process_Strategy_A::get_stream_endpoint"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Process_Strategy_B -// ---------------------------------------------------------------------- - -// Constructor -TAO_AV_Endpoint_Process_Strategy_B::TAO_AV_Endpoint_Process_Strategy_B (ACE_Process_Options *process_options) - : TAO_AV_Endpoint_Process_Strategy (process_options) -{ -} - -// Destructor -TAO_AV_Endpoint_Process_Strategy_B::~TAO_AV_Endpoint_Process_Strategy_B (void) -{ -} - -// Creates and returns a "B" type endpoint -int -TAO_AV_Endpoint_Process_Strategy_B::create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - if (this->activate () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) TAO_AV_Endpoint_Process_Strategy: Error in activate ()\n"), - -1); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Endpoint_Process_Strategy_B::create_B ()\n: stream_endpoint is:%s\n", - TAO_ORB_Core_instance ()->orb ()->object_to_string (this->stream_endpoint_b_.in() - ACE_ENV_ARG_PARAMETER))); - ACE_TRY_CHECK; - stream_endpoint = AVStreams::StreamEndPoint_B::_duplicate ( this->stream_endpoint_b_.in() ); - vdev = AVStreams::VDev::_duplicate( this->vdev_.in() ); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Process_Strategy_B::create_B\n"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Gets the B type stream_endpoint from the Naming service -int -TAO_AV_Endpoint_Process_Strategy_B::get_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - char stream_endpoint_name[BUFSIZ]; - ACE_OS::sprintf (stream_endpoint_name, - "%s:%s:%ld", - "Stream_Endpoint_B", - this->host_, - (long) this->pid_); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",stream_endpoint_name)); - - // Create the name - CosNaming::Name Stream_Endpoint_B_Name (1); - - Stream_Endpoint_B_Name.length (1); - Stream_Endpoint_B_Name [0].id = CORBA::string_dup (stream_endpoint_name); - - // Get the CORBA::Object reference - CORBA::Object_var stream_endpoint_b = - this->naming_context_->resolve (Stream_Endpoint_B_Name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Narrow the reference - this->stream_endpoint_b_ = - AVStreams::StreamEndPoint_B::_narrow (stream_endpoint_b.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Check for validity - if (CORBA::is_nil (this->stream_endpoint_b_.in() )) - ACE_ERROR_RETURN ((LM_ERROR, - " could not resolve Stream_Endpoint_B in Naming service <%s>\n"), - -1); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Process_Strategy_B::get_stream_endpoint"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h deleted file mode 100644 index 2cc9158853b..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h +++ /dev/null @@ -1,190 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Endpoint_Strategy.h - * - * $Id$ - * - * @author Sumedh Mungee - */ -//============================================================================= - - -#ifndef TAO_AV_ENDPOINT_STRATEGY_H -#define TAO_AV_ENDPOINT_STRATEGY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AVStreams_i.h" -#include "ace/os_include/os_netdb.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined (_MSC_VER) -# pragma warning(push) -# pragma warning (disable : 4250) -#endif /* _MSC_VER */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Process_Options; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_Endpoint_Strategy - * - * Base class to define various endpoint strategies - * used by the MMDevice to create the Endpoint and Vdev - */ -class TAO_AV_Export TAO_AV_Endpoint_Strategy -{ - -public: - /// Constructor - TAO_AV_Endpoint_Strategy (void); - - /// Destructor - virtual ~TAO_AV_Endpoint_Strategy (void); - - /// Called by the MMDevice, when it needs to create an A type endpoint - virtual int create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL); - - /// Called by the MMDevice, when it needs to create an B type endpoint - virtual int create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL); - -protected: - /// The "A" stream endpoint - AVStreams::StreamEndPoint_A_var stream_endpoint_a_; - - /// The "B" stream endpoint - AVStreams::StreamEndPoint_B_var stream_endpoint_b_; - - /// The vdev - AVStreams::VDev_var vdev_; - -}; - -// ---------------------------------------------------------------------- -/** - * @class TAO_AV_Endpoint_Process_Strategy - * @brief Process-based strategy for creating endpoints. - * Abstract base class. - */ -class TAO_AV_Export TAO_AV_Endpoint_Process_Strategy - : public TAO_AV_Endpoint_Strategy -{ - -public: - /// Constructor. The process_options contain the name and arguments - /// for the process to be created - TAO_AV_Endpoint_Process_Strategy (ACE_Process_Options *process_options); - - /// Destructor. - virtual ~TAO_AV_Endpoint_Process_Strategy (void); - - /// creates a new child process, and waits on a semaphore - /// until the child process has finished creating the endpoints - virtual int activate (void); - -protected: - /// Bind to the naming service - virtual int bind_to_naming_service (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Get the object reference for the newly created stream - * endpoint (which will be in the child process) - * Subclasses will define the functionality for this - */ - virtual int get_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Get the Vdev object reference for the newly created - /// endpoint - virtual int get_vdev (ACE_ENV_SINGLE_ARG_DECL); - - /// Naming context - CosNaming::NamingContext_var naming_context_; - - /// Name and arguments for the process to be created - ACE_Process_Options *process_options_; - - /// name of this host used for resolving unique names. - char host_[MAXHOSTNAMELEN]; - - /// My child's process id. - pid_t pid_; -}; - - -// ---------------------------------------------------------------------- - -/** - * @class TAO_AV_Endpoint_Process_Strategy_A - * @brief Process-based strategy to create "A" type endpoints - */ -class TAO_AV_Export TAO_AV_Endpoint_Process_Strategy_A - : public TAO_AV_Endpoint_Process_Strategy -{ - -public: - /// Constructor - TAO_AV_Endpoint_Process_Strategy_A (ACE_Process_Options *process_options); - - /// Destructor. - virtual ~TAO_AV_Endpoint_Process_Strategy_A (void); - -protected: - /// Creates an "A" type stream endpoint, and a vdev - virtual int create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL); - - /// Gets the "A" type stream endpoint from the child process - virtual int get_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL); - -}; - -// ---------------------------------------------------------------------- - -/** - * @class TAO_AV_Endpoint_Process_Strategy_B - * @brief Process-based strategy to create "B" type endpoints - */ -class TAO_AV_Export TAO_AV_Endpoint_Process_Strategy_B - : public TAO_AV_Endpoint_Process_Strategy -{ - -public: - /// Constructor - TAO_AV_Endpoint_Process_Strategy_B (ACE_Process_Options *process_options); - - /// Destructor. - virtual ~TAO_AV_Endpoint_Process_Strategy_B (void); - -protected: - /// Creates a "B" type stream endpoint, and a vdev - virtual int create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL); - - - /// Gets the object reference of the "B" type streamendpoint. - virtual int get_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -// Include the templates here. -#include "orbsvcs/AV/Endpoint_Strategy_T.h" - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_ENDPOINT_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp deleted file mode 100644 index b52287ef621..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp +++ /dev/null @@ -1,837 +0,0 @@ -// $Id$ - -#ifndef TAO_AV_ENDPOINT_STRATEGY_T_CPP -#define TAO_AV_ENDPOINT_STRATEGY_T_CPP - -#include "orbsvcs/AV/Endpoint_Strategy_T.h" - -#include "tao/debug.h" - -#include "ace/Process_Semaphore.h" -#include "ace/OS_NS_unistd.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Reactive_Strategy -// ---------------------------------------------------------------------- - -template -TAO_AV_Endpoint_Reactive_Strategy ::TAO_AV_Endpoint_Reactive_Strategy (void) - : stream_endpoint_a_servant_(0), stream_endpoint_b_servant_(0), vdev_servant_(0), - media_ctrl_servant_(0) -{ -} - -template -TAO_AV_Endpoint_Reactive_Strategy ::~TAO_AV_Endpoint_Reactive_Strategy (void) -{ - // Do not allow exceptions to escape from the destructor - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - if(this->stream_endpoint_a_servant_ ) - { - stream_endpoint_a_servant_->_remove_ref ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - if(this->stream_endpoint_b_servant_) - { - stream_endpoint_b_servant_->_remove_ref ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - if(this->vdev_servant_) - { - vdev_servant_->_remove_ref ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - if(this->media_ctrl_servant_) - { - media_ctrl_servant_->_remove_ref ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - } -# if defined (ACE_HAS_EXCEPTIONS) \ - && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS) - ACE_CATCHALL - { - } -# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */ - ACE_ENDTRY; - -} - -// Create, activate the objects with the POA -template -int -TAO_AV_Endpoint_Reactive_Strategy ::activate (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->activate_stream_endpoint (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Endpoint_Reactive_Strategy::activated stream_endpoint\n")); - - this->activate_vdev (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Endpoint_Reactive_Strategy::activated vdev\n")); - - this->activate_mediactrl (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Endpoint_Reactive_Strategy::activated mediactrl\n")); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_Endpoint_Reactive_Strategy::activate"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -template -char * -TAO_AV_Endpoint_Reactive_Strategy ::activate_with_poa (PortableServer::Servant servant ACE_ENV_ARG_DECL) -{ - - PortableServer::ObjectId_var id = - this->poa_->activate_object (servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Object_var obj = - this->poa_->id_to_reference (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::String_var str = - this->orb_->object_to_string (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return str._retn (); -} - - -// Activate VDev into the POA -template -int -TAO_AV_Endpoint_Reactive_Strategy ::activate_vdev (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - // Bridge pattern. Allow subclasses to override this behavior - T_VDev *vdev = 0; - if (this->make_vdev (vdev) == -1) - return -1; - - // Activate the object under the root poa. -// CORBA::String_var vdev_ior = this->activate_with_poa (vdev, -// ACE_ENV_ARG_PARAMETER); -// ACE_TRY_CHECK; -// if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Endpoint_Reactive_Strategy::activate_vdev, vdev ior is:%s\n", -// vdev_ior. in ())); - - // Save the object reference, so that create_A can return it - this->vdev_ = vdev->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Reactive_Strategy::activate_vdev"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - - -// Activate the media_controller -template -int -TAO_AV_Endpoint_Reactive_Strategy ::activate_mediactrl (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - // Bridge pattern. Subclasses can override this - if (this->make_mediactrl ( media_ctrl_servant_ ) == -1) - return -1; - - // Associate the media controller object reference with the vdev, as per the OMG spec - CORBA::Any anyval; - media_ctrl_obj_ - = media_ctrl_servant_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - anyval <<= media_ctrl_obj_.in(); - - ACE_TRY_CHECK; - - this->vdev_->define_property ("Related_MediaCtrl", - anyval - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Reactive_Strategy::activate_mediactrl"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Bridge method -template -int -TAO_AV_Endpoint_Reactive_Strategy::make_stream_endpoint (T_StreamEndpoint *&stream_endpoint) -{ - ACE_NEW_RETURN (stream_endpoint, - T_StreamEndpoint, - -1); - return 0; -} - -// Bridge method -template -int -TAO_AV_Endpoint_Reactive_Strategy::make_vdev (T_VDev *&vdev) -{ - ACE_NEW_RETURN (vdev, - T_VDev, - -1); - return 0; -} - -// Bridge method -template -int -TAO_AV_Endpoint_Reactive_Strategy::make_mediactrl (T_MediaCtrl *&media_ctrl) -{ - ACE_NEW_RETURN (media_ctrl, - T_MediaCtrl, - -1); - return 0; -} - - -// ---------------------------------------------------------------------- - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Reactive_Strategy_A -// ---------------------------------------------------------------------- - -//Constructor -template -TAO_AV_Endpoint_Reactive_Strategy_A ::TAO_AV_Endpoint_Reactive_Strategy_A (void) -{ -} - - -// Destructor -template -TAO_AV_Endpoint_Reactive_Strategy_A ::~TAO_AV_Endpoint_Reactive_Strategy_A (void) -{ -} - - -template -int -TAO_AV_Endpoint_Reactive_Strategy_A ::init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa) -{ - this->orb_ = CORBA::ORB::_duplicate (orb); - this->poa_ = PortableServer::POA::_duplicate (poa); - return 0; -} - -// Creates an "A" type streamendpoint, and a vdev and returns the -// object references -template -int -TAO_AV_Endpoint_Reactive_Strategy_A::create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL_NOT_USED/* ACE_ENV_SINGLE_ARG_PARAMETER */) -{ - if (this->activate () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) TAO_AV_Endpoint_Reactive_Strategy_A: Error in activate ()\n"), - -1); - - stream_endpoint = AVStreams::StreamEndPoint_A::_duplicate( this->stream_endpoint_a_.in() ); - vdev = AVStreams::VDev::_duplicate( this->vdev_.in() ); - return 0; - -} - -// Put the stream_endpoint into the POA -template -int -TAO_AV_Endpoint_Reactive_Strategy_A ::activate_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - - // Use the bridge method - if (this->make_stream_endpoint (this->stream_endpoint_a_servant_) == -1) - return -1; - - // Save the object references, so that create_a can return them - this->stream_endpoint_a_ = this->stream_endpoint_a_servant_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Reactive_Strategy_A::activate_stream_endpoint"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// ---------------------------------------------------------------------- -// TAO_AV_Endpoint_Reactive_Strategy_B -// ---------------------------------------------------------------------- - - -// Constructor -template -TAO_AV_Endpoint_Reactive_Strategy_B ::TAO_AV_Endpoint_Reactive_Strategy_B (void) -{ -} - -// Destructor -template -TAO_AV_Endpoint_Reactive_Strategy_B ::~TAO_AV_Endpoint_Reactive_Strategy_B (void) -{ -} - - -template -int -TAO_AV_Endpoint_Reactive_Strategy_B ::init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa) -{ - this->orb_ = CORBA::ORB::_duplicate (orb); - this->poa_ = PortableServer::POA::_duplicate (poa); - return 0; -} - -// Activate stream_endpoint -template -int -TAO_AV_Endpoint_Reactive_Strategy_B ::activate_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - if (this->make_stream_endpoint ( this->stream_endpoint_b_servant_ ) == -1) - return -1; - - this->stream_endpoint_b_ = this->stream_endpoint_b_servant_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Endpoint_Reactive_Strategy_B::activate_stream_endpoint"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Returns a "B" type stream_endpoint and a vdev -template -int -TAO_AV_Endpoint_Reactive_Strategy_B::create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL_NOT_USED/* ACE_ENV_SINGLE_ARG_PARAMETER */) -{ - if (this->activate () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) TAO_AV_Endpoint_Reactive_Strategy_B: Error in activate ()\n"), - -1); - - stream_endpoint = AVStreams::StreamEndPoint_B::_duplicate( this->stream_endpoint_b_.in() ); - vdev = AVStreams::VDev::_duplicate( this->vdev_.in() ); - - return 0; -} - -// ---------------------------------------------------------------------- -// TAO_AV_Child_Process -// ---------------------------------------------------------------------- - -// Constructor -template -TAO_AV_Child_Process ::TAO_AV_Child_Process () - : stream_endpoint_name_ (0), - pid_ (-1) -{ - this->pid_ = ACE_OS::getpid (); - if (this->pid_ == 0) - ACE_ERROR ((LM_ERROR,"getpid () failed\n")); - ACE_OS::hostname (this->host_, - sizeof this->host_); -} - -// Initializes the ORB, activates the objects, and release the semaphore -template -int -TAO_AV_Child_Process ::init (int argc, - char **argv, - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->orb_ = orb; - - this->poa_ = poa; - - // create the objects and activate them in the poa - this->activate_objects (argc, - argv - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Get ourselves a naming_service object reference - this->bind_to_naming_service (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Register the vdev with the naming service - this->register_vdev (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // register the stream_endpoing with the naming_service - this->register_stream_endpoint (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_Child_Process"); - return -1; - } - ACE_ENDTRY; - - // release the semaphore the parent is waiting on - if (this->release_semaphore () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Error releasing semaphores\n"), - -1); - - return 0; -} - -template -char * -TAO_AV_Child_Process ::activate_with_poa (PortableServer::Servant servant - ACE_ENV_ARG_DECL) -{ - - PortableServer::ObjectId_var id = - this->poa_->activate_object (servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Object_var obj = - this->poa_->id_to_reference (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::String_var str = - this->orb_->object_to_string (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return str._retn (); -} - -// initializes the orb, and activates the objects -template -int -TAO_AV_Child_Process ::activate_objects (int /*argc*/, - char ** /*argv*/ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - // bridge method to make a new stream endpoint - if (this->make_stream_endpoint (this->stream_endpoint_) == -1) - return -1; - - // bridge method to make a new vdev - if (this->make_vdev (this->vdev_) == -1) - return -1; - - // bridge method to make a new media controller - if (this->make_mediactrl (this->media_ctrl_) == -1) - return -1; - - // activate the stream_endpoint - CORBA::String_var stream_endpoint_ior = this->activate_with_poa (this->stream_endpoint_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "(%P|%t)TAO_AV_Child_Process::activate_objects,stream_endpoint_ior :%s\n", - stream_endpoint_ior.in ())); - - // activate the vdev - CORBA::String_var vdev_ior = this->activate_with_poa (this->vdev_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "(%P|%t)TAO_AV_Child_Process::activate_objects, vdev ior is :%s\n", - vdev_ior.in ())); - - // activate the media controller - CORBA::String_var media_ctrl_ior = this->activate_with_poa (this->media_ctrl_ - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects,media_ctrl_ior is: %s\n",media_ctrl_ior.in ())); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::init "); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Bind to the namingservice -template -int -TAO_AV_Child_Process ::bind_to_naming_service (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - CORBA::Object_var naming_obj = - this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil (naming_obj.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to resolve the Name Service.\n"), - -1); - // if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "(%P|%t) %s:%d\n", __FILE__, __LINE__)); - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::bind_to_naming_service"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// register the vdev with the naming service -template -int -TAO_AV_Child_Process ::register_vdev (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - char vdev_name [BUFSIZ]; - ACE_OS::sprintf (vdev_name, - "%s:%s:%ld", - "VDev", - this->host_, - static_cast (this->pid_)); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",vdev_name)); - // create the name - this->vdev_name_.length (1); - this->vdev_name_ [0].id = CORBA::string_dup (vdev_name); - - // make the media controller a property of the vdev - CORBA::Any media_ctrl_property; - media_ctrl_obj_ = - this->media_ctrl_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->vdev_->define_property ("Related_MediaCtrl", - media_ctrl_obj_.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - vdev_obj_ = this->vdev_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TRY_CHECK; - ACE_TRY_EX (bind) - { - // Register the vdev with the naming server. - this->naming_context_->bind (this->vdev_name_, - vdev_obj_.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (bind); - } - ACE_CATCH (CosNaming::NamingContext::AlreadyBound,ex) - { - // If the object was already there, replace the older reference - // with this one - this->naming_context_->rebind (this->vdev_name_, - vdev_obj_.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::register_vdev"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::register_vdev"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// run the orb event look -template -int -TAO_AV_Child_Process ::run (ACE_Time_Value *tv) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->orb_->run (tv ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"orb.run ()"); - return -1; - } - ACE_ENDTRY; - return 0; -} - -// release the semaphore the parent is waiting on -template -int -TAO_AV_Child_Process ::release_semaphore () -{ - char sem_str [BUFSIZ]; - - long pid = this->pid_; - sprintf (sem_str, - "%s:%s:%ld", - "TAO_AV_Process_Semaphore", - this->host_, - pid); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "(%P|%t) semaphore is %s\n", - sem_str)); - - // Release the lock on which the server is waiting - ACE_Process_Semaphore semaphore (0, // 0 means that the semaphore is - // initially locked - sem_str); - - if (semaphore.release () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Error releasing semaphore %s: %p\n", - sem_str, - "semaphore.release ()"), - -1); - - return 0; -} - -// register the stream_endpoint with the naming service -template -int -TAO_AV_Child_Process ::register_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) -{ - CORBA::Object_ptr stream_endpoint_obj = CORBA::Object::_nil (); - ACE_TRY - { - stream_endpoint_obj = this->stream_endpoint_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Create a name for the video control object - // subclasses can define their own name for the streamendpoint - // Register the stream endpoint object with the naming server. - this->naming_context_->bind (this->stream_endpoint_name_, - stream_endpoint_obj - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosNaming::NamingContext::AlreadyBound,ex) - { - // if the name was already there, replace the reference with the new one - this->naming_context_->rebind (this->stream_endpoint_name_, - stream_endpoint_obj - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_Endpoint_Reactive_Strategy::activate"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// Bridge method to make a new stream_endpoint -template -int -TAO_AV_Child_Process::make_stream_endpoint (T_StreamEndpoint *&stream_endpoint) -{ - ACE_NEW_RETURN (stream_endpoint, - T_StreamEndpoint, - -1); - return 0; -} - -// Bridge method to make a new vdev -template -int -TAO_AV_Child_Process::make_vdev (T_VDev *&vdev) -{ - ACE_NEW_RETURN (vdev, - T_VDev, - -1); - return 0; -} - -// Bridge method to make a new media controller -template -int -TAO_AV_Child_Process::make_mediactrl (T_MediaCtrl *&media_ctrl) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t) TAO_AV_Child_Process::make_mediactrl ()\n")); - ACE_NEW_RETURN (media_ctrl, - T_MediaCtrl, - -1); - return 0; -} - - -template -int -TAO_AV_Child_Process::unbind_names (void) -{ - // Remove the names from the naming service - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - if (CORBA::is_nil (this->naming_context_.in ()) == 0) - return 0; - this->naming_context_->unbind (this->stream_endpoint_name_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->naming_context_->unbind (this->vdev_name_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_Endpoint_Process_Strategy::activate"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -// %% its not clear whether we should be deleting the objects, since -// if the application overrides the make_mediactrl methods etc., -// then, we may not own these objects. -// For now, we dont delete the objects, since they exist for the -// lifetime of the process anyway -template -TAO_AV_Child_Process::~TAO_AV_Child_Process () -{ - this->unbind_names (); -} - -// ---------------------------------------------------------------------- -// TAO_AV_Child_Process_A -// ---------------------------------------------------------------------- - -// Define the name of the stream_endpoint, as used to register with -// the naming service -template -TAO_AV_Child_Process_A::TAO_AV_Child_Process_A () -{ - char stream_endpoint_name[BUFSIZ]; - ACE_OS::sprintf (stream_endpoint_name, - "%s:%s:%ld", - "Stream_Endpoint_A", - this->host_, - static_cast (this->pid_)); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",stream_endpoint_name)); - this->stream_endpoint_name_.length (1); - this->stream_endpoint_name_ [0].id = CORBA::string_dup (stream_endpoint_name); -} - -template -TAO_AV_Child_Process_A ::~TAO_AV_Child_Process_A () -{ -} - -// ---------------------------------------------------------------------- -// TAO_AV_Child_Process_B -// ---------------------------------------------------------------------- - -// Define the name of the stream_endpoint, as used to register with -// the naming service -template -TAO_AV_Child_Process_B::TAO_AV_Child_Process_B () -{ - char stream_endpoint_name[BUFSIZ]; - ACE_OS::sprintf (stream_endpoint_name, - "%s:%s:%ld", - "Stream_Endpoint_B", - this->host_, - static_cast (this->pid_)); - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",stream_endpoint_name)); - this->stream_endpoint_name_.length (1); - this->stream_endpoint_name_ [0].id = CORBA::string_dup (stream_endpoint_name); -} - -template -TAO_AV_Child_Process_B::~TAO_AV_Child_Process_B () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_AV_ENDPOINT_STRATEGY_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h deleted file mode 100644 index 45210da5406..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h +++ /dev/null @@ -1,293 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Endpoint_Strategy_T.h - * - * $Id$ - * - * @author Sumedh Mungee - * @author Nagarajan Surendran - */ -//============================================================================= - -#ifndef TAO_AV_ENDPOINT_STRATEGY_T_H -#define TAO_AV_ENDPOINT_STRATEGY_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/Endpoint_Strategy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_Endpoint_Reactive_Strategy - * @brief Reactive strategy base class - */ -template -class TAO_AV_Endpoint_Reactive_Strategy -: public TAO_AV_Endpoint_Strategy -{ - -protected: - // Constructor - - /// Constructor - TAO_AV_Endpoint_Reactive_Strategy (void); - - /// Destructor. - virtual ~TAO_AV_Endpoint_Reactive_Strategy (void); - - /// creates and activates the streamendpoint, vdev, and mediacontrol - virtual int activate (void); - - /// activates the stream_endpoint with the POA - virtual int activate_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// activates the vdev with the POA - virtual int activate_vdev (ACE_ENV_SINGLE_ARG_DECL); - - /// activates the media controller with the POA - virtual int activate_mediactrl (ACE_ENV_SINGLE_ARG_DECL); - - /// Bridge method to create a vdev, a la Acceptor. Applications - /// can override this - virtual int make_vdev (T_VDev *&vdev); - - /// Bridge method to create a stream_endpoint, a la Acceptor. Applications - /// can override this - virtual int make_stream_endpoint (T_StreamEndpoint *&stream_endpoint); - - /// Bridge method to create a media_ctrl, a la Acceptor. Applications - /// can override this - virtual int make_mediactrl (T_MediaCtrl *&media_ctrl); - - - char* activate_with_poa (PortableServer::Servant servant ACE_ENV_ARG_DECL); - - CORBA::ORB_var orb_; - - PortableServer::POA_var poa_; - - CORBA::Object_var media_ctrl_obj_; - - T_StreamEndpoint *stream_endpoint_a_servant_; - - T_StreamEndpoint *stream_endpoint_b_servant_; - - T_VDev *vdev_servant_; - - T_MediaCtrl *media_ctrl_servant_; -}; -// ---------------------------------------------------------------------- - -/** - * @class TAO_AV_Endpoint_Reactive_Strategy_A - * @brief Reactive strategy - */ -template -class TAO_AV_Endpoint_Reactive_Strategy_A - : public TAO_AV_Endpoint_Reactive_Strategy -{ - -public: - - TAO_AV_Endpoint_Reactive_Strategy_A (void); - - /// Constructor - int init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa); - - /// Destructor. - virtual ~TAO_AV_Endpoint_Reactive_Strategy_A (void); - - /// Overrides the base class stream_endpoint activator, to activate - /// an "A" type endpoint - virtual int activate_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL); - - /// Called by the MMDevice, when it needs to create an A type endpoint - virtual int create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL); - -}; - -// ---------------------------------------------------------------------- -/** - * @class TAO_AV_Endpoint_Reactive_Strategy_B - * @brief Reactive strategy - */ -template -class TAO_AV_Endpoint_Reactive_Strategy_B - : public TAO_AV_Endpoint_Reactive_Strategy -{ - -public: - - /// Constructor - TAO_AV_Endpoint_Reactive_Strategy_B (void); - - /// Destructor. - virtual ~TAO_AV_Endpoint_Reactive_Strategy_B (void); - - int init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa); - - /// Overrides the base class stream_endpoint activator, to activate - /// a "B" type endpoint - virtual int activate_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL); - - /// Called by the MMDevice, when it needs to create a B type endpoint - virtual int create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint, - AVStreams::VDev_ptr &vdev - ACE_ENV_ARG_DECL); -}; - -// ---------------------------------------------------------------------- - -/** - * @class TAO_AV_Child_Process - * - * @brief Helper class for the child process created in - * TAO_AV_Endpoint_Process_Strategy - */ -template -class TAO_AV_Child_Process -{ - -public: - /// Constructor - TAO_AV_Child_Process (); - - /// Destructor - virtual ~TAO_AV_Child_Process (); - - /// Initializes the ORB, creates and activates the - /// T_StreamEndpoint, T_VDev, T_MediaCtrl in the POA - int init (int argc, char **argv, CORBA::ORB_ptr orb, PortableServer::POA_ptr poa); - - /// runs the ORB event loop - int run (ACE_Time_Value *tv = 0); - -protected: - /** - * Creates the objects and inserts them into the Naming - * Service, so the parent can pick the IOR's and - * return them to the client - */ - int activate_objects (int argc, - char **argv - ACE_ENV_ARG_DECL); - - ///activate the servant with the poa - char* activate_with_poa (PortableServer::Servant servant ACE_ENV_ARG_DECL); - - /// Removes the vdev and streamendpoint names from the naming service. - int unbind_names (void); - - /// Binds to the naming service - int bind_to_naming_service (ACE_ENV_SINGLE_ARG_DECL); - - /// Registers vdev with the naming service - int register_vdev (ACE_ENV_SINGLE_ARG_DECL); - - /// Registers stream_endpoint with the naming service - int register_stream_endpoint (ACE_ENV_SINGLE_ARG_DECL); - - /// Releases the semaphore on which the parent is waiting on - int release_semaphore (); - - /// Bridge method to create a vdev, a la Acceptor. Applications - /// can override this - virtual int make_vdev (T_VDev *&vdev); - - /// Bridge method to create a stream_endpoint, a la Acceptor. Applications - /// can override this - virtual int make_stream_endpoint (T_StreamEndpoint *&stream_endpoint); - - /// Bridge method to create a media_ctrl, a la Acceptor. Applications - /// can override this - virtual int make_mediactrl (T_MediaCtrl *&media_ctrl); - - /// The root Naming Context of the TAO naming service - CosNaming::NamingContext_var naming_context_; - - /// Name of the vdev - CosNaming::Name vdev_name_; - - /// Name of the stream_endpoint - CosNaming::Name stream_endpoint_name_; - - /// The stream endpoint member - T_StreamEndpoint *stream_endpoint_; - - /// The virtual device - T_VDev *vdev_; - - /// Virtual device CORBA object reference - CORBA::Object_var vdev_obj_; - - /// Media controller - T_MediaCtrl *media_ctrl_; - - // Media controller CORBA object reference - CORBA::Object_var media_ctrl_obj_; - - /// pid of this process - pid_t pid_; - - /// Name of the host. - char host_[MAXHOSTNAMELEN]; - - CORBA::ORB_ptr orb_; - - PortableServer::POA_ptr poa_; - -}; - -// ---------------------------------------------------------------------- -/** - * @class TAO_AV_Child_Process_A - * @brief Helper class for the child process created in TAO_AV_Child_Process - */ -template -class TAO_AV_Child_Process_A - : public TAO_AV_Child_Process -{ - -public: - /// Constructor. - TAO_AV_Child_Process_A (void); - - /// Destructor. - virtual ~TAO_AV_Child_Process_A (void); -}; - -// ---------------------------------------------------------------------- - -/** - * @class TAO_AV_Child_Process_B - * @brief Helper class for the child process created in TAO_AV_Child_Process - */ -template -class TAO_AV_Child_Process_B - : public TAO_AV_Child_Process -{ - -public: - /// Constructor. - TAO_AV_Child_Process_B (void); - - /// Destructor. - virtual ~TAO_AV_Child_Process_B (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/AV/Endpoint_Strategy_T.cpp" -#endif /*ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Endpoint_Strategy_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_ENDPOINT_STRATEGY_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp b/TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp deleted file mode 100644 index e7cca074af3..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp +++ /dev/null @@ -1,75 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/Fill_ACE_QoS.h" - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) - -ACE_RCSID(QOS, Fill_ACE_QoS,"$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const iovec Fill_ACE_QoS::iov_ = {0,0}; - -Fill_ACE_QoS::Fill_ACE_QoS (void) -{ - ACE_NEW (this->default_traffic_, - ACE_Flow_Spec (ACE_QOS_NOT_SPECIFIED, - ACE_QOS_NOT_SPECIFIED, - ACE_QOS_NOT_SPECIFIED, - ACE_QOS_NOT_SPECIFIED, - ACE_QOS_NOT_SPECIFIED, - ACE_SERVICETYPE_NOTRAFFIC, - ACE_QOS_NOT_SPECIFIED, - ACE_QOS_NOT_SPECIFIED, - 25, - 1)); -} - -// destructor. -Fill_ACE_QoS::~Fill_ACE_QoS (void) -{} - -int -Fill_ACE_QoS::fill_simplex_receiver_qos (ACE_QoS &ace_qos, - ACE_Flow_Spec *ace_flow_spec) -{ - ace_qos.receiving_flowspec (ace_flow_spec); - ace_qos.sending_flowspec ((this->default_traffic_)); - ace_qos.provider_specific (Fill_ACE_QoS::iov_); - - return 0; -} - - -int -Fill_ACE_QoS::fill_simplex_sender_qos (ACE_QoS &ace_qos, - ACE_Flow_Spec *sender_flow_spec) -{ - ace_qos.receiving_flowspec ((this->default_traffic_)); - ace_qos.sending_flowspec (sender_flow_spec); - ace_qos.provider_specific (Fill_ACE_QoS::iov_); - - return 0; -} - -int -Fill_ACE_QoS::fill_duplex_qos (ACE_QoS &ace_qos, - ACE_Flow_Spec *recv_flow_spec, - ACE_Flow_Spec *sender_flow_spec) -{ - ace_qos.receiving_flowspec (recv_flow_spec); - ace_qos.sending_flowspec (sender_flow_spec); - ace_qos.provider_specific (Fill_ACE_QoS::iov_); - - return 0; -} - -Fill_ACE_QoS::FLOW_SPEC_HASH_MAP& -Fill_ACE_QoS::map (void) -{ - return this->flow_spec_map_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h b/TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h deleted file mode 100644 index ede10e0e1ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Fill_ACE_QoS.h - * - * $Id$ - * - * @author Vishal Kachroo - */ -//============================================================================= - - -#ifndef FILL_ACE_QOS_H -#define FILL_ACE_QOS_H - -#include "ace/config-all.h" - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) - -#include "tao/Versioned_Namespace.h" - -#include "ace/SString.h" -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Synch.h" -#include "ace/ACE.h" -#include "ace/OS_QoS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class Fill_ACE_QoS - * - * This class helps users to add new flow specs and provides - * utility functions for filling up the flow specs for simplex/duplex - * sessions. - */ -class Fill_ACE_QoS -{ - -public: - typedef ACE_Hash_Map_Manager FLOW_SPEC_HASH_MAP; - - //Initialization and termination methods. - /// constructor. - Fill_ACE_QoS (void); - - /// destructor. - ~Fill_ACE_QoS (void); - - /// To be used by receivers. Fills the receiver qos and sets the - /// sender qos to NO_TRAFFIC. - int fill_simplex_receiver_qos (ACE_QoS &ace_qos, - ACE_Flow_Spec *recv_flow_spec); - - /// To be used by senders. Fills the sender qos and sets the receiver - /// qos to NO_TRAFFIC. - int fill_simplex_sender_qos (ACE_QoS &ace_qos, - ACE_Flow_Spec *recv_flow_spec); - - /// To be used by applications that wish to be both receivers and - /// senders. - int fill_duplex_qos (ACE_QoS &ace_qos, - ACE_Flow_Spec *recv_flow_spec, - ACE_Flow_Spec *sender_flow_spec); - - /// Returns the hash map of flowspecs indexed by flowspec name. - FLOW_SPEC_HASH_MAP& map (void); - -private: - - // The Service Provider is currently set to NULL for all ACE_QoS. - static const iovec iov_; - - // A NO_TRAFFIC flow spec. Senders set the receiving qos to this - // while the receivers set the sending qos to this. - ACE_Flow_Spec *default_traffic_; - - // A list of flowspecs indexed by the flowspec name. - FLOW_SPEC_HASH_MAP flow_spec_map_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ -#endif /* FILL_ACE_QOS_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp deleted file mode 100644 index 76476dafb8b..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp +++ /dev/null @@ -1,1018 +0,0 @@ -// $Id$ - -//------------------------------------------------------------ -// TAO_FlowSpec_Entry -//------------------------------------------------------------ - -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/Protocol_Factory.h" - -#include "tao/debug.h" - -#include "ace/OS_NS_strings.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/AV/FlowSpec_Entry.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// constructor. -TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (void) - :address_ (0), - clean_up_address_ (0), - control_address_ (0), - clean_up_control_address_ (0), - address_str_ (), - format_ (), - direction_ (TAO_AV_INVALID), - direction_str_ (), - flowname_ (), - protocol_ (TAO_AV_Core::TAO_AV_NOPROTOCOL), - carrier_protocol_ (), - flow_protocol_ (), - use_flow_protocol_ (0), - entry_ (), - is_multicast_ (0), - delete_peer_addr_ (false), - peer_addr_ (0), - local_sec_addr_ (0), - num_local_sec_addrs_ (0), - peer_sec_addr_ (0), - num_peer_sec_addrs_ (0), - peer_control_addr_ (0), - local_addr_ (0), - local_control_addr_ (0), - transport_ (0), - control_transport_ (0), - handler_ (0), - control_handler_ (0), - protocol_object_ (0), - control_protocol_object_ (0), - role_ (TAO_AV_INVALID_ROLE) -{ -} - -// constructor. -TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *carrier_protocol, - ACE_Addr *fwd_address, - //ACE_Addr *peer_address, - ACE_Addr *control_address) - :address_ (fwd_address), - clean_up_address_ (0), - control_address_ (control_address), - clean_up_control_address_ (0), - address_str_ (), - format_ (format_name), - direction_str_ (direction ), - flowname_ ( flowname ), - carrier_protocol_ ( carrier_protocol ), - flow_protocol_ ( flow_protocol ), - use_flow_protocol_ (0), - entry_ (), - is_multicast_ (0), - delete_peer_addr_ (false), - peer_addr_ (0), - local_sec_addr_ (0), - num_local_sec_addrs_ (0), - peer_sec_addr_ (0), - num_peer_sec_addrs_ (0), - peer_control_addr_ (0), - local_addr_ (0), - local_control_addr_ (0), - transport_ (0), - control_transport_ (0), - handler_ (0), - control_handler_ (0), - protocol_object_ (0), - control_protocol_object_ (0), - role_ (TAO_AV_INVALID_ROLE) -{ - this->set_protocol (); - this->set_direction (this->direction_str_.c_str()); - this->parse_flow_protocol_string (this->flow_protocol_.c_str() ); -} - -TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *address) - //const char *peer_address) - :address_ (0), - clean_up_address_ (0), - control_address_ (0), - clean_up_control_address_ (0), - address_str_ ( address ), - format_ ( format_name ), - direction_str_ ( direction ), - flowname_ ( flowname ), - carrier_protocol_ (), - flow_protocol_ ( flow_protocol ), - use_flow_protocol_ (0), - entry_ (), - is_multicast_ (0), - peer_addr_ (0), - local_sec_addr_ (0), - num_local_sec_addrs_ (0), - peer_sec_addr_ (0), - num_peer_sec_addrs_ (0), - peer_control_addr_ (0), - local_addr_ (0), - local_control_addr_ (0), - transport_ (0), - control_transport_ (0), - handler_ (0), - control_handler_ (0), - protocol_object_ (0), - control_protocol_object_ (0), - role_ (TAO_AV_INVALID_ROLE) -{ - this->parse_flow_protocol_string (this->flow_protocol_.c_str() ); - this->parse_address (this->address_str_.c_str(), TAO_AV_Core::TAO_AV_DATA); - this->set_direction (this->direction_str_.c_str()); -} - -// Destructor. -TAO_FlowSpec_Entry::~TAO_FlowSpec_Entry (void) -{ - if (this->delete_peer_addr_) - delete this->peer_addr_; - - if (this->clean_up_address_) - delete address_; - if (this->clean_up_control_address_) - delete control_address_; - if (local_control_addr_ != 0) - delete local_control_addr_; -} - -int -TAO_FlowSpec_Entry::set_protocol (void) -{ - if (!this->use_flow_protocol_) - { - if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"TCP") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_TCP; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"SCTP_SEQ") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_SCTP_SEQ; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"UDP") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_UDP; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"QoS_UDP") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_QOS_UDP; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"AAL5") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_AAL5; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"AAL3_4") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_AAL3_4; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"AAL1") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_AAL1; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"RTP/UDP") == 0){ - this->protocol_ = TAO_AV_Core::TAO_AV_UDP; - flow_protocol_ = "RTP"; - } - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"RTP/AAL5") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_RTP_AAL5; - else if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"IPX") == 0) - this->protocol_ = TAO_AV_Core::TAO_AV_IPX; - else - { - this->protocol_ = TAO_AV_Core::TAO_AV_NOPROTOCOL; - return -1; - } - } - else - { - if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"UDP") == 0) - { - if (ACE_OS::strncasecmp (this->flow_protocol_.c_str (),"sfp",3) == 0) - { - this->protocol_ = TAO_AV_Core::TAO_AV_SFP_UDP; - } - else this->protocol_ = TAO_AV_Core::TAO_AV_USERDEFINED_UDP; - } - else - { - this->protocol_ = TAO_AV_Core::TAO_AV_NOPROTOCOL; - return -1; - } - } - - if (this->address_ != 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_FlowSpec_Entry::set_protocol address is not 0\n")); - ACE_INET_Addr *inet_addr = dynamic_cast (this->address_); - char buf[BUFSIZ]; - inet_addr->addr_to_string (buf,BUFSIZ); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_FlowSpec_Entry::set_protocol:%s %x\n",buf, inet_addr->get_ip_address ())); - if (IN_CLASSD (inet_addr->get_ip_address ())) - { - this->is_multicast_ = 1; - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_RTP_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_RTP_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_SFP_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_SFP_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST; - break; - default: - break; - } - } - } - return 0; -} - -int -TAO_FlowSpec_Entry::parse_address (const char *address, - TAO_AV_Core::Flow_Component flow_comp) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_FlowSpec_Entry::parse_address [%s]\n", address)); - - if (address == 0) - return 0; - if (ACE_OS::strcmp (address,"") == 0) - return 0; - TAO_Tokenizer protocol_tokenizer (address,'='); - - this->carrier_protocol_ = protocol_tokenizer[0]; - - int result = this->set_protocol (); - if (result < 0) - return result; - - if (protocol_tokenizer [1] != 0) - { - ACE_DEBUG ((LM_DEBUG, - "Protocol tokenixer is not null\n")); - if ((flow_comp == TAO_AV_Core::TAO_AV_DATA) || - //(flow_comp == TAO_AV_Core::TAO_AV_BOTH) || - (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) ) - { - ACE_CString addr; - if (this->protocol_ == TAO_AV_Core::TAO_AV_SCTP_SEQ) - { - TAO_Tokenizer addr_token (protocol_tokenizer [1], ';'); - - ACE_DEBUG ((LM_DEBUG, - "Number of local sec addresses = %d\n", - addr_token.num_tokens () - 1)); - - if (addr_token.num_tokens () != 0) - { - addr += addr_token [0]; - ACE_NEW_RETURN (local_sec_addr_, char* [addr_token.num_tokens () - 1],-1); - for (int j = 1; j <= addr_token.num_tokens () - 1; j++) - { - ACE_DEBUG ((LM_DEBUG, - "adding addresses to sequence %s\n", - addr_token [j])); - - local_sec_addr_ [j-1] = CORBA::string_dup (addr_token [j]); - } - num_local_sec_addrs_ = addr_token.num_tokens () - 1; - } - } - else addr += protocol_tokenizer[1]; - - - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - { - if (flow_comp == TAO_AV_Core::TAO_AV_DATA) - this->address_str_ = addr; - ACE_INET_Addr *inet_addr; - ACE_NEW_RETURN (inet_addr, - ACE_INET_Addr (addr.c_str() ), - -1); - if (flow_comp == TAO_AV_Core::TAO_AV_DATA) - { - this->clean_up_address_ = 1; - this->address_ = inet_addr; - } - else - { - this->clean_up_control_address_ = 1; - this->control_address_ = inet_addr; - } - - if (IN_CLASSD (inet_addr->get_ip_address ())) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_FlowSpec_Entry::parse_address is multicast\n")); - - this->is_multicast_ = 1; - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_RTP_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_RTP_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_SFP_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_SFP_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST; - break; - default: - break; - } - } - } - break; - default: - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"ATM support not added yet\n")); - } - } - else - { - ACE_DEBUG ((LM_DEBUG, - "AV BOTH %s \n", - protocol_tokenizer[1])); - - TAO_Tokenizer address_tokenizer (protocol_tokenizer[1], ':'); - TAO_Tokenizer port_tokenizer (address_tokenizer[1], ';'); - ACE_CString addr; - addr += address_tokenizer[0]; - addr += ":"; - addr += port_tokenizer[0]; - - if (this->protocol_ == TAO_AV_Core::TAO_AV_SCTP_SEQ) - { - - ACE_DEBUG ((LM_DEBUG, - "Number of local sec addresses = %d\n", - port_tokenizer.num_tokens () - 1)); - - if (port_tokenizer.num_tokens () - 1 != 0) - { - ACE_NEW_RETURN (local_sec_addr_, char* [port_tokenizer.num_tokens () - 1],-1); - for (int j = 1; j <= port_tokenizer.num_tokens () - 1; j++) - { - ACE_DEBUG ((LM_DEBUG, - "adding addresses to sequence %s\n", - port_tokenizer [j])); - - local_sec_addr_ [j-1] = CORBA::string_dup (port_tokenizer [j]); - } - num_local_sec_addrs_ = port_tokenizer.num_tokens () - 1; - } - } - - short control_port = static_cast (ACE_OS::atoi(port_tokenizer[0])) + 1; - char control_port_str[6]; - sprintf (control_port_str, "%d", control_port); - - ACE_CString control_addr = ""; - if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"RTP/UDP") == 0) - { - control_addr += address_tokenizer[0]; - control_addr += ":"; - if (port_tokenizer[1] != 0) - control_addr += port_tokenizer[1]; - else - control_addr += control_port_str; - } - - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - { - this->address_str_ = addr; - ACE_INET_Addr *inet_addr; - ACE_NEW_RETURN (inet_addr, - ACE_INET_Addr (addr.c_str() ), - -1); - this->clean_up_address_ = 1; - this->address_ = inet_addr; - - if (ACE_OS::strcasecmp (this->carrier_protocol_.c_str(),"RTP/UDP") == 0) - { - ACE_INET_Addr *control_inet_addr; - ACE_NEW_RETURN (control_inet_addr, - ACE_INET_Addr (control_addr.c_str() ), - -1); - this->clean_up_control_address_ = 1; - this->control_address_ = control_inet_addr; - } - - if (IN_CLASSD (inet_addr->get_ip_address ())) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_FlowSpec_Entry::parse_address is multicast\n")); - - this->is_multicast_ = 1; - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_RTP_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_RTP_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_SFP_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_SFP_UDP_MCAST; - break; - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - this->protocol_ = TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST; - break; - default: - break; - } - } - } - break; - default: - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"ATM support not added yet\n")); - } - } - } - ACE_DEBUG ((LM_DEBUG, - "Return from parse address\n")); - return 0; -} - -char * -TAO_FlowSpec_Entry::get_local_addr_str (void) -{ - if (this->local_addr_ == 0) - return 0; - - switch (this->local_addr_->get_type ()) - { - case AF_INET: - { - char *buf; - ACE_NEW_RETURN (buf, - char [BUFSIZ], - 0); - - ACE_INET_Addr *inet_addr = dynamic_cast (this->local_addr_); - inet_addr->addr_to_string (buf,BUFSIZ); - ACE_CString cstring (buf, 0, 0); - - return cstring.rep (); - } - default: - ACE_ERROR_RETURN ((LM_ERROR,"Address family not supported"),0); - } -} - -//------------------------------------------------------------ -// TAO_Forward_FlowSpec_Entry -//------------------------------------------------------------ - -// default constructor. -TAO_Forward_FlowSpec_Entry::TAO_Forward_FlowSpec_Entry (void) -{ - // no-op. -} - -// constructor to construct the entry from the arguments. -TAO_Forward_FlowSpec_Entry::TAO_Forward_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name , - const char *flow_protocol , - const char *carrier_protocol , - ACE_Addr *address, - ACE_Addr *control_address ) - :TAO_FlowSpec_Entry (flowname, - direction, - format_name, - flow_protocol, - carrier_protocol, - address, - control_address) -{ - // no-op. -} - -// constructor to construct the entry from the arguments. -TAO_Forward_FlowSpec_Entry::TAO_Forward_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name , - const char *flow_protocol , - const char *address ) - :TAO_FlowSpec_Entry (flowname, - direction, - format_name, - flow_protocol, - address) -{ - // no-op. -} - -TAO_Forward_FlowSpec_Entry::~TAO_Forward_FlowSpec_Entry (void) -{ - // no-op. -} - -int -TAO_Forward_FlowSpec_Entry::parse (const char *flowSpec_entry) -{ - TAO_Tokenizer tokenizer (flowSpec_entry,'\\'); - - this->flowname_ = tokenizer [TAO_AV_FLOWNAME]; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_Forward_FlowSpec_Entry::parse [%s]\n", - flowSpec_entry)); - - if (tokenizer [TAO_AV_DIRECTION] != 0) - this->set_direction (tokenizer [TAO_AV_DIRECTION]); - - if (tokenizer [TAO_AV_FORMAT] != 0) - this->format_ = tokenizer [TAO_AV_FORMAT]; - - if (tokenizer [TAO_AV_ADDRESS] != 0) - if (this->parse_address (tokenizer [TAO_AV_ADDRESS], TAO_AV_Core::TAO_AV_BOTH) < 0) - return -1; - - if (tokenizer [TAO_AV_PEER_ADDR] != 0) - { - ACE_INET_Addr *addr = 0; - - - if (this->protocol_ == TAO_AV_Core::TAO_AV_SCTP_SEQ) - { - TAO_Tokenizer addr_token (tokenizer [TAO_AV_PEER_ADDR], ';'); - - ACE_DEBUG ((LM_DEBUG, - "Number of peer sec addresses = %d\n", - addr_token.num_tokens () - 1)); - - if (addr_token.num_tokens () != 0) - { - ACE_NEW_RETURN (addr, - ACE_INET_Addr (addr_token [0]), - 0); - - ACE_NEW_RETURN (peer_sec_addr_, char* [addr_token.num_tokens () - 1],-1); - for (int j = 1; j <= addr_token.num_tokens () - 1; j++) - { - ACE_DEBUG ((LM_DEBUG, - "adding addresses to sequence %s\n", - addr_token [j])); - - peer_sec_addr_ [j-1] = CORBA::string_dup (addr_token [j]); - } - num_peer_sec_addrs_ = addr_token.num_tokens () - 1; - } - } - else - { - ACE_NEW_RETURN (addr, - ACE_INET_Addr (tokenizer [TAO_AV_PEER_ADDR]), - 0); - } - this->delete_peer_addr_ = true; - this->peer_addr_ = addr; - - char buf [BUFSIZ]; - addr->addr_to_string (buf, BUFSIZ); - ACE_DEBUG ((LM_DEBUG, - "Peer Address %s \n", - buf)); - - } - - if (tokenizer [TAO_AV_FLOW_PROTOCOL] != 0) - if (this->parse_flow_protocol_string (tokenizer [TAO_AV_FLOW_PROTOCOL]) < 0) - return -1; - - return 0; -} - -TAO_FlowSpec_Entry::Role -TAO_Forward_FlowSpec_Entry::role (void) -{ - if (this->role_ != TAO_AV_INVALID_ROLE) - return this->role_; - - switch (this->direction_) - { - case TAO_AV_DIR_IN: - // Forward IN means we're the Source. - return TAO_AV_PRODUCER; - case TAO_AV_DIR_OUT: - // Forward out means we're the sink. - return TAO_AV_CONSUMER; - default: - return TAO_AV_INVALID_ROLE; - } -} - -const char * -TAO_Forward_FlowSpec_Entry::entry_to_string (void) -{ - if (this->flowname_.length() == 0) - return ""; - - char address [BUFSIZ]; - ACE_CString address_str; - ACE_CString peer_address_str; - - if (this->address_ != 0) - { - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_SFP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - case TAO_AV_Core::TAO_AV_UDP_MCAST: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - { - ACE_INET_Addr *inet_addr = dynamic_cast (this->address_); - inet_addr->addr_to_string (address,BUFSIZ); - } - break; - default: - break; - } - ACE_CString cstring (address); - - address_str = this->carrier_protocol_; - address_str += "="; - address_str += cstring; - - if (this->protocol_ == TAO_AV_Core::TAO_AV_SCTP_SEQ) - { - for (int i = 0; i < this->num_local_sec_addrs_; i++) - { - address_str += ";"; - address_str += this->local_sec_addr_ [i]; - } - } - - } - else - { - address_str = this->carrier_protocol_; - } - - - if ( (this->address_ != 0) && - (this->control_address_ == 0) && - (ACE_OS::strncasecmp (this->flow_protocol_.c_str(), "RTP", 3) == 0)) - { - u_short control_port; - - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_SFP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - case TAO_AV_Core::TAO_AV_UDP_MCAST: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - { - ACE_INET_Addr *inet_addr = dynamic_cast (this->address_); - control_port = inet_addr->get_port_number() + 1; - ACE_INET_Addr *inet_control_addr; - ACE_NEW_RETURN (inet_control_addr, - ACE_INET_Addr (control_port, inet_addr->get_host_addr ()), - ""); - this->control_address_ = inet_control_addr; - } - break; - default: - break; - } - } - - - if (this->peer_addr_ != 0) - { - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_SFP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - case TAO_AV_Core::TAO_AV_UDP_MCAST: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - { - ACE_INET_Addr *inet_addr = dynamic_cast (this->peer_addr_); - inet_addr->addr_to_string (address,BUFSIZ); - //inet_addr->get_host_name (address, BUFSIZ); - - //cstring += ACE_OS::itoa (address, BUFSIZ, inet_addr->get_port_number ()); - - } - break; - default: - break; - } - - ACE_CString cstring (address); - - //peer_address_str = this->carrier_protocol_; - //peer_address_str += "="; - peer_address_str += cstring; - - if (this->protocol_ == TAO_AV_Core::TAO_AV_SCTP_SEQ) - { - for (int i = 0; i < this->num_peer_sec_addrs_; i++) - { - peer_address_str += ";"; - peer_address_str += this->peer_sec_addr_ [i]; - } - } - - } - - if (this->control_address_ != 0) - { - u_short control_port = 0; - - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_SFP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - case TAO_AV_Core::TAO_AV_UDP_MCAST: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - { - ACE_INET_Addr *inet_addr = dynamic_cast (this->control_address_); - control_port = inet_addr->get_port_number(); - } - break; - default: - break; - } - - address_str += ";"; - char port_str[10]; - sprintf(port_str, "%u", control_port); - address_str += port_str; - } - - this->entry_ = this->flowname_; - this->entry_ += "\\"; - this->entry_ += this->direction_str_; - this->entry_ += "\\"; - this->entry_ += this->format_; - this->entry_ += "\\"; - this->entry_ += this->flow_protocol_; - this->entry_ += "\\"; - this->entry_ += address_str; - - if (this->peer_addr_ != 0) - { - this->entry_ += "\\"; - this->entry_ += peer_address_str; - } - else ACE_DEBUG ((LM_DEBUG, - "No peer address specified\n")); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"Forward entry_to_string: entry = %s\n",this->entry_.c_str())); - - return this->entry_.c_str(); -} - -//------------------------------------------------------------ -// TAO_Reverse_FlowSpec_Entry -//------------------------------------------------------------ - -//default constructor. -TAO_Reverse_FlowSpec_Entry::TAO_Reverse_FlowSpec_Entry (void) -{ - // no-op -} - -// constructor to construct an entry from the arguments. -TAO_Reverse_FlowSpec_Entry::TAO_Reverse_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name , - const char *flow_protocol , - const char *carrier_protocol, - ACE_Addr *address, - ACE_Addr *control_address ) - :TAO_FlowSpec_Entry (flowname, - direction, - format_name, - flow_protocol, - carrier_protocol, - address, - control_address) -{ - // no-op -} - -// constructor to construct an entry from the arguments. -TAO_Reverse_FlowSpec_Entry::TAO_Reverse_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name , - const char *flow_protocol , - const char *address) - :TAO_FlowSpec_Entry (flowname, - direction, - format_name, - flow_protocol, - address) -{ - // no-op. -} - -TAO_Reverse_FlowSpec_Entry::~TAO_Reverse_FlowSpec_Entry (void) -{ - // no-op. -} - -TAO_FlowSpec_Entry::Role -TAO_Reverse_FlowSpec_Entry::role (void) -{ - if (this->role_ != TAO_AV_INVALID_ROLE) - return this->role_; - switch (this->direction_) - { - case TAO_AV_DIR_IN: - // Forward IN means we're the Source. - return TAO_AV_CONSUMER; - case TAO_AV_DIR_OUT: - // Forward out means we're the sink. - return TAO_AV_PRODUCER; - default: - return TAO_AV_INVALID_ROLE; - } -} - -int -TAO_Reverse_FlowSpec_Entry::parse (const char *flowSpec_entry) -{ - TAO_Tokenizer tokenizer (flowSpec_entry,'\\'); - this->flowname_ = tokenizer [TAO_AV_FLOWNAME]; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_Reverse_FlowSpec_Entry::parse [%s]\n", - flowSpec_entry)); - - if (tokenizer [TAO_AV_ADDRESS] != 0) - if (this->parse_address (tokenizer [TAO_AV_ADDRESS], TAO_AV_Core::TAO_AV_BOTH) < 0) - return -1; - - if (tokenizer [TAO_AV_FLOW_PROTOCOL] != 0) - if (this->parse_flow_protocol_string (tokenizer [TAO_AV_FLOW_PROTOCOL]) < 0) - return -1; - -// if (tokenizer [TAO_AV_DIRECTION] != 0) -// this->set_direction (tokenizer [TAO_AV_DIRECTION]); - -// if (tokenizer [TAO_AV_FORMAT] != 0) -// this->format_ = tokenizer [TAO_AV_FORMAT]; - - return 0; -} - - -const char * -TAO_Reverse_FlowSpec_Entry::entry_to_string (void) -{ - if (this->flowname_.length() == 0) - return ""; - - char address [BUFSIZ]; - ACE_CString address_str; - if (this->address_ != 0) - { - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - case TAO_AV_Core::TAO_AV_UDP_MCAST: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - { - ACE_INET_Addr *inet_addr = dynamic_cast (this->address_); - inet_addr->addr_to_string (address,BUFSIZ); - } - break; - default: - break; - } - ACE_CString cstring (address); - - address_str = this->carrier_protocol_; - address_str += "="; - address_str += cstring; - - if (this->protocol_ == TAO_AV_Core::TAO_AV_SCTP_SEQ) - { - for (int i = 0; i < this->num_local_sec_addrs_; i++) - { - address_str += ";"; - address_str += this->local_sec_addr_ [i]; - } - } - - } - else - { - address_str = ""; - } - - if (this->control_address_ != 0) - { - u_short control_port = 0; - - - switch (this->protocol_) - { - case TAO_AV_Core::TAO_AV_SFP_UDP: - case TAO_AV_Core::TAO_AV_SFP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP: - case TAO_AV_Core::TAO_AV_USERDEFINED_UDP_MCAST: - case TAO_AV_Core::TAO_AV_RTP_UDP: - case TAO_AV_Core::TAO_AV_RTP_UDP_MCAST: - case TAO_AV_Core::TAO_AV_UDP: - case TAO_AV_Core::TAO_AV_QOS_UDP: - case TAO_AV_Core::TAO_AV_UDP_MCAST: - case TAO_AV_Core::TAO_AV_TCP: - case TAO_AV_Core::TAO_AV_SCTP_SEQ: - { - ACE_INET_Addr *inet_addr = dynamic_cast (this->control_address_); - control_port = inet_addr->get_port_number(); - } - break; - default: - break; - } - - address_str += ";"; - char port_str[10]; - sprintf(port_str, "%u", control_port); - address_str += port_str; - - } - - this->entry_ = this->flowname_; - this->entry_ += "\\"; - this->entry_ += address_str; - this->entry_ += "\\"; - this->entry_ += this->flow_protocol_; -// this->entry_ += "\\"; -// this->entry_ += this->direction_str_; -// this->entry_ += "\\"; -// this->entry_ += format_; - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"Reverse entry_to_string: entry = %s\n",this->entry_.c_str() )); - return this->entry_.c_str(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h deleted file mode 100644 index 58f018bc45e..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h +++ /dev/null @@ -1,359 +0,0 @@ -// -*- C++ -*- - -// ============================================================================ -/** - * @file FlowSpec_Entry.h - * - * $Id$ - * - * @author Nagarajan Surendran - * - */ -// ============================================================================ - -#ifndef TAO_AV_FLOWSPEC_ENTRY_H -#define TAO_AV_FLOWSPEC_ENTRY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AV_export.h" -#include "orbsvcs/AV/AV_Core.h" -#include "ace/Addr.h" -#include "ace/Containers.h" -#include "ace/SString.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Tokenizer - * @brief - */ -class TAO_AV_Export TAO_Tokenizer -{ -public: - /// constructor. - TAO_Tokenizer (const char *string,char delimiter); - - /// destructor. - ~TAO_Tokenizer (void); - - /// parses the string and tokenizes it. - int parse (const char *string,char delimiter); - - /// Returns the next token. - char *token (void); - - /// Number of tokens. - int num_tokens (void); - - const char *operator [] (size_t index) const; - -protected: - ACE_Array token_array_; - size_t count_; - size_t num_tokens_; - char string_ [BUFSIZ]; -}; - -// Forward declaration. -class TAO_AV_Transport; -class TAO_AV_Flow_Handler; -class TAO_AV_Protocol_Object; - -/** - * @class TAO_FlowSpec_Entry - * @brief A helper entry class in the flow spec sequence passed to - * bind_devs. - */ -class TAO_AV_Export TAO_FlowSpec_Entry -{ -public: - - enum Direction - { - TAO_AV_INVALID = -1, - TAO_AV_DIR_IN = 0, - TAO_AV_DIR_OUT = 1 - }; - - enum Role - { - TAO_AV_INVALID_ROLE = -1, - TAO_AV_PRODUCER = 0, - TAO_AV_CONSUMER = 1 - }; - - /// default constructor. - TAO_FlowSpec_Entry (void); - - /// constructor to construct an entry from the arguments. - TAO_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *carrier_protocol, - ACE_Addr *fwd_address, - //ACE_Addr *peer_address, - ACE_Addr *control_address = 0); - - TAO_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *fwd_address); - //const char *peer_address); - - /// construct the entry from a string specified by the flowSpec grammar. - virtual int parse (const char* flowSpec_entry) = 0; - - /// virtual destructor. - virtual ~TAO_FlowSpec_Entry (void); - - /// accessor to the direction. - int direction (void); - - virtual Role role (void) = 0; - void role (Role role); - /// accessor to string version of direction . - const char * direction_str (void) const; - - /// accessor to the flow protocol string. - const char *flow_protocol_str (void) const; - - /// set the flow protocol string. - void flow_protocol_str (const char *flow_protocol_str); - - /// accessor to address of the carrier protocol. - //ACE_Addr *fwd_address (void); - ACE_Addr *address (void); - ACE_Addr *control_address (void); - void address (ACE_Addr *address); - void control_address (ACE_Addr *address); - - /// Address in string format i. hostname:port. - const char *address_str (void) const; - // const char * peer_address_str (void) const; - - /// accessor to carrier protocol i.e TCP,UDP,RTP/UDP. - TAO_AV_Core::Protocol carrier_protocol (void); - - /// accessor to string version of carrier protocol. - const char * carrier_protocol_str (void) const; - - /// accessor to format to be used for this flow. - const char *format (void) const; - - /// accessor to name of this flow. - const char *flowname (void) const; - - /// converts the entry to a string. - virtual const char *entry_to_string (void) = 0; - - int set_peer_addr (ACE_Addr *peer_addr); - ACE_Addr *get_peer_addr (void); - int set_peer_control_addr (ACE_Addr *peer_control_addr); - ACE_Addr *get_peer_control_addr (void); - - int set_local_sec_addr (char** local_sec_addr, int size); - char** get_local_sec_addr (void); - int num_local_sec_addrs (void); - - int set_peer_sec_addr (char** peer_sec_addr, int size); - char** get_peer_sec_addr (void); - int num_peer_sec_addrs (void); - - int set_local_addr (ACE_Addr *local_addr); - ACE_Addr *get_local_addr (void); - char *get_local_addr_str (void); - int set_local_control_addr (ACE_Addr *local_control_addr); - ACE_Addr *get_local_control_addr (void); - char *get_local_control_addr_str (void); - - TAO_AV_Transport *transport (void); - void transport (TAO_AV_Transport *transport); - TAO_AV_Transport *control_transport (void); - void control_transport (TAO_AV_Transport *control_transport); - - TAO_AV_Flow_Handler* handler (void); - void handler (TAO_AV_Flow_Handler *handler); - TAO_AV_Flow_Handler* control_handler (void); - void control_handler (TAO_AV_Flow_Handler *control_handler); - - TAO_AV_Protocol_Object* protocol_object (void); - void protocol_object (TAO_AV_Protocol_Object *object); - TAO_AV_Protocol_Object* control_protocol_object (void); - void control_protocol_object (TAO_AV_Protocol_Object *object); - - /// sets the address for this flow. - int parse_address (const char *format_string, - TAO_AV_Core::Flow_Component flow_component); - - /// returns true for a multicast address. - int is_multicast (void); - -protected: - - /// parses the flow protocol string with tokens separated by : - int parse_flow_protocol_string (const char *flow_options_string); - - /// sets the direction flag. - int set_direction (const char *direction_string); - - /// sets the protocol_ enum from the carrier_protocol_ string. - int set_protocol (void); - - /// Addr information for the carrier protocol. - ACE_Addr *address_; - int clean_up_address_; // added to clean up a memory leak - ACE_Addr *control_address_; - int clean_up_control_address_; // added to clean up a memory leak - - /// Fwd Addr in string format i.e hostname:port. - ACE_CString address_str_; - - /// Peer Addr in string format i.e hostname:port. - ACE_CString peer_address_str_; - - /// format string. - ACE_CString format_; - - /// Direction of this flow. - Direction direction_; - - /// string representation of the direction. - ACE_CString direction_str_; - - /// name of this flow. - ACE_CString flowname_; - - /// name of the protocol used. - TAO_AV_Core::Protocol protocol_; - - /// carrier protocol string. - ACE_CString carrier_protocol_; - - /// flow protocol string. - ACE_CString flow_protocol_; - - int use_flow_protocol_; - - /// The flowspec entry; - ACE_CString entry_; - - int is_multicast_; - bool delete_peer_addr_; - ACE_Addr *peer_addr_; - char** local_sec_addr_; - int num_local_sec_addrs_; - char** peer_sec_addr_; - int num_peer_sec_addrs_; - ACE_Addr *peer_control_addr_; - ACE_Addr *local_addr_; - ACE_Addr *local_control_addr_; - TAO_AV_Transport *transport_; - TAO_AV_Transport *control_transport_; - TAO_AV_Flow_Handler *handler_; - TAO_AV_Flow_Handler *control_handler_; - TAO_AV_Protocol_Object *protocol_object_; - TAO_AV_Protocol_Object *control_protocol_object_; - Role role_; -}; - - -/** - * @class TAO_Forward_FlowSpec_Entry - */ -class TAO_AV_Export TAO_Forward_FlowSpec_Entry - : public TAO_FlowSpec_Entry -{ -public: - enum Position {TAO_AV_FLOWNAME = 0, - TAO_AV_DIRECTION = 1, - TAO_AV_FORMAT = 2, - TAO_AV_FLOW_PROTOCOL = 3, - TAO_AV_ADDRESS = 4, - TAO_AV_PEER_ADDR = 5}; - - /// default constructor. - TAO_Forward_FlowSpec_Entry (void); - - /// constructor to construct an entry from the arguments. - TAO_Forward_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *carrier_protocol, - ACE_Addr *address, - ACE_Addr *control_address = 0); - - TAO_Forward_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *address); - - virtual ~TAO_Forward_FlowSpec_Entry (void); - - /// converts the entry to a string. - virtual const char *entry_to_string (void); - - virtual Role role (void); - - /// construct the entry from a string specified by the flowSpec grammar. - virtual int parse (const char* flowSpec_entry); -}; - -/** - * @class TAO_Reverse_FlowSpec_Entry - * @brief - */ -class TAO_AV_Export TAO_Reverse_FlowSpec_Entry - :public TAO_FlowSpec_Entry -{ -public: - enum Position {TAO_AV_FLOWNAME = 0, - TAO_AV_ADDRESS = 1, - TAO_AV_FLOW_PROTOCOL = 2, - TAO_AV_DIRECTION = 3, - TAO_AV_FORMAT = 4}; - - // default constructor. - TAO_Reverse_FlowSpec_Entry (void); - - // constructor to construct an entry from the arguments. - TAO_Reverse_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *carrier_protocol, - ACE_Addr *address, - ACE_Addr *control_address = 0); - - // Takes the address in protocol=endpoint form. - TAO_Reverse_FlowSpec_Entry (const char *flowname, - const char *direction, - const char *format_name, - const char *flow_protocol, - const char *address); - - virtual ~TAO_Reverse_FlowSpec_Entry (void); - - /// converts the entry to a string. - virtual const char *entry_to_string (void); - - virtual Role role (void); - - /// construct the entry from a string specified by the flowSpec grammar. - virtual int parse (const char* flowSpec_entry); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "orbsvcs/AV/Transport.h" - -#if defined (__ACE_INLINE__) -#include "orbsvcs/AV/FlowSpec_Entry.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_FLOWSPEC_ENTRY_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i b/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i deleted file mode 100644 index 3af4438dd98..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i +++ /dev/null @@ -1,347 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -int -TAO_FlowSpec_Entry::set_direction (const char *direction) -{ - this->direction_str_ = direction; - if (direction == 0) - { - this->direction_ = TAO_AV_INVALID; - return -1; - } - if (ACE_OS::strcasecmp (direction,"in") == 0) - this->direction_ = TAO_AV_DIR_IN; - else if (ACE_OS::strcasecmp (direction,"out") == 0) - this->direction_ = TAO_AV_DIR_OUT; - return 0; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::parse_flow_protocol_string (const char *flow_string) -{ - if (flow_string == 0) - return 0; - - if (ACE_OS::strcmp (flow_string,"") == 0) - return 0; - - this->use_flow_protocol_ = 1; - // do some flow protocol processing. - this->flow_protocol_ = flow_string; - - return 0; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::direction (void) -{ - return this->direction_; -} - -ACE_INLINE -const char * -TAO_FlowSpec_Entry::direction_str (void) const -{ - return this->direction_str_.c_str(); -} - -ACE_INLINE -const char * -TAO_FlowSpec_Entry::flow_protocol_str (void) const -{ - return this->flow_protocol_.c_str(); -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::flow_protocol_str (const char *str) -{ - this->flow_protocol_ = CORBA::string_dup (str); -} - -ACE_INLINE -TAO_AV_Core::Protocol -TAO_FlowSpec_Entry::carrier_protocol (void) -{ - return this->protocol_; -} - -ACE_INLINE -const char * -TAO_FlowSpec_Entry::carrier_protocol_str (void) const -{ - return this->carrier_protocol_.c_str(); -} - -ACE_INLINE -ACE_Addr * -TAO_FlowSpec_Entry::address (void) -{ - return this->address_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::address (ACE_Addr *addr) -{ - this->address_ = addr; -} - -ACE_INLINE -ACE_Addr * -TAO_FlowSpec_Entry::control_address (void) -{ - return this->control_address_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::control_address (ACE_Addr *addr) -{ - this->control_address_ = addr; -} - -ACE_INLINE -const char * -TAO_FlowSpec_Entry::address_str (void) const -{ - return this->address_str_.c_str(); -} - -ACE_INLINE -const char* -TAO_FlowSpec_Entry::format (void) const -{ - return this->format_.c_str(); -} - -ACE_INLINE -const char * -TAO_FlowSpec_Entry::flowname (void) const -{ - return this->flowname_.c_str(); -} - - -ACE_INLINE -int -TAO_FlowSpec_Entry::set_peer_addr (ACE_Addr *peer_addr) -{ - if (this->delete_peer_addr_) - delete this->peer_addr_; - - this->delete_peer_addr_ = false; - this->peer_addr_ = peer_addr; - - if (this->handler_ != 0) - this->handler_->set_remote_address (peer_addr); - return 0; -} - -ACE_INLINE -ACE_Addr * -TAO_FlowSpec_Entry::get_peer_addr (void) -{ - return this->peer_addr_; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::set_local_addr (ACE_Addr *local_addr) -{ - this->local_addr_ = local_addr; - return 0; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::set_local_control_addr (ACE_Addr *local_addr) -{ - this->local_control_addr_ = local_addr; - return 0; -} - -ACE_INLINE -ACE_Addr* -TAO_FlowSpec_Entry::get_local_addr (void) -{ - return this->local_addr_; -} - -ACE_INLINE -ACE_Addr* -TAO_FlowSpec_Entry::get_local_control_addr (void) -{ - return this->local_control_addr_; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::set_local_sec_addr (char** local_sec_addr, - int size) -{ - this->local_sec_addr_ = local_sec_addr; - this->num_local_sec_addrs_ = size; - return 0; -} - -ACE_INLINE -char** -TAO_FlowSpec_Entry::get_local_sec_addr (void) -{ - return this->local_sec_addr_; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::num_local_sec_addrs (void) -{ - return this->num_local_sec_addrs_; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::set_peer_sec_addr (char** peer_sec_addr, - int size) -{ - this->peer_sec_addr_ = peer_sec_addr; - this->num_peer_sec_addrs_ = size; - return 0; -} - -ACE_INLINE -char** -TAO_FlowSpec_Entry::get_peer_sec_addr (void) -{ - return this->peer_sec_addr_; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::num_peer_sec_addrs (void) -{ - return this->num_peer_sec_addrs_; -} - -ACE_INLINE -TAO_AV_Transport* -TAO_FlowSpec_Entry::transport (void) -{ - return this->transport_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::transport (TAO_AV_Transport *transport) -{ - this->transport_ = transport; -} - -ACE_INLINE -TAO_AV_Transport* -TAO_FlowSpec_Entry::control_transport (void) -{ - return this->control_transport_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::control_transport (TAO_AV_Transport *control_transport) -{ - this->control_transport_ = control_transport; -} - -ACE_INLINE -TAO_AV_Flow_Handler * -TAO_FlowSpec_Entry::handler (void) -{ - return this->handler_; -} - -ACE_INLINE -TAO_AV_Flow_Handler * -TAO_FlowSpec_Entry::control_handler (void) -{ - return this->control_handler_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::handler (TAO_AV_Flow_Handler *handler) -{ - this->handler_ = handler; - -// // Now remove the handler from the reactor if the handler is for a producer. -// switch (this->role ()) -// { -// case TAO_AV_PRODUCER: -// { -// ACE_Event_Handler *event_handler = handler->event_handler (); -// int result = event_handler->reactor ()->remove_handler (event_handler, -// ACE_Event_Handler::READ_MASK); -// if (result < 0) -// ACE_ERROR ((LM_ERROR,"TAO_FlowSpec_Entry::handler\n")); -// break; -// } -// } -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::control_handler (TAO_AV_Flow_Handler *handler) -{ - this->control_handler_ = handler; -} - -ACE_INLINE -TAO_AV_Protocol_Object* -TAO_FlowSpec_Entry::protocol_object (void) -{ - return this->protocol_object_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::protocol_object (TAO_AV_Protocol_Object *object) -{ - this->protocol_object_ = object; -} - -ACE_INLINE -TAO_AV_Protocol_Object* -TAO_FlowSpec_Entry::control_protocol_object (void) -{ - return this->control_protocol_object_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::control_protocol_object (TAO_AV_Protocol_Object *object) -{ - this->control_protocol_object_ = object; -} - -ACE_INLINE -int -TAO_FlowSpec_Entry::is_multicast (void) -{ - return this->is_multicast_; -} - -ACE_INLINE -void -TAO_FlowSpec_Entry::role (TAO_FlowSpec_Entry::Role role) -{ - this->role_ = role; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Flows_T.cpp b/TAO/orbsvcs/orbsvcs/AV/Flows_T.cpp deleted file mode 100644 index c2e6683d223..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Flows_T.cpp +++ /dev/null @@ -1,252 +0,0 @@ -//$Id$ - -#ifndef TAO_AV_FLOWS_T_CPP -#define TAO_AV_FLOWS_T_CPP - -#include "orbsvcs/AV/Flows_T.h" -#include "tao/debug.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// ------------------------------------------------------------ -// TAO_FDev -// ------------------------------------------------------------ - -// default constructor -template -TAO_FDev::TAO_FDev (void) -{ -} - -template -TAO_FDev::TAO_FDev (const char *flowname) - :flowname_ (flowname) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::Any flowname_any; - flowname_any <<= flowname; - this->define_property ("Flow", - flowname_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_FDev::TAO_FDev"); - } - ACE_ENDTRY; - ACE_CHECK; -} - -template -TAO_FDev::~TAO_FDev (void) -{ - //no-op -} - -template -const char * -TAO_FDev::flowname (void) -{ - return this->flowname_.in (); -} - -template -void -TAO_FDev::flowname (const char *flow_name) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::Any flowname_any; - flowname_any <<= flow_name; - this->define_property ("Flow", - flowname_any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_FDev::flowname"); - } - ACE_ENDTRY; - ACE_CHECK; - this->flowname_ = flow_name; -} - -template -AVStreams::FlowProducer_ptr -TAO_FDev::create_producer (AVStreams::FlowConnection_ptr the_requester, - AVStreams::QoS & the_qos, - CORBA::Boolean_out met_qos, - char *& named_fdev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed)) -{ - // call the bridge method. - return this->make_producer (the_requester, - the_qos, - met_qos, - named_fdev - ACE_ENV_ARG_PARAMETER); -} - -template -// hook for the applications to override the creation process. -AVStreams::FlowProducer_ptr -TAO_FDev::make_producer (AVStreams::FlowConnection_ptr /* the_requester */, - AVStreams::QoS & /* the_qos */, - CORBA::Boolean_out /* met_qos */, - char *& /* named_fdev */ - ACE_ENV_ARG_DECL) -{ - AVStreams::FlowProducer_ptr producer = AVStreams::FlowProducer::_nil (); - ACE_TRY - { - // Activate the producer implementation under the Root POA. - T_Producer *producer_i; - ACE_NEW_RETURN (producer_i, T_Producer, 0); - this->producer_list_.insert_tail (producer_i); - producer = producer_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_FDev::make_producer"); - return producer; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (producer); - return producer; -} - -template -// hook for the applications to override the consumer creation. -AVStreams::FlowConsumer_ptr -TAO_FDev::make_consumer (AVStreams::FlowConnection_ptr /* the_requester */, - AVStreams::QoS & /* the_qos */, - CORBA::Boolean_out /* met_qos */, - char *& /* named_fdev */ - ACE_ENV_ARG_DECL) -{ - AVStreams::FlowConsumer_ptr consumer = AVStreams::FlowConsumer::_nil (); - ACE_TRY - { - // Activate the consumer implementation under the Root POA. - T_Consumer *consumer_i; - ACE_NEW_RETURN (consumer_i, T_Consumer, 0 ); - - this->consumer_list_.insert_tail (consumer_i); - consumer = consumer_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_FDev::make_consumer"); - return consumer; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (consumer); - return consumer; -} - -template -AVStreams::FlowConsumer_ptr -TAO_FDev::create_consumer (AVStreams::FlowConnection_ptr the_requester, - AVStreams::QoS & the_qos, - CORBA::Boolean_out met_qos, - char *& named_fdev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed)) -{ - return this->make_consumer (the_requester, - the_qos, - met_qos, - named_fdev - ACE_ENV_ARG_PARAMETER); -} - -template -// not implemented yet. -AVStreams::FlowConnection_ptr -TAO_FDev::bind (AVStreams::FDev_ptr peer_device, - AVStreams::QoS & the_qos, - CORBA::Boolean_out is_met - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed)) -{ - ACE_UNUSED_ARG (peer_device); - ACE_UNUSED_ARG (the_qos); - ACE_UNUSED_ARG (is_met); - ACE_CHECK_RETURN (0); - return 0; -} - -template -// multicast is not supported yet. -AVStreams::FlowConnection_ptr -TAO_FDev::bind_mcast (AVStreams::FDev_ptr first_peer, - AVStreams::QoS & the_qos, - CORBA::Boolean_out is_met - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed)) -{ - ACE_UNUSED_ARG (first_peer); - ACE_UNUSED_ARG (the_qos); - ACE_UNUSED_ARG (is_met); - ACE_CHECK_RETURN (0); - return 0; -} - -template -void -TAO_FDev::destroy (AVStreams::FlowEndPoint_ptr /* the_ep */, - const char * /* fdev_name */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)) -{ - // @@ Shouldn't the parameters be made use of! - // Destroy/delete all the producers and consumers. - - TAO_FlowProducer *producer_i; - - for (PRODUCER_LIST_ITERATOR producer_list_iterator (this->producer_list_); - (producer_i = producer_list_iterator.next ()) != 0; - producer_list_iterator.advance ()) - { - TAO_AV_Core::deactivate_servant (producer_i); - delete producer_i; - } - - TAO_FlowConsumer *consumer_i; - - for (CONSUMER_LIST_ITERATOR consumer_list_iterator (this->consumer_list_); - (consumer_i = consumer_list_iterator.next ()) != 0; - consumer_list_iterator.advance ()) - { - TAO_AV_Core::deactivate_servant (consumer_i); - delete consumer_i; - } - int result = TAO_AV_Core::deactivate_servant (this); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_StreamEndPoint::destroy failed\n")); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_AV_FLOWS_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Flows_T.h b/TAO/orbsvcs/orbsvcs/AV/Flows_T.h deleted file mode 100644 index d0810ab65e1..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Flows_T.h +++ /dev/null @@ -1,130 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Flows_T.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_FLOWS_T_H -#define TAO_AV_FLOWS_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AVStreams_i.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_FDev - * @brief Implementation of the AV/Streams Flow Device. - * A FlowConnection is used to bind FDevs for flows, - * much like how a StreamCtrl is used to bind MMDevices for streams. - */ -template -class TAO_FDev : - public virtual POA_AVStreams::FDev, - public virtual TAO_PropertySet -{ -public: - /// default constructor - TAO_FDev (void); - - /// constructor taking a flowname. - TAO_FDev (const char *flowname); - - /// Destructor.. - ~TAO_FDev (void); - - /// set/get the flowname. - /// create a flow producer object. - const char *flowname (void); - void flowname (const char *flowname); - AVStreams::FlowProducer_ptr create_producer (AVStreams::FlowConnection_ptr the_requester, - AVStreams::QoS & the_qos, - CORBA::Boolean_out met_qos, - char *& named_fdev - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed)); - - /// bridge method for the application to override the producer object - /// creation. Default implementation creates a TAO_FlowProducer. - virtual AVStreams::FlowProducer_ptr make_producer (AVStreams::FlowConnection_ptr the_requester, - AVStreams::QoS & the_qos, - CORBA::Boolean_out met_qos, - char *& named_fdev - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// create a flow consumer object. - virtual AVStreams::FlowConsumer_ptr create_consumer (AVStreams::FlowConnection_ptr the_requester, - AVStreams::QoS & the_qos, - CORBA::Boolean_out met_qos, - char *& named_fdev - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed)); - - /// bridge method for the application to override the consumer object - /// creation. Default implementation creates a TAO_FlowConsumer. - virtual AVStreams::FlowConsumer_ptr make_consumer (AVStreams::FlowConnection_ptr the_requester, - AVStreams::QoS & the_qos, - CORBA::Boolean_out met_qos, - char *& named_fdev - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// bind this FDev with another FDev. - virtual AVStreams::FlowConnection_ptr bind (AVStreams::FDev_ptr peer_device, - AVStreams::QoS & the_qos, - CORBA::Boolean_out is_met - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed)); - - /// multicast bind is not implemented yet. - virtual AVStreams::FlowConnection_ptr bind_mcast (AVStreams::FDev_ptr first_peer, - AVStreams::QoS & the_qos, - CORBA::Boolean_out is_met - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed)); - - /// destroys this FDev. - virtual void destroy (AVStreams::FlowEndPoint_ptr the_ep, - const char * fdev_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - AVStreams::notSupported)); - -protected: - ACE_DLList producer_list_; - typedef ACE_DLList_Iterator PRODUCER_LIST_ITERATOR; - ACE_DLList consumer_list_; - typedef ACE_DLList_Iterator CONSUMER_LIST_ITERATOR; - CORBA::String_var flowname_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/AV/Flows_T.cpp" -#endif /*ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Flows_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_FLOWS_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/MCast.cpp b/TAO/orbsvcs/orbsvcs/AV/MCast.cpp deleted file mode 100644 index 5ccb9148c4f..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/MCast.cpp +++ /dev/null @@ -1,220 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/MCast.h" -#include "orbsvcs/AV/AVStreams_i.h" -#include "tao/debug.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/AV/MCast.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -//TAO_AV_UDP_MCast_Flow_Handler -//------------------------------------------------------------ - -TAO_AV_UDP_MCast_Flow_Handler::TAO_AV_UDP_MCast_Flow_Handler (void) -{ - ACE_NEW (transport_, - TAO_AV_UDP_MCast_Transport (this)); - ACE_NEW (dgram_mcast_, - ACE_SOCK_Dgram_Mcast); -} - -TAO_AV_UDP_MCast_Flow_Handler::~TAO_AV_UDP_MCast_Flow_Handler (void) -{ - delete this->transport_; - delete this->dgram_mcast_; -} - - -int -TAO_AV_UDP_MCast_Flow_Handler::handle_input (ACE_HANDLE /*fd*/) -{ - return this->protocol_object_->handle_input (); -// return 0; -} - -int -TAO_AV_UDP_MCast_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, - const void *arg) -{ - return TAO_AV_Flow_Handler::handle_timeout (tv,arg); -} - -ACE_HANDLE -TAO_AV_UDP_MCast_Flow_Handler::get_handle (void) const -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_MCast_Flow_Handler::get_handle ")); - return this->get_mcast_socket ()->get_handle () ; -} - -void -TAO_AV_UDP_MCast_Flow_Handler::set_peer_addr (ACE_INET_Addr *peer_addr) -{ - this->peer_addr_ = peer_addr; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_MCast_Transport -//------------------------------------------------------------ - -TAO_AV_UDP_MCast_Transport::TAO_AV_UDP_MCast_Transport (void) - :handler_ (0) -{ -} - -TAO_AV_UDP_MCast_Transport::TAO_AV_UDP_MCast_Transport (TAO_AV_UDP_MCast_Flow_Handler *handler) - :handler_ (handler) -{ -} - -TAO_AV_UDP_MCast_Transport::~TAO_AV_UDP_MCast_Transport (void) -{ -} - -int -TAO_AV_UDP_MCast_Transport::open (ACE_Addr * /*address*/) -{ - return 0; -} - -int -TAO_AV_UDP_MCast_Transport::close (void) -{ - return 0; -} - - -ACE_Addr* -TAO_AV_UDP_MCast_Transport::get_peer_addr (void) -{ - return &this->peer_addr_; -} - -ACE_Addr* -TAO_AV_UDP_MCast_Transport::get_local_addr (void) -{ - this->handler_->get_mcast_socket ()->get_local_addr (this->local_addr_); - return &this->local_addr_; -} - -ssize_t -TAO_AV_UDP_MCast_Transport::send (const ACE_Message_Block *mblk, ACE_Time_Value *) -{ - // For the most part this was copied from GIOP::send_request and - // friends. - - iovec iov[ACE_IOV_MAX]; - int iovcnt = 0; - ssize_t n = 0; - ssize_t nbytes = 0; - - for (const ACE_Message_Block *i = mblk; - i != 0; - i = i->cont ()) - { - // Make sure there is something to send! - if (i->length () > 0) - { - iov[iovcnt].iov_base = i->rd_ptr (); - iov[iovcnt].iov_len = static_cast (i->length ()); - iovcnt++; - - // The buffer is full make a OS call. @@ TODO this should - // be optimized on a per-platform basis, for instance, some - // platforms do not implement writev() there we should copy - // the data into a buffer and call send_n(). In other cases - // there may be some limits on the size of the iovec, there - // we should set ACE_IOV_MAX to that limit. - if (iovcnt == ACE_IOV_MAX) - { - n = this->handler_->get_mcast_socket ()->send ((const iovec *) iov, - iovcnt); - - if (n < 1) - return n; - - nbytes += n; - iovcnt = 0; - } - } - } - - // Check for remaining buffers to be sent! - if (iovcnt != 0) - { - n = this->handler_->get_mcast_socket ()->send ((const iovec *) iov, - iovcnt); - if (n < 1) - return n; - - nbytes += n; - } - - return nbytes; -} - -ssize_t -TAO_AV_UDP_MCast_Transport::send (const char *buf, - size_t len, - ACE_Time_Value *) -{ -// if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_MCast_Transport::send ")); -// char addr [BUFSIZ]; -// this->peer_addr_.addr_to_string (addr,BUFSIZ); -// if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"to %s\n",addr)); - - return this->handler_->get_mcast_socket ()->send (buf, len); - -} - -ssize_t -TAO_AV_UDP_MCast_Transport::send (const iovec *iov, - int iovcnt, - ACE_Time_Value *) -{ - return this->handler_->get_mcast_socket ()->send (iov, - iovcnt, - 0); - -} - -int -TAO_AV_UDP_MCast_Transport::mtu (void) -{ - return ACE_MAX_DGRAM_SIZE; -} - - -ssize_t -TAO_AV_UDP_MCast_Transport::recv (char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->get_mcast_socket ()->recv (buf, len,this->peer_addr_); -} - -ssize_t -TAO_AV_UDP_MCast_Transport::recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *timeout) -{ - return this->handler_->get_mcast_socket ()->recv (buf, - len, - this->peer_addr_, - flags, - timeout); -} - -ssize_t -TAO_AV_UDP_MCast_Transport::recv (iovec *iov, - int /*iovcnt*/, - ACE_Time_Value *timeout) -{ - return handler_->get_mcast_socket ()->recv (iov,this->peer_addr_,0,timeout); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/MCast.h b/TAO/orbsvcs/orbsvcs/AV/MCast.h deleted file mode 100644 index fde288896ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/MCast.h +++ /dev/null @@ -1,117 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file MCast.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_MCAST_H -#define TAO_AV_MCAST_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/Protocol_Factory.h" -#include "ace/INET_Addr.h" -#include "ace/SOCK_Dgram_Mcast.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_AV_UDP_MCast_Flow_Handler; - -/** - * @class TAO_AV_UDP_MCast_Transport - * @brief A transport abstraction for Multicast dgram sockets. - * Uses the ACE_SOCK_Dgram_Mcast to send data. - */ -class TAO_AV_UDP_MCast_Transport - :public TAO_AV_Transport -{ - -public: - TAO_AV_UDP_MCast_Transport (void); - - TAO_AV_UDP_MCast_Transport (TAO_AV_UDP_MCast_Flow_Handler *handler); - - virtual ~TAO_AV_UDP_MCast_Transport (void); - - virtual int open (ACE_Addr *address); - - virtual int close (void); - - virtual int mtu (void); - - /// Write the complete Message_Block chain to the connection. - virtual ACE_Addr *get_peer_addr (void); - virtual ACE_Addr *get_local_addr (void); - virtual ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0); - - /// Write the contents of the buffer of length len to the connection. - virtual ssize_t send (const char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Write the contents of iovcnt iovec's to the connection. - virtual ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf using flags. - virtual ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0); - - /// Read received data into the iovec buffers. - virtual ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); -protected: - TAO_AV_UDP_MCast_Flow_Handler *handler_; - ACE_INET_Addr peer_addr_; - ACE_INET_Addr local_addr_; -}; - -/** - * @class TAO_AV_UDP_MCast_Flow_Handler - * @brief Flow Handler for data sent over multicast sockets. - */ -class TAO_AV_UDP_MCast_Flow_Handler - :public virtual TAO_AV_Flow_Handler, - public virtual ACE_Event_Handler -{ -public: - /// Ctor - /// Dtor - TAO_AV_UDP_MCast_Flow_Handler (void); - virtual ~TAO_AV_UDP_MCast_Flow_Handler (void); - virtual ACE_HANDLE get_handle (void) const; - virtual int handle_input (ACE_HANDLE fd); - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - ACE_SOCK_Dgram_Mcast *get_mcast_socket (void) const; - virtual ACE_Event_Handler* event_handler (void){ return this; } - void set_peer_addr (ACE_INET_Addr *peer_addr); -protected: - ACE_INET_Addr *peer_addr_; - ACE_SOCK_Dgram_Mcast *dgram_mcast_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/AV/MCast.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_MCAST_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/MCast.i b/TAO/orbsvcs/orbsvcs/AV/MCast.i deleted file mode 100644 index 08d994f23ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/MCast.i +++ /dev/null @@ -1,17 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_UDP_MCast_Flow_Handler -//----------------------------------------------------------- - -ACE_INLINE ACE_SOCK_Dgram_Mcast * -TAO_AV_UDP_MCast_Flow_Handler::get_mcast_socket (void) const -{ - return this->dgram_mcast_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Policy.cpp b/TAO/orbsvcs/orbsvcs/AV/Policy.cpp deleted file mode 100644 index 0fa94820c07..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Policy.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "tao/debug.h" -#include "orbsvcs/AV/Policy.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/AV/Policy.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_AV_Policy::TAO_AV_Policy (CORBA::ULong type) - :type_ (type) -{ -} - -TAO_AV_SSRC_Policy::TAO_AV_SSRC_Policy (CORBA::ULong ssrc) - :TAO_AV_Policy (TAO_AV_SSRC_POLICY), - ssrc_ (ssrc) -{ -} - -TAO_AV_Payload_Type_Policy::TAO_AV_Payload_Type_Policy (int payload_type) - :TAO_AV_Policy (TAO_AV_PAYLOAD_TYPE_POLICY), - payload_type_ (payload_type) -{ -} - -// TAO_AV_RTP_Sdes_Policy -TAO_AV_RTCP_Sdes_Policy::TAO_AV_RTCP_Sdes_Policy (void) - :TAO_AV_Policy (TAO_AV_RTCP_SDES_POLICY) -{ -} - -TAO_AV_SFP_Credit_Policy::TAO_AV_SFP_Credit_Policy (void) - :TAO_AV_Policy (TAO_AV_SFP_CREDIT_POLICY) -{ -} - -// TAO_AV_Callback -TAO_AV_Callback::TAO_AV_Callback (void) - :protocol_object_ (0) -{ -} - -TAO_AV_Callback::~TAO_AV_Callback (void) -{ -} - -int -TAO_AV_Callback::open (TAO_AV_Protocol_Object *object, - TAO_AV_Flow_Handler *handler) -{ - this->protocol_object_ = object; - this->handler_ = handler; - handler->callback (this); - return 0; -} - -int -TAO_AV_Callback::handle_start (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Callback::handle_start\n")); - return -1; -} - -int -TAO_AV_Callback::handle_stop (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Callback::handle_stop\n")); - return -1; -} - -int -TAO_AV_Callback::receive_frame (ACE_Message_Block * /*frame*/, - TAO_AV_frame_info *, - const ACE_Addr &) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Callback::receive_frame\n")); - return -1; -} - -int -TAO_AV_Callback::receive_control_frame (ACE_Message_Block *, - const ACE_Addr& ) -{ - return 0; -} - -int -TAO_AV_Callback::handle_destroy (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Callback::handle_end_stream\n")); - return -1; -} - -void -TAO_AV_Callback::get_timeout (ACE_Time_Value *& tv, - void *& /*arg*/) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Callback::get_timeout\n")); - tv = 0; -} - -int -TAO_AV_Callback::handle_timeout (void * /*arg*/) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Callback::handle_timeout\n")); - return 0; -} - -TAO_AV_PolicyList -TAO_AV_Callback::get_policies (void) -{ - TAO_AV_PolicyList list; - return list; -} - -// TAO_AV_Transport* -// TAO_AV_Callback::transport (void) -// { -// return this->transport_; -// } - -// void -// TAO_AV_Callback::transport (TAO_AV_Transport *transport) -// { -// this->transport_ = transport; -// } - -TAO_AV_Protocol_Object* -TAO_AV_Callback::protocol_object (void) -{ - return this->protocol_object_; -} - -// void -// TAO_AV_Callback::protocol_object (TAO_AV_Protocol_Object *object) -// { -// this->protocol_object_ = object; -// } - -int -TAO_AV_Callback::schedule_timer (void) -{ - return this->handler_->schedule_timer (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Policy.h b/TAO/orbsvcs/orbsvcs/AV/Policy.h deleted file mode 100644 index a34a9604e22..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Policy.h +++ /dev/null @@ -1,176 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Policy.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_POLICY_H -#define TAO_AV_POLICY_H - -#include /**/ "ace/pre.h" - -#include "ace/Addr.h" -#include "tao/Basic_Types.h" -#include "tao/CORBA_String.h" -#include "tao/Sequence_T.h" -#include "ace/Time_Value.h" -#include "orbsvcs/AV/AV_export.h" - - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Message_Block; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -struct TAO_AV_frame_info -{ - CORBA::Boolean boundary_marker; - CORBA::Octet format; - // @@ Shouldn't this be a string. - CORBA::ULong timestamp; - CORBA::ULong ssrc; - CORBA::ULong sequence_num; -}; - -#define TAO_AV_SSRC_POLICY 100 -#define TAO_AV_PAYLOAD_TYPE_POLICY 101 -#define TAO_AV_TIMEOUT_POLICY 102 -#define TAO_AV_RTCP_SDES_POLICY 103 -#define TAO_AV_SFP_CREDIT_POLICY 104 - -struct TAO_AV_RTCP_Sdes -{ - CORBA::String_var name_; - CORBA::String_var value_; -}; - -class TAO_AV_Export TAO_AV_Policy -{ -public: - TAO_AV_Policy (CORBA::ULong type); - CORBA::ULong type (void); -protected: - CORBA::ULong type_; -}; - -class TAO_AV_Export TAO_AV_SSRC_Policy : public TAO_AV_Policy -{ -public: - TAO_AV_SSRC_Policy (CORBA::ULong ssrc = 0); - CORBA::ULong value (void); - void value (CORBA::ULong ssrc); -protected: - CORBA::ULong ssrc_; -}; - -class TAO_AV_Export TAO_AV_Payload_Type_Policy : public TAO_AV_Policy -{ -public: - TAO_AV_Payload_Type_Policy (int payload_type = -1); - int value (void); - void value (int pt); -protected: - int payload_type_; -}; - -class TAO_AV_Export TAO_AV_RTCP_Sdes_Policy : public TAO_AV_Policy -{ -public: - TAO_AV_RTCP_Sdes_Policy (void); - TAO_AV_RTCP_Sdes &value (void); - void value (const TAO_AV_RTCP_Sdes& sdes_val); -protected: - TAO_AV_RTCP_Sdes sdes_; -}; - -class TAO_AV_Export TAO_AV_SFP_Credit_Policy : public TAO_AV_Policy -{ -public: - TAO_AV_SFP_Credit_Policy (void); - int value (void); - void value (int val); -protected: - int value_; -}; - -typedef TAO::unbounded_value_sequence TAO_AV_PolicyList; - -class TAO_AV_Protocol_Object; -class TAO_AV_Transport; -class TAO_AV_Flow_Handler; - -/** - * @class TAO_AV_Callback - * - * @brief Callback class that the user will be implementing for receiving - * frames from the network and also for timer events. - */ -class TAO_AV_Export TAO_AV_Callback -{ -public: - TAO_AV_Callback (void); - virtual ~TAO_AV_Callback (void); - - /// Called for opening the callback. - int open (TAO_AV_Protocol_Object *object, - TAO_AV_Flow_Handler *handler); - - /// Called during Streamctrl->start. - virtual int handle_start (void); - - /// Called during Streamctrl->stop. - virtual int handle_stop (void); - - /// Called during timeout for Flow Producers. - virtual int handle_timeout (void *arg); - - virtual int schedule_timer (void); - - virtual int receive_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0, - const ACE_Addr &address = ACE_Addr::sap_any); - - // Called when a frame arrives for a FlowConsumer. - - /// address from which the frame was received. - virtual int receive_control_frame (ACE_Message_Block *frame, - const ACE_Addr &address = ACE_Addr::sap_any); - - /// Called during Streamctrl->destroy i.e tear_down of the stream - virtual int handle_destroy (void); - - /** - * Called to get the timeout. If tv is 0 then the framework stop - * calling this. This will be called during the start of the frame - * and also if schedule_timer is called to get the timeout. - */ - virtual void get_timeout (ACE_Time_Value *&tv, - void *&arg); - - /// Accessor to protocol object. - TAO_AV_Protocol_Object *protocol_object (void); - - /// get the policies for the protocol object. - virtual TAO_AV_PolicyList get_policies (void); -protected: - TAO_AV_Protocol_Object *protocol_object_; - TAO_AV_Flow_Handler *handler_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/AV/Policy.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_AV_POLICY_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Policy.i b/TAO/orbsvcs/orbsvcs/AV/Policy.i deleted file mode 100644 index 3ff570e0e6f..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Policy.i +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//-------------------------------------------------- -// TAO_AV_Policy -//-------------------------------------------------- - -ACE_INLINE CORBA::ULong -TAO_AV_Policy::type (void) -{ - return this->type_; -} - -//-------------------------------------------------- -// TAO_AV_SSRC_Policy -//-------------------------------------------------- - -ACE_INLINE CORBA::ULong -TAO_AV_SSRC_Policy::value (void) -{ - return this->ssrc_; -} - - -ACE_INLINE void -TAO_AV_SSRC_Policy::value (CORBA::ULong ssrc) -{ - this->ssrc_ = ssrc; -} - -//-------------------------------------------------- -// TAO_AV_Payload_Type_Policy -//-------------------------------------------------- -ACE_INLINE void -TAO_AV_Payload_Type_Policy::value (int pt) -{ - this->payload_type_ = pt; -} - -ACE_INLINE int -TAO_AV_Payload_Type_Policy::value (void) -{ - return this->payload_type_; -} - - -// TAO_AV_RTCP_Sdes_Policy -ACE_INLINE TAO_AV_RTCP_Sdes & -TAO_AV_RTCP_Sdes_Policy::value (void) -{ - return this->sdes_; -} - -ACE_INLINE void -TAO_AV_RTCP_Sdes_Policy::value (const TAO_AV_RTCP_Sdes &sdes_val) -{ - this->sdes_ = sdes_val; -} - -//---------------------------------------------------------------------- -// TAO_AV_SFP_Credit_Policy -//---------------------------------------------------------------------- - -ACE_INLINE -void -TAO_AV_SFP_Credit_Policy::value (int credit) -{ - this->value_ = credit; -} - -ACE_INLINE -int -TAO_AV_SFP_Credit_Policy::value (void) -{ - return this->value_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.cpp b/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.cpp deleted file mode 100644 index 55f5767c9ca..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.cpp +++ /dev/null @@ -1,131 +0,0 @@ -// $Id$ - - -#include "orbsvcs/AV/Protocol_Factory.h" -#include "tao/debug.h" -#include "ace/Dynamic_Service.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO_AV_Flow_Protocol_Factory -TAO_AV_Flow_Protocol_Factory::TAO_AV_Flow_Protocol_Factory (void) -{ -} - -TAO_AV_Flow_Protocol_Factory::~TAO_AV_Flow_Protocol_Factory (void) -{ -} - -int -TAO_AV_Flow_Protocol_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return -1; -} - -int -TAO_AV_Flow_Protocol_Factory::match_protocol (const char * /* protocol_string */) -{ - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_Flow_Protocol_Factory::make_protocol_object (TAO_FlowSpec_Entry * /* entry */, - TAO_Base_StreamEndPoint * /* endpoint */ , - TAO_AV_Flow_Handler * /* handler */, - TAO_AV_Transport * /* transport */) -{ - return 0; -} - -const char * -TAO_AV_Flow_Protocol_Factory::control_flow_factory (void) -{ - return 0; -} - -//---------------------------------------------------------------------- -// TAO_AV_Protocol_Object -//---------------------------------------------------------------------- -TAO_AV_Protocol_Object::TAO_AV_Protocol_Object (void) - :transport_ (0), - callback_ (0) -{ - // no-op. -} - -TAO_AV_Protocol_Object::TAO_AV_Protocol_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) - :transport_ (transport), - callback_ (callback) -{ - // no-op. -} - -int -TAO_AV_Protocol_Object::open (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) -{ - this->callback_ = callback; - this->transport_ = transport; - return 0; -} - -TAO_AV_Protocol_Object::~TAO_AV_Protocol_Object (void) -{ -} - -int -TAO_AV_Protocol_Object::start (void) -{ - return this->callback_->handle_start (); -} - -int -TAO_AV_Protocol_Object::stop (void) -{ - return this->callback_->handle_stop (); -} - -int -TAO_AV_Protocol_Object::set_policies (const TAO_AV_PolicyList &policy_list) -{ - this->policy_list_ = policy_list; - return 0; -} - -TAO_AV_PolicyList -TAO_AV_Protocol_Object::get_policies (void) -{ - return this->policy_list_; -} - -TAO_AV_Transport* -TAO_AV_Protocol_Object::transport (void) -{ - return this->transport_; -} - -// void -// TAO_AV_Protocol_Object::transport (TAO_AV_Transport *transport) -// { -// this->transport_ = transport; -// } - -void -TAO_AV_Protocol_Object::control_object (TAO_AV_Protocol_Object * /* object */) -{ - return; -} - -int -TAO_AV_Protocol_Object::handle_control_input (ACE_Message_Block *, - const ACE_Addr &) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_Protocol_Object::handle_control_input\n")); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h b/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h deleted file mode 100644 index f18774d3006..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h +++ /dev/null @@ -1,103 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Protocol_Factory.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_PROTOCOL_FACTORY_T_H -#define TAO_AV_PROTOCOL_FACTORY_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/Policy.h" - -#include "ace/Service_Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_Protocol_Object - * @brief - */ -class TAO_AV_Export TAO_AV_Protocol_Object -{ -public: - TAO_AV_Protocol_Object (void); - - /// constructor. - TAO_AV_Protocol_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport); - - /// Destructor - virtual ~TAO_AV_Protocol_Object (void); - - virtual int open (TAO_AV_Callback *callback, - TAO_AV_Transport *transport); - - virtual int handle_input (void) = 0; - - /// Called on a control object. - virtual int handle_control_input (ACE_Message_Block *control_frame, - const ACE_Addr &peer_address); - - /// set/get policies. - virtual int set_policies (const TAO_AV_PolicyList &policy_list); - virtual TAO_AV_PolicyList get_policies (void); - - /// start/stop the flow. - virtual int start (void); - virtual int stop (void); - - /// send a data frame. - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0) = 0; - - /// send a frame in iovecs. - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0) = 0; - - virtual int send_frame (const char *buf, - size_t len) = 0; - - /// end the stream. - virtual void control_object (TAO_AV_Protocol_Object *object); - virtual int destroy (void) = 0; - TAO_AV_Transport *transport (void); -protected: - TAO_AV_Transport *transport_; - TAO_AV_PolicyList policy_list_; - TAO_AV_Callback *callback_; -}; - -/** - * @class TAO_AV_Flow_Protocol_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_Flow_Protocol_Factory : public ACE_Service_Object -{ -public: - /// Initialization hook. - TAO_AV_Flow_Protocol_Factory (void); - virtual ~TAO_AV_Flow_Protocol_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *flow_string); - virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); - virtual const char *control_flow_factory (void); - int ref_count; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_AV_PROTOCOL_FACTORY_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.cpp b/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.cpp deleted file mode 100644 index 19aba484619..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.cpp +++ /dev/null @@ -1,1537 +0,0 @@ -// $Id$ - - -#include "orbsvcs/AV/QoS_UDP.h" - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) - -#include "orbsvcs/AV/UDP.h" -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/MCast.h" -#include "orbsvcs/AV/Fill_ACE_QoS.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/AV/QoS_UDP.i" -#endif /* __ACE_INLINE__ */ - -//------------------------------------------------------------ -// TAO_AV_UDP_Flow_Handler -//------------------------------------------------------------ - -static int resv_error = 0; -static int resv_confirm = 0; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -FillQoSParams (ACE_QoS_Params &qos_params, - iovec* iov, - ACE_QoS* qos) -{ - qos_params.callee_data (iov); - qos_params.caller_data (0); - qos_params.socket_qos (qos); - qos_params.group_socket_qos (0); - qos_params.flags (ACE_JL_BOTH); - - return 0; -} - -TAO_AV_UDP_QoS_Session_Helper::TAO_AV_UDP_QoS_Session_Helper (void) -{ - -} - -TAO_AV_UDP_QoS_Session_Helper::~TAO_AV_UDP_QoS_Session_Helper (void) -{ -} - -int -TAO_AV_UDP_QoS_Session_Helper::set_qos (ACE_Flow_Spec &ace_flow_spec, - TAO_AV_UDP_QoS_Flow_Handler *handler) -{ - ACE_QoS* ace_qos = 0; - - ACE_NEW_RETURN (ace_qos, - ACE_QoS, - -1); - - Fill_ACE_QoS fill_ace_qos; - - if (handler->flowspec_entry ()->role () == TAO_FlowSpec_Entry::TAO_AV_PRODUCER) - { - if (fill_ace_qos.fill_simplex_sender_qos (*ace_qos, - &ace_flow_spec) !=0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to fill simplex sender qos (%N|%l)\n"), - -1); - else - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Filled up the Sender QoS parameters\n")); - } - else if (handler->flowspec_entry ()->role () == TAO_FlowSpec_Entry::TAO_AV_CONSUMER) - { - if (fill_ace_qos.fill_simplex_receiver_qos (*ace_qos, - &ace_flow_spec) !=0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to fill simplex receiver qos (%N|%l)\n"), - -1); - else - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Filled up the Receiver QoS parameters\n")); - - } - - ACE_QoS_Manager qos_manager = handler->get_socket ()->qos_manager (); - - // Set the QoS for the session. Replaces the ioctl () call that - // was being made previously. - if (handler->qos_session ()->qos (handler->get_socket (), - &qos_manager, - *ace_qos) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to set QoS (%N|%l)\n"), - -1); - else - ACE_DEBUG ((LM_DEBUG, - "Setting QOS succeeds\n")); - - return 0; -} - -ACE_QoS_Session * -TAO_AV_UDP_QoS_Session_Helper::open_qos_session (TAO_AV_UDP_QoS_Flow_Handler *handler, - ACE_INET_Addr &addr) -{ - ACE_QoS_Params qos_params; - - ACE_QoS* ace_qos = 0; - - FillQoSParams (qos_params, - 0, - ace_qos); - - - // Create a QoS Session Factory. - ACE_QoS_Session_Factory session_factory; - - // Ask the factory to create a QoS session. - ACE_QoS_Session *qos_session = session_factory.create_session (); - - // Create a destination address for the QoS session. The same - // address should be used for the subscribe call later. A copy - // is made below only to distinguish the two usages of the dest - // address. - ACE_INET_Addr dest_addr (addr); - - // A QoS session is defined by the 3-tuple [DestAddr, DestPort, - // Protocol]. Initialize the QoS session. - if (qos_session->open (dest_addr, - IPPROTO_UDP) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in opening the QoS session\n"), - 0); - else - ACE_DEBUG ((LM_DEBUG, - "QoS session opened successfully\n")); - - if (handler->flowspec_entry ()->role () == TAO_FlowSpec_Entry::TAO_AV_PRODUCER) - { - // This is a sender - qos_session->flags (ACE_QoS_Session::ACE_QOS_SENDER); - } - else if (handler->flowspec_entry ()->role () == TAO_FlowSpec_Entry::TAO_AV_CONSUMER) - { - // This is a receiver - qos_session->flags (ACE_QoS_Session::ACE_QOS_RECEIVER); - } - - return qos_session; -} - -int -TAO_AV_UDP_QoS_Session_Helper::activate_qos_handler (ACE_QoS_Session *qos_session, - TAO_AV_UDP_QoS_Flow_Handler *handler) -{ - ACE_QoS_Decorator* qos_decorator; - - // Decorate the above handler with QoS functionality. - ACE_NEW_RETURN (qos_decorator, - ACE_QoS_Decorator (handler, - qos_session, - handler->av_core ()->reactor ()), - -1); - - // Initialize the Decorator. - if (qos_decorator->init () != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "QoS Decorator init () failed (%N|%l)\n"), - -1); - - // Register the decorated Event Handler with the Reactor. - int result = handler->av_core ()->reactor ()->register_handler (qos_decorator, - ACE_Event_Handler::QOS_MASK | - ACE_Event_Handler::READ_MASK); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in registering the Decorator with the Reactor (%N|%l)\n"), - -1); - - return 0; - -} - -TAO_AV_UDP_QoS_Flow_Handler::TAO_AV_UDP_QoS_Flow_Handler (void) -{ - ACE_NEW (this->transport_, - TAO_AV_UDP_QoS_Transport (this)); -} - -TAO_AV_UDP_QoS_Flow_Handler::~TAO_AV_UDP_QoS_Flow_Handler (void) -{ - delete this->transport_; -} - -TAO_AV_Transport * -TAO_AV_UDP_QoS_Flow_Handler::transport (void) -{ - return this->transport_; -} - -int -TAO_AV_UDP_QoS_Flow_Handler::handle_input (ACE_HANDLE /*fd*/) -{ - this->protocol_object_->handle_input (); - return 0; -} - -int -TAO_AV_UDP_QoS_Flow_Handler::translate (CosPropertyService::Properties &qos_params, - ACE_Flow_Spec *ace_flow_spec) -{ - for (unsigned int i = 0; - i < qos_params.length (); - i++) - { - if (ACE_OS::strcmp (qos_params [i].property_name, "Service_Type") == 0) - { - CORBA::Short type; - qos_params [i].property_value >>= type; - ace_flow_spec->service_type (type); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Token_Rate") == 0) - { - CORBA::ULong tok_rate; - qos_params [i].property_value >>= tok_rate; - ace_flow_spec->token_rate (tok_rate); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Token_Bucket_Size") == 0) - { - CORBA::ULong tok_buck_size; - qos_params [i].property_value >>= tok_buck_size; - ace_flow_spec->token_bucket_size (tok_buck_size); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Peak_Bandwidth") == 0) - { - CORBA::ULong peak_bw; - qos_params [i].property_value >>= peak_bw; - ace_flow_spec->peak_bandwidth (peak_bw); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Latency") == 0) - { - CORBA::ULong lat; - qos_params [i].property_value >>= lat; - ace_flow_spec->latency (lat); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Delay_Variation") == 0) - { - CORBA::ULong delay_var; - qos_params [i].property_value >>= delay_var; - ace_flow_spec->delay_variation (delay_var); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Max_SDU_Size") == 0) - { - CORBA::ULong max_sdu; - qos_params [i].property_value >>= max_sdu; - ace_flow_spec->max_sdu_size (max_sdu); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Minimum_Policed_Size") == 0) - { - CORBA::ULong min_pol_size; - qos_params [i].property_value >>= min_pol_size; - ace_flow_spec->minimum_policed_size (min_pol_size); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "TTL") == 0) - { - CORBA::ULong ttl; - qos_params [i].property_value >>= ttl; - ace_flow_spec->ttl (ttl); - } - else if (ACE_OS::strcmp (qos_params [i].property_name, "Priority") == 0) - { - CORBA::ULong priority; - qos_params [i].property_value >>= priority; - ace_flow_spec->priority (priority); - } - } - - return 0; -} - -int -TAO_AV_UDP_QoS_Flow_Handler::translate (ACE_Flow_Spec *ace_flow_spec, - CosPropertyService::Properties &qos_params) -{ - qos_params.length (9); - - qos_params [0].property_name = CORBA::string_dup ("Service_Type"); - qos_params [0].property_value <<= (CORBA::Short) ace_flow_spec->service_type (); - - qos_params [1].property_name = CORBA::string_dup ("Token_Rate"); - qos_params [1].property_value <<= (CORBA::ULong) ace_flow_spec->token_rate (); - - qos_params [2].property_name = CORBA::string_dup ("Token_Bucket_Size"); - qos_params [2].property_value <<= (CORBA::ULong) ace_flow_spec->token_bucket_size (); - - qos_params [3].property_name = CORBA::string_dup ("Peak_Bandwidth"); - qos_params [3].property_value <<= (CORBA::ULong) ace_flow_spec->peak_bandwidth (); - - qos_params [4].property_name = CORBA::string_dup ("Latency"); - qos_params [4].property_value <<= (CORBA::ULong) ace_flow_spec->latency (); - - qos_params [5].property_name = CORBA::string_dup ("Delay_Variation"); - qos_params [5].property_value <<= (CORBA::ULong) ace_flow_spec->delay_variation (); - - qos_params [6].property_name = CORBA::string_dup ("Max_SDU_Size"); - qos_params [6].property_value <<= (CORBA::ULong) ace_flow_spec->max_sdu_size (); - - qos_params [7].property_name = CORBA::string_dup ("Minimum_Policed_Size"); - qos_params [7].property_value <<= (CORBA::ULong) ace_flow_spec->minimum_policed_size (); - - qos_params [8].property_name = CORBA::string_dup ("TTL"); - qos_params [8].property_value <<= (CORBA::ULong) ace_flow_spec->ttl (); - - return 0; -} - -int -TAO_AV_UDP_QoS_Flow_Handler::handle_qos (ACE_HANDLE /*fd*/) -{ - - ACE_DECLARE_NEW_CORBA_ENV; - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Flow_Handler::handle_qos\n")); - - if (this->qos_session_->update_qos () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in updating QoS\n"), - -1); - else - { - if(TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Updating QOS succeeds.\n")); - } - - if (this->qos_session_->rsvp_event_type () == ACE_QoS_Session::RSVP_RESV_ERROR) - { - resv_error = 1; - } - - if (this->qos_session_->rsvp_event_type () == ACE_QoS_Session::RSVP_RESV_CONFIRM) - { - resv_confirm = 1; - } - - if (this->qos_session_->flags () == ACE_QoS_Session::ACE_QOS_SENDER) - { - if (this->qos_session_->rsvp_event_type () == ACE_QoS_Session::RSVP_RESV_EVENT) - { - if( TAO_debug_level > 0 ) - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Resv Event Received\n")); - } - if (!CORBA::is_nil (this->negotiator_)) - { - if( TAO_debug_level > 0 ) - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Negotiator Specified\n")); - } - - AVStreams::streamQoS new_qos; - ACE_Flow_Spec *ace_flow_spec = - this->qos_session_->qos ().sending_flowspec (); - - if (ace_flow_spec != 0) - { - new_qos.length (1); - this->translate (ace_flow_spec, - new_qos [0].QoSParams); - } - - AVStreams::Negotiator_var remote_negotiator; - this->negotiator_->negotiate (remote_negotiator.in (), - new_qos - ACE_ENV_ARG_PARAMETER); - } - } - } - else if (this->qos_session_->flags () == ACE_QoS_Session::ACE_QOS_RECEIVER) - { - if (this->qos_session_->rsvp_event_type () == ACE_QoS_Session::RSVP_PATH_EVENT) - { - ACE_QoS_Manager qos_manager = - this->get_socket ()->qos_manager (); - - ACE_QoS ace_qos = this->qos_session_->qos (); - - this->qos_session_->qos (this->get_socket (), - &qos_manager, - ace_qos); - } - } - - return 0; -} - -int -TAO_AV_UDP_QoS_Flow_Handler::change_qos (AVStreams::QoS new_qos) -{ - if( TAO_debug_level > 0 ) - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Flow_Handler::change_qos\n")); - } - - ACE_QoS* ace_qos = 0; - - ACE_NEW_RETURN (ace_qos, - ACE_QoS, - -1); - - if (new_qos.QoSParams.length () != 0) - { - ACE_DEBUG ((LM_DEBUG, - "New QoS Params are not Empty\n")); - - ACE_Flow_Spec *ace_flow_spec; - - ACE_NEW_RETURN (ace_flow_spec, - ACE_Flow_Spec, - -1); - - this->translate (new_qos.QoSParams, - ace_flow_spec); - - - Fill_ACE_QoS fill_ace_qos; - - if (this->qos_session_->flags () == ACE_QoS_Session::ACE_QOS_SENDER) - { - if (fill_ace_qos.fill_simplex_sender_qos (*ace_qos, - ace_flow_spec) !=0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to fill simplex sender qos\n"), - -1); - else - { - if( TAO_debug_level > 0 ) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Filled up the Sender QoS parameters\n")); - } - } - else if (this->qos_session_->flags () == ACE_QoS_Session::ACE_QOS_RECEIVER) - { - if (fill_ace_qos.fill_simplex_receiver_qos (*ace_qos, - ace_flow_spec) !=0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to fill simplex receiver qos\n"), - -1); - else - { - if( TAO_debug_level > 0 ) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Filled up the Receiver QoS parameters\n")); - } - - } - - ACE_QoS_Params qos_params; - FillQoSParams (qos_params, - 0, - ace_qos); - } - - ACE_QoS_Manager qos_manager = - this->get_socket ()->qos_manager (); - - int result = this->qos_session_->qos (this->get_socket (), - &qos_manager, - *ace_qos); - if (result != 0) - return result; - - return 0; -} - -int -TAO_AV_UDP_QoS_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, - const void *arg) -{ - return TAO_AV_Flow_Handler::handle_timeout (tv,arg); -} - -int -TAO_AV_UDP_QoS_Flow_Handler::set_remote_address (ACE_Addr *address) -{ - - if (TAO_debug_level > 0) - { - char buf [BUFSIZ]; - ACE_INET_Addr *remote_addr = dynamic_cast (address); - remote_addr->addr_to_string (buf, - BUFSIZ); - - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Flow_Handler::set_remote_address %s\n", - buf)); - } - - - ACE_INET_Addr *inet_addr = - dynamic_cast (address); - - this->peer_addr_ = *inet_addr; - - TAO_AV_UDP_QoS_Transport *transport = - dynamic_cast (this->transport_); - - if (this->entry_->role () == TAO_FlowSpec_Entry::TAO_AV_PRODUCER) - { - - TAO_AV_UDP_QoS_Session_Helper helper; - - this->qos_session_ = helper.open_qos_session (this, - *inet_addr); - - if (this->qos_session_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "QoS Session Open Failed (%N|%l)\n"), - -1); - - ACE_INET_Addr local_addr; - this->get_socket ()->get_local_addr (local_addr); - - ACE_INET_Addr* src_addr; - ACE_NEW_RETURN (src_addr, - ACE_INET_Addr (local_addr.get_port_number (), - local_addr.get_host_name ()), - -1); - - this->qos_session_->source_addr (src_addr); - - if (helper.activate_qos_handler (this->qos_session_, - this) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Activating QoS Handler Failed (%N|%l)\n"), - -1); - } - return transport->set_remote_address (*inet_addr); -} - - -ACE_HANDLE -TAO_AV_UDP_QoS_Flow_Handler::get_handle (void) const -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Flow_Handler::get_handle:%d\n", - this->qos_sock_dgram_.get_handle ())); - - return this->qos_sock_dgram_.get_handle () ; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Transport -//------------------------------------------------------------ - -TAO_AV_UDP_QoS_Transport::TAO_AV_UDP_QoS_Transport (void) - :handler_ (0) -{ -} - -TAO_AV_UDP_QoS_Transport::TAO_AV_UDP_QoS_Transport (TAO_AV_UDP_QoS_Flow_Handler *handler) - :handler_ (handler), - addr_ (0) -{ -} - -TAO_AV_UDP_QoS_Transport::~TAO_AV_UDP_QoS_Transport (void) -{ -} - -int -TAO_AV_UDP_QoS_Transport::set_remote_address (const ACE_INET_Addr &address) -{ - this->peer_addr_ = address; - return 0; -} - -int -TAO_AV_UDP_QoS_Transport::open (ACE_Addr * /*address*/) -{ - return 0; -} - -int -TAO_AV_UDP_QoS_Transport::close (void) -{ - return 0; -} - -int -TAO_AV_UDP_QoS_Transport::mtu (void) -{ - return ACE_MAX_DGRAM_SIZE; -} - -ACE_Addr* -TAO_AV_UDP_QoS_Transport::get_peer_addr (void) -{ - return &this->peer_addr_; -} - -ssize_t -TAO_AV_UDP_QoS_Transport::send (const ACE_Message_Block *mblk, - ACE_Time_Value *) -{ - // For the most part this was copied from GIOP::send_request and - // friends. - - iovec iov[IOV_MAX]; - int iovcnt = 0; - ssize_t n = 0; - ssize_t nbytes = 0; - - for (const ACE_Message_Block *i = mblk; - i != 0; - i = i->cont ()) - { - // Make sure there is something to send! - if (i->length () > 0) - { - iov[iovcnt].iov_base = i->rd_ptr (); - iov[iovcnt].iov_len = static_cast (i->length ()); - iovcnt++; - - // The buffer is full make a OS call. @@ TODO this should - // be optimized on a per-platform basis, for instance, some - // platforms do not implement writev() there we should copy - // the data into a buffer and call send_n(). In other cases - // there may be some limits on the size of the iovec, there - // we should set IOV_MAX to that limit. - - size_t bytes_sent = 0; - - if (iovcnt == IOV_MAX) - { - if (this->handler_->get_socket ()->send (iov, - 1, - bytes_sent, - 0, - this->handler_->qos_session ()->dest_addr (), - 0, - 0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in dgram_mcast.send () (%N|%l)\n"), - -1); - else - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Using ACE_OS::sendto () : Bytes sent : %d", - bytes_sent)); - - if (n < 1) - return n; - - nbytes += bytes_sent; - iovcnt = 0; - } - } - } - - size_t bytes_sent = 0; - - // Check for remaining buffers to be sent! - if (iovcnt != 0) - { - if (this->handler_->get_socket ()->send (iov, - 1, - bytes_sent, - 0, - this->handler_->qos_session ()->dest_addr (), - 0, - 0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in dgram_mcast.send ()\n"), - -1); - else - if( TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Using ACE_OS::sendto () : Bytes sent : %d", - bytes_sent)); - - if (n < 1) - return n; - - nbytes += bytes_sent; - } - - return nbytes; -} - -ssize_t -TAO_AV_UDP_QoS_Transport::send (const char *buf, - size_t len, - ACE_Time_Value *) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Transport::send ")); - - char addr [BUFSIZ]; - this->peer_addr_.addr_to_string (addr,BUFSIZ); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) to %s\n", - addr)); - - return this->handler_->get_socket ()->send (buf, - len, - this->handler_->qos_session ()->dest_addr (), - 0, - 0, - 0); -} - -ssize_t -TAO_AV_UDP_QoS_Transport::send (const iovec *iov, - int /*iovcnt*/, - ACE_Time_Value *) -{ - size_t bytes_sent = 0; - if (this->handler_->get_socket ()->send (iov, - 1, - bytes_sent, - 0, - this->handler_->qos_session ()->dest_addr (), - 0, - 0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in dgram_mcast.send ()\n"), - -1); - else - { - if( TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Using ACE_OS::sendto () : Bytes sent : %d", - bytes_sent)); - } - - - return bytes_sent; -} - -ssize_t -TAO_AV_UDP_QoS_Transport::recv (char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->get_socket ()->recv (buf, len,this->peer_addr_); -} - -ssize_t -TAO_AV_UDP_QoS_Transport::recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *timeout) -{ - return this->handler_->get_socket ()->recv (buf, - len, - this->peer_addr_, - flags, - timeout); -} - -ssize_t -TAO_AV_UDP_QoS_Transport::recv (iovec *iov, - int /*iovcnt*/, - ACE_Time_Value *timeout) -{ - return handler_->get_socket ()->recv (iov,this->peer_addr_,0,timeout); -} - - -//------------------------------------------------------------ -// TAO_AV_UDP_Acceptor -//------------------------------------------------------------ - -TAO_AV_UDP_QoS_Acceptor::TAO_AV_UDP_QoS_Acceptor (void) -{ -} - -TAO_AV_UDP_QoS_Acceptor::~TAO_AV_UDP_QoS_Acceptor (void) -{ -} - -int -TAO_AV_UDP_QoS_Acceptor::activate_svc_handler (TAO_AV_UDP_QoS_Flow_Handler *handler) -{ - int result = 0; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Acceptor Svc Handler QOS ENABLED \n")); - - TAO_AV_UDP_QoS_Session_Helper helper; - - result = helper.activate_qos_handler (handler->qos_session (), - handler); - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in registering the Decorator with the Reactor\n"), - -1); - - return result; -} - -int -TAO_AV_UDP_QoS_Acceptor::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - ACE_UNUSED_ARG (flow_comp); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Acceptor::open ")); - - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - - - this->flow_protocol_factory_ = factory; - this->flowname_ = entry->flowname (); - ACE_INET_Addr *inet_addr = (ACE_INET_Addr *) entry->address (); -// inet_addr->set (inet_addr->get_port_number (), -// inet_addr->get_host_name ()); - char buf[BUFSIZ]; - inet_addr->addr_to_string (buf, - BUFSIZ); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_QoS_Acceptor::open: %s", - buf)); - - int result = this->open_i (inet_addr); - - if (result < 0) - return result; - - return 0; -} - -int -TAO_AV_UDP_QoS_Acceptor::open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - ACE_UNUSED_ARG (flow_comp); - - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - this->flow_protocol_factory_ = factory; - this->flowname_ = entry->flowname (); - char buf [BUFSIZ]; - ACE_OS::hostname (buf, - BUFSIZ); - qos_acceptor_addr_.set((u_short)0, buf); -/* ACE_INET_Addr *address; - ACE_NEW_RETURN (address, - ACE_INET_Addr ("0"), - -1); - - address->addr_to_string (buf, - BUFSIZ);*/ - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) ADDRESS IS %s:%d\n", - buf, qos_acceptor_addr_.get_port_number() )); - - int result = this->open_i (&qos_acceptor_addr_); - if (result < 0) - return result; - return 0; -} - - -int -TAO_AV_UDP_QoS_Acceptor::open_i (ACE_INET_Addr *inet_addr) -{ - ACE_DECLARE_NEW_CORBA_ENV; - int result = 0; - - // TAO_AV_Callback *callback = 0; - // this->endpoint_->get_callback (this->flowname_.c_str (), - // callback); - ACE_INET_Addr *local_addr; - - ACE_NEW_RETURN (local_addr, - ACE_INET_Addr (*inet_addr), - -1); - - ACE_QoS_Params qos_params; - - ACE_QoS* ace_qos = 0; - - FillQoSParams (qos_params, - 0, - ace_qos); - - - TAO_AV_UDP_QoS_Flow_Handler* handler; - ACE_NEW_RETURN (handler, - TAO_AV_UDP_QoS_Flow_Handler, - -1); - - - TAO_AV_Flow_Handler *flow_handler = 0; - flow_handler = handler; - - handler->endpoint (this->endpoint_); - handler->flowspec_entry (this->entry_); - handler->av_core (this->av_core_); - - if (this->entry_->role () == TAO_FlowSpec_Entry::TAO_AV_CONSUMER) - { - - TAO_AV_UDP_QoS_Session_Helper helper; - - int result = handler->get_socket ()->open (*inet_addr, - qos_params, - AF_INET, - 0, - 0, - 0, - ACE_OVERLAPPED_SOCKET_FLAG - | ACE_FLAG_MULTIPOINT_C_LEAF - | ACE_FLAG_MULTIPOINT_D_LEAF, - 1); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_QOS_UDP_MCast_Acceptor data socket open failed (%N|%l)\n"), - -1); - - result = handler->get_socket ()->get_local_addr (*local_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Error in getting Local Address (%N|%l)\n"), - -1); - - // Create a destination address for the QoS session. The same - // address should be used for the subscribe call later. A copy - // is made below only to distinguish the two usages of the dest - // address. - ACE_INET_Addr dest_addr; - dest_addr.set (local_addr->get_port_number (), - local_addr->get_host_name ()); - - char dest_buf [BUFSIZ]; - dest_addr.addr_to_string (dest_buf, - BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Session Address is %s\n", - dest_buf)); - - this->qos_session_ = helper.open_qos_session (handler, - dest_addr); - - if (this->qos_session_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "QoS Session Open Failed (%N|%l)\n"), - -1); - - handler->qos_session (this->qos_session_); - - if (this->activate_svc_handler (handler) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Activate Svc Handler Failed (%N|%l)\n"), - -1); - - AVStreams::QoS qos; - int qos_available = this->endpoint_->qos ().get_flow_qos (this->flowname_.c_str (), - qos); - - if (qos_available == 0) - { - - ACE_Flow_Spec *ace_flow_spec = 0; - ACE_NEW_RETURN (ace_flow_spec, - ACE_Flow_Spec, - -1); - - handler->translate (qos.QoSParams, - ace_flow_spec); - - if (helper.set_qos (*ace_flow_spec, - handler) == -1) - - ACE_ERROR_RETURN ((LM_ERROR, - "Set QoS Failed (%N|%l)\n"), - -1); - } - } - else - { - - int result = handler->get_socket ()->open (*inet_addr, - qos_params, - AF_INET, - 0, - 0, - 0, - ACE_OVERLAPPED_SOCKET_FLAG - | ACE_FLAG_MULTIPOINT_C_LEAF - | ACE_FLAG_MULTIPOINT_D_LEAF, - 1); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_QOS_UDP_MCast_Acceptor data socket open failed (%N|%l)\n"), - -1); - } - - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - flow_handler, - flow_handler->transport ()); - flow_handler->protocol_object (object); - - AVStreams::Negotiator_ptr negotiator; - - ACE_TRY_EX (negotiator) - { - CORBA::Any_ptr negotiator_any = - this->endpoint_->get_property_value ("Negotiator" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (negotiator); - - *negotiator_any >>= negotiator; - handler->negotiator (negotiator); - } - ACE_CATCHANY - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Negotiator Not Found \n")); - } - ACE_ENDTRY; - - this->endpoint_->set_flow_handler (this->flowname_.c_str (),flow_handler); - this->entry_->protocol_object (object); - - result = handler->get_socket ()->get_local_addr (*local_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_Dgram_Connector::open: get_local_addr failed\n"),result); - local_addr->set (local_addr->get_port_number (), - local_addr->get_host_name ()); - - if (TAO_debug_level > 0) - { - char buf [BUFSIZ]; - local_addr->addr_to_string (buf, - BUFSIZ); - ACE_DEBUG ((LM_DEBUG, - "Local Address is %s\n", - buf)); - } - - this->entry_->set_local_addr (local_addr); - this->entry_->handler (flow_handler); - - return 0; - -} - -int -TAO_AV_UDP_QoS_Acceptor::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Connector -//------------------------------------------------------------ -TAO_AV_UDP_QoS_Connector::TAO_AV_UDP_QoS_Connector (void) -{ -} - -TAO_AV_UDP_QoS_Connector::~TAO_AV_UDP_QoS_Connector (void) -{ -} - -int -TAO_AV_UDP_QoS_Connector::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory) - -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_QoS_Connector::open ")); - - this->endpoint_ = endpoint; - this->av_core_ = av_core; - this->flow_protocol_factory_ = factory; - return 0; -} - -// int -// TAO_AV_UDP_QoS_Connector::translate (CosPropertyService::Properties &qos_params, -// ACE_Flow_Spec *ace_flow_spec) -// { -// for (unsigned int i = 0; -// i < qos_params.length (); -// i++) -// { -// if (ACE_OS::strcmp (qos_params [i].property_name, "Service_Type") == 0) -// { -// CORBA::Short type; -// qos_params [i].property_value >>= type; -// ace_flow_spec->service_type (type); -// } -// else if (ACE_OS::strcmp (qos_params [i].property_name, "Token_Rate") == 0) -// { -// CORBA::ULong tok_rate; -// qos_params [i].property_value >>= tok_rate; -// ace_flow_spec->token_rate (tok_rate); -// } -// else if (ACE_OS::strcmp (qos_params [i].property_name, "Token_Bucket_Rate") == 0) -// { -// CORBA::ULong tok_buck_size; -// qos_params [i].property_value >>= tok_buck_size; -// ace_flow_spec->token_bucket_size (tok_buck_size); -// } -// else if (ACE_OS::strcmp (qos_params [i].property_name, "Peak_Bandwidth") == 0) -// { -// CORBA::ULong peak_bw; -// qos_params [i].property_value >>= peak_bw; -// ace_flow_spec->peak_bandwidth (peak_bw); -// } -// else if (ACE_OS::strcmp (qos_params [i].property_name, "Latency") == 0) -// { -// CORBA::ULong lat; -// qos_params [i].property_value >>= lat; -// ace_flow_spec->latency (lat); -// } -// else if (ACE_OS::strcmp (qos_params [i].property_name, "Delay_Variation") == 0) -// { -// CORBA::ULong delay_var; -// qos_params [i].property_value >>= delay_var; -// ace_flow_spec->delay_variation (delay_var); -// } - -// } - -// return 0; -// } - - -int -TAO_AV_UDP_QoS_Connector::connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp) -{ - ACE_UNUSED_ARG (flow_comp); - - ACE_DECLARE_NEW_CORBA_ENV; - int result = 0; - this->entry_ = entry; - this->flowname_ = entry->flowname (); - - ACE_INET_Addr *local_addr; - - if (entry->get_peer_addr () != 0) - { - local_addr = dynamic_cast (entry->get_peer_addr ()); - } - else - ACE_NEW_RETURN (local_addr, - ACE_INET_Addr ("0"), - -1); - - TAO_AV_Flow_Handler *flow_handler = 0; - - TAO_AV_UDP_QoS_Flow_Handler *handler; - ACE_NEW_RETURN (handler, - TAO_AV_UDP_QoS_Flow_Handler, - -1); - - flow_handler = handler; - - handler->endpoint (this->endpoint_); - handler->flowspec_entry (this->entry_); - handler->av_core (this->av_core_); - - ACE_INET_Addr *inet_addr = dynamic_cast (entry->address ()); - - ACE_QoS_Params qos_params; - - ACE_QoS* ace_qos = 0; - - FillQoSParams (qos_params, - 0, - ace_qos); - - result = handler->get_socket ()->open (*local_addr, - qos_params, - AF_INET, - 0, - 0, - 0, - ACE_OVERLAPPED_SOCKET_FLAG - | ACE_FLAG_MULTIPOINT_C_LEAF - | ACE_FLAG_MULTIPOINT_D_LEAF, - 1); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Data socket open failed (%N|%l)\n"), - -1); - - result = handler->get_socket ()->get_local_addr (*local_addr); - - - ACE_INET_Addr *session_addr = 0; - if (this->entry_->role () == TAO_FlowSpec_Entry::TAO_AV_CONSUMER) - { - ACE_NEW_RETURN (session_addr, - ACE_INET_Addr, - -1); - - session_addr->set (local_addr->get_port_number (), - local_addr->get_host_name ()); - - } - else - { - session_addr = inet_addr; - } - - char sess_buf [BUFSIZ]; - session_addr->addr_to_string (sess_buf, - BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Session Address is %s\n", - sess_buf)); - - // Create a destination address for the QoS session. The same - // address should be used for the subscribe call later. A copy - // is made below only to distinguish the two usages of the dest - // address. - ACE_INET_Addr dest_addr (*session_addr); - - TAO_AV_UDP_QoS_Session_Helper helper; - - this->qos_session_ = helper.open_qos_session (handler, - *session_addr); - - if (this->qos_session_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "QoS Session Open Failed (%N|%l)\n"), - -1); - else - ACE_DEBUG ((LM_DEBUG, - "QoS session opened successfully\n")); - - if (this->entry_->role () == TAO_FlowSpec_Entry::TAO_AV_PRODUCER) - { - //this->qos_session_->source_port (local_addr->get_port_number ()); - ACE_INET_Addr* src_addr; - ACE_NEW_RETURN (src_addr, - ACE_INET_Addr (local_addr->get_port_number (), - local_addr->get_host_name ()), - -1); - - this->qos_session_->source_addr (src_addr); - - } - - handler->qos_session (this->qos_session_); - - this->qos_manager_ = - handler->get_socket ()->qos_manager (); - - AVStreams::QoS qos; - - int qos_available = this->endpoint_->qos ().get_flow_qos (this->flowname_.c_str (), - qos); - if (qos_available == 0) - { - - ACE_Flow_Spec* ace_flow_spec; - ACE_NEW_RETURN (ace_flow_spec, - ACE_Flow_Spec, - -1); - - handler->translate (qos.QoSParams, - ace_flow_spec); - - if (helper.set_qos (*ace_flow_spec, - handler) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to set QoS (%N|%l)\n"), - -1); - else - { - if( TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) Setting QOS succeeds.\n")); - } - } - - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - flow_handler, - flow_handler->transport ()); - - AVStreams::Negotiator_ptr negotiator; - - ACE_TRY_EX (negotiator) - { - CORBA::Any_ptr negotiator_any = - this->endpoint_->get_property_value ("Negotiator" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (negotiator); - - *negotiator_any >>= negotiator; - handler->negotiator (negotiator); - } - ACE_CATCHANY - { - ACE_DEBUG ((LM_DEBUG, - "Negotiator not found for flow %s\n", - this->entry_->flowname ())); - } - ACE_ENDTRY; - - flow_handler->protocol_object (object); - - this->endpoint_->set_flow_handler (this->flowname_.c_str (),flow_handler); - this->entry_->protocol_object (object); - - result = handler->get_socket ()->get_local_addr (*local_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Get local addr failed (%N|%l)\n"), - result); - - local_addr->set (local_addr->get_port_number (), - local_addr->get_host_name ()); - - if (TAO_debug_level > 0) - { - char buf[BUFSIZ]; - local_addr->addr_to_string (buf, - BUFSIZ); - - ACE_DEBUG ((LM_DEBUG, - "Local Address is %s\n", - buf)); - } - - entry->set_local_addr (local_addr); - entry->handler (flow_handler); - transport = flow_handler->transport (); - - // call activate svc handler. - return this->activate_svc_handler (handler); -} - -int -TAO_AV_UDP_QoS_Connector::activate_svc_handler (TAO_AV_UDP_QoS_Flow_Handler *handler) -{ - int result = 0; - - TAO_AV_UDP_QoS_Session_Helper helper; - - result = helper.activate_qos_handler (this->qos_session_, - handler); - - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%N,%l) Error in registering the Decorator with the Reactor\n"), - -1); - - return result; -} - -int -TAO_AV_UDP_QoS_Connector::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Protocol_Factory -//------------------------------------------------------------ - -TAO_AV_UDP_QoS_Factory::TAO_AV_UDP_QoS_Factory (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_QoS_Factory::TAO_AV_UDP_QoS_Factory\n")); -} - -TAO_AV_UDP_QoS_Factory::~TAO_AV_UDP_QoS_Factory (void) -{ -} - -int -TAO_AV_UDP_QoS_Factory::match_protocol (const char *protocol_string) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_QoS_Factory::match_protocol\n")); - - if (ACE_OS::strcasecmp (protocol_string,"QoS_UDP") == 0) - return 1; - return 0; -} - -TAO_AV_Acceptor* -TAO_AV_UDP_QoS_Factory::make_acceptor (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_QoS_Factory::make_acceptor ")); - - TAO_AV_Acceptor *acceptor = 0; - ACE_NEW_RETURN (acceptor, - TAO_AV_UDP_QoS_Acceptor, - 0); - return acceptor; -} - -TAO_AV_Connector* -TAO_AV_UDP_QoS_Factory::make_connector (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_QoS_Factory::make_connector ")); - - TAO_AV_Connector *connector = 0; - ACE_NEW_RETURN (connector, - TAO_AV_UDP_QoS_Connector, - 0); - return connector; -} - -int -TAO_AV_UDP_QoS_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - - -//------------------------------------------------------------ -// TAO_AV_UDP_Flow_Factory -//------------------------------------------------------------ -TAO_AV_UDP_QoS_Flow_Factory::TAO_AV_UDP_QoS_Flow_Factory (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_QoS_Flow_Factory::TAO_AV_UDP_QoS_Flow_Factory\n")); -} - -TAO_AV_UDP_QoS_Flow_Factory::~TAO_AV_UDP_QoS_Flow_Factory (void) -{ -} - -int -TAO_AV_UDP_QoS_Flow_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -int -TAO_AV_UDP_QoS_Flow_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strcasecmp (flow_string,"QoS_UDP") == 0) - return 1; - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_UDP_QoS_Flow_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Callback *callback = 0; - endpoint->get_callback (entry->flowname (), - callback); - - - TAO_AV_UDP_Object *object = 0; - ACE_NEW_RETURN (object, - TAO_AV_UDP_Object (callback, - transport), - 0); - callback->open (object, - handler); - endpoint->set_protocol_object (entry->flowname (), - object); - return object; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_UDP_QoS_Flow_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_UDP_QoS_Flow_Factory, - ACE_TEXT ("UDP_QoS_Flow_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_UDP_QoS_Flow_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_UDP_QoS_Factory) - -ACE_STATIC_SVC_DEFINE (TAO_AV_UDP_QoS_Factory, - ACE_TEXT ("UDP_QoS_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_UDP_QoS_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -#endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ diff --git a/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.h b/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.h deleted file mode 100644 index 7100217f263..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.h +++ /dev/null @@ -1,306 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// ============================================================================ -// -// = LIBRARY -// ORBSVCS AVStreams -// -// = FILENAME -// UDP.h -// -// = AUTHOR -// Yamuna Krishnamurthy -// -// ============================================================================ - -#ifndef TAO_AV_QOS_UDP_H -#define TAO_AV_QOS_UDP_H -#include /**/ "ace/pre.h" - - -#include "ace/config-all.h" - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) - -#include "orbsvcs/AV/Protocol_Factory.h" - -#include "ace/OS.h" -#include "ace/Service_Config.h" -#include "ace/QoS/QoS_Session_Factory.h" -#include "ace/QoS/QoS_Decorator.h" -#include "ace/QoS/SOCK_Dgram_Mcast_QoS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_AV_Export TAO_AV_UDP_QoS_Factory : public TAO_AV_Transport_Factory -{ -public: - TAO_AV_UDP_QoS_Factory (void); - virtual ~TAO_AV_UDP_QoS_Factory (void); - virtual int init (int argc, char *argv[]); - // Initialization hook. - virtual int match_protocol (const char *protocol_string); - virtual TAO_AV_Acceptor *make_acceptor (void); - virtual TAO_AV_Connector *make_connector (void); -}; - -class TAO_AV_UDP_QoS_Flow_Handler; - -/** - * @class TAO_AV_UDP_QoS_Transport - * - * @brief A transport abstraction for udp sockets. - * - * Uses the ACE_SOCK_Dgram to send the data. - */ -class TAO_AV_UDP_QoS_Transport - :public TAO_AV_Transport -{ -public: - TAO_AV_UDP_QoS_Transport (void); - - TAO_AV_UDP_QoS_Transport (TAO_AV_UDP_QoS_Flow_Handler *handler); - - virtual ~TAO_AV_UDP_QoS_Transport (void); - - virtual int open (ACE_Addr *addr); - - virtual int close (void); - - virtual int mtu (void); - - virtual ACE_Addr *get_peer_addr (void); - - virtual int set_remote_address (const ACE_INET_Addr &address); - - /// Write the complete Message_Block chain to the connection. - virtual ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0); - - /// Write the contents of the buffer of length len to the connection. - virtual ssize_t send (const char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Write the contents of iovcnt iovec's to the connection. - virtual ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf using flags. - virtual ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0); - - /// Read received data into the iovec buffers. - virtual ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); -protected: - TAO_AV_UDP_QoS_Flow_Handler *handler_; - ACE_Addr *addr_; - ACE_INET_Addr peer_addr_; -}; - -class TAO_AV_UDP_QoS_Flow_Handler - :public virtual TAO_AV_Flow_Handler, - public virtual ACE_Event_Handler -{ -public: - /// Constructor. - TAO_AV_UDP_QoS_Flow_Handler (void); - /// Destructor. - ~TAO_AV_UDP_QoS_Flow_Handler (void); - int open (ACE_Addr &address); - virtual TAO_AV_Transport *transport (void); - virtual int set_remote_address (ACE_Addr *address); - virtual ACE_HANDLE get_handle (void) const; - virtual int handle_input (ACE_HANDLE fd); - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - virtual int change_qos (AVStreams::QoS); - /// Handles a QoS event. Right now, just - /// prints a message. - virtual int handle_qos (ACE_HANDLE fd); - ACE_SOCK_Dgram_Mcast_QoS *get_socket (void); - virtual ACE_Event_Handler* event_handler (void){ return this; } - virtual ACE_QoS_Session* qos_session (void); - virtual void qos_session (ACE_QoS_Session *qos_session); - - int translate (ACE_Flow_Spec *ace_flow_spec, - CosPropertyService::Properties &qos_params); - int translate (CosPropertyService::Properties &qos_params, - ACE_Flow_Spec *ace_flow_spec); - - void negotiator (AVStreams::Negotiator_ptr); - - void endpoint (TAO_Base_StreamEndPoint *endpoint); - TAO_Base_StreamEndPoint* endpoint (void); - - void flowspec_entry (TAO_FlowSpec_Entry *entry); - TAO_FlowSpec_Entry* flowspec_entry (void); - - void av_core (TAO_AV_Core *avcore); - TAO_AV_Core* av_core (void); - -protected: - TAO_AV_Core *av_core_; - ACE_INET_Addr peer_addr_; - ACE_SOCK_Dgram_Mcast_QoS qos_sock_dgram_; - ACE_QoS_Session *qos_session_; - TAO_FlowSpec_Entry *entry_; - TAO_Base_StreamEndPoint *endpoint_; - AVStreams::Negotiator_ptr negotiator_; -}; - -class TAO_AV_UDP_QoS_Acceptor - :public TAO_AV_Acceptor -{ -public: - TAO_AV_UDP_QoS_Acceptor (void); - virtual ~TAO_AV_UDP_QoS_Acceptor (void); - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - - virtual int open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - - virtual int open_i (ACE_INET_Addr *address); - - virtual int close (void); - - virtual int activate_svc_handler (TAO_AV_UDP_QoS_Flow_Handler *handler); - - -protected: - TAO_Base_StreamEndPoint *endpoint_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; - ACE_QoS_Session *qos_session_; - ACE_QoS_Manager qos_manager_; - ACE_INET_Addr qos_acceptor_addr_; -}; - -class TAO_AV_UDP_QoS_Connector - :public TAO_AV_Connector -{ -public: - TAO_AV_UDP_QoS_Connector (void); - ~TAO_AV_UDP_QoS_Connector (void); - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory); - - virtual int connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - virtual int activate_svc_handler (TAO_AV_UDP_QoS_Flow_Handler *handler); - virtual int close (void); - - int translate (CosPropertyService::Properties &qos_params, - ACE_Flow_Spec *ace_flow_spec); - -protected: - TAO_Base_StreamEndPoint *endpoint_; - TAO_AV_Core *av_core_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; - ACE_QoS_Session *qos_session_; - ACE_QoS_Manager qos_manager_; -}; - -// class TAO_AV_Export TAO_AV_UDP_Object : public TAO_AV_Protocol_Object -// { -// public: -// TAO_AV_UDP_Object (TAO_AV_Callback *callback, -// TAO_AV_Transport *transport = 0); - -// virtual ~TAO_AV_UDP_Object (void); -// // Dtor - -// virtual int handle_input (void); - -// virtual int send_frame (ACE_Message_Block *frame, -// TAO_AV_frame_info *frame_info = 0); -// // send a data frame. - -// virtual int send_frame (const iovec *iov, -// int iovcnt, -// TAO_AV_frame_info *frame_info = 0); - -// virtual int destroy (void); -// // end the stream. - -// private: -// ACE_Message_Block frame_; -// // Pre-allocated memory to receive the data... -// }; - -class TAO_AV_UDP_QoS_Flow_Factory : public TAO_AV_Flow_Protocol_Factory -{ -public: - TAO_AV_UDP_QoS_Flow_Factory (void); - virtual ~TAO_AV_UDP_QoS_Flow_Factory (void); - virtual int init (int argc, char *argv[]); - // Initialization hook. - virtual int match_protocol (const char *flow_string); - TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); -}; - -/// Helper class to create qos sessions, -/// activate qos handlers and set qos -/// (For separation of concerns) -class TAO_AV_UDP_QoS_Session_Helper -{ -public: - TAO_AV_UDP_QoS_Session_Helper (void); - ~TAO_AV_UDP_QoS_Session_Helper (void); - - /// Open a QoS Session with the specified address - ACE_QoS_Session* open_qos_session (TAO_AV_UDP_QoS_Flow_Handler *handler, - ACE_INET_Addr &addr); - - /// Activate the QoS handler to receive QoS events - int activate_qos_handler (ACE_QoS_Session *qos_session, - TAO_AV_UDP_QoS_Flow_Handler *handler); - - /// Set the required QoS for the session - int set_qos (ACE_Flow_Spec& ace_flow_spec, - TAO_AV_UDP_QoS_Flow_Handler *handler); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_UDP_QoS_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_UDP_QoS_Flow_Factory) - -ACE_STATIC_SVC_DECLARE (TAO_AV_UDP_QoS_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_UDP_QoS_Factory) - - -#if defined(__ACE_INLINE__) -#include "orbsvcs/AV/QoS_UDP.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_HAS_RAPI || ACE_HAS_WINSOCK2_GQOS */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_QOS_UDP_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.i b/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.i deleted file mode 100644 index 9ae1b828b0f..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/QoS_UDP.i +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//---------------------------------------------------------------------- -// TAO_AV_UDP_Flow_Handler -//---------------------------------------------------------------------- - -ACE_INLINE -ACE_SOCK_Dgram_Mcast_QoS * -TAO_AV_UDP_QoS_Flow_Handler::get_socket (void) -{ - return &this->qos_sock_dgram_; -} - -ACE_INLINE -int -TAO_AV_UDP_QoS_Flow_Handler::open (ACE_Addr &address) -{ - // return this->qos_sock_dgram_.open (address); - ACE_UNUSED_ARG( address ); - return 0; -} - -ACE_INLINE ACE_QoS_Session* -TAO_AV_UDP_QoS_Flow_Handler::qos_session (void) -{ - return this->qos_session_; -} - -ACE_INLINE void -TAO_AV_UDP_QoS_Flow_Handler::qos_session (ACE_QoS_Session *qos_session) -{ - this->qos_session_ = qos_session; -} - -ACE_INLINE void -TAO_AV_UDP_QoS_Flow_Handler::negotiator (AVStreams::Negotiator_ptr negotiator) -{ - this->negotiator_ = AVStreams::Negotiator::_duplicate (negotiator); -} - -ACE_INLINE void -TAO_AV_UDP_QoS_Flow_Handler::endpoint (TAO_Base_StreamEndPoint *endpoint) -{ - this->endpoint_ = endpoint; -} - -ACE_INLINE TAO_Base_StreamEndPoint * -TAO_AV_UDP_QoS_Flow_Handler::endpoint (void) -{ - return this->endpoint_; -} - -ACE_INLINE void -TAO_AV_UDP_QoS_Flow_Handler::flowspec_entry (TAO_FlowSpec_Entry *entry) -{ - this->entry_ = entry; -} - -ACE_INLINE TAO_FlowSpec_Entry * -TAO_AV_UDP_QoS_Flow_Handler::flowspec_entry (void) -{ - return this->entry_; -} - -ACE_INLINE void -TAO_AV_UDP_QoS_Flow_Handler::av_core (TAO_AV_Core *avcore) -{ - this->av_core_ = avcore; -} - -ACE_INLINE TAO_AV_Core * -TAO_AV_UDP_QoS_Flow_Handler::av_core (void) -{ - return this->av_core_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/README b/TAO/orbsvcs/orbsvcs/AV/README deleted file mode 100644 index e3482716a80..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/README +++ /dev/null @@ -1,27 +0,0 @@ -// $Id$ - -TAO Audio/Video Streaming service ---------------------------------- - - -This is a prototype implementation of the CORBA "Control and -Management of A/V streams" specification, that defines various -interfaces for controlling multimedia streams. - -This directory contains the following files - -AVStreams_i.{h,cpp}: Implementation of the A/V handshake specification, as well - as base classes for the various interfaces defined in the spec. - -Endpoint_Strategy.{h,cpp}: Implementation of various multimedia endpoint activation strategies. - -A complete distributed audio/video streaming application that -illustrates the use of the various components defined above is -available in the following directory: - -TAO/orbsvcs/tests/AVStreams/mpeg/source/ - - -Sumedh Mungee -Nagarajan Surendran - diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP.cpp b/TAO/orbsvcs/orbsvcs/AV/RTCP.cpp deleted file mode 100644 index e0466db3a3c..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTCP.cpp +++ /dev/null @@ -1,826 +0,0 @@ -/** - * Copyright (c) 1994-1995 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and the Network Research Group at - * Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -// $Id$ -#include "orbsvcs/AV/ntp-time.h" -#include "orbsvcs/AV/RTCP.h" -#include "orbsvcs/AV/media_timer.h" -#include "tao/debug.h" -#include "orbsvcs/AV/global.h" -#include "orbsvcs/AV/md5.h" - -#include "orbsvcs/AV/RTCP_Packet.h" -#include "ace/OS_NS_time.h" -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_AV_RTCP_Callback::receive_control_frame (ACE_Message_Block *data, - const ACE_Addr &peer_address) -{ - int length = static_cast (data->length ()); - int more = length; - char *buf_ptr = data->rd_ptr (); - char first_rtcp_packet = 1; - RTCP_Channel_In *c; - - // This code performs the RTCP Header validity checks detailed in RFC 1889 - // Appendix A.2 - - while (more > 0) - { - // the second byte of the control packet is the type - switch ((unsigned char)buf_ptr[length - more + 1]) - { - case RTCP_PT_SR: - { - RTCP_SR_Packet sr(&buf_ptr[length-more], - &more); - - if (!sr.is_valid(first_rtcp_packet)) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "warning invalid rtcp packet\n")); - - if (this->inputs_.find (sr.ssrc (), c) == -1) - { - ACE_NEW_RETURN (c, - RTCP_Channel_In (sr.ssrc (), - &peer_address), - -1); - this->inputs_.bind (sr.ssrc (), c); - } - c->updateStatistics (&sr); - - if (TAO_debug_level > 0) - sr.dump (); - break; - } - case RTCP_PT_RR: - { - RTCP_RR_Packet rr(&buf_ptr[length-more], - &more); - - if (!rr.is_valid(first_rtcp_packet)) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "warning invalid rtcp packet\n")); - - if (this->inputs_.find (rr.ssrc (), c) == -1) - { - ACE_NEW_RETURN (c, - RTCP_Channel_In (rr.ssrc (), - &peer_address), - -1); - this->inputs_.bind (rr.ssrc (), c); - } - - c->updateStatistics (&rr); - - if (TAO_debug_level > 0) - rr.dump (); - break; - } - case RTCP_PT_SDES: - { - RTCP_SDES_Packet sdes (&buf_ptr[length-more], - &more); - - if (!sdes.is_valid(first_rtcp_packet)) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "warning invalid rtcp packet\n")); - - if (TAO_debug_level > 0) - sdes.dump (); - break; - } - case RTCP_PT_BYE: - { - RTCP_BYE_Packet bye (&buf_ptr[length-more], - &more); - - if (!bye.is_valid(first_rtcp_packet)) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "warning invalid rtcp packet\n")); - - // Inform the listener that a source(s) has left the session - ACE_UINT32 *ssrc_list; - unsigned char length; - - bye.ssrc_list(&ssrc_list, length); - - for (int i=0; iinputs_.unbind(ssrc_list[i], c); - - if (c != 0) - delete c; - } - - if (TAO_debug_level > 0) - bye.dump (); - - break; - } - case RTCP_PT_APP: - // If we receive one of these, ignore it. - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "APP packet - ignore\n")); - more -= (4 + (ACE_UINT16)buf_ptr[length - more + 2]); - break; - default: - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "UNKNOWN packet type %u; ignore the rest\n", - (int)buf_ptr[length - more + 1])); - more = 0; - } - - first_rtcp_packet = 0; - - } - - if (more != 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTCP_Callback::receive_control_frame - " - "Error in overall packet length\n")); - return 0; -} - -ACE_INT32 random32 (int); - -ACE_UINT32 -TAO_AV_RTCP::alloc_srcid (ACE_UINT32 addr) -{ - md5_string s; - - s.type = addr; - s.tv = ACE_OS::gettimeofday (); - s.pid = ACE_OS::getpid(); - s.pgid = ACE_OS::getpgid(s.pid); - s.ppid = ACE_OS::getppid(); - s.uid = ACE_OS::getuid(); - s.gid = ACE_OS::getgid(); - - unsigned char *string_val = (unsigned char *) &s; - int length = sizeof(s); - - MD5_CTX context; - union - { - char c[16]; - u_long x[4]; - } digest; - ACE_UINT32 r; - int i; - - MD5Init (&context); - MD5Update (&context, string_val, length); - MD5Final ((unsigned char*)&digest, &context); - r=0; - for (i=0; i<3; i++) - r ^= digest.x[i]; - - return r; - -/* used to be this - ACE_Time_Value tv = ACE_OS::gettimeofday (); - ACE_UINT32 srcid = ACE_UINT32 (tv.sec () + tv.usec ()); - srcid += (ACE_UINT32)ACE_OS::getuid(); - srcid += (ACE_UINT32)ACE_OS::getpid(); - srcid += addr; - return (srcid); -*/ -} - - -double -TAO_AV_RTCP::rtcp_interval (int members, - int senders, - double rtcp_bw, - int we_sent, - int packet_size, - int *avg_rtcp_size, - int initial) -{ - // Minimum time between RTCP packets from this site (in sec.). - // This time prevents the reports from 'clumping' when sessions - // are small and the law of large numbers isn't helping to smooth - // out the traffic. It also keeps the report interval from - // becoming ridiculously small during transient outages like a - // network partition. -// double const RTCP_MIN_TIME = 5.0; (from RTP.h) - - // Fraction of the RTCP bandwidth to be shared among active - // senders. (This fraction was chosen so that in a typical - // session with one or two active senders, the computed report - // time would be roughly equal to the minimum report time so that - // we don't unnecessarily slow down receiver reports.) The - // receiver fraction must be 1 - the sender fraction. -// double const RTCP_SENDER_BW_FRACTION = 0.25; (from RTP.h) -// double const RTCP_RCVR_BW_FRACTION = (1-RTCP_SENDER_BW_FRACTION); (from RTP.h) - - // Gain (smoothing constant) for the low-pass filter that - // estimates the average RTCP packet size -// double const RTCP_SIZE_GAIN = (1.0/16.0); (from RTP.h) - - double t; - double rtcp_min_time = RTCP_MIN_RPT_TIME; - int n; // number of members for computation - - // Very first call at application start-up uses half the min - // delay for quicker notification while still allowing some time - // before reporting for randomization and to learn about other - // sources so the report interval will converge to the correct - // interval more quickly. The average RTCP size is initialized - // to 128 octets which is conservative (it assumes everyone else - // is generating SRs instead of RRs: 20 IP + 8 UDP + 52 SR + 48 - // SDES CNAME). - if (initial) - { - // initialize the random number generator - ACE_OS::srand(ACE_OS::time(0L)); - - rtcp_min_time /= 2; - *avg_rtcp_size = 128; - } - - // If there were active senders, give them at least a minimum - // share of the RTCP bandwidth. Otherwise all participants share - // the RTCP bandwidth equally. - n = members; - if ((senders > 0) && (senders < members*RTCP_SENDER_BW_FRACTION)) - { - if (we_sent) - { - rtcp_bw *= RTCP_SENDER_BW_FRACTION; - n = senders; - } - else - { - rtcp_bw *= RTCP_RECEIVER_BW_FRACTION; - n -= senders; - } - } - - // Update the average size estimate by the size of the report - // packet we just sent. - *avg_rtcp_size += (int)((packet_size - *avg_rtcp_size)*RTCP_SIZE_GAIN); - - // The effective number of sites times the average packet size is - // the total number of octets sent when each site sends a report. - // Dividing this by the effective bandwidth gives the time - // interval over which those packets must be sent in order to - // meet the bandwidth target, with a minimum enforced. In that - // time interval we send one report so this time is also our - // average time between reports. - t = (*avg_rtcp_size) * n / rtcp_bw; - if (t < rtcp_min_time) - t = rtcp_min_time; - - // To avoid traffic bursts from unintended synchronization with - // other sites, we then pick our actual next report interval as a - // random number uniformly distributed between 0.5*t and 1.5*t. - - // TODO: this may not be right. need a random number between 0 and 1 - int max_rand = 32768; - - return t * ((double)ACE_OS::rand()/max_rand + 0.5); -// return t * (drand48() + 0.5); -} - - - -// TAO_AV_RTCP_Flow_Factory -TAO_AV_RTCP_Flow_Factory::TAO_AV_RTCP_Flow_Factory (void) -{ -} - -TAO_AV_RTCP_Flow_Factory::~TAO_AV_RTCP_Flow_Factory (void) -{ -} - -int -TAO_AV_RTCP_Flow_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strncasecmp (flow_string,"RTCP",4) == 0) - return 1; - - return 0; -} - -int -TAO_AV_RTCP_Flow_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_RTCP_Flow_Factory::make_protocol_object (TAO_FlowSpec_Entry * /*entry*/, - TAO_Base_StreamEndPoint * /*endpoint*/, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Callback *client_cb = 0; - TAO_AV_RTCP_Callback *rtcp_cb = 0; - - // TODO: need to handle a client callback at some point -// endpoint->get_control_callback (entry->flowname (), -// client_cb); - - TAO_AV_Protocol_Object *object = 0; - ACE_NEW_RETURN (object, - TAO_AV_RTCP_Object (client_cb, - rtcp_cb, - transport), - 0); - - rtcp_cb->open (object, handler); - - return object; -} - -// TAO_AV_RTCP_Object -int -TAO_AV_RTCP_Object::handle_input (void) -{ - size_t bufsiz = 2*this->transport_->mtu (); - ACE_Message_Block data (bufsiz); - - int n = this->transport_->recv (data.rd_ptr (),bufsiz); - if (n == 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, "TAO_AV_RTCP::handle_input:connection closed\n")); - return -1; - } - if (n < 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR,"TAO_AV_RTCP::handle_input:recv error\n")); - return -1; - } - data.wr_ptr (n); - ACE_Addr *peer_addr = this->transport_->get_peer_addr (); - this->callback_->receive_control_frame (&data,*peer_addr); - return 0; -} - -int -TAO_AV_RTCP_Object::send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info * /*frame_info*/) -{ - return this->transport_->send (frame); -} - -int -TAO_AV_RTCP_Object::send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info * /*frame_info*/) -{ - return this->transport_->send (iov, - iovcnt); -} - -int -TAO_AV_RTCP_Object::send_frame (const char*, - size_t) -{ - return 0; -} - -TAO_AV_RTCP_Object::TAO_AV_RTCP_Object (TAO_AV_Callback *client_cb, - TAO_AV_RTCP_Callback *&rtcp_cb, - TAO_AV_Transport *transport) - :TAO_AV_Protocol_Object (&rtcp_cb_, transport) -{ - rtcp_cb = &this->rtcp_cb_; - this->client_cb_ = client_cb; - -} - -TAO_AV_RTCP_Object::~TAO_AV_RTCP_Object (void) -{ -} - -int -TAO_AV_RTCP_Object::destroy (void) -{ - this->callback_->handle_destroy (); - delete this; - - return 0; -} - -int -TAO_AV_RTCP_Object::set_policies (const TAO_AV_PolicyList &/*policy_list*/) -{ - return -1; -} - -int -TAO_AV_RTCP_Object::start (void) -{ - return this->callback_->handle_start (); -} - -int -TAO_AV_RTCP_Object::stop (void) -{ - return this->callback_->handle_stop (); -} - -int -TAO_AV_RTCP_Object::handle_control_input (ACE_Message_Block *frame, - const ACE_Addr &peer_address) -{ - return this->callback_->receive_frame (frame, - 0, - peer_address); -} - -int -TAO_AV_RTCP_Object::handle_control_output (ACE_Message_Block *frame) -{ - TAO_AV_RTCP_Callback *cb = dynamic_cast (this->callback_); - - return cb->send_frame (frame); -} - -void -TAO_AV_RTCP_Object::ts_offset (ACE_UINT32 ts_offset) -{ - TAO_AV_RTCP_Callback *cb = dynamic_cast (this->callback_); - cb->ts_offset (ts_offset); -} - -// TAO_AV_RTCP_Callback -TAO_AV_RTCP_Callback::TAO_AV_RTCP_Callback (void) - :is_initial_timeout_(1), - packet_size_(0) -{ - char cname[256]; - char host[256]; - ACE_OS::hostname(host, sizeof(host)); - - // TODO: determine username auto-magically? - ACE_OS::sprintf(cname, "username@%s", host); - - this->output_.cname(cname); -} - -TAO_AV_RTCP_Callback::~TAO_AV_RTCP_Callback (void) -{ -} - -void -TAO_AV_RTCP_Callback::schedule (int ms) -{ - this->timeout_ = ms; -} - -int -TAO_AV_RTCP_Callback::handle_start (void) -{ - return 0; -} - -int -TAO_AV_RTCP_Callback::handle_stop (void) -{ - return this->send_report(1); -} - -int -TAO_AV_RTCP_Callback::handle_timeout (void * /*arg*/) -{ - return this->send_report(0); -} - -int -TAO_AV_RTCP_Callback::send_report (int bye) -{ - // get the RTCP control object in order to get the ssrc - TAO_AV_RTCP_Object *rtcp_prot_obj = dynamic_cast (this->protocol_object_); - ACE_UINT32 my_ssrc = rtcp_prot_obj->ssrc (); - - RTCP_Packet *cp; - RTCP_SDES_Packet sdes; - ACE_CString value = ""; - ACE_CString note = ""; - unsigned char sdes_type = 0; - RTCP_BYE_Packet *bye_packet = 0; // only used for bye - ACE_UINT32 ssrc_list[1]; // only used for bye - - // get an iterator for the incoming channels. - ACE_Hash_Map_Iterator iter (this->inputs_); - iter = this->inputs_.begin(); - - // first send an SR/RR - RR_Block *blocks = 0; - RR_Block *b_iter = 0; - RR_Block *b_ptr = 0; - - while (iter != this->inputs_.end() ) - { - if (!b_iter) - { - b_ptr = (*iter).int_id_->getRRBlock (); - if (b_ptr) - { - blocks = b_ptr; - b_iter = b_ptr; - } - } - else - { - b_ptr = (*iter).int_id_->getRRBlock (); - if (b_ptr) - { - b_iter->next_ = b_ptr; - } - } - - iter++; - } - - if (b_iter) - b_iter->next_ = 0; - - if (this->output_.active ()) - { - // get the NTP timestamp - ACE_Time_Value unix_now = ACE_OS::gettimeofday (); - TAO_AV_RTCP::ntp64 ntp_now = ntp64time (unix_now); - ACE_UINT32 rtp_ts = unix_now.sec () * 8000 + unix_now.usec () / 125 + - this->timestamp_offset_; - ACE_NEW_RETURN(cp, - RTCP_SR_Packet (my_ssrc, - ntp_now.upper, - ntp_now.lower, - rtp_ts, - this->output_.packets_sent (), - this->output_.octets_sent (), - blocks), - -1); - } - else - { - ACE_NEW_RETURN(cp, - RTCP_RR_Packet (my_ssrc, - blocks), - -1); - } - - /* - * We always send a cname plus one other sdes - * There's a schedule for what we send sequenced by sdes_seq_: - * - send 'email' every 0th & 4th packet - * - send 'note' every 2nd packet - * - send 'tool' every 6th packet - * - send 'name' in all the odd slots - * (if 'note' is not the empty string, we switch the roles - * of name & note) - */ - - // TODO: need capability to change these settings - switch (this->sdes_count_%8) - { - case 0: - case 4: - value = "tao-users@wustl.edu"; - sdes_type = RTCP_SDES_EMAIL; - break; - case 2: - if (note.length () > 0) - { - value = "Joe User"; - sdes_type = RTCP_SDES_NAME; - } - else - { - value = "An important note..."; - sdes_type = RTCP_SDES_NOTE; - } - break; - case 6: - value = "TAO A/V Service"; - sdes_type = RTCP_SDES_TOOL; - break; - case 1: - case 3: - case 5: - case 7: - if (note.length () == 0) - { - value = "Joe User"; - sdes_type = RTCP_SDES_NAME; - } - else - { - value = "An important note..."; - sdes_type = RTCP_SDES_NOTE; - } - break; - } - - ++this->sdes_count_; - - sdes.add_item (my_ssrc, - RTCP_SDES_CNAME, - static_cast (ACE_OS::strlen(this->output_.cname())), - this->output_.cname()); - if (bye) - { - ssrc_list[0] = rtcp_prot_obj->ssrc (); - - ACE_NEW_RETURN (bye_packet, - RTCP_BYE_Packet(ssrc_list, - sizeof(ssrc_list)/sizeof(ssrc_list[0]), - "Got bored."), - -1); - } - else - { - unsigned char length = (unsigned char)(value.length() & 0xFF); - sdes.add_item (my_ssrc, sdes_type, length, value.c_str ()); - } - - // create the message block - char *cp_ptr; - char *sdes_ptr; - char *bye_ptr = 0; - ACE_UINT16 cp_length; - ACE_UINT16 sdes_length; - ACE_UINT16 bye_length = 0; - cp->get_packet_data (&cp_ptr, cp_length); - sdes.get_packet_data (&sdes_ptr, sdes_length); - if (bye_packet) - bye_packet->get_packet_data(&bye_ptr, bye_length); - - ACE_Message_Block mb (cp_length + sdes_length + bye_length); - - memcpy (mb.wr_ptr (), cp_ptr, cp_length); - mb.wr_ptr (cp_length); - memcpy (mb.wr_ptr (), sdes_ptr, sdes_length); - mb.wr_ptr (sdes_length); - if (bye_length) - { - memcpy (mb.wr_ptr (), bye_ptr, bye_length); - mb.wr_ptr (bye_length); - } - - // send the report - this->protocol_object_->send_frame (&mb); - - this->packet_size_ = cp_length + sdes_length + bye_length; - - delete cp; - if (bye_packet) - delete bye_packet; - - return 0; -} - -void -//TAO_AV_RTCP_Callback::get_timeout (ACE_Time_Value *tv, -TAO_AV_RTCP_Callback::get_timeout (ACE_Time_Value *&tv, - void *& /*arg*/) -{ - int senders = 0; - int members = 1; // count self as member - - // TODO: this should be 5% of the session bw - double rtcp_bw = 1000; - double interval; - - ACE_Hash_Map_Iterator iter (this->inputs_); - iter = this->inputs_.begin(); - - if (this->output_.active ()) - senders++; - - // determine the number of senders and members of this session - while (iter != this->inputs_.end ()) - { - if ((*iter).int_id_->active ()) - { - if ((*iter).int_id_->sender ()) - senders++; - members++; - } - iter++; - } - - // Here we do the RTCP timeout calculation. - interval = TAO_AV_RTCP::rtcp_interval (members, // members - senders, // senders - rtcp_bw, // rtcp_bw - this->output_.active (), // we_sent - this->packet_size_, // packet_size - &this->avg_rtcp_size_, // avg_rtcp_size - this->is_initial_timeout_); // initial) - - this->is_initial_timeout_ = 0; - - ACE_NEW (tv, - ACE_Time_Value); - - tv->sec ((int)interval); - tv->usec ((int)((interval - (int)interval) * 1000000)); -} - -int -TAO_AV_RTCP_Callback::handle_destroy (void) -{ - return 0; -} - -int -TAO_AV_RTCP_Callback::receive_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *, - const ACE_Addr &peer_address) -{ - RTCP_Channel_In *c; - - RTP_Packet packet (frame->rd_ptr(), static_cast (frame->length())); - - if (this->inputs_.find (packet.ssrc(), c) < 0) - { - ACE_NEW_RETURN (c, - RTCP_Channel_In (packet.ssrc(), - &peer_address), - -1); - - this->inputs_.bind (packet.ssrc(), c); - } - - c->recv_rtp_packet (frame, &peer_address); - return 0; -} - -int -TAO_AV_RTCP_Callback::send_frame (ACE_Message_Block *frame) -{ - RTP_Packet packet (frame->rd_ptr(), static_cast (frame->length())); - this->output_.updateStatistics (&packet); - - return 0; -} - -void -TAO_AV_RTCP_Callback::ts_offset (ACE_UINT32 offset) -{ - this->timestamp_offset_ = offset; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_RTCP_Flow_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_RTCP_Flow_Factory, - ACE_TEXT ("RTCP_Flow_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_RTCP_Flow_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP.h b/TAO/orbsvcs/orbsvcs/AV/RTCP.h deleted file mode 100644 index 58688376837..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTCP.h +++ /dev/null @@ -1,256 +0,0 @@ -// -*- C++ -*- - -/** - * Copyright (c) 1993-1994 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and the Network Research Group at - * Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -//============================================================================= -/** - * @file RTCP.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_RTCP_H -#define TAO_AV_RTCP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/RTCP_Channel.h" - -// FUZZ: disable check_for_math_include - -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/UDP.h" -#include "orbsvcs/AV/RTP.h" -#include "ace/Hash_Map_Manager_T.h" -#include -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_AV_RTCP_Callback; - -/** - * @class TAO_AV_RTCP - * @brief Encapsulate the header format for the Real Time Control - * Protocol (RTCP) - */ -class TAO_AV_Export TAO_AV_RTCP -{ -public: - struct rtcphdr - { - ACE_UINT16 rh_flags; /* T:2 P:1 CNT:5 PT:8 */ - ACE_UINT16 rh_len; /* length of message (in bytes) */ - ACE_UINT32 rh_ssrc; /* synchronization src id */ - }; - - struct ntp64 - { - ACE_UINT32 upper; /* more significant 32 bits */ - ACE_UINT32 lower; /* less significant 32 bits */ - }; - - struct md5_string - { - int type; - ACE_Time_Value tv; - pid_t pid; - pid_t pgid; - pid_t ppid; - uid_t uid; - gid_t gid; - }; - - static void send_report (ACE_Message_Block *mb); - - static ACE_UINT32 alloc_srcid (ACE_UINT32 addr); - - static double rtcp_interval (int members, - int senders, - double rtcp_bw, - int we_sent, - int packet_size, - int *avg_rtcp_size, - int initial); -}; - - - -/** - * @class TAO_AV_RTCP_Flow_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_RTCP_Flow_Factory - :public TAO_AV_Flow_Protocol_Factory -{ -public: - TAO_AV_RTCP_Flow_Factory (void); - virtual ~TAO_AV_RTCP_Flow_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *flow_string); - virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); -}; - -class TAO_AV_Callback; - - -/** - * @class TAO_AV_RTCP_Callback - * @brief TAO_AV_Callback for RTCP protocol - */ -class TAO_AV_Export TAO_AV_RTCP_Callback : public TAO_AV_Callback -{ -public: - /// RTCP callback. - TAO_AV_RTCP_Callback (void); - - /// virtual destructor. - virtual ~TAO_AV_RTCP_Callback (void); - - /// Called during Streamctrl->start. - virtual int handle_start (void); - - /// Called during Streamctrl->stop. - virtual int handle_stop (void); - - /// Called during timeout for Flow Producers. - virtual int handle_timeout (void *arg); - - /// Called when a frame arrives for a FlowConsumer. - virtual int receive_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0, - const ACE_Addr &peer_address = ACE_Addr::sap_any); - int send_frame (ACE_Message_Block *frame); - - virtual int receive_control_frame (ACE_Message_Block *frame, - const ACE_Addr &peer_address = ACE_Addr::sap_any); - - /// Called during Streamctrl->destroy i.e tear_down of the stream - /// @@coryan:Call it handle_destroy or handle_close. - virtual int handle_destroy (void); - - /// Called to get the timeout. If tv is 0 then the framework stop - /// calling this. - virtual void get_timeout (ACE_Time_Value *&tv, - void *&arg); - - int send_report(int bye); - void schedule (int ms); - TAO_AV_RTP_State *state (void); - void ts_offset (ACE_UINT32 offset); - -protected: - ACE_Hash_Map_Manager inputs_; - RTCP_Channel_Out output_; - int timeout_; - int timestamp_offset_; - int sdes_count_; - - int is_initial_timeout_; - int avg_rtcp_size_; - int packet_size_; -}; - -class RTP_Packet; - - -/** - * @class TAO_AV_RTCP_Object - * @brief TAO_AV_Protocol_Object for RTCP protocol - */ -class TAO_AV_Export TAO_AV_RTCP_Object - : public TAO_AV_Protocol_Object -{ -public: - /// constructor. - TAO_AV_RTCP_Object (TAO_AV_Callback *client_cb, - TAO_AV_RTCP_Callback *&rtcp_cb, - TAO_AV_Transport *transport = 0); - - /// Destructor - virtual ~TAO_AV_RTCP_Object (void); - - virtual int handle_input (void); - virtual int handle_control_input (ACE_Message_Block *frame, - const ACE_Addr &peer_address); - virtual int handle_control_output (ACE_Message_Block *frame); - - /// set/get policies. - virtual int set_policies (const TAO_AV_PolicyList &policy_list); - - /// start/stop the flow. - virtual int start (void); - virtual int stop (void); - - /// send a data frame. - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0); - - /// send a frame in iovecs. - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const char*buf, - size_t len); - - /// end the stream. - virtual int destroy (void); - - void ssrc (ACE_UINT32 ssrc) {this->ssrc_ = ssrc; } - ACE_UINT32 ssrc (void) { return this->ssrc_; } - - void ts_offset (ACE_UINT32 ts_offset); - - -private: - TAO_AV_Callback *client_cb_; - TAO_AV_RTCP_Callback rtcp_cb_; - ACE_UINT32 ssrc_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_RTCP_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_RTCP_Flow_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_AV_RTCP_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.cpp b/TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.cpp deleted file mode 100644 index 7011dab5371..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.cpp +++ /dev/null @@ -1,364 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/RTCP_Channel.h" -#include "orbsvcs/AV/RTP.h" -#include "tao/debug.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -RTCP_Channel_In::RTCP_Channel_In (ACE_UINT32 ssrc, - const ACE_Addr *peer_addr) - : remote_ssrc_ (ssrc), - cname_ (""), - transit_ (0), - jitter_ (0.0), - first_data_packet_ (1), - ntp_ts_msw_ (0), - ntp_ts_lsw_ (0), - last_sr_time_ (0), - active_ (0), - no_data_counter_ (0), - data_since_last_report_ (0) -{ - const ACE_INET_Addr *const_inet_addr = dynamic_cast (peer_addr); - - ACE_INET_Addr *inet_addr; - ACE_NEW (inet_addr, - ACE_INET_Addr (*const_inet_addr)); - - this->peer_address_ = inet_addr; -} - -RTCP_Channel_In::~RTCP_Channel_In(void) -{ - delete this->peer_address_; -} - -void -RTCP_Channel_In::updateStatistics(RTP_Packet* dataPkt) -{ - ACE_Time_Value current_time; - ACE_UINT32 arrival; - int transit, d; - - this->active_ = 0; - - // determine if the source has been declared valid - if (update_seq(dataPkt->sn ()) == 0) - return; - - // Set initial values if this is the first data packet. - if (this->first_data_packet_) - { - // store the initial timestamp - this->init_time_stamp_ = dataPkt->ts (); - this->init_local_time_ = ACE_OS::gettimeofday (); - this->first_data_packet_ = 0; - } - - // Get the current time. - current_time = ACE_OS::gettimeofday (); - - unsigned int samples_per_sec; - double samples_per_usec; - - - switch (dataPkt->pt()) - { - case RTP_PT_PCMU: - case RTP_PT_CELP: - case RTP_PT_G721: - case RTP_PT_GSM: - case RTP_PT_DVI: - case RTP_PT_LPC: - case RTP_PT_PCMA: - case RTP_PT_G722: - samples_per_sec = 8000; - break; - case RTP_PT_L16_STEREO: - case RTP_PT_L16_MONO: - samples_per_sec = 44100; - break; - default: - samples_per_sec = 1000000; - }; - - samples_per_usec = samples_per_sec/1000000.0; - - // Calculate the current timestamp. - arrival = (ACE_UINT32)((current_time.sec () - - this->init_local_time_.sec ()) * samples_per_sec + - ((double)(current_time.usec () - - (double)this->init_local_time_.usec ()) * samples_per_usec) + - this->init_time_stamp_); - - - // jitter calc from RFC 1889 app a.8 - transit = arrival - dataPkt->ts (); - d = transit - this->transit_; - this->transit_ = transit; - if (d < 0) - d = -d; - - // Calculate the inter-arrival jitter. - this->jitter_ += (1./16.)*((double)d - this->jitter_); - - // Indicate that data has been received since the last report. - this->data_since_last_report_ = 1; - - // Store the payload type. - this->payload_type_ = dataPkt->pt (); -} - -int -RTCP_Channel_In::updateStatistics(RTCP_SR_Packet *sr) -{ - // calculate the last SR time in 1/65536 sec. - ACE_Time_Value now = ACE_OS::gettimeofday (); - this->last_sr_time_ = (ACE_UINT32) - (now.sec () * 65536 + - now.usec () * 0.065536); - - this->ntp_ts_msw_ = sr->ntp_ts_msw (); - this->ntp_ts_lsw_ = sr->ntp_ts_lsw (); - - return 0; -} - -int -RTCP_Channel_In::updateStatistics(RTCP_RR_Packet * /*rr*/) -{ - return 0; -} - -void -RTCP_Channel_In::init_seq(ACE_UINT16 seq) -{ - this->base_seq_ = seq - 1; - this->max_seq_ = seq; - this->bad_seq_ = RTP_SEQ_MOD + 1; - this->cycles_ = 0; - this->received_ = 0; - this->received_prior_ = 0; - this->expected_prior_ = 0; -} - -int -RTCP_Channel_In::update_seq(ACE_UINT16 seq) -{ - // The following is taken from RFC 1889 Appendix A.1 - ACE_UINT16 udelta = seq - this->max_seq_; - const int MAX_DROPOUT = 3000; - const int MAX_MISORDER = 100; - const int MIN_SEQUENTIAL = 2; - - // Source is not valid until MIN_SEQUENTIAL packets with - // sequential sequence numbers have been received. - if (this->probation_) - { - // packet is in sequence - if (seq == this->max_seq_ + (ACE_UINT16)1) - { - this->probation_ --; - this->max_seq_ = seq; - if (this->probation_ == 0) - { - this->init_seq(seq); - this->received_++; - return 1; - } - } - else - { - this->probation_ = MIN_SEQUENTIAL - 1; - this->max_seq_ = seq; - } - return 0; - } - else if (udelta < MAX_DROPOUT) - { - // in order, with permissible gap - if (seq < this->max_seq_) - { - // seq number wrapped - count another 64k cycle - this->cycles_+=RTP_SEQ_MOD; - } - this->max_seq_ = seq; - } - else if (udelta <= RTP_SEQ_MOD - MAX_MISORDER) - { - // the sequence number made a large jump - ACE_UINT32 temp = seq; // Borland reports a warning on the next line - // without this line. - if (temp == this->bad_seq_) - { - // two sequential packets, assume the other side restarted without - // telling us so just re-sync - // (i.e., pretend this was the first packet). - this->init_seq (seq); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "RTCP_Channel_In: large jump in sequence number", - "; init seq\n")); - } - else - { - this->bad_seq_ = (seq+1)&(RTP_SEQ_MOD-1); - return 0; - } - } - else - { - // dup or reordered packet - } - this->received_++; - - return 1; -} - -void -RTCP_Channel_In::recv_rtp_packet(ACE_Message_Block *mb, - const ACE_Addr *peer_address) -{ - if (*peer_address != *this->peer_address_) - ACE_DEBUG ((LM_DEBUG, - "RTCP_Channel_In::recv_rtp_packet - possible loop/collision detected")); - - RTP_Packet data_packet(mb->rd_ptr (), static_cast (mb->length ())); - - // make sure the packet is valid - if (data_packet.is_valid ()) - this->updateStatistics(&data_packet); - else - ACE_DEBUG ((LM_DEBUG, - "RTCP_Channel_In::recvDataPacket - invalid RTP packet\n")); -} - - -RR_Block * -RTCP_Channel_In::getRRBlock(void) -{ - // If no data has been received since the last report, don't create a block. - if (!this->data_since_last_report_) - { - this->no_data_counter_++; - - // make the source inactive if significant time has passed since last report - if (this->no_data_counter_ == 32) - this->active_ = 0; - - return 0; - } - - this->no_data_counter_ = 0; - - RR_Block *local_block_ptr = 0; - - ACE_NEW_RETURN (local_block_ptr, - RR_Block, - 0); - - ACE_OS::memset(local_block_ptr, 0, sizeof(RR_Block)); - - // Set the ssrc of the source this report is for. - local_block_ptr->ssrc_ = this->remote_ssrc_; - - // Calculate packets expected/lost (from RFC 1889 Appendix A.3) - ACE_UINT32 extended_max; - ACE_UINT32 expected; - ACE_UINT32 expected_interval; - ACE_UINT32 received_interval; - int lost_interval; - - extended_max = this->cycles_ + this->max_seq_; - expected = extended_max - this->base_seq_ + 1; - - local_block_ptr->lost_ = expected - this->received_; - expected_interval = expected - this->expected_prior_; - this->expected_prior_ = expected; - received_interval = this->received_ - this->received_prior_; - this->received_prior_ = this->received_; - lost_interval = expected_interval - received_interval; - - if ((expected_interval == 0) || (lost_interval <= 0)) - local_block_ptr->fraction_ = 0; - else - local_block_ptr->fraction_ = (lost_interval << 8) / expected_interval; - - - local_block_ptr->last_seq_ = extended_max; - - // taken from RFC 1889 App A.8 - local_block_ptr->jitter_ = (ACE_UINT32)this->jitter_; - - // calculate the last SR timestamp (lsr) - local_block_ptr->lsr_ = ((this->ntp_ts_msw_ & 0xFFFF) << 16) | - ((this->ntp_ts_lsw_ & 0xFFFF0000) >> 16); - - // calculate the delay since last SR (dlsr) - ACE_Time_Value now = ACE_OS::gettimeofday (); - ACE_UINT32 now32 = (ACE_UINT32) - (now.sec () * 65536 + - now.usec () * 0.065536); - - local_block_ptr->dlsr_ = now32 - this->last_sr_time_; - - // indicate that no data has been received since the last report - this->data_since_last_report_ = 0; - - return local_block_ptr; -} - -RTCP_Channel_Out::RTCP_Channel_Out(void) - :cname_ ("cname"), - active_ (0), - timestamp_ (0), - timestamp_offset_ (0), - packets_sent_ (0), - octets_sent_ (0) -{ -} - -RTCP_Channel_Out::~RTCP_Channel_Out(void) -{ -} - -void -RTCP_Channel_Out::updateStatistics (RTP_Packet *data_packet) -{ - // indicate that this source is active - this->active_ = 1; - - // Update various counters. - this->octets_sent_ += data_packet->payload_size(); - this->packets_sent_ ++; - this->seq_num_ = data_packet->sn (); - this->timestamp_ = data_packet->ts (); -} - -ACE_UINT32 -RTCP_Channel_Out::timestamp (void) -{ - return this->timestamp_; -} - -ACE_UINT32 -RTCP_Channel_Out::packets_sent (void) -{ - return this->packets_sent_; -} - -ACE_UINT32 -RTCP_Channel_Out::octets_sent (void) -{ - return this->octets_sent_; -} - -char -RTCP_Channel_Out::active (void) -{ - return this->active_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.h b/TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.h deleted file mode 100644 index a9d717a33b0..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTCP_Channel.h +++ /dev/null @@ -1,223 +0,0 @@ -// $Id$ - -#ifndef RTCP_CHANNEL_INCLUDE -#define RTCP_CHANNEL_INCLUDE - -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/RTP.h" -#include "orbsvcs/AV/RTCP_Packet.h" - -#include "ace/Message_Block.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class RTCP_Channel_In - * @brief The RTCP_Channel_In class represents a single incoming data channel, - * or stream. The class has several responsibilities. When the class is - * instantiated, the incoming RTP traffic must be declared a valid source based - * on the RTP packets received. Once declared valie, this class is responsible - * for keeping up with reception statistics and other information. When an SR - * or RR is created (outside of this class), this class is used to get the - * Receiver Report block for this particular stream. - */ - -class RTCP_Channel_In -{ -public: - /// Constructor for an incoming channel. Requires the synchronization source - /// id and address of the sender. - RTCP_Channel_In(ACE_UINT32 ssrc, - const ACE_Addr *addr); - - /// Destructor - ~RTCP_Channel_In(void); - - /// This operation takes the incoming ACE_Message_Block, converts it to an - /// RTP_Packet and calls updateStatistics. It also uses compares the peer_addr - /// to the stored peer_address_ to check for loops. - void recv_rtp_packet (ACE_Message_Block *mb, - const ACE_Addr *peer_addr); - - /// Takes statistics of incoming RTP traffic and creates a receiver report block. - RR_Block *getRRBlock(void); - - /// Returns the delay since last sender report. - ACE_UINT32 dlsr (void); - - /// Returns the last sender report timestamp. - ACE_UINT32 lsr (void); - - /// Updates channel information with incoming sender report. - int updateStatistics(RTCP_SR_Packet *sr); - - /// Updates channel information with incoming receiver report. - int updateStatistics(RTCP_RR_Packet *rr); - - /// Returns 1 if data has been sent since the last report, 0 if not. - int sender (void) { return this->data_since_last_report_; } - - /// Returns 1 if this is an active source, 0 if not. - int active (void) { return this->active_; } - -private: - /// Don't want default constructor. - RTCP_Channel_In(void); - - /// Don't want copy constructor. - RTCP_Channel_In(const RTCP_Channel_In &ch); - - /// The synchronization source id of the source this channel represents. - ACE_UINT32 remote_ssrc_; - - /// The canonical name of the source this channel represents. - ACE_CString cname_; - - // Used to declare a source valid - /// The highest sequence number seen. - ACE_UINT16 max_seq_; - - /// The shifted count of sequence number cycles (ie when sequence number wraps) - ACE_UINT32 cycles_; - - /// The first sequence number received. - ACE_UINT32 base_seq_; - - /// last 'bad' sequence number + 1 - ACE_UINT32 bad_seq_; - - /// The number of in sequence packets until a source is declared valid. - ACE_UINT32 probation_; - - /// The number of packets received. - ACE_UINT32 received_; - - /// The packet expected at last interval. - ACE_UINT32 expected_prior_; - - /// The packet received at last interval. - ACE_UINT32 received_prior_; - - /// The last transit time. - ACE_UINT32 transit_; - - /// The inter-arrival jitter measured in timestamp units. - double jitter_; - - // Used for jitter calculations - /// Flag to indicate the first data packet received. - char first_data_packet_; - - /// The first timestamp received. - ACE_UINT32 init_time_stamp_; - - /// The local time that the initial packet was received. - ACE_Time_Value init_local_time_; - - /// The address that the first RTP packet was received from. - ACE_Addr *peer_address_; - - /// The most significant word of the last sender report NTP timestamp. - ACE_UINT32 ntp_ts_msw_; - - /// The least significant word of the last sender report NTP timestamp. - ACE_UINT32 ntp_ts_lsw_; - - /// The last sender report RTP timestamp. - ACE_UINT32 rtp_ts_; - - /// The last time a sender report was received in 1/65536 seconds. - /// Used to calculate DLSR. - ACE_UINT32 last_sr_time_; - - /// Flag to indicate whether or not the source is active. - int active_; - - /// This is a counter to indicate the number of reporting intervals that have - /// passed since data has been received. After 32, declare the source inactive. - int no_data_counter_; - - /// This flag indicates that data has been received since the last report was - /// sent. - char data_since_last_report_; - - /// The RTP payload type. - int payload_type_; - - /// This operation is used update statistics for the incoming RTP packet. - void updateStatistics(RTP_Packet *pkt); - - /// This is called when the first RTP packet is received. - void init_seq(ACE_UINT16 seq); - - /// This is called when each RTP packet is received. It is used to declare - /// a source as valid. - int update_seq(ACE_UINT16 seq); -}; - -/** - * @class RTCP_Channel_Out - * @brief The RTCP_Channel_Out class represents a single outgoing data channel, - * or stream. It keeps track of statistics such as number of packets sent and - * number of bytes sent. - */ - -class RTCP_Channel_Out -{ -public: - /// Constructor. - RTCP_Channel_Out(void); - - /// Destructor. - ~RTCP_Channel_Out(void); - - /// Update the channel statistics each time an RTP packet is sent. - void updateStatistics (RTP_Packet *pkt); - - /// Returns the timestamp of the last RTP packet sent. - ACE_UINT32 timestamp (void); - - /// Returns the number of packets sent. - ACE_UINT32 packets_sent (void); - - /// Returns the number of octets sent. - ACE_UINT32 octets_sent (void); - - /// Sets the canonical name of the source. - void cname (const char *cname) { this->cname_ = cname; } - - /// Returns the canonical name of the source. - const char *cname (void) { return this->cname_.c_str(); } - - /// Returns whether or not this source is active. - char active (void); - -private: - /// Holds the canonical name for this channel. - ACE_CString cname_; - - /// Flag to indicate whether or not this channel is active. - char active_; - - /// The sequence number of the last RTP packet sent. - unsigned int seq_num_; - - /// The timestamp of the last RTP packet sent. - unsigned int timestamp_; - - /// The initial offset of the timestamp. - unsigned int timestamp_offset_; - - /// The total number of packets sent. - unsigned int packets_sent_; - - /// The total numbef of octets sent. - unsigned int octets_sent_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* RTCP_CHANNEL_INCLUDE */ diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.cpp b/TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.cpp deleted file mode 100644 index 8ef82e30bb3..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.cpp +++ /dev/null @@ -1,1212 +0,0 @@ -// $Id$ -#include "orbsvcs/AV/RTCP_Packet.h" -#include "orbsvcs/AV/RTP.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -RTCP_Packet::RTCP_Packet(void) -{ - this->chd_.ver_ = 2; - this->chd_.count_ = 0; - this->chd_.pad_ = 0; - this->chd_.length_ = 0; - this->packet_data_ = 0; -} - -RTCP_Packet::RTCP_Packet(char* buffer) -{ - // Parse the common part of the control packet header. - this->chd_.ver_ = (buffer[0] & 0xC0) >> 6; - - if (this->chd_.ver_ != RTP_VERSION) - ACE_DEBUG ((LM_DEBUG, - "RTCP_Packet::RTCP_Packet version incorrect")); - - this->chd_.pad_ = (buffer[0] & 0x20) >> 5; - this->chd_.count_ = buffer[0] & 0x1F; - this->chd_.pt_ = buffer[1]; - this->chd_.length_ = ntohs(*(ACE_UINT16*)&buffer[2]); - this->packet_data_ = 0; -} - -RTCP_Packet::~RTCP_Packet(void) -{ -} - -void -RTCP_Packet::get_packet_data(char **buffer, ACE_UINT16 &length) -{ - length = static_cast (this->packet_size()); - - // buiidPacket is defined for each child of RTCP_Packet - // buildPacket creates a snapshot of the RTCP packet in the buffer pktData - this->build_packet (); - - *buffer = this->packet_data_; -} - -int -RTCP_Packet::is_valid (char is_first) -{ - // make sure the RTP version is correct - if (this->chd_.ver_ != RTP_VERSION) - return 0; - - // these checks are only for the first RTCP packet in a compound packet - if (is_first) - { - // the payload type must be RR or SR - if ((this->chd_.pt_ != RTCP_PT_SR) && (this->chd_.pt_ != RTCP_PT_RR)) - return 0; - - // the padding bit must not be set - if (this->chd_.pad_ != 0) - return 0; - } - - return 1; - -} - -/* - * RTCP_BYE_Packet - */ - -RTCP_BYE_Packet::RTCP_BYE_Packet(ACE_UINT32 *ssrc_list, - unsigned char length, - const char *text) -{ - this->chd_.ver_ = 2; - this->chd_.count_ = length; - this->chd_.pt_ = RTCP_PT_BYE; - - if (length) - { - ACE_NEW (this->ssrc_list_, - ACE_UINT32[length]); - - this->ssrc_list_length_ = length; - - for (int i=0; issrc_list_[i] = ssrc_list[i]; - } - - // Optional - if there is a reason for leaving, store it. - // The reason is padded with extra zeros because the packet must - // end on an even 32-bit boundary. - memset(this->reason_, 0, sizeof(this->reason_)); - if (text) - { - size_t text_length = ACE_OS::strlen(text); - memcpy(this->reason_, text, text_length); - this->reason_length_ = static_cast (text_length); - } - else - this->reason_length_ = 0; - - // Set the packet length - this->chd_.length_ = static_cast (this->chd_.count_ + (this->reason_length_+1)/4); - if ((this->reason_length_+1)%4) - this->chd_.length_++; - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_BYE_Packet::RTCP_BYE_Packet(char* buffer, int *len) - : RTCP_Packet(buffer) -{ - unsigned int index = 0; - unsigned int j; - - // The common part of the header is initialized in the parent. - index=4; - - ACE_NEW (this->ssrc_list_, - ACE_UINT32[this->chd_.count_]); - this->ssrc_list_length_ = this->chd_.count_; - - // Store the source ids of the sources leaving the session - for (j=0; jchd_.count_; j++) - { - this->ssrc_list_[j] = ntohl(*(ACE_UINT32*)&buffer[index]); - index+=4; - } - - // Optional - store the reason for leaving - unsigned int temp = this->chd_.length_; // Borland reports a warning on the - // following line with out this. - memset(this->reason_, 0, sizeof(this->reason_)); - if (temp > this->chd_.count_) - { - this->reason_length_ = buffer[index]; - index++; - memcpy(this->reason_, &buffer[index], this->reason_length_); - index+=this->reason_length_; - - } - else - this->reason_length_ = 0; - - // Decrement the length by the size of this message. This is necessary - // because multiple RTCP packets may be contained in a single UDP packet. - *len-=(chd_.length_+1)*4; - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_BYE_Packet::~RTCP_BYE_Packet(void) -{ - if (this->ssrc_list_) - delete []this->ssrc_list_; - if (this->packet_data_) - delete []this->packet_data_; -} - -//============================================================================== - -unsigned int -RTCP_BYE_Packet::packet_size(void) -{ - ACE_UINT16 size = static_cast ((1+chd_.count_) * 4); - - if (this->reason_length_ > 0) - { - size += this->reason_length_ + 1; - if (size%4) - size += 4 - size%4; // pad with zeros to even 32 bit bound - } - - return size; -} - -//============================================================================== - -void -RTCP_BYE_Packet::ssrc_list(ACE_UINT32 **ssrc_list, unsigned char &length) -{ - *ssrc_list = this->ssrc_list_; - length = this->ssrc_list_length_; -} - -//============================================================================== - -const char * -RTCP_BYE_Packet::reason (void) -{ - ACE_CString reason = (const char *)this->reason_; - - return reason.c_str(); -} - -//============================================================================== - -void -RTCP_BYE_Packet::build_packet(void) -{ - unsigned int index; - unsigned int i; - - if (this->packet_data_) - delete []this->packet_data_; - - ACE_NEW (this->packet_data_, - char[this->packet_size()]); - - index = 0; - this->packet_data_[index] = static_cast ((this->chd_.ver_ << 6) | - (this->chd_.pad_ << 5) | - this->chd_.count_); - index++; - this->packet_data_[index] = this->chd_.pt_; - index++; - *((ACE_UINT16*)&this->packet_data_[index]) = htons(this->chd_.length_); - index+=2; - - for (i=0; ichd_.count_; i++) - { - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->ssrc_list_[i]); - index+=4; - } - - if (this->reason_) - { - this->packet_data_[index] = this->reason_length_; - index++; - memcpy(&this->packet_data_[index], this->reason_, this->reason_length_); - index += this->reason_length_; - while (index < this->packet_size()) - { - this->packet_data_[index] = 0; - index ++; - } - } -} - -void -RTCP_BYE_Packet::dump (void) -{ - ACE_DEBUG ((LM_DEBUG, - "\nRTCP_BYE_Packet:: from ssrc(s) ")); - for (int i=0; i< this->ssrc_list_length_; i++) - ACE_DEBUG ((LM_DEBUG, - "%u ", - this->ssrc_list_[i])); - ACE_DEBUG ((LM_DEBUG, - "\n Reason '%s'\n", - this->reason_)); -} - -RTCP_RR_Packet::RTCP_RR_Packet(ACE_UINT32 ssrc, RR_Block *blocks) -{ - RR_Block *block_ptr = blocks; - - this->chd_.count_ = 0; - this->chd_.ver_ = 2; - this->chd_.pt_ = RTCP_PT_RR; - this->ssrc_ = ssrc; - this->rr_ = blocks; - - while (block_ptr) - { - this->chd_.count_++; - - // Can only have 31 receiver reports - if (this->chd_.count_ == 31) - { - block_ptr->next_ = 0; - break; - } - - block_ptr = block_ptr->next_; - } - - this->chd_.length_ = static_cast (1+6*(this->chd_.count_)); // + profile specific extensions ?? - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_RR_Packet::RTCP_RR_Packet (char* buffer, - int *len) - :RTCP_Packet (buffer) -{ - unsigned int i = 0; - RR_Block *local_block_ptr = 0; - - this->rr_ = 0; - - // The common part of the header is initialized in the parent. - i=4; - this->ssrc_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - for (unsigned int j=0; jchd_.count_; j++) - { - if (j==0) - { - ACE_NEW (this->rr_, - RR_Block); - local_block_ptr = this->rr_; - } - else - { - ACE_NEW (local_block_ptr->next_, - RR_Block); - local_block_ptr = local_block_ptr->next_; - } - - local_block_ptr->next_ = 0; - local_block_ptr->ssrc_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - ACE_UINT32 temp = ntohl(*(ACE_UINT32*)&buffer[i]); - local_block_ptr->fraction_ = (temp&0xff000000) >> 24; - local_block_ptr->lost_ = temp & 0x00ffffff; - i+=4; - local_block_ptr->last_seq_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - local_block_ptr->jitter_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - local_block_ptr->lsr_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - local_block_ptr->dlsr_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - } - - *len-=(this->chd_.length_+1)*4; - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_RR_Packet::~RTCP_RR_Packet(void) -{ - RR_Block *prev; - - if (this->rr_) - { - while (this->rr_) - { - prev = this->rr_; - this->rr_ = this->rr_->next_; - delete prev; - } - } - - if (this->packet_data_) - delete []this->packet_data_; -} - -//============================================================================== - -unsigned int -RTCP_RR_Packet::packet_size(void) -{ - ACE_UINT16 size = static_cast ((2+this->chd_.count_*6) * 4); - return size; -} - -//============================================================================== - -void -RTCP_RR_Packet::build_packet(void) -{ - int index; - RR_Block *local_block_ptr; - - if (this->packet_data_) - delete []this->packet_data_; - - ACE_NEW (this->packet_data_, - char [this->packet_size ()]); - - index = 0; - this->packet_data_[index] = static_cast ((this->chd_.ver_ << 6) | - (this->chd_.pad_ << 5) | - this->chd_.count_); - index++; - this->packet_data_[index] = chd_.pt_; - index++; - *((ACE_UINT16*)&this->packet_data_[index]) = htons(chd_.length_); - index+=2; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->ssrc_); - index+=4; - - local_block_ptr = this->rr_; - while (local_block_ptr) - { - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->ssrc_); - index+=4; - ACE_UINT32 temp = htonl((local_block_ptr->fraction_&0xff) << 24) & - local_block_ptr->lost_; - *((ACE_UINT32*)&this->packet_data_[index]) = temp; - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->last_seq_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->jitter_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->lsr_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->dlsr_); - index+=4; - local_block_ptr = local_block_ptr->next_; - } -} - -void -RTCP_RR_Packet::dump (void) -{ - RR_Block *b = this->rr_; - int count = 1; - - ACE_DEBUG ((LM_DEBUG, - "\nRTCP_RR_Packet:: from %u - %d rr blocks follow.\n", - this->ssrc_, - this->chd_.count_)); - - while (b) - { - ACE_DEBUG ((LM_DEBUG, - " Block %d: ssrc %u; frac %u; lost %u; last seq %u\n", - count, - b->ssrc_, - b->fraction_, - b->lost_, - b->last_seq_)); - ACE_DEBUG ((LM_DEBUG, - " jitter %u; lsr %u; dlsr %u;\n", - b->jitter_, - b->lsr_, - b->dlsr_)); - - b = b->next_; - ++count; - } -} - - -RTCP_SDES_Packet::RTCP_SDES_Packet(void) : - RTCP_Packet () -{ - this->chd_.pt_ = RTCP_PT_SDES; - this->chunk_ = 0; - this->packet_data_ = 0; - this->num_chunks_ = 0; -// this->num_items_ = 0; -} - -//============================================================================== - -RTCP_SDES_Packet::RTCP_SDES_Packet(char* buffer, int *len): - RTCP_Packet (buffer) -{ - unsigned int i; - sdesChunk_t *cp = 0; // pointer to chunk - sdesItem_t *ip = 0; // pointer to item - - // The common part of the control packet header is processed - // in the parent. It is 4 bytes long. - - i=4; - for (unsigned int j=0; jchd_.count_; j++) - { - if (j==0) - { - ACE_NEW (this->chunk_, - sdesChunk_t); - cp = this->chunk_; - - this->num_chunks_ = 1; - } - else - { - ACE_NEW (cp->next_, - sdesChunk_t); - cp = cp->next_; - - this->num_chunks_++; - } - cp->next_ = 0; - cp->item_ = 0; - cp->ssrc_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - - while (buffer[i]!=RTCP_SDES_END) - { - if (!cp->item_) - { - ACE_NEW (cp->item_, - sdesItem_t); - ip = cp->item_; - -// this->num_items_ = 1; - } - else - { - ACE_NEW (ip->next_, - sdesItem_t); - ip = ip->next_; - -// this->num_items_++; - } - ip->next_ = 0; - ip->type_ = buffer[i]; - i++; - if (ip->type_ != RTCP_SDES_PRIV) - { - ip->info_.standard_.length_ = buffer[i]; - i++; - ACE_NEW (ip->info_.standard_.data_, - char[ip->info_.standard_.length_+1]); - memcpy(ip->info_.standard_.data_, - &buffer[i], - ip->info_.standard_.length_); - ip->info_.standard_.data_[ip->info_.standard_.length_] = 0; - i+=ip->info_.standard_.length_; - } - else - { - ip->info_.priv_.name_length_ = buffer[i]; - i++; - ip->info_.priv_.data_length_ = buffer[i]; - i++; - ACE_NEW (ip->info_.priv_.name_, - char[ip->info_.priv_.name_length_+1]); - memcpy(ip->info_.priv_.name_, - &buffer[i], - ip->info_.priv_.name_length_); - ip->info_.priv_.name_[ip->info_.priv_.name_length_] = 0; - i+=ip->info_.priv_.name_length_; - ACE_NEW (ip->info_.priv_.data_, - char[ip->info_.priv_.data_length_+1]); - memcpy(ip->info_.priv_.data_, - &buffer[i], - ip->info_.priv_.data_length_); - ip->info_.priv_.data_[ip->info_.priv_.data_length_] = 0; - i+=ip->info_.priv_.data_length_; - } - } - i++; // each chunk ends with a zero (END) item - // each chunk must end on an even 32 bit boundary - while (i%4) i++; - } - - *len-=(this->chd_.length_+1)*4; - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_SDES_Packet::~RTCP_SDES_Packet(void) -{ - sdesChunk_t *cp; // pointer to chunk - sdesChunk_t *cpprev; - sdesItem_t *ip; // pointer to item - sdesItem_t *ipprev; - - cp = this->chunk_; - while (cp) - { - ip = cp->item_; - while (ip) - { - ipprev = ip; - ip = ip->next_; - if (ipprev->type_ != RTCP_SDES_PRIV) - { - delete []ipprev->info_.standard_.data_; - } - else - { - delete []ipprev->info_.priv_.name_; - delete []ipprev->info_.priv_.data_; - } - - delete ipprev; - } - cpprev = cp; - cp = cp->next_; - delete cpprev; - } - - if (this->packet_data_) - delete []this->packet_data_; -} - -//============================================================================== - -void -RTCP_SDES_Packet::add_chunk(ACE_UINT32 ssrc) -{ - sdesChunk_t *cp = 0; // pointer to chunk - - // If this is the first chunk. - if (chd_.count_ == 0) - { - ACE_NEW (this->chunk_, - sdesChunk_t); - this->chunk_->next_ = 0; - this->chunk_->item_ = 0; - cp = this->chunk_; - } - else - { - cp = this->chunk_; - while (cp->next_) - cp = cp->next_; - - ACE_NEW (cp->next_, - sdesChunk_t); - cp = cp->next_; - cp->next_ = 0; - cp->item_ = 0; - } - cp->ssrc_ = ssrc; // store the source - chd_.count_++; // increment the source count -} - -//============================================================================== - -void -RTCP_SDES_Packet::add_item (ACE_UINT32 ssrc, - unsigned char type, - unsigned char length, - const char *data) -{ - sdesChunk_t *cp; // pointer to chunk - sdesItem_t *ip; // pointer to item - - if (this->chunk_ == 0) - { - this->add_chunk(ssrc); - } - - cp = this->chunk_; - - while (cp != 0) - { - if (cp->ssrc_ == ssrc) - { - break; - } - - if (!cp->next_) - { - this->add_chunk(ssrc); - cp = cp->next_; - break; - } - - cp = cp->next_; - } - - ip = cp->item_; - - if (ip == 0) - { - ACE_NEW (cp->item_, - sdesItem_t); - - ip = cp->item_; - ip->next_= 0; - } - else - { - while (ip->next_) - { - ip = ip->next_; - } - - ACE_NEW (ip->next_, - sdesItem_t); - - ip = ip->next_; - ip->next_ = 0; - } - - ip->type_ = type; - - ip->info_.standard_.length_ = length; - - ACE_NEW (ip->info_.standard_.data_, - char[length]); - - memcpy(ip->info_.standard_.data_, data, length); -} - -//============================================================================== - -void -RTCP_SDES_Packet::add_priv_item (ACE_UINT32 ssrc, - unsigned char nameLength, - const char* name, - unsigned char dataLength, - const char* data) -{ - sdesChunk_t *cp; // pointer to chunk - sdesItem_t *ip; // pointer to item - - if (this->chunk_ == 0) - { - this->add_chunk(ssrc); - } - - cp = this->chunk_; - - while (cp != 0) - { - if (cp->ssrc_ == ssrc) - { - break; - } - - if (!cp->next_) - { - this->add_chunk(ssrc); - cp = cp->next_; - break; - } - - cp = cp->next_; - } - - ip = cp->item_; - - if (ip == 0) - { - ACE_NEW (cp->item_, - sdesItem_t); - - ip = cp->item_; - ip->next_ = 0; - } - else - { - while (ip->next_) - { - ip = ip->next_; - } - - ACE_NEW (ip->next_, - sdesItem_t); - - ip = ip->next_; - ip->next_ = 0; - } - - ip->type_ = RTCP_SDES_PRIV; - - ip->info_.priv_.name_length_ = nameLength; - ip->info_.priv_.data_length_ = dataLength; - - ACE_NEW (ip->info_.priv_.name_, - char[nameLength]); - - ACE_NEW (ip->info_.priv_.data_, - char[dataLength]); - - memcpy(ip->info_.priv_.name_, name, nameLength); - memcpy(ip->info_.priv_.data_, data, dataLength); -} - -//============================================================================== - -unsigned int -RTCP_SDES_Packet::packet_size(void) -{ - int size; - sdesChunk_t *cp; // pointer to chunk - sdesItem_t *ip; // pointer to item - - // Determine the size of the packet. - size = 4; // size of common header data in octets - - cp = this->chunk_; - while (cp) - { - size += 4; // size of ssrc - ip = cp->item_; - - while (ip && (ip->type_ != 0)) - { - if (ip->type_ != RTCP_SDES_PRIV) - { - size += 2 + ip->info_.standard_.length_; // size of item - } - else - { - size += 3 + ip->info_.priv_.name_length_ + ip->info_.priv_.data_length_; - } - ip = ip->next_; - } - size += 4 - size%4; // pad with zeros to even 32 bit bound - cp = cp->next_; - } - - chd_.length_ = static_cast (size/4 - 1); - - return size; -} - -//============================================================================== - -void -RTCP_SDES_Packet::build_packet(void) -{ - sdesChunk_t *cp; // pointer to chunk - sdesItem_t *ip; // pointer to item - int index, i; - - if (this->packet_data_) - delete this->packet_data_; - - ACE_NEW (this->packet_data_, - char[this->packet_size()]); - - index = 0; - this->packet_data_[index] = static_cast ((chd_.ver_ << 6) | - (chd_.pad_ << 5) | - chd_.count_); - index++; - this->packet_data_[index] = chd_.pt_; - index++; - *((ACE_UINT16*)&this->packet_data_[index]) = htons(chd_.length_); - index+=2; - - cp = this->chunk_; - while (cp) - { - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(cp->ssrc_); - index+=4; - - ip = cp->item_; - while (ip && (ip->type_ != 0)) - { - this->packet_data_[index] = ip->type_; - index++; - if (ip->type_ != RTCP_SDES_PRIV) - { - this->packet_data_[index] = ip->info_.standard_.length_; - index++; - for (i=0; iinfo_.standard_.length_; i++) - { - this->packet_data_[index] = ip->info_.standard_.data_[i]; - index++; - } - } - else - { - this->packet_data_[index] = ip->info_.priv_.name_length_; - index++; - this->packet_data_[index] = ip->info_.priv_.data_length_; - index++; - for (i=0; iinfo_.priv_.name_length_; i++) - { - this->packet_data_[index] = ip->info_.priv_.name_[i]; - index++; - } - for (i=0; iinfo_.priv_.data_length_; i++) - { - this->packet_data_[index] = ip->info_.priv_.data_[i]; - index++; - } - } - - ip = ip->next_; - } - - this->packet_data_[index] = 0; - index++; - - i=1; - while ((index)%4) - { // pad chunk with zeros to 32 bit bound - this->packet_data_[index] = 0; - index++; - i++; - } - - // Store the number of bytes added. TODO: do we need this - // this->packet_data_[index - 1] = i; - - cp = cp->next_; - } -} - -void -RTCP_SDES_Packet::dump (void) -{ - sdesItem_t *ip; - - ACE_DEBUG ((LM_DEBUG, - "\nRTCP_SDES_Packet:: ")); - - if (this->num_chunks_ != 1) - { - ACE_DEBUG ((LM_DEBUG, - "Mixers not currently supported.\n")); - return; - } - - ACE_DEBUG ((LM_DEBUG, - "from ssrc %u\n", - this->chunk_->ssrc_)); - - // Loop through all of the items. - ip = this->chunk_->item_; - - while (ip) - { - // If there is no data to store, continue. - if (ip->info_.standard_.length_ == 0) - { - ip = ip->next_; - continue; - } - - switch (ip->type_) - { - case RTCP_SDES_END: - break; - case RTCP_SDES_CNAME: - ACE_DEBUG ((LM_DEBUG, - " CNAME '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_NAME: - ACE_DEBUG ((LM_DEBUG, - " NAME '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_EMAIL: - ACE_DEBUG ((LM_DEBUG, - " EMAIL '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_PHONE: - ACE_DEBUG ((LM_DEBUG, - " PHONE '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_LOC: - ACE_DEBUG ((LM_DEBUG, - " LOC '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_TOOL: - ACE_DEBUG ((LM_DEBUG, - " TOOL '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_NOTE: - ACE_DEBUG ((LM_DEBUG, - " NOTE '%s'\n", - ip->info_.standard_.data_)); - break; - case RTCP_SDES_PRIV: - ACE_DEBUG ((LM_DEBUG, - " '%s' '%s'\n", - ip->info_.priv_.name_, - ip->info_.priv_.data_)); - break; - } - ip = ip->next_; - } - -} - -RTCP_SR_Packet::RTCP_SR_Packet(ACE_UINT32 ssrc, - ACE_UINT32 ntp_ts_msw, - ACE_UINT32 ntp_ts_lsw, - ACE_UINT32 timestamp, - ACE_UINT32 packets_sent, - ACE_UINT32 octets_sent, - RR_Block *blocks) -{ - RR_Block *block_ptr= 0; - chd_.count_ = 0; - chd_.ver_ = 2; - chd_.pt_ = RTCP_PT_SR; - - this->ssrc_ = ssrc; - this->ntp_ts_msw_ = ntp_ts_msw; - this->ntp_ts_lsw_ = ntp_ts_lsw; - this->rtp_ts_ = timestamp; - this->psent_ = packets_sent; - this->osent_ = octets_sent; - this->rr_ = blocks; - - block_ptr = blocks; - - while (block_ptr) - { - chd_.count_++; - - // Can only have 31 receiver reports - if (this->chd_.count_ == 31) - { - block_ptr->next_ = 0; - break; - } - - block_ptr = block_ptr->next_; - } - - this->chd_.length_ = static_cast (6 + 6*(chd_.count_)); //+profile specific extensions ?? - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_SR_Packet::RTCP_SR_Packet (char* buffer, - int *len) - : RTCP_Packet (buffer) -{ - unsigned int i = 0; - RR_Block *local_block_ptr = 0; - - this->rr_ = 0; - - // The common part of the header is initialized in the parent. - i=4; - this->ssrc_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - this->ntp_ts_msw_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - this->ntp_ts_lsw_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - this->rtp_ts_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - this->psent_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - this->osent_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - for (unsigned int j=0; jchd_.count_; j++) - { - if (j==0) - { - ACE_NEW (local_block_ptr, - RR_Block); - this->rr_ = local_block_ptr; - } - else - { - ACE_NEW (local_block_ptr->next_, - RR_Block); - local_block_ptr = local_block_ptr->next_; - } - - local_block_ptr->next_ = 0; - local_block_ptr->ssrc_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - ACE_UINT32 temp = ntohl(*(ACE_UINT32*)&buffer[i]); - local_block_ptr->fraction_ = (temp&0xff000000) >> 24; - local_block_ptr->lost_ = temp & 0x00ffffff; - i+=4; - local_block_ptr->last_seq_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - local_block_ptr->jitter_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - local_block_ptr->lsr_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - local_block_ptr->dlsr_ = ntohl(*(ACE_UINT32*)&buffer[i]); - i+=4; - } - - *len-=(this->chd_.length_+1)*4; - - this->packet_data_ = 0; -} - -//============================================================================== - -RTCP_SR_Packet::~RTCP_SR_Packet(void) -{ - RR_Block *prev; - - if (this->rr_) - { - while (this->rr_) - { - prev = this->rr_; - this->rr_ = this->rr_->next_; - delete prev; - } - } - - if (this->packet_data_) - delete []this->packet_data_; -} - -//============================================================================== - -unsigned int RTCP_SR_Packet::packet_size (void) -{ - ACE_UINT16 size = static_cast ((2+chd_.count_*6) * 4); // + profile specific extensions ? - size += 20; // the first line is the same as RR; 20 more bytes for SR - - return size; -} - -//============================================================================== - -void RTCP_SR_Packet::build_packet(void) -{ - int index = 0; - RR_Block *local_block_ptr; - - if (this->packet_data_) - delete []this->packet_data_; - - ACE_NEW (this->packet_data_, - char[this->packet_size()]); - - this->packet_data_[index] = static_cast ((this->chd_.ver_ << 6) | - (this->chd_.pad_ << 5) | - this->chd_.count_); - index++; - this->packet_data_[index] = this->chd_.pt_; - index++; - *((ACE_UINT16*)&this->packet_data_[index]) = htons(this->chd_.length_); - index+=2; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->ssrc_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->ntp_ts_msw_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->ntp_ts_lsw_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->rtp_ts_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->psent_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(this->osent_); - index+=4; - - local_block_ptr = this->rr_; - while (local_block_ptr) - { - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->ssrc_); - index+=4; - ACE_UINT32 temp = htonl((local_block_ptr->fraction_&0xff) << 24) & - local_block_ptr->lost_; - *((ACE_UINT32*)&this->packet_data_[index]) = temp; - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->last_seq_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->jitter_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->lsr_); - index+=4; - *((ACE_UINT32*)&this->packet_data_[index]) = htonl(local_block_ptr->dlsr_); - index+=4; - local_block_ptr = local_block_ptr->next_; - } -} - -void -RTCP_SR_Packet::dump (void) -{ - RR_Block *b = this->rr_; - int count = 1; - - ACE_DEBUG ((LM_DEBUG, - "\nRTCP_SR_Packet:: from %u - %d rr blocks follow.\n", - this->ssrc_, - this->chd_.count_)); - ACE_DEBUG ((LM_DEBUG, - " NTP(sec) %u.%u; RTP ts %u\n", - this->ntp_ts_msw_, - this->ntp_ts_lsw_, - this->rtp_ts_)); - ACE_DEBUG ((LM_DEBUG, - " packets sent %u; octets sent %u\n", - this->psent_, - this->osent_)); - - while (b) - { - ACE_DEBUG ((LM_DEBUG, - " Block %d: ssrc %u; frac %u; lost %u; last seq %u\n", - count, - b->ssrc_, - b->fraction_, - b->lost_, - b->last_seq_)); - ACE_DEBUG ((LM_DEBUG, - " jitter %u; lsr %u; dlsr %u;\n", - b->jitter_, - b->lsr_, - b->dlsr_)); - - b = b->next_; - ++count; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.h b/TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.h deleted file mode 100644 index 696378258af..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTCP_Packet.h +++ /dev/null @@ -1,405 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef RTCP_PACKET_INCLUDE -#define RTCP_PACKET_INCLUDE - -#include /**/ "ace/pre.h" - -#include "tao/orbconf.h" -#include "tao/Versioned_Namespace.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @struct RTCP_Common_Header - * @brief This is the header data that is common to all RTCP messages. - */ -typedef struct -{ - /// the RTP version being used - unsigned int ver_:2; - - /// indicates whether or not the end of the packet is padded with zeros - unsigned int pad_:1; - - /// this value varies by packet type - unsigned int count_:5; - - /// RTCP packet type (eg BYE, SR, RR, SDES) - unsigned int pt_:8; - - /// packet length in words without this word - ACE_UINT16 length_; -} RTCP_Common_Header; - -/** - * @class RTCP_Packet - * @brief This is an abstract class from which all RTCP packet types are derived. - * It contains code used to validate the RTCP packet. - */ - -class RTCP_Packet -{ -public: - /// Constructor for outgoing RTCP packets. - RTCP_Packet(void); - - /// Constructor for incoming RTCP packets. - RTCP_Packet(char *buffer); - - /// Destructor - virtual ~RTCP_Packet(); - - /// Returns a pointer to a local buffer containing the packet. - void get_packet_data(char **buffer, ACE_UINT16 &length); - - /// Returns the size of the packet. - /// Defined in child class. - virtual unsigned int packet_size(void) = 0; - - /// Checks the validity of an RTCP packet. RTCP packets can be sent - /// together in a compound packet and is_first indicates the first packet - /// in a compound packet - int is_valid (char is_first); - -protected: - /// Header data common to all RTCP packets. - RTCP_Common_Header chd_; - - /// Buffer to hold byte representation of the RTCP packet. - char *packet_data_; - - /// Used to create the byte representation of the RTCP packet. - /// Defined in child class. - virtual void build_packet(void) = 0; -}; - -/** - * @class RTCP_BYE_Packet - * @brief The BYE RTCP packet is sent by a party when leaving an RTP session. - */ - -class RTCP_BYE_Packet : public RTCP_Packet -{ -public: - /// Constructor for outgoing BYE RTCP packets. - /// Takes a synchronization source id list, the list length (1 for non-mixers), - /// and an optional reason for leaving the session. - RTCP_BYE_Packet (ACE_UINT32 *srcList, - unsigned char length, - const char* text=0); - - /// Constructor for incoming BYE RTCP packets. - RTCP_BYE_Packet (char *buffer, - int *len); - - /// Destructor. - virtual ~RTCP_BYE_Packet (void); - - /// Returns the size of the packet in bytes. - unsigned int packet_size (void); - - /// Returns a pointer to a local list of synchronization source ids that are - /// leaving the session. - void ssrc_list (ACE_UINT32 **ssrc_list, - unsigned char &length); - - /// Returns the reason for leaving the session. - const char *reason (void); - - /// Prints the contents of the packet. - void dump (void); - -private: - /// Used to create the byte representation of the RTCP packet. - void build_packet(); - - /// List of synchronization source ids that are leaving the session. - ACE_UINT32 *ssrc_list_; - - /// The number of ssrc's that are leaving the session (1 for non-mixers). - unsigned char ssrc_list_length_; - - /// An optional reason for leaving the session. - char reason_[256]; - - /// The number of bytes in the reason for leaving the session. - unsigned char reason_length_; -}; - -/** - * @struct RR_Block - * @brief The receiver report block encapsulates the data that represents the - * reception statistics for a particular stream. - */ - -struct RR_Block -{ - /// The synchronization source id of the source of the data. - ACE_UINT32 ssrc_; - - /// The fraction of RTP data packets lost since the previous SR or RR was sent. - unsigned int fraction_:8; - - /// The cumulative number of packets lost. - int lost_:24; - - /// The highest extended sequence number received in an RTP packet. - ACE_UINT32 last_seq_; - - /// An estimate of the statistical variance of the RTP data packet interarrival - /// time measured in timestamp units. - ACE_UINT32 jitter_; - - /// The middle 32 bits of the NTP timestamp received in the most recent sender - /// report. - ACE_UINT32 lsr_; - - /// The delay in 1/65536 seconds since receiving the last sender report. - ACE_UINT32 dlsr_; - - /// Link to the next receiver report block. - RR_Block *next_; -}; - -/** - * @class RTCP_RR_Packet - * @brief The Receiver Report packet is sent by all members of a session that - * are not sending data. It contains a list of RR_Block to represent each - * source this party is receiving data from. - */ - -class RTCP_RR_Packet : public RTCP_Packet -{ -public: - /// Constructor for incoming receiver reports. - RTCP_RR_Packet (char *buffer, int* len); - - /// Constructor for outgoing receiver reports. - RTCP_RR_Packet (ACE_UINT32 ssrc, RR_Block *blocks); - - /// Destructor. - virtual ~RTCP_RR_Packet (void); - - /// Returns the size of the packet in bytes. - unsigned int packet_size(void); - - /// Returns the synchronization source id of the source sending this packet. - ACE_INT32 ssrc (void) { return this->ssrc_; } - - /// Prints the contents of the packet. - void dump (void); - -private: - /// Used to create the byte representation of the RTCP packet. - void build_packet(void); - - /// The synchronization source id of the sender of this report. - ACE_UINT32 ssrc_; - - /// A linked list of the receiver report block(s) being sent. - RR_Block *rr_; -}; - -typedef struct sdesItem_s sdesItem_t; - -/** - * @struct sdesItem_s - * @brief This is a linked list of structures containing source description - * 'items' such as canonical name, email, location etc. - */ - -struct sdesItem_s -{ - /// link to next item. - sdesItem_t *next_; - - /// Type of item (eg canonical name). - unsigned char type_; - - union - { - struct - { - /// Length of an item (in octets). - unsigned char length_; - - /// Item text, not null-terminated. - char *data_; - } standard_; - struct - { - /// Length of the name of an item (in octets). - unsigned char name_length_; - - /// Length of the item data (in octets). - unsigned char data_length_; - - /// The name of the item, not null-terminated. - char *name_; - - /// Item data, not null-terminated. - char *data_; - } priv_; - } info_; -}; - -typedef struct sdesChunk_s sdesChunk_t; - -/** - * @struct sdesChunk_s - * @brief This is a linked list of structures containing groups of source - * description items. A group of items for a particular synchronization source - * id is referred to as a 'chunk'. - */ -struct sdesChunk_s -{ - /// Link to next item. - sdesChunk_t *next_; - - /// The synchronization source id that this chunk describes. - ACE_UINT32 ssrc_; - - /// A linked list of items to describe this source. - sdesItem_t *item_; -}; - -/** - * @class RTCP_SDES_Packet - * @brief The Source Description packet is sent by all members of a session. - * At a minimum, the canonical name (or CNAME) is sent with each RTCP packet. - * Other items such as name, email, or location are included less frequently. - */ -class RTCP_SDES_Packet : public RTCP_Packet -{ -public: - /// Constructor for incoming SDES packets. - RTCP_SDES_Packet(char* buffer, int *len); - - /// Constructor for outgoing SDES packets. - RTCP_SDES_Packet(void); - - /// Destructor. - virtual ~RTCP_SDES_Packet(void); - - /// This will add a standard item of type and length for the ssrc specified. - /// When the first item for a ssrc is added, a chunk is created. Subsequent - /// items for that ssrc are added to the same chunk. New chunks are created - /// for each unique ssrc. - void add_item(ACE_UINT32 ssrc, - unsigned char type, - unsigned char length, - const char* data); - - /// This will add a private item using the name and data for the ssrc specified. - /// When the first item for a ssrc is added, a chunk is created. Subsequent - /// items for that ssrc are added to the same chunk. New chunks are created - /// for each unique ssrc. - void add_priv_item(ACE_UINT32 ssrc, - unsigned char nameLength, - const char *name, - unsigned char dataLength, - const char *data); - - /// Returns the size of the packet in bytes. - unsigned int packet_size(void); - - /// Prints the contents of the packet. - void dump (void); - - /// This returns the synchronization source id for this packet. This assumes - /// that this source is only receiving messages from end systems (i.e. only - /// one source id per SDES) - ACE_UINT32 ssrc (void) { return this->chunk_->ssrc_; } - -private: - /// Used to create the byte representation of the RTCP packet. - void build_packet(void); - - /// Add a chunk to the packet. - void add_chunk(ACE_UINT32 ssrc); - - /// The number of chunks contained in this packet. - /// 1 for end systems, 1+ for mixers - unsigned long num_chunks_; - -// unsigned long num_items_; - - /// A linked list of chunks for this packet (only 1 for non-mixers). - sdesChunk_t *chunk_; -}; - -/** - * @class RTCP_SR_Packet - * @brief The Sender Report packet is sent by all members of a session that - * are sending data. It contains statistics on the data being sent out. It - * also contains a list of RR_Block to represent each source this party is - * receiving data from. - */ - -class RTCP_SR_Packet : public RTCP_Packet -{ -public: - /// Constructor for incoming SR packets. - RTCP_SR_Packet(char *buffer, int *len); - - /// Constructor for outgoing SR packets. - RTCP_SR_Packet(ACE_UINT32 ssrcVal, - ACE_UINT32 ntpMSByte, - ACE_UINT32 ntpLSByte, - ACE_UINT32 timestamp, - ACE_UINT32 pktsSent, - ACE_UINT32 octetsSent, - RR_Block *rrBlocks); - - /// Destructor - virtual ~RTCP_SR_Packet(void); - - /// Returns the size of the packet in bytes. - unsigned int packet_size(void); - - /// Returns the synchronization source id for the sender of this packet. - ACE_UINT32 ssrc (void) { return this->ssrc_; } - - /// Returns the most significant word of the NTP timestamp. - ACE_UINT32 ntp_ts_msw (void) { return this->ntp_ts_msw_; } - - /// Returns the least significant word of the NTP timestamp. - ACE_UINT32 ntp_ts_lsw (void) { return this->ntp_ts_lsw_; } - - /// Prints the contents of the packet. - void dump (void); - -private: - /// Used to create the byte representation of the RTCP packet. - void build_packet(void); - - /// The synchronization source id of the sender generating this report. - ACE_UINT32 ssrc_; - - /// The most significant word of the NTP timestamp. - ACE_UINT32 ntp_ts_msw_; - - /// The least significant word of the NTP timestamp. - ACE_UINT32 ntp_ts_lsw_; - - /// The RTP timestamp - ACE_UINT32 rtp_ts_; - - /// The total number of packets sent. - ACE_UINT32 psent_; - - /// The total number of octets sent. - ACE_UINT32 osent_; - - /// A linked list of receiver report blocks. - RR_Block *rr_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* RTCP_PACKET_INCLUDE */ diff --git a/TAO/orbsvcs/orbsvcs/AV/RTP.cpp b/TAO/orbsvcs/orbsvcs/AV/RTP.cpp deleted file mode 100644 index 4e53a5f63e5..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTP.cpp +++ /dev/null @@ -1,785 +0,0 @@ -/* - * Copyright (c) 1994-1995 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and the Network Research Group at - * Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -// $Id$ - -#include "orbsvcs/AV/RTP.h" -#include "orbsvcs/AV/RTCP.h" - -#include "tao/debug.h" -#include "ace/OS_NS_arpa_inet.h" -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// RTP_Packet - -// Constructor for RTP packets received -RTP_Packet::RTP_Packet(char* buffer, int length) -{ - // skip the standard header info - int index = 12; - - memcpy(this->packet_, buffer, length); - - for (int j=0; j<(int)this->cc(); j++) - { - this->host_byte_order_csrc_list_[j] = ntohl(*(ACE_UINT32*)&buffer[index]); - index+=4; - } - - // ignore the header extension if there is one - if (this->ext()) - { - index+=2; - int extension_data_size = ntohs(*(ACE_UINT16*)&buffer[index]); - index+=2; - index+=extension_data_size; - - this->extension_bytes_ = 4 + extension_data_size; - } - else - this->extension_bytes_ = 0; - - this->packet_size_ = static_cast (length); - this->payload_size_ = static_cast (length-index); - - // This is necessary only for payload types that have 16 bit values to correct - // the network byte ordering. - if ((this->pt() == RTP_PT_L16_OTHER) || - (this->pt() == RTP_PT_L16_STEREO) || - (this->pt() == RTP_PT_L16_MONO)) - { - for (int i=0; i < payload_size_; i+=2) - { - *(ACE_UINT16*)&this->host_byte_order_payload_[i] = ntohs(*(ACE_UINT16*)&this->packet_[index]); - index+=2; - } - } - else - for (int i=0; ipayload_size_; i++) - { - this->host_byte_order_payload_[i] = this->packet_[index]; - index++; - } -} - -RTP_Packet::RTP_Packet(unsigned char padding, - unsigned char marker, - unsigned char payload_type, - ACE_UINT32 seq_num, - ACE_UINT32 timestamp, - ACE_UINT32 ssrc, - unsigned char csrc_count, - ACE_UINT32 *csrc_list, - char *data, - ACE_UINT16 data_size) - :extension_bytes_(0) -{ - //size of header (in octets) without contributing sources - ACE_UINT16 size = 3*4; - int index = 0; - - if (data_size > RTP_MTU-12) - { - data_size = RTP_MTU-12; - ACE_DEBUG ((LM_DEBUG, "\n(%N,%l) RTP_Packet: Warning - packet truncated\n")); - } - - if (csrc_count > 15) - csrc_count = 15; // Only 15 contributing sources can be specified. - - if (csrc_list != 0) - for (unsigned char i=0; ihost_byte_order_csrc_list_[i] = csrc_list[i]; - } - - this->packet_size_ = size + data_size; - - index = 0; - this->packet_[index] = ((RTP_VERSION & 0x3) << 6) | - ((padding & 0x1) << 5) | - ((0 & 0x1) << 4) | // extension bit - ((csrc_count & 0xf)); - - index++; - this->packet_[index] = ((marker & 0x1) << 7 ) | - ((payload_type & 0x7f)); - index++; - *((ACE_UINT16*)&this->packet_[index]) = (ACE_UINT16)htons(static_cast (seq_num)); - index+=2; - *((ACE_UINT32*)&this->packet_[index]) = (ACE_UINT32)htonl(timestamp); - index+=4; - *((ACE_UINT32*)&this->packet_[index]) = htonl(ssrc); - index+=4; - - for (int i=0; ipacket_[index]) = htonl(this->host_byte_order_csrc_list_[i]); - index+=4; - } - - memcpy (this->host_byte_order_payload_, data, data_size); - - this->payload_size_ = data_size; - - // Correct byte ordering for multi-byte payload types. - if ((this->pt() == RTP_PT_L16_OTHER) || - (this->pt() == RTP_PT_L16_STEREO) || - (this->pt() == RTP_PT_L16_MONO)) - { - for (int i=0; ipayload_size_; i+=2) - { - *(ACE_UINT16*)&this->packet_[index] = htons(*(ACE_UINT16*)&data[i]); - index+=2; - } - } - else - for (int i=0; ipayload_size_; i++) - { - this->packet_[index] = data[i]; - index++; - } -} - -RTP_Packet::~RTP_Packet(void) -{ -} - -ACE_UINT16 -RTP_Packet::packet_size(void) -{ - return this->packet_size_; -} - -ACE_UINT16 -RTP_Packet::payload_size(void) -{ - return this->payload_size_; -} - -unsigned int -RTP_Packet::ver (void) -{ - return ( this->packet_[0] & 0xC0 ) >> 6; -} - -unsigned int -RTP_Packet::pad (void) -{ - return ( this->packet_[0] & 0x20 ) >> 5; -} - -unsigned int -RTP_Packet::ext (void) -{ - return ( this->packet_[0] & 0x10 ) >> 4; -} - -unsigned int -RTP_Packet::cc (void) -{ - return ( this->packet_[0] & 0x0F ) ; -} - -unsigned int -RTP_Packet::mrk (void) -{ - return ( this->packet_[1] & 0x80 ) >> 7; -} - -unsigned int -RTP_Packet::pt (void) -{ - return ( this->packet_[1] & 0x7F ) ; -} - -ACE_UINT16 -RTP_Packet::sn (void) -{ - return ntohs(*(ACE_UINT16*)(&this->packet_[2])) ; -} - -ACE_UINT32 -RTP_Packet::ts (void) -{ - return ntohl(*(ACE_UINT32*)(&this->packet_[4])) ; -} - -ACE_UINT32 -RTP_Packet::ssrc (void) -{ - return ntohl(*(ACE_UINT32*)(&this->packet_[8])) ; -} - -unsigned int -RTP_Packet::ext_bytes (void) -{ - return this->extension_bytes_; -} - -void -RTP_Packet::get_frame_info (TAO_AV_frame_info *frame_info) -{ - frame_info->timestamp = this->mrk(); - frame_info->timestamp = this->ts(); - frame_info->ssrc = this->ssrc(); - frame_info->sequence_num = this->sn(); - frame_info->format = static_cast (this->pt()); -} - -int -RTP_Packet::is_valid (void) -{ - // taken from RFC 1889 - Appendix A.1 - - // make sure the RTP version is correct - if (this->ver() != RTP_VERSION) - return 0; - - // make sure the payload type is not SR or RR - if ((this->pt() == RTCP_PT_SR) || (this->pt() == RTCP_PT_RR)) - return 0; - - // if the p bit is set, the last octet of the packet must contain a valid - // octet count, in particular, less than the total packet length minus - // the header size. - if (this->pad() != 0) - if ((unsigned int)this->packet_[this->packet_size_] >= - (this->packet_size_ - (12 + this->cc() + this->extension_bytes_))) - return 0; - - // If there is an extension, it is ignored (taken care of in constructor) - - // The length of the packet must be consistent with CC and payload type (if - // payloads have a known length) - - return 1; -} - -void -RTP_Packet::get_csrc_list (ACE_UINT32 **csrc_list, ACE_UINT16 &length) -{ - *csrc_list = this->host_byte_order_csrc_list_; - length = static_cast (this->cc ()); -} - -void -RTP_Packet::get_payload (char **payload, ACE_UINT16 &length) -{ - *payload = this->host_byte_order_payload_ ; - length = this->payload_size_; -} - -void -RTP_Packet::get_packet_data (char **packet, ACE_UINT16 &length) -{ - *packet = this->packet_; - length = this->packet_size_; -} - - -// TAO_AV_RTP_Object - -int -TAO_AV_RTP_Object::handle_input (void) -{ - TAO_AV_frame_info frame_info; - - if (TAO_debug_level > 1) - ACE_DEBUG ((LM_DEBUG, - "\nTAO_AV_RTP_Object::handle_input\n")); - - // Handles the incoming RTP packet input. - this->frame_.rd_ptr (this->frame_.base ()); - - int n = this->transport_->recv (this->frame_.rd_ptr (), - this->frame_.size ()); - if (n == 0) - ACE_ERROR_RETURN ( (LM_ERROR,"TAO_AV_RTP::handle_input:connection closed\n"),-1); - if (n < 0) - { - if ((errno == EADDRNOTAVAIL) || (errno == ECONNRESET)) - { - this->connection_gone_ = 1; - return -1; - } - else - ACE_ERROR_RETURN ( (LM_ERROR,"TAO_AV_RTP::handle_input:recv error\n"),-1); - } - - this->frame_.wr_ptr (this->frame_.rd_ptr () + n); - ACE_Addr *addr = this->transport_->get_peer_addr (); - - if(this->control_object_) - this->control_object_->handle_control_input (&this->frame_, *addr); - - // Get payload that has been converted to host byte order - char *data_ptr; - ACE_UINT16 length; - RTP_Packet rtp_packet(this->frame_.rd_ptr (), - static_cast (this->frame_.length ())); - - rtp_packet.get_frame_info (&frame_info); - rtp_packet.get_payload(&data_ptr, length); - - this->frame_.rd_ptr (this->frame_.base ()); - memcpy (this->frame_.rd_ptr (), data_ptr, length); - this->frame_.wr_ptr (this->frame_.rd_ptr() + length); - - this->callback_->receive_frame (&this->frame_, &frame_info, *addr); - - return 0; -} - -int -TAO_AV_RTP_Object::send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info) -{ -// ACE_Addr *addr = this->transport_->get_peer_addr (); - - if (this->connection_gone_) - { - errno = ECONNRESET; - return -1; - } - - int result = -1; - RTP_Packet *rtp_packet; - ACE_UINT32 csrc_count = 0; // Assume for now no mixers/translators - ACE_UINT32 *csrc_list = 0; - - if (frame_info != 0) - { - if (frame_info->format != this->format_) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTP_Object::send_frame - error: format type mismatch")); - if (frame_info->ssrc != 0) - this->ssrc_ = frame_info->ssrc; - - TAO_AV_RTCP_Object *rtcp_prot_obj = dynamic_cast (this->control_object_); - // set the ssrc on the control object so the RTCP traffic can be matched - // to the RTP traffic - rtcp_prot_obj->ssrc(this->ssrc_); - - ACE_NEW_RETURN (rtp_packet, - RTP_Packet (0, // padding - frame_info->boundary_marker, // marker - static_cast (this->format_), // payload type - frame_info->sequence_num, // sequence num - frame_info->timestamp, // time stamp - this->ssrc_, // ssrc - static_cast (csrc_count), // csrc count - csrc_list, // csrc list - frame->rd_ptr (), // data - (ACE_UINT16)frame->length ()),// data size - -1); - - frame_info->sequence_num ++; - } - else - { - // TODO: For periodic RTP packets (constant rate), the RFC suggests - // increasing the clock by the number of samples each frame rather - // than relying on the system time - - // The RFC specifies at least one timestamp unit per sample as well as a - // random offset. It used to be in milliseconds so I left it that way - // for non-audio streams. - unsigned int samples_per_sec; - double samples_per_usec; - - switch (this->format_) - { - case RTP_PT_PCMU: - case RTP_PT_CELP: - case RTP_PT_G721: - case RTP_PT_GSM: - case RTP_PT_DVI: - case RTP_PT_LPC: - case RTP_PT_PCMA: - case RTP_PT_G722: - samples_per_sec = 8000; - break; - case RTP_PT_L16_STEREO: - case RTP_PT_L16_MONO: - samples_per_sec = 44100; - break; - default: - samples_per_sec = 1000000; - }; - - samples_per_usec = samples_per_sec/1000000.0; - - ACE_Time_Value now = ACE_OS::gettimeofday(); - - ACE_UINT32 ts = (ACE_UINT32) - (now.sec () * samples_per_sec + - ((double)now.usec () * samples_per_usec) + - this->timestamp_offset_); - - ACE_NEW_RETURN (rtp_packet, - RTP_Packet (0, // padding - 0, // marker - static_cast (this->format_), // payload type - this->sequence_num_, // sequence num - ts, // time stamp - this->ssrc_, // ssrc - static_cast (csrc_count), // csrc count - csrc_list, // csrc list - frame->rd_ptr (), // data - (ACE_UINT16)frame->length ()),// data size - -1); - - this->sequence_num_ ++; - } - - char *data_ptr; - ACE_UINT16 data_length; - rtp_packet->get_packet_data (&data_ptr, data_length); - - ACE_Message_Block mb (data_ptr, data_length); - mb.wr_ptr (data_length); - - result = this->transport_->send (&mb); - if (result < 0) - ACE_ERROR_RETURN ( (LM_ERROR,"TAO_AV_RTP::send_frame failed\n"),result); - - TAO_AV_RTCP_Object *rtcp_prot_obj = dynamic_cast (this->control_object_); - if (rtcp_prot_obj) - rtcp_prot_obj->handle_control_output (&mb); - - delete rtp_packet; - - return 0; -} - -int -TAO_AV_RTP_Object::send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info) -{ - int result = -1; - RTP_Packet *rtp_packet = 0; - ACE_UINT32 csrc_count = 0; // Assume for now no mixers/translators - ACE_UINT32 *csrc_list = 0; - - if (this->connection_gone_) - { - errno = ECONNRESET; - return -1; - } - - if (frame_info != 0) - { - if (frame_info->format != this->format_) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_RTP_Object::send_frame - error: format type mismatch")); - this->sequence_num_ = static_cast (frame_info->sequence_num); - if (frame_info->ssrc != 0) - this->ssrc_ = frame_info->ssrc; - - TAO_AV_RTCP_Object *rtcp_prot_obj = dynamic_cast (this->control_object_); - // set the ssrc on the control object so the RTCP traffic can be matched - // to the RTP traffic - rtcp_prot_obj->ssrc(this->ssrc_); - ACE_UINT16 data_size = static_cast (iov[0].iov_len); - - ACE_NEW_RETURN (rtp_packet, - RTP_Packet (0, // padding - frame_info->boundary_marker, // marker - static_cast (this->format_), // payload type - frame_info->sequence_num, // sequence num - frame_info->timestamp, // time stamp - this->ssrc_, // ssrc - static_cast (csrc_count), // csrc count - csrc_list, // csrc list - (char *)iov[0].iov_base, // data - data_size), // data size - -1); - - frame_info->sequence_num ++; - } - else - { - // TODO: For periodic RTP packets (constant rate), the RFC suggests - // increasing the clock by the number of samples each frame rather - // than relying on the system time - - // The RFC specifies at least one timestamp unit per sample as well as a - // random offset. It used to be in milliseconds so I left it that way - // for non-audio streams. - - unsigned int samples_per_sec; - double samples_per_usec; - - switch (this->format_) - { - case RTP_PT_PCMU: - case RTP_PT_CELP: - case RTP_PT_G721: - case RTP_PT_GSM: - case RTP_PT_DVI: - case RTP_PT_LPC: - case RTP_PT_PCMA: - case RTP_PT_G722: - samples_per_sec = 8000; - break; - case RTP_PT_L16_STEREO: - case RTP_PT_L16_MONO: - samples_per_sec = 44100; - break; - default: - samples_per_sec = 1000000; - }; - - samples_per_usec = samples_per_sec/1000000.0; - - ACE_Time_Value now = ACE_OS::gettimeofday(); - - ACE_UINT32 ts = (ACE_UINT32) - (now.sec () * samples_per_sec + - ((double)now.usec () * samples_per_usec) + - this->timestamp_offset_); - ACE_UINT16 data_size = static_cast (iov[0].iov_len); - - ACE_NEW_RETURN (rtp_packet, - RTP_Packet (0, // padding - 0, // marker - static_cast (this->format_), // payload type - this->sequence_num_, // sequence num - ts, // time stamp - this->ssrc_, // ssrc - static_cast (csrc_count), // csrc count - csrc_list, // csrc list - (char *)iov[0].iov_base, // data - data_size), // data size - -1); - - this->sequence_num_ ++; - } - - char *data_ptr; - ACE_UINT16 data_length; - rtp_packet->get_packet_data (&data_ptr, data_length); - - iovec send_iov[ACE_IOV_MAX]; - send_iov [0].iov_base = data_ptr; - send_iov [0].iov_len = data_length; - for (int i=1;itransport_->send (send_iov, iovcnt); - - delete rtp_packet; - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_RTP::send_frame failed\n"),result); - - return 0; -} - -int -TAO_AV_RTP_Object::send_frame (const char*, - size_t) -{ - return 0; -} - - -TAO_AV_RTP_Object::TAO_AV_RTP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) - :TAO_AV_Protocol_Object (callback,transport), - control_object_ (0), - connection_gone_ (0) -{ - this->sequence_num_ = static_cast (ACE_OS::rand ()); - this->timestamp_offset_ = ACE_OS::rand (); - - char buf [BUFSIZ]; - int result = ACE_OS::hostname (buf, BUFSIZ); - unsigned long ipaddr = 0; - if (result == 0) - ipaddr = ACE_OS::inet_addr (buf); - this->ssrc_ = TAO_AV_RTCP::alloc_srcid (ipaddr); - - this->frame_.size (2 * this->transport_->mtu ()); -} - -TAO_AV_RTP_Object::~TAO_AV_RTP_Object (void) -{ -} - -int -TAO_AV_RTP_Object::destroy (void) -{ - if(this->control_object_) - this->control_object_->destroy (); - - this->callback_->handle_destroy (); - delete this; - - return 0; -} - -int -TAO_AV_RTP_Object::set_policies (const TAO_AV_PolicyList &policy_list) -{ - this->policy_list_ = policy_list; - CORBA::ULong const num_policies = this->policy_list_.length (); - TAO_AV_Policy *policy = 0; - - for (u_int i=0; i< num_policies;i++) - { - policy = this->policy_list_ [i]; - switch (policy->type ()) - { - case TAO_AV_PAYLOAD_TYPE_POLICY: - { - TAO_AV_Payload_Type_Policy *payload_policy = - static_cast (policy); - if (payload_policy == 0) - ACE_ERROR_RETURN ( (LM_ERROR,"TAO_AV_RTP_Object::send_frame:Payload policy not defined\n"),-1); - this->format_ = payload_policy->value (); - } - break; - case TAO_AV_SSRC_POLICY: - { - TAO_AV_SSRC_Policy *ssrc_policy = - static_cast (policy); - if (ssrc_policy == 0) - ACE_ERROR_RETURN ( (LM_ERROR,"TAO_AV_RTP_Object::send_frame:SSRC policy not defined\n"),-1); - this->ssrc_ = ssrc_policy->value ();; - } - break; - default: - break; - } - } - - return 0; -} - -void -TAO_AV_RTP_Object::control_object (TAO_AV_Protocol_Object *object) -{ - this->control_object_ = object; - TAO_AV_RTCP_Object *rtcp_prot_obj = dynamic_cast (this->control_object_); - rtcp_prot_obj->ssrc (this->ssrc_); - rtcp_prot_obj->ts_offset (this->timestamp_offset_); -} - -int -TAO_AV_RTP_Object::start (void) -{ - this->control_object_->start (); - return this->callback_->handle_start (); -} - -int -TAO_AV_RTP_Object::stop (void) -{ - this->control_object_->stop (); - return this->callback_->handle_stop (); -} - -// TAO_AV_RTP_Flow_Factory -TAO_AV_RTP_Flow_Factory::TAO_AV_RTP_Flow_Factory (void) -{ -} - -TAO_AV_RTP_Flow_Factory::~TAO_AV_RTP_Flow_Factory (void) -{ -} - -int -TAO_AV_RTP_Flow_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_RTP_Flow_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Callback *callback = 0; - - if( endpoint->get_callback (entry->flowname (), callback) ) { - ACE_ERROR_RETURN ((LM_ERROR, "(%N,%l) Invalid callback\n"), 0); - } - - TAO_AV_Protocol_Object *object = 0; - ACE_NEW_RETURN (object, - TAO_AV_RTP_Object (callback, - transport), - 0); - callback->open (object, - handler); - endpoint->set_protocol_object (entry->flowname (), - object); - - endpoint->protocol_object_set (); - return object; -} - -int -TAO_AV_RTP_Flow_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strncasecmp (flow_string,"RTP",3) == 0) - { - return 1; - } - return 0; -} - -const char * -TAO_AV_RTP_Flow_Factory::control_flow_factory (void) -{ - return "RTCP"; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_RTP_Flow_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_RTP_Flow_Factory, - ACE_TEXT ("RTP_Flow_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_RTP_Flow_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/AV/RTP.h b/TAO/orbsvcs/orbsvcs/AV/RTP.h deleted file mode 100644 index 8cc883386a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/RTP.h +++ /dev/null @@ -1,423 +0,0 @@ -// -*- C++ -*- - -/*- - * Copyright (c) 1993-1994 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and the Network Research Group at - * Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - - -//============================================================================= -/** - * @file RTP.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_RTP_H -#define TAO_AV_RTP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AV_export.h" -#include "orbsvcs/AV/Protocol_Factory.h" - -#include "ace/Service_Config.h" - - -#define RTP_PT_BVC 22 /* Berkeley video codec */ - -/* RTP standard content encodings for video */ -#define RTP_PT_RGB8 23 /* 8-bit dithered RGB */ -#define RTP_PT_HDCC 24 /* SGI proprietary */ -#define RTP_PT_CELLB 25 /* Sun CellB */ -#define RTP_PT_JPEG 26 /* JPEG */ -#define RTP_PT_CUSEEME 27 /* Cornell CU-SeeMe */ -#define RTP_PT_NV 28 /* Xerox PARC nv */ -#define RTP_PT_PICW 29 /* BB&N PictureWindow */ -#define RTP_PT_CPV 30 /* Concept/Bolter/Viewpoint codec */ -#define RTP_PT_H261 31 /* ITU H.261 */ -#define RTP_PT_MPEG 32 /* MPEG-I & MPEG-II */ -#define RTP_PT_MP2T 33 /* MPEG-II either audio or video */ - -/* backward compat hack for decoding RTPv1 ivs streams */ -#define RTP_PT_H261_COMPAT 127 - -/* RTP standard content encodings for audio */ -#define RTP_PT_PCMU 0 /* 8k */ -#define RTP_PT_CELP 1 /* 8k */ -#define RTP_PT_G721 2 /* 8k */ -#define RTP_PT_GSM 3 /* 8k */ -#define RTP_PT_DVI 5 /* 8k */ -#define RTP_PT_LPC 7 /* 8k */ -#define RTP_PT_PCMA 8 /* 8k */ -#define RTP_PT_G722 9 /* 8k */ -#define RTP_PT_L16_STEREO 10 /* 44.1k */ -#define RTP_PT_L16_MONO 11 /* 44.1k */ - -/* TODO: keep?? - non-standard encodings for audio - */ -#define RTP_PT_L16_OTHER 23 /* */ - -/* Offset from UNIX's epoch to the NTP epoch in seconds (NTP's JAN_1970) */ -#define RTP_EPOCH_OFFSET 2208988800UL -#define RTP_VERSION 2 - -#define RTP_M 0x0080 /* Marker: significant event */ -#define RTP_P 0x2000 /* Padding is present */ -#define RTP_X 0x1000 /* Extension Header is present */ - - -#define RTCP_PT_SR 200 /* sender report */ -#define RTCP_PT_RR 201 /* receiver report */ -#define RTCP_PT_SDES 202 /* source description */ -#define RTCP_SDES_END 0 /* indicates the end of the sdes message */ -#define RTCP_SDES_CNAME 1 /* official name (mandatory) */ -#define RTCP_SDES_NAME 2 /* personal name (optional) */ -#define RTCP_SDES_EMAIL 3 /* e-mail addr (optional) */ -#define RTCP_SDES_PHONE 4 /* telephone # (optional) */ -#define RTCP_SDES_LOC 5 /* geographical location */ -#define RTCP_SDES_TOOL 6 /* name/(vers) of app */ -#define RTCP_SDES_NOTE 7 /* transient messages */ -#define RTCP_SDES_PRIV 8 /* private SDES extensions */ -#define RTCP_PT_BYE 203 /* end of participation */ -#define RTCP_PT_APP 204 /* application specific functions */ - -#define RTCP_SDES_MIN 1 - -#define RTP_SEQ_MOD (1<<16) - - -/* - * Parameters controling the RTCP report rate timer. - */ -#define RTCP_SESSION_BW_FRACTION (0.05) -#define RTCP_MIN_RPT_TIME (5.) -#define RTCP_SENDER_BW_FRACTION (0.25) -#define RTCP_RECEIVER_BW_FRACTION (1. - RTCP_SENDER_BW_FRACTION) -#define RTCP_SIZE_GAIN (1./8.) - -/* - * Largest (user-level) packet size generated by our rtp applications. - * Individual video formats may use smaller mtu's. - */ -#define RTP_MTU 2*ACE_MAX_DGRAM_SIZE - -#define MAXHDR 24 - -#include "orbsvcs/AV/Policy.h" -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/MCast.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_RTP -//------------------------------------------------------------ - -/** - * @class TAO_AV_RTP - * @brief Encapsulate the Real Time Protocol (RTP) header format. - */ -class TAO_AV_Export TAO_AV_RTP -{ -public: - /* Basic RTP header */ - struct rtphdr - { - ACE_UINT16 rh_flags; /* T:2 P:1 X:1 CC:4 M:1 PT:7 */ - ACE_UINT16 rh_seqno; /* sequence number */ - ACE_UINT32 rh_ts; /* media-specific time stamp */ - ACE_UINT32 rh_ssrc; /* synchronization src id */ - /* data sources follow per cc */ - }; - - /* - * Motion JPEG encapsulation. - * - * 0 1 2 3 - * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | MBZ | frag offset | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | Type | Q | Width | Height | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * - * Type = Index into a table of predefined JPEG parameters - * Width = Width of input in 8-pixel blocks - * Height = Height of input in 8-pixel blocks - * Q = Quality factor (0-100 = std, >100 = custom) - * Frag offset = The byte offset into the frame for the data in - * this packet - */ - struct jpeghdr - { - ACE_UINT32 off; /* fragment offset */ - unsigned char type; /* id of jpeg decoder params */ - unsigned char q; /* quantization factor (or table id) */ - unsigned char width; /* 1/8 frame width */ - unsigned char height; /* 1/8 frame height */ - }; - - /* - * NV encapsulation. - */ - struct nvhdr - { - ACE_UINT16 width; - ACE_UINT16 height; - /* nv data */ - }; - - /* - * CellB encapsulation. - */ - struct cellbhdr - { - ACE_UINT16 x; - ACE_UINT16 y; - ACE_UINT16 width; - ACE_UINT16 height; - /* cells */ - }; - - /* - * H.261 encapsulation. - * See Internet draft. - * - * 0 1 2 3 - * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * |SBIT |EBIT |I|V| GOBN | MBAP | QUANT | HMVD | VMVD | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - */ -#ifdef notdef - struct h261hdr - { - ACE_UINT16 flags; - ACE_UINT16 off; - }; -#endif - - struct bvchdr - { - unsigned char version; - unsigned char pad; - unsigned char width; - unsigned char height; - ACE_UINT32 quant; - unsigned char sbit; - unsigned char ebit; - ACE_UINT16 blkno; - }; - -}; - -/** - * @class RTP_Packet - * @brief This class encapsulates all the necessary information to break down - * or build up an RTP data packet as well as operations to access all data - * items in the packet. - */ -class RTP_Packet -{ -public: - /// Constructor for incoming RTP packets. - RTP_Packet(char* buffer, - int length); - - /// Constructor for outgoing RTP packets - RTP_Packet(unsigned char padding, - unsigned char marker, - unsigned char payloadType, - ACE_UINT32 sequenceNumber, - ACE_UINT32 timeStamp, - ACE_UINT32 syncSource, - unsigned char contribSourcCount, - ACE_UINT32 contribSourceList[], - char *data, - ACE_UINT16 dataSize); - - /// Destructor - ~RTP_Packet(void); - - /// Returns the size of the RTP packet in bytes. - ACE_UINT16 packet_size(void); - - /// Returns the size of the payload in bytes. - ACE_UINT16 payload_size(void); - - /// Populates the passed in frame_info. - void get_frame_info (TAO_AV_frame_info *frame_info); - - /// Returns 1 if packet is valid and 0 if not. - int is_valid (void); - - /// Returns the RTP version of the packet. - unsigned int ver (void); - - /// Returns 1 if the padding bit is set, 0 if not. - unsigned int pad (void); - - /// Returns 1 if the header extension bit is set, 0 if not. - unsigned int ext (void); - - /// Returns the number of bytes in the header extension or 0 if no extension. - unsigned int ext_bytes (void); - - /// Returns the contributing source count. - /// This should only be non-zero for mixers. - unsigned int cc (void); - - /// Returns 1 if the marker bit is set, 0 if not. - unsigned int mrk (void); - - /// Returns the payload type of the packet. - unsigned int pt (void); - - /// Returns the sequence number of the packet. - ACE_UINT16 sn (void); - - /// Returns the timestamp of the packet. - ACE_UINT32 ts (void); - - /// Returns the synchronization source id of the packet. - ACE_UINT32 ssrc (void); - - /// Returns a pointer to the local contributing source list and its length. - /// This should be empty except for mixers. - /// RTP_Packet retains ownership. - void get_csrc_list (ACE_UINT32 **csrc_list, ACE_UINT16 &length); - - /// Returns a pointer to the locally stored payload and its size in bytes. - /// The payload is returned in host byte order. - /// RTP_Packet retains ownership. - void get_payload (char **payload, ACE_UINT16 &size); - - /// Returns a pointer to the locally stored rtp packet and its size in bytes. - /// RTP_Packet retains ownership. - void get_packet_data (char **packet, ACE_UINT16 &size); - -private: - /// Local buffer to hold the RTP packet. - char packet_[RTP_MTU]; - - /// Local buffer to hold the contributing source list with the values stored - /// in host byte order. - ACE_UINT32 host_byte_order_csrc_list_[15]; - - /// Local buffer to hold the payload with the values stored in host byte order. - char host_byte_order_payload_[RTP_MTU]; - - /// The number of bytes in the header extension - 0 if no extension. - unsigned int extension_bytes_; - - /// The size of the overall data packet. - ACE_UINT16 packet_size_; - - /// The size of the payload portion of the packet. - ACE_UINT16 payload_size_; -}; - -/** - * @class TAO_AV_RTP_Object - * @brief TAO_AV_Protocol_object for the RTP protocol - */ -class TAO_AV_Export TAO_AV_RTP_Object : public TAO_AV_Protocol_Object -{ -public: - TAO_AV_RTP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport); - - virtual ~TAO_AV_RTP_Object (void); - - virtual int start (void); - virtual int stop (void); - virtual int handle_input (void); - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const char*buf, - size_t len); - - virtual int destroy (void); - virtual int set_policies (const TAO_AV_PolicyList &policy_list); - virtual void control_object (TAO_AV_Protocol_Object *object); - -protected: - ACE_UINT16 sequence_num_; - ACE_UINT32 timestamp_offset_; - int format_; - ACE_UINT32 ssrc_; - TAO_AV_Protocol_Object *control_object_; - - /// Pre-allocated memory to receive the data... - ACE_Message_Block frame_; - - int connection_gone_; -}; - - - -/** - * @class TAO_AV_RTP_Flow_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_RTP_Flow_Factory : public TAO_AV_Flow_Protocol_Factory -{ -public: - /// Initialization hook. - TAO_AV_RTP_Flow_Factory (void); - virtual ~TAO_AV_RTP_Flow_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *flow_string); - virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); - virtual const char*control_flow_factory (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_RTP_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_RTP_Flow_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_AV_RTP_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Resource_Factory.h b/TAO/orbsvcs/orbsvcs/AV/Resource_Factory.h deleted file mode 100644 index a14a9087531..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Resource_Factory.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Resource_Factory.h - * $Id$ - * - * @author Yamuna Krishnamurthy - */ -//============================================================================= - - -#ifndef TAO_AV_DEFAULT_RESOURCE_FACTORY_H -#define TAO_AV_DEFAULT_RESOURCE_FCATORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AVStreams_i.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_Resource_Factory - * - * @brief TAO AV Streams default resource factory abstract - * The AV Streams resource factory loads the - * pluggable transport and flow protocol factories - * in the corresponding factory sets. - * - * - */ -class TAO_AV_Export TAO_AV_Resource_Factory -: public ACE_Service_Object -{ -public: - - /** - * @name Service Configurator Hooks - */ - //@{ - /// Dynamic linking hook - virtual int init (int argc, char *argv[]) = 0; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_AV_DEFAULT_RESOURCE_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp deleted file mode 100644 index 1197d709257..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp +++ /dev/null @@ -1,932 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/SCTP_SEQ.h" - -#if defined (ACE_HAS_SCTP) - -#include "orbsvcs/AV/AVStreams_i.h" -#include "ace/Multihomed_INET_Addr.h" -#include "tao/debug.h" -#include "ace/Arg_Shifter.h" - -ACE_RCSID (AV, - SCTP_SEQ, - "SCTP_SEQ.cpp,v 1.3 2003/11/05 21:06:53 yamuna Exp") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Transport -//------------------------------------------------------------ - -TAO_AV_SCTP_SEQ_Transport::TAO_AV_SCTP_SEQ_Transport (void) - :handler_ (0) -{ -} - -TAO_AV_SCTP_SEQ_Transport::TAO_AV_SCTP_SEQ_Transport (TAO_AV_SCTP_SEQ_Flow_Handler *handler) - :handler_ (handler) -{ -} - -TAO_AV_SCTP_SEQ_Transport::~TAO_AV_SCTP_SEQ_Transport (void) -{ -} - -int -TAO_AV_SCTP_SEQ_Transport::open (ACE_Addr * /*address*/) -{ - return 0; -} - -int -TAO_AV_SCTP_SEQ_Transport::close (void) -{ - return 0; -} - -int -TAO_AV_SCTP_SEQ_Transport::mtu (void) -{ - return 0; -} - -ACE_Addr* -TAO_AV_SCTP_SEQ_Transport::get_peer_addr (void) -{ - return 0; -} - -ssize_t -TAO_AV_SCTP_SEQ_Transport::send (const ACE_Message_Block *mblk, ACE_Time_Value *) -{ - // For the most part this was copied from GIOP::send_request and - // friends. - - // ACE_Time_Value timeout; - - iovec iov[ACE_IOV_MAX]; - int iovcnt = 0; - ssize_t n = 0; - ssize_t nbytes = 0; - - for (const ACE_Message_Block *i = mblk; - i != 0; - i = i->cont ()) - { - // Make sure there is something to send! - if (i->length () > 0) - { - iov[iovcnt].iov_base = i->rd_ptr (); - iov[iovcnt].iov_len = static_cast (i->length ()); - iovcnt++; - - // The buffer is full make a OS call. @@ TODO this should - // be optimized on a per-platform basis, for instance, some - // platforms do not implement writev() there we should copy - // the data into a buffer and call send_n(). In other cases - // there may be some limits on the size of the iovec, there - // we should set ACE_IOV_MAX to that limit. - if (iovcnt == ACE_IOV_MAX) - { - n = this->handler_->peer ().sendv_n ((const iovec *) iov, - iovcnt); - //&timeout); - if (n < 1) - return n; - - nbytes += n; - iovcnt = 0; - } - } - } - - // Check for remaining buffers to be sent! - if (iovcnt != 0) - { - n = this->handler_->peer ().sendv_n ((const iovec *) iov, - iovcnt); - if (n < 1) - return n; - - nbytes += n; - } - - return nbytes; -} - -ssize_t -TAO_AV_SCTP_SEQ_Transport::send (const char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->peer ().send_n (buf, len); -} - -ssize_t -TAO_AV_SCTP_SEQ_Transport::send (const iovec *iov, - int iovcnt, - ACE_Time_Value *) -{ - return this->handler_->peer ().sendv_n (iov, - iovcnt); -} - -ssize_t -TAO_AV_SCTP_SEQ_Transport::recv (char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->peer ().recv (buf, len); -} - -ssize_t -TAO_AV_SCTP_SEQ_Transport::recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *) -{ - return this->handler_->peer ().recv (buf, - len, - flags); -} - -ssize_t -TAO_AV_SCTP_SEQ_Transport::recv (iovec *iov, - int iovcnt, - ACE_Time_Value *) -{ - return handler_->peer ().recvv_n (iov, iovcnt); -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Base_Acceptor -//------------------------------------------------------------ - -int -TAO_AV_SCTP_SEQ_Base_Acceptor::acceptor_open (TAO_AV_SCTP_SEQ_Acceptor *acceptor, - ACE_Reactor *reactor, - const ACE_INET_Addr &local_addr, - TAO_FlowSpec_Entry *entry) -{ - ACE_DEBUG ((LM_DEBUG, - "In base acceptor open")); - - this->acceptor_ = acceptor; - this->reactor_ = reactor; - this->entry_ = entry; - - ACE_UINT32 local_ip_addr [entry->num_local_sec_addrs ()]; - ACE_INET_Addr ip_addr; - char** addrs = entry->get_local_sec_addr (); - for (int i = 0; i < entry->num_local_sec_addrs (); i++) - { - ACE_CString addr_str (addrs[i]); - addr_str += ":"; - ip_addr.set (addr_str.c_str ()); - local_ip_addr [i] = ip_addr.get_ip_address (); - } - - - ACE_Multihomed_INET_Addr multi_addr; - multi_addr.set (local_addr.get_port_number (), - local_addr.get_ip_address (), - 1, - local_ip_addr, - entry->num_local_sec_addrs ()); - - char buf[BUFSIZ]; - multi_addr.addr_to_string (buf, - BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_SCTP_SEQ_Base_Acceptor::open: %s", - buf - )); - - int result = this->open (multi_addr,reactor); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SCTP_SEQ_Base_Acceptor::open failed\n"),-1); - - return 0; -} - -int -TAO_AV_SCTP_SEQ_Base_Acceptor::make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *&handler) -{ - int result = this->acceptor_->make_svc_handler (handler); - if (result < 0) - return result; - handler->reactor (this->reactor_); - this->entry_->handler (handler); - - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Acceptor -//------------------------------------------------------------ - -TAO_AV_SCTP_SEQ_Acceptor::TAO_AV_SCTP_SEQ_Acceptor (void) -{ -} - -TAO_AV_SCTP_SEQ_Acceptor::~TAO_AV_SCTP_SEQ_Acceptor (void) -{ -} - -int -TAO_AV_SCTP_SEQ_Acceptor::make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *&sctp_handler) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_SCTP_SEQ_Acceptor::make_svc_handler\n" - )); - - if (this->endpoint_ != 0) - { - ACE_NEW_RETURN (sctp_handler, - TAO_AV_SCTP_SEQ_Flow_Handler, - -1); - - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - sctp_handler, - sctp_handler->transport ()); - - sctp_handler->protocol_object (object); - this->endpoint_->set_flow_handler (this->flowname_.c_str (),sctp_handler); - this->entry_->protocol_object (object); - this->entry_->handler (sctp_handler); - } - return 0; -} - -int -TAO_AV_SCTP_SEQ_Acceptor::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->flow_protocol_factory_ = factory; - - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ()); - else - this->flowname_ = entry->flowname (); - - ACE_Addr *address = entry->address (); - - ACE_INET_Addr *inet_addr = (ACE_INET_Addr *) address; - - char buf[BUFSIZ]; - inet_addr->addr_to_string (buf, - BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_SCTP_SEQ_Acceptor::open: %s", - buf - )); - - //Add code for reading multihomed addresses and pass the multihomed - //addr to the following method. ACE_Multihomed_addr derives from - //ACE_INET_Addr, hence this should not be an issue. - int result = this->acceptor_.acceptor_open (this, - av_core->reactor (), - *inet_addr, - entry); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_SCTP_SEQ_Acceptor::open failed"), - -1); - - entry->set_local_addr (address); - return 0; -} - -int -TAO_AV_SCTP_SEQ_Acceptor::open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->flow_protocol_factory_ = factory; - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname()); - else - this->flowname_ = entry->flowname (); - - ACE_INET_Addr *address; - ACE_NEW_RETURN (address, - ACE_INET_Addr ("0"), - -1); - - int result = this->acceptor_.acceptor_open (this, - av_core->reactor (), - *address, - entry); - - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_SCTP_SEQ_Acceptor::open failed"), - -1); - - this->acceptor_.acceptor ().get_local_addr (*address); - - address->set (address->get_port_number (), - address->get_host_name ()); - - char buf[BUFSIZ]; - address->addr_to_string (buf,BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_SCTP_SEQ_Acceptor::open_default: %s\n", - buf)); - - entry->set_local_addr (address); - - return 0; -} - - -int -TAO_AV_SCTP_SEQ_Acceptor::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Base_Connector -//------------------------------------------------------------ - -int -TAO_AV_SCTP_SEQ_Base_Connector::connector_open (TAO_AV_SCTP_SEQ_Connector *connector, - ACE_Reactor *reactor) -{ - this->connector_ = connector; - this->reactor_ = reactor; - - int result = this->open (reactor); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SCTP_SEQ_Base_Connector::open failed\n"),-1); - return 0; -} - -int -TAO_AV_SCTP_SEQ_Base_Connector::make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *&sctp_handler) -{ - int result = - this->connector_->make_svc_handler (sctp_handler); - if (result < 0) - return result; - sctp_handler->reactor (this->reactor_); - return 0; -} - -int -TAO_AV_SCTP_SEQ_Base_Connector::connector_connect (TAO_AV_SCTP_SEQ_Flow_Handler *&handler, - const ACE_Multihomed_INET_Addr &remote_addr, - const ACE_Multihomed_INET_Addr &local_addr) -{ - int result = this->connect (handler, - remote_addr, - 0, - local_addr); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SCTP_SEQ_Base_Connector::connect failed\n"),-1); - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Connector -//------------------------------------------------------------ -TAO_AV_SCTP_SEQ_Connector::TAO_AV_SCTP_SEQ_Connector (void) -{ -} - -TAO_AV_SCTP_SEQ_Connector::~TAO_AV_SCTP_SEQ_Connector (void) -{ -} - -int -TAO_AV_SCTP_SEQ_Connector::make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *&sctp_handler) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_SCTP_SEQ_Connector::make_svc_handler\n")); - - // TAO_AV_Callback *callback = 0; - if (this->endpoint_ != 0) - { - // this->endpoint_->get_callback (this->flowname_.c_str (), - // callback); - ACE_NEW_RETURN (sctp_handler, - // TAO_AV_SCTP_SEQ_Flow_Handler (callback), - TAO_AV_SCTP_SEQ_Flow_Handler, - -1); - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - sctp_handler, - sctp_handler->transport ()); - sctp_handler->protocol_object (object); - // callback->protocol_object (object); - // this->endpoint_->set_protocol_object (this->flowname_.c_str (), - // object); - this->endpoint_->set_flow_handler (this->flowname_.c_str (),sctp_handler); - this->entry_->protocol_object (object); - this->entry_->handler (sctp_handler); - } - return 0; -} - -int -TAO_AV_SCTP_SEQ_Connector::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory) - -{ - this->endpoint_ = endpoint; - this->flow_protocol_factory_ = factory; - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_SCTP_SEQ_Connector::open ")); - int result = this->connector_.connector_open(this, - av_core->reactor ()); - return result; -} - -int -TAO_AV_SCTP_SEQ_Connector::connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->entry_ = entry; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ()); - else - this->flowname_ = entry->flowname (); - ACE_Addr *remote_addr = entry->address (); - ACE_INET_Addr *inet_addr = dynamic_cast (remote_addr); - TAO_AV_SCTP_SEQ_Flow_Handler *handler = 0; - - ACE_Multihomed_INET_Addr remote_multi_addr; - remote_multi_addr.set (inet_addr->get_port_number (), - inet_addr->get_ip_address (), - 1, - 0, - 0); - - ACE_Multihomed_INET_Addr local_addr; //This can be a multihomed address - ACE_INET_Addr *addr; - if (entry->get_peer_addr () != 0) - { - addr = dynamic_cast (entry->get_peer_addr ()); - } - else - { - ACE_NEW_RETURN (addr, - ACE_INET_Addr ("0"), - -1); - } - - ACE_UINT32 local_ip_addr [entry->num_peer_sec_addrs ()]; - ACE_INET_Addr ip_addr; - char** addrs = entry->get_peer_sec_addr (); - for (int i = 0; i < entry->num_peer_sec_addrs (); i++) - { - ACE_CString addr_str (addrs[i]); - addr_str += ":"; - ip_addr.set (addr_str.c_str ()); - local_ip_addr [i] = ip_addr.get_ip_address (); - } - - if (entry->num_peer_sec_addrs () != 0) - local_addr.set (addr->get_port_number (), - addr->get_ip_address (), - 1, - local_ip_addr, - entry->num_peer_sec_addrs ()); - else - local_addr.set (addr->get_port_number (), - addr->get_ip_address (), - 1, - 0, - entry->num_peer_sec_addrs ()); - - - int result = this->connector_.connector_connect (handler, - remote_multi_addr, - local_addr); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SCTP_SEQ_connector::connect failed\n"),-1); - entry->handler (handler); - transport = handler->transport (); - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "Local Addrs\n")); - char buf [BUFSIZ]; - size_t size = BUFSIZ; - ACE_INET_Addr *peer_addrs = 0; - ACE_NEW_RETURN (peer_addrs,ACE_INET_Addr [size], -1); - handler->peer ().get_local_addrs (peer_addrs, size); - for (unsigned int i=0; i < size;i++) - { - peer_addrs [i].addr_to_string (buf, - BUFSIZ); - ACE_DEBUG ((LM_DEBUG, - "%s %d\n", - buf, - size)); - } - - ACE_DEBUG ((LM_DEBUG, - "Remote Addrs\n")); - - size = BUFSIZ; - handler->peer ().get_remote_addrs (peer_addrs, size); - for (unsigned int i=0; i < size;i++) - { - peer_addrs [i].addr_to_string (buf, - BUFSIZ); - ACE_DEBUG ((LM_DEBUG, - "%s %d\n", - buf, - size)); - } - //delete peer_addrs; - } - - return 0; -} - -int -TAO_AV_SCTP_SEQ_Connector::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Protocol_Factory -//------------------------------------------------------------ - - -TAO_AV_SCTP_SEQ_Factory::TAO_AV_SCTP_SEQ_Factory (void) -{ -} - -TAO_AV_SCTP_SEQ_Factory::~TAO_AV_SCTP_SEQ_Factory (void) -{ -} - - -int -TAO_AV_SCTP_SEQ_Factory::match_protocol (const char *protocol_string) -{ - if (ACE_OS::strcasecmp (protocol_string,"SCTP_SEQ") == 0) - return 1; - return 0; -} - -TAO_AV_Acceptor* -TAO_AV_SCTP_SEQ_Factory::make_acceptor (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_SCTP_SEQ_Factory::make_acceptor\n")); - TAO_AV_Acceptor *acceptor = 0; - ACE_NEW_RETURN (acceptor, - TAO_AV_SCTP_SEQ_Acceptor, - 0); - return acceptor; -} - -TAO_AV_Connector* -TAO_AV_SCTP_SEQ_Factory::make_connector (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_SCTP_SEQ_Factory::make_connector\n")); - TAO_AV_Connector *connector = 0; - ACE_NEW_RETURN (connector, - TAO_AV_SCTP_SEQ_Connector, - 0); - return connector; -} - - -int -TAO_AV_SCTP_SEQ_Factory::init (int, - char *[]) -{ - - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Object -//------------------------------------------------------------ - -int -TAO_AV_SCTP_SEQ_Object::handle_input (void) -{ - int n = this->transport_->recv (this->frame_.rd_ptr (), - this->frame_.size ()); - if (n == -1) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SCTP_SEQ_Flow_Handler::handle_input recv failed\n"),-1); - if (n == 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SCTP_SEQ_Flow_Handler::handle_input connection closed\n"),-1); - this->frame_.wr_ptr (this->frame_.rd_ptr () + n); - - return this->callback_->receive_frame (&this->frame_); -} - -int -TAO_AV_SCTP_SEQ_Object::send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info * /*frame_info*/) -{ - int result = this->transport_->send (frame); - return result; -} - -int -TAO_AV_SCTP_SEQ_Object::send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info * /*frame_info*/) -{ - return this->transport_->send (iov,iovcnt); -} - -int -TAO_AV_SCTP_SEQ_Object::send_frame (const char*buf, - size_t len) -{ - int result = this->transport_->send (buf, len, 0); - return result; -} - - -TAO_AV_SCTP_SEQ_Object::TAO_AV_SCTP_SEQ_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) - :TAO_AV_Protocol_Object (callback,transport) -{ - // @@ Is this a good size? - this->frame_.size (BUFSIZ); -} - -TAO_AV_SCTP_SEQ_Object::~TAO_AV_SCTP_SEQ_Object (void) -{ - // No-op -} -int -TAO_AV_SCTP_SEQ_Object::destroy (void) -{ - this->callback_->handle_destroy (); - delete this; - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Flow_Handler -//------------------------------------------------------------ - -TAO_AV_SCTP_SEQ_Flow_Handler::TAO_AV_SCTP_SEQ_Flow_Handler (TAO_AV_Callback * /*callback*/) - // :TAO_AV_Flow_Handler (callback) -{ - ACE_NEW (this->transport_, - TAO_AV_SCTP_SEQ_Transport (this)); -} - -TAO_AV_SCTP_SEQ_Flow_Handler::~TAO_AV_SCTP_SEQ_Flow_Handler (void) -{ - delete this->transport_; -} - -TAO_AV_Transport * -TAO_AV_SCTP_SEQ_Flow_Handler::transport (void) -{ - return this->transport_; -} - -int -TAO_AV_SCTP_SEQ_Flow_Handler::change_qos (AVStreams::QoS qos) -{ - if( TAO_debug_level > 0 ) - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_SCTP_SEQ_Flow_Handler::change_qos\n")); - } - - unsigned int i=0; - - int ret = 0; - CORBA::Long dscp = 0; - CORBA::Long ecn = 0; - int dscp_flag=0; - for(i=0; i < qos.QoSParams.length(); i++) - { - - if( ACE_OS::strcmp( qos.QoSParams[i].property_name.in(), "Diffserv_Codepoint") == 0) - { - qos.QoSParams[i].property_value >>= dscp; - ACE_DEBUG ((LM_DEBUG, - "DSCP %d\n", - dscp)); - dscp_flag=1; - // DSCP value can only be 6 bits wide - if(!((dscp >= 0) && (dscp <= 63))) - { - dscp_flag = 0; - ACE_DEBUG((LM_DEBUG, "(%N,%l) ECN value can only be (0-3) not %d\n", ecn)); - return -1; - } - } - - if( ACE_OS::strcmp( qos.QoSParams[i].property_name.in(), "ECN") == 0) - { - qos.QoSParams[i].property_value >>= ecn; - // ECN value can only occupy bits 6 and 7 of the - // IP Diffserv byte - if(!((ecn >= 0) && (ecn <= 3))) - { - ACE_DEBUG((LM_DEBUG, "(%N,%l) ECN value can only be (0-3) not %d\n", ecn)); - ecn = 0; - } - - } - } - // Set the Diffserv byte only if we specified - // the Diffserv Codepoint (DSCP) or ECN via QoSParams - // passed into this method - if(dscp_flag || ecn) - { - int tos; - tos = (int)(dscp << 2); - if(ecn) - { - tos |= ecn; - } - ret = this->peer ().set_option(IPPROTO_IP, IP_TOS, (int *)&tos , (int)sizeof(tos)); - - if(TAO_debug_level > 0) - { - ACE_DEBUG((LM_DEBUG, "(%N,%l) set tos: ret: %d %d\n", tos, ret)); - } - } - - if(TAO_debug_level > 0) - { - if(ret < 0 ) - { - ACE_DEBUG((LM_DEBUG, "(%N,%l) errno: %p\n")); - } - } - return ret; -} - -int -TAO_AV_SCTP_SEQ_Flow_Handler::open (void * /*arg*/) -{ - ACE_CDR::Long nodelay = 1; - -#if defined (SCTP_NODELAY) - if (this->peer ().set_option (IPPROTO_SCTP, - SCTP_NODELAY, - (void *) &nodelay, - sizeof (nodelay)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "NODELAY failed\n"), - -1); -#endif /* SCTP_NODELAY */ - - // Called by the when the handler is completely - // connected. - ACE_INET_Addr addr; - - if (this->peer ().get_remote_addr (addr) == -1) - return -1; - - char server[MAXHOSTNAMELEN + 16]; - - (void) addr.addr_to_string (server, sizeof (server)); - - if (TAO_debug_level > 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) connection to server <%s> on %d\n", - server, this->peer ().get_handle ())); - - this->peer ().disable (ACE_NONBLOCK); - - // Register the handler with the reactor. - if (this->reactor () - && this->reactor ()->register_handler - (this, - ACE_Event_Handler::READ_MASK) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("%p\n"), - ACE_TEXT ("unable to register client handler")), - -1); - return 0; -} - -int -TAO_AV_SCTP_SEQ_Flow_Handler::handle_input (ACE_HANDLE /*fd*/) -{ - return this->protocol_object_->handle_input (); -} - -int -TAO_AV_SCTP_SEQ_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, - const void *arg) -{ - return TAO_AV_Flow_Handler::handle_timeout (tv,arg); -} - - -//------------------------------------------------------------ -// TAO_AV_SCTP_SEQ_Flow_Factory -//------------------------------------------------------------ -TAO_AV_SCTP_SEQ_Flow_Factory::TAO_AV_SCTP_SEQ_Flow_Factory (void) -{ -} - -TAO_AV_SCTP_SEQ_Flow_Factory::~TAO_AV_SCTP_SEQ_Flow_Factory (void) -{ -} - -int -TAO_AV_SCTP_SEQ_Flow_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -int -TAO_AV_SCTP_SEQ_Flow_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strcasecmp (flow_string,"SCTP_SEQ") == 0) - return 1; - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_SCTP_SEQ_Flow_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Callback *callback = 0; - if( endpoint->get_callback (entry->flowname (), callback) ) { - ACE_ERROR_RETURN ((LM_ERROR, "(%N,%l) Invalid callback\n"), 0); - } - - TAO_AV_SCTP_SEQ_Object *object = 0; - ACE_NEW_RETURN (object, - TAO_AV_SCTP_SEQ_Object (callback, - transport), - 0); - callback->open (object, - handler); - endpoint->set_protocol_object (entry->flowname (), - object); - - endpoint->protocol_object_set (); - return object; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_SCTP_SEQ_Flow_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_SCTP_SEQ_Flow_Factory, - ACE_TEXT ("SCTP_SEQ_Flow_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_SCTP_SEQ_Flow_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_SCTP_SEQ_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_SCTP_SEQ_Factory, - ACE_TEXT ("SCTP_SEQ_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_SCTP_SEQ_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -#endif // ACE_HAS_SCTP diff --git a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h b/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h deleted file mode 100644 index 4e3ec871b71..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/SCTP_SEQ.h +++ /dev/null @@ -1,308 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SCTP_SEQ.h - * - * $Id$ - * - * @author Yamuna Krishnamurthy - */ -//============================================================================= - -#ifndef TAO_AV_SCTP_SEQ_H -#define TAO_AV_SCTP_SEQ_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if defined (ACE_HAS_SCTP) - -#include "ace/Auto_Ptr.h" -#include "ace/Service_Config.h" -#include "orbsvcs/AV/Protocol_Factory.h" -#include "ace/SOCK_SEQPACK_Association.h" -#include "ace/SOCK_SEQPACK_Acceptor.h" -#include "ace/SOCK_SEQPACK_Connector.h" - -extern "C" { -#include -}; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Unbounded_Set Interface_Seq; -typedef ACE_Unbounded_Set_Iterator Interface_Seq_Itor; - -//typedef auto_ptr Interface_Seq_Ptr; -typedef ACE_Hash_Map_Manager Secondary_Addr_Map; -typedef ACE_Hash_Map_Entry Secondary_Addr_Map_Entry; -typedef ACE_Hash_Map_Iterator Secondary_Addr_Map_Iterator; - -/** - * @class TAO_AV_SCTP_SEQ_Factory - */ -class TAO_AV_Export TAO_AV_SCTP_SEQ_Factory : public TAO_AV_Transport_Factory -{ -public: - /// Initialization hook. - TAO_AV_SCTP_SEQ_Factory (void); - virtual ~TAO_AV_SCTP_SEQ_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *protocol_string); - virtual TAO_AV_Acceptor *make_acceptor (void); - virtual TAO_AV_Connector *make_connector (void); -}; - -class TAO_AV_SCTP_SEQ_Flow_Handler; - -/** - * @class TAO_AV_SCTP_SEQ_Transport - * @brief A transport abstraction for udp sockets. - * Uses the ACE_SOCK_Dgram to send the data. - */ -class TAO_AV_Export TAO_AV_SCTP_SEQ_Transport - :public TAO_AV_Transport -{ -public: - TAO_AV_SCTP_SEQ_Transport (void); - - TAO_AV_SCTP_SEQ_Transport (TAO_AV_SCTP_SEQ_Flow_Handler *handler); - - virtual ~TAO_AV_SCTP_SEQ_Transport (void); - virtual int open (ACE_Addr *addr); - - virtual int close (void); - - virtual int mtu (void); - - virtual ACE_Addr *get_peer_addr (void); - - /// Write the complete Message_Block chain to the connection. - virtual ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0); - - /// Write the contents of the buffer of length len to the connection. - virtual ssize_t send (const char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Write the contents of iovcnt iovec's to the connection. - virtual ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf using flags. - virtual ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0); - - /// Read received data into the iovec buffers. - virtual ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - TAO_AV_SCTP_SEQ_Flow_Handler *handler (void) { return this->handler_; } - -protected: - TAO_AV_SCTP_SEQ_Flow_Handler *handler_; - ACE_Addr *addr_; - ACE_INET_Addr peer_addr_; -}; - -/** - * @class TAO_AV_SCTP_SEQ_Flow_Handler - */ -class TAO_AV_SCTP_SEQ_Flow_Handler - :public virtual TAO_AV_Flow_Handler, - public ACE_Svc_Handler -{ -public: - TAO_AV_SCTP_SEQ_Flow_Handler (TAO_AV_Callback *callback = 0); - virtual ~TAO_AV_SCTP_SEQ_Flow_Handler (void); - virtual TAO_AV_Transport *transport (void); - virtual int open (void * = 0); - virtual int handle_input (ACE_HANDLE fd); - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - virtual ACE_Event_Handler* event_handler (void){ return this; } - /// Change the QoS - virtual int change_qos (AVStreams::QoS); - -protected: - TAO_AV_Core *av_core_; -}; - -class TAO_AV_SCTP_SEQ_Acceptor; - -/** - * @class TAO_AV_SCTP_SEQ_Base_Acceptor - */ -class TAO_AV_SCTP_SEQ_Base_Acceptor :public ACE_Acceptor -{ - public: - virtual int acceptor_open (TAO_AV_SCTP_SEQ_Acceptor *acceptor, - ACE_Reactor *reactor, - const ACE_INET_Addr &local_addr, - TAO_FlowSpec_Entry *entry); - virtual int make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *& handler); - protected: - TAO_AV_SCTP_SEQ_Acceptor *acceptor_; - ACE_Reactor *reactor_; - TAO_FlowSpec_Entry *entry_; -}; - -/** - * @class TAO_AV_SCTP_SEQ_Acceptor - * @brief - */ -class TAO_AV_Export TAO_AV_SCTP_SEQ_Acceptor - :public TAO_AV_Acceptor -{ -public: - TAO_AV_SCTP_SEQ_Acceptor (void); - virtual ~TAO_AV_SCTP_SEQ_Acceptor (void); - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - - virtual int open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - - virtual int close (void); - virtual int make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *&handler); - -protected: - ACE_INET_Addr *address_; - TAO_AV_SCTP_SEQ_Base_Acceptor acceptor_; - TAO_Base_StreamEndPoint *endpoint_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; -}; - -class TAO_AV_SCTP_SEQ_Connector; - -/** - * @class TAO_AV_Base_Connector - */ -class TAO_AV_SCTP_SEQ_Base_Connector : public ACE_Connector -{ -public: - // To avoid warnings of open and connect hiding the base class functions these have to renamed. - int connector_open (TAO_AV_SCTP_SEQ_Connector *connector, - ACE_Reactor *reactor); - int connector_connect (TAO_AV_SCTP_SEQ_Flow_Handler *&handler, - const ACE_Multihomed_INET_Addr &remote_addr, - const ACE_Multihomed_INET_Addr &local_addr); - virtual int make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *& handler); -protected: - TAO_AV_SCTP_SEQ_Connector *connector_; - ACE_Reactor *reactor_; -}; - -/** - * @class TAO_AV_SCTP_SEQ_Connector - * @brief - */ -class TAO_AV_SCTP_SEQ_Connector : public TAO_AV_Connector -{ -public: - TAO_AV_SCTP_SEQ_Connector (void); - virtual ~TAO_AV_SCTP_SEQ_Connector (void); - - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory); - - virtual int connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - virtual int close (void); - virtual int make_svc_handler (TAO_AV_SCTP_SEQ_Flow_Handler *&handler); -protected: - TAO_AV_Core *av_core_; - TAO_AV_SCTP_SEQ_Base_Connector connector_; - TAO_Base_StreamEndPoint *endpoint_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; -}; - -/** - * @class TAO_AV_SCTP_SEQ_Object - * @brief TAO_AV_Protocol_Object for the User Datagram Protocol (SCTP_SEQ) - */ -class TAO_AV_Export TAO_AV_SCTP_SEQ_Object : public TAO_AV_Protocol_Object -{ -public: - TAO_AV_SCTP_SEQ_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport = 0); - - /// Dtor - virtual ~TAO_AV_SCTP_SEQ_Object (void); - - virtual int handle_input (void); - - /// send a data frame. - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const char*buf, - size_t len); - - /// end the stream. - virtual int destroy (void); - -private: - /// Pre-allocated memory to receive the data... - ACE_Message_Block frame_; -}; - -/** - * @class TAO_AV_SCTP_SEQ_Flow_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_SCTP_SEQ_Flow_Factory : public TAO_AV_Flow_Protocol_Factory -{ -public: - /// Initialization hook. - TAO_AV_SCTP_SEQ_Flow_Factory (void); - virtual ~TAO_AV_SCTP_SEQ_Flow_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *flow_string); - TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_SCTP_SEQ_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_SCTP_SEQ_Flow_Factory) - -ACE_STATIC_SVC_DECLARE (TAO_AV_SCTP_SEQ_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_SCTP_SEQ_Factory) - - -#endif // ACE_HAS_SCTP - -#include /**/ "ace/post.h" - -#endif /* TAO_AV_SCTP_SEQ_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/TCP.cpp b/TAO/orbsvcs/orbsvcs/AV/TCP.cpp deleted file mode 100644 index 1ed5739a2de..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/TCP.cpp +++ /dev/null @@ -1,721 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/TCP.h" -#include "orbsvcs/AV/AVStreams_i.h" - -#include "tao/debug.h" -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_TCP_Transport -//------------------------------------------------------------ - -TAO_AV_TCP_Transport::TAO_AV_TCP_Transport (void) - :handler_ (0) -{ -} - -TAO_AV_TCP_Transport::TAO_AV_TCP_Transport (TAO_AV_TCP_Flow_Handler *handler) - :handler_ (handler) -{ -} - -TAO_AV_TCP_Transport::~TAO_AV_TCP_Transport (void) -{ -} - -int -TAO_AV_TCP_Transport::open (ACE_Addr * /*address*/) -{ - return 0; -} - -int -TAO_AV_TCP_Transport::close (void) -{ - return 0; -} - -int -TAO_AV_TCP_Transport::mtu (void) -{ - return -1; -} - -ACE_Addr* -TAO_AV_TCP_Transport::get_peer_addr (void) -{ - return 0; -} - -ssize_t -TAO_AV_TCP_Transport::send (const ACE_Message_Block *mblk, ACE_Time_Value *) -{ - // For the most part this was copied from GIOP::send_request and - // friends. - - iovec iov[ACE_IOV_MAX]; - int iovcnt = 0; - ssize_t n = 0; - ssize_t nbytes = 0; - - for (const ACE_Message_Block *i = mblk; - i != 0; - i = i->cont ()) - { - // Make sure there is something to send! - if (i->length () > 0) - { - iov[iovcnt].iov_base = i->rd_ptr (); - iov[iovcnt].iov_len = static_cast (i->length ()); - iovcnt++; - - // The buffer is full make a OS call. @@ TODO this should - // be optimized on a per-platform basis, for instance, some - // platforms do not implement writev() there we should copy - // the data into a buffer and call send_n(). In other cases - // there may be some limits on the size of the iovec, there - // we should set ACE_IOV_MAX to that limit. - if (iovcnt == ACE_IOV_MAX) - { - n = this->handler_->peer ().sendv_n ((const iovec *) iov, - iovcnt); - if (n < 1) - return n; - - nbytes += n; - iovcnt = 0; - } - } - } - - // Check for remaining buffers to be sent! - if (iovcnt != 0) - { - n = this->handler_->peer ().sendv_n ((const iovec *) iov, - iovcnt); - if (n < 1) - return n; - - nbytes += n; - } - - return nbytes; -} - -ssize_t -TAO_AV_TCP_Transport::send (const char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->peer ().send_n (buf, len); -} - -ssize_t -TAO_AV_TCP_Transport::send (const iovec *iov, - int iovcnt, - ACE_Time_Value *) -{ - return this->handler_->peer ().sendv_n ((const iovec *) iov, - iovcnt); -} - -ssize_t -TAO_AV_TCP_Transport::recv (char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->peer ().recv (buf, len); -} - -ssize_t -TAO_AV_TCP_Transport::recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *) -{ - return this->handler_->peer ().recv (buf, - len, - flags); -} - -ssize_t -TAO_AV_TCP_Transport::recv (iovec *iov, - int iovcnt, - ACE_Time_Value *) -{ - return handler_->peer ().recvv_n (iov, iovcnt); -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Protocol_Factory -//------------------------------------------------------------ - -TAO_AV_TCP_Factory::TAO_AV_TCP_Factory (void) -{ -} - -TAO_AV_TCP_Factory::~TAO_AV_TCP_Factory (void) -{ -} - -int -TAO_AV_TCP_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -int -TAO_AV_TCP_Factory::match_protocol (const char *protocol_string) -{ - if (ACE_OS::strcasecmp (protocol_string,"TCP") == 0) - return 1; - return 0; -} - -TAO_AV_Acceptor* -TAO_AV_TCP_Factory::make_acceptor (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_TCP_Factory::make_acceptor ")); - TAO_AV_Acceptor *acceptor = 0; - ACE_NEW_RETURN (acceptor, - TAO_AV_TCP_Acceptor, - 0); - return acceptor; -} - -TAO_AV_Connector* -TAO_AV_TCP_Factory::make_connector (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_TCP_Factory::make_connector ")); - TAO_AV_Connector *connector = 0; - ACE_NEW_RETURN (connector, - TAO_AV_TCP_Connector, - 0); - return connector; -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Object -//------------------------------------------------------------ - -int -TAO_AV_TCP_Object::handle_input (void) -{ - int n = this->transport_->recv (this->frame_.rd_ptr (), - this->frame_.size ()); - if (n == -1) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Flow_Handler::handle_input recv failed\n"),-1); - if (n == 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Flow_Handler::handle_input connection closed\n"),-1); - this->frame_.wr_ptr (this->frame_.rd_ptr () + n); - - return this->callback_->receive_frame (&this->frame_); -} - -int -TAO_AV_TCP_Object::send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info * /*frame_info*/) -{ - int result = this->transport_->send (frame); - return result; -} - -int -TAO_AV_TCP_Object::send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info * /*frame_info*/) -{ - return this->transport_->send (iov,iovcnt); -} - -int -TAO_AV_TCP_Object::send_frame (const char*buf, - size_t len) -{ - int result = this->transport_->send (buf, len, 0); - return result; -} - - -TAO_AV_TCP_Object::TAO_AV_TCP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) - :TAO_AV_Protocol_Object (callback,transport) -{ - // @@ Is this a good size? - this->frame_.size (BUFSIZ); -} - -TAO_AV_TCP_Object::~TAO_AV_TCP_Object (void) -{ - // No-op -} -int -TAO_AV_TCP_Object::destroy (void) -{ - this->callback_->handle_destroy (); - delete this; - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Flow_Factory -//------------------------------------------------------------ -TAO_AV_TCP_Flow_Factory::TAO_AV_TCP_Flow_Factory (void) -{ -} - -TAO_AV_TCP_Flow_Factory::~TAO_AV_TCP_Flow_Factory (void) -{ -} - -int -TAO_AV_TCP_Flow_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -int -TAO_AV_TCP_Flow_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strcasecmp (flow_string,"TCP") == 0) - return 1; - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_TCP_Flow_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Callback *callback = 0; - if (endpoint->get_callback (entry->flowname (), callback)) - { - ACE_ERROR_RETURN ((LM_ERROR, "(%N,%l) Invalid callback\n"), 0); - } - - TAO_AV_TCP_Object *object = 0; - ACE_NEW_RETURN (object, - TAO_AV_TCP_Object (callback, - transport), - 0); - callback->open (object, - handler); - endpoint->set_protocol_object (entry->flowname (), - object); - - endpoint->protocol_object_set (); - - return object; -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Base_Connector -//------------------------------------------------------------ - -int -TAO_AV_TCP_Base_Connector::connector_open (TAO_AV_TCP_Connector *connector, - ACE_Reactor *reactor) -{ - this->connector_ = connector; - this->reactor_ = reactor; - - int result = ACE_Connector ::open (reactor); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Base_Connector::open failed\n"),-1); - return 0; -} - -int -TAO_AV_TCP_Base_Connector::make_svc_handler (TAO_AV_TCP_Flow_Handler *&tcp_handler) -{ - int const result = - this->connector_->make_svc_handler (tcp_handler); - if (result < 0) - return result; - tcp_handler->reactor (this->reactor_); - return 0; -} - -int -TAO_AV_TCP_Base_Connector::connector_connect (TAO_AV_TCP_Flow_Handler *&handler, - const ACE_INET_Addr &remote_addr) -{ - int const result = - ACE_Connector ::connect (handler, - remote_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Base_Connector::connect failed\n"),-1); - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Connector -//------------------------------------------------------------ -TAO_AV_TCP_Connector::TAO_AV_TCP_Connector (void) -{ -} - -TAO_AV_TCP_Connector::~TAO_AV_TCP_Connector (void) -{ -} - -int -TAO_AV_TCP_Connector::make_svc_handler (TAO_AV_TCP_Flow_Handler *&tcp_handler) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_TCP_Connector::make_svc_handler\n")); - // TAO_AV_Callback *callback = 0; - if (this->endpoint_ != 0) - { -// this->endpoint_->get_callback (this->flowname_.c_str (), -// callback); - ACE_NEW_RETURN (tcp_handler, - // TAO_AV_TCP_Flow_Handler (callback), - TAO_AV_TCP_Flow_Handler, - -1); - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - tcp_handler, - tcp_handler->transport ()); - tcp_handler->protocol_object (object); - // callback->protocol_object (object); -// this->endpoint_->set_protocol_object (this->flowname_.c_str (), -// object); - this->endpoint_->set_flow_handler (this->flowname_.c_str (),tcp_handler); - this->entry_->protocol_object (object); - this->entry_->handler (tcp_handler); - } - return 0; -} - -int -TAO_AV_TCP_Connector::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory) - -{ - this->endpoint_ = endpoint; - this->flow_protocol_factory_ = factory; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_TCP_Connector::open ")); - int result = this->connector_.connector_open(this, - av_core->reactor ()); - return result; -} - -int -TAO_AV_TCP_Connector::connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->entry_ = entry; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ()); - else - this->flowname_ = entry->flowname (); - ACE_Addr *remote_addr = entry->address (); - ACE_INET_Addr *inet_addr = dynamic_cast (remote_addr); - TAO_AV_TCP_Flow_Handler *handler = 0; - int result = this->connector_.connector_connect (handler, - *inet_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_connector::connect failed\n"),-1); - entry->handler (handler); - transport = handler->transport (); - return 0; -} - -int -TAO_AV_TCP_Connector::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Base_Connector -//------------------------------------------------------------ - -int -TAO_AV_TCP_Base_Acceptor::acceptor_open (TAO_AV_TCP_Acceptor *acceptor, - ACE_Reactor *reactor, - const ACE_INET_Addr &local_addr, - TAO_FlowSpec_Entry *entry) -{ - this->acceptor_ = acceptor; - this->reactor_ = reactor; - this->entry_ = entry; - - int const result = - ACE_Acceptor ::open (local_addr,reactor); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Base_Connector::open failed\n"),-1); - return 0; -} - -int -TAO_AV_TCP_Base_Acceptor::make_svc_handler (TAO_AV_TCP_Flow_Handler *&handler) -{ - int const result = this->acceptor_->make_svc_handler (handler); - if (result < 0) - return result; - handler->reactor (this->reactor_); - this->entry_->handler (handler); - return 0; -} - - -//------------------------------------------------------------ -// TAO_AV_TCP_Acceptor -//------------------------------------------------------------ - -TAO_AV_TCP_Acceptor::TAO_AV_TCP_Acceptor (void) -{ -} - -TAO_AV_TCP_Acceptor::~TAO_AV_TCP_Acceptor (void) -{ -} - -int -TAO_AV_TCP_Acceptor::make_svc_handler (TAO_AV_TCP_Flow_Handler *&tcp_handler) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_TCP_Acceptor::make_svc_handler\n" - )); - - if (this->endpoint_ != 0) - { - ACE_NEW_RETURN (tcp_handler, - TAO_AV_TCP_Flow_Handler, - -1); - - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - tcp_handler, - tcp_handler->transport ()); - - tcp_handler->protocol_object (object); - - this->endpoint_->set_flow_handler (this->flowname_.c_str (),tcp_handler); - this->entry_->protocol_object (object); - this->entry_->handler (tcp_handler); - } - return 0; -} - -int -TAO_AV_TCP_Acceptor::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->flow_protocol_factory_ = factory; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_TCP_Acceptor::open ")); - - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ()); - else - this->flowname_ = entry->flowname (); - ACE_Addr *address = entry->address (); - - ACE_INET_Addr *inet_addr = (ACE_INET_Addr *) address; - - inet_addr->set (inet_addr->get_port_number (), - inet_addr->get_host_name ()); - - char buf[BUFSIZ]; - inet_addr->addr_to_string (buf, - BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_TCP_Acceptor::open: %s", - buf - )); - - int result = this->acceptor_.acceptor_open (this, - av_core->reactor (), - *inet_addr, - entry); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_TCP_Acceptor::open failed"), - -1); - - entry->set_local_addr (address); - return 0; -} - -int -TAO_AV_TCP_Acceptor::open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->flow_protocol_factory_ = factory; - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname()); - else - this->flowname_ = entry->flowname (); - - ACE_INET_Addr *address = 0; - ACE_NEW_RETURN (address, - ACE_INET_Addr ("0"), - -1); - - int result = this->acceptor_.acceptor_open (this, - av_core->reactor (), - *address, - entry); - - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_AV_TCP_Acceptor::open failed"), - -1); - - this->acceptor_.acceptor ().get_local_addr (*address); - - address->set (address->get_port_number (), - address->get_host_name ()); - - char buf[BUFSIZ]; - address->addr_to_string (buf,BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_TCP_Acceptor::open_default: %s\n", - buf)); - - entry->set_local_addr (address); - - return 0; -} - - -int -TAO_AV_TCP_Acceptor::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_TCP_Flow_Handler -//------------------------------------------------------------ - -TAO_AV_TCP_Flow_Handler::TAO_AV_TCP_Flow_Handler (TAO_AV_Callback * /*callback*/) - // :TAO_AV_Flow_Handler (callback) -{ - ACE_NEW (this->transport_, - TAO_AV_TCP_Transport (this)); -} - -TAO_AV_TCP_Flow_Handler::~TAO_AV_TCP_Flow_Handler (void) -{ - delete this->transport_; -} - -TAO_AV_Transport * -TAO_AV_TCP_Flow_Handler::transport (void) -{ - return this->transport_; -} - -int -TAO_AV_TCP_Flow_Handler::open (void * /*arg*/) -{ - -#if defined (TCP_NODELAY) - int nodelay = 1; - - if (this->peer ().set_option (IPPROTO_TCP, - TCP_NODELAY, - (void *) &nodelay, - sizeof (nodelay)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "NODELAY failed\n"), - -1); -#endif /* TCP_NODELAY */ - - // Called by the when the handler is completely - // connected. - ACE_INET_Addr addr; - - if (this->peer ().get_remote_addr (addr) == -1) - return -1; - - char server[MAXHOSTNAMELEN + 16]; - - (void) addr.addr_to_string (server, sizeof (server)); - - if (TAO_debug_level > 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "(%P|%t) connection to server <%s> on %d\n", - server, this->peer ().get_handle ())); - - this->peer ().enable (ACE_NONBLOCK); - // Register the handler with the reactor. - if (this->reactor () - && this->reactor ()->register_handler - (this, - ACE_Event_Handler::READ_MASK) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("%p\n"), - ACE_TEXT ("unable to register client handler")), - -1); - return 0; -} - -int -TAO_AV_TCP_Flow_Handler::handle_input (ACE_HANDLE /*fd*/) -{ - return this->protocol_object_->handle_input (); -} - -int -TAO_AV_TCP_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, - const void *arg) -{ - return TAO_AV_Flow_Handler::handle_timeout (tv,arg); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_AV_TCP_Flow_Factory, - ACE_TEXT ("TCP_Flow_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_TCP_Flow_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_TCP_Flow_Factory) - -ACE_STATIC_SVC_DEFINE (TAO_AV_TCP_Factory, - ACE_TEXT ("TCP_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_TCP_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_TCP_Factory) diff --git a/TAO/orbsvcs/orbsvcs/AV/TCP.h b/TAO/orbsvcs/orbsvcs/AV/TCP.h deleted file mode 100644 index 1f51a7329be..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/TCP.h +++ /dev/null @@ -1,283 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file TCP.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_TCP_H -#define TAO_AV_TCP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/Protocol_Factory.h" -#include "orbsvcs/AV/FlowSpec_Entry.h" - -#include "ace/Service_Config.h" -#include "ace/Svc_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_TCP_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_TCP_Factory : public TAO_AV_Transport_Factory -{ -public: - /// Initialization hook. - TAO_AV_TCP_Factory (void); - virtual ~TAO_AV_TCP_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *protocol_string); - virtual TAO_AV_Acceptor *make_acceptor (void); - virtual TAO_AV_Connector *make_connector (void); -}; - -class TAO_AV_TCP_Flow_Handler; - -/** - * @class TAO_AV_TCP_Transport - * @brief A transport abstraction for socket streams. - * Uses the ACE_SOCK_Stream to send the data. - */ -class TAO_AV_TCP_Transport - : public TAO_AV_Transport -{ - -public: - TAO_AV_TCP_Transport (void); - - TAO_AV_TCP_Transport (TAO_AV_TCP_Flow_Handler *handler); - - virtual ~TAO_AV_TCP_Transport (void); - - virtual int open (ACE_Addr *address); - - virtual int close (void); - - virtual int mtu (void); - - virtual ACE_Addr *get_peer_addr (void); - - /// Write the complete Message_Block chain to the connection. - virtual ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0); - - /// Write the contents of the buffer of length len to the connection. - virtual ssize_t send (const char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Write the contents of iovcnt iovec's to the connection. - virtual ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf using flags. - virtual ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0); - - /// Read received data into the iovec buffers. - virtual ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); -protected: - TAO_AV_TCP_Flow_Handler *handler_; -}; - -/** - * @class TAO_AV_TCP_Flow_Handler - * @brief - */ -class TAO_AV_TCP_Flow_Handler - :public virtual TAO_AV_Flow_Handler, - public virtual ACE_Svc_Handler -{ -public: - TAO_AV_TCP_Flow_Handler (TAO_AV_Callback *callback = 0); - virtual ~TAO_AV_TCP_Flow_Handler (void); - virtual TAO_AV_Transport *transport (void); - virtual int open (void * = 0); - virtual int handle_input (ACE_HANDLE fd); - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - virtual ACE_Event_Handler* event_handler (void){ return this; } -protected: - TAO_AV_Core *av_core_; -}; - -class TAO_AV_TCP_Acceptor; - -/** - * @class TAO_AV_TCP_Base_Acceptor - * @brief - */ -class TAO_AV_TCP_Base_Acceptor : public ACE_Acceptor -{ -public: - virtual int acceptor_open (TAO_AV_TCP_Acceptor *acceptor, - ACE_Reactor *reactor, - const ACE_INET_Addr &local_addr, - TAO_FlowSpec_Entry *entry); - virtual int make_svc_handler (TAO_AV_TCP_Flow_Handler *& handler); -protected: - TAO_AV_TCP_Acceptor *acceptor_; - ACE_Reactor *reactor_; - TAO_FlowSpec_Entry *entry_; -}; - -/** - * @class TAO_AV_TCP_Acceptor - * @brief - */ -class TAO_AV_TCP_Acceptor : public TAO_AV_Acceptor -{ -public: - TAO_AV_TCP_Acceptor (void); - virtual ~TAO_AV_TCP_Acceptor (void); - - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_component = - TAO_AV_Core::TAO_AV_DATA); - - virtual int open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_component = - TAO_AV_Core::TAO_AV_DATA); - - virtual int close (void); - virtual int make_svc_handler (TAO_AV_TCP_Flow_Handler *&handler); -protected: - TAO_AV_TCP_Base_Acceptor acceptor_; - TAO_FlowSpec_Entry *entry_; - TAO_Base_StreamEndPoint *endpoint_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; -}; - -class TAO_AV_TCP_Connector; - -/** - * @class TAO_AV_Base_Connector - * @brief - */ -class TAO_AV_TCP_Base_Connector : public ACE_Connector -{ -public: - // To avoid warnings of open and connect hiding the base class functions these have to renamed. - int connector_open (TAO_AV_TCP_Connector *connector, - ACE_Reactor *reactor); - int connector_connect (TAO_AV_TCP_Flow_Handler *&handler, - const ACE_INET_Addr &remote_addr); - virtual int make_svc_handler (TAO_AV_TCP_Flow_Handler *& handler); -protected: - TAO_AV_TCP_Connector *connector_; - ACE_Reactor *reactor_; -}; - -/** - * @class TAO_AV_TCP_Connector - * @brief - */ -class TAO_AV_TCP_Connector : public TAO_AV_Connector -{ -public: - TAO_AV_TCP_Connector (void); - virtual ~TAO_AV_TCP_Connector (void); - - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory); - - virtual int connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - virtual int close (void); - virtual int make_svc_handler (TAO_AV_TCP_Flow_Handler *&handler); -protected: - TAO_AV_Core *av_core_; - TAO_AV_TCP_Base_Connector connector_; - TAO_Base_StreamEndPoint *endpoint_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; -}; - -/** - * @class TAO_AV_TCP_Object - * @brief TAO_AV_Protocol_Object for Transmission Control Protocol (TCP) - */ -class TAO_AV_Export TAO_AV_TCP_Object : public TAO_AV_Protocol_Object -{ -public: - TAO_AV_TCP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport = 0); - - /// Dtor - virtual ~TAO_AV_TCP_Object (void); - - virtual int handle_input (void); - - /// send a data frame. - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const char*buf, - size_t len); - - /// end the stream. - virtual int destroy (void); - -private: - /// Pre-allocated memory to receive the data... - ACE_Message_Block frame_; -}; - -/** - * @class TAO_AV_TCP_Flow_Factory - * @brief - */ -class TAO_AV_TCP_Flow_Factory : public TAO_AV_Flow_Protocol_Factory -{ -public: - /// Initialization hook. - TAO_AV_TCP_Flow_Factory (void); - virtual ~TAO_AV_TCP_Flow_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *flow_string); - TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_TCP_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_TCP_Flow_Factory) - -ACE_STATIC_SVC_DECLARE (TAO_AV_TCP_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_TCP_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_AV_TCP_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Transport.cpp b/TAO/orbsvcs/orbsvcs/AV/Transport.cpp deleted file mode 100644 index 03047ef23e6..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Transport.cpp +++ /dev/null @@ -1,682 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/sfp.h" -#include "orbsvcs/AV/MCast.h" -#include "orbsvcs/AV/RTCP.h" -#include "orbsvcs/AV/RTP.h" -#include "orbsvcs/AV/UDP.h" -#include "orbsvcs/AV/TCP.h" -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/AV_Core.h" - -#if defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) -#include "orbsvcs/AV/QoS_UDP.h" -#endif /* defined (ACE_HAS_RAPI) || defined (ACE_HAS_WINSOCK2_GQOS) */ - -#include "tao/debug.h" - -#include "ace/Dynamic_Service.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/AV/Transport.i" -#endif /* __ACE_INLINE__ */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_Transport_Item -//------------------------------------------------------------ -TAO_AV_Transport_Item::TAO_AV_Transport_Item (const ACE_CString &name) - : name_ (name), - factory_ (0) -{ -} - -//------------------------------------------------------------ -// TAO_AV_Transport_Item -//------------------------------------------------------------ -TAO_AV_Flow_Protocol_Item::TAO_AV_Flow_Protocol_Item (const ACE_CString &name) - : name_ (name), - factory_ (0) -{ -} - -//------------------------------------------------------------ -// TAO_AV_Connector_Registry -//------------------------------------------------------------ - -TAO_AV_Connector_Registry::TAO_AV_Connector_Registry (void) -{ -} - -int -TAO_AV_Connector_Registry::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core* av_core, - TAO_AV_FlowSpecSet &flow_spec_set) -{ - - TAO_AV_FlowSpecSetItor last_flowspec = flow_spec_set.end (); - - for (TAO_AV_FlowSpecSetItor flow_spec = flow_spec_set.begin (); - flow_spec != last_flowspec; - ++flow_spec) - { - TAO_FlowSpec_Entry *entry = (*flow_spec); - ACE_Addr *address = entry->address (); - const char *flow_protocol = entry->flow_protocol_str (); - const char *transport_protocol = entry->carrier_protocol_str (); - - if (ACE_OS::strcmp (flow_protocol,"") == 0) - flow_protocol = transport_protocol; - - if (address == 0) - { - // Protocol was specified without an endpoint. According to - // the "iioploc" spec, this is valid. As such, we extend - // this feature to all pluggable protocols. All TAO - // pluggable protocols are expected to have the ability to - // create a default endpoint. - - ACE_ERROR_RETURN ((LM_ERROR, - "Protocol was specified without an endpoint\n"), - -1); - } - else - { - TAO_AV_Flow_Protocol_Factory *flow_factory = - av_core->get_flow_protocol_factory (flow_protocol); - TAO_AV_Transport_Factory *transport_factory = - av_core->get_transport_factory (transport_protocol); - - if ((flow_factory != 0) && (transport_factory != 0)) - { - // @@Naga:Instead of making a new connector every time we should try and see if a connector exists - // for this transport already and hence we can reuse it. - - TAO_AV_Connector *connector = transport_factory->make_connector (); - - if (connector != 0) - { - // add connector to list. - this->connectors_.insert (connector); - - if (connector->open (endpoint, - av_core, - flow_factory) == -1) - return -1; - - TAO_AV_Transport *transport = 0; - if (connector->connect (entry, - transport, - TAO_AV_Core::TAO_AV_DATA) == -1) - return -1; - entry->transport (transport); - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Unable to create an " - "connector for <%s>\n", - entry->flowname ()), - -1); - - // Now see if the flow factory has a control flow factory. - TAO_AV_Flow_Protocol_Factory *control_flow_factory = - av_core->get_flow_protocol_factory(flow_factory->control_flow_factory ()); - - if (control_flow_factory != 0) - { - TAO_AV_Connector *control_connector = - transport_factory->make_connector (); - - if (control_connector != 0) - { - // add connector to list. - this->connectors_.insert (control_connector); - - if (control_connector->open (endpoint, - av_core, - control_flow_factory) == -1) - return -1; - - TAO_AV_Transport *control_transport = 0; - if (control_connector->connect (entry, - control_transport, - TAO_AV_Core::TAO_AV_CONTROL) == -1) - return -1; - entry->control_transport (control_transport); - - // Now set the control object on the data flow object. - entry->protocol_object ()->control_object (entry->control_protocol_object ()); - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Unable to create an " - "connector for <%s>\n", - entry->flowname ()), - -1); - } - } - } - } - return 0; -} - -int -TAO_AV_Connector_Registry::close (TAO_AV_Connector *connector) -{ - this->connectors_.remove (connector); - - if (connector != 0) - delete connector; - return 0; -} - -int -TAO_AV_Connector_Registry::close_all (void) -{ - for (TAO_AV_ConnectorSetItor i = this->connectors_.begin (); - i != this->connectors_.end (); - ++i) - { - if (*i != 0) - continue; - - (*i)->close (); - - this->close (*i); - } - - this->connectors_.reset (); - return 0; -} - -TAO_AV_Connector_Registry::~TAO_AV_Connector_Registry (void) -{ - this->close_all (); -} - -//------------------------------------------------------------ -// TAO_AV_Acceptor_Registry -//------------------------------------------------------------ - -TAO_AV_Acceptor_Registry::TAO_AV_Acceptor_Registry (void) -{ -} - -TAO_AV_Acceptor_Registry::~TAO_AV_Acceptor_Registry (void) -{ - this->close_all(); -} - -int -TAO_AV_Acceptor_Registry::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_FlowSpecSet &flow_spec_set) -{ - int retv = 0; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Acceptor_Registry::open \n")); - - TAO_AV_FlowSpecSetItor last_flowspec - = flow_spec_set.end (); - - for (TAO_AV_FlowSpecSetItor flow_spec = flow_spec_set.begin (); - flow_spec != last_flowspec; - ++flow_spec) - { - TAO_FlowSpec_Entry *entry = (*flow_spec); - ACE_Addr *address = entry->address (); - const char *flow_protocol = entry->flow_protocol_str (); - const char *transport_protocol = entry->carrier_protocol_str (); - - if (ACE_OS::strcmp (flow_protocol,"") == 0) - flow_protocol = transport_protocol; - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Acceptor_Registry::protocol for flow %s is %s\n", - entry->flowname (), - transport_protocol)); - - if (address == 0) - { - retv = this->open_default (endpoint, - av_core, - entry); - if(retv < 0) - return retv; - continue; - } - else - { - TAO_AV_Flow_Protocol_Factory *flow_factory = - av_core->get_flow_protocol_factory (flow_protocol); - - if (flow_protocol != 0) - { - TAO_AV_Transport_Factory *transport_factory = - av_core->get_transport_factory (transport_protocol); - - if (transport_protocol != 0) - { - TAO_AV_Acceptor *acceptor = transport_factory->make_acceptor (); - if (acceptor != 0) - { - // add acceptor to list. - this->acceptors_.insert (acceptor); - - if (acceptor->open (endpoint, - av_core, - entry, - flow_factory, - TAO_AV_Core::TAO_AV_DATA) == -1) - return -1; - - TAO_AV_Flow_Protocol_Factory *control_flow_factory = - av_core->get_flow_protocol_factory (flow_factory->control_flow_factory ()); - - if (control_flow_factory != 0) - { - TAO_AV_Acceptor *acceptor = transport_factory->make_acceptor (); - if (acceptor != 0) - { - if (acceptor->open (endpoint, - av_core, - entry, - control_flow_factory, - TAO_AV_Core::TAO_AV_CONTROL) == -1) - return -1; - // add acceptor to list. - this->acceptors_.insert (acceptor); - - entry->protocol_object ()->control_object (entry->control_protocol_object ()); - - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Unable to create an " - "acceptor for <%s>\n", - entry->flowname ()), - -1); - } - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Unable to create an " - "acceptor for <%s>\n", - entry->flowname ()), - -1); - } - } - } - } - return 0; -} - -int -TAO_AV_Acceptor_Registry::open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Acceptor_Registry::open_default ")); - - // No endpoints were specified, we let each protocol pick its own - // default... - - const char *flow_protocol = entry->flow_protocol_str (); - const char *transport_protocol = entry->carrier_protocol_str (); - - if (ACE_OS::strcmp (flow_protocol,"") == 0) - flow_protocol = transport_protocol; - - TAO_AV_Flow_Protocol_Factory *flow_factory = - av_core->get_flow_protocol_factory (flow_protocol); - - // No matching flow protocol. - if (flow_factory == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) (%N,%l) Unable to match protocol prefix " - "for <%s>\n", - flow_protocol), - -1); - - if (TAO_debug_level > 0) - ACE_DEBUG((LM_DEBUG, "(%N,%l) Matched flow_protocol: %s, Looking for transport protocol: %s\n", flow_protocol, transport_protocol)); - - TAO_AV_Transport_Factory *transport_factory = - av_core->get_transport_factory (transport_protocol); - - if (transport_factory == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) (%N,%l) Unable to match protocol prefix " - "for <%s>\n", - transport_protocol), - -1); - - // make an acceptor - TAO_AV_Acceptor *acceptor = - transport_factory->make_acceptor(); - - if (acceptor == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) unable to create " - "an acceptor for <%d>\n", - transport_protocol), - -1); - - if (acceptor->open_default (endpoint, - av_core, - entry, - flow_factory, - TAO_AV_Core::TAO_AV_DATA) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) unable to open " - "default acceptor for <%s>%p\n", - flow_protocol), - -1); - - this->acceptors_.insert (acceptor); - - const char *control_flow_factory_name = flow_factory->control_flow_factory (); - - if (control_flow_factory_name != 0) - { - - TAO_AV_Flow_Protocol_Factory *control_flow_factory = - av_core->get_flow_protocol_factory (control_flow_factory_name); - - if (control_flow_factory == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Unable to match control flow " - "for <%s>\n", - control_flow_factory_name), - -1); - - TAO_AV_Acceptor *control_acceptor = transport_factory->make_acceptor (); - - if (control_acceptor == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) unable to create " - "an acceptor for <%d>\n", - transport_protocol), - -1); - - if (control_acceptor->open_default (endpoint, - av_core, - entry, - control_flow_factory, - TAO_AV_Core::TAO_AV_CONTROL) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) unable to open " - "default acceptor for <%s>%p\n", - transport_protocol), - -1); - - this->acceptors_.insert (control_acceptor); - - entry->protocol_object ()->control_object (entry->control_protocol_object ()); - } - - if (this->acceptors_.size () == 0) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "TAO (%P%t) cannot create any default acceptor\n")); - return -1; - } - - return 0; -} - -int -TAO_AV_Acceptor_Registry::close (TAO_AV_Acceptor *acceptor) -{ - this->acceptors_.remove (acceptor); - delete acceptor; - - return 0; -} - -int -TAO_AV_Acceptor_Registry::close_all (void) -{ - for (TAO_AV_AcceptorSetItor i = this->acceptors_.begin (); - i != this->acceptors_.end (); - ++i) - { - if (*i == 0) - continue; - - (*i)->close (); - - delete *i; - } - - this->acceptors_.reset (); - return 0; -} - -//---------------------------------------------------------------------- -// TAO_AV_Transport -//---------------------------------------------------------------------- - -TAO_AV_Transport::TAO_AV_Transport (void) -{ -} - -// Virtual destructor. -TAO_AV_Transport::~TAO_AV_Transport (void) -{ -} - -ACE_Addr* -TAO_AV_Transport::get_local_addr (void) -{ - return 0; -} - -//---------------------------------------------------------------------- -// TAO_AV_Flow_Handler -//---------------------------------------------------------------------- - -//TAO_AV_Flow_Handler::TAO_AV_Flow_Handler (TAO_AV_Callback *callback) -TAO_AV_Flow_Handler::TAO_AV_Flow_Handler (void) - :transport_ (0), - callback_ (0), - protocol_object_ (0), - timer_id_ (-1) -{ -} - -TAO_AV_Flow_Handler::~TAO_AV_Flow_Handler(void) -{ - // cancel the timer (if there is one) - this->cancel_timer(); -} - -int -TAO_AV_Flow_Handler::set_remote_address (ACE_Addr * /* address */) -{ - return 0; -} - -int -TAO_AV_Flow_Handler::start (TAO_FlowSpec_Entry::Role role) -{ - this->callback_->handle_start (); - switch (role) - { - // only for producer we register for the timeout. - case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: - { - this->schedule_timer (); - } - break; - default: - break; - } - return 0; -} - -int -TAO_AV_Flow_Handler::schedule_timer (void) -{ - ACE_Event_Handler *event_handler = this->event_handler (); - ACE_Time_Value *tv = 0; - - this->callback_->get_timeout (tv, this->timeout_arg_); - if (tv == 0) - return 0; - - this->timer_id_ = - TAO_AV_CORE::instance()->reactor ()->schedule_timer (event_handler, - 0, - *tv); - - if (this->timer_id_ < 0) - return -1; - - return 0; -} - - -int -TAO_AV_Flow_Handler::cancel_timer (void) -{ - if (this->timer_id_ != -1) - return TAO_AV_CORE::instance()->reactor ()->cancel_timer (this->timer_id_); - else - return 0; -} - - -int -TAO_AV_Flow_Handler::stop (TAO_FlowSpec_Entry::Role role) -{ - this->callback_->handle_stop (); - switch (role) - { - case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: - { - int result = this->event_handler ()->reactor ()->cancel_timer (this->timer_id_); - if (result < 0) - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_Flow_Handler::stop:cancel_timer failed\n")); - } - break; - default: - break; - } - return 0; -} - -int -TAO_AV_Flow_Handler::handle_timeout (const ACE_Time_Value & /*tv*/, - const void * /*arg*/) -{ - int result = this->callback_->handle_timeout (this->timeout_arg_); - if (result < 0) - return result; - ACE_Event_Handler *event_handler = this->event_handler (); - ACE_Time_Value *timeout = 0; - - this->callback_->get_timeout (timeout, this->timeout_arg_); - if (timeout == 0) - return 0; - - this->timer_id_ = event_handler->reactor ()->schedule_timer (event_handler, - 0, - *timeout); - - if (this->timer_id_ < 0) - return -1; - - return 0; -} - -int -TAO_AV_Flow_Handler::change_qos (AVStreams::QoS) -{ - return 0; -} - -TAO_AV_Transport* -TAO_AV_Flow_Handler::transport (void) -{ - return this->transport_; -} - -void -TAO_AV_Flow_Handler::protocol_object (TAO_AV_Protocol_Object *protocol_object) -{ - this->protocol_object_ = protocol_object; -} - -TAO_AV_Protocol_Object* -TAO_AV_Flow_Handler::protocol_object (void) -{ - return this->protocol_object_; -} - -void -TAO_AV_Flow_Handler::callback (TAO_AV_Callback *callback) -{ - this->callback_ = callback; -} - -// TAO_AV_Connector -TAO_AV_Connector::TAO_AV_Connector (void) -{ -} - -TAO_AV_Connector::~TAO_AV_Connector (void) -{ -} - -// TAO_AV_Acceptor -TAO_AV_Acceptor::TAO_AV_Acceptor (void) -{ -} - -TAO_AV_Acceptor::~TAO_AV_Acceptor (void) -{ -} - -TAO_AV_Transport_Factory::TAO_AV_Transport_Factory (void) -{ -} - -TAO_AV_Transport_Factory::~TAO_AV_Transport_Factory (void) -{ -} - -int -TAO_AV_Transport_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return -1; -} - -int -TAO_AV_Transport_Factory::match_protocol (const char * /* protocol_string */) -{ - return 0; -} - -TAO_AV_Acceptor * -TAO_AV_Transport_Factory::make_acceptor (void) -{ - return 0; -} - -TAO_AV_Connector * -TAO_AV_Transport_Factory::make_connector (void) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/Transport.h b/TAO/orbsvcs/orbsvcs/AV/Transport.h deleted file mode 100644 index e494a20b9d4..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Transport.h +++ /dev/null @@ -1,345 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Transport.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_TRANSPORT_H -#define TAO_AV_TRANSPORT_H -#include /**/ "ace/pre.h" - - -#include "orbsvcs/AV/FlowSpec_Entry.h" -#include "orbsvcs/AV/AV_Core.h" - -#include "orbsvcs/AV/AV_export.h" - -#include "ace/Service_Object.h" -#include "ace/Acceptor.h" -#include "ace/SOCK_Acceptor.h" -#include "ace/SOCK_Connector.h" -#include "ace/Connector.h" -#include "ace/Addr.h" -#include "ace/SOCK_Dgram.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations. -class TAO_AV_Core; -class TAO_AV_Transport_Factory; -class TAO_AV_Protocol_Object; -class TAO_AV_Callback; -class TAO_AV_Transport; - -/** - * @class TAO_AV_Transport_Item - * @brief - */ -class TAO_AV_Export TAO_AV_Transport_Item -{ -public: - /// creator method, the Transport name can only be set when the - /// object is created. - TAO_AV_Transport_Item (const ACE_CString &name); - - /// return a reference to the character representation of the Transport - /// factories name. - const ACE_CString &name (void); - - /// return a pointer to the Transport factory. - TAO_AV_Transport_Factory *factory (void); - - /// set the factory pointer's valus. - void factory (TAO_AV_Transport_Factory *factory); - -private: - /// Transport factory name. - ACE_CString name_; - - /// pointer to factory object. - TAO_AV_Transport_Factory *factory_; -}; - - - - -class TAO_AV_Flow_Protocol_Factory; - -/** - * @class TAO_AV_Flow_Protocol_Item - * @brief - */ -class TAO_AV_Export TAO_AV_Flow_Protocol_Item -{ -public: - /// creator method, the Flow_Protocol name can only be set when the - /// object is created. - TAO_AV_Flow_Protocol_Item (const ACE_CString &name); - - /// return a reference to the character representation of the Flow_Protocol - /// factories name. - const ACE_CString &name (void); - - /// return a pointer to the Flow_Protocol factory. - TAO_AV_Flow_Protocol_Factory *factory (void); - - /// set the factory pointer's valus. - void factory (TAO_AV_Flow_Protocol_Factory *factory); - -private: - /// Flow_Protocol factory name. - ACE_CString name_; - - /// pointer to factory object. - TAO_AV_Flow_Protocol_Factory *factory_; -}; - - -/** - * @class TAO_AV_Flow_Handler - * @brief - */ -class TAO_AV_Export TAO_AV_Flow_Handler -{ -public: - /// Constructor. - TAO_AV_Flow_Handler (void); - - virtual ~TAO_AV_Flow_Handler (void); - /// Start/stop the flow handler. - virtual int start (TAO_FlowSpec_Entry::Role role); - virtual int stop (TAO_FlowSpec_Entry::Role role); - - /// Schedule timer. Uses the get_timeout method on the callback. - virtual int schedule_timer (void); - virtual int cancel_timer (void); - - /// get the transport. - TAO_AV_Transport *transport (void); - - /// set/get protocol_object. - TAO_AV_Protocol_Object* protocol_object (void); - void protocol_object (TAO_AV_Protocol_Object *protocol_object); - - /// set the callback. - void callback (TAO_AV_Callback *callback); - - /// Handle timeout. called from reactor. - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - - /// set the remote address. - virtual int set_remote_address (ACE_Addr *address); - - /// get the underlying event handler. To be overridden by the derived clases. - virtual ACE_Event_Handler* event_handler (void) = 0; - - virtual int change_qos (AVStreams::QoS); - -protected: - TAO_AV_Transport *transport_; - TAO_AV_Callback *callback_; - TAO_AV_Protocol_Object *protocol_object_; - long timer_id_; - ACE_Reactor *reactor_; - void *timeout_arg_; -}; - -// Transports -/** - * @class TAO_AV_Transport - * @brief A Base class for the different transport protocols. - * All the different transports should derive and implement - * the open,close,send and recv methods. - */ -class TAO_AV_Export TAO_AV_Transport -{ -public: - TAO_AV_Transport (void); - - virtual ~TAO_AV_Transport (void); - - virtual int open (ACE_Addr *address) = 0; - - virtual int close (void) = 0; - - /// Write the complete Message_Block chain to the connection. - virtual int mtu (void) = 0; - virtual ACE_Addr *get_peer_addr (void) = 0; - virtual ACE_Addr *get_local_addr (void); - virtual ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0) = 0; - - /// Write the contents of the buffer of length len to the connection. - virtual ssize_t send (const char *buf, - size_t len, - ACE_Time_Value *s = 0) = 0; - - /// Write the contents of iovcnt iovec's to the connection. - virtual ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0) = 0; - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0) = 0; - - /// Read len bytes from into buf using flags. - virtual ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0) = 0; - - /// Read received data into the iovec buffers. - virtual ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0) = 0; - -}; - -class TAO_Base_StreamEndPoint; -class TAO_AV_Core; -class TAO_FlowSpec_Entry; - -/** - * @class TAO_AV_Acceptor - * @brief - */ -class TAO_AV_Export TAO_AV_Acceptor -{ -public: - TAO_AV_Acceptor (void); - virtual ~TAO_AV_Acceptor (void); - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) = 0; - - virtual int open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) = 0; - - const char *flowname (); - virtual int close (void) = 0; -protected: - ACE_CString flowname_; - TAO_AV_Core *av_core_; - ACE_Addr *address_; -}; - -/** - * @class TAO_AV_Connector - * @brief - */ -class TAO_AV_Export TAO_AV_Connector -{ -public: - TAO_AV_Connector (void); - virtual ~TAO_AV_Connector (void); - const char *flowname (void); - - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory) = 0; - - virtual int connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_component) = 0; - - virtual int close (void) = 0; -protected: - ACE_CString flowname_; -}; - - -typedef ACE_Unbounded_Set TAO_AV_ConnectorSet; -typedef ACE_Unbounded_Set_Iterator TAO_AV_ConnectorSetItor; - -/** - * @class TAO_AV_Connector_Registry - * @brief - */ -class TAO_AV_Export TAO_AV_Connector_Registry -{ -public: - /** - * int connect (TAO_FlowSpec_Entry *flowspec, - * TAO_AV_Transport *&transport); - * TAO_AV_Connector *get_connector (TAO_AV_Core::Protocol protocol); - * Return the connector bridges - */ - TAO_AV_Connector_Registry (void); - ~TAO_AV_Connector_Registry (void); - int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_FlowSpecSet &flow_spec_set); - int close (TAO_AV_Connector *connector); - int close_all (void); - TAO_AV_ConnectorSetItor begin (void); - TAO_AV_ConnectorSetItor end (void); -protected: - TAO_AV_ConnectorSet connectors_; -}; - -typedef ACE_Unbounded_Set TAO_AV_AcceptorSet; -typedef ACE_Unbounded_Set_Iterator TAO_AV_AcceptorSetItor; - -/** - * @class TAO_AV_Acceptor_Registry - * @brief - */ -class TAO_AV_Export TAO_AV_Acceptor_Registry -{ -public: - TAO_AV_Acceptor_Registry (void); - ~TAO_AV_Acceptor_Registry (void); - int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_FlowSpecSet &flow_spec_set); - int close (TAO_AV_Acceptor *acceptor); - int close_all (void); - TAO_AV_AcceptorSetItor begin (void); - TAO_AV_AcceptorSetItor end (void); -protected: - int open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry); - TAO_AV_AcceptorSet acceptors_; -}; - -/** - * @class TAO_AV_Transport_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_Transport_Factory : public ACE_Service_Object -{ -public: - /// Initialization hook. - TAO_AV_Transport_Factory (void); - virtual ~TAO_AV_Transport_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *protocol_string); - virtual TAO_AV_Acceptor *make_acceptor (void); - virtual TAO_AV_Connector *make_connector (void); - int ref_count; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/AV/Transport.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_AV_TRANSPORT_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/Transport.i b/TAO/orbsvcs/orbsvcs/AV/Transport.i deleted file mode 100644 index c05c2474e2b..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/Transport.i +++ /dev/null @@ -1,111 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_Transport_Item -//------------------------------------------------------------ -ACE_INLINE -const ACE_CString & -TAO_AV_Transport_Item::name (void) -{ - return this->name_; -} - -ACE_INLINE -TAO_AV_Transport_Factory * -TAO_AV_Transport_Item::factory (void) -{ - return this->factory_; -} - -ACE_INLINE -void -TAO_AV_Transport_Item::factory (TAO_AV_Transport_Factory *factory) -{ - this->factory_ = factory; -} - - -//------------------------------------------------------------ -// TAO_AV_Flow_Protocol_Item -//------------------------------------------------------------ -ACE_INLINE -const ACE_CString & -TAO_AV_Flow_Protocol_Item::name (void) -{ - return this->name_; -} - -ACE_INLINE -TAO_AV_Flow_Protocol_Factory * -TAO_AV_Flow_Protocol_Item::factory (void) -{ - return this->factory_; -} - -ACE_INLINE -void -TAO_AV_Flow_Protocol_Item::factory (TAO_AV_Flow_Protocol_Factory *factory) -{ - this->factory_ = factory; -} - -//------------------------------------------------------------ -// TAO_AV_Connector_Registry -//------------------------------------------------------------ - -ACE_INLINE -TAO_AV_ConnectorSetItor -TAO_AV_Connector_Registry::begin (void) -{ - return this->connectors_.begin (); -} - -ACE_INLINE -TAO_AV_ConnectorSetItor -TAO_AV_Connector_Registry::end (void) -{ - return this->connectors_.end (); -} - -//------------------------------------------------------------ -// TAO_AV_Acceptor_Registry -//------------------------------------------------------------ -ACE_INLINE -TAO_AV_AcceptorSetItor -TAO_AV_Acceptor_Registry::begin (void) -{ - return this->acceptors_.begin (); -} - -ACE_INLINE -TAO_AV_AcceptorSetItor -TAO_AV_Acceptor_Registry::end (void) -{ - return this->acceptors_.end (); -} - -//------------------------------------------------------------ -// TAO_AV_Acceptor -//------------------------------------------------------------ -ACE_INLINE -const char * -TAO_AV_Acceptor::flowname (void) -{ - return this->flowname_.c_str (); -} - -//------------------------------------------------------------ -// TAO_AV_Connector -//------------------------------------------------------------ -ACE_INLINE -const char * -TAO_AV_Connector::flowname (void) -{ - return this->flowname_.c_str (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/UDP.cpp b/TAO/orbsvcs/orbsvcs/AV/UDP.cpp deleted file mode 100644 index 827079c3c90..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/UDP.cpp +++ /dev/null @@ -1,1094 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/UDP.h" -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/MCast.h" - -#include "tao/debug.h" -#include "ace/OS_NS_strings.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/AV/UDP.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (AV, - UDP, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------ -// TAO_AV_UDP_Flow_Handler -//------------------------------------------------------------ - -TAO_AV_UDP_Flow_Handler::TAO_AV_UDP_Flow_Handler (void) -{ - ACE_NEW (this->transport_, - TAO_AV_UDP_Transport (this)); -} - -TAO_AV_UDP_Flow_Handler::~TAO_AV_UDP_Flow_Handler (void) -{ - // remove the event handler from the reactor. - TAO_AV_CORE::instance()->reactor ()->remove_handler (this->event_handler(), - ACE_Event_Handler::READ_MASK); - - // close the socket. - this->close (); - delete this->transport_; -} - -TAO_AV_Transport * -TAO_AV_UDP_Flow_Handler::transport (void) -{ - return this->transport_; -} - -int -TAO_AV_UDP_Flow_Handler::handle_input (ACE_HANDLE /*fd*/) -{ - return this->protocol_object_->handle_input (); -} - -int -TAO_AV_UDP_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, - const void *arg) -{ - return TAO_AV_Flow_Handler::handle_timeout (tv,arg); -} - -int -TAO_AV_UDP_Flow_Handler::set_remote_address (ACE_Addr *address) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Flow_Handler::set_remote_address\n")); - - ACE_INET_Addr *inet_addr = dynamic_cast (address); - this->peer_addr_ = *inet_addr; - TAO_AV_UDP_Transport *transport = dynamic_cast (this->transport_); - - return transport->set_remote_address (*inet_addr); -} - - -ACE_HANDLE -TAO_AV_UDP_Flow_Handler::get_handle (void) const -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_Flow_Handler::get_handle:%d\n", - this->sock_dgram_.get_handle ())); - - return this->sock_dgram_.get_handle () ; -} - -int -TAO_AV_UDP_Flow_Handler::change_qos(AVStreams::QoS qos) -{ - if( TAO_debug_level > 0 ) - { - ACE_DEBUG ((LM_DEBUG, - "(%N,%l) TAO_AV_UDP_Flow_Handler::change_qos\n")); - } - - unsigned int i=0; - - int ret = 0; - CORBA::Long dscp = 0; - CORBA::Long ecn = 0; - int dscp_flag=0; - for(i=0; i < qos.QoSParams.length(); i++) - { - - if( ACE_OS::strcmp( qos.QoSParams[i].property_name.in(), "Diffserv_Codepoint") == 0) - { - qos.QoSParams[i].property_value >>= dscp; - dscp_flag=1; - // DSCP value can only be 6 bits wide - if(!((dscp >= 0) && (dscp <= 63))) - { - dscp_flag = 0; - ACE_DEBUG((LM_DEBUG, "(%N,%l) ECN value can only be (0-3) not %d\n", ecn)); - return -1; - } - } - - if( ACE_OS::strcmp( qos.QoSParams[i].property_name.in(), "ECN") == 0) - { - qos.QoSParams[i].property_value >>= ecn; - // ECN value can only occupy bits 6 and 7 of the - // IP Diffserv byte - if(!((ecn >= 0) && (ecn <= 3))) - { - ACE_DEBUG((LM_DEBUG, "(%N,%l) ECN value can only be (0-3) not %d\n", ecn)); - ecn = 0; - } - - } - } - // Set the Diffserv byte only if we specified - // the Diffserv Codepoint (DSCP) or ECN via QoSParams - // passed into this method - if(dscp_flag || ecn) - { - int tos; - tos = (int)(dscp << 2); - if(ecn) - { - tos |= ecn; - } - ret = sock_dgram_.set_option(IPPROTO_IP, IP_TOS, (int *)&tos , (int)sizeof(tos)); - - if(TAO_debug_level > 1) - { - ACE_DEBUG((LM_DEBUG, "(%N,%l) set tos: ret: %d\n", ret)); - } - } - - if(TAO_debug_level > 1) - { - if(ret < 0 ) - { - ACE_DEBUG((LM_DEBUG, "(%N,%l) errno: %p\n")); - } - } - return ret; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Transport -//------------------------------------------------------------ - -TAO_AV_UDP_Transport::TAO_AV_UDP_Transport (void) - :handler_ (0) -{ -} - -TAO_AV_UDP_Transport::TAO_AV_UDP_Transport (TAO_AV_UDP_Flow_Handler *handler) - :handler_ (handler), - addr_ (0) -{ -} - -TAO_AV_UDP_Transport::~TAO_AV_UDP_Transport (void) -{ -} - -int -TAO_AV_UDP_Transport::set_remote_address (const ACE_INET_Addr &address) -{ - this->peer_addr_ = address; - return 0; -} - -int -TAO_AV_UDP_Transport::open (ACE_Addr * /*address*/) -{ - return 0; -} - -int -TAO_AV_UDP_Transport::close (void) -{ - return 0; -} - -int -TAO_AV_UDP_Transport::mtu (void) -{ - return 65535; -} - -ACE_Addr* -TAO_AV_UDP_Transport::get_peer_addr (void) -{ - return &this->peer_addr_; -} - -ssize_t -TAO_AV_UDP_Transport::send (const ACE_Message_Block *mblk, ACE_Time_Value *) -{ - // For the most part this was copied from GIOP::send_request and - // friends. - - iovec iov[ACE_IOV_MAX]; - int iovcnt = 0; - ssize_t n = 0; - ssize_t nbytes = 0; - - for (const ACE_Message_Block *i = mblk; - i != 0; - i = i->cont ()) - { - // Make sure there is something to send! - if (i->length () > 0) - { - iov[iovcnt].iov_base = i->rd_ptr (); - iov[iovcnt].iov_len = static_cast (i->length ()); - iovcnt++; - - // The buffer is full make a OS call. @@ TODO this should - // be optimized on a per-platform basis, for instance, some - // platforms do not implement writev() there we should copy - // the data into a buffer and call send_n(). In other cases - // there may be some limits on the size of the iovec, there - // we should set ACE_IOV_MAX to that limit. - if (iovcnt == ACE_IOV_MAX) - { - n = this->handler_->get_socket ()->send ((const iovec *) iov, - iovcnt, - this->peer_addr_); - - if (n < 1) - return n; - - nbytes += n; - iovcnt = 0; - } - } - } - - // Check for remaining buffers to be sent! - if (iovcnt != 0) - { - n = this->handler_->get_socket ()->send ((const iovec *) iov, - iovcnt, - this->peer_addr_); - - if (n < 1) - return n; - - nbytes += n; - } - - return nbytes; -} - -ssize_t -TAO_AV_UDP_Transport::send (const char *buf, - size_t len, - ACE_Time_Value *) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Transport::send ")); - char addr [BUFSIZ]; - this->peer_addr_.addr_to_string (addr,BUFSIZ); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"to %s\n",addr)); - - return this->handler_->get_socket ()->send (buf, len,this->peer_addr_); -} - -ssize_t -TAO_AV_UDP_Transport::send (const iovec *iov, - int iovcnt, - ACE_Time_Value *) -{ - return this->handler_->get_socket ()->send ((const iovec *) iov, - iovcnt, - this->peer_addr_); - -} - -ssize_t -TAO_AV_UDP_Transport::recv (char *buf, - size_t len, - ACE_Time_Value *) -{ - return this->handler_->get_socket ()->recv (buf, len,this->peer_addr_); -} - -ssize_t -TAO_AV_UDP_Transport::recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *timeout) -{ - return this->handler_->get_socket ()->recv (buf, - len, - this->peer_addr_, - flags, - timeout); -} - -ssize_t -TAO_AV_UDP_Transport::recv (iovec *iov, - int /*iovcnt*/, - ACE_Time_Value *timeout) -{ - return handler_->get_socket ()->recv (iov,this->peer_addr_,0,timeout); -} - - -//------------------------------------------------------------ -// TAO_AV_UDP_Acceptor -//------------------------------------------------------------ - -TAO_AV_UDP_Acceptor::TAO_AV_UDP_Acceptor (void) - : address_ (0), - control_inet_address_ (0) -{ -} - -TAO_AV_UDP_Acceptor::~TAO_AV_UDP_Acceptor (void) -{ - if (this->flow_component_ == TAO_AV_Core::TAO_AV_CONTROL) - delete this->entry_->control_handler (); - - delete this->address_; - delete this->control_inet_address_; -} - -int -TAO_AV_UDP_Acceptor::activate_svc_handler (TAO_AV_Flow_Handler *handler) -{ - ACE_Event_Handler *event_handler = handler->event_handler (); - int result = this->av_core_->reactor ()->register_handler (event_handler, - ACE_Event_Handler::READ_MASK); - - if (this->flow_component_ == TAO_AV_Core::TAO_AV_CONTROL) - handler->schedule_timer (); - - return result; -} - -int -TAO_AV_UDP_Acceptor::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Acceptor::open\n")); - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - this->flow_component_ = flow_comp; - this->flow_protocol_factory_ = factory; - ACE_INET_Addr *inet_addr; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - { - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ()); - inet_addr = (ACE_INET_Addr *) entry->control_address (); - } - else - { - this->flowname_ = entry->flowname (); - inet_addr = (ACE_INET_Addr *) entry->address (); - } - - if (inet_addr != 0) - { - char buf[BUFSIZ]; - inet_addr->addr_to_string (buf, - BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_Acceptor::open: %s\n", - buf)); - } - - int result = this->open_i (inet_addr, 0); - - if (result < 0) - return result; - return 0; -} - -int -TAO_AV_UDP_Acceptor::open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp) -{ - this->av_core_ = av_core; - this->endpoint_ = endpoint; - this->entry_ = entry; - this->flow_component_ = flow_comp; - this->flow_protocol_factory_ = factory; - if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL) - { - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ()); - } - else - { - this->flowname_ = entry->flowname (); - ACE_NEW_RETURN (this->address_, - ACE_INET_Addr ("0"), - -1); - } - - int result = this->open_i (this->address_, 1); - if (result < 0) - return result; - - return 0; -} - -int -TAO_AV_UDP_Acceptor::open_i (ACE_INET_Addr *inet_addr, - int is_default_addr) -{ - int result = -1; - ACE_INET_Addr *local_addr = 0; - - TAO_AV_Flow_Handler *flow_handler = 0; - - // if using a default address and this is the control flow component, the - // handler and local address are already set in the flow spec entry - if (is_default_addr && - (this->flow_component_ == TAO_AV_Core::TAO_AV_CONTROL) && - (ACE_OS::strcasecmp(this->entry_->flow_protocol_str (), "RTP") == 0)) - { - flow_handler = this->entry_->control_handler (); - - local_addr = dynamic_cast (this->entry_->get_local_control_addr ()); - } - else - { - // this variable is only used for RTP/UDP; RFC 1889 requires an even/odd - // consecutive port pair - int get_new_port = 1; - - while (get_new_port) - { - // assume the ports will be OK - get_new_port = 0; - - result = TAO_AV_UDP_Connection_Setup::setup (flow_handler, - inet_addr, - local_addr, - this->entry_->is_multicast (), - TAO_AV_UDP_Connection_Setup::ACCEPTOR); - - if (result < 0) - { - ACE_DEBUG((LM_DEBUG,"(%N,%l) Error during connection setup: %d\n", result)); - } - - local_addr->set (local_addr->get_port_number (), - local_addr->get_host_name ()); - - if (is_default_addr) - { - if ((ACE_OS::strcasecmp(this->entry_->flow_protocol_str (), "RTP") == 0) && - (this->flow_component_ == TAO_AV_Core::TAO_AV_DATA)) - { - if (is_default_addr && local_addr->get_port_number ()%2 != 0) - { - // RTP port should be even - delete local_addr; - delete flow_handler; - get_new_port = 1; - } - else - { - ACE_INET_Addr *local_control_addr; - TAO_AV_Flow_Handler *control_flow_handler = 0; - - ACE_NEW_RETURN (this->control_inet_address_, - ACE_INET_Addr ("0"), - -1); - - TAO_AV_UDP_Connection_Setup::setup(control_flow_handler, - this->control_inet_address_, - local_control_addr, - this->entry_->is_multicast (), - TAO_AV_UDP_Connection_Setup::ACCEPTOR); - - if (local_control_addr->get_port_number () != - local_addr->get_port_number () +1) - { - delete this->control_inet_address_; - delete local_addr; - delete flow_handler; - delete local_control_addr; - delete control_flow_handler; - get_new_port = 1; - } - else - { - this->entry_->control_address (this->control_inet_address_); - this->entry_->set_local_control_addr (local_control_addr); - this->entry_->control_handler (control_flow_handler); - } - } - } - } - } - } - - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - flow_handler, - flow_handler->transport ()); - flow_handler->protocol_object (object); - - if (this->flow_component_ == TAO_AV_Core::TAO_AV_DATA) - { - this->endpoint_->set_flow_handler (this->flowname_.c_str (),flow_handler); - - this->entry_->protocol_object (object); - this->entry_->set_local_addr (local_addr); - this->entry_->handler (flow_handler); - //this->entry_->address (inet_addr); - this->entry_->address (local_addr); - } - else - { - this->endpoint_->set_control_flow_handler (this->flowname_.c_str (),flow_handler); - - this->entry_->control_protocol_object (object); - this->entry_->set_local_control_addr (local_addr); - this->entry_->control_handler (flow_handler); - } - - char buf[BUFSIZ]; - local_addr->addr_to_string (buf,BUFSIZ); - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_UDP_ACCEPTOR::open:%s \n", - buf)); - - // call activate svc handler. - return this->activate_svc_handler (flow_handler); -} - -int -TAO_AV_UDP_Acceptor::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Connector -//------------------------------------------------------------ -TAO_AV_UDP_Connector::TAO_AV_UDP_Connector (void) - : control_inet_address_ (0) -{ -} - -TAO_AV_UDP_Connector::~TAO_AV_UDP_Connector (void) -{ - if (this->flow_component_ == TAO_AV_Core::TAO_AV_CONTROL) - { - delete this->entry_->control_handler (); - } - - if (this->control_inet_address_ != 0) - delete this->control_inet_address_; -} - -int -TAO_AV_UDP_Connector::open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory) - -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Connector::open ")); - this->endpoint_ = endpoint; - this->av_core_ = av_core; - this->flow_protocol_factory_ = factory; - return 0; -} - -int -TAO_AV_UDP_Connector::connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_component) -{ - ACE_INET_Addr *local_addr = 0; - ACE_INET_Addr *control_inet_addr = 0; - - this->entry_ = entry; - this->flow_component_ = flow_component; - - ACE_INET_Addr *inet_addr; - - if (flow_component == TAO_AV_Core::TAO_AV_CONTROL) - { - this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname()); - inet_addr = dynamic_cast (entry->control_address ()); - } - else - { - this->flowname_ = entry->flowname (); - inet_addr = dynamic_cast (entry->address ()); - control_inet_addr = dynamic_cast (entry->control_address ()); - } - - TAO_AV_Flow_Handler *flow_handler = 0; - - // if this is the control flow component, the - // handler and local address are already set in the flow spec entry - if ((flow_component == TAO_AV_Core::TAO_AV_CONTROL) && - (ACE_OS::strcasecmp(this->entry_->flow_protocol_str (), "RTP") == 0) && - !entry->is_multicast ()) - { - flow_handler = this->entry_->control_handler (); - flow_handler->set_remote_address (inet_addr); - - local_addr = dynamic_cast (this->entry_->get_local_control_addr ()); - } - else - { - // this variable is only used for RTP/UDP; RFC 1889 requires an even/odd - // consecutive port pair - int get_new_port = 1; - - while (get_new_port) - { - // assume the ports will be OK - get_new_port = 0; - - ACE_Addr *addr; - if ((addr = entry->get_peer_addr ()) != 0) - { - local_addr = dynamic_cast (addr); - char buf [BUFSIZ]; - local_addr->addr_to_string (buf, BUFSIZ); - } - - TAO_AV_UDP_Connection_Setup::setup (flow_handler, - inet_addr, - local_addr, - entry->is_multicast (), - TAO_AV_UDP_Connection_Setup::CONNECTOR); - - if ((ACE_OS::strcasecmp(this->entry_->flow_protocol_str (), "RTP") == 0) && - (flow_component == TAO_AV_Core::TAO_AV_DATA) && - !entry->is_multicast ()) - { - if (local_addr->get_port_number ()%2 != 0) - { - // RTP port should be even - delete local_addr; - delete flow_handler; - get_new_port = 1; - } - else - { - ACE_INET_Addr *local_control_addr; - TAO_AV_Flow_Handler *control_flow_handler = 0; - - if (entry->is_multicast ()) - control_inet_addr = dynamic_cast (entry->control_address ()) ; - else - { - - if (local_addr != 0) - { - char buf [BUFSIZ]; - ACE_CString addr_str (local_addr->get_host_name ()); - addr_str += ":"; - addr_str += ACE_OS::itoa (local_addr->get_port_number () + 1, buf, 10); - ACE_NEW_RETURN (local_control_addr, - ACE_INET_Addr (addr_str.c_str ()), - -1); - local_control_addr->addr_to_string (buf, BUFSIZ); - } - - - if (entry->control_address () == 0) - ACE_NEW_RETURN (this->control_inet_address_, - ACE_INET_Addr ("0"), - -1); - else - control_inet_address_ = dynamic_cast (entry->control_address ()); - } - - TAO_AV_UDP_Connection_Setup::setup (control_flow_handler, - control_inet_addr, - local_control_addr, - entry->is_multicast (), - TAO_AV_UDP_Connection_Setup::CONNECTOR); - - if (local_control_addr->get_port_number () != - local_addr->get_port_number () +1) - { - delete local_addr; - delete flow_handler; - delete local_control_addr; - delete control_flow_handler; - get_new_port = 1; - } - else - { - this->entry_->set_local_control_addr (local_control_addr); - this->entry_->control_handler (control_flow_handler); - } - } - } - } - } - - TAO_AV_Protocol_Object *object = - this->flow_protocol_factory_->make_protocol_object (this->entry_, - this->endpoint_, - flow_handler, - flow_handler->transport ()); - - flow_handler->protocol_object (object); - - if (flow_component == TAO_AV_Core::TAO_AV_DATA) - { - this->endpoint_->set_flow_handler (this->flowname_.c_str (), - flow_handler); - this->entry_->protocol_object (object); - entry->set_local_addr (local_addr); - entry->handler (flow_handler); - transport = flow_handler->transport (); - } - else - { - this->endpoint_->set_control_flow_handler (this->flowname_.c_str (), - flow_handler); - this->entry_->control_protocol_object (object); - entry->set_local_control_addr (local_addr); - entry->control_handler (flow_handler); - transport = flow_handler->transport (); - } - - char buf[BUFSIZ]; - local_addr->addr_to_string (buf,BUFSIZ); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_CONNECTOR::connect:%s \n",buf)); - - // call activate svc handler. - return this->activate_svc_handler (flow_handler); -} - -int -TAO_AV_UDP_Connector::activate_svc_handler (TAO_AV_Flow_Handler *handler) -{ - ACE_Event_Handler *event_handler = handler->event_handler (); - int result = this->av_core_->reactor ()->register_handler (event_handler, - ACE_Event_Handler::READ_MASK); - - if (this->flow_component_ == TAO_AV_Core::TAO_AV_CONTROL) - handler->schedule_timer (); - - return result; -} - -int -TAO_AV_UDP_Connector::close (void) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Connection_Setup -//------------------------------------------------------------ - -int -TAO_AV_UDP_Connection_Setup::setup (TAO_AV_Flow_Handler *&flow_handler, - ACE_INET_Addr *inet_addr, - ACE_INET_Addr *&local_addr, - int is_multicast, - ConnectionType ct) -{ - int result; - - if (is_multicast) - { - TAO_AV_UDP_MCast_Flow_Handler *handler; - ACE_NEW_RETURN (handler, - TAO_AV_UDP_MCast_Flow_Handler, - -1); - - flow_handler = handler; - - result = handler->get_mcast_socket ()->subscribe (*inet_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_UDP_MCast_connector::open failed\n"),-1); - - // Now disable Multicast loopback. - // @@Should we make this a policy? -#if defined (ACE_HAS_IP_MULTICAST) - if (handler->get_mcast_socket ()->set_option (IP_MULTICAST_LOOP, - 0) < 0) - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_MCast_Acceptor::multicast loop disable failed\n")); - // @@ This should also be policies. -#endif /*ACE_HAS_IP_MULTICAST*/ - - int bufsize = 80 * 1024; - if (handler->get_mcast_socket ()->ACE_SOCK::set_option (SOL_SOCKET, - SO_RCVBUF, - (char *)&bufsize, - sizeof(bufsize)) < 0) - { - bufsize = 32 * 1024; - if (handler->get_mcast_socket ()->ACE_SOCK::set_option (SOL_SOCKET, - SO_RCVBUF, - (char *)&bufsize, - sizeof(bufsize)) < 0) - perror("SO_RCVBUF"); - } - ACE_NEW_RETURN (local_addr, - ACE_INET_Addr ("0"), - -1); - - if (ct == ACCEPTOR) - { - result = handler->get_mcast_socket ()->get_local_addr (*local_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_Dgram_Connector::open: get_local_addr failed\n"),result); - - local_addr->set (local_addr->get_port_number (), - local_addr->get_host_name ()); - handler->set_peer_addr (local_addr); - } - } - else - { - if (local_addr == 0) - ACE_NEW_RETURN (local_addr, - ACE_INET_Addr ("0"), - -1); - - TAO_AV_UDP_Flow_Handler *handler; - ACE_NEW_RETURN (handler, - TAO_AV_UDP_Flow_Handler, - -1); - - flow_handler = handler; - - if (ct == ACCEPTOR) - result = handler->open (*inet_addr); - else - result = handler->open (*local_addr); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"handler::open failed\n"),-1); - - // set the socket buffer sizes to 64k. - int sndbufsize = ACE_DEFAULT_MAX_SOCKET_BUFSIZ; - int rcvbufsize = ACE_DEFAULT_MAX_SOCKET_BUFSIZ; - - if (handler->get_socket ()->set_option (SOL_SOCKET, - SO_SNDBUF, - (void *) &sndbufsize, - sizeof (sndbufsize)) == -1 - && errno != ENOTSUP) - return 0; - else if (handler->get_socket ()->set_option (SOL_SOCKET, - SO_RCVBUF, - (void *) &rcvbufsize, - sizeof (rcvbufsize)) == -1 - && errno != ENOTSUP) - return 0; - - if (ct == CONNECTOR) - handler->set_remote_address (inet_addr); - - result = handler->get_socket ()->get_local_addr (*local_addr); - - local_addr->set (local_addr->get_port_number (), - local_addr->get_host_name ()); - - char buf [BUFSIZ]; - local_addr->addr_to_string (buf, BUFSIZ); - - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_Dgram_Connector::open: get_local_addr failed\n"),result); - } - - return 1; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Protocol_Factory -//------------------------------------------------------------ - -TAO_AV_UDP_Factory::TAO_AV_UDP_Factory (void) -{ -} - -TAO_AV_UDP_Factory::~TAO_AV_UDP_Factory (void) -{ -} - -int -TAO_AV_UDP_Factory::match_protocol (const char *protocol_string) -{ - if (ACE_OS::strcasecmp (protocol_string,"UDP") == 0) - return 1; - if (ACE_OS::strcasecmp (protocol_string,"RTP/UDP") == 0) - return 1; - return 0; -} - -TAO_AV_Acceptor* -TAO_AV_UDP_Factory::make_acceptor (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Factory::make_acceptor\n")); - TAO_AV_Acceptor *acceptor = 0; - ACE_NEW_RETURN (acceptor, - TAO_AV_UDP_Acceptor, - 0); - return acceptor; -} - -TAO_AV_Connector* -TAO_AV_UDP_Factory::make_connector (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Factory::make_connector\n")); - TAO_AV_Connector *connector = 0; - ACE_NEW_RETURN (connector, - TAO_AV_UDP_Connector, - 0); - return connector; -} - -int -TAO_AV_UDP_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -//------------------------------------------------------------ -// TAO_AV_UDP_Object -//------------------------------------------------------------ - -int -TAO_AV_UDP_Object::handle_input (void) -{ - int n = this->transport_->recv (this->frame_.rd_ptr (), - this->frame_.size ()); - if (n == -1) - ACE_ERROR_RETURN ((LM_ERROR,"(%N,%l) TAO_AV_UDP_Flow_Handler::handle_input recv failed: errno: %m\n"),-1); - - this->frame_.wr_ptr (this->frame_.rd_ptr () + n); - - return this->callback_->receive_frame (&this->frame_); -} - -int -TAO_AV_UDP_Object::send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info * /*frame_info*/) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_AV_UDP_Object::send_frame\n")); - int result = this->transport_->send (frame); - if (result < 0) - return result; - return 0; -} - -int -TAO_AV_UDP_Object::send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info * /*frame_info*/) -{ - int result = this->transport_->send (iov,iovcnt); - if (result < 0) - return result; - return 0; -} - -int -TAO_AV_UDP_Object::send_frame (const char*buf, - size_t len) -{ - int result = this->transport_->send (buf, len, 0); - if (result < 0) - return result; - return 0; -} - -TAO_AV_UDP_Object::TAO_AV_UDP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) - :TAO_AV_Protocol_Object (callback,transport) -{ - this->frame_.size (this->transport_->mtu ()); -} - -TAO_AV_UDP_Object::~TAO_AV_UDP_Object (void) -{ - //no-op -} - -int -TAO_AV_UDP_Object::destroy (void) -{ - this->callback_->handle_destroy (); - delete this; - - return 0; -} - - -//------------------------------------------------------------ -// TAO_AV_UDP_Flow_Factory -//------------------------------------------------------------ -TAO_AV_UDP_Flow_Factory::TAO_AV_UDP_Flow_Factory (void) -{ -} - -TAO_AV_UDP_Flow_Factory::~TAO_AV_UDP_Flow_Factory (void) -{ -} - -int -TAO_AV_UDP_Flow_Factory::init (int /* argc */, - char * /* argv */ []) -{ - return 0; -} - -int -TAO_AV_UDP_Flow_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strcasecmp (flow_string,"UDP") == 0) - return 1; - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_UDP_Flow_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Callback *callback = 0; - if( endpoint->get_callback (entry->flowname (), callback) ) { - ACE_ERROR_RETURN ((LM_ERROR, "(%N,%l) Invalid callback\n"), 0); - } - - TAO_AV_UDP_Object *object = 0; - ACE_NEW_RETURN (object, - TAO_AV_UDP_Object (callback, - transport), - 0); - callback->open (object, - handler); - endpoint->set_protocol_object (entry->flowname (), - object); - - endpoint->protocol_object_set (); - - return object; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_UDP_Flow_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_UDP_Flow_Factory, - ACE_TEXT ("UDP_Flow_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_UDP_Flow_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_UDP_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_UDP_Factory, - ACE_TEXT ("UDP_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_UDP_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/AV/UDP.h b/TAO/orbsvcs/orbsvcs/AV/UDP.h deleted file mode 100644 index f582af25ec7..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/UDP.h +++ /dev/null @@ -1,296 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UDP.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_UDP_H -#define TAO_AV_UDP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/Protocol_Factory.h" - -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_UDP_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_UDP_Factory : public TAO_AV_Transport_Factory -{ -public: - /// Initialization hook. - TAO_AV_UDP_Factory (void); - virtual ~TAO_AV_UDP_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *protocol_string); - virtual TAO_AV_Acceptor *make_acceptor (void); - virtual TAO_AV_Connector *make_connector (void); -}; - -class TAO_AV_UDP_Flow_Handler; - -/** - * @class TAO_AV_UDP_Transport - * @brief A transport abstraction for udp sockets. - * Uses the ACE_SOCK_Dgram to send the data. - */ -class TAO_AV_Export TAO_AV_UDP_Transport - :public TAO_AV_Transport -{ - -public: - TAO_AV_UDP_Transport (void); - - TAO_AV_UDP_Transport (TAO_AV_UDP_Flow_Handler *handler); - - virtual ~TAO_AV_UDP_Transport (void); - virtual int open (ACE_Addr *addr); - - virtual int close (void); - - virtual int mtu (void); - - virtual ACE_Addr *get_peer_addr (void); - - virtual int set_remote_address (const ACE_INET_Addr &address); - - /// Write the complete Message_Block chain to the connection. - virtual ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0); - - /// Write the contents of the buffer of length len to the connection. - virtual ssize_t send (const char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Write the contents of iovcnt iovec's to the connection. - virtual ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0); - - /// Read len bytes from into buf using flags. - virtual ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0); - - /// Read received data into the iovec buffers. - virtual ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - - TAO_AV_UDP_Flow_Handler *handler (void) { return this->handler_; } - -protected: - TAO_AV_UDP_Flow_Handler *handler_; - ACE_Addr *addr_; - ACE_INET_Addr peer_addr_; -}; - -/** - * @class TAO_AV_UDP_Flow_Handler - * @brief Flow Handler for UDP flows. - */ -class TAO_AV_Export TAO_AV_UDP_Flow_Handler - :public virtual TAO_AV_Flow_Handler, - public virtual ACE_Event_Handler -{ -public: - ///Ctor - /// Dtor - TAO_AV_UDP_Flow_Handler (void); - virtual ~TAO_AV_UDP_Flow_Handler (void); - int open (ACE_Addr &address); - int close (void); - virtual TAO_AV_Transport *transport (void); - virtual int set_remote_address (ACE_Addr *address); - virtual ACE_HANDLE get_handle (void) const; - virtual int handle_input (ACE_HANDLE fd); - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0); - const ACE_SOCK_Dgram *get_socket (void) const; - virtual ACE_Event_Handler* event_handler (void){ return this; } - /// Change the QoS - virtual int change_qos (AVStreams::QoS); - -protected: - TAO_AV_Core *av_core_; - ACE_INET_Addr peer_addr_; - ACE_SOCK_Dgram sock_dgram_; -}; - -/** - * @class TAO_AV_UDP_Acceptor - * @brief - */ -class TAO_AV_Export TAO_AV_UDP_Acceptor - :public TAO_AV_Acceptor -{ -public: - TAO_AV_UDP_Acceptor (void); - virtual ~TAO_AV_UDP_Acceptor (void); - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - - virtual int open_default (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_FlowSpec_Entry *entry, - TAO_AV_Flow_Protocol_Factory *factory, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - - virtual int open_i (ACE_INET_Addr *address, int is_default_open); - - virtual int close (void); - virtual int activate_svc_handler (TAO_AV_Flow_Handler *handler); - - -protected: - ACE_INET_Addr *address_; - ACE_INET_Addr *control_inet_address_; - TAO_Base_StreamEndPoint *endpoint_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; - TAO_AV_Core::Flow_Component flow_component_; - - -}; - -/** - * @class TAO_AV_UDP_Connector - * @brief - */ -class TAO_AV_Export TAO_AV_UDP_Connector - :public TAO_AV_Connector -{ -public: - TAO_AV_UDP_Connector (void); - ~TAO_AV_UDP_Connector (void); - virtual int open (TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Core *av_core, - TAO_AV_Flow_Protocol_Factory *factory); - - virtual int connect (TAO_FlowSpec_Entry *entry, - TAO_AV_Transport *&transport, - TAO_AV_Core::Flow_Component flow_comp = - TAO_AV_Core::TAO_AV_DATA); - virtual int activate_svc_handler (TAO_AV_Flow_Handler *handler); - virtual int close (void); -protected: - ACE_INET_Addr *control_inet_address_; - TAO_Base_StreamEndPoint *endpoint_; - TAO_AV_Core *av_core_; - TAO_FlowSpec_Entry *entry_; - TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_; - TAO_AV_Core::Flow_Component flow_component_; - -}; - -/** - * @class TAO_AV_UDP_Connection_Setup - * @brief This class is a helper for the TAO_AV_UDP_Acceptor and - * TAO_AV_UDP_Connector. It basically just reduces duplicate code. It takes - * the address of the peer in the connection, whether or not it is a multicast - * connection, and whether it is a connector or acceptor; and creates the local - * address and flow handler associated with the connection. - */ -class TAO_AV_Export TAO_AV_UDP_Connection_Setup -{ -public: - /// Indicates whether this setup is for a Connector or an Acceptor - enum ConnectionType {CONNECTOR, ACCEPTOR}; - - static int setup (TAO_AV_Flow_Handler *&flow_handler, - ACE_INET_Addr *inet_addr, - ACE_INET_Addr *&local_addr, - int is_multicast, - ConnectionType ct); -}; - -/** - * @class TAO_AV_UDP_Object - * @brief TAO_AV_Protocol_Object for the User Datagram Protocol (UDP) - */ -class TAO_AV_Export TAO_AV_UDP_Object : public TAO_AV_Protocol_Object -{ -public: - TAO_AV_UDP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport = 0); - - /// Dtor - virtual ~TAO_AV_UDP_Object (void); - - virtual int handle_input (void); - - /// send a data frame. - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const char*buf, - size_t len); - - /// end the stream. - virtual int destroy (void); - -private: - /// Pre-allocated memory to receive the data... - ACE_Message_Block frame_; -}; - -/** - * @class TAO_AV_UDP_Flow_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_UDP_Flow_Factory : public TAO_AV_Flow_Protocol_Factory -{ -public: - /// Initialization hook. - TAO_AV_UDP_Flow_Factory (void); - virtual ~TAO_AV_UDP_Flow_Factory (void); - virtual int init (int argc, char *argv[]); - virtual int match_protocol (const char *flow_string); - TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_UDP_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_UDP_Flow_Factory) - -ACE_STATIC_SVC_DECLARE (TAO_AV_UDP_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_UDP_Factory) - - -#if defined(__ACE_INLINE__) -#include "orbsvcs/AV/UDP.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_AV_UDP_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/UDP.i b/TAO/orbsvcs/orbsvcs/AV/UDP.i deleted file mode 100644 index 72025b94dd5..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/UDP.i +++ /dev/null @@ -1,32 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//---------------------------------------------------------------------- -// TAO_AV_UDP_Flow_Handler -//---------------------------------------------------------------------- - -ACE_INLINE -const ACE_SOCK_Dgram * -TAO_AV_UDP_Flow_Handler::get_socket (void) const -{ - return &this->sock_dgram_; -} - -ACE_INLINE -int -TAO_AV_UDP_Flow_Handler::open (ACE_Addr &address) -{ - return this->sock_dgram_.open (address); -} - -ACE_INLINE -int -TAO_AV_UDP_Flow_Handler::close (void) -{ - return this->sock_dgram_.close (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/default_resource.cpp b/TAO/orbsvcs/orbsvcs/AV/default_resource.cpp deleted file mode 100644 index 708bfd80308..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/default_resource.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/default_resource.h" - -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_AV_Default_Resource_Factory::TAO_AV_Default_Resource_Factory (void) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Default_Resource_Factory::TAO_AV_Default_Resource_Factory %d\n")); -} - -TAO_AV_Default_Resource_Factory::~TAO_AV_Default_Resource_Factory (void) -{ - TAO_AV_TransportFactorySetItor t_end = TAO_AV_CORE::instance ()->transport_factories ()->end (); - for (TAO_AV_TransportFactorySetItor tfiterator = - TAO_AV_CORE::instance ()->transport_factories ()->begin (); - tfiterator != t_end; - ++tfiterator) - delete *tfiterator; - - TAO_AV_CORE::instance ()->transport_factories ()->reset (); - - TAO_AV_Flow_ProtocolFactorySetItor fp_end = TAO_AV_CORE::instance ()->flow_protocol_factories ()->end (); - for (TAO_AV_Flow_ProtocolFactorySetItor pfiterator = - TAO_AV_CORE::instance ()->flow_protocol_factories ()->begin (); - pfiterator != fp_end; - ++pfiterator) - delete *pfiterator; - - TAO_AV_CORE::instance ()->flow_protocol_factories ()->reset (); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Default_Resource_Factory::~TAO_AV_Default_Resource_Factory\n")); -} - -int -TAO_AV_Default_Resource_Factory::init (int argc, char *argv[]) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_AV_Default_Resource_Factory::init\n")); - - int curarg = 0; - - for (curarg = 0; curarg < argc; ++curarg) - { - if (ACE_OS::strcasecmp (argv[curarg], - "-AVTransportFactory") == 0) - { - TAO_AV_TransportFactorySet *tset = TAO_AV_CORE::instance ()->transport_factories (); - curarg++; - if (curarg < argc) - { - TAO_AV_Transport_Item *item = 0; - ACE_NEW_RETURN (item, - TAO_AV_Transport_Item (argv[curarg]), - -1); - if (tset->insert (item) == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Unable to add transport factories for %s: %p\n"), - argv[curarg])); - } - } - else if (ACE_OS::strcasecmp (argv[curarg], - "-AVFlowProtocolFactory") == 0) - { - TAO_AV_Flow_ProtocolFactorySet *fpset = TAO_AV_CORE::instance ()->flow_protocol_factories (); - curarg++; - if (curarg < argc) - { - TAO_AV_Flow_Protocol_Item *item = 0; - ACE_NEW_RETURN (item, - TAO_AV_Flow_Protocol_Item (argv[curarg]), - -1); - if (fpset->insert (item) == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Unable to add flow protocol factories for %s: %p\n"), - argv[curarg])); - } - } - - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_AV_Default_Resource_Factory, - ACE_TEXT ("AV_Default_Resource_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_Default_Resource_Factory), - ACE_Service_Type::DELETE_THIS - | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_Default_Resource_Factory) - -// **************************************************************** diff --git a/TAO/orbsvcs/orbsvcs/AV/default_resource.h b/TAO/orbsvcs/orbsvcs/AV/default_resource.h deleted file mode 100644 index 0bf2a7b930f..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/default_resource.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file default_resource.h - * - * $Id$ - * - * @author Yamuna Krishnamurthy - */ -//============================================================================= - - -#ifndef TAO_AV_DEFAULT_RESOURCE_H -#define TAO_AV_DEFAULT_RESOURCE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/Resource_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_AV_Default_Resource_Factory - * - * @brief TAO AV Streams default resource factory - * The AV Streams resource factory loads the - * pluggable transport and flow protocol factories - * in the corresponding factory sets. - * - * - */ - -class TAO_AV_Export TAO_AV_Default_Resource_Factory - : public TAO_AV_Resource_Factory -{ -public: - - /// Constructor. - TAO_AV_Default_Resource_Factory (void); - - /// Destructor. - virtual ~TAO_AV_Default_Resource_Factory (void); - - /** - * @name Service Configurator Hooks - */ - //@{ - /// Dynamic linking hook - virtual int init (int argc, char *argv[]); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_AV, TAO_AV_Default_Resource_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_Default_Resource_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_AV_DEFAULT_RESOURCE_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/global.h b/TAO/orbsvcs/orbsvcs/AV/global.h deleted file mode 100644 index bcc4d2fa15a..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/global.h +++ /dev/null @@ -1,33 +0,0 @@ -/* $Id$ */ -/* GLOBAL.H - RSAREF types and constants - */ - -/* PROTOTYPES should be set to one if and only if the compiler supports - function argument prototyping. -The following makes PROTOTYPES default to 0 if it has not already - been defined with C compiler flags. - */ -#ifndef PROTOTYPES -#define PROTOTYPES 0 -#endif - -/* POINTER defines a generic pointer type */ -typedef unsigned char *POINTER; - -#if !defined(INTEGRITY) -/* UINT2 defines a two byte word */ -typedef unsigned short int UINT2; - -/* UINT4 defines a four byte word */ -typedef unsigned long int UINT4; -#endif - -/* PROTO_LIST is defined depending on how PROTOTYPES is defined above. -If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it - returns an empty list. - */ -#if PROTOTYPES -#define PROTO_LIST(list) list -#else -#define PROTO_LIST(list) () -#endif diff --git a/TAO/orbsvcs/orbsvcs/AV/md5.h b/TAO/orbsvcs/orbsvcs/AV/md5.h deleted file mode 100644 index 4bcb01b04b4..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/md5.h +++ /dev/null @@ -1,49 +0,0 @@ -/* $Id$ */ - -/* MD5.H - header file for MD5C.C - */ - -/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All -rights reserved. - -License to copy and use this software is granted provided that it -is identified as the "RSA Data Security, Inc. MD5 Message-Digest -Algorithm" in all material mentioning or referencing this software -or this function. - -License is also granted to make and use derivative works provided -that such works are identified as "derived from the RSA Data -Security, Inc. MD5 Message-Digest Algorithm" in all material -mentioning or referencing the derived work. - -RSA Data Security, Inc. makes no representations concerning either -the merchantability of this software or the suitability of this -software for any particular purpose. It is provided "as is" -without express or implied warranty of any kind. - -These notices must be retained in any copies of any part of this -documentation and/or software. - */ - -/* MD5 context. */ -typedef struct { - UINT4 state[4]; /* state (ABCD) */ - UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ - unsigned char buffer[64]; /* input buffer */ -} MD5_CTX; - -#ifdef __cplusplus -extern "C" { -#endif - -/* void MD5Init PROTO_LIST ((MD5_CTX *)); */ -void MD5Init (MD5_CTX *context); -/* void MD5Update PROTO_LIST */ -/* ((MD5_CTX *, unsigned char *, unsigned int)); */ -void MD5Update (MD5_CTX *context, unsigned char *input, unsigned int inputLen); -/* void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *)); */ -void MD5Final (unsigned char digest[16], MD5_CTX *context); - -#ifdef __cplusplus -} -#endif diff --git a/TAO/orbsvcs/orbsvcs/AV/md5c.cpp b/TAO/orbsvcs/orbsvcs/AV/md5c.cpp deleted file mode 100644 index aa4a99f8fb3..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/md5c.cpp +++ /dev/null @@ -1,326 +0,0 @@ -/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm - */ - -/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All -rights reserved. - -License to copy and use this software is granted provided that it -is identified as the "RSA Data Security, Inc. MD5 Message-Digest -Algorithm" in all material mentioning or referencing this software -or this function. - -License is also granted to make and use derivative works provided -that such works are identified as "derived from the RSA Data -Security, Inc. MD5 Message-Digest Algorithm" in all material -mentioning or referencing the derived work. - -RSA Data Security, Inc. makes no representations concerning either -the merchantability of this software or the suitability of this -software for any particular purpose. It is provided "as is" -without express or implied warranty of any kind. - -These notices must be retained in any copies of any part of this -documentation and/or software. - */ - -/* $Id$ */ - -#include "orbsvcs/AV/global.h" -#include "orbsvcs/AV/md5.h" - -/* Constants for MD5Transform routine. - */ - -#define S11 7 -#define S12 12 -#define S13 17 -#define S14 22 -#define S21 5 -#define S22 9 -#define S23 14 -#define S24 20 -#define S31 4 -#define S32 11 -#define S33 16 -#define S34 23 -#define S41 6 -#define S42 10 -#define S43 15 -#define S44 21 - -/*static void MD5Transform PROTO_LIST ((UINT4 [4], unsigned char [64])); -static void Encode PROTO_LIST - ((unsigned char *, UINT4 *, unsigned int)); -static void Decode PROTO_LIST - ((UINT4 *, unsigned char *, unsigned int)); -static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned int)); -static void MD5_memset PROTO_LIST ((POINTER, int, unsigned int));*/ -static void MD5Transform (UINT4 [4], unsigned char [64]); -static void Encode (unsigned char *, UINT4 *, unsigned int); -static void Decode (UINT4 *, unsigned char *, unsigned int); -static void MD5_memcpy (POINTER, POINTER, unsigned int); -static void MD5_memset (POINTER, int, unsigned int); - -static unsigned char PADDING[64] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -/* F, G, H and I are basic MD5 functions. - */ -#define F(x, y, z) (((x) & (y)) | ((~x) & (z))) -#define G(x, y, z) (((x) & (z)) | ((y) & (~z))) -#define H(x, y, z) ((x) ^ (y) ^ (z)) -#define I(x, y, z) ((y) ^ ((x) | (~z))) - -/* ROTATE_LEFT rotates x left n bits. - */ -#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) - -/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4. -Rotation is separate from addition to prevent recomputation. - */ -#define FF(a, b, c, d, x, s, ac) { \ - (a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } -#define GG(a, b, c, d, x, s, ac) { \ - (a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } -#define HH(a, b, c, d, x, s, ac) { \ - (a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } -#define II(a, b, c, d, x, s, ac) { \ - (a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \ - (a) = ROTATE_LEFT ((a), (s)); \ - (a) += (b); \ - } - -/* MD5 initialization. Begins an MD5 operation, writing a new context. - */ -void MD5Init (MD5_CTX *context) -{ - context->count[0] = context->count[1] = 0; - /* Load magic initialization constants. -*/ - context->state[0] = 0x67452301; - context->state[1] = 0xefcdab89; - context->state[2] = 0x98badcfe; - context->state[3] = 0x10325476; -} - -/* MD5 block update operation. Continues an MD5 message-digest - operation, processing another message block, and updating the - context. - */ -void MD5Update (MD5_CTX *context, unsigned char *input, unsigned int inputLen) -{ - unsigned int i, index, partLen; - - /* Compute number of bytes mod 64 */ - index = (unsigned int)((context->count[0] >> 3) & 0x3F); - - /* Update number of bits */ - if ((context->count[0] += ((UINT4)inputLen << 3)) - - < ((UINT4)inputLen << 3)) - context->count[1]++; - context->count[1] += ((UINT4)inputLen >> 29); - - partLen = 64 - index; - - /* Transform as many times as possible. -*/ - if (inputLen >= partLen) { - MD5_memcpy - ((POINTER)&context->buffer[index], (POINTER)input, partLen); - MD5Transform (context->state, context->buffer); - - for (i = partLen; i + 63 < inputLen; i += 64) - MD5Transform (context->state, &input[i]); - - index = 0; - } - else - i = 0; - - /* Buffer remaining input */ - MD5_memcpy - ((POINTER)&context->buffer[index], (POINTER)&input[i], - inputLen-i); -} - -/* MD5 finalization. Ends an MD5 message-digest operation, writing the - the message digest and zeroizing the context. - */ -void MD5Final (unsigned char digest[16], MD5_CTX *context) -{ - unsigned char bits[8]; - unsigned int index, padLen; - - /* Save number of bits */ - Encode (bits, context->count, 8); - - /* Pad out to 56 mod 64. -*/ - index = (unsigned int)((context->count[0] >> 3) & 0x3f); - padLen = (index < 56) ? (56 - index) : (120 - index); - MD5Update (context, PADDING, padLen); - - /* Append length (before padding) */ - MD5Update (context, bits, 8); - - /* Store state in digest */ - Encode (digest, context->state, 16); - - /* Zeroize sensitive information. -*/ - MD5_memset ((POINTER)context, 0, sizeof (*context)); -} - -/* MD5 basic transformation. Transforms state based on block. - */ -static void MD5Transform (UINT4 state[4], unsigned char block[64]) -{ - UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; - - Decode (x, block, 64); - - /* Round 1 */ - FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */ - FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */ - FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */ - FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */ - FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */ - FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */ - FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */ - FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */ - FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */ - FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */ - FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */ - FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */ - FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */ - FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */ - FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */ - FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */ - - /* Round 2 */ - GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */ - GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */ - GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */ - GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */ - GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */ - GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */ - GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */ - GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */ - GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */ - GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */ - GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */ - - GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */ - GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */ - GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */ - GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */ - GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */ - - /* Round 3 */ - HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */ - HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */ - HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */ - HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */ - HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */ - HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */ - HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */ - HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */ - HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */ - HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */ - HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */ - HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */ - HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */ - HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */ - HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */ - HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */ - - /* Round 4 */ - II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */ - II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */ - II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */ - II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */ - II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */ - II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */ - II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */ - II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */ - II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */ - II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */ - II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */ - II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */ - II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */ - II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */ - II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */ - II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */ - - state[0] += a; - state[1] += b; - state[2] += c; - state[3] += d; - - /* Zeroize sensitive information. - -*/ - MD5_memset ((POINTER)x, 0, sizeof (x)); -} - -/* Encodes input (UINT4) into output (unsigned char). Assumes len is - a multiple of 4. - */ -static void Encode (unsigned char *output, UINT4 *input, unsigned int len) -{ - unsigned int i, j; - - for (i = 0, j = 0; j < len; i++, j += 4) { - output[j] = (unsigned char)(input[i] & 0xff); - output[j+1] = (unsigned char)((input[i] >> 8) & 0xff); - output[j+2] = (unsigned char)((input[i] >> 16) & 0xff); - output[j+3] = (unsigned char)((input[i] >> 24) & 0xff); - } -} - -/* Decodes input (unsigned char) into output (UINT4). Assumes len is - a multiple of 4. - */ -static void Decode (UINT4 *output, unsigned char *input, unsigned int len) -{ - unsigned int i, j; - - for (i = 0, j = 0; j < len; i++, j += 4) - output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) | - (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24); -} - -/* Note: Replace "for loop" with standard memcpy if possible. - */ - -static void MD5_memcpy (POINTER output, POINTER input, unsigned int len) -{ - unsigned int i; - - for (i = 0; i < len; i++) - - output[i] = input[i]; -} - -/* Note: Replace "for loop" with standard memset if possible. - */ -static void MD5_memset (POINTER output, int value, unsigned int len) -{ - unsigned int i; - - for (i = 0; i < len; i++) - ((char *)output)[i] = (char)value; -} diff --git a/TAO/orbsvcs/orbsvcs/AV/media_timer.cpp b/TAO/orbsvcs/orbsvcs/AV/media_timer.cpp deleted file mode 100644 index 1a5b9cd1e42..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/media_timer.cpp +++ /dev/null @@ -1,95 +0,0 @@ -//$Id$ -/* - * Copyright (c) 1995 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the Computer Systems - * Engineering Group at Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* -static const char rcsid[] = - "@(#) $Header$"; -*/ - -#include "orbsvcs/AV/media_timer.h" -#include "ace/Time_Value.h" -#include "ace/OS_NS_sys_time.h" -#include "ace/OS_NS_stdlib.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -MediaTimer* MediaTimer::instance_; - -MediaTimer::MediaTimer() -{ - instance_ = this; - offset_ = ACE_OS::rand (); -} - -MediaTimer::~MediaTimer() -{ - instance_ = 0; -} - -/* - * Default media timestamp -- convert unix system clock - * into a 90Khz timestamp. Grabbers override this virtual - * method if they can provide their own time base. - * - * XXX - * We save the corresponding unix time stamp to handle the - * unix_ts() call the transmitter will make to get the correspondence - * between the media timestamp & unix time. - */ -ACE_UINT32 MediaTimer::media_ts() -{ - //timeval tv; - ACE_Time_Value tv = ACE_OS::gettimeofday(); - ACE_UINT32 u = tv.usec (); - u = (u << 3) + u; /* x 9 */ - /* sec * 90Khz + (usec * 90Khz) / 1e6 */ - u = tv.sec () * 90000 + (u / 100); - return (u + offset_); -} - -/* - * compute media time corresponding to the current unix time. - * in this generic routine, this is the same as media_ts() but, - * if a grabber has hardware or kernel timestamping, this routine - * must compute the correspondence between the hardware timestamp - * and the unix clock and appropriately offset the timestamp to - * correspond to the current clock. (This information if vital - * for cross-media synchronization.) - */ -ACE_UINT32 MediaTimer::ref_ts() -{ - return (media_ts()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/AV/media_timer.h b/TAO/orbsvcs/orbsvcs/AV/media_timer.h deleted file mode 100644 index e7e060d5cb4..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/media_timer.h +++ /dev/null @@ -1,69 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -/* - * Copyright (c) 1995 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the Computer Systems - * Engineering Group at Lawrence Berkeley Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#) $Header$ - */ - -#ifndef TAO_AV_MEDIA_TIMER_H -#define TAO_AV_MEDIA_TIMER_H -#include /**/ "ace/pre.h" - -#include "tao/orbconf.h" -#include "tao/Versioned_Namespace.h" - -//long random (void); - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class MediaTimer -{ - public: - MediaTimer(); - virtual ~MediaTimer(); - static inline MediaTimer* instance() { return (instance_); } - virtual ACE_UINT32 media_ts(); - virtual ACE_UINT32 ref_ts(); - inline ACE_UINT32 offset() const { return (offset_); } - private: - static MediaTimer* instance_; - protected: - ACE_UINT32 offset_; /* random offset */ -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_AV_MEDIA_TIMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/ntp-time.h b/TAO/orbsvcs/orbsvcs/AV/ntp-time.h deleted file mode 100644 index 11dcd720911..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/ntp-time.h +++ /dev/null @@ -1,97 +0,0 @@ -// -*- C++ -*- - -// $Id$ -/* - * Copyright (c) 1995 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the Network Research - * Group at Lawrence Berkeley National Laboratory. - * 4. Neither the name of the University nor of the Laboratory may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef TAO_AV_NTP_TIME_H -#define TAO_AV_NTP_TIME_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/RTCP.h" - -/* - * convert microseconds to fraction of second * 2^32 (i.e., the lsw of - * a 64-bit ntp timestamp). This routine uses the factorization - * 2^32/10^6 = 4096 + 256 - 1825/32 which results in a max conversion - * error of 3 * 10^-7 and an average error of half that. - */ -ACE_INLINE u_int usec2ntp(u_int usec) -{ - u_int const t = (usec * 1825) >> 5; - return ((usec << 12) + (usec << 8) - t); -} - -/* - * Number of seconds between 1-Jan-1900 and 1-Jan-1970 - */ -const ACE_UINT32 GETTIMEOFDAY_TO_NTP_OFFSET = 2208988800U; - -/* - * Return a 64-bit ntp timestamp (UTC time relative to Jan 1, 1970). - * gettimeofday conveniently gives us the correct reference -- we just - * need to convert sec+usec to a 64-bit fixed point (with binary point - * at bit 32). - */ -ACE_INLINE TAO_AV_RTCP::ntp64 -ntp64time (timeval tv) -{ - TAO_AV_RTCP::ntp64 n; - n.upper = (u_int)tv.tv_sec + GETTIMEOFDAY_TO_NTP_OFFSET; - n.lower = usec2ntp((u_int)tv.tv_usec); - return (n); -} - -ACE_INLINE ACE_UINT32 -ntptime (timeval t) -{ - u_int s = (u_int)t.tv_sec + GETTIMEOFDAY_TO_NTP_OFFSET; - return (s << 16 | usec2ntp((u_int)t.tv_usec) >> 16); -} - -ACE_INLINE ACE_UINT32 -ntptime() -{ - // - ACE_Time_Value tim_v = ACE_OS::gettimeofday(); - //struct timeval tv = (timeval) tim_v; - return (ntptime ((timeval) tim_v)); -} - -ACE_INLINE timeval unixtime() -{ - ACE_Time_Value tv = ACE_OS::gettimeofday(); - return ((timeval) tv); -} -#include /**/ "ace/post.h" -#endif /* TAO_AV_NTP_TIME_H */ diff --git a/TAO/orbsvcs/orbsvcs/AV/sfp.cpp b/TAO/orbsvcs/orbsvcs/AV/sfp.cpp deleted file mode 100644 index 2f3d578b3a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/sfp.cpp +++ /dev/null @@ -1,1336 +0,0 @@ -// $Id$ - -#include "orbsvcs/AV/sfp.h" -#include "tao/debug.h" -#include "ace/ARGV.h" -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// default arguments to pass to use for the ORB -const char TAO_SFP_Base::TAO_SFP_ORB_ARGUMENTS[] = "-ORBObjRefStyle URL"; - -// SFP magic numbers -const char TAO_SFP_Base::TAO_SFP_MAGIC_NUMBER[] = "=SFP"; -const char TAO_SFP_Base::TAO_SFP_FRAGMENT_MAGIC_NUMBER[] = "FRAG"; -const char TAO_SFP_Base::TAO_SFP_START_MAGIC_NUMBER[] = "=STA"; -const char TAO_SFP_Base::TAO_SFP_CREDIT_MAGIC_NUMBER[] = "=CRE"; -const char TAO_SFP_Base::TAO_SFP_STARTREPLY_MAGIC_NUMBER[] = "=STR"; - -// SFP version 1.0 -const unsigned char TAO_SFP_Base::TAO_SFP_MAJOR_VERSION = 1; -const unsigned char TAO_SFP_Base::TAO_SFP_MINOR_VERSION = 0; - -// lengths of various SFP headers -const unsigned char TAO_SFP_Base::TAO_SFP_FRAME_HEADER_LEN = 12; -const unsigned char TAO_SFP_Base::TAO_SFP_MESSAGE_SIZE_OFFSET = 8; -const unsigned char TAO_SFP_Base::TAO_SFP_FRAGMENT_SIZE_OFFSET = 16; - -u_int TAO_SFP_Base::frame_header_len; -u_int TAO_SFP_Base::start_reply_len; -u_int TAO_SFP_Base::start_len; -u_int TAO_SFP_Base::credit_len; -u_int TAO_SFP_Base::fragment_len; - -bool -operator< (const TAO_SFP_Fragment_Node& left, - const TAO_SFP_Fragment_Node& right) -{ - return left.fragment_info_.frag_number < right.fragment_info_.frag_number; -} - - -//------------------------------------------------------------ -// TAO_SFP_Base -//------------------------------------------------------------ - -TAO_SFP_Base::TAO_SFP_Base (void) -{ - TAO_OutputCDR output_cdr; - flowProtocol::frameHeader frame_header; - flowProtocol::fragment fragment; - flowProtocol::credit credit; - flowProtocol::Start start; - flowProtocol::StartReply start_reply; - - // fill in the default frameHeader fields. - frame_header.magic_number [0] = '='; - frame_header.magic_number [1] = 'S'; - frame_header.magic_number [2] = 'F'; - frame_header.magic_number [3] = 'P'; - frame_header.flags = TAO_ENCAP_BYTE_ORDER; - output_cdr.reset (); - if (!(output_cdr << frame_header)) - { - ACE_ERROR ((LM_ERROR, "TAO_SFP constructor\n")); - return; - } - - frame_header_len = static_cast (output_cdr.total_length ()); - // fill in the default fragment message fields. - fragment.magic_number [0] = 'F'; - fragment.magic_number [1] = 'R'; - fragment.magic_number [2] = 'A'; - fragment.magic_number [3] = 'G'; - output_cdr.reset (); - if (!(output_cdr << fragment)) - { - ACE_ERROR ((LM_ERROR, "TAO_SFP constructor\n")); - return; - } - - fragment_len = static_cast (output_cdr.total_length ()); - // fill in the default Start message fields. - start.magic_number [0] = '='; - start.magic_number [1] = 'S'; - start.magic_number [2] = 'T'; - start.magic_number [3] = 'A'; - start.major_version = TAO_SFP_Base::TAO_SFP_MAJOR_VERSION; - start.minor_version = TAO_SFP_Base::TAO_SFP_MINOR_VERSION; - start.flags = 0; - output_cdr.reset (); - if (!(output_cdr << start)) - { - ACE_ERROR ((LM_ERROR, "TAO_SFP constructor\n")); - return; - } - - start_len = static_cast (output_cdr.total_length ()); - // fill in the default StartReply message fields. - start_reply.magic_number [0] = '='; - start_reply.magic_number [1] = 'S'; - start_reply.magic_number [2] = 'T'; - start_reply.magic_number [3] = 'R'; - start_reply.flags = 0; - output_cdr.reset (); - if (!(output_cdr << start_reply)) - { - ACE_ERROR ((LM_ERROR, "TAO_SFP constructor\n")); - return; - } - - start_reply_len = static_cast (output_cdr.total_length ()); - - // fill in the default Credit message fields. - credit.magic_number [0] = '='; - credit.magic_number [1] = 'C'; - credit.magic_number [2] = 'R'; - credit.magic_number [3] = 'E'; - output_cdr.reset (); - - if (!(output_cdr << credit)) - { - ACE_ERROR ((LM_ERROR, "TAO_SFP constructor\n")); - return; - } - credit_len = static_cast (output_cdr.total_length ()); -} - -int -TAO_SFP_Base::handle_input (TAO_AV_Transport *transport, - TAO_SFP_Frame_State &state, - TAO_AV_frame_info *&frame_info) -{ - int result; - flowProtocol::MsgType msg_type; - result = TAO_SFP_Base::peek_message_type (transport, - msg_type); - if (result < 0) - return result; - // TAO_InputCDR &input = state.cdr; - switch (msg_type) - { - case flowProtocol::SimpleFrame_Msg: - case flowProtocol::Frame_Msg: - { - result = TAO_SFP_Base::peek_frame_header (transport, - state.frame_header_, - state.cdr); - if (result < 0) - return result; - int result =TAO_SFP_Base::read_frame (transport, - state.frame_header_, - state, - frame_info); - if (result < 0) - return result; - break; - } - case flowProtocol::Fragment_Msg: - { - result = TAO_SFP_Base::peek_fragment_header (transport, - state.fragment_, - state.cdr); - if (result < 0) - return result; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"Fragment received\n")); - result = TAO_SFP_Base::read_fragment (transport, - state.fragment_, - state, - frame_info); - if (result < 0) - return result; - break; - } - case flowProtocol::EndofStream_Msg: - { - result = TAO_SFP_Base::read_endofstream_message (transport, - state.frame_header_, - state.cdr); - if (result < 0) - return result; - break; - } - default: - break; - } - return 0; -} - -int -TAO_SFP_Base::read_frame (TAO_AV_Transport *transport, - flowProtocol::frameHeader &frame_header, - TAO_SFP_Frame_State &state, - TAO_AV_frame_info *&frame_info) -{ - ACE_Message_Block *message_block = 0; - int result = -1; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"Reading simple frame\n")); - // Check to see what the length of the message is. - int byte_order = frame_header.flags & 0x1; - int message_len = frame_header.message_size; - -// ACE_NEW_RETURN (message_block, -// ACE_Message_Block (message_len), -// 0); - state.static_frame_.rd_ptr (state.static_frame_.base ()); - state.static_frame_.wr_ptr (state.static_frame_.base ()); - int n = transport->recv (state.static_frame_.rd_ptr (),message_len); - if (n == -1) - ACE_ERROR_RETURN ((LM_ERROR,"SFP::handle_input -peek"),0); - else if (n==0) - ACE_ERROR_RETURN ((LM_ERROR,"SFP::handle_input -peek"),0); - else if (n != message_len) - ACE_ERROR_RETURN ((LM_ERROR,"SFP::read_simple_frame:message truncated\n"),0); - message_block = &state.static_frame_; - // print the buffer. - // this->dump_buf (message,n); - // skip over the frame header. - message_block->rd_ptr (frame_header_len); - message_block->wr_ptr (n); - CORBA::ULong ssrc = 0; - TAO_SFP_Fragment_Table_Entry *fragment_entry = 0; - if (frame_header.flags & 0x2) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"fragmented frame:0th fragment\n")); - state.more_fragments_ = 1; - ACE_Message_Block *data = 0; - switch (frame_header.message_type) - { - case flowProtocol::Frame_Msg: - { - // read the frame info. - ACE_Message_Block frame_info_mb (message_len-frame_header_len+ACE_CDR::MAX_ALIGNMENT); - ACE_CDR::mb_align (&frame_info_mb); - frame_info_mb.copy (message_block->rd_ptr (), - message_block->length ()); - // print the buffer. - // this->dump_buf (message_block->rd_ptr (),16); - TAO_InputCDR frame_info_cdr (&frame_info_mb,byte_order); - frame_info_cdr >> state.frame_; - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "frame.timestamp = %d, " - "frame.synchsource = %d, " - "frame.sequence_num = %d\n", - state.frame_.timestamp, - state.frame_.synchSource, - state.frame_.sequence_num)); - ssrc = state.frame_.synchSource; - // The remaining message in the CDR stream is the fragment - // data for frag.0 - data = frame_info_cdr.start ()->clone (); - break; - } - case flowProtocol::SimpleFrame_Msg: - { - data = message_block->clone (); - break; - } - case flowProtocol::SequencedFrame_Msg: - break; - case flowProtocol::SpecialFrame_Msg: - break; - } - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG,"Length of 0th fragment= %d\n",data->length ())); - TAO_SFP_Fragment_Table *fragment_table = 0; - result = state.fragment_table_map_.find (ssrc,fragment_table); - if (result != 0) - { - ACE_NEW_RETURN (fragment_table, - TAO_SFP_Fragment_Table, - -1); - result = state.fragment_table_map_.bind (ssrc,fragment_table); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_SFP_Base::read_frame: " - "fragment_table_map:bind failed\n"),-1); - } - - TAO_SFP_Fragment_Node *new_node; - ACE_NEW_RETURN (new_node, - TAO_SFP_Fragment_Node, - 0); - new_node->fragment_info_.frag_sz = static_cast (data->length ()); - new_node->fragment_info_.frag_number = 0; - if (state.frame_.source_ids.length () > 0) - new_node->fragment_info_.source_id = state.frame_.source_ids [0]; - else - new_node->fragment_info_.source_id = 0; - new_node->data_ = data; - // TAO_SFP_Base::dump_buf (data->rd_ptr (),data->length ()); - if (fragment_table->find (state.frame_.sequence_num,fragment_entry) == 0) - { - // This case can happen where a nth (n > 0)fragment is - // received before the 0th fragment. - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "fragment table entry found for 0th fragment:\n")); - result = fragment_entry->fragment_set_.insert (*new_node); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "insert for 0th fragment failed\n"),0); - // enter the frame info. - - // check if all the fragments have been received. - state.frame_block_ = - TAO_SFP_Base::check_all_fragments (fragment_entry); - if (state.frame_block_ != 0) - state.more_fragments_ = 0; - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "fragment table entry not found for 0th fragment\n")); - TAO_SFP_Fragment_Table_Entry *new_entry; - ACE_NEW_RETURN (new_entry, - TAO_SFP_Fragment_Table_Entry, - 0); - result = new_entry->fragment_set_.insert (*new_node); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR,"insert for 0th fragment failed\n"),0); - fragment_entry = new_entry; - // not found. so bind a new entry. - result = fragment_table->bind (state.frame_.sequence_num,new_entry); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR,"fragment table bind failed\n"),0); - if (frame_header.message_type & 4 ) - fragment_entry->frame_info.boundary_marker = 1; - switch (frame_header.message_type) - { - case flowProtocol::Frame_Msg: - fragment_entry->frame_info.ssrc = state.frame_.synchSource; - fragment_entry->frame_info.timestamp = state.frame_.timestamp; - fragment_entry->frame_info.sequence_num = state.frame_.sequence_num; - break; - case flowProtocol::SimpleFrame_Msg: - fragment_entry->frame_info.ssrc = - fragment_entry->frame_info.timestamp = - fragment_entry->frame_info.sequence_num = 0; - break; - } - return 0; - } - } - else - { - state.more_fragments_ = 0; - state.frame_block_ = message_block; - } - if (state.more_fragments_ == 0) - { - if (fragment_entry != 0) - { - ACE_NEW_RETURN (frame_info, - TAO_AV_frame_info, - -1); - *frame_info = fragment_entry->frame_info; - } - } - return 0; -} - -int -TAO_SFP_Base::read_fragment (TAO_AV_Transport *transport, - flowProtocol::fragment &fragment, - TAO_SFP_Frame_State &state, - TAO_AV_frame_info *&frame_info) -{ - TAO_SFP_Fragment_Table_Entry *fragment_entry = 0; - int result = -1; - - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"frag_number = %d, frag_size = %d,source_id = %d sequnce_num = %d\n", - fragment.frag_number,fragment.frag_sz,fragment.source_id,fragment.sequence_num)); - - ACE_Message_Block *data; - ACE_NEW_RETURN (data, - ACE_Message_Block(fragment.frag_sz), - -1); - - // Read the fragment. - int n = transport->recv (data->wr_ptr (),fragment.frag_sz); - if ((n == -1) || (n==0)) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_SFP::read_fragment:%p",""),-1); - // move past the fragment header. - data->rd_ptr (fragment_len); - data->wr_ptr (n); - // TAO_SFP_Base::dump_buf (data->rd_ptr (),data->length ()); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"length of %dth fragment is: %d\n", - fragment.frag_number, - data->length ())); - - TAO_SFP_Fragment_Node *new_node; - ACE_NEW_RETURN (new_node, - TAO_SFP_Fragment_Node, - -1); - new_node->fragment_info_ = fragment; - new_node->data_ = data; - TAO_SFP_Fragment_Table *fragment_table = 0; - result = state.fragment_table_map_.find (fragment.source_id,fragment_table); - if (result != 0) - { - ACE_NEW_RETURN (fragment_table, - TAO_SFP_Fragment_Table, - -1); - result = state.fragment_table_map_.bind (fragment.source_id,fragment_table); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_SFP_Base::read_fragment:fragment_table_map:bind failed\n"),-1); - } - if (fragment_table->find (fragment.sequence_num,fragment_entry) == 0) - { - // Already an entry exists. Traverse the list and insert it at the right place. - result = fragment_entry->fragment_set_.insert (*new_node); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR,"insert for %dth node failed\n",fragment.frag_number),-1); - // check if all the fragments have been received. - } - else - { - ACE_NEW_RETURN (fragment_entry, - TAO_SFP_Fragment_Table_Entry, - -1); - fragment_entry->fragment_set_.insert (*new_node); - // bind a new entry for this sequence number. - result = fragment_table->bind (fragment.sequence_num,fragment_entry); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR,"bind for %dth fragment failed\n", - fragment.frag_number),-1); - } - if (!(fragment.flags & 0x2)) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"Last fragment received\n")); - // if bit 1 is not set then there are - // no more fragments. - fragment_entry->last_received_ = 1; - // since fragment number starts from 0 to n-1 we add 1. - fragment_entry->num_fragments_ = fragment.frag_number + 1; - } - - - state.frame_block_ = check_all_fragments (fragment_entry); - if (state.frame_block_ != 0) - { - state.more_fragments_ = 0; - ACE_NEW_RETURN (frame_info, - TAO_AV_frame_info, - -1); - *frame_info = fragment_entry->frame_info; - } - return 0; -} - -ACE_Message_Block* -TAO_SFP_Base::check_all_fragments (TAO_SFP_Fragment_Table_Entry *fragment_entry) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"table size: %d, num_fragments: %d\n",fragment_entry->fragment_set_.size (),fragment_entry->num_fragments_)); - // check to see if all the frames have been received. - if (fragment_entry->fragment_set_.size () == fragment_entry->num_fragments_) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"all fragments have been received\n")); - // all the fragments have been received - // we can now chain the ACE_Message_Blocks in the fragment_set_ and then return them - // back. - ACE_Message_Block *frame = 0,*head = 0; - FRAGMENT_SET_ITERATOR frag_iterator (fragment_entry->fragment_set_); - TAO_SFP_Fragment_Node *node; - for (;frag_iterator.next (node) != 0;frag_iterator.advance ()) - { - if (!head) - head = frame = node->data_; - else - { - frame->cont (node->data_); - frame = node->data_; - } - } - return head; - } - return 0; -} - -CORBA::Boolean -TAO_SFP_Base::start_frame (CORBA::Octet flags, - flowProtocol::MsgType type, - TAO_OutputCDR &msg) -{ - msg.reset (); - flowProtocol::frameHeader frame_header; - - frame_header.magic_number [0] = '='; - frame_header.magic_number [1] = 'S'; - frame_header.magic_number [2] = 'F'; - frame_header.magic_number [3] = 'P'; - frame_header.flags = flags; - frame_header.message_type = static_cast (type); - frame_header.message_size = 0; - if (!(msg << frame_header)) - return 0; - return 1; -} - -CORBA::Boolean -TAO_SFP_Base::write_start_message (TAO_OutputCDR &msg) -{ - flowProtocol::Start start; - - start.magic_number [0] = '='; - start.magic_number [1] = 'S'; - start.magic_number [2] = 'T'; - start.magic_number [3] = 'A'; - start.major_version = TAO_SFP_MAJOR_VERSION; - start.minor_version = TAO_SFP_MINOR_VERSION; - start.flags = 0; - if (!(msg << start)) - return 0; - return 1; -} - -CORBA::Boolean -TAO_SFP_Base::write_start_reply_message (TAO_OutputCDR &msg) -{ - flowProtocol::StartReply start_reply; - - start_reply.magic_number [0] = '='; - start_reply.magic_number [1] = 'S'; - start_reply.magic_number [2] = 'T'; - start_reply.magic_number [3] = 'R'; - start_reply.flags = 0; - if (!(msg << start_reply)) - return 0; - return 1; -} - -CORBA::Boolean -TAO_SFP_Base::write_credit_message (CORBA::ULong cred_num, - TAO_OutputCDR &msg) -{ - flowProtocol::credit credit; - - credit.magic_number [0] = '='; - credit.magic_number [1] = 'C'; - credit.magic_number [2] = 'R'; - credit.magic_number [3] = 'E'; - credit.cred_num = cred_num; - if (!(msg << credit)) - return 0; - return 1; -} - -CORBA::Boolean -TAO_SFP_Base::write_fragment_message (CORBA::Octet flags, - CORBA::ULong fragment_number, - CORBA::ULong sequence_number, - CORBA::ULong source_id, - TAO_OutputCDR &msg) -{ - msg.reset (); - flowProtocol::fragment fragment; - - fragment.magic_number [0] = 'F'; - fragment.magic_number [1] = 'R'; - fragment.magic_number [2] = 'A'; - fragment.magic_number [3] = 'G'; - fragment.flags = flags; - fragment.frag_number = fragment_number; - fragment.sequence_num = sequence_number; - fragment.source_id = source_id; - if (!(msg << fragment)) - return 0; - return 1; -} - -CORBA::Boolean -TAO_SFP_Base::write_frame_message (CORBA::ULong timestamp, - CORBA::ULong synchSource, - flowProtocol::my_seq_ulong source_ids, - CORBA::ULong sequence_num, - TAO_OutputCDR &msg) -{ - flowProtocol::frame frame; - - frame.timestamp = timestamp; - frame.synchSource = synchSource; - frame.source_ids = source_ids; - frame.sequence_num = sequence_num; - if (!(msg << frame)) - return 0; - return 1; -} - -int -TAO_SFP_Base::send_message (TAO_AV_Transport *transport, - TAO_OutputCDR &stream, - ACE_Message_Block *mb) -{ - CORBA::ULong total_len = static_cast (stream.total_length ()); - if (mb != 0) - { - for (ACE_Message_Block *temp = mb;temp != 0;temp = temp->cont ()) - total_len += static_cast (temp->length ()); - - char *buf = (char *) stream.buffer (); - size_t offset = TAO_SFP_MESSAGE_SIZE_OFFSET; - // second character distinguished =SFP and FRAG. - if (*(buf) == 'F') - { - // Fragment message. - offset = TAO_SFP_FRAGMENT_SIZE_OFFSET; - } -#if !defined (ACE_ENABLE_SWAP_ON_WRITE) - *reinterpret_cast (buf + offset) = total_len; -#else - if (!stream.do_byte_swap ()) - *reinterpret_cast (buf + offset) = total_len; - else - ACE_CDR::swap_4 (reinterpret_cast (&total_len), - buf + offset); -#endif /* ACE_ENABLE_SWAP_ON_WRITE */ - } - // we join the data block with the cdr block. - ACE_Message_Block *end = (ACE_Message_Block *)stream.end (); - if (end == 0) - { - // There is only one message block. - end = (ACE_Message_Block *)stream.begin (); - // TAO_SFP_Base::dump_buf (end->rd_ptr (),end->length ()); - } - end->cont (mb); - ssize_t n = transport->send (stream.begin ()); - if (n == -1) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO: (%P|%t) closing conn after fault %p\n", - "GIOP::send_request ()")); - return -1; - } - // EOF. - if (n == 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO: (%P|%t) GIOP::send_request () " - "EOF, closing conn:\n")); - return -1; - } - return 1; - -} - -int -TAO_SFP_Base::peek_message_type (TAO_AV_Transport *transport, - flowProtocol::MsgType &msg_type) -{ - char peek_buffer [TAO_SFP_MAGIC_NUMBER_LEN+2];// 2 is for flags + message_type. - int peek_len = TAO_SFP_MAGIC_NUMBER_LEN +2; - char magic_number [TAO_SFP_MAGIC_NUMBER_LEN+1]; - ssize_t n =transport->recv (peek_buffer, - peek_len, - MSG_PEEK); - ACE_OS::strncpy (magic_number, - peek_buffer, - TAO_SFP_MAGIC_NUMBER_LEN); - magic_number [TAO_SFP_MAGIC_NUMBER_LEN] = 0; - if (n == -1) - ACE_ERROR_RETURN ((LM_ERROR,"SFP::handle_input -peek"),-1); - else if (n==0) - ACE_ERROR_RETURN ((LM_ERROR,"SFP::handle_input -peek"),-1); - - if (ACE_OS::strcmp (magic_number,TAO_SFP_START_MAGIC_NUMBER) == 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)Start message received\n")); - msg_type = flowProtocol::Start_Msg; - } - else if (ACE_OS::strcmp (magic_number,TAO_SFP_STARTREPLY_MAGIC_NUMBER) == 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t)StartReply message received\n")); - msg_type = flowProtocol::StartReply_Msg; - } - else if (ACE_OS::strcmp (magic_number,TAO_SFP_MAGIC_NUMBER) == 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t) frameHeader received\n")); - // msg_type = flowProtocol::SimpleFrame; - msg_type = (flowProtocol::MsgType)peek_buffer [TAO_SFP_MESSAGE_TYPE_OFFSET]; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"Message Type = %d\n",msg_type)); - } - else if (ACE_OS::strcmp (magic_number,TAO_SFP_FRAGMENT_MAGIC_NUMBER) == 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t) fragment Header received\n")); - msg_type = flowProtocol::Fragment_Msg; - } - else if (ACE_OS::strcmp (magic_number,TAO_SFP_CREDIT_MAGIC_NUMBER) == 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"(%P|%t) credit message received\n")); - msg_type = flowProtocol::Credit_Msg; - } - else - ACE_ERROR_RETURN ((LM_ERROR,"TAO_SFP:Invalid magic number\n"),-1); - return 0; -} - -int -TAO_SFP_Base::read_start_message (TAO_AV_Transport *transport, - flowProtocol::Start &start, - TAO_InputCDR &input) -{ - input.grow (start_len); - char *buf = input.rd_ptr (); - int n = transport->recv (buf, - start_len); - if (n != static_cast (start_len)) - ACE_ERROR_RETURN ((LM_ERROR,"%p","TAO_SFP_Base::read_start\n"),0); - else - { - if (!(input >> start)) - return -1; - } - return 0; -} - - -int -TAO_SFP_Base::read_start_reply_message (TAO_AV_Transport *transport, - flowProtocol::StartReply &start_reply, - TAO_InputCDR &input) -{ - input.grow (start_len); - char *buf = input.rd_ptr (); - int n = transport->recv (buf, - start_reply_len); - if (n != static_cast (start_len)) - ACE_ERROR_RETURN ((LM_ERROR,"%p","TAO_SFP_Base::read_start_reply_message"),0); - else - { - if (!(input >> start_reply)) - return -1; - } - return 0; -} - -int -TAO_SFP_Base::read_credit_message (TAO_AV_Transport *transport, - flowProtocol::credit &credit, - TAO_InputCDR &input) -{ - input.grow (start_len); - char *buf = input.rd_ptr (); - int n = transport->recv (buf, - credit_len); - if (n != static_cast (credit_len)) - ACE_ERROR_RETURN ((LM_ERROR,"%p","TAO_SFP_Base::read_credit_message"),0); - else - { - if (!(input >> credit)) - return -1; - } - return 0; -} - -int -TAO_SFP_Base::read_endofstream_message (TAO_AV_Transport *transport, - flowProtocol::frameHeader &endofstream, - TAO_InputCDR &input) -{ - input.grow (start_len); - char *buf = input.rd_ptr (); - int n = transport->recv (buf, - frame_header_len); - if (n != static_cast (frame_header_len)) - ACE_ERROR_RETURN ((LM_ERROR,"%p","TAO_SFP_Base::read_endofstream_message"),0); - else - { - if (!(input >> endofstream)) - return -1; - } - return 0; -} - -int -TAO_SFP_Base::peek_frame_header (TAO_AV_Transport *transport, - flowProtocol::frameHeader &header, - TAO_InputCDR &input) -{ - input.grow (frame_header_len); - char *buf = input.rd_ptr (); - int n = transport->recv (buf, - frame_header_len, - MSG_PEEK); - if (n != static_cast (frame_header_len)) - ACE_ERROR_RETURN ((LM_ERROR,"%p","TAO_SFP_Base::read_endofstream_message"),0); - else - { - if (!(input >> header)) - return -1; - } - return 0; -} - -int -TAO_SFP_Base::peek_fragment_header (TAO_AV_Transport *transport, - flowProtocol::fragment &fragment, - TAO_InputCDR &input) -{ - input.grow (fragment_len); - char *buf = input.rd_ptr (); - int n = transport->recv (buf, - fragment_len, - MSG_PEEK); - if (n != static_cast (fragment_len)) - ACE_ERROR_RETURN ((LM_ERROR,"%p","TAO_SFP_Base::read_endofstream_message"),0); - else - { - if (!(input >> fragment)) - return -1; - } - return 0; -} - -void -TAO_SFP_Base::dump_buf (char *buffer,int size) -{ - char *buf = buffer; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"\n========================================\n")); - for (int i=0;i 0) ACE_DEBUG ((LM_DEBUG,"%d ",buf[i])); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"\n========================================\n")); -} - -//------------------------------------------------------------ -// TAO_SFP_Object -//------------------------------------------------------------ - -TAO_SFP_Object::TAO_SFP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport) - :TAO_AV_Protocol_Object (callback,transport), - source_id_ (10), - max_credit_ (-1), - current_credit_ (-1) -{ - TAO_SFP_BASE::instance (); - this->state_.static_frame_.size (2* this->transport_->mtu ()); -} - -TAO_SFP_Object::~TAO_SFP_Object (void) -{ - //no-op -} - -int -TAO_SFP_Object::destroy (void) -{ - int result = -1; - TAO_OutputCDR out_stream; - result = TAO_SFP_Base::start_frame (TAO_ENCAP_BYTE_ORDER, - flowProtocol::EndofStream_Msg, - out_stream); - if (result < 0) - return result; - result = TAO_SFP_Base::send_message (this->transport_, - out_stream); - if (result < 0) - return result; - this->callback_->handle_destroy (); - return 0; -} - -int -TAO_SFP_Object::send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info) -{ - TAO_OutputCDR out_stream; - CORBA::Boolean result = 0; - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_SFP_Object::send_frame\n")); - CORBA::Octet flags = TAO_ENCAP_BYTE_ORDER; - if (this->transport_ == 0) - ACE_ERROR_RETURN ((LM_ERROR,"TAO_SFP_Object::send_frame: transport is null\n"),-1); - if (this->current_credit_ != 0) - { - // if we have enough credit then we send. - size_t total_length = 0; - for (ACE_Message_Block *temp = frame;temp != 0;temp = temp->cont ()) - total_length += temp->length (); - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"total_length of frame=%d\n",total_length)); - if (total_length < (TAO_SFP_MAX_PACKET_SIZE -TAO_SFP_Base::frame_header_len)) - { - if (frame_info != 0) - { - if (frame_info->boundary_marker) - flags |= 4; - CORBA::Boolean result = TAO_SFP_Base::start_frame (flags, - flowProtocol::Frame_Msg, - out_stream); - if (result == 0) - return 0; - flowProtocol::my_seq_ulong source_ids; - source_ids.length (1); - source_ids [0] = 0; - TAO_SFP_Base::write_frame_message (frame_info->timestamp, - frame_info->ssrc, - source_ids, - this->sequence_num_, - out_stream); - } - else - { - CORBA::Boolean result = TAO_SFP_Base::start_frame (flags, - flowProtocol::SimpleFrame_Msg, - out_stream); - if (result == 0) - return 0; - } - TAO_SFP_Base::send_message (this->transport_, - out_stream, - frame); - } - else // larger frame,fragment and send it. - { - flags = flags | 2; - if (frame_info != 0) - { - if (frame_info->boundary_marker) - flags |= 4; - result = TAO_SFP_Base::start_frame (flags, - flowProtocol::Frame_Msg, - out_stream); - if (result == 0) - return result; - flowProtocol::my_seq_ulong source_ids; - source_ids.length (1); - source_ids [0] = 0; - TAO_SFP_Base::write_frame_message (frame_info->timestamp, - frame_info->ssrc, - source_ids, - this->sequence_num_, - out_stream); - } - else - { - CORBA::Boolean result = TAO_SFP_Base::start_frame (flags, - flowProtocol::SimpleFrame_Msg, - out_stream); - if (result == 0) - return 0; - } - size_t last_len,current_len; - int message_len = static_cast (out_stream.total_length ()); - ACE_Message_Block *mb = frame; - ACE_Message_Block *fragment_mb = - this->get_fragment (mb, - message_len, - last_len, - current_len); - // This can be either a simpleframe or a sequenced frame,other types of frames. - TAO_SFP_Base::send_message (this->transport_, - out_stream, - fragment_mb); - out_stream.reset (); - int frag_number = 1; - mb->length (last_len); - mb->rd_ptr (current_len); - // If there is any more data send those as fragments. - while (mb != 0) - { - message_len = TAO_SFP_Base::fragment_len; - fragment_mb = this->get_fragment (mb, - message_len, - last_len, - current_len); - if (mb == 0) - { - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"sending the last fragment\n")); - // This is the last fragment so clear the fragments bit. - flags = TAO_ENCAP_BYTE_ORDER; - } - if (fragment_mb == 0) - break; - if (frame_info != 0) - { - TAO_SFP_Base::write_fragment_message (flags, - frag_number++, - this->sequence_num_, - frame_info->ssrc, - out_stream); - } - else - { - TAO_SFP_Base::write_fragment_message (flags, - frag_number++, - this->sequence_num_, - 0, - out_stream); - } - // send the fragment now. - // without the sleep the fragments gets lost! - // probably because the UDP buffer queue on the sender side - // is overflown it drops the packets. - // XXX: This is a hack. - ACE_OS::sleep (1); - result = TAO_SFP_Base::send_message (this->transport_, - out_stream, - fragment_mb); - if (mb != 0) - { - mb->length (last_len); - mb->rd_ptr (current_len); - } - } - // Increment the sequence_num after sending the message. - this->sequence_num_++; - // Also reduce the number of credits. - if (this->max_credit_ > 0) - this->current_credit_--; - } - } - else - { - // flow controlled so wait. - // A greater than 0 value indicates that flow control is being exercised. - return 1; - } - return 0; -} - -int -TAO_SFP_Object::send_frame (const iovec * /*iov*/, - int /*iovcnt*/, - TAO_AV_frame_info * /*frame_info*/) -{ - ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_SFP_Object::send_frame"),-1); -} - -int -TAO_SFP_Object::send_frame (const char* /*buf*/, - size_t /*len*/) -{ - return 0; -} - - -ACE_Message_Block* -TAO_SFP_Object::get_fragment (ACE_Message_Block *&mb, - size_t initial_len, - size_t &last_mb_orig_len, - size_t &last_mb_current_len) -{ - ACE_Message_Block *fragment_mb = 0,*temp_mb = 0; - size_t prev_len,last_len = 0; - size_t current_len = 0; - size_t message_len = initial_len; - while (mb != 0) - { - prev_len = message_len; - message_len += mb->length (); - if (fragment_mb == 0) - fragment_mb = temp_mb = mb->duplicate (); - if (message_len > TAO_SFP_MAX_PACKET_SIZE) - { - // get only the length that we can accomodate. - current_len = TAO_SFP_MAX_PACKET_SIZE - prev_len; - if (current_len < mb->length ()) - { - // The above condition is an assertion. - message_len += (current_len-mb->length ()); - last_len = mb->length (); - mb->length (current_len); - temp_mb->length (current_len); - } - break; - } - else - { - // we can accomodate this message block - message_len += mb->length (); - mb = mb->cont (); - temp_mb = temp_mb->cont (); - } - } - last_mb_orig_len = last_len; - last_mb_current_len = current_len; - return fragment_mb; -} - -int -TAO_SFP_Object::set_policies (const TAO_AV_PolicyList& policies) -{ - TAO_AV_Policy *policy = 0; - for (CORBA::ULong i=0;itype ()) - { - - case TAO_AV_SFP_CREDIT_POLICY: - { - TAO_AV_SFP_Credit_Policy *credit_policy = - reinterpret_cast (policy); - this->max_credit_ = credit_policy->value (); - } - default: - break; - } - } - return 0; -} - -// TAO_SFP_Consumer_Object -TAO_SFP_Consumer_Object::TAO_SFP_Consumer_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport, - ACE_CString& sfp_options) - :TAO_SFP_Object (callback,transport) -{ - TAO_AV_PolicyList policies = callback->get_policies (); - if (policies.length () == 0) - return; - this->set_policies (policies); - if (this->max_credit_ > 0) - { - sfp_options = "sfp:1.0:credit="; - char buf[10]; - ACE_OS::sprintf(buf, "%d", this->max_credit_); - sfp_options += buf; - } -} - -int -TAO_SFP_Consumer_Object::handle_input (void) -{ - if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,"TAO_SFP_Consumer_Object::handle_input\n")); - // This is the entry point for receiving data. - TAO_AV_frame_info *frame_info = 0; - int result = TAO_SFP_Base::handle_input (this->transport_, - this->state_, - frame_info); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"ERROR in TAO_SFP_Consumer_Object::handle_input"),result); - if (this->state_.frame_header_.message_type == flowProtocol::EndofStream_Msg) - this->callback_->handle_destroy (); - if (this->state_.is_complete ()) - { - this->callback_->receive_frame (this->state_.frame_block_, - frame_info); - // Now release the memory for the frame. - if (this->state_.frame_block_ != &this->state_.static_frame_) - { - ACE_Message_Block *temp = 0; - for (temp = this->state_.frame_block_; - temp != 0; - temp = temp->cont ()) - { - temp->release (); - delete temp; - } - } - this->state_.reset (); - } - return 0; -} - -TAO_SFP_Producer_Object::TAO_SFP_Producer_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport, - const char *sfp_options) - :TAO_SFP_Object (callback,transport), - credit_sequence_num_ (0) - -{ - TAO_Tokenizer flow_string (sfp_options,':'); - if (flow_string [2] != 0) - { - TAO_Tokenizer options (flow_string[2],'='); - if (options [1] != 0) - this->max_credit_ = ACE_OS::atoi (options[1]); - } -} - -int -TAO_SFP_Producer_Object::handle_input (void) -{ - // A producer can only receive credit messages. - int result; - flowProtocol::MsgType msg_type = flowProtocol::Start_Msg; - result = TAO_SFP_Base::peek_message_type (this->transport_, - msg_type); - if (result < 0) - return result; - switch (msg_type) - { - case flowProtocol::Credit_Msg: - { - flowProtocol::credit credit; - result = TAO_SFP_Base::read_credit_message (this->transport_, - credit, - this->state_.cdr); - if (result < 0) - return result; - if (!this->credit_sequence_num_) - this->credit_sequence_num_ = credit.cred_num; - else - { - // check that the sequence number is above the last sequence number - // else its a duplicate credit message so we can ignore it. - if (credit.cred_num <= this->credit_sequence_num_) - return 0; - else // Update our credit now. - this->current_credit_ = this->max_credit_; - } - } - break; - default: - { - ACE_Message_Block mb (2*this->transport_->mtu ()); - - // Ignore the rest of the message by just reading. - this->transport_->recv (mb.rd_ptr (), - mb.size ()); - break; - } - } - return 0; -} - -// TAO_AV_SFP_Factory -TAO_AV_SFP_Factory::TAO_AV_SFP_Factory (void) -{ -} - -TAO_AV_SFP_Factory::~TAO_AV_SFP_Factory (void) -{ -} - -// Initialization hook from service configurator. -int -TAO_AV_SFP_Factory::init (int /*argc*/, char ** /*argv*/) -{ - return 0; -} - -int -TAO_AV_SFP_Factory::match_protocol (const char *flow_string) -{ - if (ACE_OS::strncasecmp (flow_string,"sfp",3) == 0) - return 1; - return 0; -} - -TAO_AV_Protocol_Object* -TAO_AV_SFP_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport) -{ - TAO_AV_Protocol_Object *object = 0; - TAO_AV_Callback *callback = 0; - endpoint->get_callback (entry->flowname (), - callback); - ACE_CString flow_string( entry->flow_protocol_str () ); - switch (entry->role ()) - { - case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: - { - ACE_NEW_RETURN (object, - TAO_SFP_Producer_Object (callback, - transport, - flow_string.c_str() ), - 0); - } - break; - case TAO_FlowSpec_Entry::TAO_AV_CONSUMER: - { - - ACE_NEW_RETURN (object, - TAO_SFP_Consumer_Object (callback, - transport, - flow_string), - 0); - entry->flow_protocol_str( flow_string.c_str() ); - } - break; - case TAO_FlowSpec_Entry::TAO_AV_INVALID_ROLE: - return 0; - } - callback->open (object, - handler); - endpoint->set_protocol_object (entry->flowname (), - object); - return object; -} - -//------------------------------------------------------------ -// TAO_SFP_Frame_State -//------------------------------------------------------------ - -TAO_SFP_Frame_State::TAO_SFP_Frame_State (void) - :cdr (new ACE_Data_Block (ACE_CDR::DEFAULT_BUFSIZE, - ACE_Message_Block::MB_DATA, - 0, - 0, - 0, - 0, - 0), - 0, - TAO_ENCAP_BYTE_ORDER), - more_fragments_ (0), - frame_block_ (0) -{ -} - -CORBA::Boolean -TAO_SFP_Frame_State::is_complete (void) -{ - return (!this->more_fragments_) && (this->frame_block_); -} - -int -TAO_SFP_Frame_State::reset (void) -{ - this->frame_block_ = 0; - return 0; -} - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton *ACE_Singleton::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_SFP_Factory) -ACE_STATIC_SVC_DEFINE (TAO_AV_SFP_Factory, - ACE_TEXT ("SFP_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_AV_SFP_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/AV/sfp.h b/TAO/orbsvcs/orbsvcs/AV/sfp.h deleted file mode 100644 index 35ab492f34f..00000000000 --- a/TAO/orbsvcs/orbsvcs/AV/sfp.h +++ /dev/null @@ -1,306 +0,0 @@ -// -*- C++ -*- - -// ============================================================================ -/** - * @file sfp.h - * - * $Id$ - * - * @author Nagarajan Surendran - */ -// ============================================================================ - -#ifndef TAO_AV_SFP_H -#define TAO_AV_SFP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/AV/AV_export.h" - -#include "orbsvcs/AV/Policy.h" -#include "orbsvcs/AV/MCast.h" -#include "orbsvcs/AV/AVStreams_i.h" -#include "orbsvcs/AV/UDP.h" - -#include "orbsvcs/sfpC.h" - -#include "tao/CDR.h" - -#include "ace/SOCK_Dgram.h" -#include "ace/INET_Addr.h" - - -#define TAO_SFP_MAGIC_NUMBER_LEN 4 -#define TAO_SFP_MESSAGE_TYPE_OFFSET 5 -#define TAO_SFP_WRITEV_MAX 128 - -#define TAO_SFP_MAX_PACKET_SIZE ACE_MAX_DGRAM_SIZE - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_SFP_Fragment_Node - * @brief - */ -class TAO_SFP_Fragment_Node -{ -public: - TAO_SFP_Fragment_Node (void) : data_ (0) {} - flowProtocol::fragment fragment_info_; - ACE_Message_Block *data_; - friend bool operator< (const TAO_SFP_Fragment_Node& left, - const TAO_SFP_Fragment_Node& right); -}; - -/** - * @class TAO_SFP_Fragment_Table_Entry - * @brief - */ -class TAO_SFP_Fragment_Table_Entry -{ -public: - TAO_SFP_Fragment_Table_Entry (void) - :last_received_ (0), - num_fragments_ (0) - {} - int last_received_; - size_t num_fragments_; - TAO_AV_frame_info frame_info; - ACE_Ordered_MultiSet fragment_set_; -}; - -typedef ACE_Ordered_MultiSet_Iterator FRAGMENT_SET_ITERATOR; -typedef ACE_Hash_Map_Manager TAO_SFP_Fragment_Table; -typedef ACE_Hash_Map_Manager TAO_SFP_Fragment_Table_Map; - -/** - * @class TAO_SFP_Frame_State - * @brief - */ -class TAO_AV_Export TAO_SFP_Frame_State -{ -public: - TAO_SFP_Frame_State (void); - CORBA::Boolean is_complete (void); - - int reset (void); - - TAO_InputCDR cdr; - // This is the InputCDR that will be used to decode the message. - flowProtocol::frameHeader frame_header_; - flowProtocol::fragment fragment_; - flowProtocol::frame frame_; - CORBA::Boolean more_fragments_; - ACE_Message_Block *frame_block_; - // boolean flags indicating that there are more fragments. - ACE_Message_Block static_frame_; - TAO_SFP_Fragment_Table_Map fragment_table_map_; -}; - -class TAO_AV_Transport; -class TAO_AV_Core; - -/** - * @class TAO_SFP_Base - * @brief - */ -class TAO_AV_Export TAO_SFP_Base -{ -public: - // default arguments to pass to use for the ORB - static const char TAO_SFP_ORB_ARGUMENTS[]; - - // SFP magic numbers - static const char TAO_SFP_MAGIC_NUMBER[]; - static const char TAO_SFP_FRAGMENT_MAGIC_NUMBER[]; - static const char TAO_SFP_START_MAGIC_NUMBER[]; - static const char TAO_SFP_CREDIT_MAGIC_NUMBER[]; - static const char TAO_SFP_STARTREPLY_MAGIC_NUMBER[]; - - // SFP version 1.0 - static const unsigned char TAO_SFP_MAJOR_VERSION; - static const unsigned char TAO_SFP_MINOR_VERSION; - - // lengths of various SFP headers - static const unsigned char TAO_SFP_FRAME_HEADER_LEN; - static const unsigned char TAO_SFP_MESSAGE_SIZE_OFFSET; - static const unsigned char TAO_SFP_FRAGMENT_SIZE_OFFSET; - static u_int frame_header_len; - static u_int start_reply_len; - static u_int start_len; - static u_int credit_len; - static u_int fragment_len; - - enum State - { - ACTIVE_START, - PASSIVE_START, - TIMEDOUT_T1, - TIMEDOUT_T2, - REPLY_RECEIVED, - START_RECEIVED - }; - - TAO_SFP_Base (void); - static CORBA::Boolean start_frame (CORBA::Octet flags, - flowProtocol::MsgType type, - TAO_OutputCDR &msg); - - static CORBA::Boolean write_start_message (TAO_OutputCDR &msg); - static CORBA::Boolean write_start_reply_message (TAO_OutputCDR &msg); - static CORBA::Boolean write_credit_message (CORBA::ULong cred_num, - TAO_OutputCDR &msg); - static CORBA::Boolean write_fragment_message (CORBA::Octet flags, - CORBA::ULong fragment_number, - CORBA::ULong sequence_number, - CORBA::ULong source_id, - TAO_OutputCDR &msg); - - static CORBA::Boolean write_frame_message (CORBA::ULong timestamp, - CORBA::ULong synchSource, - flowProtocol::my_seq_ulong source_ids, - CORBA::ULong sequence_num, - TAO_OutputCDR &msg); - - static int send_message (TAO_AV_Transport *transport, - TAO_OutputCDR &stream, - ACE_Message_Block *mb = 0); - static int peek_message_type (TAO_AV_Transport *transport, - flowProtocol::MsgType &type); - static int read_start_message (TAO_AV_Transport *transport, - flowProtocol::Start &start, - TAO_InputCDR &cdr); - static int read_start_reply_message (TAO_AV_Transport *transport, - flowProtocol::StartReply &start_reply, - TAO_InputCDR &cdr); - static int read_credit_message (TAO_AV_Transport *transport, - flowProtocol::credit &credit, - TAO_InputCDR &cdr); - static int read_endofstream_message (TAO_AV_Transport *transport, - flowProtocol::frameHeader &endofstream, - TAO_InputCDR &cdr); - - static int read_frame (TAO_AV_Transport *transport, - flowProtocol::frameHeader &frame_header, - TAO_SFP_Frame_State &state, - TAO_AV_frame_info *&frame_info); - - static int read_fragment (TAO_AV_Transport *transport, - flowProtocol::fragment &fragment, - TAO_SFP_Frame_State &state, - TAO_AV_frame_info *&frame_info); - - static int peek_frame_header (TAO_AV_Transport *transport, - flowProtocol::frameHeader &header, - TAO_InputCDR &cdr); - - static int peek_fragment_header (TAO_AV_Transport *transport, - flowProtocol::fragment &fragment, - TAO_InputCDR &cdr); - - static int handle_input (TAO_AV_Transport *transport, - TAO_SFP_Frame_State &state, - TAO_AV_frame_info *&frame_info); - - static ACE_Message_Block* check_all_fragments (TAO_SFP_Fragment_Table_Entry *fragment_entry); - -protected: - static void dump_buf (char *buf,int n); - // dumps the buffer to the screen. -}; - -// Beware the SFP_Base code relies on the Singleton being initialized. -typedef ACE_Singleton TAO_SFP_BASE; - -/** - * @class TAO_SFP_Object - * @brief - */ -class TAO_AV_Export TAO_SFP_Object : public TAO_AV_Protocol_Object -{ -public: - TAO_SFP_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport); - // We should add a sfp options parameter. - - virtual ~TAO_SFP_Object (void); - // Dtor - - virtual int handle_input (void) = 0; - virtual int send_frame (ACE_Message_Block *frame, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const iovec *iov, - int iovcnt, - TAO_AV_frame_info *frame_info = 0); - - virtual int send_frame (const char*buf, - size_t len); - - virtual int destroy (void); - virtual int set_policies (const TAO_AV_PolicyList &policies); - -protected: - ACE_Message_Block *get_fragment (ACE_Message_Block *&frame, - size_t initial_len, - size_t &last_mb_orig_len, - size_t &last_mb_current_len); - CORBA::ULong sequence_num_; - CORBA::ULong source_id_; - CORBA::Long max_credit_; - CORBA::Long current_credit_; - TAO_SFP_Frame_State state_; -}; - -/** - * @class TAO_SFP_Producer_Object - * @brief - */ -class TAO_AV_Export TAO_SFP_Producer_Object : public TAO_SFP_Object -{ -public: - TAO_SFP_Producer_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport, - const char *flow_options); - virtual int handle_input (void); -protected: - CORBA::ULong credit_sequence_num_; -}; - -/** - * @class TAO_SFP_Consumer_Object - * @brief - */ -class TAO_AV_Export TAO_SFP_Consumer_Object : public TAO_SFP_Object -{ -public: - TAO_SFP_Consumer_Object (TAO_AV_Callback *callback, - TAO_AV_Transport *transport, - ACE_CString& flow_options); - virtual int handle_input (void); -}; - -/** - * @class TAO_AV_SFP_Factory - * @brief - */ -class TAO_AV_Export TAO_AV_SFP_Factory : public TAO_AV_Flow_Protocol_Factory -{ -public: - TAO_AV_SFP_Factory (void); - virtual ~TAO_AV_SFP_Factory (void); - virtual int init (int argc, char *argv[]); - // Initialization hook. - virtual int match_protocol (const char *flow_string); - virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry, - TAO_Base_StreamEndPoint *endpoint, - TAO_AV_Flow_Handler *handler, - TAO_AV_Transport *transport); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_AV_SFP_Flow_Factory) -ACE_FACTORY_DECLARE (TAO_AV, TAO_AV_SFP_Flow_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_SFP_H */ diff --git a/TAO/orbsvcs/orbsvcs/AVStreams.idl b/TAO/orbsvcs/orbsvcs/AVStreams.idl deleted file mode 100644 index 1e40c191651..00000000000 --- a/TAO/orbsvcs/orbsvcs/AVStreams.idl +++ /dev/null @@ -1,795 +0,0 @@ -/* -*- C++ -*- */ -//============================================================================= -/** - * @file AVStreams.idl - * - * $Id$ - * - * @author Sumedh Mungee - * @author Nagarajan Surendran - */ -//============================================================================= - - -#ifndef TAO_AV_STREAMS_IDL -#define TAO_AV_STREAMS_IDL - -#include "CosProperty.idl" - -#pragma prefix "omg.org" - -/** - * @brief IDL for Control and Management of Audio/Video Streams - * Revised Submission. - */ -module AVStreams -{ - - /** - * @struct QoS - * @brief This structure represents QoS for a given type. - * E.g. {"video_qos", <"video_framerate", 26>, - * <"video_depth", 9>} - */ - struct QoS - { - string QoSType; - /// Name of the Qos type, e.g. "video_qos" - - CosPropertyService::Properties QoSParams; - /// Sequence of name value pairs, see e.g. above. - }; - - /// The QoS of a stream is a sequence of QoS structs (defined above) - typedef sequence streamQoS; - - /// flowSpec is used to keep transport protocol information Each - /// string is one endpoint. - typedef sequence flowSpec; - - /// List of protocols supported protocol names registered by OMG. - /// e.g., TCP, UDP, AAL5, IPX, RTP - typedef sequence protocolSpec; - - /// Used as a key for public-key encryption - typedef sequence key; - - /** - * @struct SFPStatus - * @brief This structure is defined for SFP1.0 Subsequent versions of - * the protocol may specify new structures. - */ - struct SFPStatus - { - boolean isFormatted; - boolean isSpecialFormat; - boolean seqNums; - boolean timestamps; - boolean sourceIndicators; - }; - - /** - * @enum flowState - * @brief Represents the state of a flow - */ - enum flowState - { - stopped, - started, - dead - }; - - /** - * @enum dirType - * @brief The direction of a flow. - */ - enum dirType - { - dir_in, - dir_out - }; - - /** - * @struct flowStatus - * @brief Used to store the status of a flow. - */ - struct flowStatus - { - - string flowName; - dirType directionality; - flowState status; - SFPStatus theFormat; - QoS theQoS; - }; - - /// Used to convey events, in Basic_StreamCtrl::push_event. - typedef CosPropertyService::Property streamEvent; - - - exception notSupported - { - /// Used to indicate that an operation is not supported. - }; - - exception PropertyException - { - /// Property exception: raised by VDev::configure (). - }; - - exception FPError - { - /// An flow protocol related error. - string flow_name; - }; - - - exception streamOpFailed - { - /// Raised by operations on streams. - string reason; - }; - - exception streamOpDenied - { - /// Raised by operations on streams. - string reason; - }; - - exception noSuchFlow - { - /// Used to indicate that an invalid flow name was used for the - /// operation. - }; - - exception QoSRequestFailed - { - /// Used to indicate failure in changing QoS. - string reason; - }; - - /** - * @interface Basic_StreamCtrl - * @brief Base class for StreamCtrl, implements basic stream start - * and stop functionality. - */ - interface Basic_StreamCtrl : CosPropertyService::PropertySet { - - // = Empty flowSpec => apply operation to all flows - /// Stop the transfer of data of the stream.Empty the_spec means - /// apply operation to all flows. - void stop (in flowSpec the_spec) raises (noSuchFlow); - - /// Start the transfer of data in the stream. Empty the_spec - /// means apply operation to all flows. - void start (in flowSpec the_spec) raises (noSuchFlow); - - /// Tears down the stream. This will close the connection, and - /// delete the streamendpoint and vdev associated with this - /// stream Empty the_spec means apply operation to all flows. - void destroy (in flowSpec the_spec) raises (noSuchFlow); - - /// Changes the QoS associated with the stream Empty the_spec - /// means apply operation to all flows. - boolean modify_QoS (inout streamQoS new_qos, - in flowSpec the_spec) - raises (noSuchFlow, - QoSRequestFailed); - - /// Called by StreamEndPoint when something goes wrong with a - /// flow. - oneway void push_event (in streamEvent the_event); - - /// Used to control the flow protocol parameters. - void set_FPStatus (in flowSpec the_spec, - in string fp_name, - in any fp_settings) - raises (noSuchFlow, - FPError); - - /// Not implemented in the light profile, will raise the - /// notsupported exception. - Object get_flow_connection (in string flow_name) - raises (noSuchFlow, - notSupported); - - /// Not implemented in the light profile, will raise the - /// notsupported exception. - void set_flow_connection (in string flow_name, - in Object flow_connection) - raises (noSuchFlow, - notSupported); - }; - - /** - * @interface Negotiator - * @brief This interface is used to negotiate QoS between two stream - * endpoints. - */ - interface Negotiator - { - /// Initiates the process of negotiating the qos_spec. - boolean negotiate (in Negotiator remote_negotiator, - in streamQoS qos_spec); - }; - - // Forward declarations. - interface VDev; - interface MMDevice; - interface StreamEndPoint; - interface StreamEndPoint_A; - interface StreamEndPoint_B; - - /** - * @interface StreamCtrl - * @brief Implementation the A/V StreamCtrl class. this class - * is used to control the stream. It should be subclassed - * by applications that want to provide more control features. - */ - interface StreamCtrl : Basic_StreamCtrl - { - - boolean bind_devs (in MMDevice a_party, in MMDevice b_party, - inout streamQoS the_qos, - in flowSpec the_flows) - raises (streamOpFailed, - noSuchFlow, - QoSRequestFailed); - /// Establish a stream between a_party and b_party, with qos - /// the_qos, and for the flows in the_flows if the_flows is - /// empty, bind all the flows Causes a connection to be - /// established between the StreamEndpoints. Returns - /// success/failure - - boolean bind (in StreamEndPoint_A a_party, - in StreamEndPoint_B b_party, - inout streamQoS the_qos, - in flowSpec the_flows) - raises (streamOpFailed, - noSuchFlow, - QoSRequestFailed); - /// Establish a connection between two streamendpoints. This can - /// be used if the streamendpoints have been created independent - /// of a MMDevice - - void unbind_dev(in MMDevice dev, in flowSpec the_spec) - raises (streamOpFailed, noSuchFlow); - - /// Unbind the_ep from the stream. Empty the_spec means apply to - /// all flows. - void unbind_party (in StreamEndPoint the_ep, - in flowSpec the_spec) - raises (streamOpFailed, noSuchFlow); - - /// unbind the stream. Same effect as Basic_StreamCtrl::destroy () - void unbind () - raises (streamOpFailed); - - VDev get_related_vdev(in MMDevice adev, - out StreamEndPoint sep) - raises (streamOpFailed); - - }; - - /** - * @interface MCastConfigIf - * @brief Interface for multicasting operations. - */ - interface MCastConfigIf : CosPropertyService::PropertySet{ - /// Set a peer in the multicast tree. - boolean set_peer (in Object peer, - inout streamQoS the_qos, - in flowSpec the_spec) - raises (QoSRequestFailed, - streamOpFailed); - - /// Configure the multicast stream. - void configure (in CosPropertyService::Property a_configuration); - - /// Sets the initial configuration to be used for all added peers. - void set_initial_configuration (in CosPropertyService::Properties initial); - - - /// Uses standardised by OMG and IETF - /// Multicasting operations are not supported yet. - void set_format (in string flowName, - in string format_name) - raises (notSupported); - - - /// Note, some of these device params are standardised by OMG - /// Multicasting operations are not supported yet. - void set_dev_params (in string flowName, - in CosPropertyService::Properties new_params) - // raises (CosPropertyService::PropertyException, - // streamOpFailed); - raises (PropertyException, - streamOpFailed); - - }; - - /** - * @interface StreamEndpoint - * @brief The Stream EndPoint. Used to implement one endpoint of a - * stream that implements the transport layer. - */ - interface StreamEndPoint : CosPropertyService::PropertySet{ - - /// Stop the stream. Empty the_spec means, for all the flows. - void stop (in flowSpec the_spec) - raises (noSuchFlow); - - /// Start the stream, Empty the_spec means, for all the flows. - void start (in flowSpec the_spec) - raises (noSuchFlow); - - /// Destroy the stream, Empty the_spec means, for all the flows. - void destroy (in flowSpec the_spec) - raises (noSuchFlow); - - /// Called by StreamCtrl. responder is the peer to connect with. - boolean connect (in StreamEndPoint responder, - inout streamQoS qos_spec, - in flowSpec the_spec) - raises (noSuchFlow, - QoSRequestFailed, - streamOpFailed); - - /// Called by the peer StreamEndPoint. The flow_spec indicates - /// the flows (which contain transport addresses etc.). - boolean request_connection (in StreamEndPoint initiator, - in boolean is_mcast, - inout streamQoS qos, - inout flowSpec the_spec) - raises (streamOpDenied, noSuchFlow, - QoSRequestFailed, FPError); - - /// Change the transport qos on a stream. - boolean modify_QoS (inout streamQoS new_qos, - in flowSpec the_flows) - raises (noSuchFlow, - QoSRequestFailed); - - /// Used to restrict the set of protocols. - boolean set_protocol_restriction (in protocolSpec the_pspec); - - /// Disconnect the flows. - void disconnect(in flowSpec the_spec) - raises (noSuchFlow, - streamOpFailed); - - /// Used to control the SFP parameters. - void set_FPStatus (in flowSpec the_spec, - in string fp_name, - in any fp_settings) - raises (noSuchFlow, - FPError); - - /// Not implemented in the light profile, throws notsupported. - Object get_fep (in string flow_name) - raises (notSupported, - noSuchFlow); - - /// Not implemented in the light profile, throws notsupported. - string add_fep (in Object the_fep) - /// Can fail for reasons {duplicateFepName, duplicateRef} - raises (notSupported, - streamOpFailed); - - /// Not implemented in the light profile, throws notsupported. - void remove_fep (in string fep_name) - raises (notSupported, - streamOpFailed); - - /// Used to "attach" a negotiator to the endpoint. - void set_negotiator (in Negotiator new_negotiator); - - /// Used for public key encryption. - void set_key (in string flow_name, - in key the_key); - - /// Used to set a unique id for packets sent by this - /// streamendpoint. - void set_source_id (in long source_id); - }; - - /** - * @interface StreamEndPoint_A - * @brief The "A" side of a streamendpoint. - */ - interface StreamEndPoint_A : StreamEndPoint - { - /// Used for ATM-style multicast. - boolean multiconnect (inout streamQoS the_qos, - inout flowSpec the_spec) - raises (noSuchFlow, QoSRequestFailed, streamOpFailed); - - /// Used for ATM-style multicast. - boolean connect_leaf (in StreamEndPoint_B the_ep, - inout streamQoS the_qos, - in flowSpec the_flows) - raises (streamOpFailed, noSuchFlow, - QoSRequestFailed, notSupported); - - /// Used for ATM-style multicast. - void disconnect_leaf (in StreamEndPoint_B the_ep, - in flowSpec theSpec) - raises(streamOpFailed, noSuchFlow, notSupported); - }; - - /** - * @interface StreamEndPoint_B - * @brief The "B" side of a streamendpoint. - */ - interface StreamEndPoint_B : StreamEndPoint - { - /// Used for ATM-style multicast. - boolean multiconnect (inout streamQoS the_qos, - inout flowSpec the_spec) - raises (streamOpFailed, noSuchFlow, - QoSRequestFailed, FPError); - - }; - - /** - * @interface VDev - * @brief Implements the VDev interface. One of these is created per - * connection, and represents device-specific parameters. - */ - interface VDev : CosPropertyService::PropertySet - { - /// Called to tell the vdev who the streamctrl, peer vdev is. - boolean set_peer (in StreamCtrl the_ctrl, - in VDev the_peer_dev, - inout streamQoS the_qos, - in flowSpec the_spec) - raises (noSuchFlow, - QoSRequestFailed, - streamOpFailed); - - /// Used to set the streamctrl and multicast device. - boolean set_Mcast_peer (in StreamCtrl the_ctrl, - in MCastConfigIf a_mcastconfigif, - inout streamQoS the_qos, - in flowSpec the_spec) - raises (noSuchFlow, - QoSRequestFailed, - streamOpFailed); - - /// Called by the peer VDev to configure the device (catch all). - void configure (in CosPropertyService::Property the_config_mesg) - raises (PropertyException, - streamOpFailed); - - /// Uses standardised by OMG and IETF - /// Used to set a format on a flowname. - void set_format (in string flowName, - in string format_name) - raises (notSupported); - - // = Note, some of these device params are standardised by OMG - /// Used to set device parameters. - void set_dev_params (in string flowName, - in CosPropertyService::Properties new_params) - raises (PropertyException, - streamOpFailed); - - /// Called to change QoS of the device. - boolean modify_QoS (inout streamQoS the_qos, - in flowSpec the_spec) - raises (noSuchFlow, - QoSRequestFailed); - - - }; - - /** - * @interface MMDevice - * @brief Implements a factory to create Endpoints and VDevs. - */ - interface MMDevice : CosPropertyService::PropertySet - { - /// Called by StreamCtrl to create a "A" type streamendpoint and - /// vdev. - StreamEndPoint_A create_A (in StreamCtrl the_requester, - out VDev the_vdev, - inout streamQoS the_qos, - out boolean met_qos, - inout string named_vdev, - in flowSpec the_spec) - raises (streamOpFailed, - streamOpDenied, - notSupported, - QoSRequestFailed, - noSuchFlow); - - /// Called by StreamCtrl to create a "B" type streamendpoint and - /// vdev. - StreamEndPoint_B create_B(in StreamCtrl the_requester, - out VDev the_vdev, - inout streamQoS the_qos, - out boolean met_qos, - inout string named_vdev, - in flowSpec the_spec) - raises (streamOpFailed, - streamOpDenied, - notSupported, - QoSRequestFailed, - noSuchFlow); - - /// Can be used to request the MMDevice to create a new - /// StreamCtrl, and call bind_devs on it. - StreamCtrl bind (in MMDevice peer_device, - inout streamQoS the_qos, - out boolean is_met, - in flowSpec the_spec) - raises (streamOpFailed, - noSuchFlow, - QoSRequestFailed); - - /// Multicast bind. - StreamCtrl bind_mcast (in MMDevice first_peer, - inout streamQoS the_qos, - out boolean is_met, - in flowSpec the_spec) - raises (streamOpFailed, - noSuchFlow, - QoSRequestFailed); - - /// Remove the StreamEndPoint and the related vdev. - void destroy (in StreamEndPoint the_ep, - in string vdev_name) - // ie VDev not found - raises (notSupported); - - /// Not supported in the light profile, raises notsupported. - string add_fdev (in Object the_fdev) - raises (notSupported, - streamOpFailed); - - /// Not supported in the light profile, raises notsupported. - Object get_fdev (in string flow_name) - raises (notSupported, - noSuchFlow); - - /// Not supported in the light profile, raises notsupported. - void remove_fdev (in string flow_name) - raises (notSupported, - noSuchFlow, - streamOpFailed); - }; - - // Define the exceptions. - exception protocolNotSupported{}; - exception formatNotSupported{}; - exception formatMismatch{}; - exception FEPMismatch{}; - exception alreadyConnected{}; - exception invalidSettings{string settings;}; - exception notConnected{}; - exception deviceQosMismatch{}; - exception failedToConnect{string reason;}; - exception failedToListen{string reason;}; - - // Forward declarations of the interfaces. - interface FlowProducer; - interface FlowConsumer; - interface FlowEndPoint; - interface FDev; - - interface FlowConnection : CosPropertyService::PropertySet{ - void stop(); - void start(); - void destroy(); - - boolean modify_QoS(inout AVStreams::QoS new_qos) - raises (AVStreams::QoSRequestFailed); - - boolean use_flow_protocol(in string fp_name, - in any fp_settings) - raises (AVStreams::FPError, AVStreams::notSupported); - - oneway void push_event(in AVStreams::streamEvent the_event); - - boolean connect_devs(in FDev a_party, in FDev b_party, - inout AVStreams::QoS the_qos) - raises (AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::QoSRequestFailed); - - boolean connect(in FlowProducer flow_producer, - in FlowConsumer flow_consumer, - inout AVStreams::QoS the_qos) - raises (formatMismatch, FEPMismatch, alreadyConnected); - - boolean disconnect(); - - // The notSupported exception is raised where - // flow cannot have multiple producers - boolean add_producer(in FlowProducer flow_producer, - inout AVStreams::QoS the_qos) - raises (alreadyConnected, AVStreams::notSupported); - - boolean add_consumer(in FlowConsumer flow_consumer, - inout AVStreams::QoS the_qos) - raises (alreadyConnected); - - boolean drop(in FlowEndPoint target) - raises (notConnected); - }; - - interface FlowEndPoint : CosPropertyService::PropertySet - { - boolean lock(); - void unlock(); - - void stop(); - void start(); - void destroy(); - - /// Default is a nil object reference - attribute AVStreams::StreamEndPoint related_sep; - attribute FlowConnection related_flow_connection; - - FlowEndPoint get_connected_fep() - raises (notConnected,AVStreams::notSupported); - - /// syntax of fp_name is - boolean use_flow_protocol(in string fp_name, - in any fp_settings) - raises (AVStreams::FPError, AVStreams::notSupported); - - /// set_format() initializes ëformatí - /// as current media format e.g. MPEG. - void set_format(in string format) - raises (AVStreams::notSupported); - - void set_dev_params(in CosPropertyService::Properties new_settings) - // raises (CosPropertyService::PropertyException, AVStreams::streamOpFailed); - raises (PropertyException, AVStreams::streamOpFailed); - - void set_protocol_restriction(in AVStreams::protocolSpec the_spec) - raises (AVStreams::notSupported); - - boolean is_fep_compatible(in FlowEndPoint fep) - raises (formatMismatch, deviceQosMismatch); - - boolean set_peer(in FlowConnection the_fc, - in FlowEndPoint the_peer_fep, - inout AVStreams::QoS the_qos) - raises (AVStreams::QoSRequestFailed, - AVStreams::streamOpFailed); - - boolean set_Mcast_peer(in FlowConnection the_fc, - in AVStreams::MCastConfigIf a_mcastconfigif, - inout AVStreams::QoS the_qos) - raises (AVStreams::QoSRequestFailed); - - boolean connect_to_peer(inout AVStreams::QoS the_qos, - in string address, - in string use_flow_protocol) // syntax - raises(failedToConnect,AVStreams::FPError, AVStreams::QoSRequestFailed); - - /// Needs to know its peer to choose its protocol correctly - /// Also to ask for a reverse channel for credit-based flow - /// control, if one is required - string go_to_listen(inout AVStreams::QoS the_qos, - in boolean is_mcast, - in FlowEndPoint peer, - inout string flowProtocol)// syntax - // The out value of flowProtocol contains SFP version - // supported and all options including "Credit". - raises(failedToListen, AVStreams::FPError, - AVStreams::QoSRequestFailed); - }; - - interface FlowProducer : FlowEndPoint - { - string connect_mcast(inout AVStreams::QoS the_qos, - out boolean is_met, - in string address, - in string use_flow_protocol) - raises (failedToConnect, - AVStreams::notSupported, - AVStreams::FPError, - AVStreams::QoSRequestFailed); - - string get_rev_channel(in string pcol_name); - void set_key(in AVStreams::key the_key); - void set_source_id(in long source_id); - }; - - interface FlowConsumer : FlowEndPoint - { - }; - - interface FDev : CosPropertyService::PropertySet { - FlowProducer create_producer(in FlowConnection the_requester, - inout AVStreams::QoS the_qos, - out boolean met_qos, - inout string named_fdev) - raises(AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed); - - FlowConsumer create_consumer(in FlowConnection the_requester, - inout AVStreams::QoS the_qos, - out boolean met_qos, - inout string named_fdev) - raises(AVStreams::streamOpFailed, - AVStreams::streamOpDenied, - AVStreams::notSupported, - AVStreams::QoSRequestFailed); - - FlowConnection bind(in FDev peer_device, - inout AVStreams::QoS the_qos, - out boolean is_met) - raises (AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed); - - FlowConnection bind_mcast(in FDev first_peer, - inout AVStreams::QoS the_qos, - out boolean is_met) - raises (AVStreams::streamOpFailed, - AVStreams::QoSRequestFailed); - - void destroy(in FlowEndPoint the_ep, in string fdev_name) - // ie FDev not found - raises (AVStreams::notSupported); - }; - - enum PositionOrigin { - AbsolutePosition, RelativePosition, ModuloPosition - }; - - enum PositionKey { - ByteCount, SampleCount, MediaTime - }; - - struct Position { - PositionOrigin origin; - PositionKey key; - long value; - }; - - exception PostionKeyNotSupported { PositionKey key;}; - exception InvalidPosition { PositionKey key;}; - - /** - * @interface MediaControl - * @brief MediaControl interface is similar to ControlledStream - * interface in MSS. It can be inherited by flow endpoints or - * FlowConnection interfaces. - */ - interface MediaControl{ - - exception PostionKeyNotSupported { PositionKey key;}; - - Position get_media_position(in PositionOrigin an_origin, - in PositionKey a_key) - raises (PostionKeyNotSupported); - - void set_media_position(in Position a_position) - raises (PostionKeyNotSupported, InvalidPosition); - - void start(in Position a_position) - raises(InvalidPosition); - void pause(in Position a_position) - raises(InvalidPosition); - void resume(in Position a_position) - raises(InvalidPosition); - void stop(in Position a_position) - raises(InvalidPosition); - }; - - // Additional sequences needed for the properties. - - typedef sequence FlowConnection_seq; - typedef sequence StreamEndPoint_A_seq; - typedef sequence StreamEndPoint_B_seq; - typedef sequence FlowEndPoint_seq; - typedef sequence Object_seq; -}; - -#endif /* TAO_AV_STREAMS_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CSI.idl b/TAO/orbsvcs/orbsvcs/CSI.idl deleted file mode 100644 index bf19d332c1e..00000000000 --- a/TAO/orbsvcs/orbsvcs/CSI.idl +++ /dev/null @@ -1,201 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file CSI.idl - * - * $Id$ - * - * @author Object Management Group - */ -//============================================================================= - - -#ifndef _CSI_IDL_ -#define _CSI_IDL_ - -// #include -#include "tao/IOP_IOR.pidl" - -module IOP -{ - const ServiceId SecurityAttributeService = 15; -}; - -module CSI { - typeprefix CSI "omg.org"; - - // The OMG VMCID; same value as CORBA::OMGVMCID. Do not change ever. - const unsigned long OMGVMCID = 0x4F4D0; - - // An X509CertificateChain contains an ASN.1 BER encoded SEQUENCE - // [1..MAX] OF X.509 certificates encapsulated in a sequence of octets. The - // subject's certificate shall come first in the list. Each following - // certificate shall directly certify the one preceding it. The ASN.1 - // representation of Certificate is as defined in [IETF RFC 2459]. - typedef sequence X509CertificateChain; - - // an X.501 type name or Distinguished Name encapsulated in a sequence of - // octets containing the ASN.1 encoding. - typedef sequence X501DistinguishedName; - - // UTF-8 Encoding of String - typedef sequence UTF8String; - - // ASN.1 Encoding of an OBJECT IDENTIFIER - typedef sequence OID; - typedef sequence OIDList; - - // A sequence of octets containing a GSStoken. Initial context tokens are - // ASN.1 encoded as defined in [IETF RFC 2743] Section 3.1, - // "Mechanism-Independent token Format", pp. 81-82. Initial context tokens - // contain an ASN.1 tag followed by a token length, a mechanism identifier, - // and a mechanism-specific token (i.e. a GSSUP::InitialContextToken). The - // encoding of all other GSS tokens (e.g. error tokens and final context - // tokens) is mechanism dependent. - typedef sequence GSSToken; - - // An encoding of a GSS Mechanism-Independent Exported Name Object as - // defined in [IETF RFC 2743] Section 3.2, "GSS Mechanism-Independent - // Exported Name Object Format," p. 84. - typedef sequence GSS_NT_ExportedName; - typedef sequence GSS_NT_ExportedNameList; - - // The MsgType enumeration defines the complete set of service context - // message types used by the CSI context management protocols, including - // those message types pertaining only to the stateful application of the - // protocols (to insure proper alignment of the identifiers between - // stateless and stateful implementations). Specifically, the - // MTMessageInContext is not sent by stateless clients (although it may - // be received by stateless targets). - typedef short MsgType; - - const MsgType MTEstablishContext = 0; - const MsgType MTCompleteEstablishContext = 1; - const MsgType MTContextError = 4; - const MsgType MTMessageInContext = 5; - - // The ContextId type is used carry session identifiers. A stateless - // application of the service context protocol is indicated by a session - // identifier value of 0. - typedef unsigned long long ContextId; - - // The AuthorizationElementType defines the contents and encoding of - // the_element field of the AuthorizationElement. - // The high order 20-bits of each AuthorizationElementType constant - // shall contain the Vendor Minor Codeset ID (VMCID) of the - // organization that defined the element type. The low order 12 bits - // shall contain the organization-scoped element type identifier. The - // high-order 20 bits of all element types defined by the OMG shall - // contain the VMCID allocated to the OMG (that is, 0x4F4D0). - typedef unsigned long AuthorizationElementType; - - // An AuthorizationElementType of X509AttributeCertChain indicates - // that the_element field of the AuthorizationElement contains an - // ASN.1 BER SEQUENCE composed of an (X.509) AttributeCertificate - // followed by a SEQUENCE OF (X.509) Certificate. The two-part - // SEQUENCE is encapsulated in an octet stream. The chain of - // identity certificates is provided to certify the attribute - // certificate. Each certificate in the chain shall directly certify - // the one preceding it. The first certificate in the chain shall - // certify the attribute certificate. The ASN.1 representation of - // (X.509) Certificate is as defined in [IETF RFC 2459]. The ASN.1 - // representation of (X.509) AttributeCertificate is as defined in - // [IETF ID PKIXAC]. - const AuthorizationElementType X509AttributeCertChain = OMGVMCID | 1; - - typedef sequence AuthorizationElementContents; - - // The AuthorizationElement contains one element of an authorization token. - // Each element of an authorization token is logically a PAC. - struct AuthorizationElement { - AuthorizationElementType the_type; - AuthorizationElementContents the_element; - }; - - // The AuthorizationToken is made up of a sequence of - // AuthorizationElements - typedef sequence AuthorizationToken; - typedef unsigned long IdentityTokenType; - - // Additional standard identity token types shall only be defined by the - // OMG. All IdentityTokenType constants shall be a power of 2. - const IdentityTokenType ITTAbsent = 0; - const IdentityTokenType ITTAnonymous = 1; - const IdentityTokenType ITTPrincipalName = 2; - const IdentityTokenType ITTX509CertChain = 4; - const IdentityTokenType ITTDistinguishedName = 8; - - typedef sequence IdentityExtension; - - union IdentityToken switch ( IdentityTokenType ) { - case ITTAbsent: boolean absent; - case ITTAnonymous: boolean anonymous; - case ITTPrincipalName: GSS_NT_ExportedName principal_name; - case ITTX509CertChain: X509CertificateChain certificate_chain; - case ITTDistinguishedName: X501DistinguishedName dn; - default: IdentityExtension id; - }; - - struct EstablishContext { - ContextId client_context_id; - AuthorizationToken authorization_token; - IdentityToken identity_token; - GSSToken client_authentication_token; - }; - - struct CompleteEstablishContext { - ContextId client_context_id; - boolean context_stateful; - GSSToken final_context_token; - }; - - struct ContextError { - ContextId client_context_id; - long major_status; - long minor_status; - GSSToken error_token; - }; - - // Not sent by stateless clients. If received by a stateless server, a - // ContextError message should be returned, indicating the session does - // not exist. - struct MessageInContext { - ContextId client_context_id; - boolean discard_context; - }; - - union SASContextBody switch ( MsgType ) { - case MTEstablishContext: EstablishContext establish_msg; - case MTCompleteEstablishContext: CompleteEstablishContext - complete_msg; - case MTContextError: ContextError error_msg; - case MTMessageInContext: MessageInContext in_context_msg; - }; - - // The following type represents the string representation of an ASN.1 - // OBJECT IDENTIFIER (OID). OIDs are represented by the string "oid:" - // followed by the integer base 10 representation of the OID separated - // by dots. For example, the OID corresponding to the OMG is represented - // as: "oid:2.23.130" - typedef string StringOID; - - // The GSS Object Identifier for the KRB5 mechanism is: - // { iso(1) member-body(2) United States(840) mit(113554) infosys(1) - // gssapi(2) krb5(2) } - const StringOID KRB5MechOID = "oid:1.2.840.113554.1.2.2"; - - // The GSS Object Identifier for name objects of the Mechanism-independent - // Exported Name Object type is: - // { iso(1) org(3) dod(6) internet(1) security(5) nametypes(6) - // gss-api-exported-name(4) } - const StringOID GSS_NT_Export_Name_OID = "oid:1.3.6.1.5.6.4"; - - // The GSS Object Identifier for the scoped-username name form is: - // { iso-itu-t (2) international-organization (23) omg (130) security (1) - // naming (2) scoped-username(1) } - const StringOID GSS_NT_Scoped_Username_OID = "oid:2.23.130.1.2.1"; - -}; // CSI - -#endif diff --git a/TAO/orbsvcs/orbsvcs/CSIIOP.idl b/TAO/orbsvcs/orbsvcs/CSIIOP.idl deleted file mode 100644 index 548ddb0f76d..00000000000 --- a/TAO/orbsvcs/orbsvcs/CSIIOP.idl +++ /dev/null @@ -1,153 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file CSIIOP.idl - * - * $Id$ - * - * @author Object Management Group - */ -//============================================================================= - -#ifndef _CSIIOP_IDL_ -#define _CSIIOP_IDL_ - -//#include -#include "tao/IOP_IOR.pidl" -#include "CSI.idl" -//import ::IOP -//import ::CSI - -module IOP -{ - const ComponentId TAG_CSI_SEC_MECH_LIST = 33; - const ComponentId TAG_NULL_TAG = 34; - const ComponentId TAG_SECIOP_SEC_TRANS = 35; - const ComponentId TAG_TLS_SEC_TRANS = 36; -}; - -module CSIIOP { - typeprefix CSIIOP "omg.org"; - - // Association options - typedef unsigned short AssociationOptions; - - const AssociationOptions NoProtection = 1; - const AssociationOptions Integrity = 2; - const AssociationOptions Confidentiality = 4; - const AssociationOptions DetectReplay = 8; - const AssociationOptions DetectMisordering = 16; - const AssociationOptions EstablishTrustInTarget = 32; - const AssociationOptions EstablishTrustInClient = 64; - const AssociationOptions NoDelegation = 128; - const AssociationOptions SimpleDelegation = 256; - const AssociationOptions CompositeDelegation = 512; - const AssociationOptions IdentityAssertion = 1024; - const AssociationOptions DelegationByClient = 2048; - - // The high order 20-bits of each ServiceConfigurationSyntax constant - // shall contain the Vendor Minor Codeset ID (VMCID) of the - // organization that defined the syntax. The low order 12 bits shall - // contain the organization-scoped syntax identifier. The high-order 20 - // bits of all syntaxes defined by the OMG shall contain the VMCID - // allocated to the OMG (that is, 0x4F4D0). - typedef unsigned long ServiceConfigurationSyntax; - - const ServiceConfigurationSyntax SCS_GeneralNames = CSI::OMGVMCID | 0; - const ServiceConfigurationSyntax SCS_GSSExportedName = CSI::OMGVMCID | 1; - - typedef sequence ServiceSpecificName; - - // The name field of the ServiceConfiguration structure identifies a - // privilege authority in the format identified in the syntax field. If the - // syntax is SCS_GeneralNames, the name field contains an ASN.1 (BER) - // SEQUENCE [1..MAX] OF GeneralName, as defined by the type GeneralNames in - // [IETF RFC 2459]. If the syntax is SCS_GSSExportedName, the name field - // contains a GSS exported name encoded according to the rules in - // [IETF RFC 2743] Section 3.2, "Mechanism-Independent Exported Name - // Object Format," p. 84. - - struct ServiceConfiguration { - ServiceConfigurationSyntax syntax; - ServiceSpecificName name; - }; - - typedef sequence ServiceConfigurationList; - - // The body of the TAG_NULL_TAG component is a sequence of octets of - // length 0. - - // type used to define AS layer functionality within a compound mechanism - // definition - - struct AS_ContextSec { - AssociationOptions target_supports; - AssociationOptions target_requires; - CSI::OID client_authentication_mech; - CSI::GSS_NT_ExportedName target_name; - }; - - // type used to define SAS layer functionality within a compound mechanism - // definition - - struct SAS_ContextSec { - AssociationOptions target_supports; - AssociationOptions target_requires; - ServiceConfigurationList privilege_authorities; - CSI::OIDList supported_naming_mechanisms; - CSI::IdentityTokenType supported_identity_types; - }; - - // type used in the body of a TAG_CSI_SEC_MECH_LIST component to - // describe a compound mechanism - - struct CompoundSecMech { - AssociationOptions target_requires; - IOP::TaggedComponent transport_mech; - AS_ContextSec as_context_mech; - SAS_ContextSec sas_context_mech; - }; - - typedef sequence CompoundSecMechanisms; - - // type corresponding to the body of a TAG_CSI_SEC_MECH_LIST - // component - - struct CompoundSecMechList { - boolean stateful; - CompoundSecMechanisms mechanism_list; - }; - - struct TransportAddress { - string host_name; - unsigned short port; - }; - - typedef sequence TransportAddressList; - - // Tagged component for configuring SECIOP as a CSIv2 transport mechanism - - const IOP::ComponentId TAG_SECIOP_SEC_TRANS = 35; - - struct SECIOP_SEC_TRANS { - AssociationOptions target_supports; - AssociationOptions target_requires; - CSI::OID mech_oid; - CSI::GSS_NT_ExportedName target_name; - TransportAddressList addresses; - }; - - // tagged component for configuring TLS/SSL as a CSIv2 transport mechanism - - const IOP::ComponentId TAG_TLS_SEC_TRANS = 36; - - struct TLS_SEC_TRANS { - AssociationOptions target_supports; - AssociationOptions target_requires; - TransportAddressList addresses; - }; - -}; //CSIIOP - -#endif diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp deleted file mode 100644 index 80eeaf1d7ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// $Id$ - -#ifndef ACE_CHANNEL_CLIENTS_T_CPP -#define ACE_CHANNEL_CLIENTS_T_CPP - -#include "orbsvcs/Channel_Clients_T.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Channel_Clients_T.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template void -ACE_PushConsumer_Adapter::push (const RtecEventComm::EventSet& events - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - target_->push (events ACE_ENV_ARG_PARAMETER); -} - -template void -ACE_PushConsumer_Adapter::disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - - target_->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template void -ACE_PushSupplier_Adapter::disconnect_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - target_->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_CHANNEL_CLIENTS_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h deleted file mode 100644 index 10071d978ea..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Channel_Clients_T -// -// = AUTHOR -// Tim Harrison (harrison@cs.wustl.edu) and -// Douglas Schmidt (schmidt@cs.wustl.edu) -// -// = DESCRIPTION -// These classes allow applications to be consumer, suppliers, and -// consumer suppliers, as well as being active objects. This is -// accomplished with adapters to prevent the use of multiple -// inheritence (which is this root of all evil.) -// -// ============================================================================ - -#ifndef ACE_CHANNEL_CLIENTS_T_H -#define ACE_CHANNEL_CLIENTS_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventCommS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class ACE_PushConsumer_Adapter - * - * @brief ACE Push Consumer Adapter - * - * Forwards all calls to the target_. - */ -template -class ACE_PushConsumer_Adapter : public POA_RtecEventComm::PushConsumer -{ -public: - /// Forwards all calls to @a target. - ACE_PushConsumer_Adapter (TARGET *target); - - /// Forwards to target_. - virtual void push (const RtecEventComm::EventSet& events - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( CORBA::SystemException)); - - /// Forwards to target_. - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( CORBA::SystemException)); - -private: - TARGET *target_; -}; - -// ************************************************************ - -/** - * @class ACE_PushSupplier_Adapter - * - * @brief ACE Push Supplier Adapter - * - * Forwards all calls to disconnect_push_supplier to the target_. - */ -template -class ACE_PushSupplier_Adapter : public POA_RtecEventComm::PushSupplier -{ -public: - /// Forwards all calls to . - ACE_PushSupplier_Adapter (TARGET *target); - - /// Forwards to target_. - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( CORBA::SystemException)); - -private: - TARGET *target_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Channel_Clients_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Channel_Clients_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Channel_Clients_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* ACE_CHANNEL_CLIENTS_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.i b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.i deleted file mode 100644 index 3c21f6c9bb2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.i +++ /dev/null @@ -1,19 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -ACE_PushConsumer_Adapter::ACE_PushConsumer_Adapter (TARGET *t) - : target_ (t) -{ -} - -template ACE_INLINE -ACE_PushSupplier_Adapter::ACE_PushSupplier_Adapter (TARGET *t) - : target_ (t) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp deleted file mode 100644 index 3e62837cfdb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp +++ /dev/null @@ -1,246 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/Concurrency_Service -// -// = FILENAME -// CC_Lock.cpp -// -// = DESCRIPTION -// This class implements a lock used by the lock set from the -// concurrency control service. -// -// = AUTHORS -// Torben Worm -// -// ============================================================================ - -#include "orbsvcs/Concurrency/CC_Lock.h" -#include "ace/Log_Msg.h" - -ACE_RCSID (Concurrency, - CC_Lock, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CC_Lock::CC_Lock (void) - : mode_ (CosConcurrencyControl::intention_read), - lock_held_ (0) -{ -} - -CC_Lock::CC_Lock (CosConcurrencyControl::lock_mode mode) - : mode_ (mode), - lock_held_ (0) -{ -} - -CC_Lock::~CC_Lock (void) -{ -} - -void -CC_Lock::lock (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, - "CC_Lock::lock\n")); - lock_held_++; -} - -CORBA::Boolean -CC_Lock::try_lock (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_DEBUG ((LM_DEBUG, - "CC_Lock::try_lock. ")); - - lock_held_++; - - ACE_DEBUG ((LM_DEBUG, - "lock_held_: %i, ", - lock_held_)); - - int success = 0;//semaphore_.tryacquire (); - - ACE_DEBUG ((LM_DEBUG, - "success: %i\n", success)); - - if (success == -1) - { - if (errno == EBUSY) - { - lock_held_--; - return 0; - } - else - ACE_THROW_RETURN (CORBA::INTERNAL (), - 0); - } - ACE_DEBUG ((LM_DEBUG, - "lock_held_: %i, ", - lock_held_)); - - return 1; -} - -void -CC_Lock::unlock (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_DEBUG ((LM_DEBUG, - "CC_Lock::unlock\n")); - if (lock_held_ == 0) - ACE_THROW (CosConcurrencyControl::LockNotHeld ()); - - int success = 0; //semaphore_.release (); - - if (success == -1) - ACE_THROW (CORBA::INTERNAL ()); - - lock_held_--; - - ACE_DEBUG ((LM_DEBUG, - "lock_held_: %i, ", - lock_held_)); -} - -void -CC_Lock::change_mode (CosConcurrencyControl::lock_mode new_mode - ACE_ENV_ARG_DECL) -{ - ACE_DEBUG ((LM_DEBUG, - "CC_Lock::change_mode\n")); - - // @@TAO Hmmm, we cannot really do anything at present since there - // is only one lock per lock set and that lock is essentially a - // write lock - - if (lock_held_ == 0) - ACE_THROW (CosConcurrencyControl::LockNotHeld ()); - - this->mode_ = new_mode; -} - -void -CC_Lock::set_mode (CosConcurrencyControl::lock_mode mode) -{ - this->mode_ = mode; -} - -CORBA::Boolean -CC_Lock::Compatible (const CC_Lock &other) -{ - return this->Compatible (other.mode_); -} - -CORBA::Boolean -CC_Lock::Compatible (CosConcurrencyControl::lock_mode mode) -{ - return compatible_[this->mode_][mode]; -} - -CosConcurrencyControl::lock_mode -CC_Lock::GetMode (void) -{ - return mode_; -} - -int -CC_Lock::GetLocksHeld (void) -{ - return this->lock_held_; -} - -void -CC_Lock::DecLocksHeld (void) -{ - this->lock_held_--; -} - -void -CC_Lock::dump (void) -{ - ACE_DEBUG ((LM_DEBUG, - "mode_ %i, lock_held_: %i\n", - mode_, - lock_held_)); -} - -// The check of compatibility is a hard coded table statically -// allocated. This table must be changed if the number of lock modes -// or their compatibility are changed. The table here looks different -// from the table in the spec, this is due to the different ordering -// of the lock modes in the table and in the enum in the IDL. The -// first index in the array is the mode held by this lock and the -// second index is the requested mode. -// Requested mode -// Held mode R W U IR IW -// R X X -// W X X X X X -// U X X X X = conflict -// IR X -// IW X X X -// -CORBA::Boolean CC_Lock::compatible_[NUMBER_OF_LOCK_MODES][NUMBER_OF_LOCK_MODES] ={ - {1, 0, 1, 1, 0}, - {0, 0, 0, 0, 0}, - {1, 0, 0, 1, 0}, - {1, 0, 1, 1, 1}, - {0, 0, 0, 1, 1}}; - -// CC_LockModeterator - -CC_LockModeIterator::CC_LockModeIterator (void) - : current_ (CosConcurrencyControl::intention_read) -{ -} - -CC_LockModeIterator::~CC_LockModeIterator (void) -{ - // Do nothing -} -void CC_LockModeIterator::First (void) -{ - current_ = CosConcurrencyControl::intention_read; -} - -void CC_LockModeIterator::Next (ACE_ENV_SINGLE_ARG_DECL) -{ - switch (current_) - { - case CosConcurrencyControl::intention_read: - current_ = CosConcurrencyControl::read; - break; - case CosConcurrencyControl::read: - current_ = CosConcurrencyControl::upgrade; - break; - case CosConcurrencyControl::upgrade: - current_ = CosConcurrencyControl::intention_write; - break; - case CosConcurrencyControl::intention_write: - current_ = CosConcurrencyControl::write; - break; - case CosConcurrencyControl::write: - ACE_THROW (CORBA::INTERNAL ()); - default: - ACE_THROW (CORBA::INTERNAL ()); - } -} - -CORBA::Boolean -CC_LockModeIterator::IsDone (void) -{ - if (current_ == CosConcurrencyControl::write) - return 1; - else - return 0; -} - -CosConcurrencyControl::lock_mode -CC_LockModeIterator::GetLockMode (void) -{ - return current_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.h b/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.h deleted file mode 100644 index 622f973a9df..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.h +++ /dev/null @@ -1,148 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CC_Lock.h - * - * $Id$ - * - * This class implements a lock used by the lock set from the - * concurrency control service - * - * - * @author Torben Worm - */ -//============================================================================= - - -#ifndef _CC_LOCK_H -#define _CC_LOCK_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosConcurrencyControlC.h" -#include "orbsvcs/Concurrency/concurrency_serv_export.h" - -/// This constant defines the number of lock modes. There is really no -/// way to set this constant dynamically because the nuber of lock -/// modes are not stated as part of the IDL. -#define NUMBER_OF_LOCK_MODES 5 - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class CC_Lock - * - * @brief CC_Lock - * - * This class implements the lock concept from the concurrency - * control service. The lock holds its mode - this might later - * be changed to subclasses depending on the differences of the - * locks. At present the is only a lock-pr-thread/client-type - * which is essentially a write lock since it is not allowed to - * have more than one lock pr. servant in this implementation. - */ -class TAO_Concurrency_Serv_Export CC_Lock -{ -public: - /// Creates the lock with mode = intention_read (weakest) - CC_Lock (void); - - /// Creates the lock with the desired mode - CC_Lock (CosConcurrencyControl::lock_mode mode); - - /// Deletes the lock - ~CC_Lock (void); - - /// Acquires this lock. Blocks until lock is obtained - void lock (ACE_ENV_SINGLE_ARG_DECL); - - /// Tries to acquire this lock. If it is not possible to acquire the - /// lock, false is returned - CORBA::Boolean try_lock (ACE_ENV_SINGLE_ARG_DECL); - - /// Releases this lock. - void unlock (ACE_ENV_SINGLE_ARG_DECL); - - /// Changes the mode of this lock. - void change_mode (CosConcurrencyControl::lock_mode new_mode - ACE_ENV_ARG_DECL); - - /// Sets the mode_ of the lock. Used in initialization - void set_mode (CosConcurrencyControl::lock_mode mode); - - /// Returns true if this lock is compatible with the other lock. - CORBA::Boolean Compatible (const CC_Lock &other); - - /// Returns true is this lock is compatible with the referenced mode. - CORBA::Boolean Compatible (CosConcurrencyControl::lock_mode mode); - - /// Returns the mode of the lock. - CosConcurrencyControl::lock_mode GetMode (void); - - /// Returns the number of times this lock have been locked - int GetLocksHeld(void); - - /// Decrements the number of locks held in this mode. Used by change_mode. - void DecLocksHeld(void); - - /// Dumps the state of the object to stdout - void dump(void); - -protected: - /// Holds the lock's mode. - CosConcurrencyControl::lock_mode mode_; - -private: - /// If greater than zero the lock is held (that number of times). - int lock_held_; - - /// Defines the compatibility of the locks. - static CORBA::Boolean compatible_[NUMBER_OF_LOCK_MODES][NUMBER_OF_LOCK_MODES]; -}; - -/** - * @class CC_LockModeIterator - * - * @brief CC_LockModeIterator - * - * This class implements an iterator over the lock modes in - * order to make an ordered traversal over the locks from the - * weakest (intention read) to the strongest (write). - * Ordering: IR -> R -> U -> IW -> W - */ -class TAO_Concurrency_Serv_Export CC_LockModeIterator -{ -public: - /// Default constructor - CC_LockModeIterator(void); - - /// Destructor - ~CC_LockModeIterator(void); - - /// Reset the iterator to the first element - void First(void); - - /// Advance the iterator to the next element - /// Throws exception if out of range - void Next(ACE_ENV_SINGLE_ARG_DECL); - - /// Returns true if the iterator has reached the last element - CORBA::Boolean IsDone(void); - - /// Get the current element - CosConcurrencyControl::lock_mode GetLockMode(void); - -private: - CosConcurrencyControl::lock_mode current_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* !defined (_CC_LOCK_H) */ diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp deleted file mode 100644 index 91ef3d63be5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp +++ /dev/null @@ -1,330 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CC_LockSet.cpp -// -// = AUTHOR -// Torben Worm -// -// ============================================================================ - -#include "orbsvcs/Concurrency/CC_LockSet.h" - -ACE_RCSID (Concurrency, - CC_LockSet, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Default constructor. - -CC_LockSet::CC_LockSet (void) - : related_lockset_ (0) -{ - ACE_TRY_NEW_ENV - { - this->Init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "CC_LockSet::CC_LockSet (void)"); - } - ACE_ENDTRY; -} - -// Constructor used to create related lock sets. - -CC_LockSet::CC_LockSet (CosConcurrencyControl::LockSet_ptr related) - : related_lockset_ (related) -{ - ACE_TRY_NEW_ENV - { - this->Init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "CC_LockSet::CC_LockSet (...)"); - } - ACE_ENDTRY; -} - -// Initialization. - -void -CC_LockSet::Init (ACE_ENV_SINGLE_ARG_DECL) -{ - // Set the mode of the statically allocated locks - lock_[CC_IR] = 0; - lock_[CC_R] = 0; - lock_[CC_U] = 0; - lock_[CC_IW] = 0; - lock_[CC_W] = 0; - - // Acquire the semaphore in order to be able to put requests on hold - if (semaphore_.acquire () == -1) - ACE_THROW (CORBA::INTERNAL ()); -} - -// Destructor - -CC_LockSet::~CC_LockSet (void) -{ -} - -// Returns true if the requested lock mode is compatible with the -// modes held. False otherwise. - -CORBA::Boolean CC_LockSet::compatible (CC_LockModeEnum mr) -{ - for (size_t i = CC_IR; i <= CC_W; i++) - if (this->lock_[i] > 0) - if (this->compatible_[i][mr] == 0) - return 0; - - return 1; -} - -// Locks the lock in the desired mode. Blocks until success. - -void -CC_LockSet::lock (CosConcurrencyControl::lock_mode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_DEBUG ((LM_DEBUG, "CC_LockSet::lock\n")); - - CC_LockModeEnum lm = lmconvert (mode); - - // Check to see if the requested mode is compatible with the modes - // held so far. If not put the request on hold. - - // @@ It's important to document somewhere that this code relies on - // the FIFO properties of ACE_Token! - if (this->lock_i (lm) == 1) - if (semaphore_.acquire () == -1) - ACE_THROW (CORBA::INTERNAL ()); -} - -// Tries to lock. If it is not possible false is returned. - -CORBA::Boolean -CC_LockSet::try_lock (CosConcurrencyControl::lock_mode mode - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CC_LockModeEnum lm = lmconvert (mode); - - ACE_DEBUG ((LM_DEBUG, - "CC_LockSet::try_lock\n")); - - if (this->try_lock_i (lm) == 0) - return 0; - else - return 1; -} - -// Converts the enum from the spec to the internally (ordered) -// enum. - -CC_LockModeEnum -CC_LockSet::lmconvert (CosConcurrencyControl::lock_mode mode) -{ - switch (mode) - { - case CosConcurrencyControl::intention_read: - return CC_IR; - case CosConcurrencyControl::read: - return CC_R; - case CosConcurrencyControl::upgrade: - return CC_U; - case CosConcurrencyControl::intention_write: - return CC_IW; - case CosConcurrencyControl::write: - return CC_W; - default: - return CC_EM; - } -} - -// Unlock the lock - -void -CC_LockSet::unlock (CosConcurrencyControl::lock_mode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosConcurrencyControl::LockNotHeld)) -{ - ACE_DEBUG ((LM_DEBUG, - "CC_LockSet::unlock\n")); - - CC_LockModeEnum lm = lmconvert (mode); - - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mlock_); - - if (lock_[lm] == 0) // This lock is not held. - ACE_THROW (CosConcurrencyControl::LockNotHeld()); - else - lock_[lm]--; - - // If we do not have a lock held in a weaker mode than the - // strongest held and we have requests on the semaphore signal - // the semaphore. - while (lock_queue_.size () > 0) - { - CC_LockModeEnum lock_on_queue = CC_EM; - - lock_queue_.dequeue_head (lock_on_queue); - - if (compatible (lock_on_queue) == 1) - { - if (semaphore_.release () == -1) - ACE_THROW (CORBA::INTERNAL ()); - lock_[lock_on_queue]++; - } - else - { - lock_queue_.enqueue_head (lock_on_queue); - break; - } - } - this->dump (); -} - -// Changes the mode of a held lock. - -void -CC_LockSet::change_mode (CosConcurrencyControl::lock_mode held_mode, - CosConcurrencyControl::lock_mode new_mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosConcurrencyControl::LockNotHeld)) -{ - ACE_DEBUG ((LM_DEBUG, - "CC_LockSet::change_mode\n")); - CC_LockModeEnum lm_held = lmconvert (held_mode); - CC_LockModeEnum lm_new = lmconvert (new_mode); - - if (this->lock_held (lm_held) == 0) // This lock is not held - ACE_THROW (CosConcurrencyControl::LockNotHeld()); - else if (this->change_mode_i (lm_held, lm_new)==1) - { - this->unlock (held_mode ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (semaphore_.acquire () == -1) - ACE_THROW (CORBA::INTERNAL ()); - } - // this->dump (); -} - -int -CC_LockSet::lock_i (CC_LockModeEnum lm) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mlock_, 1); - // If the lock is not compatible with the locks we hold allready or - // there is lock requests in the queue we cannot grant the lock and - // thus we queue the request. Otherwise update the lock count. - if (compatible (lm) == 0 || lock_queue_.size () > 0) - { - // Put the lock mode in the queue - lock_queue_.enqueue_tail (lm); - this->dump (); - return 1; // Lock the semaphore. - } - else - lock_[lm]++; - - this->dump (); - return 0; -} - -int -CC_LockSet::try_lock_i (CC_LockModeEnum lm) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mlock_, 1); - // If the lock we try is compatible with the locks we hold we just - // opdates the count. Otherwise we return false. - if (compatible (lm) == 0) - { - this->dump (); - return 0; - } - else - lock_[lm]++; - - this->dump (); - return 1; -} - -int -CC_LockSet::change_mode_i (CC_LockModeEnum lm_held, - CC_LockModeEnum lm_new) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mlock_, 1); - // If the new mode is compatible with the modes we hold we change - // the counts for the two locks. If not we must queue the new - // request. We can decrement the count for the old mode without - // signalling the semaphore because we know we only check modes - // granted this far. - - lock_[lm_held]--; - - if (compatible (lm_new) == 1) - { - lock_[lm_new]++; - this->dump (); - return 0; - } - else - { - lock_[lm_held]++; - lock_queue_.enqueue_tail (lm_new); - this->dump (); - return 1; - } -} - -int -CC_LockSet::lock_held (CC_LockModeEnum lm) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mlock_, 1); - if (lock_[lm] > 0) - return 1; - else - return 0; -} - -void -CC_LockSet::dump (void) -{ - ACE_DEBUG ((LM_DEBUG, - "waiting_calls_: %i, IR: %i, R: %i, U: %i, IW: %i, W: %i\n", - lock_queue_.size (), - lock_[CC_IR], - lock_[CC_R], - lock_[CC_U], - lock_[CC_IW], - lock_[CC_W])); -} - -CORBA::Boolean const -CC_LockSet::compatible_[NUMBER_OF_LOCK_MODES][NUMBER_OF_LOCK_MODES] = - { - {1, 1, 1, 1, 0}, - {1, 1, 1, 0, 0}, - {1, 1, 0, 0, 0}, - {1, 0, 0, 1, 0}, - {0, 0, 0, 0, 0} - }; - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.h b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.h deleted file mode 100644 index 1d01ebeef27..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.h +++ /dev/null @@ -1,199 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CC_LockSet.h - * - * $Id$ - * - * This class implements the lock set interface from the - * concurrency service. - * - * In the present implementation the multiple possesion semantics - * is implemented for non-transactional clients. In future - * versions this should be changed because the multiple possesion - * semantics does not apply to non-transactional clients. This - * can be accomplished in the following manner: - * - Make a class with the same functiallity as the CC_LockSet - * class as a base class for both implementations. - * - The functionallity that should be separated out in the - * subclasses is the compatible function which should always - * return false because no locks can be held simultanously with - * non-transactional clients. - * - Use these classes from the classes that inherits the - * servant properties, i.e. the way CC_LockSet does now. - * - * - * @author Torben Worm - */ -//============================================================================= - - -#ifndef _CC_LOCKSET_H -#define _CC_LOCKSET_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Thread_Mutex.h" -#include "ace/Token.h" -#include "ace/Unbounded_Queue.h" - -#include "orbsvcs/CosConcurrencyControlS.h" -#include "orbsvcs/Concurrency/concurrency_serv_export.h" - -#if defined (lock_held) -#undef lock_held -#endif /* lock_held */ - -/// This constant defines the number of lock modes. There is really no -/// way to set this constant dynamically because the nuber of lock -/// modes are not stated as part of the IDL. -#define NUMBER_OF_LOCK_MODES 5 - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Enummeration representing the lock modes. The incoming request is -/// always converted to this representation. There are two reasons for -/// this: Firstly the lock modes are ordered from weakest to strongest -/// in the internal representation, and secondly it is possible to -/// indicate a 'non-mode' (CC_EM) -typedef enum {CC_EM=-1, CC_IR=0, CC_R, CC_U, CC_IW, CC_W} CC_LockModeEnum; - -/** - * @class CC_LockSet - * - * @brief CC_LockSet - * - * This class implements the LockSet interface that is part of - * the CosConcurrency service. Please consult the idl file for - * detailed descriptions apart from the comments in this file At - * present the lock set is not really a set, but only one lock. - */ -class TAO_Concurrency_Serv_Export CC_LockSet : public POA_CosConcurrencyControl::LockSet -{ -public: - - // = Initialization and termination methods. - /// Default constructor - CC_LockSet (void); - - /// Constructor used if create_related is used to create the lock - /// set. - CC_LockSet (CosConcurrencyControl::LockSet_ptr related); - - /// Destructor. - ~CC_LockSet (void); - - // = CosConcurrencyControl methods - /// Acquires this lock. Blocks until lock is obtained - virtual void lock (CosConcurrencyControl::lock_mode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Tries to acquire this lock. If it is not possible to acquire the - /// lock, false is returned - virtual CORBA::Boolean try_lock (CosConcurrencyControl::lock_mode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Releases this lock. - virtual void unlock (CosConcurrencyControl::lock_mode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosConcurrencyControl::LockNotHeld)); - - /// Changes the mode of this lock. - virtual void change_mode (CosConcurrencyControl::lock_mode held_mode, - CosConcurrencyControl::lock_mode new_mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosConcurrencyControl::LockNotHeld)); - - // = Debugging methods - /// Dump the state of the object to stdout - void dump (void); - -private: - /// Converts the CORBA specification's lock mode to the internal - /// representation - CC_LockModeEnum lmconvert (CosConcurrencyControl::lock_mode mode); - - /// Initiatlizes the lock set array and acquires the initial - /// semaphore. - void Init (ACE_ENV_SINGLE_ARG_DECL); - - /// Returns true if the held lock and the requested lock are compatible - CORBA::Boolean compatible (CC_LockModeEnum mr); - - // The _i functions below ensures atomical access the the state data - // for the lock set. The functions acquires a thread lock in order - // to insure consistency within the lock set. The return value - // typically indicates whether the current thread should be - // suspended or not (by locking the semaphore. - - /// Locks the access to the data and decides whether to lock or - /// not. Returns 1 if the semaphore should be locked. - int lock_i (CC_LockModeEnum lm); - - // int unlock_i (CosConcurrencyControl::lock_mode lm); - // This function is not necessary because we lock access to the data - // and unlocks the semaphore until an invalid lock mode is first on - // the queue. Thereafter we release the lock. - - /// Locks the access to the data and determines whether to return - /// true or false. Returns 1 if true should be returned. - int try_lock_i (CC_LockModeEnum lm); - - /// Locks access to the data and determines if the semaphore should - /// be locked. Returns 1 if the semaphore should be locked. - int change_mode_i (CC_LockModeEnum lm_held, - CC_LockModeEnum lm_new); - - /// Locks access ti the data and checks whether the lock is held. - int lock_held (CC_LockModeEnum lm); - - /// An array of lock counters that counts how many locks of that type - /// that the lock set holds. - int lock_[NUMBER_OF_LOCK_MODES]; - - // ACE_Thread_Semaphore semaphore_; - /** - * This is the semaphore for the lock set. The semaphore is used to - * queue requests for locks in modes stronger than currently - * possible to grant. Note that the provides strict - * FIFO ordering of acquisition/release of the lock. - */ - ACE_Token semaphore_; - - /** - * If this lock set is related to another lock set, this is the - * pointer to the related lock set. This is a really simple - * solution, but since transactions are not supported in the first - * version there should be no reason to drop lock sets together. The - * is not implemented (it has the - * responsibilities of dropping the locks). - */ - CosConcurrencyControl::LockSet_ptr related_lockset_; - - /// Mapping between requested and held lock modes. Used by compatible - /// (...). Uses the internal enumeration as indices. - static CORBA::Boolean const compatible_[NUMBER_OF_LOCK_MODES][NUMBER_OF_LOCK_MODES]; - - /// Lock to ensure that race conditions does not occur. - TAO_SYNCH_MUTEX mlock_; - - /// Queue to hold the requested locks not yet granted. - ACE_Unbounded_Queue lock_queue_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* _CC_LOCKSET_H */ diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp deleted file mode 100644 index dfe17f3913a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================= -/** - * @file CC_LockSetFactory.cpp - * - * $Id$ - * - * @author Torben Worm - */ -//============================================================================= - - -#include "orbsvcs/Concurrency/CC_LockSetFactory.h" -#include "orbsvcs/Concurrency/CC_LockSet.h" - -ACE_RCSID(Concurrency, CC_LockSetFactory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Default constructor -CC_LockSetFactory::CC_LockSetFactory (void) -{ -} - -// Destructor. -CC_LockSetFactory::~CC_LockSetFactory (void) -{ -} - -CosConcurrencyControl::LockSet_ptr -CC_LockSetFactory::create (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CC_LockSet *ls = 0; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CosConcurrencyControl::LockSet::_nil ()); - - ACE_NEW_THROW_EX (ls, - CC_LockSet, - CORBA::NO_MEMORY()); - ACE_CHECK_RETURN (CosConcurrencyControl::LockSet::_nil ()); - - return ls->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosConcurrencyControl::LockSet_ptr -CC_LockSetFactory::create_related (CosConcurrencyControl::LockSet_ptr which - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CC_LockSet *ls = 0; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CosConcurrencyControl::LockSet::_nil ()); - - ACE_NEW_THROW_EX (ls, - CC_LockSet (which), - CORBA::NO_MEMORY()); - ACE_CHECK_RETURN (CosConcurrencyControl::LockSet::_nil ()); - - return ls->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h deleted file mode 100644 index 6a02b8ed68d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CC_LockSetFactory.h - * - * $Id$ - * - * This class implements the lock set factory interface from the - * concurrency service. - * - * - * @author Torben Worm - */ -//============================================================================= - - -#ifndef _CC_LOCKSETFACTORY_H -#define _CC_LOCKSETFACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosConcurrencyControlS.h" -#include "orbsvcs/Concurrency/concurrency_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class CC_LockSetFactory - * - * @brief CC_LockSetFactory - * - * This class implements the LockSetFactory interface that is - * part of the CosConcurrency service. Please consult the idl - * file for detailed descriptions apart from the comments in - * this file. - */ -class TAO_Concurrency_Serv_Export CC_LockSetFactory - : public POA_CosConcurrencyControl::LockSetFactory -{ -public: - - // = Initialization and termination methods. - /// Default constructor. - CC_LockSetFactory (void); - - /// Destructor. - ~CC_LockSetFactory (void); - - virtual CosConcurrencyControl::LockSet_ptr create ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CosConcurrencyControl::LockSet_ptr create_related ( - CosConcurrencyControl::LockSet_ptr which - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - /// Lock to serialize the access to the factory. - TAO_SYNCH_MUTEX lock_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* _CC_LOCKSETFACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp deleted file mode 100644 index b12a3a41e57..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp +++ /dev/null @@ -1,88 +0,0 @@ -// $Id$ - -// ================================================================ -// LIBRARY -// libTAO_CosConcurrency.so -// -// DESCRIPTION -// This class allows for dynamically loading -// the Concurrency Service. -// -// AUTHORS -// Priyanka Gontla -// Jaiganesh Balasubramanian -// ================================================================ - -#include "orbsvcs/Concurrency/Concurrency_Loader.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID (Concurrency, Concurrency_Loader, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Concurrency_Loader::TAO_Concurrency_Loader (void) -{ -} - -TAO_Concurrency_Loader::~TAO_Concurrency_Loader (void) -{ -} - -int -TAO_Concurrency_Loader::init (int argc, char *argv[]) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Initialize the ORB - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, 0 ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // This function call initializes the Concurrency Service - CORBA::Object_var object = - this->create_object (orb.in (), argc, argv ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Should we log this??? - return -1; - } - ACE_ENDTRY; - return 0; -} - -int -TAO_Concurrency_Loader::fini (void) -{ - // Remove the Concurrency Service. - this->concurrency_server_.fini(); - return 0; -} - -CORBA::Object_ptr -TAO_Concurrency_Loader::create_object (CORBA::ORB_ptr orb, - int /* argc */, - char * /* argv */ [] - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var object = - orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - PortableServer::POA_var poa = - PortableServer::POA::_narrow (object.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - PortableServer::POAManager_var poa_manager = - poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - return this->concurrency_server_.init (orb, poa.in ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_Concurrency_Serv, TAO_Concurrency_Loader) diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h b/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h deleted file mode 100644 index b49ae60f6f8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h +++ /dev/null @@ -1,74 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// =========================================================================== -// FILENAME -// Concurrency_Loader.h -// -// DESCRIPTION -// This class loads the Concurrency Service dynamically -// either from svc.conf file or call. -// -// AUTHORS -// Jaiganesh Balasubramanian -// Priyanka Gontla -// -// =========================================================================== - -#ifndef TAO_CONCURRENCY_LOADER_H -#define TAO_CONCURRENCY_LOADER_H - -#include "tao/Object_Loader.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Concurrency/Concurrency_Utils.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Concurrency_Serv_Export TAO_Concurrency_Loader : public TAO_Object_Loader -{ -public: - - /// Constructor - TAO_Concurrency_Loader (void); - - /// Destructor - ~TAO_Concurrency_Loader (void); - - /// Called by the Service Configurator framework to initialize the - /// Event Service. Defined in - virtual int init (int argc, char *argv[]); - - /// Called by the Service Configurator framework to remove the - /// Event Service. Defined in - virtual int fini (void); - - /// This function call initializes the Concurrency Service given a - /// reference to the ORB and the command line parameters. - CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, - int argc, char *argv[] - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - protected: - /// Instance of the TAO_Concurrency_Server - TAO_Concurrency_Server concurrency_server_; - -private: - - // Disallow copying and assignment. - TAO_Concurrency_Loader (const TAO_Concurrency_Loader &); - TAO_Concurrency_Loader &operator = (const TAO_Concurrency_Loader &); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_Concurrency_Serv, TAO_Concurrency_Loader) - -#endif /* TAO_CONCURRENCY_LOADER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.cpp deleted file mode 100644 index 570cef2f20f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.cpp +++ /dev/null @@ -1,126 +0,0 @@ -//============================================================================= -/** - * @file Concurrency_Utils.cpp - * - * $Id$ - * - * @author Torben Worm - */ -//============================================================================= - - -#include "ace/streams.h" -#include "orbsvcs/CosConcurrencyControlC.h" -#include "tao/debug.h" -#include "orbsvcs/Concurrency/Concurrency_Utils.h" - -ACE_RCSID (Concurrency, - Concurrency_Utils, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Default constructor -TAO_Concurrency_Server::TAO_Concurrency_Server (void) -{ -} - -// Constructor which takes an ORB and POA. -TAO_Concurrency_Server::TAO_Concurrency_Server (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa) -{ - CORBA::Object_var obj = this->init (orb, poa); -} - -// Function to initialize the concurrency server object under the -// passed orb and poa. -CORBA::Object_ptr -TAO_Concurrency_Server::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa) -{ - CORBA::Object_var obj; - - ACE_TRY_NEW_ENV - { - // @@ Huh?!? - - this->poa_= PortableServer::POA::_duplicate (poa); - - // Get the naming context ptr to NameService. - // ACE_TRY_CHECK; - - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId ("ConcurrencyService"); - - poa->activate_object_with_id (id.in (), - &this->lock_set_factory_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Stringify the objref we'll be implementing, and print it to - // stdout. Someone will take that string and give it to a - // client. Then release the object. - obj = - poa->id_to_reference (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::String_var str = - orb->object_to_string (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, - "listening as object <%s>\n", - str.in ())); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Concurrency Service"); - return CORBA::Object::_nil (); - } - ACE_ENDTRY; - - return obj._retn (); -} - -int -TAO_Concurrency_Server::fini (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - PortableServer::ObjectId_var id = - this->poa_->servant_to_id (&this->lock_set_factory_); - - this->poa_->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT ("TAO_Concurrency_Server")); - } - - return -1; - } - ACE_ENDTRY; - - return 0; -} - -CC_LockSetFactory * -TAO_Concurrency_Server::GetLockSetFactory(void) -{ - return &this->lock_set_factory_; -} - -TAO_Concurrency_Server::~TAO_Concurrency_Server (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h b/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h deleted file mode 100644 index bd2b7173f37..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Concurrency_Utils.h - * - * $Id$ - * - * This class implements a Concurrency Server wrapper class which - * holds a number of lock sets. The server must run in the - * thread per request concurrency model in order to let the - * clients block on the semaphores. - * - * - * @author Torben Worm - */ -//============================================================================= - - -#ifndef _CONCURRENCY_SERVER_H -#define _CONCURRENCY_SERVER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosConcurrencyControlC.h" -#include "orbsvcs/Concurrency/CC_LockSetFactory.h" -#include "orbsvcs/Concurrency/concurrency_serv_export.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Concurrency_Server - * - * @brief Defines a wrapper class for the implementation of the - * concurrency server. - * - * This class takes an orb and Poa reference and activates the - * concurrency service lock set factory object under them. - */ -class TAO_Concurrency_Serv_Export TAO_Concurrency_Server -{ -public: - // = Initialization and termination methods. - ///Default constructor. - TAO_Concurrency_Server (void); - - /// Takes the POA under which to register the Concurrency Service - /// implementation object. - TAO_Concurrency_Server (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa); - - /// Destructor. - ~TAO_Concurrency_Server (void); - - /// Initialize the concurrency server under the given ORB and POA. - CORBA::Object_ptr init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa); - - /// Cleanup resources. - int fini (void); - - /// Get the lock set factory. - CC_LockSetFactory *GetLockSetFactory (void); - -private: - /// This is the lock set factory activated under the POA. - CC_LockSetFactory lock_set_factory_; - - /// The POA which the lock set factory servant was registered. - PortableServer::POA_var poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* _CONCURRENCY_SERVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_export.h b/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_export.h deleted file mode 100644 index 4406ec2e93f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_CONCURRENCY_EXPORT_H -#define TAO_CONCURRENCY_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_CONCURRENCY_HAS_DLL) -# define TAO_CONCURRENCY_HAS_DLL 0 -# endif /* ! TAO_CONCURRENCY_HAS_DLL */ -#else -# if !defined (TAO_CONCURRENCY_HAS_DLL) -# define TAO_CONCURRENCY_HAS_DLL 1 -# endif /* ! TAO_CONCURRENCY_HAS_DLL */ -#endif - -#if defined (TAO_CONCURRENCY_HAS_DLL) && (TAO_CONCURRENCY_HAS_DLL == 1) -# if defined (TAO_CONCURRENCY_BUILD_DLL) -# define TAO_Concurrency_Export ACE_Proper_Export_Flag -# define TAO_CONCURRENCY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_CONCURRENCY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_CONCURRENCY_BUILD_DLL */ -# define TAO_Concurrency_Export ACE_Proper_Import_Flag -# define TAO_CONCURRENCY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_CONCURRENCY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_CONCURRENCY_BUILD_DLL */ -#else /* TAO_CONCURRENCY_HAS_DLL == 1 */ -# define TAO_Concurrency_Export -# define TAO_CONCURRENCY_SINGLETON_DECLARATION(T) -# define TAO_CONCURRENCY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_CONCURRENCY_HAS_DLL == 1 */ - -#endif /* TAO_CONCURRENCY_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_serv_export.h b/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_serv_export.h deleted file mode 100644 index fe99ece77aa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_serv_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_CONCURRENCY_SERV_EXPORT_H -#define TAO_CONCURRENCY_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_CONCURRENCY_SERV_HAS_DLL) -# define TAO_CONCURRENCY_SERV_HAS_DLL 0 -# endif /* ! TAO_CONCURRENCY_SERV_HAS_DLL */ -#else -# if !defined (TAO_CONCURRENCY_SERV_HAS_DLL) -# define TAO_CONCURRENCY_SERV_HAS_DLL 1 -# endif /* ! TAO_CONCURRENCY_SERV_HAS_DLL */ -#endif - -#if defined (TAO_CONCURRENCY_SERV_HAS_DLL) && (TAO_CONCURRENCY_SERV_HAS_DLL == 1) -# if defined (TAO_CONCURRENCY_SERV_BUILD_DLL) -# define TAO_Concurrency_Serv_Export ACE_Proper_Export_Flag -# define TAO_CONCURRENCY_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_CONCURRENCY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_CONCURRENCY_SERV_BUILD_DLL */ -# define TAO_Concurrency_Serv_Export ACE_Proper_Import_Flag -# define TAO_CONCURRENCY_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_CONCURRENCY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_CONCURRENCY_SERV_BUILD_DLL */ -#else /* TAO_CONCURRENCY_SERV_HAS_DLL == 1 */ -# define TAO_Concurrency_Serv_Export -# define TAO_CONCURRENCY_SERV_SINGLETON_DECLARATION(T) -# define TAO_CONCURRENCY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_CONCURRENCY_SERV_HAS_DLL == 1 */ - -#endif /* TAO_CONCURRENCY_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_skel_export.h b/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_skel_export.h deleted file mode 100644 index 5894da8e9de..00000000000 --- a/TAO/orbsvcs/orbsvcs/Concurrency/concurrency_skel_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_CONCURRENCY_SKEL_EXPORT_H -#define TAO_CONCURRENCY_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_CONCURRENCY_SKEL_HAS_DLL) -# define TAO_CONCURRENCY_SKEL_HAS_DLL 0 -# endif /* ! TAO_CONCURRENCY_SKEL_HAS_DLL */ -#else -# if !defined (TAO_CONCURRENCY_SKEL_HAS_DLL) -# define TAO_CONCURRENCY_SKEL_HAS_DLL 1 -# endif /* ! TAO_CONCURRENCY_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_CONCURRENCY_SKEL_HAS_DLL) && (TAO_CONCURRENCY_SKEL_HAS_DLL == 1) -# if defined (TAO_CONCURRENCY_SKEL_BUILD_DLL) -# define TAO_Concurrency_Skel_Export ACE_Proper_Export_Flag -# define TAO_CONCURRENCY_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_CONCURRENCY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_CONCURRENCY_SKEL_BUILD_DLL */ -# define TAO_Concurrency_Skel_Export ACE_Proper_Import_Flag -# define TAO_CONCURRENCY_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_CONCURRENCY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_CONCURRENCY_SKEL_BUILD_DLL */ -#else /* TAO_CONCURRENCY_SKEL_HAS_DLL == 1 */ -# define TAO_Concurrency_Skel_Export -# define TAO_CONCURRENCY_SKEL_SINGLETON_DECLARATION(T) -# define TAO_CONCURRENCY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_CONCURRENCY_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_CONCURRENCY_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/CosConcurrency.mpc b/TAO/orbsvcs/orbsvcs/CosConcurrency.mpc deleted file mode 100644 index 99fab62e680..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosConcurrency.mpc +++ /dev/null @@ -1,106 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosConcurrency_IDL): orbsvcslib, core, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Concurrency_Export -Wb,stub_export_include=orbsvcs/Concurrency/concurrency_export.h -Wb,skel_export_macro=TAO_Concurrency_Skel_Export -Wb,skel_export_include=orbsvcs/Concurrency/concurrency_skel_export.h - - IDL_Files { - CosConcurrencyControl.idl - } -} - -project(CosConcurrency) : orbsvcslib, core { - sharedname = TAO_CosConcurrency - dynamicflags = TAO_CONCURRENCY_BUILD_DLL - tagchecks += Concurrency - after += CosConcurrency_IDL - - IDL_Files { - } - - Source_Files { - CosConcurrencyControlC.cpp - } - - Header_Files { - CosConcurrencyControlC.h - Concurrency/concurrency_export.h - } - - Inline_Files { - CosConcurrencyControlC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - } - - Pkgconfig_Files { - TAO_CosConcurrency.pc.in - } -} - -project(CosConcurrency_Skel): orbsvcslib, core, concurrency, portableserver { - sharedname = TAO_CosConcurrency_Skel - dynamicflags = TAO_CONCURRENCY_SKEL_BUILD_DLL - tagchecks += Concurrency - after += CosConcurrency_IDL - - IDL_Files { - } - - Source_Files { - CosConcurrencyControlS.cpp - } - - Header_Files { - CosConcurrencyControlS.h - Concurrency/concurrency_skel_export.h - } - - Inline_Files { - CosConcurrencyControlS.inl - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosConcurrency_Skel.pc.in - } -} - -project(CosConcurrency_Serv) : orbsvcslib, core, concurrency_skel { - sharedname = TAO_CosConcurrency_Serv - dynamicflags = TAO_CONCURRENCY_SERV_BUILD_DLL - tagchecks += Concurrency - - IDL_Files { - } - - Source_Files { - Concurrency - } - - Header_Files { - Concurrency - ^Concurrency/concurrency_export.h - ^Concurrency/concurrency_skel_export.h - } - - Inline_Files { - Concurrency - } - - Template_Files { - Concurrency - } - - Pkgconfig_Files { - TAO_CosConcurrency_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosConcurrency.rc b/TAO/orbsvcs/orbsvcs/CosConcurrency.rc deleted file mode 100644 index f331603d81c..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosConcurrency.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosConcurrency\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosConcurrencyDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosConcurrency.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosConcurrencyControl.idl b/TAO/orbsvcs/orbsvcs/CosConcurrencyControl.idl deleted file mode 100644 index 3579be999c3..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosConcurrencyControl.idl +++ /dev/null @@ -1,199 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CosTransaction.idl -// -// = DESCRIPTION -// Described in CORBAservices: Common Object Services -// Specification, chapter 7 The concurrency service description can -// be downloaded from -// ftp://www.omg.org/pub/docs/formal/97-11-02.idl -// -// = AUTHOR -// Torben Worm -// -// ============================================================================ - -#ifndef TAO_CONCURRENCY_IDL -#define TAO_CONCURRENCY_IDL - -//CosConcurrencyControl Module, page 7-8 -//Includes the following interfaces: -// LockCoordinator, LockSet, TransactionalLockSet, LockSetFactory - -// The part depending on the transaction service may be included by defining -// TAO_HAS_TRANSACTION_CONTROL_SERVICE - -#ifdef TAO_HAS_TRANSACTION_CONTROL_SERVICE -#include -#endif /* TAO_HAS_TRANSACTION_CONTROL_SERVICE */ - -#pragma prefix "omg.org" - -module CosConcurrencyControl -{ - // = TITLE - // CosConcurrencyControl - // - // = DESCRIPTION - // This idl file describes the concurrency control service. The - // purpose of the concurrency control service is to mediate - // concurrent access to an pbject such that the consistency of - // the object is not compromised when accessed by concurrently - // executing computations. - - // = These are the different lock types supported by this module. - - // For a description of the compatability between the different lock - // types please consult the service description (OMG). - enum lock_mode - { - read, - write, - upgrade, - intention_read, - intention_write - }; - - exception LockNotHeld {}; - // The LockNotHeld exception is is raised when an operation to - // unlock or change the mode of a lock is called and the specified - // lock is not held - -#ifdef TAO_HAS_TRANSACTION_CONTROL_SERVICE - // @@ The lock coordinator is designed for transactional lock sets, - // so we don't support it (yet). - interface LockCoordinator - { - // = TITLE - // LockCoordinator drops all locks associated with a transaction. - // = DESCRIPTION - // The LockCoordinator interface enables a transaction service to - // drop all locks held by a transaction. - - void drop_locks (); - // Releases all the locks held by the transaction. Designet to be - // used by transaction service when a transaction commits or aborts. - }; -#endif /* TAO_HAS_TRANSACTION_CONTROL_SERVICE */ - - interface LockSet - { - // = TITLE - // LockSet inteface to the concurrency service in implicit - // mode. - // - // = DESCRIPTION - // Clients operating in the implicit mode - // (i.e. non-transactional mode) acquire and release locks - // in lock sets throug this interface. The interface only - // provides operations to acquire and release locks on - // behalf of the calling thread or transaction. - - void lock (in lock_mode mode); - // Acquires a lock on the specified lock set in the specified - // mode. Blocks until lock is obtained. - - boolean try_lock (in lock_mode mode); - // Tries to acquire a lock on the specified lock set. If it is - // not possible to acquire the lock false is returned. - - void unlock (in lock_mode mode) - raises (LockNotHeld); - // Releases a single lock on the specified lock set. A lock can - // be held multiple times in the same mode. If the lock is not - // held the exception LockNotHeld is raised. - - void change_mode (in lock_mode held_mode, - in lock_mode new_mode) - raises (LockNotHeld); - // Changes the mode of the lock on the specified lock set. If a - // conflicting lock is held by another client the call blocks - // until the new mode can be granted. If the lock is not held in - // the specified mode the exception LockNotHeld is raised. - -#ifdef TAO_HAS_TRANSACTION_CONTROL_SERVICE - LockCoordinator get_coordinator (in CosTransactions::Coordinator which); - // Returns the lock coordinator associated with the specified - // transaction. -#endif /* TAO_HAS_TRANSACTION_CONTROL_SERVICE */ - }; - -#ifdef TAO_HAS_TRANSACTION_CONTROL_SERVICE - interface TransactionalLockSet - { - // = TITLE - // TransactionalLockSet interface to the concurrency service - // in transactional mode. - // - // = DESCRIPTION - // Clients operating in the transactional mode acquire and - // release locks in lock sets through this interface. The - // interface provides operations identical to the operations - // described in the LockSet interface section. The - // difference beeing that the coordinator for the - // transaction is explicitly passed as a reference to the - // operations. Please see the description of the LockSet - // interface for a detailed description. - - void lock (in CosTransactions::Coordinator current, - in lock_mode mode); - // See LockSet::lock - - boolean try_lock (in CosTransactions::Coordinator current, - in lock_mode mode); - // See LockSet::try_lock - - void unlock (in CosTransactions::Coordinator current, - in lock_mode mode) - raises (LockNotHeld); - // See LockSet::unlock - - void change_mode (in CosTransactions::Coordinator current, - in lock_mode held_mode, - in lock_mode new_mode) - raises (LockNotHeld); - // See LockSet::change_mode - - LockCoordinator get_coordinator (in CosTransactions::Coordinator which); - // See LockSet::get_coordinator - }; -#endif /* TAO_HAS_TRANSACTION_CONTROL_SERVICE */ - - interface LockSetFactory - { - // = TITLE - // Factory interface for the LockSet and - // TransactionalLockSet interfaces. - // - // = DESCRIPTION - // Factory for creating the lock sets. - - LockSet create (); - // Creates a new LockSet and lock coordinator - // @@TAO ??? is this correct? Lock coordinators are associated with - // transactions. - tworm - - LockSet create_related (in LockSet which); - // Creates a lock set related to the specified lock set. Related lock - // sets drop their locks together. - -#ifdef TAO_HAS_TRANSACTION_CONTROL_SERVICE - TransactionalLockSet create_transactional (); - // Creates a new TransactionalLockSet and lock coordinator for - // transactional mode clients. - - TransactionalLockSet create_transactional_related (in TransactionalLockSet which); - // Creates a new transactional lock set related to the specified lock - // set. Related lock sets drop locks together. -#endif /* TAO_HAS_TRANSACTION_CONTROL_SERVICE */ - }; -}; - -#endif /* TAO_CONCURRENCY_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent.mpc b/TAO/orbsvcs/orbsvcs/CosEvent.mpc deleted file mode 100644 index c3666a5ddfe..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent.mpc +++ /dev/null @@ -1,135 +0,0 @@ -// $Id$ - -project (CosEvent_IDL) : orbsvcslib, core, minimum_corba, ec_typed_events_idl, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Event_Export -Wb,stub_export_include=orbsvcs/CosEvent/event_export.h -Wb,skel_export_macro=TAO_Event_Skel_Export -Wb,skel_export_include=orbsvcs/CosEvent/event_skel_export.h - - IDL_Files { - CosEventComm.idl - CosEventChannelAdmin.idl - } -} - -project (CosEvent) : orbsvcslib, core, minimum_corba, ec_typed_events { - sharedname = TAO_CosEvent - dynamicflags = TAO_EVENT_BUILD_DLL - tagchecks += CosEvent - after += CosEvent_IDL - - IDL_Files { - } - - Source_Files { - CosEventCommC.cpp - CosEventChannelAdminC.cpp - } - - Header_Files { - CosEventCommC.h - CosEventChannelAdminC.h - CosEvent/event_export.h - } - - Inline_Files { - CosEventCommC.inl - CosEventChannelAdminC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - CosEvent.rc - } - - Pkgconfig_Files { - TAO_CosEvent.pc.in - } -} - - -project (CosEvent_Skel) : orbsvcslib, core, minimum_corba, event, portableserver, ec_typed_events_skel { - sharedname = TAO_CosEvent_Skel - dynamicflags = TAO_EVENT_SKEL_BUILD_DLL - tagchecks += CosEvent - - IDL_Files { - } - - Source_Files { - CosEventCommS.cpp - CosEventChannelAdminS.cpp - } - - Header_Files { - CosEventCommS.h - CosEventChannelAdminS.h - CosEventCommS_T.h - CosEventChannelAdminS_T.h - CosEvent/event_skel_export.h - } - - Inline_Files { - CosEventCommS.inl - CosEventChannelAdminS.inl - CosEventCommS_T.inl - CosEventChannelAdminS_T.inl - } - - Template_Files { - CosEventCommS_T.cpp - CosEventChannelAdminS_T.cpp - } - - Pkgconfig_Files { - TAO_CosEvent_Skel.pc.in - } -} - - -project (CosEvent_Serv) : orbsvcslib, core, minimum_corba, event_skel, ec_typed_events_serv, messaging_optional, naming, svc_utils { - sharedname = TAO_CosEvent_Serv - dynamicflags = TAO_EVENT_SERV_BUILD_DLL - tagchecks += CosEvent - - IDL_Files { - } - - Source_Files { - CosEvent/CEC_ConsumerAdmin.cpp - CosEvent/CEC_ConsumerControl.cpp - CosEvent/CEC_Default_Factory.cpp - CosEvent/CEC_Dispatching.cpp - CosEvent/CEC_Dispatching_Task.cpp - CosEvent/CEC_EventChannel.cpp - CosEvent/CEC_Event_Loader.cpp - CosEvent/CEC_Factory.cpp - CosEvent/CEC_MT_Dispatching.cpp - CosEvent/CEC_ProxyPullConsumer.cpp - CosEvent/CEC_ProxyPullSupplier.cpp - CosEvent/CEC_ProxyPushConsumer.cpp - CosEvent/CEC_ProxyPushSupplier.cpp - CosEvent/CEC_Pulling_Strategy.cpp - CosEvent/CEC_Reactive_ConsumerControl.cpp - CosEvent/CEC_Reactive_Pulling_Strategy.cpp - CosEvent/CEC_Reactive_SupplierControl.cpp - CosEvent/CEC_SupplierAdmin.cpp - CosEvent/CEC_SupplierControl.cpp - } - - Header_Files { - CosEvent/CEC_Defaults.h - CosEvent/event_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosEvent_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosEvent.rc b/TAO/orbsvcs/orbsvcs/CosEvent.rc deleted file mode 100644 index ca6c862fa4e..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosEvent\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosEventDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosEvent.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp deleted file mode 100644 index 298c8981d9d..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp +++ /dev/null @@ -1,141 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" - -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_ConsumerAdmin, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_ConsumerAdmin::TAO_CEC_ConsumerAdmin (TAO_CEC_EventChannel *ec) - : event_channel_ (ec), - push_admin_ (ec), - pull_admin_ (ec) -{ - this->default_POA_ = - this->event_channel_->consumer_poa (); -} - -TAO_CEC_ConsumerAdmin::~TAO_CEC_ConsumerAdmin (void) -{ -} - -void -TAO_CEC_ConsumerAdmin::push (const CORBA::Any &event - ACE_ENV_ARG_DECL) -{ - TAO_CEC_Propagate_Event_Push push_worker (event); - - this->push_admin_.for_each (&push_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_CEC_Propagate_Event_Pull pull_worker (event); - - this->pull_admin_.for_each (&pull_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_ConsumerAdmin::connected (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->push_admin_.connected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_ConsumerAdmin::reconnected (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->push_admin_.reconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_ConsumerAdmin::disconnected (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->push_admin_.disconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_ConsumerAdmin::connected (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.connected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_ConsumerAdmin::reconnected (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.reconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_ConsumerAdmin::disconnected (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.disconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_ConsumerAdmin::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->push_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->pull_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_CEC_ConsumerAdmin::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->push_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPullSupplier_ptr -TAO_CEC_ConsumerAdmin::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->pull_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -PortableServer::POA_ptr -TAO_CEC_ConsumerAdmin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -// **************************************************************** - -void -TAO_CEC_Propagate_Event_Push::work (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - supplier->push (this->event_ ACE_ENV_ARG_PARAMETER); -} - -// **************************************************************** - -void -TAO_CEC_Propagate_Event_Pull::work (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL) -{ - supplier->push (this->event_ ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h deleted file mode 100644 index 529e6a28197..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h +++ /dev/null @@ -1,157 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file CEC_ConsumerAdmin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_CONSUMERADMIN_H -#define TAO_CEC_CONSUMERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Admin.h" - -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.h" -#include "orbsvcs/CosEvent/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; - -/** - * @class TAO_CEC_ConsumerAdmin - * - * @brief ConsumerAdmin - * - * Implements the ConsumerAdmin interface, i.e. the factory for - * ProxyPushSupplier objects. - * = MEMORY MANAGMENT - * It does not assume ownership of the TAO_CEC_EventChannel - * object; but it *does* assume ownership of the - * TAO_CEC_ProxyPushSupplier_Set object. - * = LOCKING - * No provisions for locking, access must be serialized - * externally. - * = TODO - */ -class TAO_Event_Serv_Export TAO_CEC_ConsumerAdmin - : public POA_CosEventChannelAdmin::ConsumerAdmin -{ -public: - /** - * constructor. If is nil then it builds one using - * the argument. - * In any case it assumes ownership. - */ - TAO_CEC_ConsumerAdmin (TAO_CEC_EventChannel* event_channel); - - /// destructor... - virtual ~TAO_CEC_ConsumerAdmin (void); - - /// For each elements call work()>. - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - - /// Push the event to all the consumers - void push (const CORBA::Any &event - ACE_ENV_ARG_DECL); - - /// Used to inform the EC that a Supplier has connected or - /// disconnected from it. - virtual void connected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void connected (TAO_CEC_ProxyPullSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPullSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPullSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - - /// The event channel is shutting down, inform all the consumers of - /// this - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - // = The CosEventChannelAdmin::ConsumerAdmin methods... - virtual CosEventChannelAdmin::ProxyPushSupplier_ptr - obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual CosEventChannelAdmin::ProxyPullSupplier_ptr - obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The PortableServer::ServantBase methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The Event Channel we belong to - TAO_CEC_EventChannel *event_channel_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; - - /// Implement the push side of this class - TAO_ESF_Proxy_Admin push_admin_; - - /// Implement the pull side of this class - TAO_ESF_Proxy_Admin pull_admin_; - -}; - -// **************************************************************** - -class TAO_CEC_Propagate_Event_Push : public TAO_ESF_Worker -{ -public: - TAO_CEC_Propagate_Event_Push (const CORBA::Any& event); - - void work (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - /// The event - CORBA::Any event_; -}; - -// **************************************************************** - -class TAO_CEC_Propagate_Event_Pull : public TAO_ESF_Worker -{ -public: - TAO_CEC_Propagate_Event_Pull (const CORBA::Any& event); - - void work (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - /// The event - CORBA::Any event_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_CONSUMERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.i deleted file mode 100644 index d7761a1f51d..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.i +++ /dev/null @@ -1,39 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO_CEC_ConsumerAdmin:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - this->push_admin_.for_each (worker ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE void -TAO_CEC_ConsumerAdmin:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.for_each (worker ACE_ENV_ARG_PARAMETER); -} - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Propagate_Event_Push::TAO_CEC_Propagate_Event_Push (const CORBA::Any& event) - : event_ (event) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Propagate_Event_Pull::TAO_CEC_Propagate_Event_Pull (const CORBA::Any& event) - : event_ (event) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp deleted file mode 100644 index 5c0068aa874..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_ConsumerControl.h" - -ACE_RCSID (CosEvent, - CEC_ConsumerControl, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_ConsumerControl::TAO_CEC_ConsumerControl (void) -{ -} - -TAO_CEC_ConsumerControl::~TAO_CEC_ConsumerControl (void) -{ -} - -int -TAO_CEC_ConsumerControl::activate (void) -{ - return 0; -} - -int -TAO_CEC_ConsumerControl::shutdown (void) -{ - return 0; -} - -void -TAO_CEC_ConsumerControl::consumer_not_exist (TAO_CEC_ProxyPushSupplier * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_CEC_ConsumerControl::consumer_not_exist (TAO_CEC_ProxyPullSupplier * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_CEC_ConsumerControl::system_exception (TAO_CEC_ProxyPushSupplier *, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -bool -TAO_CEC_ConsumerControl::need_to_disconnect (PortableServer::ServantBase*) -{ - return true; -} - -void -TAO_CEC_ConsumerControl::successful_transmission (PortableServer::ServantBase*) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h deleted file mode 100644 index b0c0f22ceaa..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_ConsumerControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu)More details can be found in:http://www.cs.wustl.edu/~coryan/EC/index.html - */ -//============================================================================= - - -#ifndef TAO_CEC_CONSUMERCONTROL_H -#define TAO_CEC_CONSUMERCONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/PortableServer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_ProxyPushSupplier; -class TAO_CEC_ProxyPullSupplier; - -namespace CORBA -{ - class SystemException; -} - -/** - * @class TAO_CEC_ConsumerControl - * - * @brief ConsumerControl - * - * Defines the interface for the consumer control strategy. - * This strategy handles misbehaving or failing consumers. - * = MEMORY MANAGMENT - * = LOCKING - * = TODO - */ -class TAO_Event_Serv_Export TAO_CEC_ConsumerControl -{ -public: - /// Constructor. It does not assume ownership of the - /// parameter. - TAO_CEC_ConsumerControl (void); - - /// destructor... - virtual ~TAO_CEC_ConsumerControl (void); - - /// Activate any internal threads or timers used to poll the state of - /// the consumers - virtual int activate (void); - virtual int shutdown (void); - - /** - * When pushing an event to the consumer a CORBA::OBJECT_NOT_EXIST - * exception was raised. The only interpretation is that the object - * has been destroyed. The strategy has to (at the very least), - * reclaim all the resources attached to that object. - */ - virtual void consumer_not_exist (TAO_CEC_ProxyPushSupplier *proxy - ACE_ENV_ARG_DECL_NOT_USED); - - /** - * Invoked by helper classes when they detect that a consumer no - * longer exists (i.e. _non_existent() returns true and/or the - * CORBA::OBJECT_NOT_EXIST exception has been raised). - */ - virtual void consumer_not_exist (TAO_CEC_ProxyPullSupplier *proxy - ACE_ENV_ARG_DECL_NOT_USED); - - /// Some system exception was rasied while trying to push an event. - virtual void system_exception (TAO_CEC_ProxyPushSupplier *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - - /// Do we need to disconnect this supplier? The parameter type for - /// proxy is PortableServer::ServantBase* due to the fact that this - /// method will be used for TAO_CEC_ProxyPushSupplier's and - /// TAO_CEC_ProxyPullSupplier's. - virtual bool need_to_disconnect (PortableServer::ServantBase* proxy); - - /// Allow others to inform us when a send or receive was successful. - virtual void successful_transmission (PortableServer::ServantBase* proxy); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_CEC_CONSUMERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp deleted file mode 100644 index 19b4f4d46d6..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp +++ /dev/null @@ -1,1403 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_Default_Factory.h" -#include "orbsvcs/CosEvent/CEC_MT_Dispatching.h" -#include "orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h" -#include "orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h" - -#include "orbsvcs/ESF/ESF_Immediate_Changes.h" -#include "orbsvcs/ESF/ESF_Delayed_Changes.h" -#include "orbsvcs/ESF/ESF_Copy_On_Write.h" -#include "orbsvcs/ESF/ESF_Copy_On_Read.h" -#include "orbsvcs/ESF/ESF_Proxy_List.h" -#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.h" -#include "orbsvcs/Time_Utilities.h" - -#include "tao/Messaging/Messaging_RT_PolicyC.h" - -#include "ace/Arg_Shifter.h" -#include "ace/Sched_Params.h" -#include "ace/OS_NS_strings.h" -#include "ace/Null_Mutex.h" -#include "ace/Null_Condition.h" -#include "ace/Recursive_Thread_Mutex.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Default_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_Default_Factory, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_Default_Factory::~TAO_CEC_Default_Factory (void) -{ - if (orbid_dupped_ != 0) - { - ACE_OS::free (orbid_); - } -} - -int -TAO_CEC_Default_Factory::init_svcs (void) -{ - return - ACE_Service_Config::static_svcs ()->insert ( - &ace_svc_desc_TAO_CEC_Default_Factory - ); -} - -int -TAO_CEC_Default_Factory::parse_collection_arg (ACE_TCHAR* opt) -{ - int collection_type = 0; - int synch_type = 0; - int iteration_type = 0; - - ACE_TCHAR* aux = 0; - for (ACE_TCHAR* arg = ACE_OS::strtok_r (opt, ACE_TEXT(":"), &aux); - arg != 0; - arg = ACE_OS::strtok_r (0, ACE_TEXT(":"), &aux)) - { - if (ACE_OS::strcasecmp (arg, ACE_TEXT("mt")) == 0) - synch_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("st")) == 0) - synch_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("list")) == 0) - collection_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("rb_tree")) == 0) - collection_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("immediate")) == 0) - iteration_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("copy_on_read")) == 0) - iteration_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("copy_on_write")) == 0) - iteration_type = 2; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("delayed")) == 0) - iteration_type = 3; - else - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unknown collection modifier <%s>\n", - arg)); - } - return (synch_type << 8) |(collection_type << 4) | iteration_type; -} - -int -TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - this->dispatching_threads_flags_ = - THR_SCHED_DEFAULT|THR_BOUND|THR_NEW_LWP; - this->dispatching_threads_priority_ = - ACE_THR_PRI_OTHER_DEF; - - while (arg_shifter.is_anything_left ()) - { - const ACE_TCHAR *arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECDispatching")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->dispatching_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("mt")) == 0) - { - this->dispatching_ = 1; - } - else - { - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unsupported dispatching <%s>\n", - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECDispatchingThreads")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->dispatching_threads_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECProxyConsumerCollection")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR *current_arg = arg_shifter.get_current (); - ACE_TCHAR *opt = ACE_OS::strdup (current_arg); - this->consumer_collection_ = this->parse_collection_arg (opt); - ACE_OS::free (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECProxySupplierCollection")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR *current_arg = arg_shifter.get_current(); - ACE_TCHAR* opt = ACE_OS::strdup(current_arg); - this->supplier_collection_ = - this->parse_collection_arg (opt); - ACE_OS::free(opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECProxyConsumerLock")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->consumer_lock_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("thread")) == 0) - { - this->consumer_lock_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("recursive")) == 0) - { - this->consumer_lock_ = 2; - } - else - { - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unsupported consumer lock <%s>\n", - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECProxySupplierLock")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->supplier_lock_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("thread")) == 0) - { - this->supplier_lock_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("recursive")) == 0) - { - this->supplier_lock_ = 2; - } - else - { - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unsupported supplier lock <%s>\n", - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECReactivePullingPeriod")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->reactive_pulling_period_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECUseORBId")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - // Copy argument for later use - this->orbid_ = ACE_OS::strdup(ACE_TEXT_ALWAYS_CHAR(arg_shifter.get_current ())); - orbid_dupped_ = 1; - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECConsumerControl")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->consumer_control_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->consumer_control_ = 1; - } - else - { - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unsupported consumer control <%s>\n", - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECSupplierControl")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->supplier_control_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->supplier_control_ = 1; - } - else - { - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unsupported supplier control <%s>\n", - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECConsumerControlPeriod")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->consumer_control_period_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECSupplierControlPeriod")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->supplier_control_period_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECConsumerControlTimeout")) == 0 || - ACE_OS::strcasecmp (arg, ACE_TEXT("-CECConsumerControlRoundtripTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout_ = ACE_OS::strtoul(opt, 0, 10); - this->consumer_control_timeout_.usec(timeout_); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECSupplierControlTimeout")) == 0 || - ACE_OS::strcasecmp (arg, ACE_TEXT("-CECSupplierControlRoundtripTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout_ = ACE_OS::strtoul(opt, 0, 10); - this->supplier_control_timeout_.usec(timeout_); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECConsumerOperationTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout = ACE_OS::strtoul (opt, 0, 10); - this->consumer_timeout_.usec (timeout); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECSupplierOperationTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout = ACE_OS::strtoul (opt, 0, 10); - this->supplier_timeout_.usec (timeout); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-CECProxyDisconnectRetries")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->proxy_disconnect_retries_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strncmp (arg, ACE_TEXT("-CEC"), 3) == 0) - { - arg_shifter.consume_arg (); - ACE_ERROR ((LM_ERROR, - "CEC_Default_Factory - " - "unknown option <%s>\n", - arg)); - } - else - { - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - "CEC_Default_Factory - " - "ignoring option <%s>\n", - arg)); - } - } - return 0; -} - -int -TAO_CEC_Default_Factory::fini (void) -{ - return 0; -} - -// **************************************************************** - -TAO_CEC_Dispatching* -TAO_CEC_Default_Factory::create_dispatching (TAO_CEC_EventChannel *) -{ - if (this->dispatching_ == 0) - return new TAO_CEC_Reactive_Dispatching (); - else if (this->dispatching_ == 1) - return new TAO_CEC_MT_Dispatching (this->dispatching_threads_, - this->dispatching_threads_flags_, - this->dispatching_threads_priority_, - this->dispatching_threads_force_active_); - return 0; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_Dispatching* -TAO_CEC_Default_Factory::create_dispatching (TAO_CEC_TypedEventChannel *) -{ - if (this->dispatching_ == 0) - return new TAO_CEC_Reactive_Dispatching (); - else if (this->dispatching_ == 1) - return new TAO_CEC_MT_Dispatching (this->dispatching_threads_, - this->dispatching_threads_flags_, - this->dispatching_threads_priority_, - this->dispatching_threads_force_active_); - return 0; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_dispatching (TAO_CEC_Dispatching *x) -{ - delete x; -} - -TAO_CEC_Pulling_Strategy* -TAO_CEC_Default_Factory::create_pulling_strategy (TAO_CEC_EventChannel *ec) -{ - if (this->pulling_strategy_ == 0) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_); - - ACE_Time_Value rate (0, this->reactive_pulling_period_); - return new TAO_CEC_Reactive_Pulling_Strategy ( - rate, this->supplier_control_timeout_, - ec, orb.in ()); - } - return 0; -} - -void -TAO_CEC_Default_Factory::destroy_pulling_strategy (TAO_CEC_Pulling_Strategy *x) -{ - delete x; -} - -TAO_CEC_ConsumerAdmin* -TAO_CEC_Default_Factory::create_consumer_admin (TAO_CEC_EventChannel *ec) -{ - return new TAO_CEC_ConsumerAdmin (ec); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_TypedConsumerAdmin* -TAO_CEC_Default_Factory::create_consumer_admin (TAO_CEC_TypedEventChannel *ec) -{ - return new TAO_CEC_TypedConsumerAdmin (ec); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_consumer_admin (TAO_CEC_ConsumerAdmin *x) -{ - delete x; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Default_Factory::destroy_consumer_admin (TAO_CEC_TypedConsumerAdmin *x) -{ - delete x; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_SupplierAdmin* -TAO_CEC_Default_Factory::create_supplier_admin (TAO_CEC_EventChannel *ec) -{ - return new TAO_CEC_SupplierAdmin (ec); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_TypedSupplierAdmin* -TAO_CEC_Default_Factory::create_supplier_admin (TAO_CEC_TypedEventChannel *ec) -{ - return new TAO_CEC_TypedSupplierAdmin (ec); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_supplier_admin (TAO_CEC_SupplierAdmin *x) -{ - delete x; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Default_Factory::destroy_supplier_admin (TAO_CEC_TypedSupplierAdmin *x) -{ - delete x; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_ProxyPushSupplier* -TAO_CEC_Default_Factory::create_proxy_push_supplier (TAO_CEC_EventChannel *ec) -{ - TAO_CEC_ProxyPushSupplier *created; - ACE_Time_Value timeout = this->consumer_control_ ? this->consumer_timeout_ - : ACE_Time_Value::zero; - ACE_NEW_RETURN (created, TAO_CEC_ProxyPushSupplier (ec, timeout), 0); - return created; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_ProxyPushSupplier* -TAO_CEC_Default_Factory::create_proxy_push_supplier (TAO_CEC_TypedEventChannel *ec) -{ - TAO_CEC_ProxyPushSupplier *created; - ACE_Time_Value timeout = this->consumer_control_ ? this->consumer_timeout_ - : ACE_Time_Value::zero; - ACE_NEW_RETURN (created, TAO_CEC_ProxyPushSupplier (ec, timeout), 0); - return created; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_proxy_push_supplier (TAO_CEC_ProxyPushSupplier *x) -{ - delete x; -} - -TAO_CEC_ProxyPullSupplier* -TAO_CEC_Default_Factory::create_proxy_pull_supplier (TAO_CEC_EventChannel *ec) -{ - TAO_CEC_ProxyPullSupplier *created; - ACE_Time_Value timeout = this->consumer_control_ ? this->consumer_timeout_ - : ACE_Time_Value::zero; - ACE_NEW_RETURN (created, TAO_CEC_ProxyPullSupplier (ec, timeout), 0); - return created; -} - -void -TAO_CEC_Default_Factory::destroy_proxy_pull_supplier (TAO_CEC_ProxyPullSupplier *x) -{ - delete x; -} - -TAO_CEC_ProxyPushConsumer* -TAO_CEC_Default_Factory::create_proxy_push_consumer (TAO_CEC_EventChannel *ec) -{ - TAO_CEC_ProxyPushConsumer *created; - ACE_Time_Value timeout = this->supplier_control_ ? this->supplier_timeout_ - : ACE_Time_Value::zero; - ACE_NEW_RETURN (created, TAO_CEC_ProxyPushConsumer (ec, timeout), 0); - return created; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_TypedProxyPushConsumer* -TAO_CEC_Default_Factory::create_proxy_push_consumer (TAO_CEC_TypedEventChannel *ec) -{ - TAO_CEC_TypedProxyPushConsumer *created; - ACE_Time_Value timeout = this->supplier_control_ ? this->supplier_timeout_ - : ACE_Time_Value::zero; - ACE_NEW_RETURN (created, TAO_CEC_TypedProxyPushConsumer (ec, timeout), 0); - return created; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_proxy_push_consumer (TAO_CEC_ProxyPushConsumer *x) -{ - delete x; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Default_Factory::destroy_proxy_push_consumer (TAO_CEC_TypedProxyPushConsumer *x) -{ - delete x; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_ProxyPullConsumer* -TAO_CEC_Default_Factory::create_proxy_pull_consumer (TAO_CEC_EventChannel *ec) -{ - TAO_CEC_ProxyPullConsumer *created; - ACE_Time_Value timeout = this->supplier_control_ ? this->supplier_timeout_ - : ACE_Time_Value::zero; - ACE_NEW_RETURN (created, TAO_CEC_ProxyPullConsumer (ec, timeout), 0); - return created; -} - -void -TAO_CEC_Default_Factory::destroy_proxy_pull_consumer (TAO_CEC_ProxyPullConsumer *x) -{ - delete x; -} - -// These typedefs workaround a SunCC 4.2 bug -typedef - TAO_ESF_Proxy_List::Iterator - TAO_CEC_PushConsumer_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_CEC_PushConsumer_RB_Tree_Iterator; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -typedef - TAO_ESF_Proxy_List::Iterator - TAO_CEC_TypedPushConsumer_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -typedef - TAO_ESF_Proxy_List::Iterator - TAO_CEC_PullConsumer_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_CEC_PullConsumer_RB_Tree_Iterator; -typedef - TAO_ESF_Proxy_List::Iterator - TAO_CEC_PushSupplier_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_CEC_PushSupplier_RB_Tree_Iterator; -typedef - TAO_ESF_Proxy_List::Iterator - TAO_CEC_PullSupplier_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_CEC_PullSupplier_RB_Tree_Iterator; - -TAO_CEC_ProxyPushConsumer_Collection* -TAO_CEC_Default_Factory::create_proxy_push_consumer_collection (TAO_CEC_EventChannel *) -{ - if (this->consumer_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushConsumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushConsumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushConsumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushConsumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushConsumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushConsumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushConsumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushConsumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushConsumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_TypedProxyPushConsumer_Collection* -TAO_CEC_Default_Factory::create_proxy_push_consumer_collection (TAO_CEC_TypedEventChannel *) -{ - if (this->consumer_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_TypedPushConsumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_TypedPushConsumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_TypedPushConsumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_TypedPushConsumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_TypedPushConsumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_TypedPushConsumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_TypedPushConsumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_TypedPushConsumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_TypedPushConsumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_proxy_push_consumer_collection (TAO_CEC_ProxyPushConsumer_Collection *x) -{ - delete x; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Default_Factory::destroy_proxy_push_consumer_collection (TAO_CEC_TypedProxyPushConsumer_Collection *x) -{ - delete x; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_ProxyPullConsumer_Collection* -TAO_CEC_Default_Factory::create_proxy_pull_consumer_collection (TAO_CEC_EventChannel *) -{ - if (this->consumer_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullConsumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullConsumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullConsumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullConsumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullConsumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullConsumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullConsumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullConsumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullConsumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} - -void -TAO_CEC_Default_Factory::destroy_proxy_pull_consumer_collection (TAO_CEC_ProxyPullConsumer_Collection *x) -{ - delete x; -} - -TAO_CEC_ProxyPushSupplier_Collection* -TAO_CEC_Default_Factory::create_proxy_push_supplier_collection (TAO_CEC_EventChannel *) -{ - if (this->supplier_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_ProxyPushSupplier_Collection* -TAO_CEC_Default_Factory::create_proxy_push_supplier_collection (TAO_CEC_TypedEventChannel *) -{ - if (this->supplier_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PushSupplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_proxy_push_supplier_collection (TAO_CEC_ProxyPushSupplier_Collection *x) -{ - delete x; -} - -TAO_CEC_ProxyPullSupplier_Collection* -TAO_CEC_Default_Factory::create_proxy_pull_supplier_collection (TAO_CEC_EventChannel *) -{ - if (this->supplier_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullSupplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullSupplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullSupplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullSupplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullSupplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullSupplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullSupplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullSupplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_CEC_PullSupplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} - -void -TAO_CEC_Default_Factory::destroy_proxy_pull_supplier_collection (TAO_CEC_ProxyPullSupplier_Collection *x) -{ - delete x; -} - -ACE_Lock* -TAO_CEC_Default_Factory::create_consumer_lock (void) -{ - if (this->consumer_lock_ == 0) - return new ACE_Lock_Adapter; - else if (this->consumer_lock_ == 1) - return new ACE_Lock_Adapter (); - else if (this->consumer_lock_ == 2) - return new ACE_Lock_Adapter (); - return 0; -} - -void -TAO_CEC_Default_Factory::destroy_consumer_lock (ACE_Lock* x) -{ - delete x; -} - -ACE_Lock* -TAO_CEC_Default_Factory::create_supplier_lock (void) -{ - if (this->supplier_lock_ == 0) - return new ACE_Lock_Adapter; - else if (this->supplier_lock_ == 1) - return new ACE_Lock_Adapter (); - else if (this->supplier_lock_ == 2) - return new ACE_Lock_Adapter (); - return 0; -} - -void -TAO_CEC_Default_Factory::destroy_supplier_lock (ACE_Lock* x) -{ - delete x; -} - -TAO_CEC_ConsumerControl* -TAO_CEC_Default_Factory::create_consumer_control (TAO_CEC_EventChannel* ec) -{ - if (this->consumer_control_ == 0) - return new TAO_CEC_ConsumerControl (); - else if (this->consumer_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_); - - ACE_Time_Value rate (0, this->consumer_control_period_); - return new TAO_CEC_Reactive_ConsumerControl ( - rate, this->consumer_control_timeout_, - this->proxy_disconnect_retries_, - ec, orb.in ()); - } - return 0; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_ConsumerControl* -TAO_CEC_Default_Factory::create_consumer_control (TAO_CEC_TypedEventChannel* ec) -{ - if (this->consumer_control_ == 0) - return new TAO_CEC_ConsumerControl (); - else if (this->consumer_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_); - - ACE_Time_Value rate (0, this->consumer_control_period_); - return new TAO_CEC_Reactive_ConsumerControl ( - rate, this->consumer_control_timeout_, - this->proxy_disconnect_retries_, - ec, orb.in ()); - } - return 0; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_consumer_control (TAO_CEC_ConsumerControl* x) -{ - delete x; -} - -TAO_CEC_SupplierControl* -TAO_CEC_Default_Factory::create_supplier_control (TAO_CEC_EventChannel* ec) -{ - if (this->supplier_control_ == 0) - return new TAO_CEC_SupplierControl (); - else if (this->supplier_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_); - - ACE_Time_Value rate (0, this->supplier_control_period_); - return new TAO_CEC_Reactive_SupplierControl ( - rate, this->supplier_control_timeout_, - this->proxy_disconnect_retries_, - ec, orb.in ()); - } - return 0; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_SupplierControl* -TAO_CEC_Default_Factory::create_supplier_control (TAO_CEC_TypedEventChannel* ec) -{ - if (this->supplier_control_ == 0) - return new TAO_CEC_SupplierControl (); - else if (this->supplier_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_); - - ACE_Time_Value rate (0, this->supplier_control_period_); - return new TAO_CEC_Reactive_SupplierControl ( - rate, this->supplier_control_timeout_, - this->proxy_disconnect_retries_, - ec, orb.in ()); - } - return 0; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Default_Factory::destroy_supplier_control (TAO_CEC_SupplierControl* x) -{ - delete x; -} - -CORBA::Policy_ptr TAO_CEC_Default_Factory::create_roundtrip_timeout_policy -(const ACE_Time_Value &timeout) -{ - //get the existing orb - int fake_argc = 0; - CORBA::ORB_var orb = CORBA::ORB_init (fake_argc, 0, this->orbid_); - - CORBA::Any value; - TimeBase::TimeT timet; - ORBSVCS_Time::Time_Value_to_TimeT (timet, timeout); - value <<= timet; - return orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - value); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_CEC_Default_Factory, - ACE_TEXT ("CEC_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_CEC_Default_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_Event_Serv, TAO_CEC_Default_Factory) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h deleted file mode 100644 index 8f072c7bd62..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h +++ /dev/null @@ -1,231 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Default_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_DEFAULT_FACTORY_H -#define TAO_CEC_DEFAULT_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEvent/CEC_Defaults.h" - -#include "ace/Service_Config.h" -#include "ace/Time_Value.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_Default_Factory - * - * @brief A generic factory for EC experimentation. - * - * This class allows the user to experiment with different EC - * configurations. Using a command-line like interface the user - * can specify which strategies will this factory generate. - * Since the class can be dynamically loaded the strategies can be - * set in the service configurator file. - * = MEMORY MANAGMENT - */ -class TAO_Event_Serv_Export TAO_CEC_Default_Factory : public TAO_CEC_Factory -{ -public: - /// Constructor - TAO_CEC_Default_Factory (void); - - /// destructor... - virtual ~TAO_CEC_Default_Factory (void); - - /// Helper function to register the default factory into the service - /// configurator. - static int init_svcs (void); - - // = The Service_Object entry points - virtual int init (int argc, ACE_TCHAR* argv[]); - virtual int fini (void); - - // = The CEC_Factory methods - virtual TAO_CEC_Dispatching* - create_dispatching (TAO_CEC_EventChannel*); - virtual void - destroy_dispatching (TAO_CEC_Dispatching*); - virtual TAO_CEC_Pulling_Strategy* - create_pulling_strategy (TAO_CEC_EventChannel*); - virtual void - destroy_pulling_strategy (TAO_CEC_Pulling_Strategy*); - virtual TAO_CEC_ConsumerAdmin* - create_consumer_admin (TAO_CEC_EventChannel*); - virtual void - destroy_consumer_admin (TAO_CEC_ConsumerAdmin*); - virtual TAO_CEC_SupplierAdmin* - create_supplier_admin (TAO_CEC_EventChannel*); - virtual void - destroy_supplier_admin (TAO_CEC_SupplierAdmin*); - virtual TAO_CEC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_push_supplier (TAO_CEC_ProxyPushSupplier*); - virtual TAO_CEC_ProxyPullSupplier* - create_proxy_pull_supplier (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_pull_supplier (TAO_CEC_ProxyPullSupplier*); - virtual TAO_CEC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_push_consumer (TAO_CEC_ProxyPushConsumer*); - virtual TAO_CEC_ProxyPullConsumer* - create_proxy_pull_consumer (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_pull_consumer (TAO_CEC_ProxyPullConsumer*); - virtual TAO_CEC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_push_consumer_collection ( - TAO_CEC_ProxyPushConsumer_Collection* - ); - virtual TAO_CEC_ProxyPullConsumer_Collection* - create_proxy_pull_consumer_collection (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_pull_consumer_collection ( - TAO_CEC_ProxyPullConsumer_Collection* - ); - virtual TAO_CEC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_push_supplier_collection ( - TAO_CEC_ProxyPushSupplier_Collection* - ); - virtual TAO_CEC_ProxyPullSupplier_Collection* - create_proxy_pull_supplier_collection (TAO_CEC_EventChannel*); - virtual void - destroy_proxy_pull_supplier_collection ( - TAO_CEC_ProxyPullSupplier_Collection* - ); - - virtual ACE_Lock* create_consumer_lock (void); - virtual void destroy_consumer_lock (ACE_Lock*); - virtual ACE_Lock* create_supplier_lock (void); - virtual void destroy_supplier_lock (ACE_Lock*); - - virtual TAO_CEC_ConsumerControl* - create_consumer_control (TAO_CEC_EventChannel*); - virtual void - destroy_consumer_control (TAO_CEC_ConsumerControl*); - virtual TAO_CEC_SupplierControl* - create_supplier_control (TAO_CEC_EventChannel*); - virtual void - destroy_supplier_control (TAO_CEC_SupplierControl*); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_Dispatching* - create_dispatching (TAO_CEC_TypedEventChannel*); - virtual TAO_CEC_TypedConsumerAdmin* - create_consumer_admin (TAO_CEC_TypedEventChannel*); - virtual void - destroy_consumer_admin (TAO_CEC_TypedConsumerAdmin*); - virtual TAO_CEC_TypedSupplierAdmin* - create_supplier_admin (TAO_CEC_TypedEventChannel*); - virtual void - destroy_supplier_admin (TAO_CEC_TypedSupplierAdmin*); - virtual TAO_CEC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_CEC_TypedEventChannel*); - virtual TAO_CEC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_CEC_TypedEventChannel*); - virtual TAO_CEC_TypedProxyPushConsumer* - create_proxy_push_consumer (TAO_CEC_TypedEventChannel*); - virtual void - destroy_proxy_push_consumer (TAO_CEC_TypedProxyPushConsumer*); - virtual TAO_CEC_TypedProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_CEC_TypedEventChannel*); - virtual void - destroy_proxy_push_consumer_collection ( - TAO_CEC_TypedProxyPushConsumer_Collection* - ); - virtual TAO_CEC_ConsumerControl* - create_consumer_control (TAO_CEC_TypedEventChannel*); - virtual TAO_CEC_SupplierControl* - create_supplier_control (TAO_CEC_TypedEventChannel*); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - virtual CORBA::Policy_ptr - create_roundtrip_timeout_policy (const ACE_Time_Value &timeout); - -private: - /// Parse an argument to set the type of collections used. - int parse_collection_arg (ACE_TCHAR* opt); - -private: - /// Several flags to control the kind of object created. - int dispatching_; - int pulling_strategy_; - int consumer_collection_; - int supplier_collection_; - int consumer_lock_; - int supplier_lock_; - - /// The MT dispatching priority has several arguments that could be - /// controlled here... - int dispatching_threads_; - int dispatching_threads_flags_; - int dispatching_threads_priority_; - int dispatching_threads_force_active_; - - /// How often (in microseconds) are the pull suppliers polled by the - /// reactive pulling strategy. - int reactive_pulling_period_; - - /// Use this ORB to locate global resources. - char *orbid_; - - /// Indicate ORB ID has been duplicated (memory allocated). - int orbid_dupped_; - - /// The consumer and supplier control policies. - int consumer_control_; - int supplier_control_; - - /// The consumer and supplier control periods in usecs - int consumer_control_period_; - int supplier_control_period_; - - /// The consumer and supplier control timeout in usecs - ACE_Time_Value consumer_control_timeout_; - ACE_Time_Value supplier_control_timeout_; - - /// The consumer and supplier operation timeouts. - /// Only in effect if the corresponding "reactive control" is enabled. - /// Applies the given timeout as the round-trip time policy on the - /// object reference. - ACE_Time_Value consumer_timeout_; - ACE_Time_Value supplier_timeout_; - - /// The number of retries before disconnecting a proxy - unsigned int proxy_disconnect_retries_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Default_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_STATIC_SVC_DECLARE (TAO_CEC_Default_Factory) -ACE_FACTORY_DECLARE (TAO_Event_Serv, TAO_CEC_Default_Factory) - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_DEFAULT_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i deleted file mode 100644 index 0dd3d37f8cb..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i +++ /dev/null @@ -1,32 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_Default_Factory::TAO_CEC_Default_Factory (void) - : dispatching_ (TAO_CEC_DEFAULT_DISPATCHING), - pulling_strategy_ (TAO_CEC_DEFAULT_PULLING_STRATEGY), - consumer_collection_ (TAO_CEC_DEFAULT_CONSUMER_COLLECTION), - supplier_collection_ (TAO_CEC_DEFAULT_SUPPLIER_COLLECTION), - consumer_lock_ (TAO_CEC_DEFAULT_CONSUMER_LOCK), - supplier_lock_ (TAO_CEC_DEFAULT_SUPPLIER_LOCK), - dispatching_threads_ (TAO_CEC_DEFAULT_DISPATCHING_THREADS), - dispatching_threads_flags_ (TAO_CEC_DEFAULT_DISPATCHING_THREADS_FLAGS), - dispatching_threads_priority_ (TAO_CEC_DEFAULT_DISPATCHING_THREADS_PRIORITY), - dispatching_threads_force_active_ (TAO_CEC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE), - reactive_pulling_period_ (TAO_CEC_DEFAULT_REACTIVE_PULLING_PERIOD), - orbid_ ((char*)TAO_CEC_DEFAULT_ORB_ID), - orbid_dupped_(0), - consumer_control_ (TAO_CEC_DEFAULT_CONSUMER_CONTROL), - supplier_control_ (TAO_CEC_DEFAULT_SUPPLIER_CONTROL), - consumer_control_period_ (TAO_CEC_DEFAULT_CONSUMER_CONTROL_PERIOD), - supplier_control_period_ (TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD), - consumer_control_timeout_ (0, TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT), - supplier_control_timeout_ (0, TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT), - proxy_disconnect_retries_ (TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h deleted file mode 100644 index f7fabae1b16..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h +++ /dev/null @@ -1,127 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Defaults.h - * - * $Id$ - * - * In this file we set the compile time defaults for the event - * channel. - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_DEFAULTS_H -#define TAO_CEC_DEFAULTS_H - -#include /**/ "ace/pre.h" - -#ifndef TAO_CEC_ENABLE_DEBUG_MESSAGES -#define TAO_CEC_ENABLE_DEBUG_MESSAGES 0 -#endif /* TAO_CEC_ENABLE_DEBUG_MESSAGES */ - -// Any of the definitions below can be overriden in the config.h file -// or the compilation line. - -// Control consumer and supplier reconnections -#ifndef TAO_CEC_DEFAULT_CONSUMER_RECONNECT -# define TAO_CEC_DEFAULT_CONSUMER_RECONNECT 0 -#endif /* TAO_CEC_DEFAULT_CONSUMER_RECONNECT */ - -#ifndef TAO_CEC_DEFAULT_SUPPLIER_RECONNECT -#define TAO_CEC_DEFAULT_SUPPLIER_RECONNECT 0 -#endif /* TAO_CEC_DEFAULT_SUPPLIER_RECONNECT */ - -// Control callbacks when proxies are disconnected -#ifndef TAO_CEC_DEFAULT_DISCONNECT_CALLBACKS -# define TAO_CEC_DEFAULT_DISCONNECT_CALLBACKS 0 -#endif /* TAO_CEC_DEFAULT_DISCONNECT_CALLBACKS */ - -// The defaults for the default factory. -// The TAO_CEC_Default_Factory is a run-time configurable factory for -// the event channel. Using the service configurator the user can -// specify what strategies should the factory produce. -// This macros control the default values for those strategies. -// -#ifndef TAO_CEC_DEFAULT_DISPATCHING -# define TAO_CEC_DEFAULT_DISPATCHING 0 /* reactive */ -#endif /* TAO_CEC_DEFAULT_DISPATCHING */ - -#ifndef TAO_CEC_DEFAULT_PULLING_STRATEGY -# define TAO_CEC_DEFAULT_PULLING_STRATEGY 0 /* reactive */ -#endif /* TAO_CEC_DEFAULT_PULLING_STRATEGY */ - -#ifndef TAO_CEC_DEFAULT_CONSUMER_COLLECTION -# define TAO_CEC_DEFAULT_CONSUMER_COLLECTION 0x003 /* delayed MT-safe */ -#endif /* TAO_CEC_DEFAULT_CONSUMER_COLLECTION */ - -#ifndef TAO_CEC_DEFAULT_SUPPLIER_COLLECTION -# define TAO_CEC_DEFAULT_SUPPLIER_COLLECTION 0x003 /* delayed MT-safe */ -#endif /* TAO_CEC_DEFAULT_SUPPLIER_COLLECTION */ - -#ifndef TAO_CEC_DEFAULT_CONSUMER_LOCK -# define TAO_CEC_DEFAULT_CONSUMER_LOCK 1 /* thread */ -#endif /* TAO_CEC_DEFAULT_CONSUMER_LOCK */ - -#ifndef TAO_CEC_DEFAULT_SUPPLIER_LOCK -# define TAO_CEC_DEFAULT_SUPPLIER_LOCK 1 /* thread */ -#endif /* TAO_CEC_DEFAULT_SUPPLIER_LOCK */ - -#ifndef TAO_CEC_DEFAULT_DISPATCHING_THREADS -# define TAO_CEC_DEFAULT_DISPATCHING_THREADS 1 /* */ -#endif /* TAO_CEC_DEFAULT_DISPATCHING_THREADS */ - -#ifndef TAO_CEC_DEFAULT_DISPATCHING_THREADS_FLAGS -# define TAO_CEC_DEFAULT_DISPATCHING_THREADS_FLAGS THR_NEW_LWP|THR_BOUND|THR_SCHED_DEFAULT -#endif /* TAO_CEC_DEFAULT_DISPATCHING_THREADS */ - -#ifndef TAO_CEC_DEFAULT_DISPATCHING_THREADS_PRIORITY -# define TAO_CEC_DEFAULT_DISPATCHING_THREADS_PRIORITY ACE_THR_PRI_OTHER_DEF -#endif /* TAO_CEC_DEFAULT_DISPATCHING_THREADS_PRIORITY */ - -#ifndef TAO_CEC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE -# define TAO_CEC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE 1 -#endif /* TAO_CEC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE */ - -#ifndef TAO_CEC_DEFAULT_REACTIVE_PULLING_PERIOD -# define TAO_CEC_DEFAULT_REACTIVE_PULLING_PERIOD 5000000 /* usecs */ -#endif /* TAO_CEC_DEFAULT_REACTIVE_PULLING_PERIOD */ - -#ifndef TAO_CEC_DEFAULT_ORB_ID -# define TAO_CEC_DEFAULT_ORB_ID "" /* */ -#endif /* TAO_CEC_DEFAULT_ORB_ID */ - -#ifndef TAO_CEC_DEFAULT_CONSUMER_CONTROL -# define TAO_CEC_DEFAULT_CONSUMER_CONTROL 0 /* null */ -#endif /* TAO_CEC_DEFAULT_CONSUMER_CONTROL */ - -#ifndef TAO_CEC_DEFAULT_SUPPLIER_CONTROL -# define TAO_CEC_DEFAULT_SUPPLIER_CONTROL 0 /* null */ -#endif /* TAO_CEC_DEFAULT_SUPPLIER_CONTROL */ - -#ifndef TAO_CEC_DEFAULT_CONSUMER_CONTROL_PERIOD -# define TAO_CEC_DEFAULT_CONSUMER_CONTROL_PERIOD 5000000 /* usecs */ -#endif /* TAO_CEC_DEFAULT_CONSUMER_CONTROL_PERIOD */ - -#ifndef TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD -# define TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD 5000000 /* usecs */ -#endif /* TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD */ - -#ifndef TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT -# define TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT 10000 /* usecs */ -#endif /* TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT */ - -#ifndef TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT -# define TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT 10000 /* usecs */ -#endif /* TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT */ - -#ifndef TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES -# define TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES 0 -#endif /* TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_DEFAULTS_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.cpp deleted file mode 100644 index 14c6d6c21ca..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_Dispatching.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" - -ACE_RCSID(CosEvent, CEC_Dispatching, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_Dispatching::~TAO_CEC_Dispatching (void) -{ -} - -// **************************************************************** - -TAO_CEC_Reactive_Dispatching::TAO_CEC_Reactive_Dispatching (void) -{ -} - -void -TAO_CEC_Reactive_Dispatching::activate (void) -{ -} - -void -TAO_CEC_Reactive_Dispatching::shutdown (void) -{ -} - -void -TAO_CEC_Reactive_Dispatching::push (TAO_CEC_ProxyPushSupplier* proxy, - const CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - proxy->reactive_push_to_consumer (event ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_Reactive_Dispatching::push_nocopy (TAO_CEC_ProxyPushSupplier* proxy, - CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - proxy->reactive_push_to_consumer (event ACE_ENV_ARG_PARAMETER); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Reactive_Dispatching::invoke (TAO_CEC_ProxyPushSupplier* proxy, - const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - proxy->reactive_invoke_to_consumer (typed_event ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_Reactive_Dispatching::invoke_nocopy (TAO_CEC_ProxyPushSupplier* proxy, - TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - proxy->reactive_invoke_to_consumer (typed_event ACE_ENV_ARG_PARAMETER); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h deleted file mode 100644 index 48806cdafba..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h +++ /dev/null @@ -1,119 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_DISPATCHING_H -#define TAO_CEC_DISPATCHING_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventCommC.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_ProxyPushSupplier; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_TypedEvent; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -/** - * @class TAO_CEC_Dispatching - * - * @brief Define the interface for the dispatching strategies. - * - * The EC may be configured with different dispatching strategies, - * for instance, it can use a pool of threads to dispatch the - * events, or a set of queues with threads at different priorities - * for each queue or can simply push the event to the consumer in - * FIFO order. - */ -class TAO_Event_Serv_Export TAO_CEC_Dispatching -{ -public: - /// destructor... - virtual ~TAO_CEC_Dispatching (void); - - /// Initialize all the data structures, activate any internal threads, - /// etc. - virtual void activate (void) = 0; - - /** - * Deactivate any internal threads and cleanup internal data - * structures, it should only return once the threads have finished - * their jobs. - */ - virtual void shutdown (void) = 0; - - /// The consumer represented by should receive . - virtual void push (TAO_CEC_ProxyPushSupplier *proxy, - const CORBA::Any &event - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; - virtual void push_nocopy (TAO_CEC_ProxyPushSupplier *proxy, - CORBA::Any &event - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void invoke (TAO_CEC_ProxyPushSupplier *proxy, - const TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; - virtual void invoke_nocopy (TAO_CEC_ProxyPushSupplier *proxy, - TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -}; - -// **************************************************************** - -/** - * @class TAO_CEC_Reactive_Dispatching - * - * @brief Dispatch using the caller thread. - * - * The events are dispatched in FIFO ordering, using the invoking - * thread to push the event to the consumer. - */ -class TAO_Event_Serv_Export TAO_CEC_Reactive_Dispatching : public TAO_CEC_Dispatching -{ -public: - /// The scheduler is used to find the range of priorities and similar - /// info. - TAO_CEC_Reactive_Dispatching (void); - - // = The CEC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_CEC_ProxyPushSupplier *proxy, - const CORBA::Any &event - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - virtual void push_nocopy (TAO_CEC_ProxyPushSupplier *proxy, - CORBA::Any &event - ACE_ENV_ARG_DECL_WITH_DEFAULTS); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void invoke (TAO_CEC_ProxyPushSupplier *proxy, - const TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - virtual void invoke_nocopy (TAO_CEC_ProxyPushSupplier *proxy, - TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp deleted file mode 100644 index 363d2600717..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp +++ /dev/null @@ -1,156 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_Dispatching_Task.h" - -#include "tao/ORB_Constants.h" -#include "ace/OS_NS_errno.h" - - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Dispatching_Task.i" -#endif /* __ACE_INLINE__ */ - -#include "ace/OS_NS_errno.h" - -ACE_RCSID (CosEvent, - CEC_Dispatching, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_CEC_Dispatching_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")); - - TAO_CEC_Dispatch_Command *command = - dynamic_cast (mb); - - if (command == 0) - { - ACE_Message_Block::release (mb); - continue; - } - - int 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; -} - -void -TAO_CEC_Dispatching_Task::push (TAO_CEC_ProxyPushSupplier *proxy, - CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - void* buf = this->allocator_->malloc (sizeof (TAO_CEC_Push_Command)); - - if (buf == 0) - ACE_THROW (CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - - ACE_Message_Block *mb = - new (buf) TAO_CEC_Push_Command (proxy, - event, - this->data_block_.duplicate (), - this->allocator_); - this->putq (mb); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Dispatching_Task::invoke (TAO_CEC_ProxyPushSupplier *proxy, - TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - void* buf = this->allocator_->malloc (sizeof (TAO_CEC_Invoke_Command)); - - if (buf == 0) - ACE_THROW (CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - - ACE_Message_Block *mb = - new (buf) TAO_CEC_Invoke_Command (proxy, - typed_event, - this->data_block_.duplicate (), - this->allocator_); - this->putq (mb); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -// **************************************************************** - -TAO_CEC_Dispatch_Command::~TAO_CEC_Dispatch_Command (void) -{ -} - -// **************************************************************** - -int -TAO_CEC_Shutdown_Task_Command::execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return -1; -} - -// **************************************************************** - -TAO_CEC_Push_Command::~TAO_CEC_Push_Command (void) -{ - this->proxy_->_decr_refcnt (); -} - -int -TAO_CEC_Push_Command::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - this->proxy_->push_to_consumer (this->event_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - return 0; -} - -// **************************************************************** - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_Invoke_Command::~TAO_CEC_Invoke_Command (void) -{ - this->proxy_->_decr_refcnt (); -} - -int -TAO_CEC_Invoke_Command::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - this->proxy_->invoke_to_consumer (this->typed_event_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - return 0; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h deleted file mode 100644 index fcdcb8a564a..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h +++ /dev/null @@ -1,165 +0,0 @@ -// $Id$ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Dispatching_Task.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_DISPATCHING_TASK_H -#define TAO_CEC_DISPATCHING_TASK_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" - -#include "tao/Basic_Types.h" - -#include "ace/Message_Block.h" -#include "ace/Lock_Adapter_T.h" -#include "ace/Task.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosEvent/CEC_TypedEvent.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_Dispatching_Task - * - * @brief Implement the dispatching queues for FIFO and Priority - * dispatching. - * - */ -class TAO_Event_Serv_Export TAO_CEC_Dispatching_Task : public ACE_Task -{ -public: - /// Constructor - TAO_CEC_Dispatching_Task (ACE_Thread_Manager* thr_manager = 0); - - /// Process the events in the queue. - virtual int svc (void); - - virtual void push (TAO_CEC_ProxyPushSupplier *proxy, - CORBA::Any& event - ACE_ENV_ARG_DECL); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void invoke (TAO_CEC_ProxyPushSupplier *proxy, - TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -private: - /// An per-task allocator - ACE_Allocator *allocator_; - - /// Helper data structure to minimize memory allocations... - ACE_Locked_Data_Block > data_block_; -}; - -// **************************************************************** - -class TAO_Event_Serv_Export TAO_CEC_Dispatch_Command : public ACE_Message_Block -{ -public: - /// Constructor, it will allocate its own data block - TAO_CEC_Dispatch_Command (ACE_Allocator *mb_allocator = 0); - - /// Constructor, it assumes ownership of the data block - TAO_CEC_Dispatch_Command (ACE_Data_Block*, - ACE_Allocator *mb_allocator = 0); - - /// Destructor - virtual ~TAO_CEC_Dispatch_Command (void); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) = 0; -}; - -// **************************************************************** - -class TAO_Event_Serv_Export TAO_CEC_Shutdown_Task_Command : public TAO_CEC_Dispatch_Command -{ -public: - /// Constructor - TAO_CEC_Shutdown_Task_Command (ACE_Allocator *mb_allocator = 0); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); -}; - -// **************************************************************** - -class TAO_Event_Serv_Export TAO_CEC_Push_Command : public TAO_CEC_Dispatch_Command -{ -public: - /// Constructor - TAO_CEC_Push_Command (TAO_CEC_ProxyPushSupplier* proxy, - CORBA::Any& event, - ACE_Data_Block* data_block, - ACE_Allocator *mb_allocator); - - /// Destructor - virtual ~TAO_CEC_Push_Command (void); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - -private: - /// The proxy - TAO_CEC_ProxyPushSupplier* proxy_; - - /// The event - CORBA::Any event_; -}; - -// **************************************************************** - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_Event_Serv_Export TAO_CEC_Invoke_Command : public TAO_CEC_Dispatch_Command -{ -public: - /// Constructor - TAO_CEC_Invoke_Command (TAO_CEC_ProxyPushSupplier* proxy, - TAO_CEC_TypedEvent& typed_event, - ACE_Data_Block* data_block, - ACE_Allocator *mb_allocator); - - /// Destructor - virtual ~TAO_CEC_Invoke_Command (void); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - -private: - /// The proxy - TAO_CEC_ProxyPushSupplier* proxy_; - - /// The event - TAO_CEC_TypedEvent typed_event_; -}; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Dispatching_Task.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_DISPATCHING_TASK_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.i deleted file mode 100644 index 1432528492a..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.i +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_Dispatching_Task:: -TAO_CEC_Dispatching_Task (ACE_Thread_Manager* thr_manager) - : ACE_Task (thr_manager), - allocator_ (0) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Dispatch_Command::TAO_CEC_Dispatch_Command (ACE_Allocator *mb_allocator) - : ACE_Message_Block (mb_allocator) -{ -} - -ACE_INLINE -TAO_CEC_Dispatch_Command::TAO_CEC_Dispatch_Command (ACE_Data_Block *data_block, - ACE_Allocator *mb_allocator) - : ACE_Message_Block (data_block, 0, mb_allocator) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Shutdown_Task_Command:: - TAO_CEC_Shutdown_Task_Command (ACE_Allocator *mb_allocator) - : TAO_CEC_Dispatch_Command (mb_allocator) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Push_Command::TAO_CEC_Push_Command (TAO_CEC_ProxyPushSupplier* proxy, - CORBA::Any& event, - ACE_Data_Block* data_block, - ACE_Allocator *mb_allocator) - : TAO_CEC_Dispatch_Command (data_block, mb_allocator), - proxy_ (proxy) -{ - // - // Efficient copy, steal the buffer from - // We cannot do this on the initialization because get_buffer() - // could get called first, effectively setting maximum() and - // length() to 0! - // - // @@ TODO - this->event_ = event; - - this->proxy_->_incr_refcnt (); -} - -// **************************************************************** - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -ACE_INLINE -TAO_CEC_Invoke_Command::TAO_CEC_Invoke_Command (TAO_CEC_ProxyPushSupplier* proxy, - TAO_CEC_TypedEvent& typed_event, - ACE_Data_Block* data_block, - ACE_Allocator *mb_allocator) - : TAO_CEC_Dispatch_Command (data_block, mb_allocator), - proxy_ (proxy) -{ - // - // Efficient copy, steal the buffer from - // We cannot do this on the initialization because get_buffer() - // could get called first, effectively setting maximum() and - // length() to 0! - // - // @@ TODO - this->typed_event_ = typed_event; - - this->proxy_->_incr_refcnt (); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp deleted file mode 100644 index 75813fad39b..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp +++ /dev/null @@ -1,179 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/CosEvent/CEC_DynamicImplementation.h" -#include "tao/DynamicInterface/Request.h" -#include "tao/DynamicInterface/Unknown_User_Exception.h" -#include "tao/debug.h" -#include "orbsvcs/CosEvent/CEC_TypedEvent.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_DynamicImplementation.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Destructor -TAO_CEC_DynamicImplementationServer::~TAO_CEC_DynamicImplementationServer (void) -{ -} - -// The DSI invoke request -void -TAO_CEC_DynamicImplementationServer::invoke (CORBA::ServerRequest_ptr request - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Trap the _is_a request - if (ACE_OS::strcmp ("_is_a", request->operation () ) == 0) - { - this->is_a (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - CORBA::NVList_ptr list; - - // Get the operation paramter information from the IFR cache. - TAO_CEC_Operation_Params *oper_params = - this->typed_event_channel_->find_from_ifr_cache (request->operation () ); - - if (oper_params == 0) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Operation not found in IFR cache *****\n"))); - } - - this->typed_event_channel_->create_list (0, list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - // Populate the NVList from the parameter information. - this->typed_event_channel_->create_operation_list (oper_params, list - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Get the operation arguments. This ahould demarshal correctly. - request->arguments (list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Populate the TypedEvent with the list and operation name. - TAO_CEC_TypedEvent typed_event (list, request->operation () ); - - // Pass the TypedEvent to the TypedProxyPushConsumer - this->typed_pp_consumer_->invoke (typed_event ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -CORBA::RepositoryId -TAO_CEC_DynamicImplementationServer::_primary_interface (const PortableServer::ObjectId &, - PortableServer::POA_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (()) -{ - return CORBA::string_dup (repository_id_); -} - -PortableServer::POA_ptr -TAO_CEC_DynamicImplementationServer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -void -TAO_CEC_DynamicImplementationServer::is_a (CORBA::ServerRequest_ptr request - ACE_ENV_ARG_DECL) -{ - CORBA::NVList_ptr list; - - this->typed_event_channel_->create_list (0, list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Any any_1; - any_1._tao_set_typecode(CORBA::_tc_string); - - list->add_value ("value", - any_1, - CORBA::ARG_IN - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - request->arguments (list - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::NamedValue_ptr nv = list->item (0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Any_ptr ap = nv->value (); - const char *value; - *ap >>= value; - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** TAO_CEC_DynamicImplementationServer::is_a called with value %s *****\n"), - value)); - } - - const char *object_id = - CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** is_a using Server's RepositoryId %s *****\n"), - this->repository_id_)); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** is_a using base interface %s *****\n"), - object_id)); - } - - CORBA::Boolean result = 0; - if (ACE_OS::strcmp (value, this->repository_id_) == 0 - || ACE_OS::strcmp (value, object_id) == 0) - { - result = 1; - } - else - { - CORBA::ULong num = this->typed_event_channel_->number_of_base_interfaces (); - for (CORBA::ULong base=0; base= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** is_a using base interface %s *****\n"), - this->typed_event_channel_->base_interfaces (base) )); - } - - if (ACE_OS::strcmp (value, this->typed_event_channel_->base_interfaces (base) ) == 0) - { - result = 1; - } - } - } - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** is_a returning %d *****\n"), - result)); - } - - CORBA::Any result_any; - CORBA::Any::from_boolean from_boolean (result); - result_any <<= from_boolean; - - request->set_result (result_any ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h deleted file mode 100644 index 98c4b91c1cd..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_DynamicImplementation.h - * - * $Id$ - * - * @author Jon Astle (jon@astle45.fsnet.co.uk) - */ -//============================================================================= - - -#ifndef TAO_CEC_DYNAMICIMPLEMENTATION_H -#define TAO_CEC_DYNAMICIMPLEMENTATION_H - -#include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#include "tao/DynamicInterface/Server_Request.h" -#include "tao/DynamicInterface/Dynamic_Implementation.h" -#include "tao/ORB.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_DynamicImplementationServer : public TAO_DynamicImplementation -{ - // = TITLE - // DSI TAO_CEC_DynamicImplementationServer implementation - // - // = DESCRIPTION - // Implements the DSI impl object - // -public: - - // Constructure - TAO_CEC_DynamicImplementationServer (PortableServer::POA_ptr poa, - TAO_CEC_TypedProxyPushConsumer *typed_pp_consumer, - TAO_CEC_TypedEventChannel *typed_event_channel); - - //Destructor - virtual ~TAO_CEC_DynamicImplementationServer (void); - - // = The DynamicImplementation methods. - virtual void invoke (CORBA::ServerRequest_ptr request - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::RepositoryId _primary_interface ( - const PortableServer::ObjectId &oid, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (()); - - virtual PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL - ); - - // Handles the _is_a call - virtual void is_a (CORBA::ServerRequest_ptr request - ACE_ENV_ARG_DECL); - -private: - // The POA - PortableServer::POA_var poa_; - - // The Typed Proxy Push Consumer Implementation - TAO_CEC_TypedProxyPushConsumer *typed_pp_consumer_; - - // The Typed Event Channel Implementation - TAO_CEC_TypedEventChannel *typed_event_channel_; - - // The RepositoryId - CORBA::RepositoryId repository_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_DynamicImplementation.i" -#endif /* __ACE_INLINE__ */ - -#endif /* TAO_CEC_DYNAMICIMPLEMENTATION_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.i deleted file mode 100644 index 2f1bff715f7..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.i +++ /dev/null @@ -1,19 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_DynamicImplementationServer::TAO_CEC_DynamicImplementationServer - (PortableServer::POA_ptr poa, - TAO_CEC_TypedProxyPushConsumer *typed_pp_consumer, - TAO_CEC_TypedEventChannel *typed_event_channel) - : poa_ (PortableServer::POA::_duplicate (poa)), - typed_pp_consumer_ (typed_pp_consumer), - typed_event_channel_ (typed_event_channel), - repository_id_ (CORBA::string_dup (typed_event_channel->supported_interface () )) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp deleted file mode 100644 index 11fb1dd92d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp +++ /dev/null @@ -1,241 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_Dispatching.h" -#include "orbsvcs/CosEvent/CEC_Pulling_Strategy.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_ConsumerControl.h" -#include "orbsvcs/CosEvent/CEC_SupplierControl.h" -#include "ace/Dynamic_Service.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_EventChannel.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(CosEvent, CEC_EventChannel, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_EventChannel:: -TAO_CEC_EventChannel (const TAO_CEC_EventChannel_Attributes& attr, - TAO_CEC_Factory* factory, - int own_factory) - : supplier_poa_ (PortableServer::POA::_duplicate (attr.supplier_poa)), - consumer_poa_ (PortableServer::POA::_duplicate (attr.consumer_poa)), - factory_ (factory), - own_factory_ (own_factory), - consumer_reconnect_ (attr.consumer_reconnect), - supplier_reconnect_ (attr.supplier_reconnect), - disconnect_callbacks_ (attr.disconnect_callbacks) -{ - if (this->factory_ == 0) - { - this->factory_ = - ACE_Dynamic_Service::instance ("CEC_Factory"); - this->own_factory_ = 0; - ACE_ASSERT (this->factory_ != 0); - } - - this->dispatching_ = - this->factory_->create_dispatching (this); - this->pulling_strategy_ = - this->factory_->create_pulling_strategy (this); - this->consumer_admin_ = - this->factory_->create_consumer_admin (this); - this->supplier_admin_ = - this->factory_->create_supplier_admin (this); - this->consumer_control_ = - this->factory_->create_consumer_control (this); - this->supplier_control_ = - this->factory_->create_supplier_control (this); -} - -TAO_CEC_EventChannel::~TAO_CEC_EventChannel (void) -{ - this->factory_->destroy_dispatching (this->dispatching_); - this->dispatching_ = 0; - - this->factory_->destroy_pulling_strategy (this->pulling_strategy_); - this->pulling_strategy_ = 0; - - this->factory_->destroy_consumer_admin (this->consumer_admin_); - this->consumer_admin_ = 0; - this->factory_->destroy_supplier_admin (this->supplier_admin_); - this->supplier_admin_ = 0; - - this->factory_->destroy_consumer_control (this->consumer_control_); - this->consumer_control_ = 0; - this->factory_->destroy_supplier_control (this->supplier_control_); - this->supplier_control_ = 0; - - if (this->own_factory_) - delete this->factory_; -} - -void -TAO_CEC_EventChannel::activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->dispatching_->activate (); - this->pulling_strategy_->activate (); - this->consumer_control_->activate (); - this->supplier_control_->activate (); -} - -void -TAO_CEC_EventChannel::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->dispatching_->shutdown (); - this->pulling_strategy_->shutdown (); - this->supplier_control_->shutdown (); - this->consumer_control_->shutdown (); - - PortableServer::POA_var consumer_poa = - this->consumer_admin_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - PortableServer::ObjectId_var consumer_id = - consumer_poa->servant_to_id (this->consumer_admin_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - consumer_poa->deactivate_object (consumer_id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::POA_var supplier_poa = - this->supplier_admin_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - PortableServer::ObjectId_var supplier_id = - supplier_poa->servant_to_id (this->supplier_admin_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - supplier_poa->deactivate_object (supplier_id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->supplier_admin_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->consumer_admin_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::connected (TAO_CEC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::reconnected (TAO_CEC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->reconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::disconnected (TAO_CEC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->disconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::connected (TAO_CEC_ProxyPullConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::reconnected (TAO_CEC_ProxyPullConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->reconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::disconnected (TAO_CEC_ProxyPullConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->disconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::connected (TAO_CEC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::reconnected (TAO_CEC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->reconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::disconnected (TAO_CEC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->disconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::connected (TAO_CEC_ProxyPullSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::reconnected (TAO_CEC_ProxyPullSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->reconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_EventChannel::disconnected (TAO_CEC_ProxyPullSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->disconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -CosEventChannelAdmin::ConsumerAdmin_ptr -TAO_CEC_EventChannel::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->consumer_admin_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::SupplierAdmin_ptr -TAO_CEC_EventChannel::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->supplier_admin_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_CEC_EventChannel::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Policy_ptr TAO_CEC_EventChannel::create_roundtrip_timeout_policy -(const ACE_Time_Value &timeout) -{ - return this->factory_->create_roundtrip_timeout_policy (timeout); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h deleted file mode 100644 index b25f91e9054..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h +++ /dev/null @@ -1,316 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_EventChannel.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * A new implementation of the COS Event Channel. - * This version does not rely on the RTEC in its implementation. - * - * - */ -//============================================================================= - - -#ifndef TAO_CEC_EVENTCHANNEL_H -#define TAO_CEC_EVENTCHANNEL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEventChannelAdminS.h" - -#include "orbsvcs/CosEvent/CEC_Defaults.h" -#include "orbsvcs/CosEvent/event_serv_export.h" -#include "ace/Hash_Map_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_EventChannel_Attributes - * - * @brief Defines the construction time attributes for the Event - * Channel. - * - * The event channel implementation is controlled by two - * mechanisms: - * The CEC_Factory that provides the strategies for the EC - * implementation. - * The EC attributes that define constants and values required - * by the EC construction. - * This class encapsulates those constants and values, providing - * an easy mechanism to extend the attributes without requiring - * changes in the EC constructor. - */ -class TAO_Event_Serv_Export TAO_CEC_EventChannel_Attributes -{ -public: - /** - * The basic constructor. - * The attributes listed as arguments are *required* by the EC, and - * no appropiate defaults are available for them. - */ - TAO_CEC_EventChannel_Attributes (PortableServer::POA_ptr supplier_poa, - PortableServer::POA_ptr consumer_poa); - - // Most fields are public, there is no need to protect them, in fact - // the user should be able to set any values she wants. - - /// Can consumers or suppliers invoke connect_push_* multiple times? - int consumer_reconnect; - int supplier_reconnect; - - /** - * If not zero the event channel will send disconnect callbacks when - * a disconnect method is called on a Proxy. In other words, if a - * consumer calls disconnect_push_supplier() on its proxy the EC - * will invoke disconnect_push_consumer() on the consumer. A - * similar thing is done for suppliers. - * It is a matter of debate what the spec requires for the regular - * event service. - */ - int disconnect_callbacks; - -private: - /// Only the EC can read the private fields. - friend class TAO_CEC_EventChannel; - - /// The POAs - PortableServer::POA_ptr supplier_poa; - PortableServer::POA_ptr consumer_poa; -}; - -/** - * @class TAO_CEC_EventChannel - * - * @brief The CosEventChannelAdmin::EventChannel implementation. - * - * This class is the Mediator between all the classes in the EC - * implementation, its main task is to redirect the messages to - * the right components, to hold and manage the lifetime of the - * long lived objects (Timer_Module, SupplierAdmin, - * ConsumerAdmin and Dispatching) and to provide a simpler - * interface to the CEC_Factory. - */ -class TAO_Event_Serv_Export TAO_CEC_EventChannel : public POA_CosEventChannelAdmin::EventChannel -{ -public: - class ServantBaseHash - { - public: - u_long operator() (PortableServer::ServantBase* const & ptr) const { - return reinterpret_cast (ptr); - } - }; - - typedef ACE_Hash_Map_Manager_Ex, - TAO_SYNCH_MUTEX> ServantRetryMap; - - /** - * constructor - * If is not 0 it assumes ownership of the factory. - * If the factory is it uses the Service_Configurator to load - * the Factory, if not found it uses TAO_CEC_Default_Resource_Factory - */ - TAO_CEC_EventChannel (const TAO_CEC_EventChannel_Attributes& attributes, - TAO_CEC_Factory* factory = 0, - int own_factory = 0); - - /// destructor - virtual ~TAO_CEC_EventChannel (void); - - /// Start the internal threads (if any), etc. - /// After this call the EC can be used. - virtual void activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Shutdown any internal threads, cleanup all the internal - /// structures, flush all the messages, etc. - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Access the dispatching module.... - TAO_CEC_Dispatching* dispatching (void) const; - - /// Access the consumer admin implementation. - TAO_CEC_ConsumerAdmin* consumer_admin (void) const; - - /// Access the supplier admin implementation. - TAO_CEC_SupplierAdmin* supplier_admin (void) const; - - /// Access the consumer control strategy. - TAO_CEC_ConsumerControl* consumer_control (void) const; - - /// Access the supplier control strategy. - TAO_CEC_SupplierControl* supplier_control (void) const; - - // = The factory methods, they delegate on the CEC_Factory. - /// Create and destroy a ProxyPushSupplier - void create_proxy (TAO_CEC_ProxyPushSupplier*&); - void destroy_proxy (TAO_CEC_ProxyPushSupplier*); - - /// Create and destroy a ProxyPullSupplier - void create_proxy (TAO_CEC_ProxyPullSupplier*&); - void destroy_proxy (TAO_CEC_ProxyPullSupplier*); - - /// Create and destroy a ProxyPushConsumer - void create_proxy (TAO_CEC_ProxyPushConsumer*&); - void destroy_proxy (TAO_CEC_ProxyPushConsumer*); - - /// Create and destroy a ProxyPushConsumer - void create_proxy (TAO_CEC_ProxyPullConsumer*&); - void destroy_proxy (TAO_CEC_ProxyPullConsumer*); - - /// Create and destroy a the collections used to store - /// Proxy*Suppliers - void create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection*&); - void destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection*); - void create_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection*&); - void destroy_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection*); - - /// Create and destroy a the collections used to store - /// Proxy*Consumers - void create_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection*&); - void destroy_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection*); - void create_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection*&); - void destroy_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection*); - - /// Access the supplier and consumer POAs from the factory. - PortableServer::POA_ptr supplier_poa (void); - PortableServer::POA_ptr consumer_poa (void); - - /// Locking strategies for the ProxyPushConsumer and - /// ProxyPushSupplier objects - ACE_Lock* create_consumer_lock (void); - void destroy_consumer_lock (ACE_Lock*); - ACE_Lock* create_supplier_lock (void); - void destroy_supplier_lock (ACE_Lock*); - - /// Used to inform the EC that a Consumer has connected or - /// disconnected from it. - virtual void connected (TAO_CEC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void connected (TAO_CEC_ProxyPullConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPullConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPullConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - - /// Used to inform the EC that a Supplier has connected or - /// disconnected from it. - virtual void connected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void connected (TAO_CEC_ProxyPullSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPullSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPullSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - - // Simple flags to control the EC behavior, set by the application - // at construction time. - - /// Can the consumers reconnect to the EC? - int consumer_reconnect (void) const; - - /// Can the suppliers reconnect to the EC? - int supplier_reconnect (void) const; - - /// Should we send callback disconnect messages when a proxy is - /// disconnected by the client - int disconnect_callbacks (void) const; - - // = The CosEventChannelAdmin::EventChannel methods... - /// The default implementation is: - /// this->consumer_admin ()->_this (env); - virtual CosEventChannelAdmin::ConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// The default implementation is: - /// this->supplier_admin ()->_this (env); - virtual CosEventChannelAdmin::SupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Commit suicide. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - ServantRetryMap& get_servant_retry_map (void); - - /// Forwarded to the factory - CORBA::Policy_ptr - create_roundtrip_timeout_policy (const ACE_Time_Value &timeout); - -private: - /// The POAs used to activate "supplier-side" and "consumer-side" - /// objects. - PortableServer::POA_var supplier_poa_; - PortableServer::POA_var consumer_poa_; - - /** - * This is the abstract factory that creates all the objects that - * compose an event channel, the event channel simply acts as a - * Mediator among them. - */ - TAO_CEC_Factory *factory_; - - /// Flag that indicates if we own the factory. - int own_factory_; - - /// The dispatching "module" - TAO_CEC_Dispatching *dispatching_; - - /// The pulling strategy - TAO_CEC_Pulling_Strategy *pulling_strategy_; - - /// The ConsumerAdmin implementation - TAO_CEC_ConsumerAdmin *consumer_admin_; - - /// The SupplierAdmin implementation - TAO_CEC_SupplierAdmin *supplier_admin_; - - /// Consumer/Supplier reconnection flags - int consumer_reconnect_; - int supplier_reconnect_; - - /// If not zero we send callbacks when a proxy is disconnected - int disconnect_callbacks_; - - /// Strategies to disconnect misbehaving or destroyed consumers and - /// suppliers - TAO_CEC_ConsumerControl *consumer_control_; - TAO_CEC_SupplierControl *supplier_control_; - - ServantRetryMap retry_map_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_EventChannel.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_EVENT_CHANNEL_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i deleted file mode 100644 index 23f8e906f7c..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i +++ /dev/null @@ -1,205 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_EventChannel_Attributes:: -TAO_CEC_EventChannel_Attributes (PortableServer::POA_ptr s_poa, - PortableServer::POA_ptr c_poa) - : consumer_reconnect (TAO_CEC_DEFAULT_CONSUMER_RECONNECT), - supplier_reconnect (TAO_CEC_DEFAULT_SUPPLIER_RECONNECT), - disconnect_callbacks (TAO_CEC_DEFAULT_DISCONNECT_CALLBACKS), - supplier_poa (s_poa), - consumer_poa (c_poa) -{ -} - -ACE_INLINE TAO_CEC_Dispatching* -TAO_CEC_EventChannel::dispatching (void) const -{ - return this->dispatching_; -} - -ACE_INLINE TAO_CEC_ConsumerAdmin* -TAO_CEC_EventChannel::consumer_admin (void) const -{ - return this->consumer_admin_; -} - -ACE_INLINE TAO_CEC_SupplierAdmin* -TAO_CEC_EventChannel::supplier_admin (void) const -{ - return this->supplier_admin_; -} - -ACE_INLINE TAO_CEC_ConsumerControl* -TAO_CEC_EventChannel::consumer_control (void) const -{ - return this->consumer_control_; -} - -ACE_INLINE TAO_CEC_SupplierControl* -TAO_CEC_EventChannel::supplier_control (void) const -{ - return this->supplier_control_; -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy (TAO_CEC_ProxyPushSupplier* &x) -{ - x = this->factory_->create_proxy_push_supplier (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy (TAO_CEC_ProxyPushSupplier* supplier) -{ - this->factory_->destroy_proxy_push_supplier (supplier); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy (TAO_CEC_ProxyPullSupplier* &x) -{ - x = this->factory_->create_proxy_pull_supplier (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy (TAO_CEC_ProxyPullSupplier* supplier) -{ - this->factory_->destroy_proxy_pull_supplier (supplier); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy (TAO_CEC_ProxyPushConsumer* &x) -{ - x = this->factory_->create_proxy_push_consumer (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy (TAO_CEC_ProxyPushConsumer* consumer) -{ - this->factory_->destroy_proxy_push_consumer (consumer); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy (TAO_CEC_ProxyPullConsumer* &x) -{ - x = this->factory_->create_proxy_pull_consumer (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy (TAO_CEC_ProxyPullConsumer* consumer) -{ - this->factory_->destroy_proxy_pull_consumer (consumer); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection* &x) -{ - x = this->factory_->create_proxy_push_consumer_collection (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy_collection (TAO_CEC_ProxyPushConsumer_Collection* x) -{ - this->factory_->destroy_proxy_push_consumer_collection (x); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection* &x) -{ - x = this->factory_->create_proxy_pull_consumer_collection (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy_collection (TAO_CEC_ProxyPullConsumer_Collection* x) -{ - this->factory_->destroy_proxy_pull_consumer_collection (x); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection* &x) -{ - x = this->factory_->create_proxy_push_supplier_collection (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection* x) -{ - this->factory_->destroy_proxy_push_supplier_collection (x); -} - -ACE_INLINE void -TAO_CEC_EventChannel::create_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection* &x) -{ - x = this->factory_->create_proxy_pull_supplier_collection (this); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_proxy_collection (TAO_CEC_ProxyPullSupplier_Collection* x) -{ - this->factory_->destroy_proxy_pull_supplier_collection (x); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_CEC_EventChannel::supplier_poa (void) -{ - return PortableServer::POA::_duplicate (this->supplier_poa_.in ()); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_CEC_EventChannel::consumer_poa (void) -{ - return PortableServer::POA::_duplicate (this->consumer_poa_.in ()); -} - -ACE_INLINE ACE_Lock* -TAO_CEC_EventChannel::create_consumer_lock (void) -{ - return this->factory_->create_consumer_lock (); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_consumer_lock (ACE_Lock* x) -{ - this->factory_->destroy_consumer_lock (x); -} - -ACE_INLINE ACE_Lock* -TAO_CEC_EventChannel::create_supplier_lock (void) -{ - return this->factory_->create_supplier_lock (); -} - -ACE_INLINE void -TAO_CEC_EventChannel::destroy_supplier_lock (ACE_Lock* x) -{ - this->factory_->destroy_supplier_lock (x); -} - -ACE_INLINE int -TAO_CEC_EventChannel::consumer_reconnect (void) const -{ - return this->consumer_reconnect_; -} - -ACE_INLINE int -TAO_CEC_EventChannel::supplier_reconnect (void) const -{ - return this->supplier_reconnect_; -} - -ACE_INLINE int -TAO_CEC_EventChannel::disconnect_callbacks (void) const -{ - return this->disconnect_callbacks_; -} - -ACE_INLINE TAO_CEC_EventChannel::ServantRetryMap& -TAO_CEC_EventChannel::get_servant_retry_map (void) -{ - return this->retry_map_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp deleted file mode 100644 index e9a9e726717..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp +++ /dev/null @@ -1,536 +0,0 @@ -// $Id$ - -//========================================================================== -// LIBRARY -// libTAO_CosEvent.so -// -// DESCRIPTION -// This class allows for dynamically loading -// the Event Service. -// -// AUTHOR -// Priyanka Gontla -// Carlos O'Ryan -// Jon Astle -// -//=========================================================================== - -#include "orbsvcs/CosEvent/CEC_Event_Loader.h" -#include "ace/Dynamic_Service.h" - -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_Default_Factory.h" - -#include "ace/Get_Opt.h" -#include "ace/Argv_Type_Converter.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_unistd.h" -#include "tao/debug.h" - -ACE_RCSID (CosEvent, - CEC_Event_Loader, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_Event_Loader::TAO_CEC_Event_Loader (void) : - attributes_ (0) - , factory_ (0) - , ec_impl_ (0) -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - , typed_attributes_ (0) - , typed_ec_impl_ (0) -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -{ - // Constructor -} - -TAO_CEC_Event_Loader::~TAO_CEC_Event_Loader (void) -{ - // Destructor -} - -int -TAO_CEC_Event_Loader::init (int argc, ACE_TCHAR *argv[]) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Copy command line parameter. - ACE_Argv_Type_Converter command_line(argc, argv); - - // ORB initialization boiler plate... - this->orb_= - CORBA::ORB_init (command_line.get_argc(), command_line.get_ASCII_argv(), 0 ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Object_var obj = - this->create_object (this->orb_.in (), command_line.get_argc(), command_line.get_TCHAR_argv() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (obj.in() )) - return -1; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, argv[0]); - return -1; - } - ACE_ENDTRY; - return 0; -} - - -CORBA::Object_ptr -TAO_CEC_Event_Loader::create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[] - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - // **************************************************************** - - // @@ Some ideas for improvement (not that you have to implement - // them): - // - Receive a child POA name from the command line, and create - // all the objects in that child POA (easier to destroy stuff - // that way). - // - Receive an option to register the Event Service with the - // _tao_add_to_IOR_table() stuff.. - - // Parse the options, check if we should bind with the naming - // service and under what name... - ACE_Get_Opt get_opt (argc, argv, ACE_TEXT("n:o:p:xrtdb")); - int opt; - const ACE_TCHAR *service_name = ACE_TEXT("CosEventService"); - const ACE_TCHAR *ior_file = 0; - const ACE_TCHAR *pid_file = 0; - this->bind_to_naming_service_ = 1; - int use_rebind = 0; - int disconnect_callbacks = 0; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - // Flag to create a typed event channel - int typed_ec = 0; - // Flag to destroy the event channel on shutdown - int destroy = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - while ((opt = get_opt ()) != EOF) - { - switch (opt) - { - case 'n': - service_name = get_opt.opt_arg (); - break; - - case 'o': - ior_file = get_opt.opt_arg (); - break; - - case 'p': - pid_file = get_opt.opt_arg (); - break; - - case 'x': - this->bind_to_naming_service_ = 0; - break; - - case 'r': - use_rebind = 1; - break; - - case 'b': - disconnect_callbacks = 1; - break; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - case 't': - typed_ec = 1; - break; - - case 'd': - destroy = 1; - break; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - case '?': - default: -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Usage: %s ") - ACE_TEXT ("-n service_name ") - ACE_TEXT ("-o ior_file_name ") - ACE_TEXT ("-p pid_file_name ") - ACE_TEXT ("-x [disable naming service bind]") - ACE_TEXT ("-r [rebind, no AlreadyBound failures] ") - ACE_TEXT ("-b [send callBacks on disconnect] ") - ACE_TEXT ("-t [enable typed event channel]") - ACE_TEXT ("-d [destroy typed event channelon shutdown] ") - ACE_TEXT ("\n"), - argv[0])); -#else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Usage: %s ") - ACE_TEXT ("-n service_name ") - ACE_TEXT ("-o ior_file_name ") - ACE_TEXT ("-p pid_file_name ") - ACE_TEXT ("-x [disable naming service bind] ") - ACE_TEXT ("-r [rebind, no AlreadyBound failures] ") - ACE_TEXT ("-b [send callBacks on disconnect] ") - ACE_TEXT ("\n"), - argv[0])); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - return CORBA::Object::_nil (); - } - } - - // *************************************************************** - - // POA initialization and activation ... - CORBA::Object_var object = - orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::POA_var poa = - PortableServer::POA::_narrow (object.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::POAManager_var poa_manager = - poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - - // **************************************************************** - - // Control the event loop - this->terminate_flag_ = 0; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (!typed_ec) - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Create and activate the event service - this->attributes_ = new TAO_CEC_EventChannel_Attributes(poa.in (), - poa.in ()); - - this->attributes_->disconnect_callbacks = disconnect_callbacks; - - this->factory_ = 0; - - this->ec_impl_ = new TAO_CEC_EventChannel (*this->attributes_, - this->factory_, - this->terminate_flag_); - - this->ec_impl_->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CosEventChannelAdmin::EventChannel_var event_channel = - this->ec_impl_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (ior_file != 0) - { - CORBA::String_var ior = - orb->object_to_string (event_channel.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - FILE *iorf = ACE_OS::fopen (ior_file, ACE_TEXT("w")); - if (iorf != 0) - { - ACE_OS::fprintf (iorf, "%s\n", ior.in ()); - ACE_OS::fclose (iorf); - } - } - - if (pid_file != 0) - { - FILE *pidf = ACE_OS::fopen (pid_file, ACE_TEXT("w")); - if (pidf != 0) - { - ACE_OS::fprintf (pidf, - "%ld\n", - static_cast (ACE_OS::getpid ())); - ACE_OS::fclose (pidf); - } - } - - // **************************************************************** - - this->channel_name_.length (1); - - if (this->bind_to_naming_service_) - { - CORBA::Object_var obj = - orb->resolve_initial_references ("NameService" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->naming_context_ = - CosNaming::NamingContext::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->channel_name_.length (1); - this->channel_name_[0].id = CORBA::string_dup (ACE_TEXT_ALWAYS_CHAR(service_name)); - - if (use_rebind) - { - this->naming_context_->rebind (this->channel_name_, - event_channel.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - else - { - this->naming_context_->bind (this->channel_name_, - event_channel.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - return CosEventChannelAdmin::EventChannel::_duplicate (event_channel.in () ); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } - else - { - // If Typed EC, initialize the IFR, then create and activate the typed event service - - // **************************************************************** - // IFR initialization - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Initializing the IFR connection... *****\n"))); - } - - CORBA::Repository_var interface_repository; - - CORBA::Object_var ifr_obj_var = - orb->resolve_initial_references ("InterfaceRepository" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil(ifr_obj_var.in () )) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** resolve_initial_references for IFR failed\n *****"))); - } - return CORBA::Object::_nil (); - } - else - { - interface_repository = CORBA::Repository::_narrow(ifr_obj_var.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil(interface_repository.in () )) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** CORBA::Repository::_narrow failed *****\n"))); - } - return CORBA::Object::_nil (); - } - else - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** ...IFR connection completed *****\n"))); - } - } - } - - // Create and activate the typed event service - this->typed_attributes_ = new TAO_CEC_TypedEventChannel_Attributes(poa.in (), - poa.in (), - orb, - interface_repository.in ()); - if (destroy == 1) - { - this->typed_attributes_->destroy_on_shutdown = 1; - } - - this->typed_attributes_->disconnect_callbacks = disconnect_callbacks; - - this->factory_ = 0; - - this->typed_ec_impl_ = new TAO_CEC_TypedEventChannel (*this->typed_attributes_, - this->factory_, - this->terminate_flag_); - - this->typed_ec_impl_->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CosTypedEventChannelAdmin::TypedEventChannel_var event_channel = - this->typed_ec_impl_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (ior_file != 0) - { - CORBA::String_var ior = - orb->object_to_string (event_channel.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - FILE *iorf = ACE_OS::fopen (ior_file, ACE_TEXT("w")); - if (iorf != 0) - { - ACE_OS::fprintf (iorf, "%s\n", ior.in ()); - ACE_OS::fclose (iorf); - } - } - - if (pid_file != 0) - { - FILE *pidf = ACE_OS::fopen (pid_file, ACE_TEXT("w")); - if (pidf != 0) - { - ACE_OS::fprintf (pidf, - "%ld\n", - static_cast (ACE_OS::getpid ())); - ACE_OS::fclose (pidf); - } - } - - // **************************************************************** - - this->channel_name_.length (1); - - if (this->bind_to_naming_service_) - { - CORBA::Object_var obj = - orb->resolve_initial_references ("NameService" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->naming_context_ = - CosNaming::NamingContext::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->channel_name_.length (1); - this->channel_name_[0].id = CORBA::string_dup (ACE_TEXT_ALWAYS_CHAR(service_name)); - - if (use_rebind) - { - this->naming_context_->rebind (this->channel_name_, - event_channel.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - else - { - this->naming_context_->bind (this->channel_name_, - event_channel.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - return CosTypedEventChannelAdmin::TypedEventChannel::_duplicate (event_channel.in () ); - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // **************************************************************** - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, argv[0]); - return CORBA::Object::_nil (); - } - ACE_ENDTRY; -} - -int -TAO_CEC_Event_Loader::fini (void) -{ - // + Since it was activated with _this() you have to do the - // canonical: - // get_object_id - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if(this->typed_ec_impl_) - { - // Release the resources of the Typed Event Channel - this->typed_ec_impl_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Deactivate the Typed EC - // This will raise an exception if destroy == 1 - PortableServer::POA_var t_poa = - this->typed_ec_impl_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableServer::ObjectId_var t_id = - t_poa->servant_to_id (this->typed_ec_impl_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - t_poa->deactivate_object (t_id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } -#else - // Release the resources of the Event Channel - this->ec_impl_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Deactivate the EC - PortableServer::POA_var poa = - this->ec_impl_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableServer::ObjectId_var id = - poa->servant_to_id (this->ec_impl_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - } - ACE_CATCHANY - { - // Do Nothing - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - ACE_TRY_EX (foo) - { - // Unbind the Naming Service - if (this->bind_to_naming_service_) - { - this->naming_context_->unbind (this->channel_name_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (foo); - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - // Since we created them, we also have to delete them. - delete this->typed_attributes_; - delete this->typed_ec_impl_; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - delete this->attributes_; - delete this->ec_impl_; - } - ACE_CATCHANY - { - // Do Nothing - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_Event_Serv, TAO_CEC_Event_Loader) diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h deleted file mode 100644 index 28bfe57bad7..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- C++ -*- - -/** - * @file CEC_Event_Loader.h - * - * $Id$ - * - * Define a class to dynamically load the COS Event Service. - * - * @author Priyanka Gontla - */ - -#ifndef TAO_CEC_EVENT_LOADER_H -#define TAO_CEC_EVENT_LOADER_H - -#include "tao/Object_Loader.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEvent/CEC_EventChannel.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#include "orbsvcs/CosNamingC.h" - -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_Event_Loader - * - * @brief Dynamically load an instance of the COS Event Service. - */ -class TAO_Event_Serv_Export TAO_CEC_Event_Loader : public TAO_Object_Loader -{ -public: - /// Constructor - TAO_CEC_Event_Loader (void); - - /// Destructor - ~TAO_CEC_Event_Loader (void); - - //@{ - /** - * @name Derived from ACE_Service_Object - */ - virtual int init (int argc, ACE_TCHAR *argv[]); - virtual int fini (void); - //@} - - //@{ - /** - * @name Derived from TAO_Object_Loader - */ - virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[] - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - -protected: - /// Keep a pointer to the underlying ORB. - CORBA::ORB_var orb_; - - /// Flag to control the event loop - int terminate_flag_; - - /// Attributes used to configure the Event Service properties. - TAO_CEC_EventChannel_Attributes *attributes_; - - /// Factory used to configure the Event Service strategies. - TAO_CEC_Factory *factory_; - - /// The Event Service implementation class. - TAO_CEC_EventChannel *ec_impl_; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - /// Attributes used to configure the Typed Event Service properties. - TAO_CEC_TypedEventChannel_Attributes *typed_attributes_; - - /// The Typed Event Service implementation class. - TAO_CEC_TypedEventChannel *typed_ec_impl_; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Naming Context needed if '-x' option is passed - CosNaming::NamingContext_var naming_context_; - - /// Flag to check if '-x' option is passed - int bind_to_naming_service_; - - /// The name used when binding to the NamingService. - CosNaming::Name channel_name_; - -private: - // Disallow copying and assignment. - TAO_CEC_Event_Loader (const TAO_CEC_Event_Loader &); - TAO_CEC_Event_Loader &operator= (const TAO_CEC_Event_Loader &); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_Event_Serv, TAO_CEC_Event_Loader) - -#endif /* TAO_CEC_EVENT_LOADER_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp deleted file mode 100644 index e2ffe759211..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_Factory.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID(CosEvent, CEC_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_Factory::~TAO_CEC_Factory (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h deleted file mode 100644 index 787bdca5177..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h +++ /dev/null @@ -1,235 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_FACTORY_H -#define TAO_CEC_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Object.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "tao/AnyTypeCode/AnyTypeCode_methods.h" -#endif - -#include "tao/Policy_ForwardC.h" -#include "tao/Versioned_Namespace.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Lock; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; - -class TAO_CEC_Dispatching; -class TAO_CEC_Pulling_Strategy; -class TAO_CEC_ConsumerAdmin; -class TAO_CEC_SupplierAdmin; -class TAO_CEC_ProxyPushConsumer; -class TAO_CEC_ProxyPullConsumer; -class TAO_CEC_ProxyPushSupplier; -class TAO_CEC_ProxyPullSupplier; -template class TAO_ESF_Proxy_Collection; -class TAO_CEC_ConsumerControl; -class TAO_CEC_SupplierControl; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_TypedEventChannel; -class TAO_CEC_TypedProxyPushConsumer; -class TAO_CEC_TypedConsumerAdmin; -class TAO_CEC_TypedSupplierAdmin; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -typedef TAO_ESF_Proxy_Collection TAO_CEC_ProxyPushConsumer_Collection; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -typedef TAO_ESF_Proxy_Collection TAO_CEC_TypedProxyPushConsumer_Collection; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -typedef TAO_ESF_Proxy_Collection TAO_CEC_ProxyPullConsumer_Collection; -typedef TAO_ESF_Proxy_Collection TAO_CEC_ProxyPushSupplier_Collection; -typedef TAO_ESF_Proxy_Collection TAO_CEC_ProxyPullSupplier_Collection; - -/** - * @class TAO_CEC_Factory - * - * @brief Abstract factory for the CosEventChannel components. - * - * The CosEventChannel implementation can be configured at - * initialization time through several strategies and - * components. This class defines the interface of an Abstract - * Factory that creates all such components. - * = MEMORY MANAGMENT - * The objects it creates are owned by this class, the client must - * invoke the corresponding destroy() method to release them. - * Some implementations may require a different instance for the - * CEC_Factory for each instance of a CEC_EventChannel. - */ -class TAO_Event_Serv_Export TAO_CEC_Factory : public ACE_Service_Object -{ -public: - /// destructor... - virtual ~TAO_CEC_Factory (void); - - /// Create and destroy the dispatching module. - virtual TAO_CEC_Dispatching* - create_dispatching (TAO_CEC_EventChannel*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_Dispatching* - create_dispatching (TAO_CEC_TypedEventChannel*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - virtual void - destroy_dispatching (TAO_CEC_Dispatching*) = 0; - - /// Create and destroy the pulling strategy. - virtual TAO_CEC_Pulling_Strategy* - create_pulling_strategy (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_pulling_strategy (TAO_CEC_Pulling_Strategy*) = 0; - - /// Create and destroy the consumer admin implementation. - virtual TAO_CEC_ConsumerAdmin* - create_consumer_admin (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_consumer_admin (TAO_CEC_ConsumerAdmin*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_TypedConsumerAdmin* - create_consumer_admin (TAO_CEC_TypedEventChannel*) = 0; - virtual void - destroy_consumer_admin (TAO_CEC_TypedConsumerAdmin*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Create and destroy the supplier admin implementation. - virtual TAO_CEC_SupplierAdmin* - create_supplier_admin (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_supplier_admin (TAO_CEC_SupplierAdmin*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_TypedSupplierAdmin* - create_supplier_admin (TAO_CEC_TypedEventChannel*) = 0; - virtual void - destroy_supplier_admin (TAO_CEC_TypedSupplierAdmin*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Create and destroy a ProxyPushSupplier - virtual TAO_CEC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_CEC_EventChannel*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_CEC_TypedEventChannel*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - virtual void - destroy_proxy_push_supplier (TAO_CEC_ProxyPushSupplier*) = 0; - - /// Create and destroy a ProxyPullSupplier - virtual TAO_CEC_ProxyPullSupplier* - create_proxy_pull_supplier (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_proxy_pull_supplier (TAO_CEC_ProxyPullSupplier*) = 0; - - /// Create and destroy a ProxyPushConsumer - virtual TAO_CEC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_proxy_push_consumer (TAO_CEC_ProxyPushConsumer*) = 0; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - /// Create and destroy a TypedProxyPushConsumer - virtual TAO_CEC_TypedProxyPushConsumer* - create_proxy_push_consumer (TAO_CEC_TypedEventChannel*) = 0; - virtual void - destroy_proxy_push_consumer (TAO_CEC_TypedProxyPushConsumer*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Create and destroy a ProxyPullConsumer - virtual TAO_CEC_ProxyPullConsumer* - create_proxy_pull_consumer (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_proxy_pull_consumer (TAO_CEC_ProxyPullConsumer*) = 0; - - /// Create and destroy a collection of TAO_CEC_ProxyPushConsumers - virtual TAO_CEC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_proxy_push_consumer_collection (TAO_CEC_ProxyPushConsumer_Collection*) = 0; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - /// Create and destroy a collection of TAO_CEC_TypedProxyPushConsumers - virtual TAO_CEC_TypedProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_CEC_TypedEventChannel*) = 0; - virtual void - destroy_proxy_push_consumer_collection (TAO_CEC_TypedProxyPushConsumer_Collection*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Create and destroy a collection of TAO_CEC_ProxyPullConsumers - virtual TAO_CEC_ProxyPullConsumer_Collection* - create_proxy_pull_consumer_collection (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_proxy_pull_consumer_collection (TAO_CEC_ProxyPullConsumer_Collection*) = 0; - - /// Create and destroy a collection of TAO_CEC_ProxyPushSuppliers - virtual TAO_CEC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_CEC_EventChannel*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_CEC_TypedEventChannel*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - virtual void - destroy_proxy_push_supplier_collection (TAO_CEC_ProxyPushSupplier_Collection*) = 0; - - /// Create and destroy a collection of TAO_CEC_ProxyPullSuppliers - virtual TAO_CEC_ProxyPullSupplier_Collection* - create_proxy_pull_supplier_collection (TAO_CEC_EventChannel*) = 0; - virtual void - destroy_proxy_pull_supplier_collection (TAO_CEC_ProxyPullSupplier_Collection*) = 0; - - /// Create and destroy the locking strategies for both - /// ProxyPushConsumers and ProxyPushSuppliers - virtual ACE_Lock* create_consumer_lock (void) = 0; - virtual void destroy_consumer_lock (ACE_Lock*) = 0; - virtual ACE_Lock* create_supplier_lock (void) = 0; - virtual void destroy_supplier_lock (ACE_Lock*) = 0; - - /// The ConsumerControl and SupplierControl strategies are used to - /// discard non-existent consumers and suppliers - virtual TAO_CEC_ConsumerControl* - create_consumer_control (TAO_CEC_EventChannel*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_ConsumerControl* - create_consumer_control (TAO_CEC_TypedEventChannel*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - virtual void - destroy_consumer_control (TAO_CEC_ConsumerControl*) = 0; - virtual TAO_CEC_SupplierControl* - create_supplier_control (TAO_CEC_EventChannel*) = 0; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual TAO_CEC_SupplierControl* - create_supplier_control (TAO_CEC_TypedEventChannel*) = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - virtual void - destroy_supplier_control (TAO_CEC_SupplierControl*) = 0; - - virtual CORBA::Policy_ptr - create_roundtrip_timeout_policy (const ACE_Time_Value &timeout) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_CEC_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp deleted file mode 100644 index 41f29d8a59e..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp +++ /dev/null @@ -1,108 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_MT_Dispatching.h" - -ACE_RCSID(CosEvent, CEC_MT_Dispatching, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -TAO_CEC_MT_Dispatching::TAO_CEC_MT_Dispatching (int nthreads, - int thread_creation_flags, - int thread_priority, - int force_activate) - : nthreads_ (nthreads), - thread_creation_flags_ (thread_creation_flags), - thread_priority_ (thread_priority), - force_activate_ (force_activate), - task_ (&this->thread_manager_), - active_ (0) -{ -} - -void -TAO_CEC_MT_Dispatching::activate (void) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->active_ != 0) - return; - - this->active_ = 1; - - if (this->task_.activate (this->thread_creation_flags_, - this->nthreads_, - 1, - this->thread_priority_) == -1) - { - if (this->force_activate_ != 0) - { - if (this->task_.activate (THR_BOUND, this->nthreads_) == -1) - ACE_ERROR ((LM_ERROR, - "EC (%P|%t) cannot activate dispatching queue")); - } - } -} - -void -TAO_CEC_MT_Dispatching::shutdown (void) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->active_ == 0) - return; - - for (int i = 0; i < this->nthreads_; ++i) - { - this->task_.putq (new TAO_CEC_Shutdown_Task_Command); - } - this->thread_manager_.wait (); -} - -void -TAO_CEC_MT_Dispatching::push (TAO_CEC_ProxyPushSupplier* proxy, - const CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - CORBA::Any event_copy = event; - this->push_nocopy (proxy, event_copy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_MT_Dispatching::push_nocopy (TAO_CEC_ProxyPushSupplier* proxy, - CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - // Double checked locking.... - if (this->active_ == 0) - this->activate (); - - this->task_.push (proxy, event ACE_ENV_ARG_PARAMETER); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_MT_Dispatching::invoke (TAO_CEC_ProxyPushSupplier* proxy, - const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - TAO_CEC_TypedEvent typed_event_copy = typed_event; - this->invoke_nocopy (proxy, typed_event_copy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_MT_Dispatching::invoke_nocopy (TAO_CEC_ProxyPushSupplier* proxy, - TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - // Double checked locking.... - if (this->active_ == 0) - this->activate (); - - this->task_.invoke (proxy, typed_event ACE_ENV_ARG_PARAMETER); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h deleted file mode 100644 index 458110cad9a..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_MT_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_MT_DISPATCHING_H -#define TAO_CEC_MT_DISPATCHING_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_Dispatching.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEvent/CEC_Dispatching_Task.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; - -/** - * @class TAO_CEC_MT_Dispatching - * - * @brief Dispatching strategy that minimizes mt inversion. - * - * This strategy uses a single queue, serviced by one or more - * threads. It's main purpose is to decouple the suppliers from - * the client execution time, specially in the collocated case. - */ -class TAO_Event_Serv_Export TAO_CEC_MT_Dispatching : public TAO_CEC_Dispatching -{ -public: - /// Constructor - /// It will create servicing threads... - TAO_CEC_MT_Dispatching (int nthreads, - int thread_creation_flags, - int thread_priority, - int force_activate); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_CEC_ProxyPushSupplier* proxy, - const CORBA::Any & event - ACE_ENV_ARG_DECL); - virtual void push_nocopy (TAO_CEC_ProxyPushSupplier* proxy, - CORBA::Any& event - ACE_ENV_ARG_DECL); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void invoke (TAO_CEC_ProxyPushSupplier *proxy, - const TAO_CEC_TypedEvent & typed_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - virtual void invoke_nocopy (TAO_CEC_ProxyPushSupplier *proxy, - TAO_CEC_TypedEvent & typed_event - ACE_ENV_ARG_DECL_WITH_DEFAULTS); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -private: - /// Use our own thread manager. - ACE_Thread_Manager thread_manager_; - - /// The number of active tasks - int nthreads_; - - /// The flags (THR_BOUND, THR_NEW_LWP, etc.) used to create the - /// dispatching threads. - int thread_creation_flags_; - - /// The priority of the dispatching threads. - int thread_priority_; - - /// If activation at the requested priority fails then we fallback on - /// the defaults for thread activation. - int force_activate_; - - /// The dispatching task - TAO_CEC_Dispatching_Task task_; - - /// Synchronize access to internal data - TAO_SYNCH_MUTEX lock_; - - /// Are the threads running? - int active_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_MT_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp deleted file mode 100644 index 4aedb1f17c0..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp +++ /dev/null @@ -1,423 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_SupplierControl.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.h" - -#include "ace/Reverse_Lock_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_ProxyPullConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_CEC_Unlock; - -TAO_CEC_ProxyPullConsumer:: -TAO_CEC_ProxyPullConsumer (TAO_CEC_EventChannel* ec, - const ACE_Time_Value &timeout) - : event_channel_ (ec), - timeout_ (timeout), - refcount_ (1) -{ - this->lock_ = - this->event_channel_->create_consumer_lock (); - - this->default_POA_ = - this->event_channel_->consumer_poa (); - - this->event_channel_->get_servant_retry_map ().bind (this, 0); -} - -TAO_CEC_ProxyPullConsumer::~TAO_CEC_ProxyPullConsumer (void) -{ - this->event_channel_->get_servant_retry_map ().unbind (this); - this->event_channel_->destroy_consumer_lock (this->lock_); -} - -void -TAO_CEC_ProxyPullConsumer::activate ( - CosEventChannelAdmin::ProxyPullConsumer_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventChannelAdmin::ProxyPullConsumer_var result; - ACE_TRY - { - result = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - result = CosEventChannelAdmin::ProxyPullConsumer::_nil (); - } - ACE_ENDTRY; - activated_proxy = result._retn (); -} - -void -TAO_CEC_ProxyPullConsumer::deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - PortableServer::POA_var poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var id = - poa->servant_to_id (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -// NOTE: There is some amount of duplicated code here, but it is -// intentional. Mainly we want to avoid locking overhead when -// possible, thus the code flow is optimized for that case more than -// for small code. - -CORBA::Any* -TAO_CEC_ProxyPullConsumer::try_pull_from_supplier ( - CORBA::Boolean_out has_event - ACE_ENV_ARG_DECL) -{ - has_event = 0; - CosEventComm::PullSupplier_var supplier; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK_RETURN (0); - - if (this->is_connected_i () == 0) - return 0; // ACE_THROW (CosEventComm::Disconnected ());???? - - supplier = - CosEventComm::PullSupplier::_duplicate (this->supplier_.in ()); - - // The refcount cannot be zero, because we have at least two - // references, - } - - CORBA::Any_var any; - TAO_CEC_SupplierControl *control = - this->event_channel_->supplier_control (); - - ACE_TRY - { - any = supplier->try_pull (has_event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Inform the control that we got something from the supplier - control->successful_transmission(this); - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - control->supplier_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Should not happen - } - ACE_ENDTRY; - return any._retn (); -} - -CORBA::Any* -TAO_CEC_ProxyPullConsumer::pull_from_supplier ( - ACE_ENV_SINGLE_ARG_DECL) -{ - CosEventComm::PullSupplier_var supplier; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK_RETURN (0); - - if (this->is_connected_i () == 0) - return 0; // ACE_THROW (CosEventComm::Disconnected ());???? - - supplier = - CosEventComm::PullSupplier::_duplicate (this->supplier_.in ()); - - // The refcount cannot be zero, because we have at least two - // references, - } - - CORBA::Any_var any; - ACE_TRY - { - any = supplier->pull (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ This is where the policies for misbehaving suppliers - // should kick in.... for the moment just ignore them. - } - ACE_ENDTRY; - return any._retn (); -} - -CORBA::Boolean -TAO_CEC_ProxyPullConsumer::supplier_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var supplier; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_connected_i () == 0) - { - disconnected = 1; - return 0; - } - if (CORBA::is_nil (this->nopolicy_supplier_.in ())) - { - return 0; - } - supplier = CORBA::Object::_duplicate (this->nopolicy_supplier_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return supplier->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_CEC_ProxyPullConsumer::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - CosEventComm::PullSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - supplier = this->supplier_._retn (); - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier.in ())) - return; - - ACE_TRY - { - supplier->disconnect_pull_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; -} - -void -TAO_CEC_ProxyPullConsumer::cleanup_i (void) -{ - this->supplier_ = - CosEventComm::PullSupplier::_nil (); -} - -CORBA::ULong -TAO_CEC_ProxyPullConsumer::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -CORBA::ULong -TAO_CEC_ProxyPullConsumer::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - this->refcount_--; - if (this->refcount_ != 0) - return this->refcount_; - } - - // Notify the event channel - this->event_channel_->destroy_proxy (this); - return 0; -} - -void -TAO_CEC_ProxyPullConsumer::connect_pull_supplier ( - CosEventComm::PullSupplier_ptr pull_supplier - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected)) -{ - // Nil PullSuppliers are illegal - if (CORBA::is_nil (pull_supplier)) - ACE_THROW (CORBA::BAD_PARAM ()); - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->event_channel_->supplier_reconnect () == 0) - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed, go ahead and disconnect the - // consumer... - this->cleanup_i (); - - // @@ Please read the comments in CEC_ProxyPullSupplier about - // possible race conditions in this area... - TAO_CEC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_CEC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // What if a second thread connected us after this? - if (this->is_connected_i ()) - return; - } - this->supplier_ = apply_policy (pull_supplier); - } - - // Notify the event channel... - this->event_channel_->connected (this ACE_ENV_ARG_PARAMETER); -} - -CosEventComm::PullSupplier_ptr -TAO_CEC_ProxyPullConsumer::apply_policy (CosEventComm::PullSupplier_ptr pre) -{ - this->nopolicy_supplier_ = CosEventComm::PullSupplier::_duplicate (pre); -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - CosEventComm::PullSupplier_var post = - CosEventComm::PullSupplier::_duplicate (pre); - if (this->timeout_ > ACE_Time_Value::zero) - { - CORBA::PolicyList policy_list; - policy_list.length (1); - policy_list[0] = this->event_channel_-> - create_roundtrip_timeout_policy (this->timeout_); - - CORBA::Object_var post_obj = pre->_set_policy_overrides - (policy_list, CORBA::ADD_OVERRIDE); - post = CosEventComm::PullSupplier::_narrow (post_obj.in ()); - - policy_list[0]->destroy (); - policy_list.length (0); - } - return post._retn (); -#else - return CosEventComm::PullSupplier::_duplicate (pre); -#endif /* TAO_HAS_CORBA_MESSAGING */ -} - -void -TAO_CEC_ProxyPullConsumer::disconnect_pull_consumer ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventComm::PullSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - ACE_THROW (CORBA::BAD_INV_ORDER ()); // @@ add user exception? - - supplier = this->supplier_._retn (); - - this->cleanup_i (); - } - - // Notify the event channel... - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (this->event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - supplier->disconnect_pull_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; - } -} - -PortableServer::POA_ptr -TAO_CEC_ProxyPullConsumer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_ProxyPullConsumer::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_CEC_ProxyPullConsumer::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h deleted file mode 100644 index 1949abadced..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h +++ /dev/null @@ -1,158 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_ProxyPullConsumer.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - -#ifndef TAO_CEC_PROXYPULLCONSUMER_H -#define TAO_CEC_PROXYPULLCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/CosEvent/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_Dispatching; -class TAO_CEC_ProxyPullSupplier; - -/** - * @class TAO_CEC_ProxyPullConsumer - * - * @brief ProxyPullConsumer - * - * Implement the CosEventChannelAdmin::ProxyPullConsumer interface, - * remember that this class is used to communicate with a - * PullSupplier, so, in effect, this is the ambassador for a - * supplier inside the event channel. - * = MEMORY MANAGMENT - * The object commits suicide when disconnect_pull_consumer() is - * called. - */ -class TAO_Event_Serv_Export TAO_CEC_ProxyPullConsumer : public POA_CosEventChannelAdmin::ProxyPullConsumer -{ -public: - typedef CosEventChannelAdmin::ProxyPullConsumer_ptr _ptr_type; - typedef CosEventChannelAdmin::ProxyPullConsumer_var _var_type; - - /// constructor... - TAO_CEC_ProxyPullConsumer (TAO_CEC_EventChannel* event_channel, - const ACE_Time_Value &timeout); - - /// destructor... - virtual ~TAO_CEC_ProxyPullConsumer (void); - - /// Activate in the POA - virtual void activate ( - CosEventChannelAdmin::ProxyPullConsumer_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return 0 if no supplier is connected... - CORBA::Boolean is_connected (void) const; - - /// Return the consumer object reference. It returns nil() if it has - /// not connected yet. - CosEventComm::PullSupplier_ptr supplier (void) const; - - /// Pulls from the supplier, verifies that it is connected. - CORBA::Any* try_pull_from_supplier (CORBA::Boolean_out has_event - ACE_ENV_ARG_DECL); - CORBA::Any* pull_from_supplier (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Invoke the _non_existent() pseudo-operation on the supplier. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean supplier_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - // = The CosEventChannelAdmin::ProxyPullConsumer methods... - virtual void connect_pull_supplier ( - CosEventComm::PullSupplier_ptr pull_supplier - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected)); - virtual void disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - -protected: - /// Set the supplier, used by some implementations to change the - /// policies used when invoking operations on the supplier. - void supplier (CosEventComm::PullSupplier_ptr supplier); - void supplier_i (CosEventComm::PullSupplier_ptr supplier); - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Release the supplier - void cleanup_i (void); - - /// Assigns the parameter to both supplier_ and nopolicy_supplier_, and - /// applies policies (when appropriate) to supplier_. - CosEventComm::PullSupplier_ptr apply_policy - (CosEventComm::PullSupplier_ptr s); - -private: - /// The supplier admin, used for activation and memory managment. - TAO_CEC_EventChannel* event_channel_; - - ACE_Time_Value timeout_; - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The supplier -- use apply_policy() instead of assigning directly to - /// supplier_. This will keep supplier_ and nopolicy_supplier_ in sync. - CosEventComm::PullSupplier_var supplier_; - - /// The supplier without any policies applied - CosEventComm::PullSupplier_var nopolicy_supplier_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_PROXYPULLCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.i deleted file mode 100644 index 3c22bfb9af4..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.i +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPullConsumer::is_connected_i (void) const -{ - return !CORBA::is_nil (this->supplier_.in ()); -} - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPullConsumer::is_connected (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->is_connected_i (); -} - -ACE_INLINE CosEventComm::PullSupplier_ptr -TAO_CEC_ProxyPullConsumer::supplier (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return CosEventComm::PullSupplier::_duplicate (this->supplier_.in ()); -} - -ACE_INLINE void -TAO_CEC_ProxyPullConsumer::supplier_i (CosEventComm::PullSupplier_ptr supplier) -{ - this->supplier_ = supplier; -} - -ACE_INLINE void -TAO_CEC_ProxyPullConsumer::supplier (CosEventComm::PullSupplier_ptr supplier) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->supplier_i (supplier); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp deleted file mode 100644 index 99208b46ef1..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp +++ /dev/null @@ -1,389 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.h" -#include "orbsvcs/CosEvent/CEC_Dispatching.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" - -#include "ace/Reverse_Lock_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_ProxyPullSupplier, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_CEC_Unlock; - -TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier -(TAO_CEC_EventChannel* ec, const ACE_Time_Value &timeout) - : event_channel_ (ec), - timeout_ (timeout), - refcount_ (1), - connected_ (0), - wait_not_empty_ (queue_lock_) -{ - this->lock_ = - this->event_channel_->create_supplier_lock (); - - this->default_POA_ = - this->event_channel_->supplier_poa (); - - this->event_channel_->get_servant_retry_map ().bind (this, 0); -} - -TAO_CEC_ProxyPullSupplier::~TAO_CEC_ProxyPullSupplier (void) -{ - this->event_channel_->get_servant_retry_map ().unbind (this); - this->event_channel_->destroy_supplier_lock (this->lock_); -} - -void -TAO_CEC_ProxyPullSupplier::activate ( - CosEventChannelAdmin::ProxyPullSupplier_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventChannelAdmin::ProxyPullSupplier_var result; - ACE_TRY - { - result = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - result = CosEventChannelAdmin::ProxyPullSupplier::_nil (); - } - ACE_ENDTRY; - activated_proxy = result._retn (); -} - -void -TAO_CEC_ProxyPullSupplier::deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - PortableServer::POA_var poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var id = - poa->servant_to_id (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -void -TAO_CEC_ProxyPullSupplier::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - // Save the consumer we where connected to, we need to send a - // disconnect message to it. - CosEventComm::PullConsumer_var consumer; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - consumer = this->consumer_._retn (); - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (consumer.in ())) - return; - - ACE_TRY - { - consumer->disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - } - ACE_ENDTRY; -} - -CORBA::Boolean -TAO_CEC_ProxyPullSupplier::consumer_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var consumer; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_connected_i () == 0) - { - disconnected = 1; - return 0; - } - if (CORBA::is_nil (this->nopolicy_consumer_.in ())) - { - return 0; - } - consumer = CORBA::Object::_duplicate (this->nopolicy_consumer_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return consumer->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_CEC_ProxyPullSupplier::push (const CORBA::Any &event - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (this->is_connected () == 0) - return; - - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->queue_lock_); - - // Ignore errors - (void) this->queue_.enqueue_tail (event); - - this->wait_not_empty_.signal (); -} - -CORBA::Any * -TAO_CEC_ProxyPullSupplier::pull (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventComm::Disconnected)) -{ - if (this->is_connected () == 0) - ACE_THROW_RETURN (CosEventComm::Disconnected (), 0); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, queue_lock_, 0); - while (this->queue_.is_empty ()) - { - this->wait_not_empty_.wait (); - } - CORBA::Any any; - if (this->queue_.dequeue_head (any) != 0) - { - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - return new CORBA::Any (any); -} - -CORBA::Any * -TAO_CEC_ProxyPullSupplier::try_pull (CORBA::Boolean_out has_event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException,CosEventComm::Disconnected)) -{ - has_event = 0; - if (this->is_connected () == 0) - ACE_THROW_RETURN (CosEventComm::Disconnected (), 0); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, queue_lock_, 0); - CORBA::Any any; - if (this->queue_.is_empty ()) - { - any <<= CORBA::Long(0); - return new CORBA::Any (any); - } - - if (this->queue_.dequeue_head (any) != 0) - { - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - has_event = 1; - return new CORBA::Any (any); -} - -void -TAO_CEC_ProxyPullSupplier::cleanup_i (void) -{ - this->consumer_ = - CosEventComm::PullConsumer::_nil (); - this->connected_ = 0; -} - -CORBA::ULong -TAO_CEC_ProxyPullSupplier::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -CORBA::ULong -TAO_CEC_ProxyPullSupplier::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - this->refcount_--; - if (this->refcount_ != 0) - return this->refcount_; - } - - // Notify the event channel - this->event_channel_->destroy_proxy (this); - return 0; -} - -void -TAO_CEC_ProxyPullSupplier::connect_pull_consumer ( - CosEventComm::PullConsumer_ptr pull_consumer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected)) -{ - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->event_channel_->consumer_reconnect () == 0) - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed.... - this->cleanup_i (); - - this->consumer_ = apply_policy (pull_consumer); - this->connected_ = 1; - - TAO_CEC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_CEC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->reconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - return; - } - - this->consumer_ = apply_policy (pull_consumer); - this->connected_ = 1; - } - - // Notify the event channel... - this->event_channel_->connected (this ACE_ENV_ARG_PARAMETER); -} - -CosEventComm::PullConsumer_ptr -TAO_CEC_ProxyPullSupplier::apply_policy (CosEventComm::PullConsumer_ptr pre) -{ - if (CORBA::is_nil (pre)) return pre; - this->nopolicy_consumer_ = CosEventComm::PullConsumer::_duplicate (pre); -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - CosEventComm::PullConsumer_var post = - CosEventComm::PullConsumer::_duplicate (pre); - if (this->timeout_ > ACE_Time_Value::zero) - { - CORBA::PolicyList policy_list; - policy_list.length (1); - policy_list[0] = this->event_channel_-> - create_roundtrip_timeout_policy (this->timeout_); - - CORBA::Object_var post_obj = pre->_set_policy_overrides - (policy_list, CORBA::ADD_OVERRIDE); - post = CosEventComm::PullConsumer::_narrow(post_obj.in ()); - - policy_list[0]->destroy (); - policy_list.length (0); - } - return post._retn (); -#else - return CosEventComm::PullConsumer::_duplicate (pre); -#endif /* TAO_HAS_CORBA_MESSAGING */ -} - -void -TAO_CEC_ProxyPullSupplier::disconnect_pull_supplier ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventComm::PullConsumer_var consumer; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - ACE_THROW (CORBA::BAD_INV_ORDER ()); - - consumer = this->consumer_._retn (); - - this->cleanup_i (); - } - - // Notify the event channel.... - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (consumer.in ())) - return; - - if (this->event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - consumer->disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ProxySupplier::disconnect_pull_supplier"); - } - ACE_ENDTRY; - } -} - -PortableServer::POA_ptr -TAO_CEC_ProxyPullSupplier::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_ProxyPullSupplier::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_CEC_ProxyPullSupplier::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h deleted file mode 100644 index 67eca07678f..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h +++ /dev/null @@ -1,182 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_ProxyPullSupplier.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_PROXYPULLSUPPLIER_H -#define TAO_CEC_PROXYPULLSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Message_Queue.h" -#include "ace/Condition_Thread_Mutex.h" -#include "ace/Unbounded_Queue.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_ProxyPullConsumer; - -/** - * @class TAO_CEC_ProxyPullSupplier - * - * @brief ProxyPullSupplier - * - * Implement the CosEventChannelAdmin::ProxyPullSupplier interface, - * remember that this class is used to communicate with a - * PullConsumer, so, in effect, this is the ambassador for a - * consumer inside the event channel. - * = MEMORY MANAGMENT - * It does not assume ownership of the TAO_CEC_Dispatching object. - * It makes a copy of the ConsumerQOS and the consumer object - * reference. - * = LOCKING - * Locking is strategized, the event channel acts as a factory for - * the locking strategies. - */ -class TAO_Event_Serv_Export TAO_CEC_ProxyPullSupplier : public POA_CosEventChannelAdmin::ProxyPullSupplier -{ -public: - typedef CosEventChannelAdmin::ProxyPullSupplier_ptr _ptr_type; - typedef CosEventChannelAdmin::ProxyPullSupplier_var _var_type; - - /// constructor... - TAO_CEC_ProxyPullSupplier (TAO_CEC_EventChannel* event_channel, - const ACE_Time_Value &timeout); - - /// destructor... - virtual ~TAO_CEC_ProxyPullSupplier (void); - - /// Activate in the POA - virtual void activate ( - CosEventChannelAdmin::ProxyPullSupplier_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return 0 if no consumer is connected... - CORBA::Boolean is_connected (void) const; - - /** - * Return the consumer object reference. It returns nil() if it has - * not connected yet. - * NOTE: This method does not return a new reference!!! Doing so - * will increase the locking overhead on the critical path. - */ - CosEventComm::PullConsumer_ptr consumer (void) const; - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Invoke the _non_existent() pseudo-operation on the consumer. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean consumer_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /// Push an event into the queue. - void push (const CORBA::Any &event - ACE_ENV_ARG_DECL); - - // = The CosEventChannelAdmin::ProxyPullSupplier methods... - virtual void connect_pull_consumer ( - CosEventComm::PullConsumer_ptr pull_consumer - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected)); - virtual CORBA::Any * pull (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException,CosEventComm::Disconnected)); - virtual CORBA::Any * try_pull (CORBA::Boolean_out has_event - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException,CosEventComm::Disconnected)); - virtual void disconnect_pull_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - -protected: - /// Set the consumer, used by some implementations to change the - /// policies used when invoking operations on the consumer. - void consumer (CosEventComm::PullConsumer_ptr consumer); - void consumer_i (CosEventComm::PullConsumer_ptr consumer); - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Release the child and the consumer - void cleanup_i (void); - - /// Assigns the parameter to both consumer_ and nopolicy_consumer_, and - /// applies policies (when appropriate) to consumer_. - CosEventComm::PullConsumer_ptr apply_policy - (CosEventComm::PullConsumer_ptr c); - -private: - /// The Event Channel that owns this object. - TAO_CEC_EventChannel* event_channel_; - - ACE_Time_Value timeout_; - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The consumer -- use apply_policy() instead of assigning directly to - /// consumer_. This will keep consumer_ and nopolicy_consumer_ in sync. - CosEventComm::PullConsumer_var consumer_; - - /// The consumer without any policies applied - CosEventComm::PullConsumer_var nopolicy_consumer_; - - /// If the flag is not zero then we are connected, notice that the - /// consumer can be nil. - int connected_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; - - /// Use a message queue to pass the - TAO_SYNCH_MUTEX queue_lock_; - TAO_SYNCH_CONDITION wait_not_empty_; - ACE_Unbounded_Queue queue_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_PROXYPULLSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.i deleted file mode 100644 index 8519794c295..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.i +++ /dev/null @@ -1,43 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPullSupplier::is_connected_i (void) const -{ - return this->connected_; -} - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPullSupplier::is_connected (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->is_connected_i (); -} - -ACE_INLINE CosEventComm::PullConsumer_ptr -TAO_CEC_ProxyPullSupplier::consumer (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->consumer_.in (); -} - -ACE_INLINE void -TAO_CEC_ProxyPullSupplier::consumer_i (CosEventComm::PullConsumer_ptr consumer) -{ - this->consumer_ = consumer; -} - -ACE_INLINE void -TAO_CEC_ProxyPullSupplier::consumer (CosEventComm::PullConsumer_ptr consumer) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->consumer_i (consumer); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp deleted file mode 100644 index dc056d83a65..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp +++ /dev/null @@ -1,397 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" - -#include "ace/Reverse_Lock_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_ProxyPushConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_CEC_Unlock; - -TAO_CEC_ProxyPushConsumer:: -TAO_CEC_ProxyPushConsumer (TAO_CEC_EventChannel* ec, - const ACE_Time_Value &timeout) - : event_channel_ (ec), - timeout_(timeout), - refcount_ (1), - connected_ (false) -{ - this->lock_ = - this->event_channel_->create_consumer_lock (); - - this->default_POA_ = - this->event_channel_->consumer_poa (); - - this->event_channel_->get_servant_retry_map ().bind (this, 0); -} - -TAO_CEC_ProxyPushConsumer::~TAO_CEC_ProxyPushConsumer (void) -{ - this->event_channel_->get_servant_retry_map ().unbind (this); - this->event_channel_->destroy_consumer_lock (this->lock_); -} - -void -TAO_CEC_ProxyPushConsumer::activate ( - CosEventChannelAdmin::ProxyPushConsumer_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventChannelAdmin::ProxyPushConsumer_var result; - ACE_TRY - { - result = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - result = CosEventChannelAdmin::ProxyPushConsumer::_nil (); - } - ACE_ENDTRY; - activated_proxy = result._retn (); -} - -void -TAO_CEC_ProxyPushConsumer::deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - PortableServer::POA_var poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var id = - poa->servant_to_id (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -CORBA::Boolean -TAO_CEC_ProxyPushConsumer::supplier_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var supplier; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = false; - if (!this->is_connected_i ()) - { - disconnected = true; - return false; - } - if (CORBA::is_nil (this->nopolicy_supplier_.in ())) - { - return false; - } - supplier = CORBA::Object::_duplicate (this->nopolicy_supplier_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return supplier->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return false; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_CEC_ProxyPushConsumer::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - CosEventComm::PushSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - supplier = this->supplier_._retn (); - this->connected_ = false; - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier.in ())) - return; - - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; -} - -void -TAO_CEC_ProxyPushConsumer::cleanup_i (void) -{ - this->supplier_ = - CosEventComm::PushSupplier::_nil (); - this->connected_ = false; -} - -CORBA::ULong -TAO_CEC_ProxyPushConsumer::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -CORBA::ULong -TAO_CEC_ProxyPushConsumer::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - --this->refcount_; - if (this->refcount_ != 0) - return this->refcount_; - } - - // Notify the event channel - this->event_channel_->destroy_proxy (this); - return 0; -} - -void -TAO_CEC_ProxyPushConsumer::connect_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 ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->event_channel_->supplier_reconnect () == 0) - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed, go ahead and disconnect the - // consumer... - this->cleanup_i (); - - // @@ Please read the comments in CEC_ProxyPushSupplier about - // possible race conditions in this area... - TAO_CEC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_CEC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // What if a second thread connected us after this? - if (this->is_connected_i ()) - return; - } - this->supplier_ = apply_policy (push_supplier); - this->connected_ = true; - } - - // Notify the event channel... - this->event_channel_->connected (this ACE_ENV_ARG_PARAMETER); -} - -CosEventComm::PushSupplier_ptr -TAO_CEC_ProxyPushConsumer::apply_policy (CosEventComm::PushSupplier_ptr pre) -{ - if (CORBA::is_nil (pre)) return pre; - this->nopolicy_supplier_ = CosEventComm::PushSupplier::_duplicate (pre); -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - CosEventComm::PushSupplier_var post = - CosEventComm::PushSupplier::_duplicate (pre); - if (this->timeout_ > ACE_Time_Value::zero) - { - CORBA::PolicyList policy_list; - policy_list.length (1); - policy_list[0] = this->event_channel_-> - create_roundtrip_timeout_policy (this->timeout_); - - CORBA::Object_var post_obj = pre->_set_policy_overrides - (policy_list, CORBA::ADD_OVERRIDE); - post = CosEventComm::PushSupplier::_narrow(post_obj.in ()); - - policy_list[0]->destroy (); - policy_list.length (0); - } - return post._retn (); -#else - return CosEventComm::PushSupplier::_duplicate (pre); -#endif /* TAO_HAS_CORBA_MESSAGING */ -} - -void -TAO_CEC_ProxyPushConsumer::push (const CORBA::Any& event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_CEC_ProxyPushConsumer_Guard ace_mon (this->lock_, - this->refcount_, - this->event_channel_, - this); - if (!ace_mon.locked ()) - return; - - this->event_channel_->consumer_admin ()->push (event - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_ProxyPushConsumer::disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventComm::PushSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (!this->is_connected_i ()) - ACE_THROW (CORBA::BAD_INV_ORDER ()); // @@ add user exception? - - supplier = this->supplier_._retn (); - - this->cleanup_i (); - } - - // Notify the event channel... - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier.in ())) - return; - - if (this->event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; - } -} - -PortableServer::POA_ptr -TAO_CEC_ProxyPushConsumer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_ProxyPushConsumer::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_CEC_ProxyPushConsumer::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -// **************************************************************** - -TAO_CEC_ProxyPushConsumer_Guard:: - TAO_CEC_ProxyPushConsumer_Guard (ACE_Lock *lock, - CORBA::ULong &refcount, - TAO_CEC_EventChannel *ec, - TAO_CEC_ProxyPushConsumer *proxy) - : lock_ (lock), - refcount_ (refcount), - event_channel_ (ec), - proxy_ (proxy), - locked_ (false) -{ - ACE_Guard ace_mon (*this->lock_); - // If the guard fails there is not much we can do, raising an - // exception is wrong, the client has *no* way to handle that kind - // of error. Even worse, there is no exception to raise in that - // case. - // @@ Returning something won't work either, the error should be - // logged though! - - if (!proxy->is_connected_i ()) - return; - - this->locked_ = true; - ++this->refcount_; -} - -TAO_CEC_ProxyPushConsumer_Guard:: - ~TAO_CEC_ProxyPushConsumer_Guard (void) -{ - // This access is safe because guard objects are created on the - // stack, only one thread has access to them - if (!this->locked_) - return; - - { - ACE_Guard ace_mon (*this->lock_); - // If the guard fails there is not much we can do, raising an - // exception is wrong, the client has *no* way to handle that kind - // of error. Even worse, there is no exception to raise in that - // case. - // @@ Returning something won't work either, the error should be - // logged though! - - --this->refcount_; - if (this->refcount_ != 0) - return; - } - this->event_channel_->destroy_proxy (this->proxy_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h deleted file mode 100644 index a7922405f2a..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h +++ /dev/null @@ -1,210 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_ProxyPushConsumer.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_PROXYPUSHCONSUMER_H -#define TAO_CEC_PROXYPUSHCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventChannelAdminS.h" -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_Dispatching; -class TAO_CEC_ProxyPushSupplier; - -/** - * @class TAO_CEC_ProxyPushConsumer - * - * @brief ProxyPushConsumer - * - * Implement the CosEventChannelAdmin::ProxyPushConsumer interface, - * remember that this class is used to communicate with a - * PushSupplier, so, in effect, this is the ambassador for a - * supplier inside the event channel. - * = MEMORY MANAGMENT - * The object commits suicide when disconnect_push_consumer() is - * called. - */ -class TAO_Event_Serv_Export TAO_CEC_ProxyPushConsumer - : public POA_CosEventChannelAdmin::ProxyPushConsumer -{ -public: - typedef CosEventChannelAdmin::ProxyPushConsumer_ptr _ptr_type; - typedef CosEventChannelAdmin::ProxyPushConsumer_var _var_type; - - /// constructor... - TAO_CEC_ProxyPushConsumer (TAO_CEC_EventChannel* event_channel, - const ACE_Time_Value &timeout); - - /// destructor... - virtual ~TAO_CEC_ProxyPushConsumer (void); - - /// Activate in the POA - virtual void activate ( - CosEventChannelAdmin::ProxyPushConsumer_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return false if no supplier is connected... - CORBA::Boolean is_connected (void) const; - - /// Return the consumer object reference. It returns nil() if it has - /// not connected yet. - CosEventComm::PushSupplier_ptr supplier (void) const; - - /** - * Invoke the _non_existent() pseudo-operation on the supplier. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean supplier_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - // = The CosEventChannelAdmin::ProxyPushConsumer methods... - virtual void connect_push_supplier ( - CosEventComm::PushSupplier_ptr push_supplier - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected)); - virtual void push (const CORBA::Any& event - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - -protected: - /// Set the supplier, used by some implementations to change the - /// policies used when invoking operations on the supplier. - void supplier (CosEventComm::PushSupplier_ptr supplier); - void supplier_i (CosEventComm::PushSupplier_ptr supplier); - - friend class TAO_CEC_ProxyPushConsumer_Guard; - // The guard needs access to the following protected methods. - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Release the supplier - void cleanup_i (void); - - /// Assigns the parameter to both supplier_ and nopolicy_supplier_, and - /// applies policies (when appropriate) to supplier_. - CosEventComm::PushSupplier_ptr apply_policy - (CosEventComm::PushSupplier_ptr s); - -private: - /// The supplier admin, used for activation and memory managment. - TAO_CEC_EventChannel* event_channel_; - - ACE_Time_Value timeout_; - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The supplier -- use apply_policy() instead of assigning directly to - /// supplier_. This will keep supplier_ and nopolicy_supplier_ in sync. - CosEventComm::PushSupplier_var supplier_; - - /// The supplier without any policies applied - CosEventComm::PushSupplier_var nopolicy_supplier_; - - /// If the flag is true then we are connected, notice that the - /// supplier can be nil. - bool connected_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -// **************************************************************** - -/** - * @class TAO_CEC_ProxyPushConsumer_Guard - * - * @brief A Guard for the ProxyPushConsumer reference count - * - * This is a helper class used in the implementation of - * ProxyPushConumer. It provides a Guard mechanism to increment - * the reference count on the proxy, eliminating the need to hold - * mutexes during long operations. - */ -class TAO_Event_Serv_Export TAO_CEC_ProxyPushConsumer_Guard -{ -public: - /// Constructor - TAO_CEC_ProxyPushConsumer_Guard (ACE_Lock *lock, - CORBA::ULong &refcount, - TAO_CEC_EventChannel *ec, - TAO_CEC_ProxyPushConsumer *proxy); - - /// Destructor - ~TAO_CEC_ProxyPushConsumer_Guard (void); - - /// Returns true if the reference count successfully acquired - bool locked (void) const; - -private: - /// The lock used to protect the reference count - ACE_Lock *lock_; - - /// The reference count - CORBA::ULong &refcount_; - - /// The event channel used to destroy the proxy - TAO_CEC_EventChannel *event_channel_; - - /// The proxy whose lifetime is controlled by the reference count - TAO_CEC_ProxyPushConsumer *proxy_; - - /// This flag is set to true if the reference count was successfully - /// acquired. - bool locked_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_PROXYPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.i deleted file mode 100644 index 422c95863c6..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.i +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPushConsumer::is_connected_i (void) const -{ - return this->connected_; -} - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPushConsumer::is_connected (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->is_connected_i (); -} - -ACE_INLINE CosEventComm::PushSupplier_ptr -TAO_CEC_ProxyPushConsumer::supplier (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return CosEventComm::PushSupplier::_duplicate (this->supplier_.in ()); -} - -ACE_INLINE void -TAO_CEC_ProxyPushConsumer::supplier_i (CosEventComm::PushSupplier_ptr supplier) -{ - this->supplier_ = supplier; -} - -ACE_INLINE void -TAO_CEC_ProxyPushConsumer::supplier (CosEventComm::PushSupplier_ptr supplier) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->supplier_i (supplier); -} - -// **************************************************************** - -ACE_INLINE bool -TAO_CEC_ProxyPushConsumer_Guard::locked (void) const -{ - return this->locked_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp deleted file mode 100644 index a25b00b5942..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp +++ /dev/null @@ -1,983 +0,0 @@ -// $Id$ - -// Force CORBA::release(CORBA::Request...) prototype to be parsed -// before TAO_Pseudo_{Var,Out}_T templates. All required -// non-dependent names must be parsed prior to the template in -// question when using compilers like g++ 3.4.x. -#include "tao/DynamicInterface/DII_CORBA_methods.h" - -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" -#include "orbsvcs/CosEvent/CEC_Dispatching.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_ConsumerControl.h" -#include "orbsvcs/ESF/ESF_RefCount_Guard.h" -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosEvent/CEC_TypedEvent.h" -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#include "tao/DynamicInterface/Request.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#include "tao/debug.h" -#include "ace/Reverse_Lock_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_ProxyPushSupplier, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_CEC_Unlock; - -// TAO_CEC_ProxyPushSupplier Constructure (Un-typed EC) -TAO_CEC_ProxyPushSupplier:: -TAO_CEC_ProxyPushSupplier (TAO_CEC_EventChannel* ec, - const ACE_Time_Value &timeout) - : event_channel_ (ec), - timeout_ (timeout), - refcount_ (1) -{ -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - typed_event_channel_ = 0; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - this->lock_ = - this->event_channel_->create_supplier_lock (); - - this->default_POA_ = - this->event_channel_->supplier_poa (); - - this->event_channel_->get_servant_retry_map ().bind (this, 0); -} - -// TAO_CEC_ProxyPushSupplier Constructure (Typed EC) -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_ProxyPushSupplier:: -TAO_CEC_ProxyPushSupplier (TAO_CEC_TypedEventChannel* ec, - const ACE_Time_Value &timeout) - : timeout_ (timeout), - typed_event_channel_ (ec), - refcount_ (1) -{ - event_channel_ = 0; - - this->lock_ = - this->typed_event_channel_->create_supplier_lock (); - - this->default_POA_ = - this->typed_event_channel_->typed_supplier_poa (); - - this->typed_event_channel_->get_servant_retry_map ().bind (this, 0); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_ProxyPushSupplier::~TAO_CEC_ProxyPushSupplier (void) -{ -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - this->typed_event_channel_->get_servant_retry_map ().unbind (this); - this->typed_event_channel_->destroy_supplier_lock (this->lock_); - } - else - { - this->event_channel_->get_servant_retry_map ().unbind (this); - this->event_channel_->destroy_supplier_lock (this->lock_); - } -#else - this->event_channel_->get_servant_retry_map ().unbind (this); - this->event_channel_->destroy_supplier_lock (this->lock_); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -void -TAO_CEC_ProxyPushSupplier::activate ( - CosEventChannelAdmin::ProxyPushSupplier_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventChannelAdmin::ProxyPushSupplier_var result; - ACE_TRY - { - result = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - result = CosEventChannelAdmin::ProxyPushSupplier::_nil (); - } - ACE_ENDTRY; - activated_proxy = result._retn (); -} - -void -TAO_CEC_ProxyPushSupplier::deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - PortableServer::POA_var poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var id = - poa->servant_to_id (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -void -TAO_CEC_ProxyPushSupplier::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - // Save the consumer we where connected to, we need to send a - // disconnect message to it. - CosTypedEventComm::TypedPushConsumer_var typed_consumer; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - typed_consumer = this->typed_consumer_._retn (); - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (typed_consumer.in ())) - return; - - ACE_TRY_EX (typed) - { - typed_consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (typed); - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - } - ACE_ENDTRY; - } /* this->is_typed_ec */ - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Save the consumer we where connected to, we need to send a - // disconnect message to it. - CosEventComm::PushConsumer_var consumer; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - consumer = this->consumer_._retn (); - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (consumer.in ())) - return; - - ACE_TRY - { - consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - } - ACE_ENDTRY; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } /* ! this->is_typed_ec */ -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -typedef TAO_ESF_Proxy_RefCount_Guard Destroy_Guard; - -void -TAO_CEC_ProxyPushSupplier::push (const CORBA::Any &event - ACE_ENV_ARG_DECL) -{ - Destroy_Guard auto_destroy (this->refcount_, - this->event_channel_, - this); - - { - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - if (this->is_connected_i () == 0) - return; - - TAO_ESF_RefCount_Guard cnt_mon (this->refcount_); - - { - TAO_CEC_Unlock reverse_lock (*this->lock_); - - ACE_GUARD (TAO_CEC_Unlock, ace_mon, reverse_lock); - this->event_channel_->dispatching ()->push (this, - event - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -typedef TAO_ESF_Proxy_RefCount_Guard Destroy_Guard_Typed; - -void -TAO_CEC_ProxyPushSupplier::invoke (const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - Destroy_Guard_Typed auto_destroy (this->refcount_, - this->typed_event_channel_, - this); - { - - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - if (this->is_connected_i () == 0) - return; - - TAO_ESF_RefCount_Guard cnt_mon (this->refcount_); - - { - TAO_CEC_Unlock reverse_lock (*this->lock_); - - ACE_GUARD (TAO_CEC_Unlock, ace_mon, reverse_lock); - this->typed_event_channel_->dispatching ()->invoke (this, - typed_event - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_ProxyPushSupplier::push_nocopy (CORBA::Any &event - ACE_ENV_ARG_DECL) -{ - Destroy_Guard auto_destroy (this->refcount_, - this->event_channel_, - this); - - { - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - if (this->is_connected_i () == 0) - return; - - TAO_ESF_RefCount_Guard cnt_mon (this->refcount_); - - { - TAO_CEC_Unlock reverse_lock (*this->lock_); - - ACE_GUARD (TAO_CEC_Unlock, ace_mon, reverse_lock); - this->event_channel_->dispatching ()->push_nocopy (this, - event - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -void -TAO_CEC_ProxyPushSupplier::cleanup_i (void) -{ - this->consumer_ = - CosEventComm::PushConsumer::_nil (); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - this->typed_consumer_ = - CosTypedEventComm::TypedPushConsumer::_nil (); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -CORBA::ULong -TAO_CEC_ProxyPushSupplier::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -CORBA::ULong -TAO_CEC_ProxyPushSupplier::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - --this->refcount_; - if (this->refcount_ != 0) - return this->refcount_; - } - - // Notify the event channel -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - this->typed_event_channel_->destroy_proxy (this); - } - else - { - this->event_channel_->destroy_proxy (this); - } -#else - this->event_channel_->destroy_proxy (this); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - return 0; -} - -void -TAO_CEC_ProxyPushSupplier::connect_push_consumer ( - CosEventComm::PushConsumer_ptr push_consumer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError)) -{ - // Nil PushConsumers are illegal - if (CORBA::is_nil (push_consumer)) - ACE_THROW (CORBA::BAD_PARAM ()); - - { - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - // Check if we have a typed event channel - if (this->is_typed_ec () ) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** connect_push_consumer, ") - ACE_TEXT ("Event channel is typed *****\n"))); - } - - // Temporary for the TypedPushConsumer and it's Typed interface, - // declared and obtained before the Guard to avoid deadlock during the - // _is_a (during _narrow) and get_typed_consumer invocations. - // They are eventually assigned onto this object inside the Guard. - CosTypedEventComm::TypedPushConsumer_var local_typed_consumer = - CosTypedEventComm::TypedPushConsumer::_narrow (push_consumer - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Obtain the typed object interface from the consumer - CORBA::Object_var local_typed_consumer_obj = - CORBA::Object::_duplicate (local_typed_consumer->get_typed_consumer ( - ACE_ENV_SINGLE_ARG_PARAMETER) ); - ACE_CHECK; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->typed_event_channel_->consumer_reconnect () == 0) - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed.... - this->cleanup_i (); - - this->typed_consumer_ = apply_policy (local_typed_consumer.in () ); - ACE_CHECK; - - TAO_CEC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_CEC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->typed_event_channel_->reconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - return; - - } - - this->typed_consumer_ = apply_policy (local_typed_consumer.in () ); - ACE_CHECK; - - // Store the typed object interface from the consumer - this->typed_consumer_obj_ = - apply_policy_obj (local_typed_consumer_obj.in () ); - ACE_CHECK; - } - - // Notify the event channel... - this->typed_event_channel_->connected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - } /* this->is_typed_ec */ - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** connect_push_consumer, ") - ACE_TEXT ("Event channel is un-typed *****\n"))); - } - - { - - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->event_channel_->consumer_reconnect () == 0) - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed.... - this->cleanup_i (); - - this->consumer_ = apply_policy (push_consumer); - - TAO_CEC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_CEC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->reconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - return; - } - - this->consumer_ = apply_policy (push_consumer); - } - - // Notify the event channel... - this->event_channel_->connected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } /* ! this->is_typed_ec */ -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - } -} - -CORBA::Object_ptr -TAO_CEC_ProxyPushSupplier::apply_policy_obj (CORBA::Object_ptr pre) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - CORBA::Object_var post = CORBA::Object::_duplicate (pre); - if (this->timeout_ > ACE_Time_Value::zero) - { - CORBA::PolicyList policy_list; - policy_list.length (1); - if (this->typed_event_channel_) - { - policy_list[0] = this->typed_event_channel_-> - create_roundtrip_timeout_policy (this->timeout_); - } - else - { - policy_list[0] = this->event_channel_-> - create_roundtrip_timeout_policy (this->timeout_); - } - post = pre->_set_policy_overrides (policy_list, CORBA::ADD_OVERRIDE); - - policy_list[0]->destroy (); - policy_list.length (0); - } - return post._retn (); -#else - return CORBA::Object::_duplicate (pre); -#endif /* TAO_HAS_CORBA_MESSAGING */ -} - -CosEventComm::PushConsumer_ptr -TAO_CEC_ProxyPushSupplier::apply_policy (CosEventComm::PushConsumer_ptr pre) -{ - this->nopolicy_consumer_ = CosEventComm::PushConsumer::_duplicate (pre); - CORBA::Object_var post_obj = apply_policy_obj (pre); - CosEventComm::PushConsumer_var post = - CosEventComm::PushConsumer::_narrow (post_obj.in ()); - return post._retn (); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -CosTypedEventComm::TypedPushConsumer_ptr -TAO_CEC_ProxyPushSupplier::apply_policy - (CosTypedEventComm::TypedPushConsumer_ptr pre) -{ - this->nopolicy_typed_consumer_ = - CosTypedEventComm::TypedPushConsumer::_duplicate (pre); - CORBA::Object_var post_obj = apply_policy_obj (pre); - CosTypedEventComm::TypedPushConsumer_var post = - CosTypedEventComm::TypedPushConsumer::_narrow (post_obj.in ()); - return post._retn (); -} -#endif - -void -TAO_CEC_ProxyPushSupplier::disconnect_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventComm::PushConsumer_var consumer; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - CosTypedEventComm::TypedPushConsumer_var typed_consumer; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - ACE_THROW (CORBA::BAD_INV_ORDER ()); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - typed_consumer = this->typed_consumer_._retn (); - } - else - { - consumer = this->consumer_._retn (); - } -#else - consumer = this->consumer_._retn (); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - this->cleanup_i (); - } - - // Notify the event channel.... -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - this->typed_event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -#else - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Disconnect callbacks -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - if (this->typed_event_channel_->disconnect_callbacks ()) - { - ACE_TRY_EX (typed) - { - typed_consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (typed); - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ProxySupplier::disconnect_push_supplier"); - } - ACE_ENDTRY; - } - } /* this->is_typed_ec */ - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - if (this->event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ProxySupplier::disconnect_push_supplier"); - } - ACE_ENDTRY; - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } /* ! this->is_typed_ec */ -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -void -TAO_CEC_ProxyPushSupplier::push_to_consumer (const CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - CosEventComm::PushConsumer_var consumer; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - return; // ACE_THROW (CosEventComm::Disconnected ());???? - - consumer = - CosEventComm::PushConsumer::_duplicate (this->consumer_.in ()); - } - - TAO_CEC_ConsumerControl *control = - this->event_channel_->consumer_control (); - ACE_TRY - { - consumer->push (event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Inform the control that we were able to push something - control->successful_transmission(this); - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Shouldn't happen, but does not hurt - } - ACE_ENDTRY; -} - -void -TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer ( - const CORBA::Any& event - ACE_ENV_ARG_DECL) -{ - CosEventComm::PushConsumer_var consumer; - { - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - if (this->is_connected_i () == 0) - return; // TAO_THROW (CosEventComm::Disconnected ());???? - - consumer = - CosEventComm::PushConsumer::_duplicate (this->consumer_.in ()); - } - - TAO_CEC_ConsumerControl *control = - this->event_channel_->consumer_control (); - - ACE_TRY - { - consumer->push (event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Inform the control that we were able to push something - control->successful_transmission(this); - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (not_used, "during TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer"); - } - control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (sysex, "during TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer"); - } - - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Shouldn't happen, but does not hurt - } - ACE_ENDTRY; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_ProxyPushSupplier::invoke_to_consumer (const TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var typed_consumer_obj; - - // The DII target request object - CORBA::Request_var target_request; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - return; // ACE_THROW (CosEventComm::Disconnected ());???? - - typed_consumer_obj = - CORBA::Object::_duplicate (this->typed_consumer_obj_.in ()); - } - - TAO_CEC_ConsumerControl *control = - this->typed_event_channel_->consumer_control (); - - // Create the DII request - ACE_TRY - { - typed_consumer_obj_->_create_request (0, // ctx - typed_event.operation_, - typed_event.list_, - 0, // result - 0, // exception_list, - 0, // context_list, - target_request.inout(), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Call the DII invoke for the operation on the target object - target_request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Inform the control that we were able to invoke something - control->successful_transmission(this); - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (not_used, "during TAO_CEC_ProxyPushSupplier::invoke_to_consumer"); - } - control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (sysex, "during TAO_CEC_ProxyPushSupplier::invoke_to_consumer"); - } - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Shouldn't happen, but does not hurt - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ACE_ANY_EXCEPTION raised during TAO_CEC_ProxyPushSupplier::invoke_to_consumer"); - } - } - ACE_ENDTRY; -} - -void -TAO_CEC_ProxyPushSupplier::reactive_invoke_to_consumer ( - const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var typed_consumer_obj; - - // The DII target request object - CORBA::Request_var target_request; - - { - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - if (this->is_connected_i () == 0) - { - return; // TAO_THROW (CosEventComm::Disconnected ());???? - } - if (CORBA::is_nil(this->typed_consumer_obj_.in())) - { - return; // TAO_THROW ... - } - - typed_consumer_obj = - CORBA::Object::_duplicate (this->typed_consumer_obj_.in ()); - } - - TAO_CEC_ConsumerControl *control = - this->typed_event_channel_->consumer_control (); - - // Create the DII request - ACE_TRY - { - typed_consumer_obj_->_create_request (0, // ctx - typed_event.operation_, - typed_event.list_, - 0, // result - 0, // exception_list, - 0, // context_list, - target_request.inout(), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Call the DII invoke for the operation on the target object - target_request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Inform the control that we were able to invoke something - control->successful_transmission(this); - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (not_used, "during TAO_CEC_ProxyPushSupplier::reactive_invoke_to_consumer"); - } - control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (sysex, "during TAO_CEC_ProxyPushSupplier::reactive_invoke_to_consumer"); - } - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ACE_ANY_EXCEPTION raised during TAO_CEC_ProxyPushSupplier::reactive_invoke_to_consumer"); - } - } - ACE_ENDTRY; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -CORBA::Boolean -TAO_CEC_ProxyPushSupplier::consumer_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var consumer; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_connected_i () == 0) - { - disconnected = 1; - return 0; - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec () ) - { - if (CORBA::is_nil (this->nopolicy_typed_consumer_.in ())) - { - return 0; - } - consumer = CORBA::Object::_duplicate - (this->nopolicy_typed_consumer_.in ()); - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - if (CORBA::is_nil (this->nopolicy_consumer_.in ())) - { - return 0; - } - consumer = CORBA::Object::_duplicate (this->nopolicy_consumer_.in ()); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } /* ! this->is_typed_ec */ -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return consumer->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -PortableServer::POA_ptr -TAO_CEC_ProxyPushSupplier::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_ProxyPushSupplier::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_CEC_ProxyPushSupplier::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h deleted file mode 100644 index ab39589a301..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h +++ /dev/null @@ -1,233 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_ProxyPushSupplier.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Jon Astle (jon@astle45.fsnet.co.uk) - */ -//============================================================================= - - -#ifndef TAO_CEC_PROXYPUSHSUPPLIER_H -#define TAO_CEC_PROXYPUSHSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventChannelAdminS.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosTypedEventChannelAdminS.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_ProxyPushConsumer; -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_TypedEvent; -class TAO_CEC_TypedEventChannel; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -/** - * @class TAO_CEC_ProxyPushSupplier - * - * @brief ProxyPushSupplier - * - * Implement the CosEventChannelAdmin::ProxyPushSupplier interface, - * remember that this class is used to communicate with a - * PushConsumer, so, in effect, this is the ambassador for a - * consumer inside the event channel. - * = MEMORY MANAGMENT - * It does not assume ownership of the TAO_CEC_Dispatching object. - * It makes a copy of the ConsumerQOS and the consumer object - * reference. - * = LOCKING - * Locking is strategized, the event channel acts as a factory for - * the locking strategies. - */ -class TAO_Event_Serv_Export TAO_CEC_ProxyPushSupplier : public POA_CosEventChannelAdmin::ProxyPushSupplier -{ -public: - typedef CosEventChannelAdmin::ProxyPushSupplier_ptr _ptr_type; - typedef CosEventChannelAdmin::ProxyPushSupplier_var _var_type; - - /// constructor... - TAO_CEC_ProxyPushSupplier (TAO_CEC_EventChannel* event_channel, - const ACE_Time_Value &timeout); - - /// typed ec constructor -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - TAO_CEC_ProxyPushSupplier (TAO_CEC_TypedEventChannel* typed_event_channel, - const ACE_Time_Value &timeout); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// destructor... - virtual ~TAO_CEC_ProxyPushSupplier (void); - - /// Activate in the POA - virtual void activate ( - CosEventChannelAdmin::ProxyPushSupplier_ptr & - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return 0 if no consumer is connected... - CORBA::Boolean is_connected (void) const; - - /** - * Return the consumer object reference. It returns nil() if it has - * not connected yet. - * NOTE: This method does not return a new reference!!! Doing so - * will increase the locking overhead on the critical path. - */ - CosEventComm::PushConsumer_ptr consumer (void) const; - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Internal methods to push an event to each consumer. - virtual void push (const CORBA::Any &event - ACE_ENV_ARG_DECL); - virtual void push_nocopy (CORBA::Any &event - ACE_ENV_ARG_DECL); - /// Internal methods to invoke a typed event to each consumer. -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void invoke (const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Pushes to the consumer, verifies that it is connected. - void push_to_consumer (const CORBA::Any &event - ACE_ENV_ARG_DECL); - void reactive_push_to_consumer (const CORBA::Any &event - ACE_ENV_ARG_DECL); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - void invoke_to_consumer (const TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL); - void reactive_invoke_to_consumer (const TAO_CEC_TypedEvent &typed_event - ACE_ENV_ARG_DECL); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /** - * Invoke the _non_existent() pseudo-operation on the consumer. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean consumer_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - // = The CosEventChannelAdmin::ProxyPushSupplier methods... - virtual void connect_push_consumer ( - CosEventComm::PushConsumer_ptr push_consumer - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError)); - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - -protected: - /// Set the consumer, used by some implementations to change the - /// policies used when invoking operations on the consumer. - void consumer (CosEventComm::PushConsumer_ptr consumer); - void consumer_i (CosEventComm::PushConsumer_ptr consumer); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - void consumer (CosTypedEventComm::TypedPushConsumer_ptr typed_consumer); - void consumer_i (CosTypedEventComm::TypedPushConsumer_ptr typed_consumer); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Release the child and the consumer - void cleanup_i (void); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - CORBA::Boolean is_typed_ec (void) const; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Assigns the parameter to both consumer_ and nopolicy_consumer_, and - /// applies policies (when appropriate) to consumer_. - CosEventComm::PushConsumer_ptr apply_policy - (CosEventComm::PushConsumer_ptr c); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - CosTypedEventComm::TypedPushConsumer_ptr apply_policy - (CosTypedEventComm::TypedPushConsumer_ptr c); -#endif - - CORBA::Object_ptr apply_policy_obj (CORBA::Object_ptr c); - -private: - /// The Event Channel that owns this object. - TAO_CEC_EventChannel* event_channel_; - - ACE_Time_Value timeout_; - - /// The Typed Event Channel that owns this object. -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - TAO_CEC_TypedEventChannel *typed_event_channel_; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The consumer -- use apply_policy() instead of assigning directly to - /// consumer_. This will keep consumer_ and nopolicy_consumer_ in sync. - CosEventComm::PushConsumer_var consumer_; - - /// The consumer without any policies applied - CosEventComm::PushConsumer_var nopolicy_consumer_; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - /// The typed consumer -- use apply_policy() instead of assigning directly to - /// typed_consumer_. This will keep typed_consumer_ and - /// nopolicy_typed_consumer_ in sync. - CosTypedEventComm::TypedPushConsumer_var typed_consumer_; - - /// The consumer object returned from get_typed_consumer() - CORBA::Object_var typed_consumer_obj_; - - /// The typed consumer without any policies applied - CosTypedEventComm::TypedPushConsumer_var nopolicy_typed_consumer_; - -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_PROXYPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.i deleted file mode 100644 index 9f92df16b06..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.i +++ /dev/null @@ -1,98 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPushSupplier::is_connected_i (void) const -{ -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec ()) - { - return !CORBA::is_nil (this->typed_consumer_.in ()); - } - else - { - return !CORBA::is_nil (this->consumer_.in ()); - } -#else - return !CORBA::is_nil (this->consumer_.in ()); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPushSupplier::is_connected (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->is_connected_i (); -} - -ACE_INLINE CosEventComm::PushConsumer_ptr -TAO_CEC_ProxyPushSupplier::consumer (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->is_typed_ec ()) - { - return this->typed_consumer_.in (); - } - else - { - return this->consumer_.in (); - } -#else - return this->consumer_.in (); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -ACE_INLINE void -TAO_CEC_ProxyPushSupplier::consumer_i (CosEventComm::PushConsumer_ptr consumer) -{ - this->consumer_ = consumer; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -ACE_INLINE void -TAO_CEC_ProxyPushSupplier::consumer_i (CosTypedEventComm::TypedPushConsumer_ptr typed_consumer) -{ - this->typed_consumer_ = typed_consumer; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -ACE_INLINE void -TAO_CEC_ProxyPushSupplier::consumer (CosEventComm::PushConsumer_ptr consumer) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->consumer_i (consumer); -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -ACE_INLINE void -TAO_CEC_ProxyPushSupplier::consumer (CosTypedEventComm::TypedPushConsumer_ptr typed_consumer) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->consumer_i (typed_consumer); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -ACE_INLINE CORBA::Boolean -TAO_CEC_ProxyPushSupplier::is_typed_ec (void) const -{ - if (this->typed_event_channel_ != 0) - { - return true; - } - else - { - return false; - } -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.cpp deleted file mode 100644 index eeb8c998046..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_Pulling_Strategy.h" - -ACE_RCSID(CosEvent, CEC_Pulling_Strategy, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_Pulling_Strategy::~TAO_CEC_Pulling_Strategy (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h deleted file mode 100644 index 791dda5c1d2..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Pulling_Strategy.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_PULLING_STRATEGY_H -#define TAO_CEC_PULLING_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Basic_Types.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_Pulling_Strategy - * - * @brief Define the interface for the pulling strategies. - * - * The EC may be configured with different pulling strategies, - * for instance, it can use a pool of threads to dispatch the - * events, or a set of queues with threads at different priorities - * for each queue or can simply push the event to the consumer in - * FIFO order. - */ -class TAO_Event_Serv_Export TAO_CEC_Pulling_Strategy -{ -public: - /// destructor... - virtual ~TAO_CEC_Pulling_Strategy (void); - - /// Initialize all the data structures, activate any internal threads, - /// etc. - virtual void activate (void) = 0; - - /** - * Deactivate any internal threads and cleanup internal data - * structures, it should only return once the threads have finished - * their jobs. - */ - virtual void shutdown (void) = 0; - -#if 0 - /// Some strategies may want to keep track of connected consumers. - virtual void connected (TAO_CEC_ProxyPullConsumer * - ACE_ENV_ARG_DECL_NOT_USED) = 0; - virtual void reconnected (TAO_CEC_ProxyPullConsumer * - ACE_ENV_ARG_DECL_NOT_USED) = 0; - virtual void diconnected (TAO_CEC_ProxyPullConsumer * - ACE_ENV_ARG_DECL_NOT_USED) = 0; -#endif /* 0 */ -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_CEC_PULLING_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp deleted file mode 100644 index 934fc6e4c82..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp +++ /dev/null @@ -1,492 +0,0 @@ -// $Id$ - -// Note: This class controls the behaviour of consumers connected to both -// the Typed and Un-typed Event Channels. A check must be made in the code -// to ensure the correct EC is referenced. - -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullSupplier.h" - -#include "orbsvcs/Time_Utilities.h" - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 -#include "tao/Messaging/Messaging.h" -#endif - -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "ace/Reactor.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_Reactive_ConsumerControl, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO_CEC_Reactive_ConsumerControl constructor for the Un-typed EC -TAO_CEC_Reactive_ConsumerControl:: - TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_EventChannel *ec, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - retries_ (retries), - adapter_ (this), - event_channel_ (ec), -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - typed_event_channel_ (0), -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - // Initialise timer_id_ to an invalid timer id, so that in case we don't - // schedule a timer, we don't cancel a random timer at shutdown - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING */ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -// TAO_CEC_Reactive_ConsumerControl constructor for the Typed EC -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_Reactive_ConsumerControl:: - TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_TypedEventChannel *ec, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - retries_ (retries), - adapter_ (this), - event_channel_ (0), - typed_event_channel_ (ec), - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - // Initialise timer_id_ to an invalid timer id, so that in case we don't - // schedule a timer, we don't cancel a random timer at shutdown - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING */ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_Reactive_ConsumerControl::~TAO_CEC_Reactive_ConsumerControl (void) -{ -} - -void -TAO_CEC_Reactive_ConsumerControl::query_consumers ( - ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_CEC_Ping_Push_Consumer push_worker (this); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->typed_event_channel_) - { - // Typed EC - this->typed_event_channel_->typed_consumer_admin ()->for_each (&push_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Un-typed EC - this->event_channel_->consumer_admin ()->for_each (&push_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_CEC_Ping_Pull_Consumer pull_worker (this); - this->event_channel_->consumer_admin ()->for_each (&pull_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -bool -TAO_CEC_Reactive_ConsumerControl::need_to_disconnect ( - PortableServer::ServantBase* proxy) -{ - bool disconnect = true; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->typed_event_channel_) - { - // Typed EC - TAO_CEC_TypedEventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->typed_event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - ++entry->int_id_; - if (entry->int_id_ <= this->retries_) - { - disconnect = false; - } - } - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Un-typed EC - TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - ++entry->int_id_; - if (entry->int_id_ <= this->retries_) - { - disconnect = false; - } - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - return disconnect; -} - -void -TAO_CEC_Reactive_ConsumerControl::successful_transmission ( - PortableServer::ServantBase* proxy) -{ - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->typed_event_channel_) - { - // Typed EC - TAO_CEC_TypedEventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->typed_event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - entry->int_id_ = 0; - } - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Un-typed EC - TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - entry->int_id_ = 0; - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -} - -void -TAO_CEC_Reactive_ConsumerControl::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TRY_EX (query) - { - // Query the state of the consumers... - this->query_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (query); - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -int -TAO_CEC_Reactive_ConsumerControl::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Pre-compute the policy list to the set the right timeout - // value... - // We need to convert the relative timeout into 100's of nano seconds. - TimeBase::TimeT timeout; - ORBSVCS_Time::Time_Value_to_TimeT (timeout, - this->timeout_); - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Only schedule the timer, when the rate is not zero - if (this->rate_ != ACE_Time_Value::zero) - { - // Schedule the timer after these policies has been set, because the - // handle_timeout uses these policies, if done in front, the channel - // can crash when the timeout expires before initiazation is ready. - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ - - return 0; -} - -int -TAO_CEC_Reactive_ConsumerControl::shutdown (void) -{ - int r = 0; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - r = this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - this->adapter_.reactor (0); - return r; -} - -void -TAO_CEC_Reactive_ConsumerControl::consumer_not_exist ( - TAO_CEC_ProxyPushSupplier *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("ProxyPushSupplier disconnected due to consumer_not_exist\n"))); - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT ("Reactive_ConsumerControl::consumer_not_exist")); - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_CEC_Reactive_ConsumerControl::consumer_not_exist ( - TAO_CEC_ProxyPullSupplier *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - proxy->disconnect_pull_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT ("Reactive_ConsumerControl::consumer_not_exist")); - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_CEC_Reactive_ConsumerControl::system_exception ( - TAO_CEC_ProxyPushSupplier *proxy, - CORBA::SystemException & /* exception */ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - if (this->need_to_disconnect (proxy)) - { - proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("ProxyPushSupplier disconnected due to consumer_not_exist\n"))); - } - } - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -// **************************************************************** - -TAO_CEC_ConsumerControl_Adapter::TAO_CEC_ConsumerControl_Adapter ( - TAO_CEC_Reactive_ConsumerControl *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_CEC_ConsumerControl_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -// **************************************************************** - -void -TAO_CEC_Ping_Push_Consumer::work (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - supplier->consumer_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - if (this->control_->need_to_disconnect (supplier)) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -// **************************************************************** - -void -TAO_CEC_Ping_Pull_Consumer::work (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - supplier->consumer_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - if (this->control_->need_to_disconnect (supplier)) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h deleted file mode 100644 index f1cc2e40767..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h +++ /dev/null @@ -1,213 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Reactive_ConsumerControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - */ -//============================================================================= - - -#ifndef TAO_CEC_REACTIVE_CONSUMERCONTROL_H -#define TAO_CEC_REACTIVE_CONSUMERCONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_ConsumerControl.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" - -#include "tao/ORB.h" - -#include "ace/Event_Handler.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; - -class TAO_CEC_Reactive_ConsumerControl; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_TypedEventChannel; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -/** - * @class TAO_CEC_ConsumerControl_Adapter - * - * @brief Forwards timeout events to the Reactive ConsumerControl - * - * The Reactive ConsumerControl strategy uses the reactor to - * periodically wakeup and verify the state of the consumers - * registered with the Event Channel. - */ -class TAO_Event_Serv_Export TAO_CEC_ConsumerControl_Adapter : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_CEC_ConsumerControl_Adapter (TAO_CEC_Reactive_ConsumerControl *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_CEC_Reactive_ConsumerControl *adaptee_; -}; - -/** - * @class TAO_CEC_Reactive_ConsumerControl - * - * @brief ConsumerControl - * - * Defines the interface for the consumer control strategy. - * This strategy handles misbehaving or failing consumers. - * = MEMORY MANAGMENT - * = LOCKING - * = TODO - */ -class TAO_Event_Serv_Export TAO_CEC_Reactive_ConsumerControl - : public TAO_CEC_ConsumerControl -{ -public: - /// Constructor. It does not assume ownership of the - /// parameter. - TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_EventChannel *event_channel, - CORBA::ORB_ptr orb); - - /// Constructor for the typed ec. -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - TAO_CEC_Reactive_ConsumerControl ( - const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_TypedEventChannel *typed_event_channel, - CORBA::ORB_ptr orb - ); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// destructor... - virtual ~TAO_CEC_Reactive_ConsumerControl (void); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = Documented in TAO_CEC_ConsumerControl - virtual int activate (void); - virtual int shutdown (void); - virtual void consumer_not_exist (TAO_CEC_ProxyPushSupplier *proxy - ACE_ENV_ARG_DECL_NOT_USED); - virtual void consumer_not_exist (TAO_CEC_ProxyPullSupplier *proxy - ACE_ENV_ARG_DECL_NOT_USED); - virtual void system_exception (TAO_CEC_ProxyPushSupplier *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - - /// Do we need to disconnect this supplier? The parameter type for - /// proxy is PortableServer::ServantBase* due to the fact that this - /// method will be used for TAO_CEC_ProxyPushSupplier's and - /// TAO_CEC_ProxyPullSupplier's. - virtual bool need_to_disconnect (PortableServer::ServantBase* proxy); - - /// Allow others to inform us when a send or receive was successful. - virtual void successful_transmission (PortableServer::ServantBase* proxy); - -private: - /// Check if the consumers still exists. It is a helper method for - /// handle_timeout() to isolate the exceptions. - void query_consumers (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The polling rate - ACE_Time_Value rate_; - - /// The polling timeout - ACE_Time_Value timeout_; - - /// The number of retries per proxy until it is disconnected - unsigned int retries_; - - /// The Adapter for the reactor events - TAO_CEC_ConsumerControl_Adapter adapter_; - - /// The event channel - TAO_CEC_EventChannel *event_channel_; - - /// The typed event channel -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - TAO_CEC_TypedEventChannel *typed_event_channel_; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -// **************************************************************** - -class TAO_CEC_Ping_Push_Consumer - : public TAO_ESF_Worker -{ -public: - TAO_CEC_Ping_Push_Consumer (TAO_CEC_ConsumerControl *control); - - virtual void work (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - TAO_CEC_ConsumerControl *control_; -}; - -// **************************************************************** - -class TAO_CEC_Ping_Pull_Consumer - : public TAO_ESF_Worker -{ -public: - TAO_CEC_Ping_Pull_Consumer (TAO_CEC_ConsumerControl *control); - - virtual void work (TAO_CEC_ProxyPullSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - TAO_CEC_ConsumerControl *control_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_CONSUMERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i deleted file mode 100644 index cd61d83efce..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i +++ /dev/null @@ -1,23 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_Ping_Push_Consumer:: - TAO_CEC_Ping_Push_Consumer (TAO_CEC_ConsumerControl *control) - : control_ (control) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Ping_Pull_Consumer:: - TAO_CEC_Ping_Pull_Consumer (TAO_CEC_ConsumerControl *control) - : control_ (control) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp deleted file mode 100644 index 55063132e47..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp +++ /dev/null @@ -1,204 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h" - -#include "orbsvcs/Time_Utilities.h" - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 -#include "tao/Messaging/Messaging.h" -#endif - -#include "tao/ORB_Core.h" - -#include "ace/Reactor.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(CosEvent, CEC_Reactive_Pulling_Strategy, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_Reactive_Pulling_Strategy:: - TAO_CEC_Reactive_Pulling_Strategy (const ACE_Time_Value &rate, - const ACE_Time_Value &relative_timeout, - TAO_CEC_EventChannel *event_channel, - CORBA::ORB_ptr orb) - : adapter_ (this), - rate_ (rate), - relative_timeout_ (relative_timeout), - event_channel_ (event_channel), - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - // Initialise timer_id_ to an invalid timer id, so that in case we don't - // schedule a timer, we don't cancel a random timer at shutdown - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING */ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -void -TAO_CEC_Reactive_Pulling_Strategy::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TRY_EX (query) - { - TAO_CEC_Pull_Event worker (this->event_channel_->consumer_admin (), - this->event_channel_->supplier_control ()); - - this->event_channel_->supplier_admin ()->for_each (&worker - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (query); - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -void -TAO_CEC_Reactive_Pulling_Strategy::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return; - - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Pre-compute the policy list to the set the right timeout - // value... - // We need to convert the relative timeout into 100's of nano seconds. - TimeBase::TimeT timeout; - ORBSVCS_Time::Time_Value_to_TimeT (timeout, - this->relative_timeout_); - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ -} - -void -TAO_CEC_Reactive_Pulling_Strategy::shutdown (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - this->adapter_.reactor (0); -} - -// **************************************************************** - -TAO_CEC_Pulling_Strategy_Adapter::TAO_CEC_Pulling_Strategy_Adapter ( - TAO_CEC_Reactive_Pulling_Strategy *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_CEC_Pulling_Strategy_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -// **************************************************************** - -void -TAO_CEC_Pull_Event::work (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL) -{ - CORBA::Boolean has_event = 0; - CORBA::Any_var any; - - ACE_TRY - { - any = consumer->try_pull_from_supplier (has_event - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - return; - } - ACE_ENDTRY; - - if (has_event) - { - this->consumer_admin_->push (any.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h deleted file mode 100644 index a43c423f3a3..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h +++ /dev/null @@ -1,151 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Reactive_Pulling_Strategy.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_REACTIVE_PULLING_STRATEGY_H -#define TAO_CEC_REACTIVE_PULLING_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_Pulling_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" - -#include "tao/ORB.h" -#include "tao/PolicyC.h" - -#include "ace/Event_Handler.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_ProxyPullConsumer; -class TAO_CEC_EventChannel; -class TAO_CEC_ConsumerAdmin; -class TAO_CEC_SupplierControl; -class TAO_CEC_Reactive_Pulling_Strategy; - -/** - * @class TAO_CEC_Pulling_Strategy_Adapter - * - * @brief Forwards timeout events to the Reactive Pulling Strategy - * - * The Reactive Pulling Strategy strategy uses the reactor to - * periodically wakeup and try top pull events from each - * PullSupplier connected to the EventChannel. - */ -class TAO_Event_Serv_Export TAO_CEC_Pulling_Strategy_Adapter : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_CEC_Pulling_Strategy_Adapter (TAO_CEC_Reactive_Pulling_Strategy *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_CEC_Reactive_Pulling_Strategy *adaptee_; -}; - -// **************************************************************** - -/** - * @class TAO_CEC_Reactive_Pulling_Strategy - * - * @brief Dispatch using the caller thread. - * - * The events are dispatched in FIFO ordering, using the invoking - * thread to push the event to the consumer. - */ -class TAO_Event_Serv_Export TAO_CEC_Reactive_Pulling_Strategy : public TAO_CEC_Pulling_Strategy -{ -public: - /// The scheduler is used to find the range of priorities and similar - /// info. - TAO_CEC_Reactive_Pulling_Strategy (const ACE_Time_Value &rate, - const ACE_Time_Value &relative_timeout, - TAO_CEC_EventChannel *event_channel, - CORBA::ORB_ptr orb); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = The CEC_Pulling_Strategy methods. - virtual void activate (void); - virtual void shutdown (void); - -private: - /// The Adapter for the reactor events - TAO_CEC_Pulling_Strategy_Adapter adapter_; - - /// The polling rate - ACE_Time_Value rate_; - - /// The relative timeout - ACE_Time_Value relative_timeout_; - - /// The event channel - TAO_CEC_EventChannel *event_channel_; - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -// **************************************************************** - -class TAO_CEC_Pull_Event : public TAO_ESF_Worker -{ -public: - TAO_CEC_Pull_Event (TAO_CEC_ConsumerAdmin *consumer_admin, - TAO_CEC_SupplierControl *control); - - virtual void work (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL); - -private: - /// Used to propagate the events. - TAO_CEC_ConsumerAdmin *consumer_admin_; - - /// To report failed or dead suppliers - TAO_CEC_SupplierControl *supplier_control_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_REACTIVE_PULLING_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i deleted file mode 100644 index 319de5688f5..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_Pull_Event::TAO_CEC_Pull_Event (TAO_CEC_ConsumerAdmin *consumer_admin, - TAO_CEC_SupplierControl *control) - : consumer_admin_ (consumer_admin), - supplier_control_ (control) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp deleted file mode 100644 index b7a49603b36..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp +++ /dev/null @@ -1,537 +0,0 @@ -// $Id$ - -// Note: This class controls the behaviour of suppliers connected to both -// the Typed and Un-typed Event Channels. A check must be made in the code -// to ensure the correct EC is referenced. - -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h" - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h" -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.h" - -#include "orbsvcs/Time_Utilities.h" - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 -#include "tao/Messaging/Messaging.h" -#endif - -#include "tao/ORB_Core.h" - -#include "ace/Reactor.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_Reactive_SupplierControl, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO_CEC_Reactive_SupplierControl constructor for the Un-typed EC -TAO_CEC_Reactive_SupplierControl:: - TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_EventChannel *ec, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - retries_ (retries), - adapter_ (this), - event_channel_ (ec), -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - typed_event_channel_ (0), -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - // Initialise timer_id_ to an invalid timer id, so that in case we don't - // schedule a timer, we don't cancel a random timer at shutdown - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING */ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -// TAO_CEC_Reactive_SupplierControl constructor for the Typed EC -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -TAO_CEC_Reactive_SupplierControl:: - TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_TypedEventChannel *ec, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - retries_ (retries), - adapter_ (this), - event_channel_ (0), - typed_event_channel_ (ec), - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - // Initialise timer_id_ to an invalid timer id, so that in case we don't - // schedule a timer, we don't cancel a random timer at shutdown - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING */ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -TAO_CEC_Reactive_SupplierControl::~TAO_CEC_Reactive_SupplierControl (void) -{ -} - -void -TAO_CEC_Reactive_SupplierControl::query_suppliers ( - ACE_ENV_SINGLE_ARG_DECL) -{ -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->typed_event_channel_) - { - // Typed EC - TAO_CEC_Ping_Typed_Push_Supplier push_worker (this); - - this->typed_event_channel_->typed_supplier_admin ()->for_each (&push_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Un-typed EC - TAO_CEC_Ping_Push_Supplier push_worker (this); - this->event_channel_->supplier_admin ()->for_each (&push_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_CEC_Ping_Pull_Supplier pull_worker (this); - this->event_channel_->supplier_admin ()->for_each (&pull_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ -} - -bool -TAO_CEC_Reactive_SupplierControl::need_to_disconnect ( - PortableServer::ServantBase* proxy) -{ - bool disconnect = true; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->typed_event_channel_) - { - // Typed EC - TAO_CEC_TypedEventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->typed_event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - ++entry->int_id_; - if (entry->int_id_ <= this->retries_) - { - disconnect = false; - } - } - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Un-typed EC - TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - ++entry->int_id_; - if (entry->int_id_ <= this->retries_) - { - disconnect = false; - } - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - return disconnect; -} - -void -TAO_CEC_Reactive_SupplierControl::successful_transmission ( - PortableServer::ServantBase* proxy) -{ -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - if (this->typed_event_channel_) - { - // Typed EC - TAO_CEC_TypedEventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->typed_event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - entry->int_id_ = 0; - } - } - else - { -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - // Un-typed EC - TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry = 0; - if (this->event_channel_-> - get_servant_retry_map ().find (proxy, entry) == 0) - { - entry->int_id_ = 0; - } - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - } -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -} - -void -TAO_CEC_Reactive_SupplierControl::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TRY_EX (query) - { - // Query the state of the suppliers... - this->query_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX (query); - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -int -TAO_CEC_Reactive_SupplierControl::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Pre-compute the policy list to the set the right timeout - // value... - // We need to convert the relative timeout into 100's of nano seconds. - TimeBase::TimeT timeout; - ORBSVCS_Time::Time_Value_to_TimeT (timeout, - this->timeout_); - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Only schedule the timer, when the rate is not zero - if (this->rate_ != ACE_Time_Value::zero) - { - // Schedule the timer after these policies has been set, because the - // handle_timeout uses these policies, if done in front, the channel - // can crash when the timeout expires before initiazation is ready. - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ - - return 0; -} - -int -TAO_CEC_Reactive_SupplierControl::shutdown (void) -{ - int r = 0; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - r = this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - this->adapter_.reactor (0); - return r; -} - -void -TAO_CEC_Reactive_SupplierControl::supplier_not_exist ( - TAO_CEC_ProxyPushConsumer *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - proxy->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Reactive_SupplierControl::supplier_not_exist ( - TAO_CEC_TypedProxyPushConsumer *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - proxy->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_Reactive_SupplierControl::supplier_not_exist ( - TAO_CEC_ProxyPullConsumer *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - proxy->disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_CEC_Reactive_SupplierControl::system_exception ( - TAO_CEC_ProxyPullConsumer *proxy, - CORBA::SystemException & /* exception */ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - if (this->need_to_disconnect (proxy)) - { - proxy->disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -// **************************************************************** - -TAO_CEC_SupplierControl_Adapter::TAO_CEC_SupplierControl_Adapter ( - TAO_CEC_Reactive_SupplierControl *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_CEC_SupplierControl_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -// **************************************************************** - -void -TAO_CEC_Ping_Push_Supplier::work (TAO_CEC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - consumer->supplier_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - if (this->control_->need_to_disconnect (consumer)) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -// **************************************************************** - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_Ping_Typed_Push_Supplier::work (TAO_CEC_TypedProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - consumer->supplier_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - if (this->control_->need_to_disconnect (consumer)) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -// **************************************************************** - -void -TAO_CEC_Ping_Pull_Supplier::work (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - consumer->supplier_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - if (this->control_->need_to_disconnect (consumer)) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h deleted file mode 100644 index bd7cbe1fd94..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h +++ /dev/null @@ -1,229 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_Reactive_SupplierControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - */ -//============================================================================= - -#ifndef TAO_CEC_REACTIVE_SUPPLIERCONTROL_H -#define TAO_CEC_REACTIVE_SUPPLIERCONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_SupplierControl.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" - -#include "tao/ORB.h" - -#include "ace/Event_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_Reactive_SupplierControl; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_TypedEventChannel; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -/** - * @class TAO_CEC_SupplierControl_Adapter - * - * @brief Forwards timeout events to the Reactive SupplierControl - * - * The Reactive SupplierControl strategy uses the reactor to - * periodically wakeup and verify the state of the suppliers - * registered with the Event Channel. - */ -class TAO_Event_Serv_Export TAO_CEC_SupplierControl_Adapter - : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_CEC_SupplierControl_Adapter (TAO_CEC_Reactive_SupplierControl *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_CEC_Reactive_SupplierControl *adaptee_; -}; - -/** - * @class TAO_CEC_Reactive_SupplierControl - * - * @brief SupplierControl - * - * Defines the interface for the supplier control strategy. - * This strategy handles misbehaving or failing suppliers. - * = MEMORY MANAGMENT - * = LOCKING - * = TODO - */ -class TAO_Event_Serv_Export TAO_CEC_Reactive_SupplierControl - : public TAO_CEC_SupplierControl -{ -public: - /// Constructor. It does not assume ownership of the - /// parameter. - TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_EventChannel *event_channel, - CORBA::ORB_ptr orb); - - /// Constructor for the typed ec. -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - TAO_CEC_Reactive_SupplierControl ( - const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - unsigned int retries, - TAO_CEC_TypedEventChannel *typed_event_channel, - CORBA::ORB_ptr orb - ); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// destructor... - virtual ~TAO_CEC_Reactive_SupplierControl (void); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = Documented in TAO_CEC_SupplierControl - virtual int activate (void); - virtual int shutdown (void); - virtual void supplier_not_exist (TAO_CEC_ProxyPushConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void supplier_not_exist (TAO_CEC_TypedProxyPushConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - virtual void supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); - virtual void system_exception (TAO_CEC_ProxyPullConsumer *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - - /// Do we need to disconnect this supplier? The parameter type for - /// proxy is PortableServer::ServantBase* due to the fact that this - /// method will be used for TAO_CEC_ProxyPushSupplier's and - /// TAO_CEC_ProxyPullSupplier's. - virtual bool need_to_disconnect (PortableServer::ServantBase* proxy); - - /// Allow others to inform us when a send or receive was successful. - virtual void successful_transmission (PortableServer::ServantBase* proxy); - -private: - /// Check if the suppliers still exists. It is a helper method for - /// handle_timeout() to isolate the exceptions. - void query_suppliers (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The polling rate - ACE_Time_Value rate_; - - /// The polling timeout - ACE_Time_Value timeout_; - - /// The number of retries per proxy until it is disconnected - unsigned int retries_; - - /// The Adapter for the reactor events - TAO_CEC_SupplierControl_Adapter adapter_; - - /// The event channel - TAO_CEC_EventChannel *event_channel_; - - /// The typed event channel -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - TAO_CEC_TypedEventChannel *typed_event_channel_; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -// **************************************************************** - -class TAO_CEC_Ping_Push_Supplier : public TAO_ESF_Worker -{ -public: - TAO_CEC_Ping_Push_Supplier (TAO_CEC_SupplierControl *control); - - virtual void work (TAO_CEC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - -private: - TAO_CEC_SupplierControl *control_; -}; - -// **************************************************************** - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_Ping_Typed_Push_Supplier : public TAO_ESF_Worker -{ -public: - TAO_CEC_Ping_Typed_Push_Supplier (TAO_CEC_SupplierControl *control); - - virtual void work (TAO_CEC_TypedProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - -private: - TAO_CEC_SupplierControl *control_; -}; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -// **************************************************************** - -class TAO_CEC_Ping_Pull_Supplier : public TAO_ESF_Worker -{ -public: - TAO_CEC_Ping_Pull_Supplier (TAO_CEC_SupplierControl *control); - - virtual void work (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL); - -private: - TAO_CEC_SupplierControl *control_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_SUPPLIERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i deleted file mode 100644 index e166f46ecf6..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i +++ /dev/null @@ -1,34 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_Ping_Push_Supplier:: - TAO_CEC_Ping_Push_Supplier (TAO_CEC_SupplierControl *control) - : control_ (control) -{ -} - -// **************************************************************** - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -ACE_INLINE -TAO_CEC_Ping_Typed_Push_Supplier:: - TAO_CEC_Ping_Typed_Push_Supplier (TAO_CEC_SupplierControl *control) - : control_ (control) -{ -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -// **************************************************************** - -ACE_INLINE -TAO_CEC_Ping_Pull_Supplier:: - TAO_CEC_Ping_Pull_Supplier (TAO_CEC_SupplierControl *control) - : control_ (control) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp deleted file mode 100644 index e667fe96e0d..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp +++ /dev/null @@ -1,105 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (CosEvent, - CEC_SupplierAdmin, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_SupplierAdmin::TAO_CEC_SupplierAdmin (TAO_CEC_EventChannel *ec) - : event_channel_ (ec), - push_admin_ (ec), - pull_admin_ (ec) -{ - this->default_POA_ = - this->event_channel_->supplier_poa (); -} - -TAO_CEC_SupplierAdmin::~TAO_CEC_SupplierAdmin (void) -{ -} - -PortableServer::POA_ptr -TAO_CEC_SupplierAdmin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_SupplierAdmin::connected (TAO_CEC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->push_admin_.connected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_SupplierAdmin::reconnected (TAO_CEC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->push_admin_.reconnected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_SupplierAdmin::disconnected (TAO_CEC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->push_admin_.disconnected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_SupplierAdmin::connected (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.connected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_SupplierAdmin::reconnected (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.reconnected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_SupplierAdmin::disconnected (TAO_CEC_ProxyPullConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.disconnected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_SupplierAdmin::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->push_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->pull_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CosEventChannelAdmin::ProxyPushConsumer_ptr -TAO_CEC_SupplierAdmin::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->push_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPullConsumer_ptr -TAO_CEC_SupplierAdmin::obtain_pull_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->pull_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h deleted file mode 100644 index a1e67f65c71..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h +++ /dev/null @@ -1,127 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_SupplierAdmin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - */ -//============================================================================= - -#ifndef TAO_CEC_SUPPLIERADMIN_H -#define TAO_CEC_SUPPLIERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Admin.h" - -#include "orbsvcs/CosEvent/CEC_ProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_ProxyPullConsumer.h" -#include "orbsvcs/CosEvent/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; - -/** - * @class TAO_CEC_SupplierAdmin - * - * @brief ProxyPushSupplier - * - * Implement the CosEventChannelAdmin::SupplierAdmin interface. - * This class is an Abstract Factory for the - * TAO_CEC_ProxyPushConsumer. - * = MEMORY MANAGMENT - * It does not assume ownership of the TAO_CEC_EventChannel object - * = LOCKING - * @@ TODO - * No provisions for locking, access must be serialized - * externally. - * = TODO - */ -class TAO_Event_Serv_Export TAO_CEC_SupplierAdmin - : public POA_CosEventChannelAdmin::SupplierAdmin -{ -public: - /// constructor... - TAO_CEC_SupplierAdmin (TAO_CEC_EventChannel* event_channel); - - /// destructor... - virtual ~TAO_CEC_SupplierAdmin (void); - - /// For each elements call work()>. - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - - /// For each elements call work()>. - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - - /// Keep track of connected consumers. - virtual void connected (TAO_CEC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void connected (TAO_CEC_ProxyPullConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPullConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPullConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - - /// The event channel is shutting down, inform all the consumers of - /// this - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - // = The CosEventChannelAdmin::SupplierAdmin methods... - virtual CosEventChannelAdmin::ProxyPushConsumer_ptr - obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual CosEventChannelAdmin::ProxyPullConsumer_ptr - obtain_pull_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The PortableServer::ServantBase methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The Event Channel we belong to - TAO_CEC_EventChannel *event_channel_; - - /// The push and pull aspects are implemented using these classes - TAO_ESF_Proxy_Admin - push_admin_; - TAO_ESF_Proxy_Admin - pull_admin_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_SupplierAdmin.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_SUPPLIERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.i deleted file mode 100644 index ec420d2c576..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.i +++ /dev/null @@ -1,23 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO_CEC_SupplierAdmin:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - this->push_admin_.for_each (worker ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE void -TAO_CEC_SupplierAdmin:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - this->pull_admin_.for_each (worker ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp deleted file mode 100644 index e9b79b992cd..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_SupplierControl.h" - -ACE_RCSID(CosEvent, CEC_SupplierControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CEC_SupplierControl::TAO_CEC_SupplierControl (void) -{ -} - -TAO_CEC_SupplierControl::~TAO_CEC_SupplierControl (void) -{ -} - -int -TAO_CEC_SupplierControl::activate (void) -{ - return 0; -} - -int -TAO_CEC_SupplierControl::shutdown (void) -{ - return 0; -} - -void -TAO_CEC_SupplierControl::supplier_not_exist (TAO_CEC_ProxyPushConsumer * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -void -TAO_CEC_SupplierControl::supplier_not_exist (TAO_CEC_TypedProxyPushConsumer * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -void -TAO_CEC_SupplierControl::supplier_not_exist (TAO_CEC_ProxyPullConsumer * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_CEC_SupplierControl::system_exception (TAO_CEC_ProxyPullConsumer *, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -bool -TAO_CEC_SupplierControl::need_to_disconnect (PortableServer::ServantBase*) -{ - return true; -} - -void -TAO_CEC_SupplierControl::successful_transmission (PortableServer::ServantBase*) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h deleted file mode 100644 index 4de8fc0c3f6..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h +++ /dev/null @@ -1,112 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_SupplierControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - */ -//============================================================================= - - -#ifndef TAO_CEC_SUPPLIERCONTROL_H -#define TAO_CEC_SUPPLIERCONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/PortableServer.h" -#include "tao/Basic_Types.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_EventChannel; -class TAO_CEC_ProxyPushConsumer; -class TAO_CEC_ProxyPullConsumer; - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) -class TAO_CEC_TypedProxyPushConsumer; -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - -namespace CORBA -{ - class SystemException; -} - -/** - * @class TAO_CEC_SupplierControl - * - * @brief SupplierControl - * - * Defines the interface for the supplier control strategy. - * This strategy handles misbehaving or failing suppliers. - * = MEMORY MANAGMENT - * = LOCKING - * = TODO - */ -class TAO_Event_Serv_Export TAO_CEC_SupplierControl -{ -public: - /// Constructor. It does not assume ownership of the - /// parameter. - TAO_CEC_SupplierControl (void); - - /// destructor... - virtual ~TAO_CEC_SupplierControl (void); - - /// Activate any internal threads or timers used to poll the state of - /// the suppliers - virtual int activate (void); - virtual int shutdown (void); - - /** - * Invoked by helper classes when they detect that a supplier does - * not exists (i.e. _non_existent() returns true and/or the - * CORBA::OBJECT_NOT_EXIST exception has been raised). - */ - virtual void supplier_not_exist (TAO_CEC_ProxyPushConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); - -#if defined (TAO_HAS_TYPED_EVENT_CHANNEL) - virtual void supplier_not_exist (TAO_CEC_TypedProxyPushConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); -#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */ - - /** - * Invoked by helper classes when they detect that a supplier does - * not exists (i.e. _non_existent() returns true and/or the - * CORBA::OBJECT_NOT_EXIST exception has been raised). - */ - virtual void supplier_not_exist (TAO_CEC_ProxyPullConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); - - /// Some system exception was rasied while trying to push an event. - virtual void system_exception (TAO_CEC_ProxyPullConsumer *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - - /// Do we need to disconnect this supplier? The parameter type for - /// proxy is PortableServer::ServantBase* due to the fact that this - /// method will be used for TAO_CEC_ProxyPushSupplier's and - /// TAO_CEC_ProxyPullSupplier's. - virtual bool need_to_disconnect (PortableServer::ServantBase* proxy); - - /// Allow others to inform us when a send or receive was successful. - virtual void successful_transmission (PortableServer::ServantBase* proxy); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_CEC_SUPPLIERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp deleted file mode 100644 index 69c08a7b739..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp +++ /dev/null @@ -1,135 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h" - -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i" -#endif /* __ACE_INLINE__ */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Implementation skeleton constructor -TAO_CEC_TypedConsumerAdmin::TAO_CEC_TypedConsumerAdmin (TAO_CEC_TypedEventChannel *ec) - : typed_event_channel_ (ec), - typed_push_admin_ (ec) -{ - this->default_POA_ = - this->typed_event_channel_->typed_consumer_poa (); -} - -// Implementation skeleton destructor -TAO_CEC_TypedConsumerAdmin::~TAO_CEC_TypedConsumerAdmin (void) -{ -} - -void -TAO_CEC_TypedConsumerAdmin::invoke (const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_CEC_Propagate_Typed_Event typed_event_worker (typed_event, this->typed_event_channel_); - - this->typed_push_admin_.for_each (&typed_event_worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_TypedConsumerAdmin::connected (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.connected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_TypedConsumerAdmin::reconnected (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.reconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_TypedConsumerAdmin::disconnected (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.disconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_TypedConsumerAdmin::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->typed_push_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr -TAO_CEC_TypedConsumerAdmin::obtain_typed_pull_supplier ( - const char * /*supported_interface*/ - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosTypedEventChannelAdmin::InterfaceNotSupported - )) -{ - ACE_THROW_RETURN (CosTypedEventChannelAdmin::InterfaceNotSupported (), 0); -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_CEC_TypedConsumerAdmin::obtain_typed_push_supplier ( - const char * uses_interface - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosTypedEventChannelAdmin::NoSuchImplementation - )) - -{ - // Register the consumer uses_interface with the EC - int result = this->typed_event_channel_->consumer_register_uses_interace (uses_interface ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (result == -1) - { - ACE_THROW_RETURN (CosTypedEventChannelAdmin::NoSuchImplementation (), 0); - } - - return this->typed_push_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_CEC_TypedConsumerAdmin::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CosEventChannelAdmin::ProxyPullSupplier_ptr -TAO_CEC_TypedConsumerAdmin::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -PortableServer::POA_ptr -TAO_CEC_TypedConsumerAdmin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -// **************************************************************** - -void -TAO_CEC_Propagate_Typed_Event::work (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - supplier->invoke (this->typed_event_ ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h deleted file mode 100644 index 72925fb2c00..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h +++ /dev/null @@ -1,129 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_TypedConsumerAdmin.h - * - * $Id$ - * - * @author Jon Astle (jon@astle45.fsnet.co.uk) - * - * Based on the untyped version by Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_TYPEDCONSUMERADMIN_H_ -#define TAO_CEC_TYPEDCONSUMERADMIN_H_ - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosTypedEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Admin.h" - -#include "orbsvcs/CosEvent/CEC_ProxyPushSupplier.h" -#include "orbsvcs/CosEvent/CEC_TypedEvent.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_TypedEventChannel; - -//Class TAO_CEC_TypedConsumerAdmin -class TAO_Event_Serv_Export TAO_CEC_TypedConsumerAdmin - : public POA_CosTypedEventChannelAdmin::TypedConsumerAdmin -{ -public: - - // Constructor - TAO_CEC_TypedConsumerAdmin (TAO_CEC_TypedEventChannel* typed_event_channel); - - // Destructor - virtual ~TAO_CEC_TypedConsumerAdmin (void); - - /// For each elements call work()>. - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - - /// Invoke the typed event on all the consumers - virtual void invoke (const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Used to inform the EC that a Supplier has connected or - /// disconnected from it. - virtual void connected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - - /// The typed event channel is shutting down, inform all the consumers of - /// this - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - // = The CosTypedEventChannelAdmin::TypedConsumerAdmin methods... - virtual CosEventChannelAdmin::ProxyPushSupplier_ptr - obtain_typed_push_supplier (const char * uses_interface ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTypedEventChannelAdmin::NoSuchImplementation)); - virtual CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr - obtain_typed_pull_supplier (const char * supported_interface ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTypedEventChannelAdmin::InterfaceNotSupported)); - - // = The CosEventChannelAdmin::ConsumerAdmin methods... - virtual CosEventChannelAdmin::ProxyPushSupplier_ptr - obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CosEventChannelAdmin::ProxyPullSupplier_ptr - obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The PortableServer::ServantBase methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The Event Channel we belong to - TAO_CEC_TypedEventChannel *typed_event_channel_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; - - /// Implement the push side of this class - TAO_ESF_Proxy_Admin typed_push_admin_; -}; - -// **************************************************************** - -class TAO_CEC_Propagate_Typed_Event : public TAO_ESF_Worker -{ -public: - TAO_CEC_Propagate_Typed_Event (const TAO_CEC_TypedEvent& typed_event, - TAO_CEC_TypedEventChannel* typed_event_channel); - - void work (TAO_CEC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - /// The typed event - const TAO_CEC_TypedEvent typed_event_; - - /// The typed EC - TAO_CEC_TypedEventChannel* typed_event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_CEC_TYPEDCONSUMERADMIN_H_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i deleted file mode 100644 index 37a0dd30d28..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i +++ /dev/null @@ -1,24 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO_CEC_TypedConsumerAdmin:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.for_each (worker ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE -TAO_CEC_Propagate_Typed_Event::TAO_CEC_Propagate_Typed_Event ( - const TAO_CEC_TypedEvent& typed_event, - TAO_CEC_TypedEventChannel* typed_event_channel) - : typed_event_ (typed_event), - typed_event_channel_ (typed_event_channel) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.cpp deleted file mode 100644 index 9142e04e6bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/CosEvent/CEC_TypedEvent.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedEvent.i" -#endif /* __ACE_INLINE__ */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h deleted file mode 100644 index 8dff16f8bf1..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h +++ /dev/null @@ -1,69 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_TypedEvent.h - * - * $Id$ - * - * @author Jon Astle (jon@astle45.fsnet.co.uk) - */ -//============================================================================= - -#ifndef TAO_CEC_TYPEDEVENT_H_ -#define TAO_CEC_TYPEDEVENT_H_ -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/AnyTypeCode/NVList.h" -#include "tao/CORBA_String.h" -#include "tao/CORBA_methods.h" - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_TypedEvent - * - * @brief Defines the operation and args list for the TypedEvent - * - * Used to store the TypedEvent as it is passed from the supplier - * side to the consumer side, in the TypedEventChannel. - */ - -class TAO_CEC_ProxyPushSupplier; - -class TAO_Event_Serv_Export TAO_CEC_TypedEvent -{ -public: - /// constructors... - TAO_CEC_TypedEvent (void); - - TAO_CEC_TypedEvent (CORBA::NVList_ptr list, - const char * operation); - - TAO_CEC_TypedEvent & operator= (const TAO_CEC_TypedEvent &); - -private: - /// Only the ProxyPushSupplier can read the private fields. - friend class TAO_CEC_ProxyPushSupplier; - - CORBA::NVList_ptr list_; - CORBA::String_var operation_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedEvent.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_TYPEDEVENT_H_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.i deleted file mode 100644 index 4c8f0aab997..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.i +++ /dev/null @@ -1,30 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_TypedEvent::TAO_CEC_TypedEvent (void) -{ -} - -ACE_INLINE -TAO_CEC_TypedEvent::TAO_CEC_TypedEvent (CORBA::NVList_ptr list, - const char * operation) - : list_ (list), - operation_ (operation) -{ -} - -ACE_INLINE -TAO_CEC_TypedEvent& -TAO_CEC_TypedEvent::operator= (const TAO_CEC_TypedEvent& other) -{ - this->list_ = CORBA::NVList::_duplicate (other.list_); - this->operation_ = CORBA::string_dup (other.operation_); - - return *this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp deleted file mode 100644 index f29d1421580..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp +++ /dev/null @@ -1,597 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#include "orbsvcs/CosEvent/CEC_Dispatching.h" -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h" -#include "orbsvcs/CosEvent/CEC_ConsumerControl.h" -#include "orbsvcs/CosEvent/CEC_SupplierControl.h" -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "ace/Dynamic_Service.h" -#include "ace/Reactor.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.i" -#endif /* __ACE_INLINE__ */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Implementation skeleton constructor -TAO_CEC_TypedEventChannel:: -TAO_CEC_TypedEventChannel (const TAO_CEC_TypedEventChannel_Attributes& attr, - TAO_CEC_Factory* factory, - int own_factory) - : typed_supplier_poa_ (PortableServer::POA::_duplicate (attr.typed_supplier_poa)), - typed_consumer_poa_ (PortableServer::POA::_duplicate (attr.typed_consumer_poa)), - orb_ (CORBA::ORB::_duplicate (attr.orb)), - interface_repository_ (CORBA::Repository::_duplicate (attr.interface_repository)), - factory_ (factory), - own_factory_ (own_factory), - consumer_reconnect_ (attr.consumer_reconnect), - supplier_reconnect_ (attr.supplier_reconnect), - disconnect_callbacks_ (attr.disconnect_callbacks), - destroy_on_shutdown_ (attr.destroy_on_shutdown), - destroyed_ (0) -{ - if (this->factory_ == 0) - { - this->factory_ = - ACE_Dynamic_Service::instance ("CEC_Factory"); - this->own_factory_ = 0; - ACE_ASSERT (this->factory_ != 0); - } - - this->dispatching_ = - this->factory_->create_dispatching (this); - this->typed_consumer_admin_ = - this->factory_->create_consumer_admin (this); - this->typed_supplier_admin_ = - this->factory_->create_supplier_admin (this); - this->consumer_control_ = - this->factory_->create_consumer_control (this); - this->supplier_control_ = - this->factory_->create_supplier_control (this); -} - -// Implementation skeleton destructor -TAO_CEC_TypedEventChannel::~TAO_CEC_TypedEventChannel (void) -{ - this->clear_ifr_cache (); - this->interface_description_.close (); - - this->factory_->destroy_dispatching (this->dispatching_); - this->dispatching_ = 0; - - this->factory_->destroy_consumer_admin (this->typed_consumer_admin_); - this->typed_consumer_admin_ = 0; - this->factory_->destroy_supplier_admin (this->typed_supplier_admin_); - this->typed_supplier_admin_ = 0; - - if (this->own_factory_) - delete this->factory_; -} - -void -TAO_CEC_TypedEventChannel::activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->dispatching_->activate (); - this->consumer_control_->activate (); - this->supplier_control_->activate (); -} - -namespace -{ - struct ShutdownHandler : ACE_Event_Handler - { - ShutdownHandler (CORBA::ORB_ptr orb) - : orb_ (CORBA::ORB::_duplicate (orb)) {} - CORBA::ORB_var orb_; - - virtual int handle_timeout (const ACE_Time_Value&, const void*) - { - orb_->shutdown (1); - return 0; - } - - }; -} - -void -TAO_CEC_TypedEventChannel::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->dispatching_->shutdown (); - this->supplier_control_->shutdown (); - this->consumer_control_->shutdown (); - - PortableServer::POA_var typed_consumer_poa = - this->typed_consumer_admin_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - PortableServer::ObjectId_var typed_consumer_id = - typed_consumer_poa->servant_to_id (this->typed_consumer_admin_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - typed_consumer_poa->deactivate_object (typed_consumer_id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::POA_var typed_supplier_poa = - this->typed_supplier_admin_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - PortableServer::ObjectId_var typed_supplier_id = - typed_supplier_poa->servant_to_id (this->typed_supplier_admin_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - typed_supplier_poa->deactivate_object (typed_supplier_id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->typed_supplier_admin_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->typed_consumer_admin_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (destroy_on_shutdown_) - { - // Deactivate the Typed EC - PortableServer::POA_var t_poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::ObjectId_var t_id = - t_poa->servant_to_id (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - t_poa->deactivate_object (t_id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_Event_Handler *timer; - ACE_NEW (timer, ShutdownHandler (this->orb_.in ())); - ACE_Reactor *reactor = this->orb_->orb_core ()->reactor (); - reactor->schedule_timer (timer, 0, ACE_Time_Value (1)); - } -} - -void -TAO_CEC_TypedEventChannel::connected (TAO_CEC_TypedProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->typed_supplier_admin_->connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_TypedEventChannel::reconnected (TAO_CEC_TypedProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->typed_supplier_admin_->reconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_TypedEventChannel::disconnected (TAO_CEC_TypedProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->typed_supplier_admin_->disconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_TypedEventChannel::connected (TAO_CEC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->typed_consumer_admin_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_TypedEventChannel::reconnected (TAO_CEC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->typed_consumer_admin_->reconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CEC_TypedEventChannel::disconnected (TAO_CEC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->typed_consumer_admin_->disconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// Find from the ifr cache the operation and return the parameter array pointer. -TAO_CEC_Operation_Params * -TAO_CEC_TypedEventChannel::find_from_ifr_cache (const char *operation) -{ - TAO_CEC_Operation_Params *found = 0; - - this->interface_description_.find (operation, found); - - return found; -} - -// Insert the operation and its parameters into the ifr cache. -int -TAO_CEC_TypedEventChannel::insert_into_ifr_cache (const char *operation_, - TAO_CEC_Operation_Params *parameters_) -{ - // Make sure that the supplied Object reference is valid, - // i.e. not nil. - if (operation_ == 0 || parameters_ == 0) - { - errno = EINVAL; - return -1; - }; - - CORBA::String_var operation = CORBA::string_dup (operation_); - - int result = this->interface_description_.bind (operation.in (), parameters_); - - if (result == 0) - { - // Transfer ownership to the Object InterfaceDescription map. - (void) operation._retn (); - } - - return result; -} - -// Clear the ifr cache, freeing up all its contents. -int -TAO_CEC_TypedEventChannel::clear_ifr_cache (void) -{ - for (Iterator i = this->interface_description_.begin (); - i != this->interface_description_.end (); - ++i) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Destroying operation %s from ifr cache *****\n"), - const_cast ((*i).ext_id_))); - } - - // Deallocate the operation - CORBA::string_free (const_cast ((*i).ext_id_)); - - // Destroy the parameter - delete ((*i).int_id_); - } - - int result = this->interface_description_.unbind_all (); - - return result; -} - - -// The function performs a lookup_id of the passed interface in the IFR, -// and then obtains the FullInterfaceDescription. -// The base interfaces for the interface are stored on this class. -// All the operations and their parameters are then inserted in the ifr cache. -// Function returns 0 if successful or -1 on a failure. -int -TAO_CEC_TypedEventChannel::cache_interface_description (const char *interface_ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - // Lookup the Interface Name in the IFR - CORBA::Contained_var contained = - this->interface_repository_->lookup_id (interface_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Narrow the interface - CORBA::InterfaceDef_var interface = - CORBA::InterfaceDef::_narrow (contained.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (interface.in () )) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** CORBA::InterfaceDef::_narrow failed for interface %s *****\n"), - interface_)); - } - return -1; - } - else - { - // Obtain the full interface description - CORBA::InterfaceDef::FullInterfaceDescription_var fid = - interface->describe_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Obtain the base interfaces - this->base_interfaces_ = fid->base_interfaces; - if (TAO_debug_level >= 10) - { - for (CORBA::ULong base=0; basebase_interfaces.length(); base++) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Base interface %s found on interface %s *****\n"), - static_cast(fid->base_interfaces[base]), - interface_ )); - } - } - - // Obtain the operations - for (CORBA::ULong oper=0; operoperations.length(); oper++) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Operation %s found on interface %s, num params %d *****\n"), - fid->operations[oper].name.in(), - interface_, - fid->operations[oper].parameters.length() )); - } - - // Obtain the parameters - CORBA::ULong num_params = fid->operations[oper].parameters.length(); - TAO_CEC_Operation_Params *oper_params = new TAO_CEC_Operation_Params (num_params); - - for (CORBA::ULong param=0; paramparameters_[param].name_ = fid->operations[oper].parameters[param].name.in(); - oper_params->parameters_[param].type_ = fid->operations[oper].parameters[param].type; - switch (fid->operations[oper].parameters[param].mode) - { - case CORBA::PARAM_IN: - oper_params->parameters_[param].direction_ = CORBA::ARG_IN; - break; - case CORBA::PARAM_OUT: - oper_params->parameters_[param].direction_ = CORBA::ARG_OUT; - break; - case CORBA::PARAM_INOUT: - oper_params->parameters_[param].direction_ = CORBA::ARG_INOUT; - break; - } - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Parameter %s found on operation %s *****\n"), - oper_params->parameters_[param].name_.in(), - fid->operations[oper].name.in() )); - } - } - - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Adding operation %s with %d parameters to the IFR cache *****\n"), - fid->operations[oper].name.in(), - oper_params->num_params_ )); - } - - int result = insert_into_ifr_cache (fid->operations[oper].name.in(), oper_params); - if (result != 0) - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Adding operation to IFR cache failed *****\n"))); - } - } - } - } - } - ACE_CATCH (CORBA::SystemException, sysex) - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (sysex, "during TAO_CEC_TypedEventChannel::cache_interface_description"); - } - return -1; - } - ACE_CATCHANY - { - if (TAO_debug_level >= 4) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ACE_ANY_EXCEPTION raised during TAO_CEC_TypedEventChannel::cache_interface_description"); - } - return -1; - } - ACE_ENDTRY; - return 0; -} - -// A consumer is attempting to register its uses_interface. -// Note only a single interface can be registered with this version of the EC. -// For users that require more than one interface, start another EC. -// If the passed uses_interface is the same as a registered interface the function returns 0. -// If an attempt is made to register a second interface, this function will return -1 -// and the TypedConsumerAdmin will throw CosTypedEventChannelAdmin::NoSuchImplementation. -// If neither a consumer nor a supplier has registered an interface, -// the function calls cache_interface_description and returns 0 if successful. -int -TAO_CEC_TypedEventChannel::consumer_register_uses_interace (const char *uses_interface - ACE_ENV_ARG_DECL) -{ - // Check if a consumer has already registered an interface with the typed EC - if (this->uses_interface_.length() > 0) - { - // Check if the registered uses_interface_ == the new uses_interface - if (this->uses_interface_ == ACE_CString (uses_interface)) - { - return 0; - } - else - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** different uses_interface_ already registered *****\n"))); - } - return -1; - } - } - - // Check if a supplier has already registered an inerface with the typed EC - if (this->supported_interface_.length() > 0) - { - // Check if the registered supported_interface_ == the new uses_interface - if (this->supported_interface_ == ACE_CString (uses_interface)) - { - this->uses_interface_ = uses_interface; - return 0; - } - else - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** different supported_interface_ already registered *****\n"))); - } - return -1; - } - } - else - { - // Neither a consumer nor a supplier has connected yet - int result = cache_interface_description (uses_interface ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (result == 0) - { - this->uses_interface_ = uses_interface; - } - return result; - } -} - -// A supplier is attempting to register its supported_interface. -// Note only a single interface can be registered with this version of the EC. -// For users that require more than one interface, start another EC. -// If the passed supported_interface is the same as a registered interface the function returns 0. -// If an attempt is made to register a second interface, this function will return -1 -// and the TypedSupplierAdmin will throw CosTypedEventChannelAdmin::InterfaceNotSupported. -// If neither a consumer nor a supplier has registered an interface, -// the function calls cache_interface_description and returns 0 if successful. -int -TAO_CEC_TypedEventChannel::supplier_register_supported_interface (const char *supported_interface - ACE_ENV_ARG_DECL) -{ - // Check if a supplier has already registered an interface with the typed EC - if (this->supported_interface_.length() > 0) - { - // Check if the registered interface == the new supported_interface - if (this->supported_interface_ == ACE_CString (supported_interface)) - { - return 0; - } - else - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** different supported_interface_ already registered *****\n"))); - } - return -1; - } - } - - // Check if a consumer has already registered an inerface with the typed EC - if (this->uses_interface_.length() > 0) - { - // Check if the registered uses_interface_ == the new supported_interface - if (this->uses_interface_ == ACE_CString (supported_interface)) - { - this->supported_interface_ = supported_interface; - return 0; - } - else - { - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** different uses_interface_ already registered *****\n"))); - } - return -1; - } - } - else - { - // Neither a consumer nor a supplier has connected yet - int result = cache_interface_description (supported_interface ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (result == 0) - { - this->supported_interface_ = supported_interface; - } - return result; - } -} - -// Function creates a NVList and populates it from the parameter information. -void -TAO_CEC_TypedEventChannel::create_operation_list (TAO_CEC_Operation_Params *oper_params, - CORBA::NVList_out new_list - ACE_ENV_ARG_DECL) -{ - this->orb_->create_list (0, new_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - for (CORBA::ULong param=0; paramnum_params_; param++) - { - - CORBA::Any any_1; - any_1._tao_set_typecode(oper_params->parameters_[param].type_.in ()); - - new_list->add_value (oper_params->parameters_[param].name_. in (), - any_1, - oper_params->parameters_[param].direction_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -// Function creates an empty NVList. -void -TAO_CEC_TypedEventChannel::create_list (CORBA::Long count, - CORBA::NVList_out new_list - ACE_ENV_ARG_DECL) -{ - this->orb_->create_list (count, new_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// The CosTypedEventChannelAdmin::TypedEventChannel methods... -CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr -TAO_CEC_TypedEventChannel::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->typed_consumer_admin_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr -TAO_CEC_TypedEventChannel::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->typed_supplier_admin_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_CEC_TypedEventChannel::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (!destroyed_) - { - destroyed_ = 1; - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -CORBA::Policy_ptr -TAO_CEC_TypedEventChannel::create_roundtrip_timeout_policy -(const ACE_Time_Value &timeout) -{ - return this->factory_->create_roundtrip_timeout_policy (timeout); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h deleted file mode 100644 index d41f719f6d4..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h +++ /dev/null @@ -1,393 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_TypedEventChannel.h - * - * @author Jon Astle (jon@astle45.fsnet.co.uk) - * - * $Id$ - * - * A new implementation of the COS Typed Event Channel, based on - * the untyped version by Carlos O'Ryan (coryan@cs.wustl.edu) - * - */ -//============================================================================= - -#ifndef TAO_CEC_TYPEDEVENTCHANNEL_H_ -#define TAO_CEC_TYPEDEVENTCHANNEL_H_ -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEvent/CEC_Defaults.h" - -#include "orbsvcs/CosTypedEventChannelAdminS.h" - -#include "orbsvcs/CosEvent/CEC_Factory.h" - -#include "tao/IFR_Client/IFR_BasicC.h" -#include "tao/AnyTypeCode/NVList.h" - -#include "ace/Hash_Map_Manager.h" -#include "ace/Null_Mutex.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_CEC_TypedEventChannel_Attributes - * - * @brief Defines the construction time attributes for the Typed - * Event Channel. - * - * The typed event channel implementation is controlled by - * two mechanisms: - * The CEC_Factory that provides the strategies for the EC - * implementation. - * The EC attributes that define constants and values required - * by the EC construction. - * This class encapsulates those constants and values, providing - * an easy mechanism to extend the attributes without requiring - * changes in the EC constructor. - */ -class TAO_Event_Serv_Export TAO_CEC_TypedEventChannel_Attributes -{ -public: - /** - * The basic constructor. - * The attributes listed as arguments are *required* by the EC, and - * no appropiate defaults are available for them. - */ - TAO_CEC_TypedEventChannel_Attributes (PortableServer::POA_ptr typed_supplier_poa, - PortableServer::POA_ptr typed_consumer_poa, - CORBA::ORB_ptr orb, - CORBA::Repository_ptr interface_repository); - - // Most fields are public, there is no need to protect them, in fact - // the user should be able to set any values she wants. - - /// Can consumers or suppliers invoke connect_push_* multiple times? - int consumer_reconnect; - int supplier_reconnect; - - /** - * It not zero the event channel will send disconnect callbacks when - * a disconnect method is called on a Proxy. In other words, if a - * consumer calls disconnect_push_supplier() on its proxy the EC - * will invoke disconnect_push_consumer() on the consumer. A - * similar thing is done for suppliers. - * It is a matter of debate what the spec requires for the regular - * event service. - */ - int disconnect_callbacks; - - /** - * If not zero the event channel will deactive its Impl and call - * orb->shutdown(0), when destoy is invoked. - */ - int destroy_on_shutdown; - -private: - /// Only the EC can read the private fields. - friend class TAO_CEC_TypedEventChannel; - - /// The POAs - PortableServer::POA_ptr typed_supplier_poa; - PortableServer::POA_ptr typed_consumer_poa; - - /// The ORB - CORBA::ORB_ptr orb; - - /// The Interface Repository - CORBA::Repository_ptr interface_repository; -}; - -class TAO_CEC_Operation_Params; - -//Class TAO_CEC_TypedEventChannel -class TAO_Event_Serv_Export TAO_CEC_TypedEventChannel : public virtual POA_CosTypedEventChannelAdmin::TypedEventChannel -{ -public: - class ServantBaseHash - { - public: - u_long operator() (PortableServer::ServantBase* const & ptr) const { - return reinterpret_cast (ptr); - } - }; - - typedef ACE_Hash_Map_Manager_Ex, - TAO_SYNCH_MUTEX> ServantRetryMap; - - /** - * Constructor - * If is not 0 it assumes ownership of the factory. - * If the factory is it uses the Service_Configurator to load - * the Factory, if not found it uses TAO_CEC_Default_Resource_Factory - */ - TAO_CEC_TypedEventChannel (const TAO_CEC_TypedEventChannel_Attributes& attributes, - TAO_CEC_Factory* factory = 0, - int own_factory = 0); - - /// Destructor - virtual ~TAO_CEC_TypedEventChannel (void); - - /// Start the internal threads (if any), etc. - /// After this call the EC can be used. - virtual void activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Shutdown any internal threads, cleanup all the internal - /// structures, flush all the messages, etc. - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Access the dispatching module.... - TAO_CEC_Dispatching* dispatching (void) const; - - /// Access the consumer admin implementation. - TAO_CEC_TypedConsumerAdmin* typed_consumer_admin (void) const; - - /// Access the supplier admin implementation. - TAO_CEC_TypedSupplierAdmin* typed_supplier_admin (void) const; - - /// Access the consumer control strategy. - TAO_CEC_ConsumerControl* consumer_control (void) const; - - /// Access the supplier control strategy. - TAO_CEC_SupplierControl* supplier_control (void) const; - - // = The factory methods, they delegate on the CEC_Factory. - /// Create and destroy a ProxyPushSupplier - void create_proxy (TAO_CEC_ProxyPushSupplier*&); - void destroy_proxy (TAO_CEC_ProxyPushSupplier*); - - /// Create and destroy a TypedProxyPushConsumer - void create_proxy (TAO_CEC_TypedProxyPushConsumer*&); - void destroy_proxy (TAO_CEC_TypedProxyPushConsumer*); - - /// Create and destroy a the collections used to store - /// Proxy*Suppliers - void create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection*&); - void destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection*); - - /// Create and destroy a the collections used to store - /// Proxy*Consumers - void create_proxy_collection (TAO_CEC_TypedProxyPushConsumer_Collection*&); - void destroy_proxy_collection (TAO_CEC_TypedProxyPushConsumer_Collection*); - - /// Access the supplier and consumer POAs from the factory. - PortableServer::POA_ptr typed_supplier_poa (void); - PortableServer::POA_ptr typed_consumer_poa (void); - - /// Locking strategies for the ProxyPushConsumer and - /// ProxyPushSupplier objects - ACE_Lock* create_consumer_lock (void); - void destroy_consumer_lock (ACE_Lock*); - ACE_Lock* create_supplier_lock (void); - void destroy_supplier_lock (ACE_Lock*); - - /// Used to inform the EC that a Consumer has connected or - /// disconnected from it. - virtual void connected (TAO_CEC_TypedProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_TypedProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_TypedProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - - /// Used to inform the EC that a Supplier has connected or - /// disconnected from it. - virtual void connected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - - /// Can the consumers reconnect to the EC? - int consumer_reconnect (void) const; - - /// Can the suppliers reconnect to the EC? - int supplier_reconnect (void) const; - - /// Should we send callback disconnect messages when a proxy is - /// disconnected by the client - int disconnect_callbacks (void) const; - - // Hash map which will operate as a IFR cache for the Supported Interface's operations and parameters - typedef ACE_Hash_Map_Manager_Ex, ACE_Equal_To, ACE_Null_Mutex> InterfaceDescription; - typedef InterfaceDescription::iterator Iterator; - - /// Finds a operation/parameter from the IFR cache - TAO_CEC_Operation_Params * find_from_ifr_cache (const char *operation); - - /// Function allows consumer admin to register the uses interface - int consumer_register_uses_interace (const char *uses_interface ACE_ENV_ARG_DECL); - - /// Function allows supplier admin to register the supported interface - int supplier_register_supported_interface (const char *supported_interface ACE_ENV_ARG_DECL); - - /// Function to return the supported_interface_ - const char * supported_interface (void) const; - - /// Function to return the base_interfaces_ - CORBA::RepositoryId base_interfaces (CORBA::ULong index) const; - - /// Function to return the number of base_interfaces_ - CORBA::ULong number_of_base_interfaces (void) const; - - /// Function populates the NVList from the provide param information - virtual void create_operation_list (TAO_CEC_Operation_Params *oper_params, - CORBA::NVList_out new_list - ACE_ENV_ARG_DECL); - - /// Function creates an empty NVList - virtual void create_list (CORBA::Long count, - CORBA::NVList_out new_list - ACE_ENV_ARG_DECL); - - // = The CosTypedEventChannelAdmin::TypedEventChannel methods... - virtual ::CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - ServantRetryMap& get_servant_retry_map (void); - - /// Forwarded to the factory - CORBA::Policy_ptr - create_roundtrip_timeout_policy (const ACE_Time_Value &timeout); - -protected: - /// Function caches the full interface description from the IFR - int cache_interface_description (const char *interface ACE_ENV_ARG_DECL); - - /// Insert a operation/parameter into the IFR cache - int insert_into_ifr_cache (const char *operation, TAO_CEC_Operation_Params *parameters); - - /// Function clears the IFR cache - int clear_ifr_cache (void); - -private: - /// The POAs used to activate "supplier-side" and "consumer-side" - /// objects. - PortableServer::POA_var typed_supplier_poa_; - PortableServer::POA_var typed_consumer_poa_; - - /// The ORB - CORBA::ORB_var orb_; - - /// Storage of the IFR reference - CORBA::Repository_var interface_repository_; - - /** - * This is the abstract factory that creates all the objects that - * compose an event channel, the event channel simply acts as a - * Mediator among them. - */ - TAO_CEC_Factory *factory_; - - /// Flag that indicates if we own the factory. - int own_factory_; - - /// The dispatching "module" - TAO_CEC_Dispatching *dispatching_; - - /// The ConsumerAdmin implementation - TAO_CEC_TypedConsumerAdmin *typed_consumer_admin_; - - /// The SupplierAdmin implementation - TAO_CEC_TypedSupplierAdmin *typed_supplier_admin_; - - /// Consumer reconnection flags - int consumer_reconnect_; - - /// Supplier reconnection flags - int supplier_reconnect_; - - /// If not zero we send callbacks when a proxy is disconnected - int disconnect_callbacks_; - - /// If not zero the event channel is destroyed on shutdown - int destroy_on_shutdown_; - - /// Set if the event channel has been destroyed - int destroyed_; - - /// Strategies to disconnect misbehaving or destroyed consumers and - /// suppliers - TAO_CEC_ConsumerControl *consumer_control_; - ServantRetryMap retry_map_; - - TAO_CEC_SupplierControl *supplier_control_; - - /// The uses_interface_ for the TypedConsumerAdmin. - ACE_CString uses_interface_; - - /// The supported_interface_ for the TypedSupplierAdmin. - ACE_CString supported_interface_; - - /// The IFR cache for the interface description - InterfaceDescription interface_description_; - - /// The supported_interface_ base interfaces - CORBA::RepositoryIdSeq base_interfaces_; -}; - - -class TAO_Event_Serv_Export TAO_CEC_Param -{ -public: - /// Constructor - TAO_CEC_Param (void); - - /// Destructor - ~TAO_CEC_Param (void); - -private: - /// Only the TypedEventChannel can read the private fields. - friend class TAO_CEC_TypedEventChannel; - - CORBA::String_var name_; - CORBA::TypeCode_var type_; - CORBA::Flags direction_; -}; - - -class TAO_Event_Serv_Export TAO_CEC_Operation_Params -{ - /// constructor - TAO_CEC_Operation_Params (CORBA::ULong num_params); - /// destructor - ~TAO_CEC_Operation_Params (void); - -private: - /// Only the TypedEventChannel can read the private fields. - friend class TAO_CEC_TypedEventChannel; - - CORBA::ULong num_params_; - TAO_CEC_Param * parameters_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_TYPEDEVENTCHANNEL_H_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.i deleted file mode 100644 index ec52c543383..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.i +++ /dev/null @@ -1,205 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_CEC_TypedEventChannel_Attributes:: -TAO_CEC_TypedEventChannel_Attributes (PortableServer::POA_ptr s_poa, - PortableServer::POA_ptr c_poa, - CORBA::ORB_ptr _orb, - CORBA::Repository_ptr _interface_repository) - : consumer_reconnect (TAO_CEC_DEFAULT_CONSUMER_RECONNECT), - supplier_reconnect (TAO_CEC_DEFAULT_SUPPLIER_RECONNECT), - disconnect_callbacks (TAO_CEC_DEFAULT_DISCONNECT_CALLBACKS), - destroy_on_shutdown (0), - //busy_hwm (TAO_CEC_DEFAULT_BUSY_HWM), - //max_write_delay (TAO_CEC_DEFAULT_MAX_WRITE_DELAY), - typed_supplier_poa (s_poa), - typed_consumer_poa (c_poa), - orb (_orb), - interface_repository (_interface_repository) -{ -} - -ACE_INLINE TAO_CEC_Dispatching* -TAO_CEC_TypedEventChannel::dispatching (void) const -{ - return this->dispatching_; -} - -ACE_INLINE TAO_CEC_TypedConsumerAdmin* -TAO_CEC_TypedEventChannel::typed_consumer_admin (void) const -{ - return this->typed_consumer_admin_; -} - -ACE_INLINE TAO_CEC_TypedSupplierAdmin* -TAO_CEC_TypedEventChannel::typed_supplier_admin (void) const -{ - return this->typed_supplier_admin_; -} - -ACE_INLINE TAO_CEC_ConsumerControl* -TAO_CEC_TypedEventChannel::consumer_control (void) const -{ - return this->consumer_control_; -} - -ACE_INLINE TAO_CEC_SupplierControl* -TAO_CEC_TypedEventChannel::supplier_control (void) const -{ - return this->supplier_control_; -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::create_proxy (TAO_CEC_ProxyPushSupplier* &x) -{ - x = this->factory_->create_proxy_push_supplier (this); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::destroy_proxy (TAO_CEC_ProxyPushSupplier* supplier) -{ - this->factory_->destroy_proxy_push_supplier (supplier); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::create_proxy (TAO_CEC_TypedProxyPushConsumer* &x) -{ - x = this->factory_->create_proxy_push_consumer (this); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::destroy_proxy (TAO_CEC_TypedProxyPushConsumer* consumer) -{ - this->factory_->destroy_proxy_push_consumer (consumer); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::create_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection* &x) -{ - x = this->factory_->create_proxy_push_supplier_collection (this); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::destroy_proxy_collection (TAO_CEC_ProxyPushSupplier_Collection* x) -{ - this->factory_->destroy_proxy_push_supplier_collection (x); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::create_proxy_collection (TAO_CEC_TypedProxyPushConsumer_Collection* &x) -{ - x = this->factory_->create_proxy_push_consumer_collection (this); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::destroy_proxy_collection (TAO_CEC_TypedProxyPushConsumer_Collection* x) -{ - this->factory_->destroy_proxy_push_consumer_collection (x); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_CEC_TypedEventChannel::typed_supplier_poa (void) -{ - return PortableServer::POA::_duplicate (this->typed_supplier_poa_.in ()); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_CEC_TypedEventChannel::typed_consumer_poa (void) -{ - return PortableServer::POA::_duplicate (this->typed_consumer_poa_.in ()); -} - -ACE_INLINE ACE_Lock* -TAO_CEC_TypedEventChannel::create_consumer_lock (void) -{ - return this->factory_->create_consumer_lock (); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::destroy_consumer_lock (ACE_Lock* x) -{ - this->factory_->destroy_consumer_lock (x); -} - -ACE_INLINE ACE_Lock* -TAO_CEC_TypedEventChannel::create_supplier_lock (void) -{ - return this->factory_->create_supplier_lock (); -} - -ACE_INLINE void -TAO_CEC_TypedEventChannel::destroy_supplier_lock (ACE_Lock* x) -{ - this->factory_->destroy_supplier_lock (x); -} - -ACE_INLINE int -TAO_CEC_TypedEventChannel::consumer_reconnect (void) const -{ - return this->consumer_reconnect_; -} - -ACE_INLINE int -TAO_CEC_TypedEventChannel::supplier_reconnect (void) const -{ - return this->supplier_reconnect_; -} - -ACE_INLINE int -TAO_CEC_TypedEventChannel::disconnect_callbacks (void) const -{ - return this->disconnect_callbacks_; -} - -ACE_INLINE const char * -TAO_CEC_TypedEventChannel::supported_interface (void) const -{ - return this->supported_interface_.c_str (); -} - -ACE_INLINE CORBA::RepositoryId -TAO_CEC_TypedEventChannel::base_interfaces (CORBA::ULong index) const -{ - return const_cast (this->base_interfaces_[index]); -} - -ACE_INLINE CORBA::ULong -TAO_CEC_TypedEventChannel::number_of_base_interfaces (void) const -{ - return this->base_interfaces_.length (); -} - -ACE_INLINE TAO_CEC_TypedEventChannel::ServantRetryMap& -TAO_CEC_TypedEventChannel::get_servant_retry_map (void) -{ - return this->retry_map_; -} - -ACE_INLINE -TAO_CEC_Param::TAO_CEC_Param (void) -{ -} - -ACE_INLINE -TAO_CEC_Param::~TAO_CEC_Param (void) -{ -} - -ACE_INLINE -TAO_CEC_Operation_Params::TAO_CEC_Operation_Params (CORBA::ULong num_params) - : num_params_ (num_params) -{ - parameters_ = new TAO_CEC_Param[num_params]; -} - -ACE_INLINE -TAO_CEC_Operation_Params::~TAO_CEC_Operation_Params (void) -{ - delete [] parameters_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp deleted file mode 100644 index cdb9787b230..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp +++ /dev/null @@ -1,450 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h" -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" -#include "orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_DynamicImplementation.h" -#include "tao/debug.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i" -#endif /* __ACE_INLINE__ */ - -#include "ace/Reverse_Lock_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_CEC_Unlock; - -// Implementation skeleton constructor -TAO_CEC_TypedProxyPushConsumer::TAO_CEC_TypedProxyPushConsumer -(TAO_CEC_TypedEventChannel* ec, const ACE_Time_Value &timeout) - : typed_event_channel_ (ec), - timeout_ (timeout), - refcount_ (1), - connected_ (0) -{ - this->lock_ = - this->typed_event_channel_->create_consumer_lock (); - - this->default_POA_ = - this->typed_event_channel_->typed_consumer_poa (); - - this->typed_event_channel_->get_servant_retry_map ().bind (this, 0); - - // DSI initialization - if (TAO_debug_level >= 10) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("***** Initializing the DSI for the new TypedProxyPushConsumer *****\n"))); - } - - this->dsi_impl_ = new - TAO_CEC_DynamicImplementationServer (this->default_POA_.in(), - this, - this->typed_event_channel_); - - ACE_TRY_NEW_ENV { - // tempporary fix, should put this into some init function. - - this->oid_ = - this->default_POA_->activate_object (this->dsi_impl_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - } - ACE_ENDTRY; -} - -// Implementation skeleton destructor -TAO_CEC_TypedProxyPushConsumer::~TAO_CEC_TypedProxyPushConsumer (void) -{ - ACE_TRY_NEW_ENV { - this->default_POA_->deactivate_object (this->oid_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - } - ACE_ENDTRY; - - delete dsi_impl_; - - this->typed_event_channel_->get_servant_retry_map ().unbind (this); - this->typed_event_channel_->destroy_consumer_lock (this->lock_); -} - -void -TAO_CEC_TypedProxyPushConsumer::activate ( - CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosTypedEventChannelAdmin::TypedProxyPushConsumer_var result; - ACE_TRY - { - result = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - result = CosTypedEventChannelAdmin::TypedProxyPushConsumer::_nil (); - } - ACE_ENDTRY; - activated_proxy = result._retn (); -} - -void -TAO_CEC_TypedProxyPushConsumer::deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRY - { - PortableServer::POA_var poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var id = - poa->servant_to_id (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -CORBA::Boolean -TAO_CEC_TypedProxyPushConsumer::supplier_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var supplier; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_connected_i () == 0) - { - disconnected = 1; - return 0; - } - if (CORBA::is_nil (this->nopolicy_typed_supplier_.in ())) - { - return 0; - } - supplier = CORBA::Object::_duplicate - (this->nopolicy_typed_supplier_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return supplier->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_CEC_TypedProxyPushConsumer::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - CosEventComm::PushSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - supplier = this->typed_supplier_._retn (); - this->connected_ = 0; - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier.in ())) - return; - - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; -} - -void -TAO_CEC_TypedProxyPushConsumer::cleanup_i (void) -{ - this->typed_supplier_ = - CosEventComm::PushSupplier::_nil (); - this->connected_ = 0; -} - -CORBA::ULong -TAO_CEC_TypedProxyPushConsumer::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -CORBA::ULong -TAO_CEC_TypedProxyPushConsumer::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - this->refcount_--; - if (this->refcount_ != 0) - return this->refcount_; - } - - // Notify the event channel - this->typed_event_channel_->destroy_proxy (this); - return 0; -} - -void -TAO_CEC_TypedProxyPushConsumer::connect_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 ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->typed_event_channel_->supplier_reconnect () == 0) - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed, go ahead and disconnect the - // consumer... - this->cleanup_i (); - - // @@ Please read the comments in CEC_ProxyPushSupplier about - // possible race conditions in this area... - TAO_CEC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_CEC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->typed_event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // What if a second thread connected us after this? - if (this->is_connected_i ()) - return; - } - this->typed_supplier_ = apply_policy (push_supplier); - this->connected_ = 1; - } - - // Notify the event channel... - this->typed_event_channel_->connected (this ACE_ENV_ARG_PARAMETER); -} - -CosEventComm::PushSupplier_ptr -TAO_CEC_TypedProxyPushConsumer::apply_policy - (CosEventComm::PushSupplier_ptr pre) -{ - if (CORBA::is_nil(pre)) return pre; - this->nopolicy_typed_supplier_ = - CosEventComm::PushSupplier::_duplicate (pre); - CosEventComm::PushSupplier_var post = - CosEventComm::PushSupplier::_duplicate (pre); - if (this->timeout_ > ACE_Time_Value::zero) - { - CORBA::PolicyList policy_list; - policy_list.length (1); - policy_list[0] = this->typed_event_channel_-> - create_roundtrip_timeout_policy (this->timeout_); - - CORBA::Object_var post_obj = pre->_set_policy_overrides - (policy_list, CORBA::ADD_OVERRIDE); - post = CosEventComm::PushSupplier::_narrow(post_obj.in ()); - - policy_list[0]->destroy (); - policy_list.length (0); - } - return post._retn (); -} - -void -TAO_CEC_TypedProxyPushConsumer::push (const CORBA::Any& /* event */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void -TAO_CEC_TypedProxyPushConsumer::disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosEventComm::PushSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ CosEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - ACE_THROW (CORBA::BAD_INV_ORDER ()); // @@ add user exception? - - supplier = this->typed_supplier_._retn (); - - this->cleanup_i (); - } - - // Notify the event channel... - this->typed_event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (!CORBA::is_nil (supplier.in ())) - { - if (this->typed_event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; - } - } -} - -PortableServer::POA_ptr -TAO_CEC_TypedProxyPushConsumer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_TypedProxyPushConsumer::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_CEC_TypedProxyPushConsumer::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -CORBA::Object_ptr -TAO_CEC_TypedProxyPushConsumer::get_typed_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - -{ - CORBA::Object_var server = - default_POA_->id_to_reference (this->oid_.in () - ACE_ENV_ARG_PARAMETER); - - return CORBA::Object::_duplicate (server.in()); -} - -void -TAO_CEC_TypedProxyPushConsumer::invoke (const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_CEC_TypedProxyPushConsumer_Guard ace_mon (this->lock_, - this->refcount_, - this->typed_event_channel_, - this); - if (!ace_mon.locked ()) - return; - - this->typed_event_channel_->typed_consumer_admin ()->invoke (typed_event - ACE_ENV_ARG_PARAMETER); -} - -// **************************************************************** - -TAO_CEC_TypedProxyPushConsumer_Guard:: - TAO_CEC_TypedProxyPushConsumer_Guard (ACE_Lock *lock, - CORBA::ULong &refcount, - TAO_CEC_TypedEventChannel *ec, - TAO_CEC_TypedProxyPushConsumer *proxy) - : lock_ (lock), - refcount_ (refcount), - typed_event_channel_ (ec), - proxy_ (proxy), - locked_ (0) -{ - ACE_Guard ace_mon (*this->lock_); - // If the guard fails there is not much we can do, raising an - // exception is wrong, the client has *no* way to handle that kind - // of error. Even worse, there is no exception to raise in that - // case. - // @@ Returning something won't work either, the error should be - // logged though! - - if (proxy->is_connected_i () == 0) - return; - - this->locked_ = 1; - this->refcount_++; -} - -TAO_CEC_TypedProxyPushConsumer_Guard:: - ~TAO_CEC_TypedProxyPushConsumer_Guard (void) -{ - // This access is safe because guard objects are created on the - // stack, only one thread has access to them - if (!this->locked_) - return; - - { - ACE_Guard ace_mon (*this->lock_); - // If the guard fails there is not much we can do, raising an - // exception is wrong, the client has *no* way to handle that kind - // of error. Even worse, there is no exception to raise in that - // case. - // @@ Returning something won't work either, the error should be - // logged though! - - this->refcount_--; - if (this->refcount_ != 0) - return; - } - this->typed_event_channel_->destroy_proxy (this->proxy_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h deleted file mode 100644 index 9595edd9420..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h +++ /dev/null @@ -1,210 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_TypedProxyPushConsumer.h - * - * $Id$ - * - * @author Jon Astle (jon@astle45.fsnet.co.uk) - * - * Based on the untyped version by Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_TYPEDPROXYPUSHCONSUMER_H_ -#define TAO_CEC_TYPEDPROXYPUSHCONSUMER_H_ -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosTypedEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/CosEvent/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_TypedEvent; -class TAO_CEC_TypedEventChannel; -class TAO_CEC_DynamicImplementationServer; - -//Class TAO_CEC_TypedProxyPushConsumer -class TAO_Event_Serv_Export TAO_CEC_TypedProxyPushConsumer - : public virtual POA_CosTypedEventChannelAdmin::TypedProxyPushConsumer -{ -public: - typedef CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr _ptr_type; - typedef CosTypedEventChannelAdmin::TypedProxyPushConsumer_var _var_type; - - //Constructor - TAO_CEC_TypedProxyPushConsumer ( - TAO_CEC_TypedEventChannel* typed_event_channel, - const ACE_Time_Value &timeout - ); - - //Destructor - virtual ~TAO_CEC_TypedProxyPushConsumer (void); - - /// Activate in the POA - virtual void activate ( - CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr &activated_proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Invoke the _non_existent() pseudo-operation on the supplier. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean supplier_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - // = The CosEventChannelAdmin::ProxyPushConsumer methods (abstract overloads)... - virtual void connect_push_supplier ( - CosEventComm::PushSupplier_ptr push_supplier - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected)); - - virtual void push (const CORBA::Any& event - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void invoke (const TAO_CEC_TypedEvent& typed_event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The CosTypedEventComm::TypedPushConsumer methods (abstract overloads)... - virtual CORBA::Object_ptr get_typed_consumer ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - -protected: - // The guard needs access to the following protected methods. - friend class TAO_CEC_TypedProxyPushConsumer_Guard; - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Release the supplier - void cleanup_i (void); - - /// Assigns the parameter to both supplier_ and nopolicy_supplier_, and - /// applies policies (when appropriate) to supplier_. - CosEventComm::PushSupplier_ptr apply_policy - (CosEventComm::PushSupplier_ptr pre); - -private: - /// The typed supplier admin, used for activation and memory managment. - TAO_CEC_TypedEventChannel* typed_event_channel_; - - ACE_Time_Value timeout_; - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The typed supplier -- use apply_policy() instead of assigning directly to - /// typed_supplier_. This will keep typed_supplier_ and - /// nopolicy_typed_supplier_ in sync. - CosEventComm::PushSupplier_var typed_supplier_; - - /// The typed supplier without any policies applied - CosEventComm::PushSupplier_var nopolicy_typed_supplier_; - - /// The DSI impl - TAO_CEC_DynamicImplementationServer* dsi_impl_; - - /// The DSI Portable Server OID - PortableServer::ObjectId_var oid_; - - /// If the flag is not zero then we are connected, notice that the - /// supplier can be nil. - int connected_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -// **************************************************************** - -/** - * @class TAO_CEC_TypedProxyPushConsumer_Guard - * - * @brief A Guard for the TypedProxyPushConsumer reference count - * - * This is a helper class used in the implementation of - * TypedProxyPushConumer. It provides a Guard mechanism to increment - * the reference count on the proxy, eliminating the need to hold - * mutexes during long operations. - */ -class TAO_Event_Serv_Export TAO_CEC_TypedProxyPushConsumer_Guard -{ -public: - /// Constructor - TAO_CEC_TypedProxyPushConsumer_Guard ( - ACE_Lock *lock, - CORBA::ULong &refcount, - TAO_CEC_TypedEventChannel *ec, - TAO_CEC_TypedProxyPushConsumer *proxy - ); - - /// Destructor - ~TAO_CEC_TypedProxyPushConsumer_Guard (void); - - /// Returns 1 if the reference count successfully acquired - int locked (void) const; - -private: - /// The lock used to protect the reference count - ACE_Lock *lock_; - - /// The reference count - CORBA::ULong &refcount_; - - /// The event channel used to destroy the proxy - TAO_CEC_TypedEventChannel *typed_event_channel_; - - /// The proxy whose lifetime is controlled by the reference count - TAO_CEC_TypedProxyPushConsumer *proxy_; - - /// This flag is set to 1 if the reference count was successfully - /// acquired. - int locked_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_TYPEDPROXYPUSHCONSUMER_H_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i deleted file mode 100644 index 86eee941060..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i +++ /dev/null @@ -1,21 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_CEC_TypedProxyPushConsumer::is_connected_i (void) const -{ - return this->connected_; -} - -// **************************************************************** - -ACE_INLINE int -TAO_CEC_TypedProxyPushConsumer_Guard::locked (void) const -{ - return this->locked_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp deleted file mode 100644 index a156440cc16..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp +++ /dev/null @@ -1,111 +0,0 @@ -// $Id$ - -#include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h" - -#include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Implementation skeleton constructor -TAO_CEC_TypedSupplierAdmin::TAO_CEC_TypedSupplierAdmin (TAO_CEC_TypedEventChannel *ec) - : typed_event_channel_ (ec), - typed_push_admin_ (ec) -{ - this->default_POA_ = - this->typed_event_channel_->typed_supplier_poa (); -} - -// Implementation skeleton destructor -TAO_CEC_TypedSupplierAdmin::~TAO_CEC_TypedSupplierAdmin (void) -{ -} - -PortableServer::POA_ptr -TAO_CEC_TypedSupplierAdmin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_CEC_TypedSupplierAdmin::connected (TAO_CEC_TypedProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.connected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_TypedSupplierAdmin::reconnected (TAO_CEC_TypedProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.reconnected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_TypedSupplierAdmin::disconnected (TAO_CEC_TypedProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.disconnected (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CEC_TypedSupplierAdmin::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->typed_push_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr -TAO_CEC_TypedSupplierAdmin::obtain_typed_push_consumer ( - const char * supported_interface - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosTypedEventChannelAdmin::InterfaceNotSupported - )) - -{ - int result = this->typed_event_channel_->supplier_register_supported_interface (supported_interface ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (result == -1) - { - ACE_THROW_RETURN (CosTypedEventChannelAdmin::InterfaceNotSupported (),0); - } - - return this->typed_push_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPullConsumer_ptr -TAO_CEC_TypedSupplierAdmin::obtain_typed_pull_consumer ( - const char * /* uses_interface */ - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosTypedEventChannelAdmin::NoSuchImplementation - )) - -{ - ACE_THROW_RETURN (CosTypedEventChannelAdmin::NoSuchImplementation (), 0); -} - -CosEventChannelAdmin::ProxyPushConsumer_ptr -TAO_CEC_TypedSupplierAdmin::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CosEventChannelAdmin::ProxyPullConsumer_ptr -TAO_CEC_TypedSupplierAdmin::obtain_pull_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h deleted file mode 100644 index eaa3747387f..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h +++ /dev/null @@ -1,109 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CEC_TypedSupplierAdmin.h - * - * $Id$ - * - * @author Jon Astle (jon@astle45.fsnet.co.uk) - * - * Based on the untyped version by Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef TAO_CEC_TYPEDSUPPLIERADMIN_H_ -#define TAO_CEC_TYPEDSUPPLIERADMIN_H_ - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosTypedEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Admin.h" - -#include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_CEC_TypedEventChannel; - -//Class TAO_CEC_TypedSupplierAdmin -class TAO_Event_Serv_Export TAO_CEC_TypedSupplierAdmin - : public POA_CosTypedEventChannelAdmin::TypedSupplierAdmin -{ -public: - //Constructor - TAO_CEC_TypedSupplierAdmin (TAO_CEC_TypedEventChannel* event_channel); - - //Destructor - virtual ~TAO_CEC_TypedSupplierAdmin (void); - - /// For each elements call work()>. - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - - /// Keep track of connected consumers. - virtual void connected (TAO_CEC_TypedProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_CEC_TypedProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_CEC_TypedProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - - /// The typed event channel is shutting down, inform all the consumers of - /// this - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - // = The CosTypedEventChannelAdmin::TypedSupplierAdmin methods... - virtual CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr - obtain_typed_push_consumer (const char * supported_interface - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTypedEventChannelAdmin::InterfaceNotSupported)); - - virtual CosEventChannelAdmin::ProxyPullConsumer_ptr - obtain_typed_pull_consumer (const char * uses_interface - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTypedEventChannelAdmin::NoSuchImplementation)); - - // = The CosEventChannelAdmin::SupplierAdmin methods... - virtual CosEventChannelAdmin::ProxyPushConsumer_ptr - obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CosEventChannelAdmin::ProxyPullConsumer_ptr - obtain_pull_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The PortableServer::ServantBase methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The Event Channel we belong to - TAO_CEC_TypedEventChannel *typed_event_channel_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; - - /// The push and pull aspects are implemented using these classes - TAO_ESF_Proxy_Admin - typed_push_admin_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_CEC_TYPEDSUPPLIERADMIN_H_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i deleted file mode 100644 index 4a3111bc176..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO_CEC_TypedSupplierAdmin:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - this->typed_push_admin_.for_each (worker ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/event_export.h b/TAO/orbsvcs/orbsvcs/CosEvent/event_export.h deleted file mode 100644 index 5d16512df9b..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/event_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_EVENT_EXPORT_H -#define TAO_EVENT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_EVENT_HAS_DLL) -# define TAO_EVENT_HAS_DLL 0 -# endif /* ! TAO_EVENT_HAS_DLL */ -#else -# if !defined (TAO_EVENT_HAS_DLL) -# define TAO_EVENT_HAS_DLL 1 -# endif /* ! TAO_EVENT_HAS_DLL */ -#endif - -#if defined (TAO_EVENT_HAS_DLL) && (TAO_EVENT_HAS_DLL == 1) -# if defined (TAO_EVENT_BUILD_DLL) -# define TAO_Event_Export ACE_Proper_Export_Flag -# define TAO_EVENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_EVENT_BUILD_DLL */ -# define TAO_Event_Export ACE_Proper_Import_Flag -# define TAO_EVENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_EVENT_BUILD_DLL */ -#else /* TAO_EVENT_HAS_DLL == 1 */ -# define TAO_Event_Export -# define TAO_EVENT_SINGLETON_DECLARATION(T) -# define TAO_EVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_EVENT_HAS_DLL == 1 */ - -#endif /* TAO_EVENT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/event_serv_export.h b/TAO/orbsvcs/orbsvcs/CosEvent/event_serv_export.h deleted file mode 100644 index 3bc4d00b86a..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/event_serv_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_EVENT_SERV_EXPORT_H -#define TAO_EVENT_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_EVENT_SERV_HAS_DLL) -# define TAO_EVENT_SERV_HAS_DLL 0 -# endif /* ! TAO_EVENT_SERV_HAS_DLL */ -#else -# if !defined (TAO_EVENT_SERV_HAS_DLL) -# define TAO_EVENT_SERV_HAS_DLL 1 -# endif /* ! TAO_EVENT_SERV_HAS_DLL */ -#endif - -#if defined (TAO_EVENT_SERV_HAS_DLL) && (TAO_EVENT_SERV_HAS_DLL == 1) -# if defined (TAO_EVENT_SERV_BUILD_DLL) -# define TAO_Event_Serv_Export ACE_Proper_Export_Flag -# define TAO_EVENT_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENT_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_EVENT_SERV_BUILD_DLL */ -# define TAO_Event_Serv_Export ACE_Proper_Import_Flag -# define TAO_EVENT_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENT_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_EVENT_SERV_BUILD_DLL */ -#else /* TAO_EVENT_SERV_HAS_DLL == 1 */ -# define TAO_Event_Serv_Export -# define TAO_EVENT_SERV_SINGLETON_DECLARATION(T) -# define TAO_EVENT_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_EVENT_SERV_HAS_DLL == 1 */ - -#endif /* TAO_EVENT_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/event_skel_export.h b/TAO/orbsvcs/orbsvcs/CosEvent/event_skel_export.h deleted file mode 100644 index f5194fa05a9..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent/event_skel_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_EVENT_SKEL_EXPORT_H -#define TAO_EVENT_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_EVENT_SKEL_HAS_DLL) -# define TAO_EVENT_SKEL_HAS_DLL 0 -# endif /* ! TAO_EVENT_SKEL_HAS_DLL */ -#else -# if !defined (TAO_EVENT_SKEL_HAS_DLL) -# define TAO_EVENT_SKEL_HAS_DLL 1 -# endif /* ! TAO_EVENT_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_EVENT_SKEL_HAS_DLL) && (TAO_EVENT_SKEL_HAS_DLL == 1) -# if defined (TAO_EVENT_SKEL_BUILD_DLL) -# define TAO_Event_Skel_Export ACE_Proper_Export_Flag -# define TAO_EVENT_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENT_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_EVENT_SKEL_BUILD_DLL */ -# define TAO_Event_Skel_Export ACE_Proper_Import_Flag -# define TAO_EVENT_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENT_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_EVENT_SKEL_BUILD_DLL */ -#else /* TAO_EVENT_SKEL_HAS_DLL == 1 */ -# define TAO_Event_Skel_Export -# define TAO_EVENT_SKEL_SINGLETON_DECLARATION(T) -# define TAO_EVENT_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_EVENT_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_EVENT_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl deleted file mode 100644 index 88492c0996d..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl +++ /dev/null @@ -1,246 +0,0 @@ -/** - * @file CosEventChannelAdmin.idl - * - * @brief Define the CosEventChannelAdmin module - * - * $Id$ - * - * Described in CORBAservices: Common Object Services Specification, - * chapter 4. - * - * CosEventChannelAdmin Module, page 4-15 includes the following - * interfaces: ProxyPushConsumer, ProxyPullSupplier, - * ProxyPullConsumer, ProxyPushSupplier, ConsumerAdmin, SupplierAdmin, - * EventChannel - * - * The Event Service IDL can be downloaded from - * ftp://www.omg.org/pub/docs/formal/97-11-02.idl - * - * The complete specification is available from: - * http://www.omg.org/technology/documents/formal/event_service.htm - * - * @author Pradeep Gore - */ -#ifndef TAO_EVENTCHANNELADMIN_IDL -#define TAO_EVENTCHANNELADMIN_IDL - -#include "CosEventComm.idl" - -#pragma prefix "omg.org" - -/** - * @namespace CosEventChannelAdmin - * - * @brief Define the interfaces implemented by providers of the CORBA - * Event Service. - */ -module CosEventChannelAdmin -{ - /** - * @exception AlreadyConnected - * - * @brief Exception raised if the user tries to connect to an - * already connected proxy - */ - exception AlreadyConnected {}; - - /** - * @exception TypeError - * - * @brief Exception raised in Typed Event Services if there is a - * mismatch between the proxy and its peer (supplier or consumer.) - */ - exception TypeError {}; - - /** - * @interface ProxyPushConsumer - * - * @brief Interface used by push-style suppliers. - * - * The application can use the methods derived from - * CosEventComm::PushConsumer to disconnect from the Event Service - * and push events. - */ - interface ProxyPushConsumer : CosEventComm::PushConsumer - { - /// Connect a push-style supplier to the Event Service - /** - * Before pushing events into its Proxy the application must call - * the following operation. - * - * @param push_supplier Callback interface, invoked by the Event - * Service if it is destroyed while the push-style supplier - * is still connected. If the argument is nil the callback - * is not invoked. - * @throws AlreadyConnected if the operation is called a second - * time. - */ - void connect_push_supplier (in CosEventComm::PushSupplier push_supplier) - raises (AlreadyConnected); - }; - - /** - * @interface ProxyPushSupplier - * - * @brief Interface used by push-style consumers - * - * Push-style consumers used this interface to connect and - * disconnect from the Event Service. - * - * The disconnect_push_supplier() operation, derived from the - * CosEventEventComm::PushSupplier interface, is used to disconnect - * the ProxyPushSupplier and reclaim all resources attached to it - * from the Event Service. - */ - interface ProxyPushSupplier : CosEventComm::PushSupplier - { - /// Connect a push-style consumer to the Event Service. - /** - * The following operation must be invoked before the Event - * Service can deliver any events to the consumer. - * - * @param push_consumer The consumer, must be non-nil. - * @throws CORBA::BAD_PARAM if the consumer argument is nil. - * @throws AlreadyConnected if the operation is called a second - * time. - * @throws TypeError In Typed Event Services if the consumer does - * not match the expected type. - */ - void connect_push_consumer (in CosEventComm::PushConsumer push_consumer) - raises (AlreadyConnected, TypeError); - }; - - /** - * @interface ProxyPullSupplier - * - * @brief Interface used by pull-style consumers. - * - * Pull-style suppliers use this interface to connect and disconnect - * from the Event Service. - * - * The disconnect_pull_supplier() operation, derived from - * CosEventComm::PullSupplier, is used by the application to - * disconnect from the Event Service. - * The application can use the pull() and try_pull() operations to - * pull data from the Event Service. - */ - interface ProxyPullSupplier : CosEventComm::PullSupplier - { - /// Connect a pull consumer to the Event Service. - /** - * Applications cannot pull events before this operation is - * invoked. - * - * @param pull_consumer Callback interface used to inform the - * the application when the Event Service is destroyed. The - * argument can be nil. - * @throws AlreadyConnected if the operation is called a second - * time. - */ - void connect_pull_consumer (in CosEventComm::PullConsumer pull_consumer) - raises (AlreadyConnected); - }; - - /** - * @interface ProxyPullConsumer - * - * @brief Interface used by pull-style suppliers. - * - * Pull-style consumers use this interface to connect, disconnect - * and pull events from the Event Service. - * - * The disconnect_pull_consumer() operation, derived from - * CosEventEventComm::PullConsumer, is used to disconnect from the - * Event Service. - */ - interface ProxyPullConsumer : CosEventComm::PullConsumer - { - /// Connect a pull supplier to the Event Service. - /** - * The Event Service will not start pulling events until this - * operation is invoked. - * - * @param pull_supplier Callback interface used to (1) inform the - * application when the Event Service is destroyed, and (2) pull - * events from the application. The argument cannot be nil. - * @throws CORBA::BAD_PARAM if the pull_supplier argument is nil. - * @throws AlreadyConnected if the operation is called a second - * time. - * @throws TypeError In Typed Event Services if the consumer does - * not match the expected type. - */ - void connect_pull_supplier (in CosEventComm::PullSupplier pull_supplier) - raises (AlreadyConnected, TypeError); - }; - - /** - * @interface ConsumerAdmin - * - * @brief Abstract Factory used to create proxies for pull-style and - * push-style consumers. - */ - interface ConsumerAdmin - { - /// Create a new ProxyPushSupplier object. - ProxyPushSupplier obtain_push_supplier (); - - /// Create a new ProxyPullSupplier object. - ProxyPullSupplier obtain_pull_supplier (); - }; - - /** - * @interface SupplierAdmin - * - * @brief Abstract Factory used to create proxies for pull-style and - * push-style suppliers. - */ - interface SupplierAdmin - { - /// Create a new ProxyPushConsumer object. - ProxyPushConsumer obtain_push_consumer (); - - /// Create a new ProxyPullConsumer object. - ProxyPullConsumer obtain_pull_consumer (); - }; - - /** - * @interface EventChannel - * - * @brief Main interface for the Event Service. - */ - interface EventChannel - { - /// Obtain a ConsumerAdmin interface for this EventChannel - /** - * Normally a single EventChannel provides a single ConsumerAdmin, - * but advanced ECs, for example, those based in the - * CosNotification service, can provide multiple ConsumerAdmin - * interfaces. - */ - ConsumerAdmin for_consumers (); - - /// Obtain a SupplierAdmin interface for this EventChannel - /** - * Normally a single EventChannel provides a single SupplierAdmin, - * but advanced ECs, for example, those based in the - * CosNotification service, can provide multiple SupplierAdmin - * interfaces. - */ - SupplierAdmin for_suppliers (); - - /// Destroy the EventChannel - /** - * Calling this operation destroys the EventChannel, its - * ConsumerAdmin and SupplierAdmin interfaces as well as the - * proxies obtained from those. - * Any consumers or suppliers still connected are notified of the - * destruction. In some cases, the process running the - * EventChannel is terminated too. - */ - void destroy (); - }; -}; - -#pragma prefix "" - -#endif /* TAO_EVENTCHANNELADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosEventComm.idl b/TAO/orbsvcs/orbsvcs/CosEventComm.idl deleted file mode 100644 index e97413fa618..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEventComm.idl +++ /dev/null @@ -1,177 +0,0 @@ -/** - * @file CosEventComm.idl - * - * @brief Define the CosEventComm module - * - * $Id$ - * - * Described in CORBAservices: Common Object Services Specification, - * chapter 4. - * - * CosEventComm Module, page 4-8 includes the following interfaces: - * PushConsumer, PushSupplier, PullSupplier, PullConsumer - * - * The Event service IDL can be downloaded from - * ftp://www.omg.org/pub/docs/formal/97-11-02.idl - * - * The complete specification is available from: - * http://www.omg.org/technology/documents/formal/event_service.htm - * - * @author Pradeep Gore - */ - -#ifndef TAO_EVENTCOMM_IDL -#define TAO_EVENTCOMM_IDL - -#pragma prefix "omg.org" - -/** - * @namespace CosEventComm - * - * @brief Define the interfaces implemented by users of the CORBA - * Event Service. - */ -module CosEventComm -{ - /** - * @exception Disconnected - * - * @brief Exception raised when a client tries to communicate with - * the Event Service after it has disconnected. - * - * The exception is raised if: - * - * - If supplier tries to push an event before fully connecting to - * the EC. - * - A consumer tries to pull an event before fully connecting to - * the EC. - */ - exception Disconnected {}; - - /** - * @interface PushConsumer - * - * @brief Define the interface implemented by push-style consumers - * - * A push-style consumer passively receives events from the Event - * Service. Applications simply implement this interface, connect - * to the Event Service and receive events. - */ - interface PushConsumer - { - /// Receive one event from the Consumer's peer. - /** - * A supplier communicates event data to the consumer by - * invoking the push operation. - * @param data The event - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - void push (in any data) raises (Disconnected); - - /// The peer has disconnected from the PushConsumer. - /** - * The disconnect_push_consumer operation indicates that the peer - * has disconnected, for example, because it has been destroyed. - * The application can safely release all resources attached to - * this consumer and destroy it, no further push() calls should be - * expected. - */ - void disconnect_push_consumer (); - }; - - /** - * @interface PushSupplier - * - * @brief Define the interface implemented by push-style suppliers. - * - * A push-style supplier actively pushes events into the Event - * Service - */ - interface PushSupplier - { - /// The peer has disconnected from the push-style supplier - /** - * The disconnect_push_supplier operation indicates that the peer - * has disconnected, for example, because it has been destroyed. - * The application can safe release all resource attached to this - * supplier and destroy it, further attempts to push events into - * its peer will fail. - */ - void disconnect_push_supplier (); - }; - - /** - * @interface PullConsumer - * - * @brief Define the interface implemented by pull-style consumers - * - * A pull-style consumer actively queries the Event Channel for - * events. - */ - interface PullConsumer - { - /// The peer has disconnected from the pull-style consumer. - /** - * The disconnect_pull_consumer operation indicates that the peer - * has disconnected, for example, because it has been destroyed. - * The application can safely release all resources attached to - * this consumer and destroy it, any attemps to pull more data - * should fail. - */ - void disconnect_pull_consumer (); - }; - - /** - * @interface PullSupplier - * - * @brief Define the interface implemented by pull-style suppliers. - * - * A pull-style supplier passively generates events for the Event - * Service - */ - interface PullSupplier - { - /// Pull (blocking) one event from the supplier. - /** - * The pull operation should block until the next event becomes - * available. - * @return The next event - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - any pull () raises (Disconnected); - - /// Pull (non-blocking) one event from the supplier. - /** - * The try_pull operation does not block: if the event data is - * available, it returns the event data and sets the has_event - * parameter to true; if the event is not available, it sets the - * has_event parameter to false and the event data is returned - * as long with an undefined value. - * - * @param has_event Set to TRUE if there was another event - * available, FALSE otherwise. - * @return The next event if one was available, an any containing - * a 'long' with an undefined value otherwise. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - any try_pull (out boolean has_event) raises (Disconnected); - - /// The peer has disconnected from the pull-style supplier. - /** - * The disconnect_pull_supplier operation indicates that the peer - * has disconnected, for example, because it has been destroyed. - * The application can safe release all resource attached to this - * supplier and destroy it, the peer should not make any attempts - * to pull more data after this request. - */ - void disconnect_pull_supplier (); - }; - -}; - -#pragma prefix "" - -#endif /* TAO_EVENTCOMM_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosEvent_Serv.rc b/TAO/orbsvcs/orbsvcs/CosEvent_Serv.rc deleted file mode 100644 index 3acf53a2b6a..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent_Serv.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosEvent_Serv\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosEvent_ServDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosEvent_Serv.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosEvent_Skel.rc b/TAO/orbsvcs/orbsvcs/CosEvent_Skel.rc deleted file mode 100644 index 96c8513c4d2..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosEvent_Skel.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosEvent_Skel\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosEvent_SkelDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosEvent_Skel.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosLifeCycle.idl b/TAO/orbsvcs/orbsvcs/CosLifeCycle.idl deleted file mode 100644 index 33b6bdbffed..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosLifeCycle.idl +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CosLifeCycle.idl -// -// = DESCRIPTION -// Described in CORBAservices: Common Object Services Specification, -// chapter 6. -// The life cycle service description can be downloaded from: -// ftp://www.omg.org/pub/docs/formal/97-12-13.pdf -// The original IDL file can be downloaded from: -// ftp://www.omg.org/pub/docs/formal/97-11-02.idl -// -// = AUTHOR -// OMG, Torben Worm , and Michael Kircher -// -// ============================================================================ - -#ifndef TAO_LIFECYCLE_IDL -#define TAO_LIFECYCLE_IDL - -// OMG IDL for CosLifeCycle Module, page 6-10 in -// Includes the following interfaces: -// FactoryFinder, LifeCycleObject, GenericFactory - -#include "CosNaming.idl" - -#pragma prefix "omg.org" - -module CosLifeCycle -{ - // = TITLE - // CosLifeCycle - // - // = DESCRIPTION - // This idl file describes the life cycle service. - // The purpose of the life cycle service is to - - typedef CosNaming::Name Key; - typedef Object _Factory; - typedef sequence <_Factory> Factories; - - struct NameValuePair - { - CosNaming::Istring name; - any value; - }; - - typedef sequence Criteria; - - exception NoFactory - { - Key search_key; - }; - exception NotCopyable { string reason; }; - exception NotMovable { string reason; }; - exception NotRemovable { string reason; }; - exception InvalidCriteria - { - Criteria invalid_criteria; - }; - exception CannotMeetCriteria - { - Criteria unmet_criteria; - }; - - interface FactoryFinder - { - // = TITLE - // @@ Please fill in. - // = DESCRIPTION - // @@ Please fill in. - - Factories find_factories (in Key factory_key) - raises (NoFactory); - }; - - interface LifeCycleObject - { - // = TITLE - // @@ Please fill in. - // = DESCRIPTION - // @@ Please fill in. - - LifeCycleObject copy (in FactoryFinder there, - in Criteria the_criteria) - raises (NoFactory, NotCopyable, InvalidCriteria, CannotMeetCriteria); - void move (in FactoryFinder there, - in Criteria the_criteria) - raises (NoFactory, NotMovable, InvalidCriteria, CannotMeetCriteria); - void remove () - raises (NotRemovable); - }; - - interface GenericFactory - { - // = TITLE - // @@ Please fill in. - // = DESCRIPTION - // @@ Please fill in. - - boolean _supports (in Key k); - Object create_object (in Key k, - in Criteria the_criteria) - raises (NoFactory, InvalidCriteria, CannotMeetCriteria); - }; -}; - -// Criteria, page 6-17: -/* -typedef struct NVP -{ - CosNaming::Istring name; - any value; -} NameValuePair; - -typedef sequence Criteria; -*/ - -#endif /* TAO_LIFECYCLE_IDL */ - diff --git a/TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc b/TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc deleted file mode 100644 index e6ceedced03..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc +++ /dev/null @@ -1,32 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosLifeCycle) : orbsvcslib, core, naming, portableserver, tao_versioning_idl_defaults { - sharedname = TAO_CosLifeCycle - idlflags += -Wb,export_macro=TAO_LifeCycle_Export -Wb,export_include=orbsvcs/LifeCycle/lifecycle_export.h - dynamicflags = TAO_LIFECYCLE_BUILD_DLL - tagchecks += LifeCycle - pch_header = - pch_source = - - IDL_Files { - CosLifeCycle.idl - LifeCycleService.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - LifeCycle { - CosLifeCycleC.cpp - CosLifeCycleS.cpp - LifeCycleServiceC.cpp - LifeCycleServiceS.cpp - } - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosLifeCycle.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosLifeCycle.rc b/TAO/orbsvcs/orbsvcs/CosLifeCycle.rc deleted file mode 100644 index abcd96fbf8b..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosLifeCycle.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosLifeCycle\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosLifeCycleDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosLifeCycle.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosLoadBalancing.idl b/TAO/orbsvcs/orbsvcs/CosLoadBalancing.idl deleted file mode 100644 index b93e66a11b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosLoadBalancing.idl +++ /dev/null @@ -1,202 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file CosLoadBalancing.idl - * - * $Id$ - * - * @author Object Management Group - */ -//============================================================================= - - -#ifndef COSLOADBALANCING_IDL -#define COSLOADBALANCING_IDL - -#include "PortableGroup.idl" -#include "orb.idl" - -/** - * @class CosLoadBalancing - * - * @brief This module defines the interfaces and data types used in - * TAO's Load Balancing service. - * @par - * TAO's Load Balancer manages distribution of requests to replicas of - * a given Object in an effort to ensure that the applications/hosts - * pointed to by the Object reference are as equally loaded as - * possible, i.e. load balanced. - * @par - * The definition of 'load' is application specific, for example, some - * applications may choose to load balance access to multiple - * dedicated lines, or separate network interfaces, as well as more - * traditional load balancing metrics, such as CPU or power load. - */ -module CosLoadBalancing -{ - typeprefix CosLoadBalancing "tao.lb"; - - const IOP::ServiceId LOAD_MANAGED = 123456; // @todo TBA by OMG - - typedef PortableGroup::Location Location; - typedef PortableGroup::Properties Properties; - - // Types used for obtaining and/or reporting loads - typedef unsigned long LoadId; - - // OMG defined LoadId constants. - const LoadId LoadAverage = 0; - const LoadId Disk = 1; - const LoadId Memory = 2; - const LoadId Network = 3; - const LoadId RequestsPerSecond = 4; - - struct Load { - LoadId id; - float value; - }; - typedef sequence LoadList; - - exception MonitorAlreadyPresent {}; - exception LocationNotFound {}; - exception LoadAlertNotFound {}; - exception LoadAlertAlreadyPresent {}; - exception LoadAlertNotAdded {}; - - exception StrategyNotAdaptive {}; - - interface LoadManager; - - interface Strategy - { - readonly attribute string name; - - Properties get_properties (); - - // Report loads at given location to the LoadManager. - void push_loads (in PortableGroup::Location the_location, - in LoadList loads) - raises (StrategyNotAdaptive); - - // Get loads, if any, at the given location. Load balancing - // strategies may use this method to query loads at specific - // locations. Returned loads are the effective loads computed by - // the Strategy, as opposed to the raw loads maintained by the - // LoadManager. - LoadList get_loads (in LoadManager load_manager, - in PortableGroup::Location the_location) - raises (LocationNotFound); - - // Return the next member from the given object group which will - // requests will be forward to. - Object next_member (in PortableGroup::ObjectGroup object_group, - in LoadManager load_manager) - raises (PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound); - - // Ask the Strategy to analyze loads, and enable or disable alerts - // at object group members residing at appropriate locations. - oneway void analyze_loads (in PortableGroup::ObjectGroup object_group, - in LoadManager load_manager); - - // The loads at the given location should no longer be considered - // when performing load analysis. - // void location_removed (in PortableGroup::Location the_location) - // raises (LocationNotFound); - }; - - typedef Strategy CustomStrategy; - - // Property value for built-in load balancing Strategy. - struct StrategyInfo - { - string name; - Properties props; - }; - - interface LoadAlert - { - // Forward requests back to the load manager via the object group - // reference. - void enable_alert (); - - // Stop forwarding requests, and begin accepting them again. - void disable_alert (); - }; - - // Interface that all load monitors must implement. - interface LoadMonitor - { - // Retrieve the location at which the LoadMonitor resides. - readonly attribute Location the_location; - - // Retrieve the current load at the location LoadMonitor resides. - readonly attribute LoadList loads; - }; - - // Specification of LoadManager Interface - interface LoadManager - : PortableGroup::PropertyManager, - PortableGroup::ObjectGroupManager, - PortableGroup::GenericFactory - { - // For the PUSH load monitoring style. - void push_loads (in PortableGroup::Location the_location, - in LoadList loads); - - // Return the raw loads at the given location, as opposed to the - // potentially different effective loads returned by the - // Strategy::get_loads() method. - LoadList get_loads (in PortableGroup::Location the_location) - raises (LocationNotFound); - - // Inform member at given location of load alert condition. - void enable_alert (in PortableGroup::Location the_location) - raises (LoadAlertNotFound); - - // Inform member at given location that load alert condition has - // passed. - void disable_alert (in PortableGroup::Location the_location) - raises (LoadAlertNotFound); - - // Register a LoadAlert object for the member at the given - // location. - void register_load_alert (in PortableGroup::Location the_location, - in LoadAlert load_alert) - raises (LoadAlertAlreadyPresent, - LoadAlertNotAdded); - - // Retrieve the LoadAlert object for the member at the given - // location. - LoadAlert get_load_alert (in PortableGroup::Location the_location) - raises (LoadAlertNotFound); - - // Remove (de-register) the LoadAlert object for the member at the - // given location. - void remove_load_alert (in PortableGroup::Location the_location) - raises (LoadAlertNotFound); - - // The following load monitor methods are only used for the PULL - // load monitoring style. - - // Register a LoadMonitor object for "pull" monitoring of the - // given location. - void register_load_monitor (in PortableGroup::Location the_location, - in LoadMonitor load_monitor) - raises (MonitorAlreadyPresent); - - // Retrieve the LoadMonitor object for the given location. - LoadMonitor get_load_monitor (in PortableGroup::Location the_location) - raises (LocationNotFound); - - // Remove (de-register) the LoadMonitor object for the given - // location. - void remove_load_monitor (in PortableGroup::Location the_location) - raises (LocationNotFound); - - }; - -}; - -#endif /* COSLOADBALANCING_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc b/TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc deleted file mode 100644 index 7ea375e45af..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc +++ /dev/null @@ -1,50 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project : orbsvcslib, core, naming, iormanip, portablegroup, ami, minimum_corba, pi, pi_server, iorinterceptor, tao_versioning_idl_defaults { - sharedname = TAO_CosLoadBalancing - idlflags += -Wb,export_macro=TAO_LoadBalancing_Export -Wb,export_include=orbsvcs/LoadBalancing/LoadBalancing_export.h - dynamicflags = TAO_LOADBALANCING_BUILD_DLL - tagchecks += CosLoadBalancing - - IDL_Files { - CosLoadBalancing.idl - LB_ORT.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - CosLoadBalancing { - CosLoadBalancingC.cpp - CosLoadBalancingS.cpp - LB_ORTC.cpp - LoadBalancing/LB_LeastLoaded.cpp - LoadBalancing/LB_LoadMinimum.cpp - LoadBalancing/LB_LoadAverage.cpp - LoadBalancing/LB_LoadAlert.cpp - LoadBalancing/LB_LoadAlertInfo.cpp - LoadBalancing/LB_LoadAlert_Handler.cpp - LoadBalancing/LB_LoadManager.cpp - LoadBalancing/LB_MemberLocator.cpp - LoadBalancing/LB_Pull_Handler.cpp - LoadBalancing/LB_Random.cpp - LoadBalancing/LB_RoundRobin.cpp - LoadBalancing/LB_ClientComponent.cpp - LoadBalancing/LB_ClientORBInitializer.cpp - LoadBalancing/LB_ClientRequestInterceptor.cpp - LoadBalancing/LB_ServerRequestInterceptor.cpp - LoadBalancing/LB_IORInterceptor.cpp - LoadBalancing/LB_ObjectReferenceFactory.cpp - LoadBalancing/LB_ORBInitializer.cpp - LoadBalancing/LB_Component.cpp - LoadBalancing/LB_CPU_Utilization_Monitor.cpp - LoadBalancing/LB_CPU_Load_Average_Monitor.cpp - } - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosLoadBalancing.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosLoadBalancing.rc b/TAO/orbsvcs/orbsvcs/CosLoadBalancing.rc deleted file mode 100644 index 95b44fda7f1..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosLoadBalancing.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosLoadBalancing\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosLoadBalancingDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosLoadBalancing.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNaming.idl b/TAO/orbsvcs/orbsvcs/CosNaming.idl deleted file mode 100644 index 78241d6a49d..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming.idl +++ /dev/null @@ -1,291 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CosNaming.idl -// -// = AUTHOR -// Marina Spivak -// -// ============================================================================ - -#ifndef TAO_NAMING_IDL -#define TAO_NAMING_IDL - -#pragma prefix "omg.org" - -module CosNaming -{ - // = TITLE - // This module provides interface for using COS Naming Service. - - typedef string Istring; - // Define a typedef for String. Maybe at some point, will - // be different to support Internationalization. - - struct NameComponent - { - // = TITLE - // This is a 'simple' name. - // - // = DESCRIPTION - // Both id and kind fields are used in resolving names. - - Istring id; - // This is the name that is used to identify object references. - - Istring kind; - // Stores any addtional info about the object reference. - }; - - typedef sequence Name; - // This is a compound name: where c1 to cn-1 are - // the names of the nested contexts, and cn is the name of the - // object bound in cn-1. - - enum BindingType - { - nobject, - // object binding. - - ncontext - // Naming context binding. - }; - - struct Binding - { - Name binding_name; - // Simple name, under which an object is bound in a given context. - - BindingType binding_type; - // Indicates whether the binding_name identifies a context, and, therefore, can - // participate in name resolution. - }; - - typedef sequence BindingList; - - interface BindingIterator; - // Forward declaration. - - interface NamingContext - { - // = TITLE - // Interface for managing name bindings and naming contexts. - - // = Exceptions. - - enum NotFoundReason - { - missing_node, - not_context, - not_object - }; - - exception NotFound - { - // = TITLE - // Indicates that the name does not identify a binding. - - NotFoundReason why; - Name rest_of_name; - }; - - exception CannotProceed - { - // = TITLE - // Implementation may throw this exception if some reason it cannot - // complete the operation. This is currently not used in TAO. - - NamingContext cxt; - Name rest_of_name; - }; - - exception InvalidName - { - // = TITLE - // A name of length 0 is invalid. Implementations may place - // further restrictions. - }; - - exception AlreadyBound - { - // = TITLE - // Indicates that the specified name is already bound to - // some object. Only one object can be bound to a - // particular name in an context. To change the binding, - // and can be used. - }; - - exception NotEmpty - { - // = TITLE - // Indicates that the context is not empty. - }; - - // = Binding operations. - - void bind (in Name n, in Object obj) - raises (NotFound, CannotProceed, InvalidName, AlreadyBound); - // Create a binding for name and object in the naming - // context. Compound names are treated as follows: ctx->bind - // (, obj) = (ctx->resolve ())->bind (, obj) if the there already exists a - // binding for the specified name, exception is - // thrown. Naming contexts should be bound using - // and in order to participate in name - // resolution later. - - void rebind (in Name n, in Object obj) - raises (NotFound, CannotProceed, InvalidName); - // This is similar to operation above, except for when - // the binding for the specified name already exists in the - // specified context. In that case, the existing binding is - // replaced with the new one. - - void bind_context (in Name n, in NamingContext nc) - raises(NotFound, CannotProceed, InvalidName, AlreadyBound); - // This is the version of specifically for binding naming - // contexts, so that they will participate in name resolution - // when compound names are passed to be resolved. - - void rebind_context (in Name n, in NamingContext nc) - raises (NotFound, CannotProceed, InvalidName); - // This is a version of specifically for naming - // contexts, so that they can participate in name resolution - // when compound names are passed. - - // = Resolving names. - - Object resolve (in Name n) - raises (NotFound, CannotProceed, InvalidName); - // Return object reference that is bound to the name. Compound - // name resolve is defined as follows: ctx->resolve () = ctx->resolve ()->resolve () The - // naming service does not return the type of the object. - // Clients are responsible for "narrowing" the object to the - // appropriate type. - - // = Unbinding names. - - void unbind (in Name n) - raises (NotFound, CannotProceed, InvalidName); - // Remove the name binding from the context. When compound - // names are used, unbind is defined as follows: ctx->unbind - // () = (ctx->resolve ())->unbind - // () - - // = Creating Naming Contexts. - - NamingContext new_context (); - // This operation returns a new naming context implemented by - // the same naming server in which the operation was invoked. - // The context is not bound. - - NamingContext bind_new_context (in Name n) - raises (NotFound, AlreadyBound, CannotProceed, InvalidName); - // This operation creates a new context and binds it to the name - // supplied as an argument. The newly-created context is - // implemented by the same server as the context in which it was - // bound (the name argument excluding the last component). - - // = Deleting contexts. - - void destroy () - raises (NotEmpty); - // Delete the naming context. NOTE: the user should - // any bindings in which the given context is bound to some - // names before invoking operation on it. - - - // = Listing the naming context. - - void list (in unsigned long how_many, - out BindingList bl, - out BindingIterator bi); - // Returns at most the requested number of bindings - // in . If the naming context contains additional bindings, - // they are returned with a BindingIterator. In the naming - // context does not contain any additional bindings - // returned as null. - }; - - interface BindingIterator - { - // = TITLE - // Interface for iterating over Bindings returned with the - // operation. - - boolean next_one (out Binding b); - // This operation returns the next binding. If there are no - // more bindings false is returned. - - boolean next_n (in unsigned long how_many, - out BindingList bl); - // This operation returns at most the requested number of - // bindings. - - void destroy (); - // This operation destroys the iterator. - }; - - interface NamingContextExt : NamingContext - { - // = TITLE - // Interface for providing operations required to use URLs and - // stringified names. - // - // Reference to: Document orbos/98-10-11 (Interoperable Naming Joint Revised Submission) - // Joint Submission by BEA Systems, DSTC, IONA, and Inprise - - typedef string StringName; - // Stringified form of a Name. - - typedef string Address; - // URL
such as myhost.xyz.com. - - typedef string URLString; - // Stringified form of a URL
componoent. - - StringName to_string (in Name n) - raises (InvalidName); - // This operation accepts a Name and returns a stringified - // name. If the name is invalid, an InvalidName exception is - // raised. - - Name to_name (in StringName sn) - raises (InvalidName); - // This operation returns a Name. If the input stringified - // name is syntactically malformed or violates an - // implementation limit, an InvalidName exception is - // raised. - - exception InvalidAddress { - // = TITLE - // Indicates that the URL
is invalid. - }; - - URLString to_url (in Address addr, - in StringName sn) - raises (InvalidAddress, InvalidName); - // - // It performs any escapes necessary on the stringified name - // and returns a fully formed URL string. An exception is - // raised if either the protocol or name parameters are invalid. - - - Object resolve_str (in StringName n) - raises (NotFound, CannotProceed, InvalidName); - // - // This is similar to as in the - // CosNaming::NamingContext interface, except that it accepts - // a stringified name as an argument instead of a Name. - - }; -}; - -#endif /* TAO_NAMING_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosNaming.mpc b/TAO/orbsvcs/orbsvcs/CosNaming.mpc deleted file mode 100644 index 991012a2a9f..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming.mpc +++ /dev/null @@ -1,48 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosNaming_IDL) : orbsvcslib, core, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Naming_Export -Wb,stub_export_include=orbsvcs/Naming/naming_export.h -Wb,skel_export_macro=TAO_Naming_Skel_Export -Wb,skel_export_include=orbsvcs/Naming/naming_skel_export.h - - IDL_Files { - CosNaming.idl - } -} - -project(CosNaming) : orbsvcslib, core { - sharedname = TAO_CosNaming - dynamicflags = TAO_NAMING_BUILD_DLL - tagchecks += Naming - after += CosNaming_IDL - - IDL_Files { - } - - Source_Files { - CosNamingC.cpp - Naming/Naming_Client.cpp - } - - Header_Files { - CosNamingC.h - Naming/Naming_Client.h - Naming/naming_export.h - } - - Inline_Files { - CosNamingC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files{ - CosNaming.rc - } - - Pkgconfig_Files { - TAO_CosNaming.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosNaming.rc b/TAO/orbsvcs/orbsvcs/CosNaming.rc deleted file mode 100644 index f588ff31b1b..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNaming\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNamingDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNaming.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNaming_Serv.mpc b/TAO/orbsvcs/orbsvcs/CosNaming_Serv.mpc deleted file mode 100644 index 02f81cd7b59..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming_Serv.mpc +++ /dev/null @@ -1,53 +0,0 @@ -// -*- MPC -*- -// -// $Id$ - -project(CosNaming_Serv) : orbsvcslib, core, naming_skel, messaging_optional, svc_utils, iortable { - avoids += ace_for_tao // Requires MMAP_Memory_Pool - sharedname = TAO_CosNaming_Serv - dynamicflags = TAO_NAMING_SERV_BUILD_DLL - tagchecks += Naming - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - Naming { - Naming/Entries.cpp - Naming/Flat_File_Persistence.cpp - Naming/Hash_Naming_Context.cpp - Naming/Naming_Context_Interface.cpp - Naming/Naming_Loader.cpp - Naming/Naming_Server.cpp - Naming/Persistent_Context_Index.cpp - Naming/Persistent_Entries.cpp - Naming/Persistent_Naming_Context.cpp - Naming/Storable.cpp - Naming/Storable_Naming_Context.cpp - Naming/Storable_Naming_Context_Activator.cpp - Naming/Transient_Naming_Context.cpp - } - } - - Header_Files { - Naming/naming_serv_export.h - Naming/nsconf.h - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosNaming_Serv.pc.in - } - - verbatim(gnuace, local) { - ## The optimizer in cxx (as of V6.5-014) is broken. Evidence can - ## be found in the iterator portion of Simple_Naming test - ifeq ($(CXX), cxx) - ifeq ($(findstring Tru64, $(ACE_DU_SUBVERSION)), Tru64) - OCFLAGS += -O0 - endif - endif - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosNaming_Serv.rc b/TAO/orbsvcs/orbsvcs/CosNaming_Serv.rc deleted file mode 100644 index 8a78d7cceae..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming_Serv.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNaming_Serv\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNaming_ServDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNaming_Serv.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNaming_Skel.mpc b/TAO/orbsvcs/orbsvcs/CosNaming_Skel.mpc deleted file mode 100644 index c5859a1c573..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming_Skel.mpc +++ /dev/null @@ -1,35 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosNaming_Skel) : orbsvcslib, core, naming, portableserver { - sharedname = TAO_CosNaming_Skel - dynamicflags = TAO_NAMING_SKEL_BUILD_DLL - tagchecks += Naming - - IDL_Files { - } - - Source_Files { - CosNamingS.cpp - } - - Header_Files { - CosNamingS.h - CosNamingS_T.h - Naming/naming_skel_export.h - } - - Inline_Files { - CosNamingS.inl - CosNamingS_T.inl - } - - Template_Files { - CosNamingS_T.cpp - } - - Pkgconfig_Files { - TAO_CosNaming_Skel.pc.in - } -} - diff --git a/TAO/orbsvcs/orbsvcs/CosNaming_Skel.rc b/TAO/orbsvcs/orbsvcs/CosNaming_Skel.rc deleted file mode 100644 index 4e11b908403..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming_Skel.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNaming_Skel\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNaming_SkelDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNaming_Skel.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNotification.idl b/TAO/orbsvcs/orbsvcs/CosNotification.idl deleted file mode 100644 index ae9ed5a4e9b..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotification.idl +++ /dev/null @@ -1,390 +0,0 @@ -/** - * @file CosNotification.idl - * - * @brief Define the CosNotification module - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef _COS_NOTIFICATION_IDL_ -#define _COS_NOTIFICATION_IDL_ - -#pragma prefix "omg.org" - -/** - * @namespace CosNotification - * - * @brief Define basic data structures used by the Notification - * Service - */ -module CosNotification -{ - /// Dummy typedef for strings, if the intent was to support I18N - /// strings the spec should have used wstring - typedef string Istring; - - /// Properties are named using a string - typedef Istring PropertyName; - - /// Property values are stored using anys - typedef any PropertyValue; - - /** - * @struct Property - * - * @brief Define a name/value pair. - * - * Events are described using named/value sequences, this structure - * defines the name/value pair. - */ - struct Property { - /// The name - PropertyName name; - /// The value - PropertyValue value; - }; - - /// Define a sequence of properties. - typedef sequence PropertySeq; - - //@{ - /** - * @name Different kinds of property sequences - * - * @brief The following are all sequences of Property, but - * serve different purposes. - */ - /// Property sequence used for optional header fields - typedef PropertySeq OptionalHeaderFields; - - /// Property sequence used for the event body that can be used - /// in filtering - typedef PropertySeq FilterableEventBody; - - /// Specify quality of service properties - typedef PropertySeq QoSProperties; - - /// Specify administrative properties - typedef PropertySeq AdminProperties; - //@} - - /** - * @struct _EventType - * - * @brief Define event type names. - * - * Different vertical industries (domains) can define well-known - * events (event_types). This structure is used for that purpose - */ - struct _EventType { - /// The name of the vertical industry defining the event type. - string domain_name; - /// The type of event. - string type_name; - }; - /// A sequence of event types - typedef sequence<_EventType> EventTypeSeq; - - /** - * @struct PropertyRange - * - * @brief A structure to define property ranges. - * - */ - struct PropertyRange { - /// Lower end of the range - PropertyValue low_val; - /// High end of the range - PropertyValue high_val; - }; - - /** - * @struct NamedPropertyRange - * - * @brief A named property range - */ - struct NamedPropertyRange { - /// The name - PropertyName name; - /// The range - PropertyRange range; - }; - /// A sequence of named property ranges - typedef sequence NamedPropertyRangeSeq; - - /** - * @enum QoSError_code - * - * @brief Describe QoS errors. - */ - enum QoSError_code { - /// The application has requested an unsupported QoS property - UNSUPPORTED_PROPERTY, - /// The application has requested a QoS property that, though - /// supported, cannot be set in the requested scope. - UNAVAILABLE_PROPERTY, - /// The application has requested a QoS property with an - /// unsupported value. - UNSUPPORTED_VALUE, - /// The application has requested a QoS property with a supported - /// value, but unavailable at the requeste scope. - UNAVAILABLE_VALUE, - /// The property name is unknown or not recognized. - BAD_PROPERTY, - /// The value type for the requested property is invalid - BAD_TYPE, - /// The value for the requested property is illegal - BAD_VALUE - }; - - /** - * @struct PropertyError - * - * @brief Describe the problems detected with an application - * requested QoS. - * - * If there are any problems with an application request for QoS the - * problems are raised using an exception that contains all the - * problems, and a description of the valid values (if they apply). - */ - struct PropertyError { - /// Property error description - QoSError_code code; - /// Property name with a problem - PropertyName name; - /// Valid range for that property in the Notification Service - /// implementation - PropertyRange available_range; - }; - /// List of property errors. - typedef sequence PropertyErrorSeq; - - /** - * @exception UnsupportedQoS - * - * @brief Exception used to describe problems with one or more QoS - * requests - * - */ - exception UnsupportedQoS { - /// Complete description of the properties in error - PropertyErrorSeq qos_err; - }; - - /** - * @exception UnsupportedAdmin - * - * @brief Exception used to describe problems with one or more Admin - * properties - */ - exception UnsupportedAdmin { - /// The complete description of the invalid properties. - PropertyErrorSeq admin_err; - }; - - /** - * @struct FixedEventHeader - * - * @brief Define the 'fixed' part of the event header - */ - struct FixedEventHeader { - /// The event type - _EventType event_type; - /// A (possibly unique) name for the particular event - string event_name; - }; - - /** - * @struct EventHeader - * - * @brief Complete event header - */ - struct EventHeader { - /// The fixed part of the event header - FixedEventHeader fixed_header; - /// The optional part - OptionalHeaderFields variable_header; - }; - - /** - * @struct StructuredEvent - * - * @brief Define structured events - */ - struct StructuredEvent { - /// The header - EventHeader header; - /// The part of the body used for filtering - FilterableEventBody filterable_data; - /// The part of the body not used for filtering - any remainder_of_body; - }; - /// Sequence of events, for batch processing - typedef sequence EventBatch; - - //@{ - /** - * @name Constants for QoS Properties - * - * The following constant declarations define the standard QoS - * property names and the associated values each property can take - * on. The name/value pairs for each standard property are grouped, - * beginning with a string constant defined for the property name, - * followed by the values the property can take on. - */ - - const string EventReliability = "EventReliability"; - const short BestEffort = 0; - const short Persistent = 1; - - /// Can take on the same values as EventReliability - const string ConnectionReliability = "ConnectionReliability"; - - const string Priority = "Priority"; - const short LowestPriority = -32767; - const short HighestPriority = 32767; - const short DefaultPriority = 0; - - /// StartTime takes a value of type TimeBase::UtcT. - const string StartTime = "StartTime"; - - /// StopTime takes a value of type TimeBase::UtcT. - const string StopTime = "StopTime"; - - /// Timeout takes on a value of type TimeBase::TimeT - const string Timeout = "Timeout"; - - const string OrderPolicy = "OrderPolicy"; - const short AnyOrder = 0; - const short FifoOrder = 1; - const short PriorityOrder = 2; - const short DeadlineOrder = 3; - - /// DiscardPolicy takes on the same values as OrderPolicy, plus - const string DiscardPolicy = "DiscardPolicy"; - const short LifoOrder = 4; - - /// MaximumBatchSize takes on a value of type long - const string MaximumBatchSize = "MaximumBatchSize"; - - /// PacingInterval takes on a value of type TimeBase::TimeT - const string PacingInterval = "PacingInterval"; - - /// StartTimeSupported takes on a boolean value - const string StartTimeSupported = "StartTimeSupported"; - - /// StopTimeSupported takes on a boolean value - const string StopTimeSupported = "StopTimeSupported"; - - /// MaxEventsPerConsumer takes on a value of type long - const string MaxEventsPerConsumer = "MaxEventsPerConsumer"; - - //@} - - /** - * @interface QoSAdmin - * - * @brief Interface used to control the QoS properties of an Event - * Service components (Channel, Proxy, etc.) - * - * QoS properties of a channel can be set at different levels, - * including the proxies, the ConsumerAdmin and the SupplierAdmin - * objects. Each one of those components offers this interface to - * allow control over the properties. - */ - interface QoSAdmin { - /// Get the current QoS properties - /** - * The operation returns the properties set: - * - At the level queried - * - Not set at the level queried but set at a higher-level - * - Not set at all but having a default value. - */ - QoSProperties get_qos(); - - /// Set the QoS properties - /** - * @param qos The requested QoS properties - * @throws UnsupportedQoS if the requested QoS cannot be - * implemented or is invalid. The exception contents describe - * the problem(s) in detail. - */ - void set_qos ( in QoSProperties qos) - raises ( UnsupportedQoS ); - - /// Validate a set of QoS properties - /** - * @param required_qos the list of properties requested by the - * application - * @param available_qos If the properties are supported this - * argument returns a list of any other properties that - * could also be set. - * @throws UnsupportedQoS if the requested QoS cannot be - * implemented or is invalid. The exception contents describe - * the problem(s) in detail. - */ - void validate_qos (in QoSProperties required_qos, - out NamedPropertyRangeSeq available_qos ) - raises ( UnsupportedQoS ); - }; - - //@{ - /** - * @name Constants for Admin Properties - * - * Admin properties are defined in similar manner as QoS - * properties. The only difference is that these properties are - * related to channel administration policies, as opposed message - * quality of service - */ - /// MaxQueueLength takes on a value of type long - const string MaxQueueLength = "MaxQueueLength"; - - /// MaxConsumers takes on a value of type long - const string MaxConsumers = "MaxConsumers"; - - /// MaxSuppliers takes on a value of type long - const string MaxSuppliers = "MaxSuppliers"; - - /// RejectNewEvents takes on a value of type Boolean - const string RejectNewEvents = "RejectNewEvents"; - //@} - - /** - * @interface AdminPropertiesAdmin - * - * @brief Define the interface to manipulate the Admin properties of - * a Notification Service components - * - * Several Notification Service components have Admin properties, - * including the Event Channel, its ConsumerAdmin and SupplierAdmin - * objects as well as the proxies. This interface is used to - * control the Admin properties of each one of those components. - */ - interface AdminPropertiesAdmin { - /// Get the Admin properties - /** - * The operation returns the properties set: - * - At the level queried - * - Not set at the level queried but set at a higher-level - * - Not set at all but having a default value. - */ - AdminProperties get_admin(); - - /// Set the Admin properities - /** - * @param admin The list of Admin properties requested - * @throws UnsupportedAdmin if the requested admin properties - * cannot be implemented or are invalid - */ - void set_admin (in AdminProperties admin) - raises ( UnsupportedAdmin); - }; - -}; - -#pragma prefix "" - -#endif /* _COS_NOTIFICATION_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosNotification.mpc b/TAO/orbsvcs/orbsvcs/CosNotification.mpc deleted file mode 100644 index 87fab05f21c..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotification.mpc +++ /dev/null @@ -1,267 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosNotification_IDL) : orbsvcslib, core, event, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h - - IDL_Files { - CosNotification.idl - CosNotifyComm.idl - CosNotifyFilter.idl - CosNotifyChannelAdmin.idl - NotifyExt.idl - Event_Forwarder.idl - } -} - -project(CosNotification) : orbsvcslib, core, event { - sharedname = TAO_CosNotification - dynamicflags = TAO_NOTIFY_BUILD_DLL - tagchecks += Notify - after += CosNotification_IDL - - IDL_Files { - } - - Source_Files { - CosNotificationC.cpp - CosNotifyCommC.cpp - CosNotifyFilterC.cpp - CosNotifyChannelAdminC.cpp - NotifyExtC.cpp - Event_ForwarderC.cpp - Notify/Notify_Extensions.cpp - } - - Header_Files { - CosNotificationC.h - CosNotifyCommC.h - CosNotifyFilterC.h - CosNotifyChannelAdminC.h - NotifyExtC.h - Event_ForwarderC.h - Notify/Notify_Extensions.h - Notify/notify_export.h - } - - Inline_Files { - CosNotificationC.inl - CosNotifyCommC.inl - CosNotifyFilterC.inl - CosNotifyChannelAdminC.inl - NotifyExtC.inl - Event_ForwarderC.inl - } - - Template_Files { - } - - Resource_Files { - CosNotification.rc - } - - Pkgconfig_Files { - TAO_CosNotification.pc.in - } -} - - -project(CosNotification_Skel) : orbsvcslib, core, notification, event_skel, portableserver { - sharedname = TAO_CosNotification_Skel - dynamicflags = TAO_NOTIFY_SKEL_BUILD_DLL - tagchecks += Notify - - IDL_Files { - } - - Source_Files { - CosNotificationS.cpp - CosNotifyCommS.cpp - CosNotifyFilterS.cpp - CosNotifyChannelAdminS.cpp - NotifyExtS.cpp - Event_ForwarderS.cpp - } - - Header_Files { - CosNotificationS.h - CosNotifyCommS.h - CosNotifyFilterS.h - CosNotifyChannelAdminS.h - NotifyExtS.h - Event_ForwarderS.h - - CosNotificationS_T.h - CosNotifyCommS_T.h - CosNotifyFilterS_T.h - CosNotifyChannelAdminS_T.h - NotifyExtS_T.h - Event_ForwarderS_T.h - - Notify/notify_skel_export.h - } - - Inline_Files { - CosNotificationS.inl - CosNotifyCommS.inl - CosNotifyFilterS.inl - CosNotifyChannelAdminS.inl - NotifyExtS.inl - Event_ForwarderS.inl - - CosNotificationS_T.inl - CosNotifyCommS_T.inl - CosNotifyFilterS_T.inl - CosNotifyChannelAdminS_T.inl - NotifyExtS_T.inl - Event_ForwarderS_T.inl - } - - Template_Files { - CosNotificationS_T.cpp - CosNotifyCommS_T.cpp - CosNotifyFilterS_T.cpp - CosNotifyChannelAdminS_T.cpp - NotifyExtS_T.cpp - Event_ForwarderS_T.cpp - } - - Pkgconfig_Files { - TAO_CosNotification_Skel.pc.in - } -} - -project(CosNotification_Serv) : orbsvcslib, svc_utils, core, notification_skel, dynamicany, etcl{ - sharedname = TAO_CosNotification_Serv - dynamicflags = TAO_NOTIFY_SERV_BUILD_DLL - tagchecks += Notify - - IDL_Files { - } - - // The following could be simplified if RT stuff was - // put into another subdirectory. - - Source_Files { - Notify/Admin.cpp - Notify/AdminProperties.cpp - Notify/Bit_Vector.cpp - Notify/Buffering_Strategy.cpp - Notify/Builder.cpp - Notify/Consumer.cpp - Notify/ConsumerAdmin.cpp - Notify/CosNotify_Initializer.cpp - Notify/CosNotify_Service.cpp - Notify/Default_Factory.cpp - Notify/Delivery_Request.cpp - Notify/ETCL_Filter.cpp - Notify/ETCL_FilterFactory.cpp - Notify/Event.cpp - Notify/EventChannel.cpp - Notify/EventChannelFactory.cpp - Notify/EventType.cpp - Notify/EventTypeSeq.cpp - Notify/Event_Manager.cpp - Notify/Event_Persistence_Factory.cpp - Notify/FilterAdmin.cpp - Notify/ID_Factory.cpp - Notify/Method_Request.cpp - Notify/Method_Request_Dispatch.cpp - Notify/Method_Request_Event.cpp - Notify/Method_Request_Lookup.cpp - Notify/Method_Request_Shutdown.cpp - Notify/Method_Request_Updates.cpp - Notify/Name_Value_Pair.cpp - Notify/Notify_Constraint_Interpreter.cpp - Notify/Notify_Constraint_Visitors.cpp - Notify/Notify_Default_Collection_Factory.cpp - Notify/Notify_Default_CO_Factory.cpp - Notify/Notify_Default_EMO_Factory.cpp - Notify/Notify_Default_POA_Factory.cpp - Notify/Notify_EventChannelFactory_i.cpp - Notify/Object.cpp - Notify/Peer.cpp - Notify/Persistent_File_Allocator.cpp - Notify/POA_Helper.cpp - Notify/Properties.cpp - Notify/PropertySeq.cpp - Notify/Property_Boolean.cpp - Notify/Proxy.cpp - Notify/ProxyConsumer.cpp - Notify/ProxySupplier.cpp - Notify/QoSProperties.cpp - Notify/Random_File.cpp - Notify/Reactive_Task.cpp - Notify/Refcountable.cpp - Notify/Reconnection_Registry.cpp - Notify/Routing_Slip.cpp - Notify/Routing_Slip_Persistence_Manager.cpp - Notify/Routing_Slip_Queue.cpp - Notify/Service.cpp - Notify/Subscription_Change_Worker.cpp - Notify/Supplier.cpp - Notify/SupplierAdmin.cpp - Notify/Standard_Event_Persistence.cpp - Notify/ThreadPool_Task.cpp - Notify/Timer_Queue.cpp - Notify/Timer_Reactor.cpp - Notify/Topology_Loader.cpp - Notify/Topology_Object.cpp - Notify/Topology_Saver.cpp - Notify/Worker_Task.cpp - Notify/Any/AnyEvent.cpp - Notify/Any/CosEC_ProxyPushConsumer.cpp - Notify/Any/CosEC_ProxyPushSupplier.cpp - Notify/Any/ProxyPushConsumer.cpp - Notify/Any/ProxyPushSupplier.cpp - Notify/Any/PushConsumer.cpp - Notify/Any/PushSupplier.cpp - Notify/Sequence/SequenceProxyPushConsumer.cpp - Notify/Sequence/SequenceProxyPushSupplier.cpp - Notify/Sequence/SequencePushConsumer.cpp - Notify/Sequence/SequencePushSupplier.cpp - Notify/Structured/StructuredEvent.cpp - Notify/Structured/StructuredProxyPushConsumer.cpp - Notify/Structured/StructuredProxyPushSupplier.cpp - Notify/Structured/StructuredPushConsumer.cpp - Notify/Structured/StructuredPushSupplier.cpp - } - - Header_Files { - Notify/notify_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosNotification_Serv.pc.in - } - -} - -project(CosNotification_Persist) : notification_serv, core, acexml { - sharedname = TAO_CosNotification_Persist - dynamicflags = TAO_NOTIFY_PERSIST_BUILD_DLL - - IDL_Files { - } - - Source_Files { - Notify/XML_*.cpp - } - - Header_Files { - Notify/notify_persist_export.h - } - - Inline_Files { - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosNotification.rc b/TAO/orbsvcs/orbsvcs/CosNotification.rc deleted file mode 100644 index f39d9fe9699..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotification.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNotification\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNotificationDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNotification.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNotification_Serv.rc b/TAO/orbsvcs/orbsvcs/CosNotification_Serv.rc deleted file mode 100644 index c261ee4d0e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotification_Serv.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNotification_Serv\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNotification_ServDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNotification_Serv.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNotification_Skel.rc b/TAO/orbsvcs/orbsvcs/CosNotification_Skel.rc deleted file mode 100644 index 534ac2e6d2c..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotification_Skel.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNotification_Skel\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNotification_SkelDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNotification_Skel.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl deleted file mode 100644 index b792ae547ff..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl +++ /dev/null @@ -1,1027 +0,0 @@ -/** - * @file CosNotifyChannelAdmin.idl - * - * @brief Define the CosNotifyChannel module - * - * $Id$ - * - * This module is taken from the standard CORBA Notification Service - * 1.0, as described in: - * - * http://www.omg.org/technology/documents/formal/notification_service.htm - * - * In particular the following two documents were used: - * formal/2000-06-20 - * formal/01-03-03 - * - * @author Pradeep Gore - */ - -#ifndef _COS_NOTIFY_CHANNEL_ADMIN_IDL_ -#define _COS_NOTIFY_CHANNEL_ADMIN_IDL_ - -#include "CosNotification.idl" -#include "CosNotifyFilter.idl" -#include "CosNotifyComm.idl" -#include "CosEventChannelAdmin.idl" - -#pragma prefix "omg.org" - -/** - * @namespace CosNotifyChannelAdmin - * - * @brief Defines the interfaces to connect and manipulate the - * Notification Service. - */ -module CosNotifyChannelAdmin -{ - /** - * @exception ConnectionAlreadyActive - * - * @brief Exception Raised if an attempt is made to resume a - * connection that has not been suspended. - */ - exception ConnectionAlreadyActive {}; - - /** - * @exception ConnectionAlreadyInactive - * - * @brief Exception raised if an attempt is made to suspend a - * connection already suspended. - */ - exception ConnectionAlreadyInactive {}; - - /** - * @exception NotConnected - * - * @brief Exception raised if an attempt is made to suspend or - * resume a proxy that has not been connected. - */ - exception NotConnected {}; - - // Forward declarations - interface ConsumerAdmin; - interface SupplierAdmin; - interface EventChannel; - interface EventChannelFactory; - - /** - * @enum ProxyType - * - * @brief Helper typedef to inspect the types of proxies connected - * to an EventChannel - */ - enum ProxyType { - /// A push-style proxy that uses the 'any' format - PUSH_ANY, - /// A pull-style proxy that uses the 'any' format - PULL_ANY, - /// A push-style proxy that uses structured events - PUSH_STRUCTURED, - /// A pull-style proxy that uses structured events - PULL_STRUCTURED, - /// A push-style proxy that uses event batches - PUSH_SEQUENCE, - /// A pull-style proxy that uses event batches - PULL_SEQUENCE, - /// A typed, push-style proxy - PUSH_TYPED, - /// A typed, pull-style proxy - PULL_TYPED - }; - - /** - * @enum ObtainInfoMode - * - * @brief Define the modes to fetch subscriptions and publication - * lists from the Notification Service. - */ - enum ObtainInfoMode { - /// Get all the current subscriptions/publications, do not send - /// updates to the peer - ALL_NOW_UPDATES_OFF, - /// Get all the current subscriptions/publications, send updates - /// to the peer - ALL_NOW_UPDATES_ON, - /// Do not get any of the current subscriptions/publications, do - /// not send updates to the peer either - NONE_NOW_UPDATES_OFF, - /// Do not get any of the current subscriptions/publications, but - /// send updates to the peer - NONE_NOW_UPDATES_ON - }; - - /** - * @interface ProxyConsumer - * - * @brief Defines the interface shared by all consumer proxies - * - * Consumer proxies are used by suppliers to provide events into the - * Notification Service, this interface captures the shared - * operations in all those proxies. - */ - interface ProxyConsumer - : CosNotification::QoSAdmin - , CosNotifyFilter::FilterAdmin - { - /// The style and event format for this proxy - readonly attribute ProxyType MyType; - - /// The SupplierAdmin this proxy belongs to - readonly attribute SupplierAdmin MyAdmin; - - /// Get the list of event types that this proxy could potentially - /// forward to any consumer connected to the EventChannel - /** - * @param mode Describe how the subscriptions should be fetched - * @return The list of current subscriptions, if requested in the - * mode argument - */ - CosNotification::EventTypeSeq obtain_subscription_types( - in ObtainInfoMode mode ); - - /// Validate a list of QoS properties for an event - /** - * Suppliers can provide events with specific QoS properties, the - * following operation allows suppliers to verify if a given set - * of QoS properties would be honored by the proxy. - * - * @param required_qos The QoS properties required by the supplier - * @param available_qos If the QoS properties required are - * supported this argument returns any other QoS properties that - * the application may set without breaking the proxy - * capabilities. - * @throws CosNotification::UnsupportedQoS if the QoS properties - * required cannot be supported. The exception describes the - * problems and any legal values in detail. - */ - void validate_event_qos ( - in CosNotification::QoSProperties required_qos, - out CosNotification::NamedPropertyRangeSeq available_qos) - raises (CosNotification::UnsupportedQoS); - }; - - /** - * @interface ProxySupplier - * - * @brief Defines the interface shared by all supplier proxies - * - * Supplier proxies are used by consumers to communicate with the - * Notification Service, this interface captures the shared - * operations in all those proxies. - */ - interface ProxySupplier - : CosNotification::QoSAdmin - , CosNotifyFilter::FilterAdmin - { - /// The style and event format for this proxy - readonly attribute ProxyType MyType; - - /// The ConsumerAdmin this proxy belongs to - readonly attribute ConsumerAdmin MyAdmin; - - /// Get and set the mapping filter used to change the priority - /// property for this proxy. - /** - * The filter is initialized to the nil reference - */ - attribute CosNotifyFilter::MappingFilter priority_filter; - - /// Get and set the mapping filter used to change the lifetime - /// property for this proxy. - /** - * The filter is initialized to the nil reference - */ - attribute CosNotifyFilter::MappingFilter lifetime_filter; - - /// Get the list of event types that this proxy could potentially - /// forward to its connected supplier - /** - * @param mode Describe how the publications should be fetched - * @return The list of current subscriptions, if requested in the - * mode argument - */ - CosNotification::EventTypeSeq obtain_offered_types( - in ObtainInfoMode mode ); - - /// Validate a list of QoS properties for an event - /** - * Applications send events with specific QoS properties, the - * following operation allows consumers to verify if a given set - * of QoS properties would be honored by the proxy. - * - * @param required_qos The QoS properties required by the supplier - * @param available_qos If the QoS properties required are - * supported this argument returns any other QoS properties that - * the application may set without breaking the proxy - * capabilities. - * @throws CosNotification::UnsupportedQoS if the QoS properties - * required cannot be supported. The exception describes the - * problems and any legal values in detail. - */ - void validate_event_qos ( - in CosNotification::QoSProperties required_qos, - out CosNotification::NamedPropertyRangeSeq available_qos) - raises (CosNotification::UnsupportedQoS); - }; - - /** - * @interface ProxyPushConsumer - * - * @brief Defines the interface provided for push-style suppliers - * using the 'any' event format. - */ - interface ProxyPushConsumer - : ProxyConsumer - , CosNotifyComm::PushConsumer - { - /// Connect a supplier to the proxy - /** - * Suppliers cannot push events into a ProxyPushConsumer until - * this method is invoked. - * - * @param push_supplier the callback object used to inform the - * application if the event channel is destroyed. If the - * argument is nil no destroy notification is provided. - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_any_push_supplier ( - in CosEventComm::PushSupplier push_supplier) - raises(CosEventChannelAdmin::AlreadyConnected); - }; - - /** - * @interface StructuredProxyPushConsumer - * - * @brief Defines the interface provided for push-style suppliers - * using the 'structured' event format. - */ - interface StructuredProxyPushConsumer - : ProxyConsumer - , CosNotifyComm::StructuredPushConsumer - { - /// Connect a supplier to the proxy - /** - * Suppliers cannot push events into a ProxyPushConsumer until - * this method is invoked. - * - * @param push_supplier the callback object used to inform the - * application if the event channel is destroyed. If the - * argument is nil no destroy notification is provided. - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_structured_push_supplier ( - in CosNotifyComm::StructuredPushSupplier push_supplier) - raises(CosEventChannelAdmin::AlreadyConnected); - }; - - /** - * @interface SequenceProxyPushConsumer - * - * @brief Defines the interface provided for push-style suppliers - * using the 'batched' event format. - */ - interface SequenceProxyPushConsumer - : ProxyConsumer - , CosNotifyComm::SequencePushConsumer - { - /// Connect a supplier to the proxy - /** - * Suppliers cannot push events into a ProxyPushConsumer until - * this method is invoked. - * - * @param push_supplier the callback object used to inform the - * application if the event channel is destroyed. If the - * argument is nil no destroy notification is provided. - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_sequence_push_supplier ( - in CosNotifyComm::SequencePushSupplier push_supplier) - raises(CosEventChannelAdmin::AlreadyConnected); - }; - -#ifdef TAO_HAS_NOTIFY_PULL_INTERFACES - - /** - * @interface ProxyPullSupplier - * - * @brief Defines the interface provided for pull-style consumers - * using the 'any' event format. - */ - interface ProxyPullSupplier - : ProxySupplier - , CosNotifyComm::PullSupplier - { - /// Connect a consumer to the proxy - /** - * The consumer cannot pull events until this operation is invoked. - * - * @param pull_consumer the callback object used to inform the - * application if the event channel is destroyed. If the - * argument is nil no destroy notification is provided. - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_any_pull_consumer ( - in CosEventComm::PullConsumer pull_consumer) - raises(CosEventChannelAdmin::AlreadyConnected); - }; - - /** - * @interface StructuredProxyPullSupplier - * - * @brief Defines the interface provided for pull-style consumers - * using the 'structured' event format. - */ - interface StructuredProxyPullSupplier - : ProxySupplier - , CosNotifyComm::StructuredPullSupplier - { - /// Connect a consumer to the proxy - /** - * The consumer cannot pull events until this operation is invoked. - * - * @param pull_consumer the callback object used to inform the - * application if the event channel is destroyed. If the - * argument is nil no destroy notification is provided. - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_structured_pull_consumer ( - in CosNotifyComm::StructuredPullConsumer pull_consumer) - raises(CosEventChannelAdmin::AlreadyConnected); - }; - - /** - * @interface SequenceProxyPullSupplier - * - * @brief Defines the interface provided for pull-style consumer - * using the 'batched' event format. - */ - interface SequenceProxyPullSupplier - : ProxySupplier - , CosNotifyComm::SequencePullSupplier - { - /// Connect a consumer to the proxy - /** - * The consumer cannot pull events until this operation is invoked. - * - * @param pull_consumer the callback object used to inform the - * application if the event channel is destroyed. If the - * argument is nil no destroy notification is provided. - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_sequence_pull_consumer ( - in CosNotifyComm::SequencePullConsumer pull_consumer) - raises(CosEventChannelAdmin::AlreadyConnected); - }; - - /** - * @interface ProxyPullConsumer - * - * @brief Defines the interface provided for pull-style suppliers - * using the 'any' event format. - */ - interface ProxyPullConsumer - : ProxyConsumer - , CosNotifyComm::PullConsumer - { - /// Connect a supplier to the proxy - /** - * The event channel will not pull events from the supplier until - * this operation is invoked. - * - * @param pull_supplier the callback object used to inform the - * application if the event channel is destroyed. - * @throws CORBA::BAD_PARAM if the pull_supplier argument is nil - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_any_pull_supplier ( - in CosEventComm::PullSupplier pull_supplier) - raises(CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError ); - - /// Suspend the connection, the event channel will stop pulling - /// events. - /** - * @throws ConnectionAlreadyInactive if the method is invoked - * while the connection is suspended - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void suspend_connection() - raises(ConnectionAlreadyInactive, NotConnected); - - /// Resume the connection, the event channel will start pulling - /// events one more. - /** - * @throws ConnectionAlreadyActive if the method is invoked - * while the connection is active - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void resume_connection() - raises(ConnectionAlreadyActive, NotConnected); - }; - - /** - * @interface StructuredProxyPullConsumer - * - * @brief Defines the interface provided for pull-style suppliers - * using the 'structured' event format. - */ - interface StructuredProxyPullConsumer - : ProxyConsumer - , CosNotifyComm::StructuredPullConsumer - { - /// Connect a supplier to the proxy - /** - * The event channel will not pull events from the supplier until - * this operation is invoked. - * - * @param pull_supplier the callback object used to inform the - * application if the event channel is destroyed. - * @throws CORBA::BAD_PARAM if the pull_supplier argument is nil - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_structured_pull_supplier ( - in CosNotifyComm::StructuredPullSupplier pull_supplier) - raises(CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError ); - - /// Suspend the connection, the event channel will stop pulling - /// events. - /** - * @throws ConnectionAlreadyInactive if the method is invoked - * while the connection is suspended - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void suspend_connection() - raises(ConnectionAlreadyInactive, NotConnected); - - /// Resume the connection, the event channel will start pulling - /// events one more. - /** - * @throws ConnectionAlreadyActive if the method is invoked - * while the connection is active - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void resume_connection() - raises(ConnectionAlreadyActive, NotConnected); - }; - - /** - * @interface SequenceProxyPullConsumer - * - * @brief Defines the interface provided for pull-style suppliers - * using the 'batched' event format. - */ - interface SequenceProxyPullConsumer - : ProxyConsumer - , CosNotifyComm::SequencePullConsumer - { - /// Connect a supplier to the proxy - /** - * The event channel will not pull events from the supplier until - * this operation is invoked. - * - * @param pull_supplier the callback object used to inform the - * application if the event channel is destroyed. - * @throws CORBA::BAD_PARAM if the pull_supplier argument is nil - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_sequence_pull_supplier ( - in CosNotifyComm::SequencePullSupplier pull_supplier) - raises(CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError ); - - /// Suspend the connection, the event channel will stop pulling - /// events. - /** - * @throws ConnectionAlreadyInactive if the method is invoked - * while the connection is suspended - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void suspend_connection() - raises(ConnectionAlreadyInactive, NotConnected); - - /// Resume the connection, the event channel will start pulling - /// events one more. - /** - * @throws ConnectionAlreadyActive if the method is invoked - * while the connection is active - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void resume_connection() - raises(ConnectionAlreadyActive, NotConnected); - }; -#endif /* TAO_HAS_NOTIFY_PULL_INTERFACES */ - - /** - * @interface ProxyPushSupplier - * - * @brief Defines the interface provided for push-style consumers - * using the 'any' event format. - */ - interface ProxyPushSupplier - : ProxySupplier - , CosNotifyComm::PushSupplier - { - /// Connect a consumer to the proxy - /** - * The event channel will not push events to the consumer until - * this operation is invoked. - * - * @param push_consumer the callback object used to push events to - * the application and inform if the event channel is destroyed - * @throws CORBA::BAD_PARAM if the push_consumer argument is nil - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_any_push_consumer ( - in CosEventComm::PushConsumer push_consumer) - raises(CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError ); - - /// Suspend the connection, the event channel will stop pushing - /// events to the consumer. - /** - * @throws ConnectionAlreadyInactive if the method is invoked - * while the connection is suspended - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void suspend_connection() - raises(ConnectionAlreadyInactive, NotConnected); - - /// Resume the connection, the event channel will start pushing - /// events to the consumer once more - /** - * @throws ConnectionAlreadyActive if the method is invoked - * while the connection is active - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void resume_connection() - raises(ConnectionAlreadyActive, NotConnected); - }; - - /** - * @interface StructuredProxyPushSupplier - * - * @brief Defines the interface provided for push-style consumers - * using the 'structured' event format. - */ - interface StructuredProxyPushSupplier - : ProxySupplier - , CosNotifyComm::StructuredPushSupplier - { - /// Connect a consumer to the proxy - /** - * The event channel will not push events to the consumer until - * this operation is invoked. - * - * @param push_consumer the callback object used to push events to - * the application and inform if the event channel is destroyed - * @throws CORBA::BAD_PARAM if the push_consumer argument is nil - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_structured_push_consumer ( - in CosNotifyComm::StructuredPushConsumer push_consumer) - raises(CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError ); - - /// Suspend the connection, the event channel will stop pushing - /// events to the consumer. - /** - * @throws ConnectionAlreadyInactive if the method is invoked - * while the connection is suspended - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void suspend_connection() - raises(ConnectionAlreadyInactive, NotConnected); - - /// Resume the connection, the event channel will start pushing - /// events to the consumer once more - /** - * @throws ConnectionAlreadyActive if the method is invoked - * while the connection is active - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void resume_connection() - raises(ConnectionAlreadyActive, NotConnected); - }; - - /** - * @interface SequenceProxyPushSupplier - * - * @brief Defines the interface provided for push-style consumers - * using the 'batched' event format. - */ - interface SequenceProxyPushSupplier - : ProxySupplier - , CosNotifyComm::SequencePushSupplier - { - /// Connect a consumer to the proxy - /** - * The event channel will not push events to the consumer until - * this operation is invoked. - * - * @param push_consumer the callback object used to push events to - * the application and inform if the event channel is destroyed - * @throws CORBA::BAD_PARAM if the push_consumer argument is nil - * @throws CosEventChannelAdmin::AlreadyConnected if the proxy is - * already connected, i.e. if this operation is invoked more than - * one time. - */ - void connect_sequence_push_consumer ( - in CosNotifyComm::SequencePushConsumer push_consumer) - raises(CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError ); - - /// Suspend the connection, the event channel will stop pushing - /// events to the consumer. - /** - * @throws ConnectionAlreadyInactive if the method is invoked - * while the connection is suspended - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void suspend_connection() - raises(ConnectionAlreadyInactive, NotConnected); - - /// Resume the connection, the event channel will start pushing - /// events to the consumer once more - /** - * @throws ConnectionAlreadyActive if the method is invoked - * while the connection is active - * @throws NotConnected if the method is invoked before the - * supplier connects - */ - void resume_connection() - raises(ConnectionAlreadyActive, NotConnected); - }; - - /// Each proxy is assigned a unique ID by its proxy admin - typedef long ProxyID; - /// Helper type to query or fetch multiple IDs simulatenously - typedef sequence ProxyIDSeq; - - /** - * @enum ClientType - * - * @brief Helper type used to fetch proxies - */ - enum ClientType { - /// The proxy uses the 'any' event format - ANY_EVENT, - /// The proxy uses the 'structured' event format - STRUCTURED_EVENT, - /// The proxy uses the 'sequence' (or batch) event format - SEQUENCE_EVENT - }; - - /** - * @enum InterFilterGroupOperator - * - * @brief Define how multiple Filters are considered in a proxy - * admin - */ - enum InterFilterGroupOperator { - AND_OP, - OR_OP - }; - - /// Each proxy admin is assigned a unique number by its EventChannel - typedef long AdminID; - /// List of Admin IDs - typedef sequence AdminIDSeq; - - /** - * @exception AdminNotFound - * - * @brief Exception raised if a lookup for a specific Admin ID - * fails. - */ - exception AdminNotFound {}; - - /** - * @exception ProxyNotFound - * - * @brief Exception raised if a lookup for a specific Proxy ID - * fails. - */ - exception ProxyNotFound {}; - - /** - * @struct AdminLimit - * - * @brief Helper structure to represent a violation of the limits in - * a proxy admin. - */ - struct AdminLimit { - CosNotification::PropertyName name; - CosNotification::PropertyValue value; - }; - - /** - * @exception AdminLimitExceeded - * - * @brief Exception raised if a limit in a proxy admin is breached - */ - exception AdminLimitExceeded { - /// The limit that caused the problem. - AdminLimit admin_property_err; - }; - - /** - * @interface ConsumerAdmin - * - * @brief Interface used to control and obtain the proxies used by - * consumers. - */ - interface ConsumerAdmin - : CosNotification::QoSAdmin - , CosNotifyComm::NotifySubscribe - , CosNotifyFilter::FilterAdmin - , CosEventChannelAdmin::ConsumerAdmin - { - /// The ID assigned to this admin by its event channel - readonly attribute AdminID MyID; - - /// The event channel this admin belongs to - readonly attribute EventChannel MyChannel; - - /// How are multiple filters interpreted - readonly attribute InterFilterGroupOperator MyOperator; - - /// A special mapping filter to change the priority property of - /// events - attribute CosNotifyFilter::MappingFilter priority_filter; - - /// A special mapping filter to change the lifetime property of - /// events - attribute CosNotifyFilter::MappingFilter lifetime_filter; - - /// Get the complete list of pull proxy suppliers - readonly attribute ProxyIDSeq pull_suppliers; - - /// Get the complete list of push proxy suppliers - readonly attribute ProxyIDSeq push_suppliers; - - /// Get an specific ProxySupplier - /** - * @param proxy_id The proxy ID that will be retrieved - * @throws ProxyNotFound if the proxy_id is not found in this - * ConsumerAdmin - */ - ProxySupplier get_proxy_supplier (in ProxyID proxy_id) - raises (ProxyNotFound ); - - /// Create a new pull-style proxy supplier - /** - * @param ctype The event format that the ProxySupplier should - * support - * @param proxy_id The ID assigned to the new proxy supplier - * @return The new ProxySupplier - * @throws AdminLimitExceeded if a limit in this admin is reached, - * such as the maximum number of proxies. - */ - ProxySupplier obtain_notification_pull_supplier (in ClientType ctype, - out ProxyID proxy_id) - raises ( AdminLimitExceeded ); - - /// Create a new push-style proxy supplier - /** - * @param ctype The event format that the ProxySupplier should - * support - * @param proxy_id The ID assigned to the new proxy supplier - * @return The new ProxySupplier - * @throws AdminLimitExceeded if a limit in this admin is reached, - * such as the maximum number of proxies. - */ - ProxySupplier obtain_notification_push_supplier (in ClientType ctype, - out ProxyID proxy_id) - raises ( AdminLimitExceeded ); - - /// Destroy the Admin - void destroy(); - }; - - /** - * @interface SupplierAdmin - * - * @brief Interface used to control and obtain the proxies used by - * suppliers. - */ - interface SupplierAdmin - : CosNotification::QoSAdmin - , CosNotifyComm::NotifyPublish - , CosNotifyFilter::FilterAdmin - , CosEventChannelAdmin::SupplierAdmin - { - /// The ID assigned to this admin by its event channel - readonly attribute AdminID MyID; - - /// The event channel this admin belongs to - readonly attribute EventChannel MyChannel; - - /// How are multiple filters interpreted - readonly attribute InterFilterGroupOperator MyOperator; - - /// Get the complete list of pull proxy consumers - readonly attribute ProxyIDSeq pull_consumers; - - /// Get the complete list of push proxy consumers - readonly attribute ProxyIDSeq push_consumers; - - /// Get an specific ProxyConsumer - /** - * @param proxy_id The proxy ID that will be retrieved - * @throws ProxyNotFound if the proxy_id is not found in this - * SupplierAdmin - */ - ProxyConsumer get_proxy_consumer (in ProxyID proxy_id ) - raises ( ProxyNotFound ); - - /// Create a new pull-style proxy consumer - /** - * @param ctype The event format that the ProxyConsumer should - * support - * @param proxy_id The ID assigned to the new proxy consumer - * @return The new ProxyConsumer - * @throws AdminLimitExceeded if a limit in this admin is reached, - * such as the maximum number of proxies. - */ - ProxyConsumer obtain_notification_pull_consumer (in ClientType ctype, - out ProxyID proxy_id) - raises ( AdminLimitExceeded ); - - /// Create a new push-style proxy consumer - /** - * @param ctype The event format that the ProxyConsumer should - * support - * @param proxy_id The ID assigned to the new proxy consumer - * @return The new ProxySupplier - * @throws AdminLimitExceeded if a limit in this admin is reached, - * such as the maximum number of proxies. - */ - ProxyConsumer obtain_notification_push_consumer (in ClientType ctype, - out ProxyID proxy_id) - raises ( AdminLimitExceeded ); - - /// Destroy the Admin - void destroy(); - }; - - /** - * @interface EventChannel - * - * @brief Defines the interface to control an use an event channel - */ - interface EventChannel - : CosNotification::QoSAdmin - , CosNotification::AdminPropertiesAdmin - , CosEventChannelAdmin::EventChannel - { - /// The factory this event channel belongs to - readonly attribute EventChannelFactory MyFactory; - - /// The default consumer admin - readonly attribute ConsumerAdmin default_consumer_admin; - - /// The default supplier admin - readonly attribute SupplierAdmin default_supplier_admin; - - /// The default filter factory for this event channel - readonly attribute CosNotifyFilter::FilterFactory default_filter_factory; - - /// Create a new consumer admin - /** - * @param op Defines how multiple filters would be interpreted in - * the new consumer admin - * @param id Returns the ID assigned to the new consumer admin - * @return The new consumer admin - */ - ConsumerAdmin new_for_consumers(in InterFilterGroupOperator op, - out AdminID id ); - - /// Create a new supplier admin - /** - * @param op Defines how multiple filters would be interpreted in - * the new supplier admin - * @param id Returns the ID assigned to the new supplier admin - * @return The new supplier admin - */ - SupplierAdmin new_for_suppliers(in InterFilterGroupOperator op, - out AdminID id ); - - /// Fetch an specific consumer admin based on its ID - /** - * @param id The id of the consumer that should be returned - * @return The consumer admin assigned the given ID - * @throws AdminNotFound if there is no consumer admin with the ID - * provided - */ - ConsumerAdmin get_consumeradmin ( in AdminID id ) - raises (AdminNotFound); - - /// Fetch an specific supplier admin based on its ID - /** - * @param id The id of the supplier that should be returned - * @return The supplier admin assigned the given ID - * @throws AdminNotFound if there is no supplier admin with the ID - * provided - */ - SupplierAdmin get_supplieradmin ( in AdminID id ) - raises (AdminNotFound); - - /// Get the IDs of all the consumer admins - AdminIDSeq get_all_consumeradmins(); - - /// Get the IDs of all the supplier admins - AdminIDSeq get_all_supplieradmins(); - }; - - /// Each event channel is assigned a unique ID by its factory - typedef long ChannelID; - - /// Helper type used to return the complete list of event channel - /// IDs - typedef sequence ChannelIDSeq; - - /** - * @exception ChannelNotFound - * - * @brief Exception raised if an specific ChannelID is not found. - */ - exception ChannelNotFound {}; - - /** - * @interface EventChannelFactory - * - * @brief Defines the interface used to build event channels - */ - interface EventChannelFactory { - /// Create a new event channel - /** - * @param initial_qos Configure the initial QoS properties of the - * new EventChannel - * @param initial_admin Configure the initial Admin properties of - * the new EventChannel - * @param id Returns the ID assigned to the new EventChannel - * @return The new event channel - * @throws CosNotification::UnsupportedQoS if the requested QoS - * properties cannot be satisfied or are invalid - * @throws CosNotification::UnsupportedAdmin if the requested - * admin properties cannot be satisfied or are invalid - */ - EventChannel create_channel (in CosNotification::QoSProperties initial_qos, - in CosNotification::AdminProperties initial_admin, - out ChannelID id) - raises(CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin ); - - /// Get the complete list of event channels in this factory - ChannelIDSeq get_all_channels(); - - /// Get an event channel given its ID - /** - * @param id The ID of the event channel the application wants - * @return The event channel - * @throws ChannelNotFound if the give ID is unknown on this - * factory - */ - EventChannel get_event_channel ( in ChannelID id ) - raises (ChannelNotFound); - }; -}; - -#pragma prefix "" - -#endif /* _COS_NOTIFY_CHANNEL_ADMIN_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosNotifyComm.idl b/TAO/orbsvcs/orbsvcs/CosNotifyComm.idl deleted file mode 100644 index 59a19564db8..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotifyComm.idl +++ /dev/null @@ -1,387 +0,0 @@ -/** - * @file CosNotifyComm.idl - * - * @brief Define the CosNotifyComm module - * - * $Id$ - * - * This module is taken from the standard CORBA Notification Service - * 1.0, as described in: - * - * http://www.omg.org/technology/documents/formal/notification_service.htm - * - * In particular the following two documents were used: - * formal/2000-06-20 - * formal/01-03-03 - * - * @author Pradeep Gore - */ - -#ifndef _COS_NOTIFY_COMM_IDL_ -#define _COS_NOTIFY_COMM_IDL_ - -#include "CosNotification.idl" -#include "CosEventComm.idl" - -#pragma prefix "omg.org" - -/** - * @namespace CosNotifyComm - * - * @brief Define the interfaces implemented by users of the CORBA - * Notification Service. - */ -module CosNotifyComm -{ - /** - * @exception InvalidEventType - * - * @brief Exception raised to indicate that an EventType is - * syntactically or semantically invalid. - */ - exception InvalidEventType { - /// Type of invalid event - CosNotification::_EventType type; - }; - - /** - * @interface NotifyPublish - * - * @brief Defines interface to report changes in the events - * published to a consumer. - * - * Interfaces that represent consumers (or the consumer aspects of - * an Notification Service) provide this interface to receive - * notifications in the list of events they support. - */ - interface NotifyPublish { - /// Report a change in the list of publications. - /** - * @param added The list of new event types that the consumer can - * expect. - * @param removed The list of event types that the consumer should - * no longer expect. - * @throws InvalidEventType if the one or more event types - * provided is invalid - */ - void offer_change (in CosNotification::EventTypeSeq added, - in CosNotification::EventTypeSeq removed ) - raises ( InvalidEventType ); - }; - - /** - * @interface NotifySubscribe - * - * @brief Defines interface to report changes in the events required - * from a supplier. - * - * Interfaces that represent suppliers (or the supplier aspects of - * the Notification Service) provide this interface to receive - * changes - */ - interface NotifySubscribe { - /// Report a change in the list of subscriptions - /** - * @param added The list of new event types that are interesting - * for the supplier's peer. - * @param removed The list of event types that are no longer - * interesting for the supplier's peer. - * @throws InvalidEventType if the one or more event types - * provided is invalid - */ - void subscription_change(in CosNotification::EventTypeSeq added, - in CosNotification::EventTypeSeq removed ) - raises ( InvalidEventType ); - }; - - /** - * @interface PushConsumer - * - * @brief Defines the interface used by push-style consumers - * - * Push-style consumers passively accept events as anys. - */ - interface PushConsumer : - NotifyPublish, - CosEventComm::PushConsumer { - }; - -#ifdef TAO_HAS_NOTIFY_PULL_INTERFACES - /** - * @interface PullConsumer - * - * @brief Defines the interface used by pull-style consumers - * - * Pull-style consumer actively query the Notification Service to - * receive events. - */ - interface PullConsumer : - NotifyPublish, - CosEventComm::PullConsumer { - }; - - /** - * @interface PullSupplier - * - * @brief Defines the interface used by pull-style suppliers - * - * Pull-style suppliers passively provide events to the Notification - * Service. - */ - interface PullSupplier : - NotifySubscribe, - CosEventComm::PullSupplier { - }; -#endif /* TAO_HAS_NOTIFY_PULL_INTERFACES */ - /** - * @interface PushSupplier - * - * @brief Defines the interface used by push-style suppliers - * - * Push-style suppliers actively provide events to the Notifcation - * Service. - */ - interface PushSupplier : - NotifySubscribe, - CosEventComm::PushSupplier { - }; - - /** - * @interface StructuredPushConsumer - * - * @brief Defines the interface used by push-style consumers of - * structured events - * - * Push-style consumers passively receive events from the - * Notification Service. The events are provided using the - * CosNotification::StructuredEvent structure. - */ - interface StructuredPushConsumer : NotifyPublish { - /// Receive one structured event - /** - * This operation is invoked to provide one event to the - * consumer. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - void push_structured_event( - in CosNotification::StructuredEvent notification) - raises(CosEventComm::Disconnected); - - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_structured_push_consumer(); - }; - -#ifdef TAO_HAS_NOTIFY_PULL_INTERFACES - /** - * @interface StructuredPullConsumer - * - * @brief Defines the interface used by pull-style consumers of - * structured events - * - * Pull-style consumers actively retrieve events from the - * Notification Service. The events use the - * CosNotification::StructuredEvent format. - */ - interface StructuredPullConsumer : NotifyPublish { - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_structured_pull_consumer(); - }; - - /** - * @interface StructuredPullSupplier - * - * @brief Defines the interface used by pull-style suppliers of - * structured events - * - * Pull-style suppliers passively generate events for the - * Notification Service. The events use the - * CosNotification::StructuredEvent format. - */ - interface StructuredPullSupplier : NotifySubscribe { - /// Pull (blocking) one event from the supplier. - /** - * This operation should block until the next event becomes - * available. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - CosNotification::StructuredEvent pull_structured_event() - raises(CosEventComm::Disconnected); - - /// Pull (non-blocking) one event from the supplier. - /** - * The try_pull operation does not block: if the event data is - * available, it returns the event data and sets the has_event - * parameter to true; if the event is not available, it sets the - * has_event parameter to false and the event data is returned - * as long with an undefined value. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - CosNotification::StructuredEvent try_pull_structured_event( - out boolean has_event) - raises(CosEventComm::Disconnected); - - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_structured_pull_supplier(); - }; -#endif /* TAO_HAS_NOTIFY_PULL_INTERFACES */ - - /** - * @interface StructuredPushSupplier - * - * @brief Defines the interface used by push-style suppliers that - * provide structure events. - * - * Push-style suppliers actively provide events, in this case using - * the CosEventComm::StructuredEvent format. - */ - interface StructuredPushSupplier : NotifySubscribe { - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_structured_push_supplier(); - }; - - /** - * @interface SequencePushConsumer - * - * @brief Defines the interface used by push-style consumers that - * interested in event batches. - * - * Push-style consumer passively accept events, in this case - * multiple events can be delivered simulatneously. - */ - interface SequencePushConsumer : NotifyPublish { - /// Receive an event batch - /** - * This operation is invoked to provide an event batch to the - * consumer. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - void push_structured_events( - in CosNotification::EventBatch notifications) - raises(CosEventComm::Disconnected); - - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_sequence_push_consumer(); - }; - -#ifdef TAO_HAS_NOTIFY_PULL_INTERFACES - -/** - * @interface SequencePullConsumer - * - * @brief Defines the interface used by pull-style consumers that - * deal with event batches. - * - * Pull-style consumer actively query the Notification Service for - * events, this particular interface can obtain multiple events - * simultaneously. - */ - interface SequencePullConsumer : NotifyPublish { - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_sequence_pull_consumer(); - }; - - /** - * @interface SequencePullSupplier - * - * @brief Defines the interface used by pull-style suppliers that - * provide event batches. - * - * Pull-style suppliers passively provide events to the Notification - * Service. This particular interface can provide multiple events - * simultaneously. - */ - interface SequencePullSupplier : NotifySubscribe { - /// Pull (blocking) an event batch from the supplier - /** - * @param max_number Maximum number of events expected by the - * caller. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - CosNotification::EventBatch pull_structured_events( - in long max_number ) - raises(CosEventComm::Disconnected); - - /// Pull (non-blocking) an event batch from the supplier - /** - * @param max_number Maximum number of events expected by the - * caller. - * @param has_event Return FALSE if there are no events available, - * TRUE otherwise. - * @throws CosEventComm::Disconnected if the object considers - * itself no longer connected to its peer. - */ - CosNotification::EventBatch try_pull_structured_events( - in long max_number, - out boolean has_event) - raises(CosEventComm::Disconnected); - - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_sequence_pull_supplier(); - }; - -#endif /* TAO_HAS_NOTIFY_PULL_INTERFACES */ - - /** - * @interface SequencePushSupplier - * - * @brief Defines the interface used by push-style suppliers that - * provide event batches. - * - * Push-style suppliers actively generate events for the - * Notification Service. This particular interface can provide - * multiple events simultaneously. - */ - interface SequencePushSupplier : NotifySubscribe { - /// The peer has disconnected - /** - * This operation is invoked by the consumer peer when it wishes - * to disconnect. The consumer can safely assume that no more - * events will follow this request. - */ - void disconnect_sequence_push_supplier(); - }; -}; - -#pragma prefix "" - -#endif /* _COS_NOTIFY_COMM_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl b/TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl deleted file mode 100644 index 1326fb193bd..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl +++ /dev/null @@ -1,505 +0,0 @@ -/** - * @file CosNotifyFilter.idl - * - * @brief Defines the CosNotifyFilter module - * - * $Id$ - * - * This module is taken from the standard CORBA Notification Service - * 1.0, as described in: - * - * http://www.omg.org/technology/documents/formal/notification_service.htm - * - * In particular the following two documents were used: - * formal/2000-06-20 - * formal/01-03-03 - * - * @author Pradeep Gore - */ - -#ifndef _COS_NOTIFY_FILTER_IDL_ -#define _COS_NOTIFY_FILTER_IDL_ - -#include - -#include "CosNotifyComm.idl" - -#pragma prefix "omg.org" - -/** - * @namespace CosNotifyFilter - * - * @brief Defines the interfaces used in Event Filtering - */ -module CosNotifyFilter -{ - /// Constraints are assigned IDs by each Filter object, and can be - /// modified using those IDs. - typedef long ConstraintID; - - /** - * @struct ConstraintExp - * - * @brief Defines a constraint expression. - */ - struct ConstraintExp { - /// The list of event types accepted - CosNotification::EventTypeSeq event_types; - /// A constraint (or filtering) expression - string constraint_expr; - }; - - /// A sequence of constraint IDs - typedef sequence ConstraintIDSeq; - - /// A sequence of constraint expressions - typedef sequence ConstraintExpSeq; - - /** - * @struct ConstraintInfo - * - * @brief Helper data structure to modify a constraint expression. - */ - struct ConstraintInfo { - /// New constraint expression - ConstraintExp constraint_expression; - /// ID of the expression modified - ConstraintID constraint_id; - }; - - /// Sequence of Constraint infos, modify multiple constraints. - typedef sequence ConstraintInfoSeq; - - /** - * @struct MappingConstraintPair - * - * @brief Helper structure used to modify a mapping constraint - * expression. - */ - struct MappingConstraintPair { - /// Constraint expression - ConstraintExp constraint_expression; - /// Value to set in the property if the constraint expression - /// matches - any result_to_set; - }; - - /// Sequence of mapping constraint pairs - typedef sequence MappingConstraintPairSeq; - - /** - * @struct MappingConstraintInfo - * - * @brief Helper structure used to represent a mapping constraint, - * its property value and the ID assigned to it in a MappingFilter. - */ - struct MappingConstraintInfo { - ConstraintExp constraint_expression; - ConstraintID constraint_id; - any value; - }; - /// A list of MappingConstraintInfo - typedef sequence MappingConstraintInfoSeq; - - /// Each callback object receives a unique ID when it is attached to - /// a Filter - typedef long CallbackID; - - /// Batch management of callback objects in the Filter interface - typedef sequence CallbackIDSeq; - - /** - * @exception UnsupportedFilterableData - * - * @brief Exception raised when an event with unsupported filtered - * data is tested against a Filter. - */ - exception UnsupportedFilterableData {}; - - /** - * @exception InvalidGrammar - * - * @brief Exception raised if the filtering expression is using an - * invalid grammar. - */ - exception InvalidGrammar {}; - - /** - * @exception InvalidConstraint - * - * @brief Exception raised if a constraint's grammar does not match - * the Filter grammar. - * - * The constraint that is deemed invalid is returned as part of the - * exception. - */ - exception InvalidConstraint { - /// Constraint that caused the problem - ConstraintExp constr; - }; - - /** - * @exception DuplicateConstraintID - * - * @brief Exception raised if a duplicate ID is used while modifying - * or removing multiple constraints. - */ - exception DuplicateConstraintID { - /// ID causing the problem - ConstraintID id; - }; - - /** - * @exception ConstraintNotFound - * - * @brief Exception raised if a constraint ID is not found while - * modifying or removing multiple constraints. - */ - exception ConstraintNotFound { - /// ID causing the problem - ConstraintID id; - }; - - /** - * @exception CallbackNotFound - * - * @brief Exception raised if the application tries to remove a - * Filter callback that does not exists. - */ - exception CallbackNotFound {}; - - /** - * @exception InvalidValue - * - * @brief Exception raised if a modification or addition of a - * mapping constraint does not matches the mapping filter type. - */ - exception InvalidValue { - /// Constraint expression that cause the problem - ConstraintExp constr; - /// Value that caused the problem - any value; - }; - - /** - * @interface Filter - * - * @brief Interface used to manipulate and evaluate filters. - * - * An event filter posseses multiple constraints, each constraint - * applies to a limited range of event types, the filter is accepted - * if it matches one or more constraint expressions that apply to - * its event type. - */ - interface Filter { - /// Constraint grammar used in this filter - /** - * All filtering expressions in the filter should use this - * grammar. - */ - readonly attribute string constraint_grammar; - - /// Add constraints to a filter - /** - * Return the constraints and their IDs. - * - * @throws InvalidConstraint if one or more constraints contain - * invalid an invalid expression in the Filter constraint - * grammar. - */ - ConstraintInfoSeq add_constraints ( - in ConstraintExpSeq constraint_list) - raises (InvalidConstraint); - - /// Modify and/or remove multiple constraints in the Filter - /** - * The operation can raise InvalidConstraint if one or more - * constraints contain invalid expressions in the constraint - * grammar. - * - * @param del_list List of constraint IDs to be removed - * @param modify_list List of constrained modified - * - * @throws ConstraintNotFound If one or more of the ConstraintID - * supplied are not found. - */ - void modify_constraints ( - in ConstraintIDSeq del_list, - in ConstraintInfoSeq modify_list) - raises (InvalidConstraint, ConstraintNotFound); - - /// Obtain the one or more constraints given their IDs - /** - * @param id_list List of IDs queried - * - * @throws ConstraintNotFound if one or more of - * the ConstraintID supplied are not found. - */ - ConstraintInfoSeq get_constraints( - in ConstraintIDSeq id_list) - raises (ConstraintNotFound); - - /// The all the constraints in the Filter - ConstraintInfoSeq get_all_constraints(); - - /// Remove all the constraints from the Filter - void remove_all_constraints(); - - /// Destroy the Filter - void destroy(); - - /// Match a regular event against the constraints in the filter - /** - * @param filterable_data The Notification Service event to be - * tested against the constraints in this Filter - * @return TRUE if at least one constraint evaluates to TRUE for - * the event. - * @throws UnsupportedFilterableData if the event contents do not - * match the filtering expression, for example, if the - * expression for a filterable field expects a string, but the - * actual value is a number. - */ - boolean match ( in any filterable_data ) - raises (UnsupportedFilterableData); - - /// Match a structured event against the constraints in the filter - /** - * @param filterable_data The Notification Service event to be - * tested against the constraints in this Filter - * @return TRUE if at least one constraint expression evaluates - * to TRUE for the event. - * @throws UnsupportedFilterableData if the event contents do not - * match the filtering expression, for example, if the - * expression for a filterable field expects a string, but the - * actual value is a number. - */ - boolean match_structured ( - in CosNotification::StructuredEvent filterable_data ) - raises (UnsupportedFilterableData); - - /// Match a typed event against the constraints in the filter - /** - * @param filterable_data The sequence of properties that make the - * filterable portion of the Typed event. - * @return TRUE if at least one constraint expression evaluates - * to TRUE for the event. - * @throws UnsupportedFilterableData if the event contents do not - * match the filtering expression, for example, if the - * expression for a filterable field expects a string, but the - * actual value is a number. - */ - boolean match_typed ( - in CosNotification::PropertySeq filterable_data ) - raises (UnsupportedFilterableData); - - /// Add a callback interface to the filter - /** - * Filters can communicate changes in the list of event types they - * potentially accept. - * - * @param callback the object interested about changes in the - * Filter event type list. - * @return A unique ID attached to the callback interface. - */ - CallbackID attach_callback ( - in CosNotifyComm::NotifySubscribe callback); - - /// Remove a callback interface from the filter - /** - * @param callback The ID of the callback removed - * - * @throws CallbackNotFound if the callback id supplied is not - * found in the internal list of callbacks. - */ - void detach_callback ( in CallbackID callback) - raises ( CallbackNotFound ); - - /// Return all the callback IDs in the Filter object - CallbackIDSeq get_callbacks(); - }; - - /** - * @interface MappingFilter - * - * @brief Mapping filters can be used to change properties of an - * event as it traverses the Notification Service. - */ - interface MappingFilter { - /// Return the constraint grammar used in the mapping filter - readonly attribute string constraint_grammar; - - /// Return the type code for the property affected by this mapping - /// filter - readonly attribute CORBA::TypeCode value_type; - - /// Return the default value set by this mapping filter - /** - * The default value is used if there are no mapping constraint - * expressions matching the event. - */ - readonly attribute any default_value; - - /// Add multiple mapping constraints to the filter - /** - * @param pair_list List of constraint expressions and the - * corresponding property value - * - * @return The list of constraint expressions, their values, and - * the IDs assigned to them in this Filter. - * - * @throws InvalidConstraint if one or more constraint expressions - * do not match the constraint grammar of this mapping filter - * @throws InvalidValue if the value in one or more mapping - * constraint pairs does not match the type code for this - * mapping filter. - */ - MappingConstraintInfoSeq add_mapping_constraints ( - in MappingConstraintPairSeq pair_list) - raises (InvalidConstraint, InvalidValue); - - /// Modify and/or remove mapping constraints in the filter - /** - * @param del_list list of constraint IDs that should be removed - * @param modify_list list of constraints that would be modified - * - * @throws InvalidConstraint if one or more constraint expressions - * do not match the constraint grammar of this mapping filter - * @throws InvalidValue if the value in one or more mapping - * constraint pairs does not match the type code for this - * mapping filter. - * @throws ConstraintNotFound if one or more mapping constraint - * IDs are not found in the filter - */ - void modify_mapping_constraints ( - in ConstraintIDSeq del_list, - in MappingConstraintInfoSeq modify_list) - raises (InvalidConstraint, InvalidValue, ConstraintNotFound); - - /// Retrieve multiple mapping constraints from the filter - /** - * @param id_list the list of mapping constraint IDs requested - * @return The list of constraint expressions, their values and - * IDs. - * @throws ConstraintNotFound if one or more mapping constraint - * IDs are not found in the filter - */ - MappingConstraintInfoSeq get_mapping_constraints ( - in ConstraintIDSeq id_list) - raises (ConstraintNotFound); - - /// Get all the mapping constraints from the Filter - MappingConstraintInfoSeq get_all_mapping_constraints(); - - /// Remove all the mapping constraints in the Filter - void remove_all_mapping_constraints(); - - /// Destroy the mapping filter - void destroy(); - - /// Test an event against the mapping constraints - boolean match ( in any filterable_data, - out any result_to_set ) - raises (UnsupportedFilterableData); - - boolean match_structured ( - in CosNotification::StructuredEvent filterable_data, - out any result_to_set) - raises (UnsupportedFilterableData); - - boolean match_typed ( - in CosNotification::PropertySeq filterable_data, - out any result_to_set) - raises (UnsupportedFilterableData); - }; - - /** - * @interface FilterFactory - * - * @brief Create Filter and MappingFilter objects - */ - interface FilterFactory { - /// Create a new Filter object - /** - * @param constraint_grammar The name of the grammar used for this - * filter - * @throws InvalidGrammar The grammar name provided is invalid or - * unsupported - */ - Filter create_filter (in string constraint_grammar) - raises (InvalidGrammar); - - /// Create a new MappingFilter object - /** - * @param constraint_grammar The name of the grammar used for this - * filter - * @param default_value The default property value used if no - * mapping constraint matches - * @throws InvalidGrammar The grammar name provided is invalid or - * unsupported - */ - MappingFilter create_mapping_filter ( - in string constraint_grammar, - in any default_value) - raises(InvalidGrammar); - }; - - /// Each filter is assigned a unique ID - typedef long FilterID; - - /// List of filter IDs - typedef sequence FilterIDSeq; - - /** - * @exception FilterNotFound - * - * @brief Exception raised if a filter ID is not found. - */ - exception FilterNotFound {}; - - /** - * @interface FilterAdmin - * - * @brief Interface used to modify the Filters attached to a - * Notification Service component - */ - interface FilterAdmin { - /// Add a filter - /** - * @param new_filter Filter to be added - * @return The ID assigned to the new filter - */ - FilterID add_filter ( in Filter new_filter ); - - /// Remove a filter - /** - * @param filter ID of the filter to be removed - * @throws FilterNotFound if the filter ID is not found in this - * FilterAdmin - */ - void remove_filter ( in FilterID filter ) - raises ( FilterNotFound ); - - /// Get a filter - /** - * @param filter ID of the filter returned - * @return The filter - * @throws FilterNotFound if the filter ID is not found in this - * FilterAdmin - */ - Filter get_filter ( in FilterID filter ) - raises ( FilterNotFound ); - - /// Get the IDs of all the filters - /** - * @return The list of all filter IDs in this component - */ - FilterIDSeq get_all_filters(); - - /// Remove all the filters from this component - void remove_all_filters(); - }; -}; - -#pragma prefix "" - -#endif /* _COS_NOTIFY_FILTER_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosProperty.idl b/TAO/orbsvcs/orbsvcs/CosProperty.idl deleted file mode 100644 index 47049146af2..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosProperty.idl +++ /dev/null @@ -1,413 +0,0 @@ -// -*-c++-*- - -// $Id$ - -// ================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CosProperty.idl -// -// = DESCRITION -// The property service, downloaded from -// ftp://ftp.omg.org/pub/docs/1995/95-06-01.ps -// -// = AUTHOR -// Alexander Babu Arulanthu -// -// ================================================================ - -#ifndef TAO_PROPERTY_IDL -#define TAO_PROPERTY_IDL - -#include - -#pragma prefix "omg.org" - -module CosPropertyService -{ - // = TITLE - // CosPropertyService : To support properties (that are typed - // named values dynamically associated with an object, outside - // of the type system. - // - // = DESCRIPTION - // The data types and interfaces to deal with property names, - // property values, property modes etc. - - // = Data Types. - - typedef string PropertyName; - - struct Property - { - PropertyName property_name; - any property_value; - }; - - enum PropertyModeType - { - normal, - read_only, - fixed_normal, - fixed_readonly, - undefined - }; - - struct PropertyDef - { - PropertyName property_name; - any property_value; - PropertyModeType property_mode; - }; - - struct PropertyMode - { - PropertyName property_name; - PropertyModeType property_mode; - }; - - typedef sequence PropertyNames; - typedef sequence Properties; - typedef sequence PropertyDefs; - typedef sequence PropertyModes; - typedef sequence PropertyTypes; - - interface PropertyNamesIterator; - interface PropertiesIterator; - interface PropertySetFactory; - interface PropertySetDef; - interface PropertySet; - - // = Exceptions - - exception ConstraintNotSupported {}; - exception InvalidPropertyName {}; - exception ConflictingProperty {}; - exception PropertyNotFound {}; - exception UnsupportedTypeCode {}; - exception UnsupportedProperty {}; - exception UnsupportedMode {}; - exception FixedProperty {}; - exception ReadOnlyProperty {}; - - enum ExceptionReason - { - invalid_property_name, - conflicting_property, - property_not_found, - unsupported_type_code, - unsupported_property, - unsupported_mode, - fixed_property, - read_only_property - }; - - struct PropertyException - { - ExceptionReason reason; - PropertyName failing_property_name; - }; - - typedef sequence PropertyExceptions; - - exception MultipleExceptions - { - PropertyExceptions exceptions; - }; - - // = Interface Definitions. - - interface PropertySetFactory - { - // = TITLE - // Factory class for PropertySet interface. - // = DESCRIPTION - // Support for creating PropertySets with initial - // constraints and properties. - - PropertySet create_propertyset (); - // The create_propertyset operation returns a new - // PropertySet. It is considered an implementation issue as to - // whether the PropertySet contains any initial properties or - // has constraints. - - PropertySet create_constrained_propertyset (in PropertyTypes allowed_property_types, - in Properties allowed_properties) - raises (ConstraintNotSupported); - // The create_constrained_propertyset operation allows a client - // to create a new PropertySet with specific constraints. - - PropertySet create_initial_propertyset (in Properties initial_properties) - raises (MultipleExceptions); - // The create_initial_propertyset operation allows a client to - // create a new PropertySet with specific initial properties. - }; - - interface PropertySetDefFactory - { - // = TITLE - // Factory class for PropertySetDef interface. - // = DESCRIPTION - // Support for creating Propsetdefs with initial constraints - // and properties. - - PropertySetDef create_propertysetdef (); - // The create_propertysetdef operation returns a new - // PropertySetDef. - - PropertySetDef create_constrained_propertysetdef (in PropertyTypes allowed_property_types, - in PropertyDefs allowed_property_defs) - raises (ConstraintNotSupported); - // The create_constrained_propertysetdef operation allows a - // client to create a new PropertySetDef with specific - // constraints, including property modes. - - PropertySetDef create_initial_propertysetdef (in PropertyDefs initial_property_defs) - raises (MultipleExceptions); - // The create_initial_propertysetdef operation allows a client - // to create a new PropertySetDef with specific initial - // properties, including property modes. - }; - - interface PropertySet - { - // = TITLE - // The PropertySet interface provides operations to define - // and modify properties, list and get properties, and - // delete properties. - // - // = DESCRIPTION - // Provides support for defining and modifying properties, - // getting properties and their names and deleting properties. - - // = Support for defining and modifying properties. - - void define_property (in PropertyName property_name, - in any property_value) - raises (InvalidPropertyName, - ConflictingProperty, - UnsupportedTypeCode, - UnsupportedProperty, - ReadOnlyProperty); - // Will modify or add a property to the PropertySet. If the - // property already exists, then the property type is checked - // before the value is overwritten. If the property does not - // exist, then the property is added to the PropertySet. - - void define_properties (in Properties nproperties) - raises (MultipleExceptions); - // Will modify or add each of the properties in Properties - // parameter to the PropertySet. For each property in the list, - // if the property already exists, then the property type is - // checked before overwriting the value. If the property does - // not exist, then the property is added to the PropertySet. - - // = Support for Getting Properties and their Names. - - unsigned long get_number_of_properties (); - // Returns the current number of properties associated with this - // PropertySet. - - void get_all_property_names (in unsigned long how_many, - out PropertyNames property_names, - out PropertyNamesIterator rest); - // Returns all of the property names currently defined in the - // PropertySet. If the PropertySet contains more than how_many - // property names, then the remaining property names are put - // into the PropertyNamesIterator. - - any get_property_value (in PropertyName property_name) - raises (PropertyNotFound, - InvalidPropertyName); - // Returns the value of a property in the PropertySet. - - boolean get_properties (in PropertyNames property_names, - out Properties nproperties); - // Returns the values of the properties listed in - // property_names. - - void get_all_properties (in unsigned long how_many, - out Properties nproperties, - out PropertiesIterator rest); - // Returns all of the property names currently defined in the - // PropertySet. If the PropertySet contains more than how_many - // property names, then the remaining property names are put - // into the PropertyNamesIterator. - - // = Support for Deleting Properties. - - void delete_property (in PropertyName property_name) - raises (PropertyNotFound, - InvalidPropertyName, - FixedProperty); - // Deletes the specified property if it exists from a - // PropertySet. - - - void delete_properties (in PropertyNames property_names) - raises (MultipleExceptions); - // Deletes the properties defined in the property_names - // parameter. This is a batch operation that returns the - // MultipleExceptions exception if any delete failed. - - boolean delete_all_properties (); - // Variation of delete_properties. Applies to all properties. - - // = Support for Existence Check. - - boolean is_property_defined (in PropertyName property_name) - raises (InvalidPropertyName); - // The is_property_defined operation returns true if the - // property is defined in the PropertySet, and returns false - // otherwise. - }; - - interface PropertySetDef:PropertySet - { - // = TITLE - // Interface to deal with the Property Modes. - // - // = DESCRIPTION - // The PropertySetDef interface is a specialization - // (subclass) of the PropertySet interface. The - // PropertySetDef interface provides operations to retrieve - // PropertySet constraints, define and modify properties - // with modes, and to get or set property modes. - - void get_allowed_property_types (out PropertyTypes property_types); - // Indicates which types of properties are supported by this - // PropertySet. If the output sequence is empty, then there is - // no restrictions on the any TypeCode portion of the - // property_value field of a Property in this PropertySet, - // unless the get_allowed_properties output sequence is not empty. - - void get_allowed_properties (out PropertyDefs property_defs); - // Indicates which properties are supported by this - // PropertySet. If the output sequence is empty, then there is - // no restrictions on the properties that can be in this - // PropertySet, unless the get_allowed_property_types output - // sequence is not empty. - - void define_property_with_mode (in PropertyName property_name, - in any property_value, - in PropertyModeType property_mode) - raises (InvalidPropertyName, - ConflictingProperty, - UnsupportedTypeCode, - UnsupportedProperty, - UnsupportedMode, - ReadOnlyProperty); - // This operation will modify or add a property to the - // PropertySet. If the property already exists, then the - // property type is checked before the value is overwritten. The - // property mode is also checked to be sure a new value may be - // written. If the property does not exist, then the property is - // added to the PropertySet. To change the any TypeCode portion - // of the property_value of a property, a client must first - // delete_property, then invoke the define_property_with_mode. - - void define_properties_with_modes (in PropertyDefs property_defs) - raises (MultipleExceptions); - // This operation will modify or add each of the properties in - // the Properties parameter to the PropertySet. For each - // property in the list, if the property already exists, then - // the property type is checked before overwriting the - // value. The property mode is also checked to be sure a new - // value may be written. If the property does not exist, then - // the property is added to the PropertySet. This is a batch - // operation that returns the MultipleExceptions exception if - // any define operation failed. - - // = Support for Getting and Setting Property Modes. - - PropertyModeType get_property_mode (in PropertyName property_name) - raises (PropertyNotFound, - InvalidPropertyName); - // Support for Getting and Setting Property Modes. - - boolean get_property_modes (in PropertyNames property_names, - out PropertyModes property_modes); - // Support for Getting and Setting Property Modes. - - void set_property_mode (in PropertyName property_name, - in PropertyModeType property_mode) - raises (InvalidPropertyName, - PropertyNotFound, - UnsupportedMode); - // Sets the mode of a property in the PropertySet. - - void set_property_modes (in PropertyModes property_modes) - raises (MultipleExceptions); - // Sets the mode for each property in the property_modes - // parameter. This is a batch operation that returns the - // MultipleExceptions exception if any set failed. - - }; - - interface PropertyNamesIterator - { - // = TITLE - // Interface for iterating thru the Property Names. - // - // = DESCRIPTION - // The PropertyNamesIterator interface allows a client to - // iterate through the names using the next_one or next_n operations. - - void reset (); - // The reset operation resets the position in an iterator to the - // first property, if one exists. - - boolean next_one (out PropertyName property_name); - // The next_one operation returns true if an item exists at the - // current position in the iterator with an output parameter of - // a property name. A return of false signifies no more items in - // the iterator. - - boolean next_n (in unsigned long how_many, - out PropertyNames property_names); - // The next_n operation returns true if an item exists at the - // current position in the iterator and the how_many parameter - // was set greater than zero. The output is a PropertyNames - // sequence with at most the how_many number of names. A return - // of false signifies no more items in the iterator. - - void destroy (); - // The destroy operation destroys the iterator. - }; - - interface PropertiesIterator - { - // = TITLE - // Interface for iterating thru the Properties. - // - // = DESCRIPTION - // allows a client to through the name-value pairs using the - // next_one or next_n operations. - - void reset (); - // The reset operation resets the position in an iterator to the - // first property, if one exists. - - boolean next_one (out Property aproperty); - // The next_one operation returns true if an item exists at the - // current position in the iterator with an output parameter of - // a property. A return of false signifies no more items in the - // iterator. - - boolean next_n (in unsigned long how_many, - out Properties nproperties); - // The next_n operation returns true if an item exists at the - // current position in the iterator and the how_many parameter - // was set greater than zero. The output is a properties - // sequence with at most the how_many number of properties. A - // return of false signifies no more items in the iterator. - - void destroy (); - // The destroy operation destroys the iterator. - }; -}; - -#endif /* TAO_PROPERTY_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosProperty.mpc b/TAO/orbsvcs/orbsvcs/CosProperty.mpc deleted file mode 100644 index cc73a0a5fc8..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosProperty.mpc +++ /dev/null @@ -1,120 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosProperty_IDL) : orbsvcslib, core, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Property_Export -Wb,stub_export_include=orbsvcs/Property/property_export.h -Wb,skel_export_macro=TAO_Property_Skel_Export -Wb,skel_export_include=orbsvcs/Property/property_skel_export.h - - IDL_Files { - CosProperty.idl - - // This is a wrappper for backwards compatibility - CosPropertyService.idl - } -} - -project(CosProperty) : orbsvcslib, core { - sharedname = TAO_CosProperty - dynamicflags = TAO_PROPERTY_BUILD_DLL - tagchecks += Property - after += CosProperty_IDL - - IDL_Files { - } - - Source_Files { - CosPropertyC.cpp - CosPropertyServiceC.cpp - } - - Header_Files { - CosPropertyC.h - CosPropertyServiceC.h - Property/property_export.h - } - - Inline_Files { - CosPropertyC.inl - CosPropertyServiceC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel and _Serv rc files. - Resource_Files { - } - - Pkgconfig_Files { - TAO_CosProperty.pc.in - } -} - -project(CosProperty_Skel) : orbsvcslib, core, property, portableserver { - sharedname = TAO_CosProperty_Skel - dynamicflags = TAO_PROPERTY_SKEL_BUILD_DLL - tagchecks += Property - - IDL_Files { - } - - Source_Files { - CosPropertyS.cpp - CosPropertyServiceS.cpp - } - - Header_Files { - CosPropertyS.h - CosPropertyS_T.h - CosPropertyServiceS.h - CosPropertyServiceS_T.h - Property/property_skel_export.h - } - - Inline_Files { - CosPropertyS.inl - CosPropertyS_T.inl - CosPropertyServiceS.inl - CosPropertyServiceS_T.inl - } - - Template_Files { - CosPropertyS_T.cpp - CosPropertyServiceS_T.cpp - } - - Pkgconfig_Files { - TAO_CosProperty_Skel.pc.in - } -} - -project(CosProperty_Serv) : orbsvcslib, core, property_skel { - sharedname = TAO_CosProperty_Serv - dynamicflags = TAO_PROPERTY_SERV_BUILD_DLL - tagchecks += Property - - IDL_Files { - } - - Source_Files { - Property - } - - Header_Files { - Property - ^Property/property_export.h - ^Property/property_skel_export.h - } - - Inline_Files { - Property - } - - Template_Files { - Property - } - - Pkgconfig_Files { - TAO_CosProperty_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosProperty.rc b/TAO/orbsvcs/orbsvcs/CosProperty.rc deleted file mode 100644 index 7ac83c90c20..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosProperty.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosProperty\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosPropertyDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosProperty.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosPropertyService.idl b/TAO/orbsvcs/orbsvcs/CosPropertyService.idl deleted file mode 100644 index 90246368491..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosPropertyService.idl +++ /dev/null @@ -1,16 +0,0 @@ -// -// $Id$ -// - -#ifndef TAO_PROPERTYSERVICE_IDL -#define TAO_PROPERTYSERVICE_IDL - -// Force the IDL compiler to include this file [it does not include -// empty files] -#pragma prefix "omg.org" - -#include "CosProperty.idl" - -#pragma prefix "" - -#endif /* TAO_PROPERTYSERVICE_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosTime.mpc b/TAO/orbsvcs/orbsvcs/CosTime.mpc deleted file mode 100644 index 417a1c0d6ff..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTime.mpc +++ /dev/null @@ -1,33 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosTime) : orbsvcslib, svc_utils, core, portableserver, tao_versioning_idl_defaults { - sharedname = TAO_CosTime - idlflags += -Wb,export_macro=TAO_Time_Export -Wb,export_include=orbsvcs/Time/time_export.h - dynamicflags = TAO_TIME_BUILD_DLL - tagchecks += Time - - IDL_Files { - TimeService.idl - } - - Source_Files { - TimeServiceC.cpp - TimeServiceS.cpp - Time - } - - Header_Files { - Time/time_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosTime.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosTime.rc b/TAO/orbsvcs/orbsvcs/CosTime.rc deleted file mode 100644 index 98a8443e7c0..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTime.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosTime\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosTimeDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosTime.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosTrading.idl b/TAO/orbsvcs/orbsvcs/CosTrading.idl deleted file mode 100644 index c93ca6bef72..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTrading.idl +++ /dev/null @@ -1,522 +0,0 @@ -/* -*- C++ -*- */ - -// ======================================================================== -// $Id$ -// -// = FILENAME -// CosTrading.idl -// -// = DESCRIPTION -// Trader Service v1.0 described in CORBAservices: Common Object -// Services Specification, chapter 16 OMG IDL for Trading Function -// Module, p 16-74 -// -// ======================================================================== - -#ifndef TAO_TRADING_IDL -#define TAO_TRADING_IDL - -#pragma prefix "omg.org" - -module CosTrading -{ - // forward references to our interfaces - - interface Lookup; - interface Register; - interface Link; - interface Proxy; - interface Admin; - interface OfferIterator; - interface OfferIdIterator; - - // type definitions used in more than one interface - typedef string Istring; - typedef Object TypeRepository; - - typedef Istring PropertyName; - typedef sequence PropertyNameSeq; - typedef any PropertyValue; - - struct Property - { - PropertyName name; - PropertyValue value; - }; - typedef sequence PropertySeq; - - struct Offer - { - Object reference; - PropertySeq properties; - }; - typedef sequence OfferSeq; - - typedef string OfferId; - typedef sequence OfferIdSeq; - - typedef Istring ServiceTypeName; // similar structure to IR::Identifier - - typedef Istring Constraint; - - enum FollowOption - { - local_only, - if_no_local, - always - }; - - typedef Istring LinkName; - typedef sequence LinkNameSeq; - typedef LinkNameSeq TraderName; - - typedef string PolicyName; // policy names restricted to Latin1 - typedef sequence PolicyNameSeq; - typedef any PolicyValue; - - struct Policy - { - PolicyName name; - PolicyValue value; - }; - typedef sequence PolicySeq; - - // exceptions used in more than one interface - - exception UnknownMaxLeft {}; - - exception NotImplemented {}; - - exception IllegalServiceType - { - ServiceTypeName type; - }; - - exception UnknownServiceType - { - ServiceTypeName type; - }; - - exception IllegalPropertyName - { - PropertyName name; - }; - - exception DuplicatePropertyName - { - PropertyName name; - }; - - exception PropertyTypeMismatch - { - ServiceTypeName type; - Property prop; - }; - - exception MissingMandatoryProperty - { - ServiceTypeName type; - PropertyName name; - }; - - exception ReadonlyDynamicProperty - { - ServiceTypeName type; - PropertyName name; - }; - - exception IllegalConstraint - { - Constraint constr; - }; - - exception InvalidLookupRef - { - Lookup target; - }; - - exception IllegalOfferId - { - OfferId id; - }; - - exception UnknownOfferId - { - OfferId id; - }; - - exception DuplicatePolicyName - { - PolicyName name; - }; - - // the interfaces - - interface TraderComponents - { - readonly attribute Lookup lookup_if; - readonly attribute Register register_if; - readonly attribute Link link_if; - readonly attribute Proxy proxy_if; - readonly attribute Admin admin_if; - }; - - interface SupportAttributes - { - readonly attribute boolean supports_modifiable_properties; - readonly attribute boolean supports_dynamic_properties; - readonly attribute boolean supports_proxy_offers; - readonly attribute TypeRepository type_repos; - }; - - interface ImportAttributes - { - readonly attribute unsigned long def_search_card; - readonly attribute unsigned long max_search_card; - readonly attribute unsigned long def_match_card; - readonly attribute unsigned long max_match_card; - readonly attribute unsigned long def_return_card; - readonly attribute unsigned long max_return_card; - readonly attribute unsigned long max_list; - readonly attribute unsigned long def_hop_count; - readonly attribute unsigned long max_hop_count; - readonly attribute FollowOption def_follow_policy; - readonly attribute FollowOption max_follow_policy; - }; - - interface LinkAttributes - { - readonly attribute FollowOption max_link_follow_policy; - }; - - interface Lookup:TraderComponents,SupportAttributes,ImportAttributes - { - typedef Istring Preference; - - enum HowManyProps { none, some, all }; - - union SpecifiedProps switch ( HowManyProps ) - { - case some: PropertyNameSeq prop_names; - }; - - exception IllegalPreference { - Preference pref; - }; - - exception IllegalPolicyName { - PolicyName name; - }; - - exception PolicyTypeMismatch { - Policy the_policy; - }; - - exception InvalidPolicyValue { - Policy the_policy; - }; - - void query (in ServiceTypeName type, - in Constraint constr, - in Preference pref, - in PolicySeq policies, - in SpecifiedProps desired_props, - in unsigned long how_many, - out OfferSeq offers, - out OfferIterator offer_itr, - out PolicyNameSeq limits_applied) - raises (IllegalServiceType, - UnknownServiceType, - IllegalConstraint, - IllegalPreference, - IllegalPolicyName, - PolicyTypeMismatch, - InvalidPolicyValue, - IllegalPropertyName, - DuplicatePropertyName, - DuplicatePolicyName); - }; - - interface Register : TraderComponents, SupportAttributes - { - struct OfferInfo - { - Object reference; - ServiceTypeName type; - PropertySeq properties; - }; - - exception InvalidObjectRef { - Object ref; - }; - - exception UnknownPropertyName { - PropertyName name; - }; - - exception InterfaceTypeMismatch { - ServiceTypeName type; - Object reference; - }; - - exception ProxyOfferId { - OfferId id; - }; - - exception MandatoryProperty { - ServiceTypeName type; - PropertyName name; - }; - - exception ReadonlyProperty { - ServiceTypeName type; - PropertyName name; - }; - - exception NoMatchingOffers { - Constraint constr; - }; - - exception IllegalTraderName { - TraderName name; - }; - - exception UnknownTraderName { - TraderName name; - }; - - exception RegisterNotSupported { - TraderName name; - }; - - OfferId export (in Object reference, - in ServiceTypeName type, - in PropertySeq properties) - raises (InvalidObjectRef, - IllegalServiceType, - UnknownServiceType, - InterfaceTypeMismatch, - IllegalPropertyName, // e.g. prop_name = " OctetSeq; - - readonly attribute OctetSeq request_id_stem; - - unsigned long set_def_search_card (in unsigned long value); - unsigned long set_max_search_card (in unsigned long value); - - unsigned long set_def_match_card (in unsigned long value); - unsigned long set_max_match_card (in unsigned long value); - - unsigned long set_def_return_card (in unsigned long value); - unsigned long set_max_return_card (in unsigned long value); - - unsigned long set_max_list (in unsigned long value); - - boolean set_supports_modifiable_properties (in boolean value); - boolean set_supports_dynamic_properties (in boolean value); - boolean set_supports_proxy_offers (in boolean value); - - unsigned long set_def_hop_count (in unsigned long value); - unsigned long set_max_hop_count (in unsigned long value); - - FollowOption set_def_follow_policy (in FollowOption policy); - FollowOption set_max_follow_policy (in FollowOption policy); - - FollowOption set_max_link_follow_policy (in FollowOption policy); - - TypeRepository set_type_repos (in TypeRepository repository); - - OctetSeq set_request_id_stem (in OctetSeq stem); - - void list_offers (in unsigned long how_many, - out OfferIdSeq ids, - out OfferIdIterator id_itr) - raises (NotImplemented); - - void list_proxies (in unsigned long how_many, - out OfferIdSeq ids, - out OfferIdIterator id_itr) - raises (NotImplemented); - }; - - interface OfferIterator - { - unsigned long max_left () - raises (UnknownMaxLeft); - - boolean next_n (in unsigned long n, - out OfferSeq offers); - - void destroy (); - }; - - interface OfferIdIterator - { - unsigned long max_left () - raises (UnknownMaxLeft); - - boolean next_n (in unsigned long n, - out OfferIdSeq ids); - - void destroy (); - }; - -}; /* end module CosTrading */ - -#endif /* TAO_TRADING_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosTrading.mpc b/TAO/orbsvcs/orbsvcs/CosTrading.mpc deleted file mode 100644 index ef436ac2479..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTrading.mpc +++ /dev/null @@ -1,133 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(CosTrading_IDL) : orbsvcslib, core, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Trading_Export -Wb,stub_export_include=orbsvcs/Trader/trading_export.h -Wb,skel_export_macro=TAO_Trading_Skel_Export -Wb,skel_export_include=orbsvcs/Trader/trading_skel_export.h - - IDL_Files { - CosTrading.idl - CosTradingRepos.idl - CosTradingDynamic.idl - } -} - - -project(CosTrading) : orbsvcslib, core { - sharedname = TAO_CosTrading - dynamicflags = TAO_TRADING_BUILD_DLL - tagchecks += Trader - after += CosTrading_IDL - - IDL_Files { - } - - Source_Files { - CosTradingC.cpp - CosTradingReposC.cpp - CosTradingDynamicC.cpp - } - - Header_Files { - CosTradingC.h - CosTradingReposC.h - CosTradingDynamicC.h - Trader/trading_export.h - } - - Inline_Files { - CosTradingC.inl - CosTradingReposC.inl - CosTradingDynamicC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - CosTrading.rc - } - - Pkgconfig_Files { - TAO_CosTrading.pc.in - } -} - - -project(CosTrading_Skel) : orbsvcslib, core, trading, portableserver { - sharedname = TAO_CosTrading_Skel - dynamicflags = TAO_TRADING_SKEL_BUILD_DLL - tagchecks += Trader - - IDL_Files { - } - - Source_Files { - CosTradingS.cpp - CosTradingReposS.cpp - CosTradingDynamicS.cpp - } - - Header_Files { - CosTradingS.h - CosTradingReposS.h - CosTradingDynamicS.h - - CosTradingS_T.h - CosTradingReposS_T.h - CosTradingDynamicS_T.h - - Trader/trading_skel_export.h - } - - Inline_Files { - CosTradingS.inl - CosTradingReposS.inl - CosTradingDynamicS.inl - - CosTradingS_T.inl - CosTradingReposS_T.inl - CosTradingDynamicS_T.inl - } - - Template_Files { - CosTradingS_T.cpp - CosTradingReposS_T.cpp - CosTradingDynamicS_T.cpp - } - - Pkgconfig_Files { - TAO_CosTrading_Skel.pc.in - } -} - - -project(CosTrading_Serv) : orbsvcslib, core, trading_skel, dynamicany, svc_utils, utils, iortable { - sharedname = TAO_CosTrading_Serv - dynamicflags = TAO_TRADING_SERV_BUILD_DLL - tagchecks += Trader - pch_header = - pch_source = - - IDL_Files { - } - - Source_Files { - Trader - } - - Header_Files { - Trader/trading_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_CosTrading_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/CosTrading.rc b/TAO/orbsvcs/orbsvcs/CosTrading.rc deleted file mode 100644 index 4c97fd47c18..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTrading.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosTrading\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosTradingDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosTrading.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl b/TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl deleted file mode 100644 index 27ffedbbf35..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- C++ -*- */ - -// ======================================================================== -// $Id$ -// -// = FILENAME -// CosTradingDynamic.idl -// -// = DESCRIPTION -// Trader Service v1.0 described in CORBAservices: Common Object -// Services Specification, chapter 16 OMG IDL for Trading Function -// Module, p 16-74 -// -// ======================================================================== - -#ifndef TAO_TRADING_DYNAMIC_IDL -#define TAO_TRADING_DYNAMIC_IDL - -#include -#include "CosTrading.idl" - -#pragma prefix "omg.org" - -// OMG IDL for Dynamic Property Module, p 16-88 - -module CosTradingDynamic -{ - - exception DPEvalFailure { - CosTrading::PropertyName name; - CORBA::TypeCode returned_type; - any extra_info; - }; - - interface DynamicPropEval - { - any evalDP (in CosTrading::PropertyName name, - in CORBA::TypeCode returned_type, - in any extra_info) - raises (DPEvalFailure); - }; - - struct DynamicProp { - DynamicPropEval eval_if; - CORBA::TypeCode returned_type; - any extra_info; - }; -}; /* end module CosTradingDynamic */ - -#endif /* TAO_TRADING_DYNAMIC_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosTradingRepos.idl b/TAO/orbsvcs/orbsvcs/CosTradingRepos.idl deleted file mode 100644 index 0462030155e..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTradingRepos.idl +++ /dev/null @@ -1,159 +0,0 @@ -/* -*- C++ -*- */ - -// ======================================================================== -// $Id$ -// -// = FILENAME -// CosTradingRepos.idl -// -// = DESCRIPTION -// Trader Service v1.0 described in CORBAservices: Common Object -// Services Specification, chapter 16 OMG IDL for Trading Function -// Module, p 16-74 -// -// ======================================================================== - -#ifndef TAO_TRADING_REPOS_IDL -#define TAO_TRADING_REPOS_IDL - -#include -#include "CosTrading.idl" - -#pragma prefix "omg.org" - -// OMG IDL for Service Type Repository Module, p 16-89 - -module CosTradingRepos -{ - interface ServiceTypeRepository - { - // local types - typedef sequence ServiceTypeNameSeq; - enum PropertyMode { - PROP_NORMAL, PROP_READONLY, - PROP_MANDATORY, PROP_MANDATORY_READONLY - }; - struct PropStruct - { - CosTrading::PropertyName name; - CORBA::TypeCode value_type; - PropertyMode mode; - }; - typedef sequence PropStructSeq; - - typedef CosTrading::Istring Identifier; // IR::Identifier - - struct IncarnationNumber - { - unsigned long high; - unsigned long low; - }; - - struct TypeStruct - { - Identifier if_name; - PropStructSeq props; - ServiceTypeNameSeq super_types; - boolean masked; - IncarnationNumber incarnation; - }; - - enum ListOption { all, since }; - union SpecifiedServiceTypes switch ( ListOption ) { - case all: boolean all_; - case since: IncarnationNumber incarnation; - }; - - // local exceptions - exception ServiceTypeExists { - CosTrading::ServiceTypeName name; - }; - - exception InterfaceTypeMismatch { - CosTrading::ServiceTypeName base_service; - Identifier base_if; - CosTrading::ServiceTypeName derived_service; - Identifier derived_if; - }; - - exception HasSubTypes { - CosTrading::ServiceTypeName the_type; - CosTrading::ServiceTypeName sub_type; - }; - - exception AlreadyMasked { - CosTrading::ServiceTypeName name; - }; - - exception NotMasked { - CosTrading::ServiceTypeName name; - }; - - exception ValueTypeRedefinition { - CosTrading::ServiceTypeName type_1; - PropStruct definition_1; - CosTrading::ServiceTypeName type_2; - PropStruct definition_2; - }; - - exception DuplicateServiceTypeName { - CosTrading::ServiceTypeName name; - }; - - // attributes - readonly attribute IncarnationNumber incarnation; - - // operation signatures - IncarnationNumber add_type (in CosTrading::ServiceTypeName name, - in Identifier if_name, - in PropStructSeq props, - in ServiceTypeNameSeq super_types) - raises (CosTrading::IllegalServiceType, - ServiceTypeExists, - InterfaceTypeMismatch, - CosTrading::IllegalPropertyName, - CosTrading::DuplicatePropertyName, - ValueTypeRedefinition, - CosTrading::UnknownServiceType, - DuplicateServiceTypeName); - - void remove_type (in CosTrading::ServiceTypeName name) - raises (CosTrading::IllegalServiceType, - CosTrading::UnknownServiceType, - HasSubTypes); - - ServiceTypeNameSeq list_types (in SpecifiedServiceTypes which_types); - - TypeStruct describe_type (in CosTrading::ServiceTypeName name) - raises (CosTrading::IllegalServiceType, - CosTrading::UnknownServiceType); - - TypeStruct fully_describe_type (in CosTrading::ServiceTypeName name) - raises (CosTrading::IllegalServiceType, - CosTrading::UnknownServiceType); - - void mask_type (in CosTrading::ServiceTypeName name) - raises (CosTrading::IllegalServiceType, - CosTrading::UnknownServiceType, - AlreadyMasked); - - void unmask_type (in CosTrading::ServiceTypeName name) - raises (CosTrading::IllegalServiceType, - CosTrading::UnknownServiceType, - NotMasked); - }; -}; /* end module CosTradingRepos */ - -module CosTradingSequences -{ - typedef sequence ShortSeq; - typedef sequence UShortSeq; - typedef sequence LongSeq; - typedef sequence ULongSeq; - typedef sequence BooleanSeq; - typedef sequence FloatSeq; - typedef sequence DoubleSeq; - typedef sequence StringSeq; -}; - -#endif /* TAO_TRADING_REPOS_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/CosTrading_Serv.rc b/TAO/orbsvcs/orbsvcs/CosTrading_Serv.rc deleted file mode 100644 index f079fe2686c..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTrading_Serv.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosTrading_Serv\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosTrading_ServDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosTrading_Serv.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosTrading_Skel.rc b/TAO/orbsvcs/orbsvcs/CosTrading_Skel.rc deleted file mode 100644 index 587858c0034..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTrading_Skel.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosTrading_Skel\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosTrading_SkelDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosTrading_Skel.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/CosTypedEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/CosTypedEventChannelAdmin.idl deleted file mode 100644 index 5a809fb1642..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTypedEventChannelAdmin.idl +++ /dev/null @@ -1,62 +0,0 @@ - -//============================================================================= -/** -* @file CosTypedEventChannelAdmin.idl -* -* $Id$ -* -* @brief Part of the Event Service -* See http://www.omg.org/docs/formal/01-03-01.pdf -*/ -//============================================================================= - -#ifndef _COS_TYPED_EVENT_CHANNEL_ADMIN_IDL_ -#define _COS_TYPED_EVENT_CHANNEL_ADMIN_IDL_ - -#include "CosEventChannelAdmin.idl" -#include "CosTypedEventComm.idl" - -#pragma prefix "omg.org" - -module CosTypedEventChannelAdmin { - - exception InterfaceNotSupported {}; - exception NoSuchImplementation {}; - typedef string Key; - - interface TypedProxyPushConsumer : - CosEventChannelAdmin::ProxyPushConsumer, - CosTypedEventComm::TypedPushConsumer { }; - - interface TypedProxyPullSupplier : - CosEventChannelAdmin::ProxyPullSupplier, - CosTypedEventComm::TypedPullSupplier { }; - - interface TypedSupplierAdmin : - CosEventChannelAdmin::SupplierAdmin { - TypedProxyPushConsumer obtain_typed_push_consumer( - in Key supported_interface) - raises(InterfaceNotSupported); - CosEventChannelAdmin::ProxyPullConsumer obtain_typed_pull_consumer ( - in Key uses_interface) - raises(NoSuchImplementation); - }; - - interface TypedConsumerAdmin : - CosEventChannelAdmin::ConsumerAdmin { - TypedProxyPullSupplier obtain_typed_pull_supplier( - in Key supported_interface) - raises (InterfaceNotSupported); - CosEventChannelAdmin::ProxyPushSupplier obtain_typed_push_supplier( - in Key uses_interface) - raises(NoSuchImplementation); - }; - - interface TypedEventChannel { - TypedConsumerAdmin for_consumers(); - TypedSupplierAdmin for_suppliers(); - void destroy (); - }; -}; - -#endif /* _COS_TYPED_EVENT_CHANNEL_ADMIN_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/CosTypedEventComm.idl b/TAO/orbsvcs/orbsvcs/CosTypedEventComm.idl deleted file mode 100644 index a210c06d616..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosTypedEventComm.idl +++ /dev/null @@ -1,32 +0,0 @@ - -//============================================================================= -/** -* @file CosTypedEventComm.idl -* -* $Id$ -* -* @brief Part of the Event Service -* See http://www.omg.org/docs/formal/01-03-01.pdf -*/ -//============================================================================= - -#ifndef _COS_TYPED_EVENT_COMM_IDL_ -#define _COS_TYPED_EVENT_COMM_IDL_ - -#include "CosEventComm.idl" - -#pragma prefix "omg.org" - -module CosTypedEventComm { - - interface TypedPushConsumer : CosEventComm::PushConsumer { - Object get_typed_consumer(); - }; - - interface TypedPullSupplier : CosEventComm::PullSupplier { - Object get_typed_supplier(); - }; - -}; - -#endif // _COS_TYPED_EVENT_COMM_IDL diff --git a/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.idl b/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.idl deleted file mode 100644 index 0bebdb87218..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.idl +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = FILENAME -// DsEventLogAdmin.idl -// -// = DESCRIPTION -// This module defines the EventLog and -// EventLogFactory interfaces. -// -// = AUTHOR -// D A Hanvey (d.hanvey@qub.ac.uk) -// -// ============================================================================ - -#ifndef DS_EVENT_LOG_ADMIN_IDL -#define DS_EVENT_LOG_ADMIN_IDL - -#include "CosEventChannelAdmin.idl" -// CORBA Event Service - -#include "DsLogAdmin.idl" - -#pragma prefix "omg.org" - -module DsEventLogAdmin -{ - interface EventLog : DsLogAdmin::Log, - CosEventChannelAdmin::EventChannel{}; - - interface EventLogFactory : DsLogAdmin::LogMgr, - CosEventChannelAdmin::ConsumerAdmin - { - EventLog create ( - in DsLogAdmin::LogFullActionType full_action, - in unsigned long long max_size, - in DsLogAdmin::CapacityAlarmThresholdList thresholds, - out DsLogAdmin::LogId id - ) raises (DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold); - - EventLog create_with_id ( - in DsLogAdmin::LogId id, - in DsLogAdmin::LogFullActionType full_action, - in unsigned long long max_size, - in DsLogAdmin::CapacityAlarmThresholdList thresholds - ) raises (DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold); - - }; - -}; - -#endif /* DS_EVENT_LOG_ADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.mpc b/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.mpc deleted file mode 100644 index 4322406dedc..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.mpc +++ /dev/null @@ -1,108 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(DsEventLogAdmin_IDL) : orbsvcslib, core, dslogadmin, event, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_EventLog_Export -Wb,stub_export_include=orbsvcs/Log/eventlog_export.h -Wb,skel_export_macro=TAO_EventLog_Skel_Export -Wb,skel_export_include=orbsvcs/Log/eventlog_skel_export.h - - IDL_Files { - DsEventLogAdmin.idl - } -} - -project(DsEventLogAdmin) : orbsvcslib, core, dslogadmin, event { - sharedname = TAO_DsEventLogAdmin - dynamicflags = TAO_EVENTLOG_BUILD_DLL - tagchecks += EventLog - after += DsEventLogAdmin_IDL - - IDL_Files { - } - - Source_Files { - DsEventLogAdminC.cpp - } - - Header_Files { - DsEventLogAdminC.h - Log/eventlog_export.h - } - - Inline_Files { - DsEventLogAdminC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - DsEventLogAdmin.rc - } - - Pkgconfig_Files { - TAO_DsEventLogAdmin.pc.in - } -} - -project(DsEventLogAdmin_Skel) : orbsvcslib, core, dseventlogadmin, dslogadmin_skel, event_skel, portableserver { - sharedname = TAO_DsEventLogAdmin_Skel - dynamicflags = TAO_EVENTLOG_SKEL_BUILD_DLL - tagchecks += EventLog - - IDL_Files { - } - - Source_Files { - DsEventLogAdminS.cpp - } - - Header_Files { - DsEventLogAdminS.h - DsEventLogAdminS_T.h - Log/eventlog_skel_export.h - } - - Inline_Files { - DsEventLogAdminS.inl - DsEventLogAdminS_T.inl - } - - Template_Files { - DsEventLogAdminS_T.cpp - } - - Pkgconfig_Files { - TAO_DsEventLogAdmin_Skel.pc.in - } -} - -project(DsEventLogAdmin_Serv) : orbsvcslib, core, dseventlogadmin_skel, dslogadmin_serv, event_serv { - sharedname = TAO_DsEventLogAdmin_Serv - dynamicflags = TAO_EVENTLOG_SERV_BUILD_DLL - tagchecks += EventLog - - IDL_Files { - } - - Source_Files { - Log/EventLogConsumer.cpp - Log/EventLogFactory_i.cpp - Log/EventLogNotification.cpp - Log/EventLog_i.cpp - } - - Header_Files { - Log/eventlog_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_DsEventLogAdmin_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.rc b/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.rc deleted file mode 100644 index 0fec7155d31..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsEventLogAdmin.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "DsEventLogAdmin\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_DsEventLogAdminDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_DsEventLogAdmin.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/DsLogAdmin.idl b/TAO/orbsvcs/orbsvcs/DsLogAdmin.idl deleted file mode 100644 index 9e5fa09bae9..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsLogAdmin.idl +++ /dev/null @@ -1,337 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = FILENAME -// DsLogAdmin.idl -// -// = DESCRIPTION -// This module defines the Log, Iterator, LogMgr and LogFactory -// interfaces for the OMG's Telecom Event Log Service -// -// ============================================================================ - -#ifndef DS_LOG_ADMIN_IDL -#define DS_LOG_ADMIN_IDL - -#include "tao/TimeBase.pidl" -// CORBA Time Service - -#pragma prefix "omg.org" - -module DsLogAdmin -{ - exception InvalidParam {string details;}; - exception InvalidThreshold {}; - exception InvalidTime {}; - exception InvalidTimeInterval {}; - exception InvalidMask {}; - exception LogIdAlreadyExists {}; - exception InvalidGrammar{}; - exception InvalidConstraint{}; - exception LogFull {short n_records_written;}; - exception LogOffDuty {}; - exception LogLocked {}; - exception LogDisabled {}; - exception InvalidRecordId {}; - exception InvalidAttribute {string attr_name; any value;}; - exception InvalidLogFullAction {}; - - - typedef unsigned long LogId; - // LogIds are unique within the scope of the log factory. - - typedef unsigned long long RecordId; - // RecordIds are unique within the scope of one log. - - typedef sequence RecordIdList; - const string default_grammar = "EXTENDED_TCL"; - // Default grammar used for log record queries. - typedef string Constraint; - // A query string - typedef TimeBase::TimeT TimeT; - - struct NVPair - { - string name; - any value; - }; - typedef sequence NVList; - - struct TimeInterval - { - TimeT start; - TimeT stop; - }; - - typedef sequence TimeIntervalSeq; - - struct LogRecord - { - RecordId id; - // Unique number assigned by the log - TimeT time; - // Time when the event is logged - NVList attr_list; - // List of user defined name/value pairs. Not part of the event - // received by the log. Optional. - any info; - // Event content - }; - - typedef sequence RecordList; - typedef sequence Anys; - - - interface Iterator - { - // = TITLE - // Iterator with bulk operation support; returned as a - // result of querying the Log - // - // = DESCRIPTION - // Allows clients to iterate over a list of LogRecords - // returned from a query () or retrieve () operation - - RecordList get(in unsigned long position, - in unsigned long how_many) raises(InvalidParam); - // Returns a maximum of records, starting from - // position - - void destroy(); - // Destroy the iterator - }; - - struct AvailabilityStatus - { - boolean off_duty; - boolean log_full; - }; - - typedef unsigned short LogFullActionType; - - const LogFullActionType wrap = 0; - const LogFullActionType halt = 1; - - struct Time24 - { - unsigned short hour;// 0-23 - unsigned short minute;// 0-59 - }; - - struct Time24Interval - { - Time24 start; - Time24 stop; - }; - - typedef sequence IntervalsOfDay; - const unsigned short Sunday = 1; - const unsigned short Monday = 2; - const unsigned short Tuesday = 4; - const unsigned short Wednesday = 8; - const unsigned short Thursday = 16; - const unsigned short Friday = 32; - const unsigned short Saturday = 64; - typedef unsigned short DaysOfWeek;// Bit mask of week days - - struct WeekMaskItem - { - DaysOfWeek days; - IntervalsOfDay intervals; - }; - - typedef sequence WeekMask; - typedef unsigned short Threshold; // 0-100 % - typedef sequence CapacityAlarmThresholdList; - interface LogMgr; - - enum OperationalState { disabled, enabled }; - // Logging enabled/disabled. If the log is enabled, it can be - // queried. If it is disabled, is may not be. - - enum AdministrativeState { locked, unlocked }; - // Logging on/off. If the log is locked, new records cannot be - // added, but records can be queried. - - enum ForwardingState { on, off }; - // Forwarding on/off. If forwarding is on, the log should forward - // records to other event consumers. - - typedef unsigned short QoSType; - typedef sequence QoSList; - - exception UnsupportedQoS { QoSList denied; }; - const QoSType QoSNone = 0; - const QoSType QoSFlush = 1; - const QoSType QoSReliability = 2; - - - interface Log - { - LogMgr my_factory(); - // Return the factory of the log - - LogId id(); - // Return the id of the log - - QoSList get_log_qos(); - void set_log_qos(in QoSList qos) raises(UnsupportedQoS); - // Get or set the list of the QoS properties supported by the log - - unsigned long get_max_record_life(); - void set_max_record_life(in unsigned long life); - // Get and set the record life in seconds (0 == infinite) - - unsigned long long get_max_size(); - void set_max_size(in unsigned long long size) raises (InvalidParam); - // Get and set the maximum size in octets (0 == no limit) - - unsigned long long get_current_size(); - // Return the current size in octets - - unsigned long long get_n_records(); - // Return the number of records in the log - - LogFullActionType get_log_full_action(); - void set_log_full_action(in LogFullActionType action) - raises(InvalidLogFullAction); - // Get and set the action to be taken when the log reaches its - // maximum size - - AdministrativeState get_administrative_state(); - void set_administrative_state(in AdministrativeState state); - // Get and set the administrative state (locked/unlocked) - - ForwardingState get_forwarding_state(); - void set_forwarding_state(in ForwardingState state); - // Get and set the forwarding state (on or off) - - OperationalState get_operational_state(); - // Returns the operational state (disabled or enabled) - - TimeInterval get_interval(); - void set_interval(in TimeInterval interval) - raises (InvalidTime, InvalidTimeInterval); - // Get and set the log duration - - AvailabilityStatus get_availability_status(); - // Return the availability status (off_duty or log_full) - - CapacityAlarmThresholdList get_capacity_alarm_thresholds(); - void set_capacity_alarm_thresholds(in CapacityAlarmThresholdList - threshs) - raises (InvalidThreshold); - // Get and set the capacity alarm threshold - - - WeekMask get_week_mask(); - void set_week_mask(in WeekMask masks) - raises (InvalidTime, InvalidTimeInterval, InvalidMask); - // Get and set the weekly scheduling parameters - - RecordList query(in string grammar, - in Constraint c, - out Iterator i) - raises(InvalidGrammar, InvalidConstraint); - // Returns all records in the log that match the given - // constraint . Note that match () only returns the number - // of matches, whereas query () returns the actual matches. - - RecordList retrieve(in TimeT from_time, - in long how_many, - out Iterator i); - // Retrieve records from time using - // iterator . Negative indicates backwards - // retrieval - - unsigned long match(in string grammar, - in Constraint c) - raises(InvalidGrammar, InvalidConstraint); - // Returns the number of records matching constraint - - - unsigned long delete_records(in string grammar, - in Constraint c) - raises(InvalidGrammar, InvalidConstraint); - unsigned long delete_records_by_id(in RecordIdList ids); - // Delete records matching constraint or with ids in - // . Both operations return the number of records deleted - - void write_records(in Anys records) - raises(LogFull, LogOffDuty, LogLocked, LogDisabled); - // Write records to the log storage - - void write_recordlist(in RecordList list) - raises(LogFull, LogOffDuty, LogLocked, LogDisabled); - // Write a list of record ids to storage - - void set_record_attribute(in RecordId id, - in NVList attr_list) - raises(InvalidRecordId, InvalidAttribute); - // Set single record attributes - - - unsigned long set_records_attribute(in string grammar, - in Constraint c, - in NVList attr_list) - raises(InvalidGrammar, InvalidConstraint, InvalidAttribute); - // Set the attributes of all records that matches the - // constraints with same attr_list. Returns number of records - // whose attributes have been set - - NVList get_record_attribute(in RecordId id) - raises(InvalidRecordId); - // Get the attributes of the record with id - - Log copy(out LogId id); - Log copy_with_id (in LogId id) raises (LogIdAlreadyExists); - // Copy the log on which the operation was invoked. copy () - // Returns the unique id of the newly created - // log. copy_with_id () attempts to create the new log with - // the specified id, but may fail if the id is in use - - void flush() raises (UnsupportedQoS); - // Causes all pending events to be written to storage before - // flush () returns - }; - - - interface BasicLog : Log - { - void destroy(); - // Destroy the log object and all contained records - }; - - typedef sequence LogList; - typedef sequence LogIdList; - - interface LogMgr - { - LogList list_logs(); - // Lists all logs created by the log factory - - Log find_log(in LogId id); - // Returns a reference to the log with the supplied id - - LogIdList list_logs_by_id(); - // Lists all log ids - }; - - interface BasicLogFactory : LogMgr - { - BasicLog create (in LogFullActionType full_action, - in unsigned long long max_size, - out LogId id) - raises (InvalidLogFullAction); - // Allows clients to create new BasicLog objects. - - BasicLog create_with_id (in LogId id, - in LogFullActionType full_action, - in unsigned long long max_size) - raises (LogIdAlreadyExists, InvalidLogFullAction); - // Same as create (), but allows clients to specify the id - }; -}; - -#endif /* DS_LOG_ADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/DsLogAdmin.mpc b/TAO/orbsvcs/orbsvcs/DsLogAdmin.mpc deleted file mode 100644 index d0d9a4dea5e..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsLogAdmin.mpc +++ /dev/null @@ -1,137 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(DsLogAdmin_IDL) : orbsvcslib, core, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_Log_Export -Wb,stub_export_include=orbsvcs/Log/log_export.h -Wb,skel_export_macro=TAO_Log_Skel_Export -Wb,skel_export_include=orbsvcs/Log/log_skel_export.h - - IDL_Files { - DsLogAdmin.idl - DsLogNotification.idl - } -} - -project(DsLogAdmin) : orbsvcslib, core { - sharedname = TAO_DsLogAdmin - dynamicflags = TAO_LOG_BUILD_DLL - tagchecks += Log - after += DsLogAdmin_IDL - - IDL_Files { - } - - Source_Files { - DsLogAdminC.cpp - DsLogNotificationC.cpp - } - - Header_Files { - DsLogAdminC.h - DsLogNotificationC.h - Log/log_export.h - } - - Inline_Files { - DsLogAdminC.inl - DsLogNotificationC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - DsLogAdmin.rc - } - - Pkgconfig_Files { - TAO_DsLogAdmin.pc.in - } -} - - -project(DsLogAdmin_Skel) : orbsvcslib, core, dslogadmin, portableserver { - sharedname = TAO_DsLogAdmin_Skel - dynamicflags = TAO_LOG_SKEL_BUILD_DLL - tagchecks += Log - - IDL_Files { - } - - Source_Files { - DsLogAdminS.cpp - DsLogNotificationS.cpp - } - - Header_Files { - DsLogAdminS.h - DsLogNotificationS.h - - DsLogAdminS_T.h - DsLogNotificationS_T.h - - Log/log_skel_export.h - } - - Inline_Files { - DsLogAdminS.inl - DsLogNotificationS.inl - - DsLogAdminS_T.inl - DsLogNotificationS_T.inl - } - - Template_Files { - DsLogAdminS_T.cpp - DsLogNotificationS_T.cpp - } - - Pkgconfig_Files { - TAO_DsLogAdmin_Skel.pc.in - } -} - - -project(DsLogAdmin_Serv) : orbsvcslib, core, dslogadmin_skel, dynamicany, etcl, utils, svc_utils { - sharedname = TAO_DsLogAdmin_Serv - dynamicflags = TAO_LOG_SERV_BUILD_DLL - tagchecks += Log - - IDL_Files { - } - - Source_Files { - Log/BasicLogFactory_i.cpp - Log/BasicLog_i.cpp - Log/Hash_Iterator_i.cpp - Log/Hash_LogRecordStore.cpp - Log/Hash_LogStore.cpp - Log/Hash_Persistence_Strategy.cpp - Log/Iterator_i.cpp - Log/LogActivator.cpp - Log/LogMgr_i.cpp - Log/LogNotification.cpp - Log/LogRecordStore.cpp - Log/Log_Compaction_Handler.cpp - Log/Log_Constraint_Interpreter.cpp - Log/Log_Constraint_Visitors.cpp - Log/Log_Flush_Handler.cpp - Log/Log_i.cpp - } - - Header_Files { - Log/LogStore.h - Log/Log_Persistence_Strategy.h - Log/log_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_DsLogAdmin_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/DsLogAdmin.rc b/TAO/orbsvcs/orbsvcs/DsLogAdmin.rc deleted file mode 100644 index d9c4397bc94..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsLogAdmin.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "DsLogAdmin\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_DsLogAdminDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_DsLogAdmin.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/DsLogNotification.idl b/TAO/orbsvcs/orbsvcs/DsLogNotification.idl deleted file mode 100644 index ff06d490c53..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsLogNotification.idl +++ /dev/null @@ -1,112 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = FILENAME -// DsLogNotification.idl -// -// = DESCRIPTION -// This module defines the Log Generated Events module -// for the OMG's Telecom Event Log Service -// -// ============================================================================ - -#ifndef DS_LOG_NOTIFICATION_IDL -#define DS_LOG_NOTIFICATION_IDL - -#include "DsLogAdmin.idl" -// CORBA Log Service - -#pragma prefix "omg.org" - -module DsLogNotification -{ - - typedef DsLogAdmin::Log Log; - typedef DsLogAdmin::LogId LogId; - typedef DsLogAdmin::Threshold Threshold; - typedef TimeBase::TimeT TimeT; - - // definition of ThresholdAlarm, the event generated by Log when - // Log reaches its capacity alarm threshold - - typedef unsigned short PerceivedSeverityType; - - const PerceivedSeverityType critical = 0; - const PerceivedSeverityType minor = 1; - const PerceivedSeverityType cleared = 2; - - struct ThresholdAlarm { - Log logref; - LogId id; - TimeT time; - Threshold crossed_value; // the threshold level just being crossed - Threshold observed_value; // the current percentage - PerceivedSeverityType perceived_severity; - }; - - // the events generated by - // Log when a Log object is created or deleted - - struct ObjectCreation { - LogId id; - TimeT time; - }; - - // NOTE: cannot say "typedef ObjectCreation ObjectDeletion because - // type would be lost in current C++ mappings for Anys. - - struct ObjectDeletion { - LogId id; - TimeT time; - }; - - // definition of AttributeValueChange notification, the event generated by - // Log when a Log's attribute has changed - - typedef unsigned short AttributeType; - const AttributeType capacityAlarmThreshold = 0; - const AttributeType logFullAction = 1; - const AttributeType maxLogSize = 2; - const AttributeType startTime = 3; - const AttributeType stopTime = 4; - const AttributeType weekMask = 5; - const AttributeType filter = 6; - const AttributeType maxRecordLife = 7; - const AttributeType qualityOfService = 8; - - struct AttributeValueChange { - Log logref; - LogId id; - TimeT time; - AttributeType type; - any old_value; - any new_value; - }; - - // definition of StateChange notification, the event generated by - // Log when a Log's state has changed - - typedef unsigned short StateType; - const StateType administrativeState = 0; - const StateType operationalState = 1; - const StateType forwardingState = 2; - - struct StateChange { - Log logref; - LogId id; - TimeT time; - StateType type; - any new_value; - }; - - struct ProcessingErrorAlarm { - // Event generated by a log when a problem occurs within the log. - // The highest 20 bits or error_num are reserved for vender - // specific Ids. - long error_num; - string error_string; - }; -}; - -#endif /* DS_LOG_NOTIFICATION_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.idl b/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.idl deleted file mode 100644 index 36ebae57f5f..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.idl +++ /dev/null @@ -1,66 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = FILENAME -// DsNotifyLogAdmin.idl -// -// = DESCRIPTION -// This module defines the NotifyLog and -// NotifyLogFactory interfaces. -// -// = AUTHOR -// David Hanvey (d.hanvey@qub.ac.uk) -// -// ============================================================================ - -#ifndef DS_NOTIFY_LOG_ADMIN_IDL -#define DS_NOTIFY_LOG_ADMIN_IDL - -#include "DsEventLogAdmin.idl" -#include "CosNotifyChannelAdmin.idl" -#include "CosNotifyFilter.idl" -#include "CosNotification.idl" -#pragma prefix "omg.org" - -module DsNotifyLogAdmin -{ - interface NotifyLog : DsEventLogAdmin::EventLog, - CosNotifyChannelAdmin::EventChannel - { - CosNotifyFilter::Filter get_filter(); - void set_filter(in CosNotifyFilter::Filter filter); - }; - - interface NotifyLogFactory : DsLogAdmin::LogMgr, - CosNotifyChannelAdmin::ConsumerAdmin - { - NotifyLog create ( - in DsLogAdmin::LogFullActionType full_action, - in unsigned long long max_size, - in DsLogAdmin::CapacityAlarmThresholdList thresholds, - in CosNotification::QoSProperties initial_qos, - in CosNotification::AdminProperties initial_admin, - out DsLogAdmin::LogId id - ) raises (DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin); - - NotifyLog create_with_id ( - in DsLogAdmin::LogId id, - in DsLogAdmin::LogFullActionType full_action, - in unsigned long long max_size, - in DsLogAdmin::CapacityAlarmThresholdList thresholds, - in CosNotification::QoSProperties initial_qos, - in CosNotification::AdminProperties initial_admin - ) raises (DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin); - }; - -}; - -#endif /* DS_NOTIFY_LOG_ADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc b/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc deleted file mode 100644 index bf66701ee09..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc +++ /dev/null @@ -1,110 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(DsNotifyLogAdmin_IDL) : orbsvcslib, core, dslogadmin, dseventlogadmin, event, notification, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_NotifyLog_Export -Wb,stub_export_include=orbsvcs/Log/notifylog_export.h -Wb,skel_export_macro=TAO_NotifyLog_Skel_Export -Wb,skel_export_include=orbsvcs/Log/notifylog_skel_export.h - - IDL_Files { - DsNotifyLogAdmin.idl - } -} - -project(DsNotifyLogAdmin) : orbsvcslib, core, dslogadmin, dseventlogadmin, event, notification { - sharedname = TAO_DsNotifyLogAdmin - dynamicflags = TAO_NOTIFYLOG_BUILD_DLL - tagchecks += Log - after += DsNotifyLogAdmin_IDL - - IDL_Files { - } - - Source_Files { - DsNotifyLogAdminC.cpp - } - - Header_Files { - DsNotifyLogAdminC.h - Log/notifylog_export.h - } - - Inline_Files { - DsNotifyLogAdminC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - DsNotifyLogAdmin.rc - } - - Pkgconfig_Files { - TAO_DsNotifyLogAdmin.pc.in - } -} - - -project(DsNotifyLogAdmin_Skel) : orbsvcslib, core, dsnotifylogadmin, dseventlogadmin_skel, dslogadmin_skel, event_skel, notification_skel, portableserver { - sharedname = TAO_DsNotifyLogAdmin_Skel - dynamicflags = TAO_NOTIFYLOG_SKEL_BUILD_DLL - tagchecks += Log - - IDL_Files { - } - - Source_Files { - DsNotifyLogAdminS.cpp - } - - Header_Files { - DsNotifyLogAdminS.h - DsNotifyLogAdminS_T.h - Log/notifylog_skel_export.h - } - - Inline_Files { - DsNotifyLogAdminS.inl - DsNotifyLogAdminS_T.inl - } - - Template_Files { - DsNotifyLogAdminS_T.cpp - } - - Pkgconfig_Files { - TAO_DsNotifyLogAdmin_Skel.pc.in - } -} - - -project(DsNotifyLogAdmin_Serv) : orbsvcslib, core, dsnotifylogadmin_skel, dslogadmin_serv { - sharedname = TAO_DsNotifyLogAdmin_Serv - dynamicflags = TAO_NOTIFYLOG_SERV_BUILD_DLL - tagchecks += Log - - IDL_Files { - } - - Source_Files { - Log/NotifyLogConsumer.cpp - Log/NotifyLogFactory_i.cpp - Log/NotifyLogNotification.cpp - Log/NotifyLog_i.cpp - } - - Header_Files { - Log/notifylog_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_DsNotifyLogAdmin_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.rc b/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.rc deleted file mode 100644 index 52b474bacc0..00000000000 --- a/TAO/orbsvcs/orbsvcs/DsNotifyLogAdmin.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "DsNotifyLogAdmin\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_DsNotifyLogAdminDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_DsNotifyLogAdmin.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.cpp deleted file mode 100644 index 0cca17fb185..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_BUSY_LOCK_CPP -#define TAO_ESF_BUSY_LOCK_CPP - -#include "orbsvcs/ESF/ESF_Busy_Lock.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Busy_Lock.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -int TAO_ESF_Busy_Lock_Adapter::remove (void) -{ - return 0; -} - -template -int TAO_ESF_Busy_Lock_Adapter::acquire (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_ESF_Busy_Lock_Adapter::tryacquire (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_ESF_Busy_Lock_Adapter::release (void) -{ - return this->adaptee_->idle (); -} - -template -int TAO_ESF_Busy_Lock_Adapter::acquire_read (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_ESF_Busy_Lock_Adapter::acquire_write (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_ESF_Busy_Lock_Adapter::tryacquire_read (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_ESF_Busy_Lock_Adapter::tryacquire_write (void) -{ - return this->adaptee_->busy (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_BUSY_LOCK_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h deleted file mode 100644 index 2c112e4f25e..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ESF_Busy_Lock.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_BUSY_LOCK_H -#define TAO_ESF_BUSY_LOCK_H - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Adapt classes that implement the "busy lock" protocol, to conform -/// to the ACE Lock interface. -/** - * The ACE Lock interface allows us to use any mutex-like object with - * the ACE synchronization components (such as guards, Lock_Adapter, - * etc.). - * One of the synchronization protocols used in the event services - * uses the following protocol: - *
    - *
  • To acquire the lock the @c busy method of the object is invoked. - *
  • To release the lock the @c idle method of the object is invoked. - *
  • Any changes performed while the lock is held are delayed until - * all the locks are released, i.e. the last call to @c idle - * executes the changes. - *
- */ -template -class TAO_ESF_Busy_Lock_Adapter -{ -public: - /// Constructor - TAO_ESF_Busy_Lock_Adapter (Adaptee* adaptee); - - /** - * @name The ACE_Lock methods - * - * Check the documentation in ace/Synch.h for details. - */ - //@{ - int remove (void); - int acquire (void); - int tryacquire (void); - int release (void); - int acquire_read (void); - int acquire_write (void); - int tryacquire_read (void); - int tryacquire_write (void); - //@} - -private: - Adaptee* adaptee_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Busy_Lock.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Busy_Lock.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Busy_Lock.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_BUSY_LOCK_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.i deleted file mode 100644 index 8c39a00c2e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.i +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_ESF_Busy_Lock_Adapter::TAO_ESF_Busy_Lock_Adapter (T* adaptee) - : adaptee_ (adaptee) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp deleted file mode 100644 index ea15a0e703e..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp +++ /dev/null @@ -1,120 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_COPY_ON_READ_CPP -#define TAO_ESF_COPY_ON_READ_CPP - -#include "orbsvcs/ESF/ESF_Copy_On_Read.h" -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Copy_On_Read:: - TAO_ESF_Copy_On_Read (void) -{ -} - -template -TAO_ESF_Copy_On_Read:: - TAO_ESF_Copy_On_Read (const COLLECTION &collection) - : collection_ (collection) -{ -} - -template void -TAO_ESF_Copy_On_Read:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - // @@ Use an allocator for this memory... - PROXY **proxies = 0; - size_t size = 0; - ACE_TRY - { - { - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - size = this->collection_.size (); - ACE_NEW (proxies, PROXY*[size]); - PROXY **j = proxies; - - for (; j != proxies + size; ++j) - *j = 0; - - j = proxies; - - ITERATOR end = this->collection_.end (); - for (ITERATOR i = this->collection_.begin (); i != end; ++i) - { - *j = *i; - (*j)->_incr_refcnt (); - ++j; - } - } - worker->set_size(size); - for (PROXY **j = proxies; j != proxies + size; ++j) - { - worker->work (*j ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - (*j)->_decr_refcnt (); - } - delete[] proxies; - } - ACE_CATCHANY - { - for (PROXY **j = proxies; j != proxies + size; ++j) - { - if (*j != 0) - (*j)->_decr_refcnt (); - } - delete[] proxies; - - ACE_RE_THROW; - } - ACE_ENDTRY; -} - -template void -TAO_ESF_Copy_On_Read:: - connected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - proxy->_incr_refcnt (); - this->collection_.connected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Copy_On_Read:: - reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - proxy->_incr_refcnt (); - this->collection_.reconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Copy_On_Read:: - disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - this->collection_.disconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Copy_On_Read:: - shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - this->collection_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_COPY_ON_READ_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h deleted file mode 100644 index d5c7c22fcd8..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h +++ /dev/null @@ -1,74 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Copy_On_Read.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_COPY_ON_READ_H -#define TAO_ESF_COPY_ON_READ_H - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_ESF_Worker; - -// **************************************************************** - -/** - * @class TAO_ESF_Copy_On_Read - * - * @brief Implement the Copy_On_Read protocol - * - * - * The class is parametric on the kind of collection and locking - * mechanism used. - */ -template -class TAO_ESF_Copy_On_Read : public TAO_ESF_Proxy_Collection -{ -public: - /// Constructors - TAO_ESF_Copy_On_Read (void); - TAO_ESF_Copy_On_Read (const COLLECTION &collection); - - // = The TAO_ESF_Proxy_Collection methods - virtual void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - virtual void connected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void reconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void disconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - -private: - COLLECTION collection_; - - ACE_LOCK lock_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Copy_On_Read.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Copy_On_Read.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_COPY_ON_READ_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp deleted file mode 100644 index 169f5eac972..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp +++ /dev/null @@ -1,208 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_COPY_ON_WRITE_CPP -#define TAO_ESF_COPY_ON_WRITE_CPP - -#include "orbsvcs/ESF/ESF_Copy_On_Write.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Copy_On_Write.i" -#endif /* __ACE_INLINE__ */ - -#include "tao/Environment.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template CORBA::ULong -TAO_ESF_Copy_On_Write_Collection::_incr_refcnt (void) -{ - // LOCKING: no locking is required, the caller grabs the mutex. - return this->refcount_++; -} - -template CORBA::ULong -TAO_ESF_Copy_On_Write_Collection::_decr_refcnt (void) -{ - // LOCKING: no locking is required, the caller grabs the mutex. - { - this->refcount_--; - if (this->refcount_ != 0) - return this->refcount_; - } - - ITERATOR end = this->collection.end (); - for (ITERATOR i = this->collection.begin (); i != end; ++i) - { - (*i)->_decr_refcnt (); - } - - delete this; - return 0; -} - -// **************************************************************** - -template -TAO_ESF_Copy_On_Write:: - TAO_ESF_Copy_On_Write (void) - : pending_writes_ (0), - writing_ (0), - cond_ (mutex_) -{ - ACE_NEW (this->collection_, Collection); -} - -template -TAO_ESF_Copy_On_Write:: - ~TAO_ESF_Copy_On_Write (void) -{ - ACE_GUARD (ACE_SYNCH_MUTEX_T, ace_mon, this->mutex_); - - while (this->pending_writes_ != 0) - this->cond_.wait (); - - this->collection_->_decr_refcnt (); - this->collection_ = 0; -} - -template void -TAO_ESF_Copy_On_Write:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - Read_Guard ace_mon (this->mutex_, - this->collection_); - - worker->set_size(ace_mon.collection->collection.size()); - ITERATOR end = ace_mon.collection->collection.end (); - for (ITERATOR i = ace_mon.collection->collection.begin (); i != end; ++i) - { - worker->work (*i ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -template void -TAO_ESF_Copy_On_Write:: - connected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - Write_Guard ace_mon (this->mutex_, - this->cond_, - this->pending_writes_, - this->writing_, - this->collection_); - - proxy->_incr_refcnt (); - ace_mon.copy->collection.connected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Copy_On_Write:: - reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - Write_Guard ace_mon (this->mutex_, - this->cond_, - this->pending_writes_, - this->writing_, - this->collection_); - - proxy->_incr_refcnt (); - ace_mon.copy->collection.reconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Copy_On_Write:: - disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - Write_Guard ace_mon (this->mutex_, - this->cond_, - this->pending_writes_, - this->writing_, - this->collection_); - - ace_mon.copy->collection.disconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Copy_On_Write:: - shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - // We need to perform a copy to follow the protocol. - Write_Guard ace_mon (this->mutex_, - this->cond_, - this->pending_writes_, - this->writing_, - this->collection_); - - ace_mon.copy->collection.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template -TAO_ESF_Copy_On_Write_Write_Guard:: - TAO_ESF_Copy_On_Write_Write_Guard (ACE_SYNCH_MUTEX_T &m, - ACE_SYNCH_CONDITION_T &c, - int &p, - int &w, - Collection*& cr) - : copy (0), - mutex (m), - cond (c), - pending_writes (p), - writing_flag (w), - collection (cr) -{ - { - ACE_GUARD (ACE_SYNCH_MUTEX_T, ace_mon, this->mutex); - - this->pending_writes++; - - while (this->writing_flag != 0) - this->cond.wait (); - - this->writing_flag = 1; - } - - // Copy outside the mutex, because it may take a long time. - // Nobody can change it, because it is protected by the - // writing_flag. - - // First initialize it (with the correct reference count - ACE_NEW (this->copy, Collection); - // Copy the contents - this->copy->collection = this->collection->collection; - - // Increase the reference counts - ITERATOR end = this->copy->collection.end (); - for (ITERATOR i = this->copy->collection.begin (); i != end; ++i) - { - (*i)->_incr_refcnt (); - } -} - -template -TAO_ESF_Copy_On_Write_Write_Guard:: - ~TAO_ESF_Copy_On_Write_Write_Guard (void) -{ - Collection *tmp = 0; - { - ACE_GUARD (ACE_SYNCH_MUTEX_T, ace_mon, this->mutex); - - tmp = this->collection; - this->collection = this->copy; - this->writing_flag = 0; - this->pending_writes--; - - this->cond.signal (); - } - // Delete outside the mutex, because it may take a long time. - tmp->_decr_refcnt (); -} - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_COPY_ON_WRITE_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h deleted file mode 100644 index a34659b6e57..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h +++ /dev/null @@ -1,184 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Copy_On_Write.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_COPY_ON_WRITE_H -#define TAO_ESF_COPY_ON_WRITE_H - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#include "tao/Basic_Types.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class TAO_ESF_Copy_On_Write_Collection -{ -public: - TAO_ESF_Copy_On_Write_Collection (void); - - /// Increment the reference count - CORBA::ULong _incr_refcnt (void); - - /// Decrement the reference count - CORBA::ULong _decr_refcnt (void); - - /// The actual collection - COLLECTION collection; - -private: - /// The reference count - CORBA::ULong refcount_; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Copy_On_Write_Read_Guard - * - * @brief TAO_ESF_Copy_On_Write_Read_Guard - * - * This helper class atomically increments the reference count of - * a TAO_ESF_Copy_On_Write_Collection and reads the current - * collection in the Copy_On_Write class. - */ -template -class TAO_ESF_Copy_On_Write_Read_Guard -{ -public: - /// Constructor - typedef TAO_ESF_Copy_On_Write_Collection Collection; - TAO_ESF_Copy_On_Write_Read_Guard (ACE_LOCK &mutex, - Collection *&collection); - - /// Destructor - ~TAO_ESF_Copy_On_Write_Read_Guard (void); - - Collection *collection; - -private: - ACE_LOCK &mutex; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Copy_On_Write_Write_Guard - * - * @brief TAO_ESF_Copy_On_Write_Write_Guard - * - * This helper class atomically increments the reference count of - * a TAO_ESF_Copy_On_Write_Collection and reads the current - * collection in the Copy_On_Write class. - */ -template -class TAO_ESF_Copy_On_Write_Write_Guard -{ -public: - /// Constructor - typedef TAO_ESF_Copy_On_Write_Collection Collection; - TAO_ESF_Copy_On_Write_Write_Guard (ACE_SYNCH_MUTEX_T &mutex, - ACE_SYNCH_CONDITION_T &cond, - int &pending_writes, - int &writing_flag, - Collection*& collection); - - /// Destructor - ~TAO_ESF_Copy_On_Write_Write_Guard (void); - - Collection *copy; - -private: - ACE_SYNCH_MUTEX_T &mutex; - ACE_SYNCH_CONDITION_T &cond; - int &pending_writes; - int &writing_flag; - Collection *&collection; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Copy_On_Write - * - * @brief TAO_ESF_Copy_On_Write - * - * Implement the Copy_On_Write protocol - * The class is parametric on the kind of collection and locking - * mechanism used. - */ -template -class TAO_ESF_Copy_On_Write : public TAO_ESF_Proxy_Collection -{ -public: - /// Constructor - typedef TAO_ESF_Copy_On_Write_Read_Guard Read_Guard; - typedef TAO_ESF_Copy_On_Write_Write_Guard Write_Guard; - TAO_ESF_Copy_On_Write (void); - - /// Destructor - ~TAO_ESF_Copy_On_Write (void); - - // = The TAO_ESF_Proxy methods - virtual void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - virtual void connected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void reconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void disconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - -private: - typedef TAO_ESF_Copy_On_Write_Collection Collection; - - /// A mutex to serialize access to the collection pointer. - ACE_SYNCH_MUTEX_T mutex_; - - /// Number of pending writes - int pending_writes_; - - /** - * If non-zero then a thread is changing the collection. Many - * threads can use the collection simulatenously, but only one - * change it. - */ - int writing_; - - /// A condition variable to wait to synchronize multiple writers. - ACE_SYNCH_CONDITION_T cond_; - - /// The collection, with reference counting added - Collection *collection_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Copy_On_Write.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Copy_On_Write.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Copy_On_Write.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_COPY_ON_WRITE_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.i deleted file mode 100644 index d3ad3d108c7..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.i +++ /dev/null @@ -1,41 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_ESF_Copy_On_Write_Collection:: - TAO_ESF_Copy_On_Write_Collection (void) - : refcount_ (1) -{ -} - -// **************************************************************** - -template ACE_INLINE -TAO_ESF_Copy_On_Write_Read_Guard:: - TAO_ESF_Copy_On_Write_Read_Guard (ACE_LOCK &m, - Collection*& collection_ref) - : collection (0), - mutex (m) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->mutex); - this->collection = collection_ref; - this->collection->_incr_refcnt (); -} - -template ACE_INLINE -TAO_ESF_Copy_On_Write_Read_Guard:: - ~TAO_ESF_Copy_On_Write_Read_Guard (void) -{ - if (this->collection != 0) - { - ACE_GUARD (ACE_LOCK, ace_mon, this->mutex); - this->collection->_decr_refcnt (); - } -} - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Defaults.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Defaults.h deleted file mode 100644 index 7eaa3a6d306..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Defaults.h +++ /dev/null @@ -1,37 +0,0 @@ -// -*- C++ -*- -/** - * @file ESF_Defaults.h - * - * $Id$ - * - * In this file we set the compile time defaults for the framework. - * - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_DEFAULTS_H -#define TAO_ESF_DEFAULTS_H - -#ifndef TAO_ESF_ENABLE_DEBUG_MESSAGES -#define TAO_ESF_ENABLE_DEBUG_MESSAGES 0 -#endif /* TAO_ESF_ENABLE_DEBUG_MESSAGES */ - -// Control the maximum degree of concurrency tolerated by the EC, some -// kind of limit is required to avoid starvation of delayed write -// operations. -#ifndef TAO_ESF_DEFAULT_BUSY_HWM -# define TAO_ESF_DEFAULT_BUSY_HWM 1024 -#endif /* TAO_ESF_DEFAULT_BUSY_HWM */ - -#ifndef TAO_ESF_DEFAULT_MAX_WRITE_DELAY -# define TAO_ESF_DEFAULT_MAX_WRITE_DELAY 2048 -#endif /* TAO_ESF_DEFAULT_MAX_WRITE_DELAY */ - -#ifndef TAO_ESF_DEFAULT_ORB_ID -# define TAO_ESF_DEFAULT_ORB_ID "" /* */ -#endif /* TAO_ESF_DEFAULT_ORB_ID */ - -#endif /* TAO_ESF_DEFAULTS_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp deleted file mode 100644 index 5398387800c..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp +++ /dev/null @@ -1,216 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_DELAYED_CHANGES_CPP -#define TAO_ESF_DELAYED_CHANGES_CPP - -#include "orbsvcs/ESF/ESF_Delayed_Changes.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Delayed_Changes.i" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/ESF/ESF_Defaults.h" -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/ESF/ESF_Delayed_Command.h" - -#include "ace/Functor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -template -TAO_ESF_Delayed_Changes:: - TAO_ESF_Delayed_Changes (void) - : lock_ (this), - busy_cond_ (busy_lock_), - busy_count_ (0), - write_delay_count_ (0), - busy_hwm_ (TAO_ESF_DEFAULT_BUSY_HWM), - max_write_delay_ (TAO_ESF_DEFAULT_MAX_WRITE_DELAY) -{ -} - -template -TAO_ESF_Delayed_Changes:: - TAO_ESF_Delayed_Changes (const COLLECTION &collection) - : collection_ (collection), - lock_ (this), - busy_cond_ (busy_lock_), - busy_count_ (0), - write_delay_count_ (0), - busy_hwm_ (TAO_ESF_DEFAULT_BUSY_HWM), - max_write_delay_ (TAO_ESF_DEFAULT_MAX_WRITE_DELAY) -{ -} - -template void -TAO_ESF_Delayed_Changes:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (Busy_Lock, ace_mon, this->lock_); - - worker->set_size(this->collection_.size()); - ITERATOR end = this->collection_.end (); - for (ITERATOR i = this->collection_.begin (); i != end; ++i) - { - worker->work (*i ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - } -} - -template int -TAO_ESF_Delayed_Changes:: - busy (void) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->busy_lock_, -1); - - while (this->busy_count_ >= this->busy_hwm_ - || this->write_delay_count_ >= this->max_write_delay_) - this->busy_cond_.wait (); - this->busy_count_++; - - return 0; -} - -template int -TAO_ESF_Delayed_Changes:: - idle (void) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->busy_lock_, -1); - - this->busy_count_--; - if (this->busy_count_ == 0) - { - this->write_delay_count_ = 0; - this->execute_delayed_operations (); - this->busy_cond_.broadcast (); - } - return 0; -} - -template int -TAO_ESF_Delayed_Changes:: - execute_delayed_operations (void) -{ - while (!this->command_queue_.is_empty ()) - { - ACE_Command_Base* command = 0; - this->command_queue_.dequeue_head (command); - - command->execute (); - - delete command; - } - return 0; -} - -template void -TAO_ESF_Delayed_Changes:: - connected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (ACE_SYNCH_MUTEX_T, ace_mon, this->busy_lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - proxy->_incr_refcnt (); - if (this->busy_count_ == 0) - { - // We can add the object immediately - this->connected_i (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - ACE_Command_Base* command = 0; - ACE_NEW (command, - Connected_Command (this, - proxy)); - this->command_queue_.enqueue_tail (command); - this->write_delay_count_++; - } -} - -template void -TAO_ESF_Delayed_Changes:: - reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (ACE_SYNCH_MUTEX_T, ace_mon, this->busy_lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - proxy->_incr_refcnt (); - if (this->busy_count_ == 0) - { - // We can reconnect the object immediately - this->reconnected_i (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - ACE_Command_Base* command; - ACE_NEW (command, - Reconnected_Command (this, - proxy)); - this->command_queue_.enqueue_tail (command); - this->write_delay_count_++; - } -} - -template void -TAO_ESF_Delayed_Changes:: - disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (ACE_SYNCH_MUTEX_T, ace_mon, this->busy_lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - if (this->busy_count_ == 0) - { - // We can remove the object immediately - this->disconnected_i (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - ACE_Command_Base* command; - ACE_NEW (command, - Disconnected_Command (this, - proxy)); - this->command_queue_.enqueue_tail (command); - this->write_delay_count_++; - } -} - -template void -TAO_ESF_Delayed_Changes:: - shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD_THROW_EX (ACE_SYNCH_MUTEX_T, ace_mon, this->busy_lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - if (this->busy_count_ == 0) - { - // We can shutdown the object immediately - this->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - else - { - ACE_Command_Base* command; - ACE_NEW (command, - Shutdown_Command (this)); - this->command_queue_.enqueue_tail (command); - this->write_delay_count_++; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_DELAYED_CHANGES_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h deleted file mode 100644 index 2bf47dd49b4..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h +++ /dev/null @@ -1,160 +0,0 @@ -// -*- C++ -*- -/** - * @file ESF_Delayed_Changes.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_DELAYED_CHANGES_H -#define TAO_ESF_DELAYED_CHANGES_H - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Busy_Lock.h" - -#include "ace/Containers.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Command_Base; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_ESF_Connected_Command; -template class TAO_ESF_Disconnected_Command; -template class TAO_ESF_Reconnected_Command; -template class TAO_ESF_Shutdown_Command; - -/** - * @class TAO_ESF_Delayed_Changes - * - * @brief TAO_ESF_Delayed_Operations - * - * This class implements the Delayed Operations protocol to solve - * the concurrency challenges outlined in the documentation of - * TAO_ESF_Proxy_Collection. - * In short the class delays changes by putting them on an - * "operation queue", the operations are stored as command objects - * in this queue and executed once the system is quiescent - * (i.e. no threads are iterating over the collection). - * The algorithm implemented so far is: - * - If a thread is using the set then it increases the busy - * count, this is done by calling the busy() method. Once the - * thread has stopped using the collection the idle() method is - * invoked and the busy count is decreased. - * A helper class (Busy_Lock) is used to hide this protocol - * behind the familiar GUARD idiom. - * - If the busy count reaches the busy_hwm then the thread must - * wait until the count reaches 0 again. - * This can be used to control the maximum concurrency in the - * EC, matching it (for example) with the number of - * processors. Setting the concurrency to a high value (say one - * million) allows for an arbitrary number of threads to execute - * concurrently. - * - If a modification is posted to the collection we need to - * execute it at some point. - * Just using the busy_hwm would not work, the HWM may not be - * reached ever, so another form of control is needed. - * Instead we use another counter, that keeps track of how many - * threads have used the set since the modification was - * posted. If this number of threads reaches max_write_delay then - * we don't allow any more threads to go in, eventually the - * thread count reaches 0 and we can proceed with the operations. - * - There is one aspect of concurrency that can be problematic: if - * thread pushes events as part of an upcall then the same thread - * could be counted twice, we need to keep track of the threads - * that are dispatching events and not increase (or decrease) the - * reference count when a thread iterates twice over the same - * set. - * This solves the major problems, but there are other issues to - * be addressed: - * + How do we ensure that the operations are eventually executed? - * + How do we simplify the execution of the locking protocol for - * clients of this class? - * + How do we minimize overhead for single threaded execution? - * + How do we minimize the overhead for the cases where the - * threads dispatching events don't post changes to the - * collection? - */ -template -class TAO_ESF_Delayed_Changes : public TAO_ESF_Proxy_Collection -{ -public: - TAO_ESF_Delayed_Changes (void); - TAO_ESF_Delayed_Changes (const COLLECTION &collection); - - int busy (void); - int idle (void); - int execute_delayed_operations (void); - - void connected_i (PROXY *proxy - ACE_ENV_ARG_DECL); - void reconnected_i (PROXY *proxy - ACE_ENV_ARG_DECL); - void disconnected_i (PROXY *proxy - ACE_ENV_ARG_DECL); - void shutdown_i (ACE_ENV_SINGLE_ARG_DECL); - - typedef TAO_ESF_Connected_Command,PROXY> Connected_Command; - typedef TAO_ESF_Reconnected_Command,PROXY> Reconnected_Command; - typedef TAO_ESF_Disconnected_Command,PROXY> Disconnected_Command; - typedef TAO_ESF_Shutdown_Command > Shutdown_Command; - - // = The TAO_ESF_Proxy methods - virtual void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - virtual void connected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void reconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void disconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - -private: - COLLECTION collection_; - - typedef TAO_ESF_Busy_Lock_Adapter > Busy_Lock; - - Busy_Lock lock_; - - ACE_SYNCH_MUTEX_T busy_lock_; - - ACE_SYNCH_CONDITION_T busy_cond_; - - CORBA::ULong busy_count_; - - CORBA::ULong write_delay_count_; - - /// Control variables for the concurrency policies. - CORBA::ULong busy_hwm_; - CORBA::ULong max_write_delay_; - - ACE_Unbounded_Queue command_queue_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Delayed_Changes.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Delayed_Changes.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Delayed_Changes.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_DELAYED_CHANGES_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.i deleted file mode 100644 index 4a2192e5a18..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.i +++ /dev/null @@ -1,38 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template void -TAO_ESF_Delayed_Changes:: - connected_i (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - this->collection_.connected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Delayed_Changes:: - reconnected_i (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - this->collection_.reconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Delayed_Changes:: - disconnected_i (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - this->collection_.disconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Delayed_Changes:: - shutdown_i (ACE_ENV_SINGLE_ARG_DECL) -{ - this->collection_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp deleted file mode 100644 index fe0a7812db0..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_DELAYED_COMMAND_CPP -#define TAO_ESF_DELAYED_COMMAND_CPP - -#include "orbsvcs/ESF/ESF_Delayed_Command.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Delayed_Command.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template int -TAO_ESF_Connected_Command::execute (void* arg) -{ - if (arg != 0) - { - ACE_ENV_EMIT_CODE (CORBA::Environment &ACE_TRY_ENV = - *static_cast (arg)); - this->target_->connected_i (this->object_ - ACE_ENV_ARG_PARAMETER); - } - else - { - ACE_ENV_EMIT_CODE (ACE_DECLARE_NEW_CORBA_ENV); - this->target_->connected_i (this->object_ - ACE_ENV_ARG_PARAMETER); - } - - return 0; -} - -// **************************************************************** - -template int -TAO_ESF_Reconnected_Command::execute (void* arg) -{ - if (arg != 0) - { - ACE_ENV_EMIT_CODE (CORBA::Environment &ACE_TRY_ENV = - *static_cast (arg)); - this->target_->reconnected_i (this->object_ - ACE_ENV_ARG_PARAMETER); - } - else - { - ACE_ENV_EMIT_CODE (ACE_DECLARE_NEW_CORBA_ENV); - this->target_->reconnected_i (this->object_ - ACE_ENV_ARG_PARAMETER); - } - return 0; -} - -// **************************************************************** - -template int -TAO_ESF_Disconnected_Command::execute (void* arg) -{ - if (arg != 0) - { - ACE_ENV_EMIT_CODE (CORBA::Environment &ACE_TRY_ENV = - *static_cast (arg)); - this->target_->disconnected_i (this->object_ - ACE_ENV_ARG_PARAMETER); - } - else - { - ACE_ENV_EMIT_CODE (ACE_DECLARE_NEW_CORBA_ENV); - this->target_->disconnected_i (this->object_ - ACE_ENV_ARG_PARAMETER); - } - return 0; -} - -// **************************************************************** - -template int -TAO_ESF_Shutdown_Command::execute (void* arg) -{ - if (arg != 0) - { - ACE_ENV_EMIT_CODE (CORBA::Environment &ACE_TRY_ENV = - *static_cast (arg)); - this->target_->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER); - } - else - { - ACE_ENV_EMIT_CODE (ACE_DECLARE_NEW_CORBA_ENV); - this->target_->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER); - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_DELAYED_COMMAND_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h deleted file mode 100644 index a827c4e6415..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h +++ /dev/null @@ -1,187 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Delayed_Command.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_DELAYED_COMMAND_H -#define TAO_ESF_DELAYED_COMMAND_H - -#include "ace/Functor.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_Connected_Command - * - * @brief Implements a Command object that invokes the connected_i() - * method on the target, passing an argument of type Object. - * - *

Memory Managment

- * It does not assume ownership of Object nor the Target - * arguments. - * Usually allocated from the heap or an allocator; but it is not - * self-managed. - * - *

Locking

- * No provisions for locking, access must be serialized - * externally. - */ -template -class TAO_ESF_Connected_Command : public ACE_Command_Base -{ -public: - /// constructor... - TAO_ESF_Connected_Command (Target *target, - Object *object); - - /// The callback method, if the argument is not nil it is interpreted - /// as a CORBA::Environment. - virtual int execute (void *arg); - -private: - /// The target - Target *target_; - - /// The argument - Object *object_; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Reconnected_Command - * - * @brief Implements a Command object that invokes the reconnected_i() - * method on the target, passing an argument of type Object. - * - *

Memory Managment

- * It does not assume ownership of Object nor the Target - * arguments. - * Usually allocated from the heap or an allocator; but it is not - * self-managed. - * - *

Locking

- * No provisions for locking, access must be serialized - * externally. - */ -template -class TAO_ESF_Reconnected_Command : public ACE_Command_Base -{ -public: - /// constructor... - TAO_ESF_Reconnected_Command (Target *target, - Object *object); - - /// The callback method, if the argument is not nil it is interpreted - /// as a CORBA::Environment. - virtual int execute (void *arg); - -private: - /// The target - Target *target_; - - /// The argument - Object *object_; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Disconnected_Command - * - * @brief Implements a Command object that invokes the - * disconnected_i() method on the target, passing an argument of type - * Object. - * - *

Memory Managment

- * It does not assume ownership of Object nor the Target - * arguments. - * Usually allocated from the heap or an allocator; but it is not - * self-managed. - * - *

Locking

- * No provisions for locking, access must be serialized - * externally. - */ -template -class TAO_ESF_Disconnected_Command : public ACE_Command_Base -{ -public: - /// constructor... - TAO_ESF_Disconnected_Command (Target *target, - Object *object); - - /// The callback method, if the argument is not nil it is interpreted - /// as a CORBA::Environment. - virtual int execute (void *arg); - -private: - /// The target - Target *target_; - - /// The argument - Object *object_; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Shutdown_Command - * - * @brief Implements a Command object that invokes the shutdown_i() - * method on the target, passing an argument of type Object. - * - *

Memory Management

- * It does not assume ownership of Object nor the Target - * arguments. - * Usually allocated from the heap or an allocator; but it is not - * self-managed. - * - *

Locking

- * No provisions for locking, access must be serialized - * externally. - */ -template -class TAO_ESF_Shutdown_Command : public ACE_Command_Base -{ -public: - /// constructor... - TAO_ESF_Shutdown_Command (Target *target); - - /// The callback method, if the argument is not nil it is interpreted - /// as a CORBA::Environment. - virtual int execute (void *arg); - -private: - /// The target - Target *target_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Delayed_Command.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Delayed_Command.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Delayed_Command.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_DELAYED_COMMAND_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.i deleted file mode 100644 index 3ffe5697959..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.i +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Connected_Command:: - TAO_ESF_Connected_Command (Target *target, - Object *object) - : target_ (target), - object_ (object) -{ -} - -// **************************************************************** - -template -TAO_ESF_Reconnected_Command:: - TAO_ESF_Reconnected_Command (Target *target, - Object *object) - : target_ (target), - object_ (object) -{ -} - -// **************************************************************** - -template -TAO_ESF_Disconnected_Command:: - TAO_ESF_Disconnected_Command (Target *target, - Object *object) - : target_ (target), - object_ (object) -{ -} - -// **************************************************************** - -template -TAO_ESF_Shutdown_Command:: - TAO_ESF_Shutdown_Command (Target *target) - : target_ (target) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp deleted file mode 100644 index c1bbac9dad0..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_IMMEDIATE_CHANGES_CPP -#define TAO_ESF_IMMEDIATE_CHANGES_CPP - -#include "orbsvcs/ESF/ESF_Immediate_Changes.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Immediate_Changes.i" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -template -TAO_ESF_Immediate_Changes:: - TAO_ESF_Immediate_Changes (void) -{ -} - -template -TAO_ESF_Immediate_Changes:: - TAO_ESF_Immediate_Changes (const C &collection) - : collection_ (collection) -{ -} - -template void -TAO_ESF_Immediate_Changes:: - for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - worker->set_size(this->collection_.size()); - ITERATOR end = this->collection_.end (); - for (ITERATOR i = this->collection_.begin (); i != end; ++i) - { - worker->work ((*i) ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_IMMEDIATE_CHANGES_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h deleted file mode 100644 index bcd9b19edd4..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h +++ /dev/null @@ -1,69 +0,0 @@ -// -*- C++ -*- -/** - * @file ESF_Immediate_Changes.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_IMMEDIATE_CHANGES_H -#define TAO_ESF_IMMEDIATE_CHANGES_H - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_Immediate_Changes - * - * @brief Implement the Immediate_Changes strategy - * - */ -template -class TAO_ESF_Immediate_Changes : public TAO_ESF_Proxy_Collection -{ -public: - TAO_ESF_Immediate_Changes (void); - TAO_ESF_Immediate_Changes (const COLLECTION &collection); - - // = The TAO_ESF_Proxy methods - virtual void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL); - virtual void connected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void reconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void disconnected (PROXY *proxy - ACE_ENV_ARG_DECL); - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - -private: - COLLECTION collection_; - - ACE_LOCK lock_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Immediate_Changes.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Immediate_Changes.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Immediate_Changes.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_IMMEDIATE_CHANGES_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i deleted file mode 100644 index ac26e4d5800..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template void -TAO_ESF_Immediate_Changes:: - connected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - proxy->_incr_refcnt (); - this->collection_.connected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Immediate_Changes:: - reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - proxy->_incr_refcnt (); - this->collection_.reconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Immediate_Changes:: - disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - this->collection_.disconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Immediate_Changes:: - shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - this->collection_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp deleted file mode 100644 index 40afd8d452f..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PEER_ADMIN_CPP -#define TAO_ESF_PEER_ADMIN_CPP - -#include "orbsvcs/ESF/ESF_Peer_Workers.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Peer_Admin:: - TAO_ESF_Peer_Admin (EVENT_CHANNEL *ec) - : TAO_ESF_Proxy_Admin (ec) -{ -} - -template -TAO_ESF_Peer_Admin:: - ~TAO_ESF_Peer_Admin (void) -{ -} - -template void -TAO_ESF_Peer_Admin:: - peer_connected (PEER *peer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ESF_Peer_Connected worker (peer); - - this->for_each (&worker ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Peer_Admin:: - peer_reconnected (PEER *peer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ESF_Peer_Reconnected worker (peer); - - this->for_each (&worker ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Peer_Admin:: - peer_disconnected (PEER *peer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ESF_Peer_Disconnected worker (peer); - - this->for_each (&worker ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PEER_ADMIN_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h deleted file mode 100644 index 95a188cf661..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Peer_Admin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_PEER_ADMIN_H -#define TAO_ESF_PEER_ADMIN_H - -#include "orbsvcs/ESF/ESF_Proxy_Admin.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_Peer_Admin - * - * @brief Extend the Proxy_Admin interface to provide methods for - * filtering - * - * Some Event Services that perform filtering have to propagate - * the consumer connect/disconnect activities to the suppliers, - * and vice-versa. - * In that scenario the ESF_Proxy_Admin<> interface is augmented - * with connected()/reconnected()/disconnected() operations for - * the proxy peers (i.e. the ProxySuppliers for the ProxyConsumers - * and vice-versa). - * - *

Requirements

- * - * In addition to the requirements imposed by ESF_Proxy_Admin<> - * the PROXY interface must implement: - * - * @verbatim - * void connected (PEER *peer ACE_ENV_ARG_DECL_NOT_USED) throw (); - * void reconnected (PEER *peer ACE_ENV_ARG_DECL_NOT_USED) throw (); - * void disconnected (PEER *peer ACE_ENV_ARG_DECL_NOT_USED) throw (); - * @endverbatim - * - * Similarly, the PEER interface must implement: - * - * @verbatim - * void connected (PROXY *proxy ACE_ENV_ARG_DECL_NOT_USED) throw (); - * void reconnected (PROXY *proxy ACE_ENV_ARG_DECL_NOT_USED) throw (); - * void disconnected (PROXY *proxy ACE_ENV_ARG_DECL_NOT_USED) throw (); - * @endverbatim - */ -template -class TAO_ESF_Peer_Admin : public TAO_ESF_Proxy_Admin -{ -public: - /// Constructor - TAO_ESF_Peer_Admin (EVENT_CHANNEL *ec); - - /// destructor - virtual ~TAO_ESF_Peer_Admin (void); - - /** - * A has connected, this is invoked when the peer's client - * has invoked the connect_xxx_yyy() method. - * The default implementation is a no-op. - */ - virtual void peer_connected (PEER *peer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * A has reconnected, i.e. its client has invoked the - * connect_xxx_yyy() method, but the peer was connected already. - * The default implementation delegates on the collection - * method - */ - virtual void peer_reconnected (PEER *peer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * A has been disconnected. The default implementation - * removes the object from the collection and deactivates the - * proxy. - */ - virtual void peer_disconnected (PEER *peer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Peer_Admin.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Peer_Admin.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_PEER_ADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.cpp deleted file mode 100644 index 354daec8bed..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PEER_WORKERS_CPP -#define TAO_ESF_PEER_WORKERS_CPP - -#include "orbsvcs/ESF/ESF_Peer_Workers.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Peer_Workers.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template void -TAO_ESF_Peer_Connected::work (P *proxy - ACE_ENV_ARG_DECL) -{ - proxy->connected (this->peer_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Shouldn't happen, just following the discipline - - this->peer_->connected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Shouldn't happen, just following the discipline -} - -// **************************************************************** - -template void -TAO_ESF_Peer_Reconnected::work (P *proxy - ACE_ENV_ARG_DECL) -{ - proxy->reconnected (this->peer_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Shouldn't happen, just following the discipline - - this->peer_->reconnected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Shouldn't happen, just following the discipline -} - -// **************************************************************** - -template void -TAO_ESF_Peer_Disconnected::work (P *proxy - ACE_ENV_ARG_DECL) -{ - proxy->disconnected (this->peer_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Shouldn't happen, just following the discipline - - this->peer_->disconnected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Shouldn't happen, just following the discipline -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PEER_WORKERS_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h deleted file mode 100644 index 793e41f422e..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h +++ /dev/null @@ -1,107 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Peer_Workers.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/ESF/index.html - */ - -#ifndef TAO_ESF_PEER_WORKERS_H -#define TAO_ESF_PEER_WORKERS_H - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_Peer_Connected - * - * Helper class. - * Used to iterate over a Proxy_Collection and invoke: - * PROXY->connected (peer); - * peer->connected (proxy); - */ -template -class TAO_ESF_Peer_Connected : public TAO_ESF_Worker -{ -public: - TAO_ESF_Peer_Connected (PEER *peer); - - void work (PROXY *proxy - ACE_ENV_ARG_DECL); - -private: - PEER* peer_; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Peer_Reconnected - * - * Helper class. - * Used to iterate over a Proxy_Collection and invoke: - * PROXY->reconnected (peer); - * peer->reconnected (proxy); - */ -template -class TAO_ESF_Peer_Reconnected : public TAO_ESF_Worker -{ -public: - TAO_ESF_Peer_Reconnected (PEER *peer); - - void work (PROXY *proxy - ACE_ENV_ARG_DECL); - -private: - PEER* peer_; -}; - -// **************************************************************** - -/** - * @class TAO_ESF_Peer_Disconnected - * - * Helper class. - * Used to iterate over a Proxy_Collection and invoke: - * PROXY->disconnected (peer); - * peer->disconnected (proxy); - */ -template -class TAO_ESF_Peer_Disconnected : public TAO_ESF_Worker -{ -public: - TAO_ESF_Peer_Disconnected (PEER *peer); - - void work (PROXY *proxy - ACE_ENV_ARG_DECL); - -private: - PEER* peer_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Peer_Workers.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Peer_Workers.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Peer_Workers.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_PEER_WORKERS_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.i deleted file mode 100644 index 02201bde5d5..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.i +++ /dev/null @@ -1,31 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Peer_Connected::TAO_ESF_Peer_Connected (R *peer) - : peer_ (peer) -{ -} - -// **************************************************************** - -template -TAO_ESF_Peer_Reconnected::TAO_ESF_Peer_Reconnected (R *peer) - : peer_ (peer) -{ -} - -// **************************************************************** - -template -TAO_ESF_Peer_Disconnected::TAO_ESF_Peer_Disconnected (R *peer) - : peer_ (peer) -{ -} - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp deleted file mode 100644 index 8449b48d0b2..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp +++ /dev/null @@ -1,110 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PROXY_ADMIN_CPP -#define TAO_ESF_PROXY_ADMIN_CPP - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_Admin.i" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Proxy_Admin:: - TAO_ESF_Proxy_Admin (EVENT_CHANNEL *ec) - : event_channel_ (ec) -{ - this->event_channel_->create_proxy_collection (this->collection_); -} - -template -TAO_ESF_Proxy_Admin:: - ~TAO_ESF_Proxy_Admin (void) -{ - this->event_channel_->destroy_proxy_collection (this->collection_); -} - -template INTERFACE* -TAO_ESF_Proxy_Admin:: - obtain (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PROXY* proxy; - this->event_channel_->create_proxy (proxy); - - TAO_ESF_RefCountedRef holder (proxy); - - ACE_TYPENAME PROXY::_ptr_type r; - proxy->activate (r ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (INTERFACE::_nil ()); - - ACE_TYPENAME PROXY::_var_type result = r; - - this->collection_->connected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (INTERFACE::_nil ()); - - return result._retn (); -} - -template void -TAO_ESF_Proxy_Admin:: - shutdown (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ESF_Shutdown_Proxy worker; - - this->collection_->for_each (&worker ACE_ENV_ARG_PARAMETER); - ACE_CHECK; // Cannot happen, just following the discipline. - - this->collection_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template void -TAO_ESF_Proxy_Admin:: - connected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -template void -TAO_ESF_Proxy_Admin:: - reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->collection_->reconnected (proxy ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_ESF_Proxy_Admin:: - disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - proxy->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; // Cannot happen, just following the discipline. - - ACE_TRY - { - this->collection_->disconnected (proxy ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ In the future the collections may raise exceptions to - // report errors (such as out of memory or things like that). - // We must decide how is that info going to be used, and how - // would we propagate the exception to the application. - // For example: the CosEC has no exceptions for "out of - // resources" or something similar, and i've never seen a spec - // that has an exception for "could not acquire a mutex". - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PROXY_ADMIN_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h deleted file mode 100644 index 5c56884654e..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h +++ /dev/null @@ -1,167 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Proxy_Admin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_PROXY_ADMIN_H -#define TAO_ESF_PROXY_ADMIN_H - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_Proxy_Admin - * - * @brief Implement common tasks in the Admin interfaces. - * - *

Requirements

- * - * The EVENT_CHANNEL interface must implement: - * - * @verbatim - * void create_proxy (PROXY*&); - * // create a new proxy - * - * void destroy_proxy (PROXY*); - * // destroy a proxy - * - * void create_proxy_collection (TAO_ESF_Proxy_Collection*&); - * // create a proxy collection - * - * void destroy_proxy_collection (TAO_ESF_Proxy_Collection*&); - * // destroy a proxy collection - * @endverbatim - * - * In addition to the requirements imposed by - * TAO_ESF_Proxy_Collection<>, the PROXY interface must define: - * - * @verbatim - * typename .... _ptr_type; - * // The T_ptr for the IDL interface implemented by the PROXY. - * - * typename .... _var_type; - * // The T_var for the IDL interface implemented by the PROXY. - * - * PROXY::_ptr_type - * PROXY::activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) throw (); - * // activate the proxy and return the object reference - * @endverbatim - * - */ -template -class TAO_ESF_Proxy_Admin -{ -public: - /// Constructor, allocate the internal collection - TAO_ESF_Proxy_Admin (EVENT_CHANNEL *ec); - - /// Cleanup internal resources, destroy the internal collection - virtual ~TAO_ESF_Proxy_Admin (void); - - /// Iterate over its internal collection. - void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // @todo We should use INTERFACE::_ptr_type or PROXY::_ptr_type, but - // the MSVC compiler (v6.0) gets confused when we do so. So we have - // to choose for the lesser evil. The code works because TAO uses - // pointers to implement the _ptr types, and that is OK because this - // code is supposed to run under TAO only. - /// Create a new PROXY and activate it. - virtual INTERFACE* - obtain (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * The Event Channel that owns this Admin object is going - * down. Invoke on all the proxies, cleanup the - * collection and prepare to terminate. - */ - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * A has connected, this is invoked when the proxy's client - * has invoked the connect_xxx_yyy() method. - * The default implementation is a no-op. - */ - virtual void connected (PROXY *proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * A has reconnected, i.e. its client has invoked the - * connect_xxx_yyy() method, but the proxy was connected already. - * The default implementation delegates on the collection - * method - */ - virtual void reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * A has been disconnected. The default implementation - * removes the object from the collection and deactivates the - * proxy. - */ - virtual void disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - /// The Event Channel we belong to - EVENT_CHANNEL *event_channel_; - -private: - /// Shorthand for the Proxy collection - typedef TAO_ESF_Proxy_Collection Collection; - - /// The proxy collection object - Collection *collection_; -}; - -// **************************************************************** -template -class TAO_ESF_RefCountedRef -{ -public: - TAO_ESF_RefCountedRef (COUNTED *counted); - ~TAO_ESF_RefCountedRef (); -private: - TAO_ESF_RefCountedRef (TAO_ESF_RefCountedRef const & ); - TAO_ESF_RefCountedRef& operator= (TAO_ESF_RefCountedRef const & ); - - COUNTED *counted_; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_Admin.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Proxy_Admin.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Proxy_Admin.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_PROXY_ADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.i deleted file mode 100644 index 882e6c9c056..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.i +++ /dev/null @@ -1,32 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE void -TAO_ESF_Proxy_Admin:: - for_each (TAO_ESF_Worker

*worker - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->collection_->for_each (worker ACE_ENV_ARG_PARAMETER); -} - -template -ACE_INLINE -TAO_ESF_RefCountedRef::TAO_ESF_RefCountedRef (C *counted) - : counted_ (counted) -{} - -template -ACE_INLINE -TAO_ESF_RefCountedRef::~TAO_ESF_RefCountedRef () -{ - if (this->counted_ != 0) - { - this->counted_->_decr_refcnt (); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.cpp deleted file mode 100644 index 1691a2dcc02..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PROXY_COLLECTION_CPP -#define TAO_ESF_PROXY_COLLECTION_CPP - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -template -TAO_ESF_Proxy_Collection::~TAO_ESF_Proxy_Collection (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PROXY_COLLECTION_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h deleted file mode 100644 index ceaeda03db0..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h +++ /dev/null @@ -1,174 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Proxy_Collection.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_PROXY_COLLECTION_H -#define TAO_ESF_PROXY_COLLECTION_H -#include /**/ "ace/pre.h" - -#include "ace/CORBA_macros.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_ESF_Worker; - -/** - * @class TAO_ESF_Proxy_Collection - * - * @brief ESF_Proxy_Collection - * - * Many components in an Event Service need to keep a collection - * of proxies; these collections must be able to cope with several - * concurrency issues: - * + Some threads may need to iterate over the collection and - * invoke a method on each element. Locking the collection - * while this is done is not feasible in all cases: under some - * configurations the same thread that is iterating over the - * collection may need to make changes to the set. - * + A recursive lock does not solve the concurrency problems - * because recursive changes to the collection still invalidate - * the iterators. - * - * There are several solutions to this problem (see the VARIANTS) - * section, and there is no single one that works bests in all - * cases. As usual, we wish the strategize the protocol used to - * serialize iterations and changes to the collection. This class - * encapsulates that protocol. - * - * The usual form of the Iterator pattern does not work well in - * this case: in several variants the synchronization protocol and - * the iteration loop must collaborate to work efficiently. - * Exposing an external iterator would require that every other - * component in the system can support all the synchronization - * protocols. It is possible to hide some of that complexity - * using heavy weight iterators, but their use is ackward, - * specially since the Koening-style iterators have become more - * popular. - * - * Regular member functions are used to insert, remove and update - * members of the collection and to shutdown (i.e. perform final - * cleanup operations). - * - * The class must also collaborate with other components of the - * EC to efficiently and safely perform memory managment of the - * members in the collection. - * - * The PROXY object must be reference counted with the following - * operations: - * - * + _incr_refcnt() - increment the reference count. - * + _decr_refcnt() - decrement the reference count. - * - * = VARIANTS - * - * We identify several sources of variation: - * - * + Immediate_Changes: in this variant the iteration in performed - * while holding some kind of synchronization primitive, such as a - * thread mutex, a recursive mutex, a RW lock, etc. - * This is only useful in configurations where a separate thread - * dispatches the events, and thus, can only be used with real - * locks. - * + Copy_On_Read: before performing the iteration the collection - * is duplicated into a temporary array. Thus no locks are held - * during the iteration. This is a very expensive approach, but - * useful in many cases. - * The kind of lock is also strategized in this case. - * + Copy_On_Write: this is very similar to the previous approach, - * but the collection is only duplicated when a change is required - * while some thread is performing an iteration. The iteration - * continues over the original copy, while the changes are - * performed in the duplicate. The new copy of the collection is - * used for any subsequent operations, the original is discarded - * when the last thread using it completes its work. - * This approach optimizes for the case where no changes are - * is duplicated into a temporary array. Thus no locks are held - * during the iteration. This is a very expensive approach, but - * useful in many cases. - * The kind of lock is also strategized in this case. - * + Delayed_Changes: before starting the iteration a counter is - * incremented, this counter is used to keep track of the number - * of threads concurrently using the collection. - * If a thread wants to perform a change to the collection it must - * first verify that there are no threads iterating over it. If - * there are any threads then the thread queues the modification - * for later execution, using the Command pattern. - * The kind of lock is strategized, as this approach is used in - * single threaded configurations. - * There are two main variations: - * - An upcall can result in new dispatches: in this case we - * have to keep track of a the list of current threads using - * a Set, to avoid dead-locks. The design is not complete, - * probably similar to the next one. - * - Otherwise we just need to control the concurrency using the - * algorithm described below. - * - * It assumes ownership of the proxies added to the collection, - * it increases the reference count. - * - * Locking is provided by derived classes. - */ -template -class TAO_ESF_Proxy_Collection -{ -public: - /// destructor - virtual ~TAO_ESF_Proxy_Collection (void); - - /** - * Iterate over the collection and invoke worker->work() for each - * member of the collection. - * This encapsulates - */ - virtual void for_each (TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) = 0; - - /// Insert a new element into the collection. The collection assumes - /// ownership of the element. - virtual void connected (PROXY *proxy - ACE_ENV_ARG_DECL) = 0; - - /** - * Insert an element into the collection. No errors can be raised - * if the element is already present. - * The collection assumes ownership, i.e. must invoke - * _decr_refcnt()> if the element is already present in the - * collection. - */ - virtual void reconnected (PROXY *proxy - ACE_ENV_ARG_DECL) = 0; - - /// Remove an element from the collection. - virtual void disconnected (PROXY *proxy - ACE_ENV_ARG_DECL) = 0; - - /// The EC is shutting down, must release all the elements. - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) = 0; -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Proxy_Collection.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Proxy_Collection.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_ESF_PROXY_COLLECTION_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.cpp deleted file mode 100644 index ebe73ce7996..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.cpp +++ /dev/null @@ -1,93 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PROXY_LIST_CPP -#define TAO_ESF_PROXY_LIST_CPP - -#include "orbsvcs/ESF/ESF_Proxy_List.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_List.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Proxy_List::TAO_ESF_Proxy_List (void) -{ -} - -template void -TAO_ESF_Proxy_List::connected (PROXY *proxy - ACE_ENV_ARG_DECL_NOT_USED) -{ - int r = this->impl_.insert (proxy); - if (r == 0) - return; - - if (r == 1) - { - // @@ Already there, throw some user exception.. - proxy->_decr_refcnt (); - } - if (r == -1) - { - // @@ Cannot insert, running out of memory? throw some other - // user exception - proxy->_decr_refcnt (); - } -} - -template void -TAO_ESF_Proxy_List::reconnected (PROXY *proxy - ACE_ENV_ARG_DECL_NOT_USED) -{ - int r = this->impl_.insert (proxy); - if (r == 0) - return; - - if (r == 1) - { - // Reference count is incremented by the callers to [re]connected. - // @@ Find out if the protocol could be simplified, and decoupling - // increased. - proxy->_decr_refcnt (); - return; - } - - if (r == -1) - { - // @@ Cannot insert, running out of memory? throw some other - // user exception - proxy->_decr_refcnt (); - } -} - -template void -TAO_ESF_Proxy_List::disconnected (PROXY *proxy - ACE_ENV_ARG_DECL_NOT_USED) -{ - int r = this->impl_.remove (proxy); - if (r != 0) - { - // @@ Cannot remove, throw some other - // user exception - return; - } - proxy->_decr_refcnt (); -} - -template void -TAO_ESF_Proxy_List::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - Iterator end = this->impl_.end (); - for (Iterator i = this->impl_.begin (); i != end; ++i) - { - // Decrement reference count - (*i)->_decr_refcnt (); - } - this->impl_.reset (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PROXY_LIST_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h deleted file mode 100644 index f2697bd7dbf..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h +++ /dev/null @@ -1,88 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Proxy_List.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_PROXY_LIST_H -#define TAO_ESF_PROXY_LIST_H - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Unbounded_Set.h" -#include "ace/Containers.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// A concrete proxy collection. -/** - * Based on the ACE_Unbounded_Set<> collection, used a double - * linked list internally. - */ -template -class TAO_ESF_Proxy_List -{ -public: - /// A typedef for the underlying implementaiton class - typedef ACE_Unbounded_Set Implementation; - - /// A typedef for the underlying iterator - typedef ACE_Unbounded_Set_Iterator Iterator; - - /// Constructor - TAO_ESF_Proxy_List (void); - - /// Return the first element in the collection, or end() if there - /// are none - ACE_Unbounded_Set_Iterator begin (void); - - /// Return one past the last element in the collection - ACE_Unbounded_Set_Iterator end (void); - - /// Return the number of elements in the collection - size_t size (void) const; - - /// Insert a new element to the collection - void connected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED); - - /// Insert a new element that could be there already. - void reconnected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED); - - /// Remove an element from the collection - void disconnected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED); - - /// Shutdown the collection, i.e. remove all elements and release - /// resources - void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - -private: - /// The underlying implementation object - ACE_Unbounded_Set impl_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_List.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Proxy_List.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Proxy_List.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_PROXY_LIST_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.i deleted file mode 100644 index 67d752fdc6c..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_List.i +++ /dev/null @@ -1,25 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE ACE_Unbounded_Set_Iterator -TAO_ESF_Proxy_List::begin (void) -{ - return this->impl_.begin (); -} - -template ACE_INLINE ACE_Unbounded_Set_Iterator -TAO_ESF_Proxy_List::end (void) -{ - return this->impl_.end (); -} - -template ACE_INLINE size_t -TAO_ESF_Proxy_List::size (void) const -{ - return this->impl_.size (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp deleted file mode 100644 index 000b91f27d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp +++ /dev/null @@ -1,91 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PROXY_RB_TREE_CPP -#define TAO_ESF_PROXY_RB_TREE_CPP - -#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Proxy_RB_Tree::TAO_ESF_Proxy_RB_Tree (void) -{ -} - -template void -TAO_ESF_Proxy_RB_Tree::connected (PROXY *proxy - ACE_ENV_ARG_DECL_NOT_USED) -{ - int r = this->impl_.bind (proxy, 1); - if (r == 0) - return; - - if (r == 1) - { - // @@ Already there, throw some user exception.. - proxy->_decr_refcnt (); - } - if (r == -1) - { - // @@ Cannot insert, running out of memory? throw some other - // user exception - proxy->_decr_refcnt (); - } -} - -template void -TAO_ESF_Proxy_RB_Tree::reconnected (PROXY *proxy - ACE_ENV_ARG_DECL_NOT_USED) -{ - int r = this->impl_.rebind (proxy, 1); - if (r == 0) - return; - - if (r == 1) - { - // Reference count is incremented by the callers to [re]connected. - // @@ Find out if the protocol could be simplified, and decoupling - // increased. - proxy->_decr_refcnt (); - return; - } - - if (r == -1) - { - proxy->_decr_refcnt (); - } -} - -template void -TAO_ESF_Proxy_RB_Tree::disconnected (PROXY *proxy - ACE_ENV_ARG_DECL_NOT_USED) -{ - int r = this->impl_.unbind (proxy); - if (r != 0) - { - // @@ Cannot remove, throw some other - // user exception - return; - } - proxy->_decr_refcnt (); -} - -template void -TAO_ESF_Proxy_RB_Tree::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - Iterator end = this->impl_.end (); - for (Iterator i = this->impl_.begin (); i != end; ++i) - { - // Decrement reference count - (*i)->_decr_refcnt (); - } - this->impl_.clear (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PROXY_RB_TREE_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h deleted file mode 100644 index e4c6ce6f9a0..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h +++ /dev/null @@ -1,114 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Proxy_RB_Tree.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_PROXY_RB_TREE_H -#define TAO_ESF_PROXY_RB_TREE_H - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/RB_Tree.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Iterator class for a ACE_ESF_RB_Tree -template -class TAO_ESF_Proxy_RB_Tree_Iterator -{ -public: - typedef ACE_RB_Tree_Iterator, - ACE_Null_Mutex> - Implementation; - - TAO_ESF_Proxy_RB_Tree_Iterator (const Implementation &i); - - bool operator == (const TAO_ESF_Proxy_RB_Tree_Iterator &rhs) const; - bool operator != (const TAO_ESF_Proxy_RB_Tree_Iterator &rhs) const; - TAO_ESF_Proxy_RB_Tree_Iterator& operator++ (void); - TAO_ESF_Proxy_RB_Tree_Iterator operator++ (int); - PROXY *operator *(void); - -private: - Implementation impl_; -}; - -// **************************************************************** - -/// Concrete Proxy collection based on ACE_RB_Tree -/** - * The Event Service Framework provides several alternatives for the - * underlying proxy collections. - * This version is based on Red-Black trees that offer good insertion, - * removal and lookup performance, but the iteration is slightly - * degraded. - */ -template -class TAO_ESF_Proxy_RB_Tree -{ -public: - /// A typedef for the underlying implementaiton class - typedef ACE_RB_Tree,ACE_Null_Mutex> Implementation; - - /// A typedef for the underlying iterator - typedef TAO_ESF_Proxy_RB_Tree_Iterator Iterator; - - /// Constructor - TAO_ESF_Proxy_RB_Tree (void); - - /// Return the first element in the collection, or end() if there - /// are none - TAO_ESF_Proxy_RB_Tree_Iterator begin (void); - - /// Return one past the last element in the collection - TAO_ESF_Proxy_RB_Tree_Iterator end (void); - - /// Return the number of elements in the collection - size_t size (void) const; - - /// Insert a new element to the collection - void connected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED); - - /// Insert a new element that could be there already. - void reconnected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED); - /// Remove an element from the collection - void disconnected (PROXY * - ACE_ENV_ARG_DECL_NOT_USED); - - /// Shutdown the collection, i.e. remove all elements and release - /// resources - void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - -private: - /// The underlying implementation object - Implementation impl_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Proxy_RB_Tree.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_PROXY_RB_TREE_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.i deleted file mode 100644 index b67178bf7b5..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.i +++ /dev/null @@ -1,69 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_ESF_Proxy_RB_Tree_Iterator:: - TAO_ESF_Proxy_RB_Tree_Iterator (const Implementation &i) - : impl_ (i) -{ -} - -template ACE_INLINE bool -TAO_ESF_Proxy_RB_Tree_Iterator::operator == ( - const TAO_ESF_Proxy_RB_Tree_Iterator &rhs) const -{ - return this->impl_ == rhs.impl_; -} - -template ACE_INLINE bool -TAO_ESF_Proxy_RB_Tree_Iterator::operator != ( - const TAO_ESF_Proxy_RB_Tree_Iterator &rhs) const -{ - return this->impl_ != rhs.impl_; -} - -template ACE_INLINE TAO_ESF_Proxy_RB_Tree_Iterator& -TAO_ESF_Proxy_RB_Tree_Iterator::operator++ (void) -{ - ++this->impl_; - return *this; -} - -template ACE_INLINE TAO_ESF_Proxy_RB_Tree_Iterator -TAO_ESF_Proxy_RB_Tree_Iterator::operator++ (int) -{ - TAO_ESF_Proxy_RB_Tree_Iterator tmp = *this; - ++this->impl_; - return tmp; -} - -template ACE_INLINE PROXY* -TAO_ESF_Proxy_RB_Tree_Iterator::operator *(void) -{ - return (*this->impl_).key (); -} - -// **************************************************************** - -template ACE_INLINE TAO_ESF_Proxy_RB_Tree_Iterator -TAO_ESF_Proxy_RB_Tree::begin (void) -{ - return Iterator (this->impl_.begin ()); -} - -template ACE_INLINE TAO_ESF_Proxy_RB_Tree_Iterator -TAO_ESF_Proxy_RB_Tree::end (void) -{ - return Iterator (this->impl_.end ()); -} - -template ACE_INLINE size_t -TAO_ESF_Proxy_RB_Tree::size (void) const -{ - return this->impl_.current_size (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp deleted file mode 100644 index 5e236899e02..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_PROXY_REFCOUNT_GUARD_CPP -#define TAO_ESF_PROXY_REFCOUNT_GUARD_CPP - -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Proxy_RefCount_Guard::~TAO_ESF_Proxy_RefCount_Guard (void) -{ - // Checking for 0 is safe, once the variable reaches 0 the value - // will stay there. - // @@ But what if the thread is switched to another processor just - // after release the mutex? - if (this->refcount_ == 0) - { - this->event_channel_->destroy_proxy (this->proxy_); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_PROXY_REFCOUNT_GUARD_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h deleted file mode 100644 index 7e2f9e4c160..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Proxy_RefCount_Guard.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_PROXY_REFCOUNT_GUARD_H -#define TAO_ESF_PROXY_REFCOUNT_GUARD_H - -#include "tao/Basic_Types.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_Proxy_RefCount_Guard - * - * @brief Reference count based guard. - * - * A common idiom used on event services is to increment a - * reference count before starting a long running operation. - * The system can then execute the operation without any risk of - * having the underlying object destroyed. The advantage of using - * a reference count is that no mutex or lock needs to be held - * while the operation is beign executed. - * This class implements that common idiom, but it also adds hooks - * to handle scenarios where more than one operation is performed - * while holding the reference count. - * - * @TODO: The type of lock could be parametric - */ -template -class TAO_ESF_Proxy_RefCount_Guard -{ -public: - /// Constructor - TAO_ESF_Proxy_RefCount_Guard (CORBA::ULong &refcount, - EVENT_CHANNEL *ec, - PROXY *proxy); - - /// Destructor - ~TAO_ESF_Proxy_RefCount_Guard (void); - -protected: - /// The reference count, if it gets to zero then the object must be - /// destroyed - CORBA::ULong &refcount_; - - /// The event channel used to destroy the proxy - EVENT_CHANNEL *event_channel_; - - /// The proxy whose lifetime is controlled by the reference count - PROXY *proxy_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Proxy_RefCount_Guard.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_PROXY_REFCOUNT_GUARD_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i deleted file mode 100644 index d0d4fc80ac1..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i +++ /dev/null @@ -1,18 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_ESF_Proxy_RefCount_Guard:: - TAO_ESF_Proxy_RefCount_Guard (CORBA::ULong &refcount, - EC *ec, - P *proxy) - : refcount_ (refcount), - event_channel_ (ec), - proxy_ (proxy) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.cpp deleted file mode 100644 index ae87b7f97f1..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_REFCOUNT_GUARD_CPP -#define TAO_ESF_REFCOUNT_GUARD_CPP - -#include "orbsvcs/ESF/ESF_RefCount_Guard.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_RefCount_Guard.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(ESF, ESF_RefCount_Guard, "$Id$") - -#endif /* TAO_ESF_REFCOUNT_GUARD_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h deleted file mode 100644 index 84569c79bb6..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_RefCount_Guard.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_REFCOUNT_GUARD_H -#define TAO_ESF_REFCOUNT_GUARD_H - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ESF_RefCount_Guard - * - * @brief Reference count based guard. - * - * A common idiom used on event services is to increment a - * reference count before starting a long running operation. - * The system can then execute the operation without any risk of - * having the underlying object destroyed. The advantage of using - * a reference count is that no mutex or lock needs to be held - * while the operation is beign executed. - */ -template -class TAO_ESF_RefCount_Guard -{ -public: - /// Constructor - TAO_ESF_RefCount_Guard (T &refcount); - - /// Destructor - ~TAO_ESF_RefCount_Guard (void); - -protected: - /// The reference count - T &refcount_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_RefCount_Guard.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_RefCount_Guard.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_RefCount_Guard.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_REFCOUNT_GUARD_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.i deleted file mode 100644 index de454aaefe0..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.i +++ /dev/null @@ -1,22 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_ESF_RefCount_Guard:: - TAO_ESF_RefCount_Guard (T &refcount) - : refcount_ (refcount) -{ - this->refcount_++; -} - -template ACE_INLINE -TAO_ESF_RefCount_Guard:: - ~TAO_ESF_RefCount_Guard (void) -{ - this->refcount_--; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.cpp deleted file mode 100644 index a0db9862e3f..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_SHUTDOWN_PROXY_CPP -#define TAO_ESF_SHUTDOWN_PROXY_CPP - -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" -#include "ace/CORBA_macros.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template void -TAO_ESF_Shutdown_Proxy::work (PROXY *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - proxy->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Do not propagate any exceptions - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_SHUTDOWN_PROXY_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h deleted file mode 100644 index 7263e4b2445..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Shutdown_Proxy.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - - -#ifndef TAO_ESF_SHUTDOWN_PROXY_H -#define TAO_ESF_SHUTDOWN_PROXY_H - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// A worker to invoke the shutdown method of each proxy. -template -class TAO_ESF_Shutdown_Proxy : public TAO_ESF_Worker -{ -public: - TAO_ESF_Shutdown_Proxy (void); - - void work (PROXY *proxy - ACE_ENV_ARG_DECL); -}; - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Shutdown_Proxy.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_SHUTDOWN_PROXY_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.i b/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.i deleted file mode 100644 index 51955993b3d..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.i +++ /dev/null @@ -1,12 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_ESF_Shutdown_Proxy::TAO_ESF_Shutdown_Proxy (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.cpp b/TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.cpp deleted file mode 100644 index ef8c4ad0f37..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// $Id$ - -#ifndef TAO_ESF_WORKER_CPP -#define TAO_ESF_WORKER_CPP - -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_ESF_Worker::~TAO_ESF_Worker (void) -{ -} - -template -void TAO_ESF_Worker::set_size (size_t) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ESF_WORKER_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.h b/TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.h deleted file mode 100644 index 94041cc6555..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/ESF_Worker.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -/** - * @file ESF_Worker.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ESF_WORKER_H -#define TAO_ESF_WORKER_H - -#include "ace/CORBA_macros.h" -#include "ace/os_include/os_stddef.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class Object; - -namespace CORBA -{ - class Environment; -} -/// Define the interface for the Worker objects -/** - * The Event Service Framework uses Worker classes to iterate over - * collections of proxies. - * The following class defines the worker interface, basically users of - * the framework implement a worker object and pass it to one - * collection. The collection invokes the worker for each element the - * colection contains. - */ -template -class TAO_ESF_Worker -{ -public: - virtual ~TAO_ESF_Worker (void); - - /// Used by the collection to inform the worker - /// the number of proxies in the collection. - virtual void set_size(size_t size); - - /// Callback interface. - virtual void work (Object *object - ACE_ENV_ARG_DECL) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/ESF/ESF_Worker.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ESF_Worker.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* TAO_ESF_WORKER_H */ diff --git a/TAO/orbsvcs/orbsvcs/ESF/esf_export.h b/TAO/orbsvcs/orbsvcs/ESF/esf_export.h deleted file mode 100644 index a9c7cd1fd3a..00000000000 --- a/TAO/orbsvcs/orbsvcs/ESF/esf_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_ESF_EXPORT_H -#define TAO_ESF_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_ESF_HAS_DLL) -# define TAO_ESF_HAS_DLL 0 -# endif /* ! TAO_ESF_HAS_DLL */ -#else -# if !defined (TAO_ESF_HAS_DLL) -# define TAO_ESF_HAS_DLL 1 -# endif /* ! TAO_ESF_HAS_DLL */ -#endif - -#if defined (TAO_ESF_HAS_DLL) && (TAO_ESF_HAS_DLL == 1) -# if defined (TAO_ESF_BUILD_DLL) -# define TAO_ESF_Export ACE_Proper_Export_Flag -# define TAO_ESF_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_ESF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_ESF_BUILD_DLL */ -# define TAO_ESF_Export ACE_Proper_Import_Flag -# define TAO_ESF_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_ESF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_ESF_BUILD_DLL */ -#else /* TAO_ESF_HAS_DLL == 1 */ -# define TAO_ESF_Export -# define TAO_ESF_SINGLETON_DECLARATION(T) -# define TAO_ESF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_ESF_HAS_DLL == 1 */ - -#endif /* TAO_ESF_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/ETCL.mpc b/TAO/orbsvcs/orbsvcs/ETCL.mpc deleted file mode 100644 index f7cfd1c9367..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL.mpc +++ /dev/null @@ -1,33 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(ETCL) : orbsvcslib, core { - sharedname = TAO_ETCL - dynamicflags = TAO_ETCL_BUILD_DLL - tagchecks += Notify - pch_header = - pch_source = - - IDL_Files { - } - - Source_Files { - ETCL - } - - Header_Files { - ETCL - } - - Inline_Files { - ETCL - } - - Template_Files { - ETCL - } - - Pkgconfig_Files { - TAO_ETCL.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/ETCL.rc b/TAO/orbsvcs/orbsvcs/ETCL.rc deleted file mode 100644 index 4a49921ad21..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "ETCL\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_ETCLDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_ETCL.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL.ll b/TAO/orbsvcs/orbsvcs/ETCL/ETCL.ll deleted file mode 100644 index bfbe15ddd2a..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL.ll +++ /dev/null @@ -1,161 +0,0 @@ -%option noyywrap - -%{ -// ETCL.ll,v 1.5 2005/11/16 07:53:24 ossama Exp -// ======================================================================== -// -// = LIBRARY -// orbsvcs/ECTL -// -// = FILENAME -// ETCL.ll -// -// = AUTHOR -// Carlos O'Ryan based on previous work by -// Seth Widoff -// -// ======================================================================== - -#include "ace/OS.h" - -#include "ETCL_Constraint.h" -#include "ETCL_y.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -static const char * extract_string(char*); - -#define TAO_YY_LEX_DEBUG - -#ifdef TAO_CONSTRAINT_DEBUG -#define TAO_YY_LEX_DEBUG TAO_OS::fprintf(stderr, "%s\n", yytext) -#endif /* TAO_CONSTRAINT_DEBUG */ - -#define YY_DECL int TAO_ETCL_yylex (TAO_ETCL_YYSTYPE *lvalp, void* state) - -#define YY_BREAK -#define YY_NO_UNPUT - -%} - -white_space [ \t] -letter [a-zA-Z] -digit [0-9] -alpha_num ({letter}|{digit}) -integer {digit}+ -float ({digit}*\.{digit}+)([eE][-+]?{digit}+)? -string '(([^'\\]*)|([^'\\]*\\')|([^'\\]*\\\\))*' -base {letter}({alpha_num}|[_])* -ident {base}|\\{base} -newline \n - -%% - -min { TAO_YY_LEX_DEBUG; return TAO_ETCL_MIN; } -max { TAO_YY_LEX_DEBUG; return TAO_ETCL_MAX; } -first { TAO_YY_LEX_DEBUG; return TAO_ETCL_FIRST; } -random { TAO_YY_LEX_DEBUG; return TAO_ETCL_RANDOM; } -with { TAO_YY_LEX_DEBUG; return TAO_ETCL_WITH; } -exist { TAO_YY_LEX_DEBUG; return TAO_ETCL_EXIST; } -not { TAO_YY_LEX_DEBUG; return TAO_ETCL_NOT; } -and { TAO_YY_LEX_DEBUG; return TAO_ETCL_AND; } -or { TAO_YY_LEX_DEBUG; return TAO_ETCL_OR; } -in { TAO_YY_LEX_DEBUG; return TAO_ETCL_IN; } -"~" { TAO_YY_LEX_DEBUG; return TAO_ETCL_TWIDDLE; } -"+" { TAO_YY_LEX_DEBUG; return TAO_ETCL_PLUS; } -"-" { TAO_YY_LEX_DEBUG; return TAO_ETCL_MINUS; } -"*" { TAO_YY_LEX_DEBUG; return TAO_ETCL_MULT; } -"/" { TAO_YY_LEX_DEBUG; return TAO_ETCL_DIV; } -"<" { TAO_YY_LEX_DEBUG; return TAO_ETCL_LT; } -"<=" { TAO_YY_LEX_DEBUG; return TAO_ETCL_LE; } -">" { TAO_YY_LEX_DEBUG; return TAO_ETCL_GT; } -">=" { TAO_YY_LEX_DEBUG; return TAO_ETCL_GE; } -"==" { TAO_YY_LEX_DEBUG; return TAO_ETCL_EQ; } -"!=" { TAO_YY_LEX_DEBUG; return TAO_ETCL_NE; } -"(" { TAO_YY_LEX_DEBUG; return TAO_ETCL_LPAREN; } -")" { TAO_YY_LEX_DEBUG; return TAO_ETCL_RPAREN; } -"$" { TAO_YY_LEX_DEBUG; return TAO_ETCL_DOLLAR; } -"." { TAO_YY_LEX_DEBUG; return TAO_ETCL_DOT; } -"default" { TAO_YY_LEX_DEBUG; return TAO_ETCL_DEFAULT; } -"_d" { TAO_YY_LEX_DEBUG; return TAO_ETCL_DISCRIMINANT; } -"_type_id" { TAO_YY_LEX_DEBUG; return TAO_ETCL_TYPE_ID; } -"_repos_id" { TAO_YY_LEX_DEBUG; return TAO_ETCL_REPOS_ID; } -"_length" { TAO_YY_LEX_DEBUG; return TAO_ETCL_LENGTH; } -"[" { TAO_YY_LEX_DEBUG; return TAO_ETCL_LBRA; } -"]" { TAO_YY_LEX_DEBUG; return TAO_ETCL_RBRA; } -TRUE { - lvalp->constraint = - new TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 1); - TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN; - } -FALSE { - lvalp->constraint = - new TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 0); - TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN; - } -{integer} { - lvalp->constraint = - new TAO_ETCL_Literal_Constraint (ACE_OS::atoi (yytext)); - TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER; - } -{float} { - double v; - sscanf (yytext, "%lf", &v); - lvalp->constraint = - new TAO_ETCL_Literal_Constraint (v); - TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT; - } -{string} { - lvalp->constraint = - new TAO_ETCL_Literal_Constraint (extract_string (yytext)); - TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING; - } -{ident} { - lvalp->constraint = - new TAO_ETCL_Identifier (yytext); - TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT; - } -{white_space} { - TAO_YY_LEX_DEBUG; break; // Ignore - } -. { - TAO_YY_LEX_DEBUG; break; // @@ TODO - } -%% - -const char* -extract_string(char* str) -{ - char *t = str; - for (char * i = str + 1; *i != '\''; ++i, ++t) - { - if (*i == '\\') - { - ++i; - if (*i == 0) - return 0; - else if (*i == 't') - *t = '\t'; - else if (*i == 'n') - *t = '\n'; - else if (*i == '\\') - *t = '\\'; - else - *t = *i; - continue; - } - - *t = *i; - } - - *t = '\0'; - return str; -} - -int -yywrap (void) -{ - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL \ No newline at end of file diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL.rc b/TAO/orbsvcs/orbsvcs/ETCL/ETCL.rc deleted file mode 100644 index c84d11c35db..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "ETCL\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_ETCLDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_ETCL.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL.yy b/TAO/orbsvcs/orbsvcs/ETCL/ETCL.yy deleted file mode 100644 index 14c9eaad182..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL.yy +++ /dev/null @@ -1,261 +0,0 @@ -%{ -// $Id$ -// ======================================================================== -// -// = LIBRARY -// orbsvcs / Extended Trader Constraint Language parser. -// -// = FILENAME -// ETCL.yy -// -// = AUTHOR -// Carlos O'Ryan based on previous work by -// Seth Widoff -// -// ======================================================================== - -#include "ETCL_y.h" -#include "ETCL_Constraint.h" -#include "ETCL_Interpreter.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern int yylex (void); - -static void yyerror (const char *) -{ - // @@ TODO - // Ignore error messages -} - -%} - -%token TAO_ETCL_GT -%token TAO_ETCL_GE -%token TAO_ETCL_LT -%token TAO_ETCL_LE -%token TAO_ETCL_EQ -%token TAO_ETCL_NE -%token TAO_ETCL_EXIST -%token TAO_ETCL_DEFAULT -%token TAO_ETCL_AND -%token TAO_ETCL_OR -%token TAO_ETCL_NOT -%token TAO_ETCL_IN -%token TAO_ETCL_TWIDDLE -%token TAO_ETCL_BOOLEAN -%token TAO_ETCL_PLUS -%token TAO_ETCL_MINUS -%token TAO_ETCL_MULT -%token TAO_ETCL_DIV -%token TAO_ETCL_UMINUS -%token TAO_ETCL_INTEGER -%token TAO_ETCL_FLOAT -%token TAO_ETCL_STRING -%token TAO_ETCL_RPAREN -%token TAO_ETCL_LPAREN -%token TAO_ETCL_RBRA -%token TAO_ETCL_LBRA -%token TAO_ETCL_IDENT -%token TAO_ETCL_UNSIGNED -%token TAO_ETCL_SIGNED -%token TAO_ETCL_DOUBLE -%token TAO_ETCL_CONSTRAINT -%token TAO_ETCL_COMPONENT -%token TAO_ETCL_WITH -%token TAO_ETCL_MAX -%token TAO_ETCL_MIN -%token TAO_ETCL_FIRST -%token TAO_ETCL_RANDOM -%token TAO_ETCL_DOLLAR -%token TAO_ETCL_DOT -%token TAO_ETCL_DISCRIMINANT -%token TAO_ETCL_LENGTH -%token TAO_ETCL_TYPE_ID -%token TAO_ETCL_REPOS_ID - - -%type TAO_ETCL_IDENT -%type TAO_ETCL_BOOLEAN -%type TAO_ETCL_STRING -%type TAO_ETCL_FLOAT -%type TAO_ETCL_INTEGER -%type expr_in -%type constraint preference bool_or bool_and bool_compare -%type expr_in expr_twiddle expr term factor_not factor -%type union_pos union_val component_array -%type component_array component_assoc component_pos -%type component_dot component_ext component - -%start constraint - -%% - -constraint: bool_or - | preference - ; - -preference: TAO_ETCL_MIN bool_or - { $$ = new TAO_ETCL_Preference (TAO_ETCL_MIN, $2); } - | TAO_ETCL_MAX bool_or - { $$ = new TAO_ETCL_Preference (TAO_ETCL_MAX, $2); } - | TAO_ETCL_WITH bool_or - { $$ = new TAO_ETCL_Preference (TAO_ETCL_WITH, $2); } - | TAO_ETCL_FIRST - { $$ = new TAO_ETCL_Preference (TAO_ETCL_FIRST); } - | TAO_ETCL_RANDOM - { $$ = new TAO_ETCL_Preference (TAO_ETCL_RANDOM); } - ; - -bool_or: bool_or TAO_ETCL_OR bool_and - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_OR, $1, $3); } - | bool_and - ; - -bool_and: bool_and TAO_ETCL_AND bool_compare - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_AND, $1, $3); } - | bool_compare - ; - -bool_compare: expr_in TAO_ETCL_EQ expr_in - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_EQ, $1, $3); } - | expr_in TAO_ETCL_NE expr_in - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_NE, $1, $3); } - | expr_in TAO_ETCL_GT expr_in - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_GT, $1, $3); } - | expr_in TAO_ETCL_GE expr_in - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_GE, $1, $3); } - | expr_in TAO_ETCL_LT expr_in - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_LT, $1, $3); } - | expr_in TAO_ETCL_LE expr_in - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_LE, $1, $3); } - | expr_in - ; - -expr_in: expr_twiddle TAO_ETCL_IN component - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_IN, $1, $3); } - | expr_twiddle TAO_ETCL_IN TAO_ETCL_DOLLAR component - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_IN, $1, $4); } - | expr_twiddle - ; - -expr_twiddle: expr TAO_ETCL_TWIDDLE expr - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_TWIDDLE, $1, $3); } - | expr - ; - -expr: expr TAO_ETCL_PLUS term - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_PLUS, $1, $3); } - | expr TAO_ETCL_MINUS term - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_MINUS, $1, $3); } - | term - ; - -term: term TAO_ETCL_MULT factor_not - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_MULT, $1, $3); } - | term TAO_ETCL_DIV factor_not - { $$ = new TAO_ETCL_Binary_Expr (TAO_ETCL_DIV, $1, $3); } - | factor_not - ; - -factor_not: TAO_ETCL_NOT factor - { $$ = new TAO_ETCL_Unary_Expr (TAO_ETCL_NOT, $2); } - | factor - ; - -factor: TAO_ETCL_LPAREN bool_or TAO_ETCL_RPAREN - { $$ = $2; } - | TAO_ETCL_INTEGER - { $$ = $1; } - | TAO_ETCL_PLUS TAO_ETCL_INTEGER - { $$ = new TAO_ETCL_Unary_Expr (TAO_ETCL_PLUS, $2); } - | TAO_ETCL_MINUS TAO_ETCL_INTEGER - { $$ = new TAO_ETCL_Unary_Expr (TAO_ETCL_MINUS, $2); } - | TAO_ETCL_FLOAT - { $$ = $1; } - | TAO_ETCL_PLUS TAO_ETCL_FLOAT - { $$ = new TAO_ETCL_Unary_Expr (TAO_ETCL_PLUS, $2); } - | TAO_ETCL_MINUS TAO_ETCL_FLOAT - { $$ = new TAO_ETCL_Unary_Expr (TAO_ETCL_MINUS, $2); } - | TAO_ETCL_STRING - { $$ = $1; } - | TAO_ETCL_BOOLEAN - { $$ = $1; } - | TAO_ETCL_EXIST TAO_ETCL_IDENT - { $$ = new TAO_ETCL_Exist ($2); } - | TAO_ETCL_EXIST TAO_ETCL_DOLLAR component - { $$ = new TAO_ETCL_Exist ($3); } - | TAO_ETCL_DEFAULT TAO_ETCL_DOLLAR component - { $$ = new TAO_ETCL_Default ($3); } - | TAO_ETCL_DOLLAR component - { $$ = new TAO_ETCL_Eval ($2); } - | TAO_ETCL_IDENT - { $$ = $1; } - ; - -component: /* empty */ - { $$ = 0; } - | TAO_ETCL_DOT component_dot - { $$ = new TAO_ETCL_Dot ($2); } - - | TAO_ETCL_IDENT component_ext - { $$ = new TAO_ETCL_Component ($1, $2); } - - | component_array - | component_assoc - ; - -component_ext: /* empty */ - { $$ = 0; } - | TAO_ETCL_DOT component_dot - { $$ = new TAO_ETCL_Dot ($2); } - - | component_array - | component_assoc - ; - -component_dot: TAO_ETCL_IDENT component_ext - { $$ = new TAO_ETCL_Component ($1, $2); } - | TAO_ETCL_LENGTH - { $$ = new TAO_ETCL_Special (TAO_ETCL_LENGTH); } - | TAO_ETCL_DISCRIMINANT - { $$ = new TAO_ETCL_Special (TAO_ETCL_DISCRIMINANT); } - | TAO_ETCL_TYPE_ID - { $$ = new TAO_ETCL_Special (TAO_ETCL_TYPE_ID); } - | TAO_ETCL_REPOS_ID - { $$ = new TAO_ETCL_Special (TAO_ETCL_REPOS_ID); } - | component_pos - | union_pos - ; - -component_array: TAO_ETCL_LBRA TAO_ETCL_INTEGER TAO_ETCL_RBRA component_ext - { $$ = new TAO_ETCL_Component_Array ($2, $4); } - ; - -component_assoc: TAO_ETCL_LPAREN TAO_ETCL_IDENT TAO_ETCL_RPAREN component_ext - { $$ = new TAO_ETCL_Component_Assoc ($2, $4); } - ; - -component_pos: TAO_ETCL_INTEGER component_ext - { $$ = new TAO_ETCL_Component_Pos ($1, $2); } - ; - -union_pos: TAO_ETCL_LPAREN union_val TAO_ETCL_RPAREN component_ext - { $$ = new TAO_ETCL_Union_Pos ($2, $4); } - ; - -union_val: /* empty */ - { $$ = 0; } - | TAO_ETCL_INTEGER - { $$ = new TAO_ETCL_Union_Value (+1, $1); } - | TAO_ETCL_PLUS TAO_ETCL_INTEGER - { $$ = new TAO_ETCL_Union_Value (+1, $2); } - | TAO_ETCL_MINUS TAO_ETCL_INTEGER - { $$ = new TAO_ETCL_Union_Value (-1, $2); } - | TAO_ETCL_STRING - { $$ = new TAO_ETCL_Union_Value ($1); } - ; - -%% - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp deleted file mode 100644 index 092af3fa7f8..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp +++ /dev/null @@ -1,956 +0,0 @@ -// -*- C++ -*- -// $Id$ - -#include "orbsvcs/ETCL/ETCL_Constraint.h" -#include "orbsvcs/ETCL/ETCL_Constraint_Visitor.h" -#include "orbsvcs/ETCL/ETCL_y.h" - -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/AnyTypeCode/Any.h" -#include "tao/Environment.h" -#include "tao/CDR.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/ETCL/ETCL_Constraint.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (ETCL, - ETCL_Constraint, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ETCL_Constraint::TAO_ETCL_Constraint (void) -{ -} - -TAO_ETCL_Constraint::~TAO_ETCL_Constraint (void) -{ -} - -// **************************************************************** - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint ( - const TAO_ETCL_Literal_Constraint & lit - ) - : TAO_ETCL_Constraint () -{ - this->copy (lit); -} - - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint (CORBA::Any * any) -{ - CORBA::Any& any_ref = *any; - CORBA::TypeCode_var type = any_ref.type (); - CORBA::TCKind corba_type = CORBA::tk_null; - - ACE_TRY_NEW_ENV - { - corba_type = type->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Seth: Don't know what else to do. Make sure we can tell - // when this constructor fails. - return; - } - ACE_ENDTRY; - - this->type_ = - TAO_ETCL_Literal_Constraint::comparable_type (type.in ()); - - switch (this->type_) - { - case TAO_ETCL_SIGNED: - this->op_.integer_ = 0; - - if (corba_type == CORBA::tk_short) - { - CORBA::Short sh; - any_ref >>= sh; - this->op_.integer_ = (CORBA::Long) sh; - } - else - { - any_ref >>= this->op_.integer_; - } - - break; - case TAO_ETCL_UNSIGNED: - this->op_.uinteger_ = 0; - - if (corba_type == CORBA::tk_ushort) - { - CORBA::UShort sh; - any_ref >>= sh; - this->op_.uinteger_ = (CORBA::ULong) sh; - } - else if (corba_type == CORBA::tk_enum) - { - TAO::Any_Impl *impl = any->impl (); - - if (impl->encoded ()) - { - TAO::Unknown_IDL_Type *unk = - dynamic_cast (impl); - - // We don't want unk's rd_ptr to move, in case we are shared by - // another Any, so we use this to copy the state, not the buffer. - TAO_InputCDR for_reading (unk->_tao_get_cdr ()); - for_reading.read_ulong (this->op_.uinteger_); - } - else - { - TAO_OutputCDR out; - impl->marshal_value (out); - TAO_InputCDR in (out); - in.read_ulong (this->op_.uinteger_); - } - } - else - { - any_ref >>= this->op_.uinteger_; - } - - break; - case TAO_ETCL_DOUBLE: - if (corba_type == CORBA::tk_float) - { - CORBA::Float fl; - (*any) >>= fl; - this->op_.double_ = (CORBA::Double) fl; - } - else - { - (*any) >>= this->op_.double_; - } - - break; - case TAO_ETCL_BOOLEAN: - { - CORBA::Any::to_boolean tmp (this->op_.bool_); - (*any) >>= tmp; - } - break; - case TAO_ETCL_STRING: - { - const char* s; - any_ref >>= s; - this->op_.str_ = CORBA::string_dup (s); - } - break; - case TAO_ETCL_COMPONENT: - this->op_.any_ = any; - break; - } -} - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint ( - CORBA::ULong uinteger - ) - : type_ (TAO_ETCL_UNSIGNED) -{ - this->op_.uinteger_ = uinteger; -} - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint ( - CORBA::Long integer - ) - : type_ (TAO_ETCL_SIGNED) -{ - this->op_.integer_ = integer; -} - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint ( - CORBA::Boolean boolean - ) - : type_ (TAO_ETCL_BOOLEAN) -{ - this->op_.bool_ = boolean; -} - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint ( - CORBA::Double doub - ) - : type_ (TAO_ETCL_DOUBLE) -{ - this->op_.double_ = doub; -} - -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint ( - const char* str - ) - : type_ (TAO_ETCL_STRING) -{ - this->op_.str_ = CORBA::string_dup (str); -} - -TAO_ETCL_Literal_Constraint::~TAO_ETCL_Literal_Constraint (void) -{ - if (this->type_ == TAO_ETCL_STRING) - { - CORBA::string_free (this->op_.str_); - } -} - -int -TAO_ETCL_Literal_Constraint::accept (TAO_ETCL_Constraint_Visitor* visitor) -{ - return visitor->visit_literal (this); -} - -TAO_Literal_Type -TAO_ETCL_Literal_Constraint::expr_type (void) const -{ - return this->type_; -} - -void -TAO_ETCL_Literal_Constraint::operator= (const TAO_ETCL_Literal_Constraint& co) -{ - this->copy (co); -} - -TAO_ETCL_Literal_Constraint::operator CORBA::Boolean (void) const -{ - return (this->type_ == TAO_ETCL_BOOLEAN) ? this->op_.bool_ : 0; -} - -TAO_ETCL_Literal_Constraint::operator CORBA::ULong (void) const -{ - switch (this->type_) - { - case TAO_ETCL_UNSIGNED: - return this->op_.uinteger_; - case TAO_ETCL_SIGNED: - case TAO_ETCL_INTEGER: - return - (this->op_.integer_ > 0) ? (CORBA::ULong) this->op_.integer_ : 0; - case TAO_ETCL_DOUBLE: - return - (this->op_.double_ > 0) ? - ((this->op_.double_ > ACE_UINT32_MAX) ? - ACE_UINT32_MAX : - (CORBA::ULong) this->op_.double_) - : 0; - case TAO_ETCL_COMPONENT: - { - CORBA::ULong retval = 0; - *this->op_.any_ >>= retval; - return retval; - } - default: - return 0; - } -} - -TAO_ETCL_Literal_Constraint::operator CORBA::Long (void) const -{ - switch (this->type_) - { - case TAO_ETCL_SIGNED: - case TAO_ETCL_INTEGER: - return this->op_.integer_; - case TAO_ETCL_UNSIGNED: - return - (this->op_.uinteger_ > (CORBA::ULong) ACE_INT32_MAX) ? - ACE_INT32_MAX : (CORBA::Long) this->op_.uinteger_; - case TAO_ETCL_DOUBLE: - return - (this->op_.double_ > 0) ? - ((this->op_.double_ > ACE_INT32_MAX) ? - ACE_INT32_MAX : - (CORBA::Long) this->op_.double_) : - ((this->op_.double_ < ACE_INT32_MIN) ? - ACE_INT32_MIN : - (CORBA::Long) this->op_.double_); - case TAO_ETCL_COMPONENT: - { - CORBA::Long retval = 0; - *this->op_.any_ >>= retval; - return retval; - } - default: - return 0; - } -} - -TAO_ETCL_Literal_Constraint::operator CORBA::Double (void) const -{ - switch (this->type_) - { - case TAO_ETCL_DOUBLE: - return this->op_.double_; - case TAO_ETCL_SIGNED: - case TAO_ETCL_INTEGER: - return (CORBA::Double) this->op_.integer_; - case TAO_ETCL_UNSIGNED: - return (CORBA::Double) this->op_.uinteger_; - case TAO_ETCL_COMPONENT: - { - CORBA::Double retval = 0.0; - *this->op_.any_ >>= retval; - return retval; - } - default: - return 0.0; - } -} - -TAO_ETCL_Literal_Constraint::operator const char* (void) const -{ - switch (this->type_) - { - case TAO_ETCL_STRING: - return this->op_.str_; - case TAO_ETCL_COMPONENT: - { - const char *retval = 0; - *this->op_.any_ >>= retval; - return retval; - } - default: - return 0; - } -} - -TAO_ETCL_Literal_Constraint::operator const CORBA::Any* (void) const -{ - return (this->type_ == TAO_ETCL_COMPONENT) ? this->op_.any_ : 0; -} - -TAO_Literal_Type -TAO_ETCL_Literal_Constraint::comparable_type (CORBA::TypeCode_ptr type) -{ - // Convert a CORBA::TCKind into a TAO_Literal_Type - TAO_Literal_Type return_value = TAO_UNKNOWN; - CORBA::TCKind kind = CORBA::tk_null; - - ACE_TRY_NEW_ENV - { - kind = type->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::TypeCode_var tmp = CORBA::TypeCode::_duplicate (type); - - while (kind == CORBA::tk_alias) - { - tmp = tmp->content_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - kind = tmp->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - return return_value; - } - ACE_ENDTRY; - // Since this is a "top level try block, no need to check again. - - switch (kind) - { - case CORBA::tk_ushort: - case CORBA::tk_ulong: - case CORBA::tk_enum: - case CORBA::tk_ulonglong: - return_value = TAO_ETCL_UNSIGNED; - break; - case CORBA::tk_short: - case CORBA::tk_long: - case CORBA::tk_longlong: - return_value = TAO_ETCL_SIGNED; - break; - case CORBA::tk_boolean: - return_value = TAO_ETCL_BOOLEAN; - break; - case CORBA::tk_float: - case CORBA::tk_double: - return_value = TAO_ETCL_DOUBLE; - break; - case CORBA::tk_string: - return_value = TAO_ETCL_STRING; - break; - default: - return_value = TAO_ETCL_COMPONENT; - break; - } - - return return_value; -} - -bool -TAO_ETCL_Literal_Constraint::operator== (const TAO_ETCL_Literal_Constraint & rhs) -{ - bool return_value = false; - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_STRING: - return_value = (ACE_OS::strcmp ((const char*) *this, (const char*) rhs) == 0); - break; - case TAO_ETCL_DOUBLE: - return_value = (CORBA::Double) *this == (CORBA::Double) rhs; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return_value = (CORBA::Long) *this == (CORBA::Long) rhs; - break; - case TAO_ETCL_UNSIGNED: - return_value = (CORBA::ULong) *this == (CORBA::ULong) rhs; - break; - case TAO_ETCL_BOOLEAN: - return_value = (CORBA::Boolean) *this == (CORBA::Boolean) rhs; - break; - default: - break; - } - - return return_value; -} - - -bool -TAO_ETCL_Literal_Constraint::operator!= (const TAO_ETCL_Literal_Constraint & rhs) -{ - bool return_value = false; - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_STRING: - return_value = (ACE_OS::strcmp ((const char*) *this, (const char*) rhs) != 0); - break; - case TAO_ETCL_DOUBLE: - return_value = (CORBA::Double) *this != (CORBA::Double) rhs; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return_value = (CORBA::Long) *this != (CORBA::Long) rhs; - break; - case TAO_ETCL_UNSIGNED: - return_value = (CORBA::ULong) *this != (CORBA::ULong) rhs; - break; - case TAO_ETCL_BOOLEAN: - return_value = (CORBA::Boolean) *this != (CORBA::Boolean) rhs; - break; - default: - break; - } - - return return_value; -} - -bool -TAO_ETCL_Literal_Constraint::operator< (const TAO_ETCL_Literal_Constraint & rhs) -{ - bool return_value = false; - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_STRING: - return_value = (ACE_OS::strcmp ((const char*) *this, (const char*) rhs) < 0); - break; - case TAO_ETCL_DOUBLE: - return_value = (CORBA::Double) *this < (CORBA::Double) rhs; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return_value = (CORBA::Long) *this < (CORBA::Long) rhs; - break; - case TAO_ETCL_UNSIGNED: - return_value = (CORBA::ULong) *this < (CORBA::ULong) rhs; - break; - case TAO_ETCL_BOOLEAN: - return_value = (CORBA::Boolean) *this < (CORBA::Boolean) rhs; - break; - default: - break; - } - - return return_value; -} - -bool -TAO_ETCL_Literal_Constraint::operator<= (const TAO_ETCL_Literal_Constraint & rhs) -{ - bool return_value = false; - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_STRING: - return_value = (ACE_OS::strcmp ((const char*) *this, (const char*) rhs) <= 0); - break; - case TAO_ETCL_DOUBLE: - return_value = (CORBA::Double) *this <= (CORBA::Double) rhs; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return_value = (CORBA::Long) *this <= (CORBA::Long) rhs; - break; - case TAO_ETCL_UNSIGNED: - return_value = (CORBA::ULong) *this <= (CORBA::ULong) rhs; - break; - default: - break; - } - - return return_value; -} - -bool -TAO_ETCL_Literal_Constraint::operator> (const TAO_ETCL_Literal_Constraint & rhs) -{ - bool return_value = false; - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_STRING: - return_value = (ACE_OS::strcmp ((const char*) *this, (const char*) rhs) > 0); - break; - case TAO_ETCL_DOUBLE: - return_value = (CORBA::Double) *this > (CORBA::Double) rhs; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return_value = (CORBA::Long) *this > (CORBA::Long) rhs; - break; - case TAO_ETCL_UNSIGNED: - return_value = (CORBA::ULong) *this > (CORBA::ULong) rhs; - break; - default: - break; - } - - return return_value; -} - -bool -TAO_ETCL_Literal_Constraint::operator>= (const TAO_ETCL_Literal_Constraint & rhs) -{ - bool return_value = false; - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_STRING: - return_value = - (ACE_OS::strcmp ((const char*) *this, (const char*) rhs) >= 0); - break; - case TAO_ETCL_DOUBLE: - return_value = (CORBA::Double) *this >= (CORBA::Double) rhs; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return_value = (CORBA::Long) *this >= (CORBA::Long) rhs; - break; - case TAO_ETCL_UNSIGNED: - return_value = (CORBA::ULong) *this >= (CORBA::ULong) rhs; - break; - default: - break; - } - - return return_value; -} - -TAO_ETCL_Literal_Constraint -TAO_ETCL_Literal_Constraint::operator+ (const TAO_ETCL_Literal_Constraint & rhs) -{ - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_DOUBLE: - { - CORBA::Double result = (CORBA::Double) *this + (CORBA::Double) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Double) result); - } - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - { - CORBA::Long result = (CORBA::Long) *this + (CORBA::Long) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Long) result); - } - case TAO_ETCL_UNSIGNED: - { - CORBA::ULong result = (CORBA::ULong) *this + (CORBA::ULong) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::ULong) result); - } - default: - return TAO_ETCL_Literal_Constraint ((CORBA::Long) 0); - } -} - -TAO_ETCL_Literal_Constraint -TAO_ETCL_Literal_Constraint::operator- (const TAO_ETCL_Literal_Constraint & rhs) -{ - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_DOUBLE: - { - CORBA::Double result = (CORBA::Double) *this - (CORBA::Double) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Double) result); - } - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - { - CORBA::Long result = (CORBA::Long) *this - (CORBA::Long) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Long) result); - } - case TAO_ETCL_UNSIGNED: - { - CORBA::ULong result = (CORBA::ULong) *this - (CORBA::ULong) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::ULong) result); - } - default: - return TAO_ETCL_Literal_Constraint ((CORBA::Long) 0); - } -} - -TAO_ETCL_Literal_Constraint -TAO_ETCL_Literal_Constraint::operator* (const TAO_ETCL_Literal_Constraint & rhs) -{ - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_DOUBLE: - { - CORBA::Double result = (CORBA::Double) *this * (CORBA::Double) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Double) result); - } - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - { - CORBA::Long result = (CORBA::Long) *this * (CORBA::Long) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Long) result); - } - case TAO_ETCL_UNSIGNED: - { - CORBA::ULong result = (CORBA::ULong) *this * (CORBA::ULong) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::ULong) result); - } - default: - return TAO_ETCL_Literal_Constraint ((CORBA::Long) 0); - } -} - -TAO_ETCL_Literal_Constraint -TAO_ETCL_Literal_Constraint::operator/ (const TAO_ETCL_Literal_Constraint & rhs) -{ - TAO_Literal_Type widest_type = this->widest_type (rhs); - - switch (widest_type) - { - case TAO_ETCL_DOUBLE: - { - CORBA::Double result = (CORBA::Double) *this / (CORBA::Double) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Double) result); - } - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - { - CORBA::Long result = (CORBA::Long) *this / (CORBA::Long) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::Long) result); - } - case TAO_ETCL_UNSIGNED: - { - CORBA::ULong result = (CORBA::ULong) *this / (CORBA::ULong) rhs; - return TAO_ETCL_Literal_Constraint ((CORBA::ULong) result); - } - default: - return TAO_ETCL_Literal_Constraint ((CORBA::Long) 0); - } -} - -TAO_ETCL_Literal_Constraint -TAO_ETCL_Literal_Constraint::operator- (void) -{ - switch (this->type_) - { - case TAO_ETCL_DOUBLE: - return TAO_ETCL_Literal_Constraint (- this->op_.double_); - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - return TAO_ETCL_Literal_Constraint (- this->op_.integer_); - case TAO_ETCL_UNSIGNED: - return TAO_ETCL_Literal_Constraint (- (CORBA::Long) this->op_.uinteger_); - default: - return TAO_ETCL_Literal_Constraint ((CORBA::Long) 0); - } -} - -TAO_Literal_Type -TAO_ETCL_Literal_Constraint::widest_type ( - const TAO_ETCL_Literal_Constraint & rhs - ) -{ - TAO_Literal_Type rhs_type = rhs.expr_type (); - TAO_Literal_Type return_value = rhs_type; - - if (rhs_type == TAO_ETCL_COMPONENT) - { - CORBA::TypeCode_var tc = rhs.op_.any_->type (); - rhs_type = this->comparable_type (tc.in ()); - } - else if (rhs_type != this->type_) - { - if (rhs_type > this->type_) - { - return_value = rhs_type; - } - else - { - return_value = this->type_; - } - } - - return return_value; -} - -void -TAO_ETCL_Literal_Constraint::copy (const TAO_ETCL_Literal_Constraint &lit) -{ - this->type_ = lit.type_; - - switch (this->type_) - { - case TAO_ETCL_STRING: - this->op_.str_ = CORBA::string_dup (lit.op_.str_); - break; - case TAO_ETCL_DOUBLE: - this->op_.double_ = lit.op_.double_; - break; - case TAO_ETCL_UNSIGNED: - this->op_.uinteger_ = lit.op_.uinteger_; - break; - case TAO_ETCL_INTEGER: - case TAO_ETCL_SIGNED: - this->op_.integer_ = lit.op_.integer_; - break; - case TAO_ETCL_BOOLEAN: - this->op_.bool_ = lit.op_.bool_; - break; - case TAO_ETCL_COMPONENT: - this->op_.any_ = lit.op_.any_; - break; - default: - this->type_ = TAO_UNKNOWN; - break; - } -} - -// **************************************************************** - -int -TAO_ETCL_Identifier::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_identifier (this); -} - -// **************************************************************** - -TAO_ETCL_Union_Value::~TAO_ETCL_Union_Value (void) -{ - delete this->string_; - delete this->integer_; -} - -int -TAO_ETCL_Union_Value::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_union_value (this); -} - -// **************************************************************** - -TAO_ETCL_Union_Pos::~TAO_ETCL_Union_Pos (void) -{ - delete this->component_; - delete this->union_value_; -} - -int -TAO_ETCL_Union_Pos::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_union_pos (this); -} - -// **************************************************************** - -TAO_ETCL_Component_Pos::~TAO_ETCL_Component_Pos (void) -{ - delete this->component_; - delete this->integer_; -} - -int -TAO_ETCL_Component_Pos::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_component_pos (this); -} - -// **************************************************************** - -TAO_ETCL_Component_Assoc::~TAO_ETCL_Component_Assoc (void) -{ - delete this->component_; - delete this->identifier_; -} - -int -TAO_ETCL_Component_Assoc::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_component_assoc (this); -} - -// **************************************************************** - -TAO_ETCL_Component_Array::~TAO_ETCL_Component_Array (void) -{ - delete this->component_; - delete this->integer_; -} - -int -TAO_ETCL_Component_Array::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_component_array (this); -} - -// **************************************************************** - -TAO_ETCL_Special::~TAO_ETCL_Special (void) -{ -} - -int -TAO_ETCL_Special::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_special (this); -} - -// **************************************************************** - -TAO_ETCL_Component::~TAO_ETCL_Component (void) -{ - delete this->component_; - delete this->identifier_; -} - -int -TAO_ETCL_Component::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_component (this); -} - -// **************************************************************** - -TAO_ETCL_Dot::~TAO_ETCL_Dot (void) -{ - delete this->component_; -} - -int -TAO_ETCL_Dot::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_dot (this); -} - -// **************************************************************** - -TAO_ETCL_Eval::~TAO_ETCL_Eval (void) -{ - delete this->component_; -} - -int -TAO_ETCL_Eval::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_eval (this); -} - -// **************************************************************** - -TAO_ETCL_Default::~TAO_ETCL_Default (void) -{ - delete this->component_; -} - -int -TAO_ETCL_Default::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_default (this); -} - -// **************************************************************** - -TAO_ETCL_Exist::~TAO_ETCL_Exist (void) -{ - delete this->component_; -} - -int -TAO_ETCL_Exist::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_exist (this); -} - -// **************************************************************** - -TAO_ETCL_Unary_Expr::~TAO_ETCL_Unary_Expr (void) -{ - delete this->subexpr_; -} - -int -TAO_ETCL_Unary_Expr::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_unary_expr (this); -} - -// **************************************************************** - -TAO_ETCL_Binary_Expr::~TAO_ETCL_Binary_Expr (void) -{ - delete this->lhs_; - delete this->rhs_; -} - -int -TAO_ETCL_Binary_Expr::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_binary_expr (this); -} - -// **************************************************************** - -TAO_ETCL_Preference::~TAO_ETCL_Preference (void) -{ - delete this->subexpr_; -} - -int -TAO_ETCL_Preference::accept (TAO_ETCL_Constraint_Visitor *visitor) -{ - return visitor->visit_preference (this); -} - -// **************************************************************** - -TAO_ETCL_Constraint_Visitor::~TAO_ETCL_Constraint_Visitor (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h deleted file mode 100644 index 688b2df872c..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h +++ /dev/null @@ -1,430 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// orbsvcs/ETCL -// -// = FILENAME -// ECTL_Constraint -// -// = AUTHOR -// Carlos O'Ryan (coryan@cs.wustl.edu) -// Jeff Parsons (parsons@cs.wustl.edu) -// -// ============================================================================ - -#ifndef TAO_ETCL_CONSTRAINT_H -#define TAO_ETCL_CONSTRAINT_H - -#include "orbsvcs/ETCL/etcl_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SString.h" - -#include "tao/Basic_Types.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef unsigned short TAO_Literal_Type; -#define TAO_UNKNOWN 999 - -class TAO_ETCL_Constraint_Visitor; - -namespace CORBA -{ - class Any; - typedef Any *Any_ptr; -} - -class TAO_ETCL_Export TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Constraint (void); - virtual ~TAO_ETCL_Constraint (void); - // Constructor and destructor - - virtual int accept (TAO_ETCL_Constraint_Visitor *visitor) = 0; -}; - -// **************************************************************** - -class TAO_ETCL_Export TAO_ETCL_Literal_Constraint - : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Literal_Constraint (void); - - // = Constructors for each of the various types of literals. - - explicit TAO_ETCL_Literal_Constraint (CORBA::Any* any); - explicit TAO_ETCL_Literal_Constraint (CORBA::ULong uinteger); - explicit TAO_ETCL_Literal_Constraint (CORBA::Long integer); - explicit TAO_ETCL_Literal_Constraint (CORBA::Boolean boolean); - explicit TAO_ETCL_Literal_Constraint (CORBA::Double doub); - explicit TAO_ETCL_Literal_Constraint (const char* str); - - TAO_ETCL_Literal_Constraint (const TAO_ETCL_Literal_Constraint& lit); - // Copy constructor - - ~TAO_ETCL_Literal_Constraint(void); - // Destructor. - - int accept (TAO_ETCL_Constraint_Visitor* visitor); - // Visitor accept method. - - TAO_Literal_Type expr_type (void) const; - - void operator= (const TAO_ETCL_Literal_Constraint& co); - // Assignment operator. - - // Conversion routines. - operator CORBA::Boolean (void) const; - operator CORBA::ULong (void) const; - operator CORBA::Long (void) const; - operator CORBA::Double (void) const; - operator const char* (void) const; - operator const CORBA::Any* (void) const; - - // Return the type represented by this MysteryOperand. - - // = Boolean operators. - - bool - operator< (const TAO_ETCL_Literal_Constraint& rhs); - - bool - operator<= (const TAO_ETCL_Literal_Constraint& rhs); - - bool - operator> (const TAO_ETCL_Literal_Constraint& rhs); - - bool - operator>= (const TAO_ETCL_Literal_Constraint& rhs); - - bool - operator== (const TAO_ETCL_Literal_Constraint& rhs); - - bool - operator!= (const TAO_ETCL_Literal_Constraint& rhs); - - // = Arithmetic operators. - - TAO_ETCL_Literal_Constraint - operator+ (const TAO_ETCL_Literal_Constraint& rhs); - - TAO_ETCL_Literal_Constraint - operator- (const TAO_ETCL_Literal_Constraint& rhs); - - TAO_ETCL_Literal_Constraint - operator* (const TAO_ETCL_Literal_Constraint& rhs); - - TAO_ETCL_Literal_Constraint - operator/ (const TAO_ETCL_Literal_Constraint& rhs); - - // Unary minus. - TAO_ETCL_Literal_Constraint - operator- (void); - - TAO_Literal_Type - widest_type (const TAO_ETCL_Literal_Constraint& rhs); - // Ensure both operands are of the same simple numeric type. - - static TAO_Literal_Type - comparable_type (CORBA::TypeCode_ptr type); - // Determine the comparable Expression Type from the CORBA type - -private: - void copy (const TAO_ETCL_Literal_Constraint& co); - // Private copy method. - - union - { - char* str_; - CORBA::Any_ptr any_; - CORBA::ULong uinteger_; - CORBA::Long integer_; - CORBA::Boolean bool_; - CORBA::Double double_; - } op_; - // Union of the possible literal types. - - unsigned short type_; - // The actual types of the TAO_ETCL_Literal_Constraint. -}; - -// **************************************************************** - -class TAO_ETCL_Export TAO_ETCL_Identifier : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Identifier (const char *value); - - const char *value (void) const; - // Get the value - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - ACE_CString string_; - // The value -}; - -// **************************************************************** - -class TAO_ETCL_Export TAO_ETCL_Union_Value : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Union_Value (int sign, - TAO_ETCL_Constraint *integer); - TAO_ETCL_Union_Value (TAO_ETCL_Constraint *string); - virtual ~TAO_ETCL_Union_Value (void); - - int sign (void) const; - TAO_ETCL_Literal_Constraint *integer (void) const; - TAO_ETCL_Literal_Constraint *string (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - int sign_; - TAO_ETCL_Literal_Constraint *integer_; - TAO_ETCL_Literal_Constraint *string_; -}; - -class TAO_ETCL_Export TAO_ETCL_Union_Pos : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Union_Pos (TAO_ETCL_Constraint *union_value, - TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Union_Pos (void); - - TAO_ETCL_Union_Value *union_value (void) const; - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Union_Value *union_value_; - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Component_Pos : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Component_Pos (TAO_ETCL_Constraint *integer, - TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Component_Pos (void); - - TAO_ETCL_Literal_Constraint *integer (void) const; - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Literal_Constraint *integer_; - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Component_Assoc : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Component_Assoc (TAO_ETCL_Constraint *identifier, - TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Component_Assoc (void); - - TAO_ETCL_Identifier *identifier (void) const; - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Identifier *identifier_; - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Component_Array : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Component_Array (TAO_ETCL_Constraint *integer, - TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Component_Array (void); - - TAO_ETCL_Literal_Constraint *integer (void) const; - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Literal_Constraint *integer_; - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Special : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Special (int type); - virtual ~TAO_ETCL_Special (void); - - int type (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - int type_; -}; - -class TAO_ETCL_Export TAO_ETCL_Component : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Component (TAO_ETCL_Constraint *identifier, - TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Component (void); - - TAO_ETCL_Identifier *identifier (void) const; - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Identifier *identifier_; - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Dot : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Dot (TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Dot (void); - - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Eval : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Eval (TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Eval (void); - - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Default : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Default (TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Default (void); - - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Exist : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Exist (TAO_ETCL_Constraint *component); - virtual ~TAO_ETCL_Exist (void); - - TAO_ETCL_Constraint *component (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - TAO_ETCL_Constraint *component_; -}; - -class TAO_ETCL_Export TAO_ETCL_Unary_Expr : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Unary_Expr (int type, - TAO_ETCL_Constraint *subexpr); - virtual ~TAO_ETCL_Unary_Expr (void); - - int type (void) const; - TAO_ETCL_Constraint *subexpr (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - int type_; - TAO_ETCL_Constraint *subexpr_; -}; - -class TAO_ETCL_Export TAO_ETCL_Binary_Expr : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Binary_Expr (int type, - TAO_ETCL_Constraint *lhs, - TAO_ETCL_Constraint *rhs); - virtual ~TAO_ETCL_Binary_Expr (void); - - int type (void) const; - TAO_ETCL_Constraint *rhs (void) const; - TAO_ETCL_Constraint *lhs (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - int type_; - TAO_ETCL_Constraint *lhs_; - TAO_ETCL_Constraint *rhs_; -}; - -class TAO_ETCL_Export TAO_ETCL_Preference : public TAO_ETCL_Constraint -{ -public: - TAO_ETCL_Preference (int type, - TAO_ETCL_Constraint *subexpr = 0); - virtual ~TAO_ETCL_Preference (void); - - int type (void) const; - TAO_ETCL_Constraint *subexpr (void) const; - - // = The Constraint methods. - int accept (TAO_ETCL_Constraint_Visitor *visitor); - -private: - int type_; - TAO_ETCL_Constraint *subexpr_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/ETCL/ETCL_Constraint.inl" -#endif /* __ACE_INLINE__ */ - -#endif /* TAO_ETCL_CONSTRAINT_H */ diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl deleted file mode 100644 index d6414ef5131..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl +++ /dev/null @@ -1,330 +0,0 @@ -// -*- C++ -*- -// $Id$ - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Literal_Constraint::TAO_ETCL_Literal_Constraint (void) - : type_ (TAO_UNKNOWN) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Identifier::TAO_ETCL_Identifier (const char *value) - : string_ (value) -{ -} - -ACE_INLINE const char * -TAO_ETCL_Identifier::value (void) const -{ - return this->string_.c_str (); -} - - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Union_Value::TAO_ETCL_Union_Value (int sign, - TAO_ETCL_Constraint *integer) - : sign_ (sign), - string_ (0) -{ - this->integer_ = - dynamic_cast (integer); -} - -ACE_INLINE -TAO_ETCL_Union_Value::TAO_ETCL_Union_Value (TAO_ETCL_Constraint *string) - : sign_ (0), - integer_ (0) -{ - this->string_ = - dynamic_cast (string); -} - -ACE_INLINE int -TAO_ETCL_Union_Value::sign (void) const -{ - return this->sign_; -} - -ACE_INLINE TAO_ETCL_Literal_Constraint * -TAO_ETCL_Union_Value::integer (void) const -{ - return this->integer_; -} - -ACE_INLINE TAO_ETCL_Literal_Constraint * -TAO_ETCL_Union_Value::string (void) const -{ - return this->string_; -} - - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Union_Pos::TAO_ETCL_Union_Pos (TAO_ETCL_Constraint *union_value, - TAO_ETCL_Constraint *component) - : component_ (component) -{ - this->union_value_ = - dynamic_cast (union_value); -} - -ACE_INLINE TAO_ETCL_Union_Value * -TAO_ETCL_Union_Pos::union_value (void) const -{ - return this->union_value_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Union_Pos::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Component_Pos::TAO_ETCL_Component_Pos ( - TAO_ETCL_Constraint *integer, - TAO_ETCL_Constraint *component - ) - : component_ (component) -{ - this->integer_ = - dynamic_cast (integer); -} - -ACE_INLINE TAO_ETCL_Literal_Constraint * -TAO_ETCL_Component_Pos::integer (void) const -{ - return this->integer_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Component_Pos::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Component_Assoc::TAO_ETCL_Component_Assoc ( - TAO_ETCL_Constraint *identifier, - TAO_ETCL_Constraint *component - ) - : component_ (component) -{ - this->identifier_ = - dynamic_cast (identifier); -} - -ACE_INLINE TAO_ETCL_Identifier * -TAO_ETCL_Component_Assoc::identifier (void) const -{ - return this->identifier_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Component_Assoc::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Component_Array::TAO_ETCL_Component_Array ( - TAO_ETCL_Constraint *integer, - TAO_ETCL_Constraint *component - ) - : component_ (component) -{ - this->integer_ = - dynamic_cast (integer); -} - -ACE_INLINE TAO_ETCL_Literal_Constraint * -TAO_ETCL_Component_Array::integer (void) const -{ - return this->integer_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Component_Array::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Special::TAO_ETCL_Special (int type) - : type_ (type) -{ -} - -ACE_INLINE int -TAO_ETCL_Special::type (void) const -{ - return this->type_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Component::TAO_ETCL_Component (TAO_ETCL_Constraint *identifier, - TAO_ETCL_Constraint *component) - : component_ (component) -{ - this->identifier_ = - dynamic_cast (identifier); -} - -ACE_INLINE TAO_ETCL_Identifier * -TAO_ETCL_Component::identifier (void) const -{ - return this->identifier_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Component::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Dot::TAO_ETCL_Dot (TAO_ETCL_Constraint *component) - : component_ (component) -{ -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Dot::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Eval::TAO_ETCL_Eval (TAO_ETCL_Constraint *component) - : component_ (component) -{ -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Eval::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Default::TAO_ETCL_Default (TAO_ETCL_Constraint *component) - : component_ (component) -{ -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Default::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Exist::TAO_ETCL_Exist (TAO_ETCL_Constraint *component) - : component_ (component) -{ -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Exist::component (void) const -{ - return this->component_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Unary_Expr::TAO_ETCL_Unary_Expr (int type, - TAO_ETCL_Constraint *subexpr) - : type_ (type), - subexpr_ (subexpr) -{ -} - -ACE_INLINE int -TAO_ETCL_Unary_Expr::type (void) const -{ - return this->type_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Unary_Expr::subexpr (void) const -{ - return this->subexpr_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Binary_Expr::TAO_ETCL_Binary_Expr (int type, - TAO_ETCL_Constraint *lhs, - TAO_ETCL_Constraint *rhs) - : type_ (type), - lhs_ (lhs), - rhs_ (rhs) -{ -} - -ACE_INLINE int -TAO_ETCL_Binary_Expr::type (void) const -{ - return this->type_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Binary_Expr::rhs (void) const -{ - return this->rhs_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Binary_Expr::lhs (void) const -{ - return this->lhs_; -} - -// **************************************************************** - -ACE_INLINE -TAO_ETCL_Preference::TAO_ETCL_Preference (int type, - TAO_ETCL_Constraint *subexpr) - : type_ (type), - subexpr_ (subexpr) -{ -} - -ACE_INLINE int -TAO_ETCL_Preference::type (void) const -{ - return this->type_; -} - -ACE_INLINE TAO_ETCL_Constraint * -TAO_ETCL_Preference::subexpr (void) const -{ - return this->subexpr_; -} diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h deleted file mode 100644 index 0f23f7a02c0..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file ETCL_Constraint_Visitor.h - * - * $Id$ - * - * @author Carlos O'Ryan - * @author Jeff Parsons - */ -//============================================================================= - - -#ifndef TAO_ETCL_CONSTRAINT_VISITOR_H -#define TAO_ETCL_CONSTRAINT_VISITOR_H - -#include "orbsvcs/ETCL/etcl_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ETCL_Literal_Constraint; -class TAO_ETCL_Identifier; -class TAO_ETCL_Union_Value; -class TAO_ETCL_Union_Pos; -class TAO_ETCL_Component_Pos; -class TAO_ETCL_Component_Assoc; -class TAO_ETCL_Component_Array; -class TAO_ETCL_Special; -class TAO_ETCL_Component; -class TAO_ETCL_Dot; -class TAO_ETCL_Eval; -class TAO_ETCL_Default; -class TAO_ETCL_Exist; -class TAO_ETCL_Unary_Expr; -class TAO_ETCL_Binary_Expr; -class TAO_ETCL_Preference; - -class TAO_ETCL_Export TAO_ETCL_Constraint_Visitor -{ -public: - /// Destructor - virtual ~TAO_ETCL_Constraint_Visitor (void); - - virtual int visit_literal (TAO_ETCL_Literal_Constraint *) = 0; - virtual int visit_identifier (TAO_ETCL_Identifier *) = 0; - virtual int visit_union_value (TAO_ETCL_Union_Value *) = 0; - virtual int visit_union_pos (TAO_ETCL_Union_Pos *) = 0; - virtual int visit_component_pos (TAO_ETCL_Component_Pos *) = 0; - virtual int visit_component_assoc (TAO_ETCL_Component_Assoc *) = 0; - virtual int visit_component_array (TAO_ETCL_Component_Array *) = 0; - virtual int visit_special (TAO_ETCL_Special *) = 0; - virtual int visit_component (TAO_ETCL_Component *) = 0; - virtual int visit_dot (TAO_ETCL_Dot *) = 0; - virtual int visit_eval (TAO_ETCL_Eval *) = 0; - virtual int visit_default (TAO_ETCL_Default *) = 0; - virtual int visit_exist (TAO_ETCL_Exist *) = 0; - virtual int visit_unary_expr (TAO_ETCL_Unary_Expr *) = 0; - virtual int visit_binary_expr (TAO_ETCL_Binary_Expr *) = 0; - virtual int visit_preference (TAO_ETCL_Preference *) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_ETCL_CONSTRAINT_VISITOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp deleted file mode 100644 index 2f083900155..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp +++ /dev/null @@ -1,112 +0,0 @@ -// -*- C++ -*- -// $Id$ - -#include "orbsvcs/ETCL/ETCL_Interpreter.h" -#include "orbsvcs/ETCL/ETCL_Constraint.h" -#include "ace/Guard_T.h" -#include "ace/Thread_Mutex.h" - -ACE_RCSID(ETCL, ETCL_Interpreter, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_SYNCH_MUTEX TAO_ETCL_Interpreter::parserMutex__; - -TAO_ETCL_Interpreter::TAO_ETCL_Interpreter (void) - : root_ (0) -{ -} - -TAO_ETCL_Interpreter::~TAO_ETCL_Interpreter (void) -{ - delete this->root_; -} - -int -TAO_ETCL_Interpreter::build_tree (const char* constraints) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - TAO_ETCL_Interpreter::parserMutex__, - -1); - - TAO_Lex_String_Input::reset ((char*)constraints); - - yyval.constraint = 0; - int return_value = ::yyparse (); - - if (return_value == 0 && yyval.constraint != 0) - { - this->root_ = yyval.constraint; - } - else - { - this->root_ = 0; - } - - return return_value; -} - -int -TAO_ETCL_Interpreter::is_empty_string (const char* str) -{ - int return_value = 0; - - if (str != 0) - { - int i = 0; - - while (str[i] != '\0') - { - if (str[i] != ' ') - { - break; - } - - i++; - } - - if (str[i] == '\0') - { - return_value = 1; - } - } - - return return_value; -} - -char* TAO_Lex_String_Input::string_ = 0; -char* TAO_Lex_String_Input::current_ = 0; -char* TAO_Lex_String_Input::end_ = 0; - -// Routine to have Lex read its input from the constraint string. - -int -TAO_Lex_String_Input::copy_into (char* buf, - int max_size) -{ - int chars_left = TAO_Lex_String_Input::end_ - TAO_Lex_String_Input::current_; - int n = max_size > chars_left ? chars_left : max_size; - - if (n > 0) - { - ACE_OS:: memcpy (buf, - TAO_Lex_String_Input::current_, - n); - TAO_Lex_String_Input::current_ += n; - } - - return n; -} - -void -TAO_Lex_String_Input::reset (char* input_string) -{ - TAO_Lex_String_Input::string_ = input_string; - TAO_Lex_String_Input::current_ = input_string; - TAO_Lex_String_Input::end_ = - input_string + ACE_OS::strlen (TAO_Lex_String_Input::string_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h deleted file mode 100644 index 81210143c38..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ETCL_Interpreter.h - * - * $Id$ - * - * @author Jeff Parsons based on previous work by - * @author Seth Widoff - */ -//============================================================================= - - -#ifndef TAO_ETCL_INTERPRETER_H -#define TAO_ETCL_INTERPRETER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/ETCL/etcl_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/orbconf.h" -#include "ace/Thread_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ETCL_Constraint; - -/** - * @class TAO_ETCL_Interpreter - * - * @brief TAO_ETCL_Interpreter is the superclass for all ETCL interpreters. - * Its build tree method invokes the yacc parser to parse a constraint - * or preference string. - */ -class TAO_ETCL_Export TAO_ETCL_Interpreter -{ -protected: - // = Initialization and termination methods. - /// Constructor. - TAO_ETCL_Interpreter (void); - - /// Destructor. - ~TAO_ETCL_Interpreter (void); - - /// Using the Yacc generated parser, construct an expression tree - /// representing from the tokens returned by it. - int build_tree (const char* constraints); - - static int is_empty_string (const char* str); - - /// The root of the expression tree, not equal to null if build_tree - /// successfully builds a tree from the constraints. - TAO_ETCL_Constraint* root_; -private: - /// This mutex protects the method from reentrance. - static TAO_SYNCH_MUTEX parserMutex__; -}; - - -// Functions we need for parsing. -extern int yyparse (void); -extern void yyrestart (FILE*); -extern int yylex (void); - -// Have yylex read from the constraint string, not from stdin. -#undef YY_INPUT -#define YY_INPUT(b, r, ms) (r = TAO_Lex_String_Input::copy_into(b, ms)) - -/** - * @class TAO_Lex_String_Input - * - * @brief Have Lex read from a string and not from stdin. Essentially, - * the interpreter needs to call yylex() until EOF, and call - * TAO_Lex_String_Input::reset() with the new string, prior to - * calling yyparse. - */ -class TAO_Lex_String_Input -{ -public: - /// Reset the lex input. - static void reset (char* input_string); - - /// Method lex will call to read from the input string. - static int copy_into (char* buf, int max_size); - -private: - - /// Pointers to keep track of the input string. - static char* string_; - static char* current_; - static char* end_; -}; - -/// The union used by lex and bison to build the Abstract Syntax Tree. -typedef union -{ - TAO_ETCL_Constraint* constraint; -} YYSTYPE; - -extern YYSTYPE yylval; -extern YYSTYPE yyval; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_ETCL_INTERPRETER_H */ diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp deleted file mode 100644 index 1d5fbb80ccb..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp +++ /dev/null @@ -1,1884 +0,0 @@ - -/* A lexical scanner generated by flex */ - -/* Scanner skeleton version: - * $Id$ - */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 - - -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ -#ifdef c_plusplus -#ifndef __cplusplus -#define __cplusplus -#endif -#endif - - -#ifdef __cplusplus - -#include "tao/orbconf.h" -#include "ace/OS.h" - -/* Use prototypes in function declarations. */ -#define YY_USE_PROTOS - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -#if __STDC__ - -#define YY_USE_PROTOS -#define YY_USE_CONST - -#endif /* __STDC__ */ -#endif /* ! __cplusplus */ - -#ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use -#include -#include -#define YY_USE_CONST -#define YY_USE_PROTOS -#endif - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - - -#ifdef YY_USE_PROTOS -#define YY_PROTO(proto) proto -#else -#define YY_PROTO(proto) () -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN yy_start = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START ((yy_start - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#define YY_BUF_SIZE 16384 - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef struct yy_buffer_state *YY_BUFFER_STATE; - -extern int yyleng; -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - -/* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This - * avoids problems with code like: - * - * if ( condition_holds ) - * yyless( 5 ); - * else - * do_something_else(); - * - * Prior to using the do-while the compiler would get upset at the - * "else" because it interpreted the "if" statement as being all - * done when it reached the ';' after the yyless() call. - */ - -/* Return all but the first 'n' matched characters back to the input stream. */ - -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - *yy_cp = yy_hold_char; \ - YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, yytext_ptr ) - -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ -typedef unsigned int yy_size_t; - - -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - }; - -static YY_BUFFER_STATE yy_current_buffer = 0; - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - */ -#define YY_CURRENT_BUFFER yy_current_buffer - - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; - -static int yy_n_chars; /* number of characters read into yy_ch_buf */ - - -int yyleng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 1; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void yyrestart YY_PROTO(( FILE *input_file )); - -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); -void yy_load_buffer_state YY_PROTO(( void )); -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) - -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - -static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); -static void yy_flex_free YY_PROTO(( void * )); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - - -//#define yywrap() 1 -//#define YY_SKIP_YYWRAP -typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -typedef int yy_state_type; -extern char *yytext; -#define yytext_ptr yytext - -static yy_state_type yy_get_previous_state YY_PROTO(( void )); -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); -static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ - yy_hold_char = *yy_cp; \ - *yy_cp = '\0'; \ - yy_c_buf_p = yy_cp; - -#define YY_NUM_RULES 41 -#define YY_END_OF_BUFFER 42 -static yyconst short int yy_accept[118] = - { 0, - 0, 0, 42, 40, 39, 41, 40, 24, 40, 22, - 23, 14, 12, 13, 25, 15, 35, 16, 40, 18, - 38, 38, 38, 31, 40, 32, 40, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 11, 21, 0, - 37, 0, 36, 0, 35, 17, 20, 19, 38, 38, - 38, 38, 27, 0, 0, 0, 38, 38, 38, 38, - 10, 38, 38, 38, 9, 38, 38, 0, 0, 38, - 38, 38, 0, 0, 0, 8, 38, 38, 38, 2, - 1, 7, 38, 38, 0, 36, 38, 33, 0, 0, - 0, 38, 38, 38, 38, 5, 34, 0, 0, 0, - - 38, 6, 3, 38, 0, 0, 0, 38, 4, 30, - 0, 0, 26, 0, 28, 29, 0 - } ; - -static yyconst int yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 4, 1, 1, 5, 1, 1, 6, 7, - 8, 9, 10, 1, 11, 12, 13, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 1, 1, 15, - 16, 17, 1, 1, 18, 19, 19, 19, 20, 21, - 19, 19, 19, 19, 19, 22, 19, 19, 19, 19, - 19, 23, 24, 25, 26, 19, 19, 19, 19, 19, - 27, 28, 29, 1, 30, 1, 31, 19, 19, 32, - - 33, 34, 35, 36, 37, 19, 19, 38, 39, 40, - 41, 42, 19, 43, 44, 45, 46, 19, 47, 48, - 49, 19, 1, 1, 1, 50, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst int yy_meta[51] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 1, 1, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1 - } ; - -static yyconst short int yy_base[122] = - { 0, - 0, 0, 146, 147, 147, 147, 129, 147, 45, 147, - 147, 147, 147, 147, 130, 147, 40, 127, 126, 125, - 0, 122, 116, 147, 0, 147, 21, 98, 104, 88, - 98, 94, 24, 92, 89, 100, 93, 147, 147, 50, - 147, 51, 48, 115, 46, 147, 147, 147, 0, 106, - 101, 0, 147, 93, 92, 75, 91, 88, 84, 77, - 0, 71, 78, 72, 0, 76, 70, 57, 60, 90, - 93, 0, 72, 69, 68, 0, 78, 64, 63, 0, - 0, 0, 74, 69, 90, 89, 82, 0, 66, 59, - 66, 52, 52, 51, 54, 0, 0, 49, 49, 54, - - 45, 0, 0, 43, 44, 47, 39, 30, 0, 147, - 35, 37, 0, 35, 147, 147, 147, 85, 87, 62, - 89 - } ; - -static yyconst short int yy_def[122] = - { 0, - 117, 1, 117, 117, 117, 117, 117, 117, 118, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 119, 119, 119, 117, 120, 117, 117, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 117, 117, 118, - 117, 117, 117, 117, 117, 117, 117, 117, 119, 119, - 119, 121, 117, 117, 117, 117, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 118, 117, 119, - 119, 121, 117, 117, 117, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 117, 117, 119, 119, 117, 117, - 117, 119, 119, 119, 119, 119, 119, 117, 117, 117, - - 119, 119, 119, 119, 117, 117, 117, 119, 119, 117, - 117, 117, 119, 117, 117, 117, 0, 117, 117, 117, - 117 - } ; - -static yyconst short int yy_nxt[198] = - { 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 21, 21, - 22, 21, 21, 21, 23, 21, 24, 25, 26, 27, - 28, 29, 30, 31, 21, 21, 32, 21, 33, 34, - 35, 21, 36, 21, 21, 21, 37, 21, 21, 38, - 41, 44, 53, 45, 62, 41, 68, 44, 54, 45, - 63, 43, 41, 55, 52, 56, 116, 69, 115, 85, - 85, 114, 42, 86, 113, 112, 111, 42, 68, 110, - 69, 109, 108, 107, 42, 40, 40, 40, 49, 49, - 72, 72, 106, 105, 104, 103, 102, 101, 100, 99, - - 98, 97, 86, 86, 96, 95, 94, 93, 92, 91, - 90, 89, 88, 87, 84, 83, 82, 81, 80, 79, - 78, 77, 76, 75, 74, 73, 71, 70, 43, 67, - 66, 65, 64, 61, 60, 59, 58, 57, 51, 50, - 48, 47, 46, 43, 39, 117, 3, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117 - - } ; - -static yyconst short int yy_chk[198] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 9, 17, 27, 17, 33, 40, 42, 45, 27, 45, - 33, 43, 68, 27, 120, 27, 114, 43, 112, 69, - 69, 111, 9, 69, 108, 107, 106, 40, 42, 105, - 43, 104, 101, 100, 68, 118, 118, 118, 119, 119, - 121, 121, 99, 98, 95, 94, 93, 92, 91, 90, - - 89, 87, 86, 85, 84, 83, 79, 78, 77, 75, - 74, 73, 71, 70, 67, 66, 64, 63, 62, 60, - 59, 58, 57, 56, 55, 54, 51, 50, 44, 37, - 36, 35, 34, 32, 31, 30, 29, 28, 23, 22, - 20, 19, 18, 15, 7, 3, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117 - - } ; - -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -//#line 1 "ETCL/ETCL.ll" -#define INITIAL 0 - -TAO_END_VERSIONED_NAMESPACE_DECL - -//#line 4 "ETCL/ETCL.ll" -// $Id$ -// ======================================================================== -// -// = LIBRARY -// orbsvcs/ECTL -// -// = FILENAME -// ETCL.ll -// -// = AUTHOR -// Carlos O'Ryan based on previous work by -// Seth Widoff -// -// ======================================================================== - -#include "orbsvcs/ETCL/ETCL_Interpreter.h" -#include "orbsvcs/ETCL/ETCL_Constraint.h" -#include "orbsvcs/ETCL/ETCL_y.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -static const char* extract_string(char*); -//static const char * extract_string(char*); - -#define TAO_YY_LEX_DEBUG - -#ifdef TAO_CONSTRAINT_DEBUG -#define TAO_YY_LEX_DEBUG ACE_OS::fprintf(stderr, "%s\n", yytext) -#endif /* TAO_CONSTRAINT_DEBUG */ - -//#define YY_DECL int TAO_ETCL_yylex (TAO_ETCL_YYSTYPE *lvalp, void* state) - -#define YY_BREAK -#define YY_NO_UNPUT - - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap YY_PROTO(( void )); -#else -extern int yywrap YY_PROTO(( void )); -#endif -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen YY_PROTO(( yyconst char * )); -#endif - -#ifndef YY_NO_INPUT -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif -#endif - -#if YY_STACK_USED -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -#ifndef YY_NO_PUSH_STATE -static void yy_push_state YY_PROTO(( int new_state )); -#endif -#ifndef YY_NO_POP_STATE -static void yy_pop_state YY_PROTO(( void )); -#endif -#ifndef YY_NO_TOP_STATE -static int yy_top_state YY_PROTO(( void )); -#endif - -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#endif - -TAO_END_VERSIONED_NAMESPACE_DECL - -#ifdef YY_MALLOC_DECL -YY_MALLOC_DECL -#else -#if __STDC__ -#ifndef __cplusplus -#include -#endif -#else -/* Just try to get by without declaring the routines. This will fail - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) - * or sizeof(void*) != sizeof(int). - */ -#endif -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ - -#ifndef TAO_ETCL_ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define TAO_ETCL_ECHO (void) fwrite( yytext, yyleng, 1, yyout ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) \ - { \ - int c = '*', n; \ - for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ - && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL int yylex YY_PROTO(( void )) -#endif - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -YY_DECL - { - register yy_state_type yy_current_state; - register char *yy_cp = 0; - register char *yy_bp = 0; - register int yy_act; - -//#line 50 "ETCL/ETCL.ll" - - if ( yy_init ) - { - yy_init = 0; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! yy_start ) - yy_start = 1; /* first start state */ - - if ( ! yyin ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! yy_current_buffer ) - yy_current_buffer = - yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_load_buffer_state(); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yy_start; -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 118 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_base[yy_current_state] != 147 ); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - if ( yy_act == 0 ) - { /* have to back up */ - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - - -do_action: /* This label is used only to access EOF actions. */ - - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yy_hold_char; - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; - goto yy_find_action; - -case 1: -YY_RULE_SETUP -//#line 52 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_MIN; } - YY_BREAK -case 2: -YY_RULE_SETUP -//#line 53 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_MAX; } - YY_BREAK -case 3: -YY_RULE_SETUP -//#line 54 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_FIRST; } - YY_BREAK -case 4: -YY_RULE_SETUP -//#line 55 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_RANDOM; } - YY_BREAK -case 5: -YY_RULE_SETUP -//#line 56 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_WITH; } - YY_BREAK -case 6: -YY_RULE_SETUP -//#line 57 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_EXIST; } - YY_BREAK -case 7: -YY_RULE_SETUP -//#line 58 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_NOT; } - YY_BREAK -case 8: -YY_RULE_SETUP -//#line 59 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_AND; } - YY_BREAK -case 9: -YY_RULE_SETUP -//#line 60 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_OR; } - YY_BREAK -case 10: -YY_RULE_SETUP -//#line 61 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_IN; } - YY_BREAK -case 11: -YY_RULE_SETUP -//#line 62 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_TWIDDLE; } - YY_BREAK -case 12: -YY_RULE_SETUP -//#line 63 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_PLUS; } - YY_BREAK -case 13: -YY_RULE_SETUP -//#line 64 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_MINUS; } - YY_BREAK -case 14: -YY_RULE_SETUP -//#line 65 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_MULT; } - YY_BREAK -case 15: -YY_RULE_SETUP -//#line 66 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_DIV; } - YY_BREAK -case 16: -YY_RULE_SETUP -//#line 67 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_LT; } - YY_BREAK -case 17: -YY_RULE_SETUP -//#line 68 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_LE; } - YY_BREAK -case 18: -YY_RULE_SETUP -//#line 69 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_GT; } - YY_BREAK -case 19: -YY_RULE_SETUP -//#line 70 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_GE; } - YY_BREAK -case 20: -YY_RULE_SETUP -//#line 71 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_EQ; } - YY_BREAK -case 21: -YY_RULE_SETUP -//#line 72 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_NE; } - YY_BREAK -case 22: -YY_RULE_SETUP -//#line 73 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_LPAREN; } - YY_BREAK -case 23: -YY_RULE_SETUP -//#line 74 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_RPAREN; } - YY_BREAK -case 24: -YY_RULE_SETUP -//#line 75 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_DOLLAR; } - YY_BREAK -case 25: -YY_RULE_SETUP -//#line 76 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_DOT; } - YY_BREAK -case 26: -YY_RULE_SETUP -//#line 77 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_DEFAULT; } - YY_BREAK -case 27: -YY_RULE_SETUP -//#line 78 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_DISCRIMINANT; } - YY_BREAK -case 28: -YY_RULE_SETUP -//#line 79 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_TYPE_ID; } - YY_BREAK -case 29: -YY_RULE_SETUP -//#line 80 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_REPOS_ID; } - YY_BREAK -case 30: -YY_RULE_SETUP -//#line 81 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_LENGTH; } - YY_BREAK -case 31: -YY_RULE_SETUP -//#line 82 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_LBRA; } - YY_BREAK -case 32: -YY_RULE_SETUP -//#line 83 "ETCL/ETCL.ll" -{ TAO_YY_LEX_DEBUG; return TAO_ETCL_RBRA; } - YY_BREAK -case 33: -YY_RULE_SETUP -//#line 84 "ETCL/ETCL.ll" -{ - yylval.constraint = - new TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 1); - TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN; - } - YY_BREAK -case 34: -YY_RULE_SETUP -//#line 89 "ETCL/ETCL.ll" -{ - yylval.constraint = - new TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 0); - TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN; - } - YY_BREAK -case 35: -YY_RULE_SETUP -//#line 94 "ETCL/ETCL.ll" -{ - yylval.constraint = - new TAO_ETCL_Literal_Constraint (ACE_OS::atoi (yytext)); - TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER; - } - YY_BREAK -case 36: -YY_RULE_SETUP -//#line 99 "ETCL/ETCL.ll" -{ - double v; - sscanf (yytext, "%lf", &v); - yylval.constraint = - new TAO_ETCL_Literal_Constraint (v); - TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT; - } - YY_BREAK -case 37: -YY_RULE_SETUP -//#line 106 "ETCL/ETCL.ll" -{ - yylval.constraint = - new TAO_ETCL_Literal_Constraint (extract_string(yytext)); - TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING; - } - YY_BREAK -case 38: -YY_RULE_SETUP -//#line 111 "ETCL/ETCL.ll" -{ - yylval.constraint = - new TAO_ETCL_Identifier (yytext); - TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT; - } - YY_BREAK -case 39: -YY_RULE_SETUP -//#line 116 "ETCL/ETCL.ll" -{ - TAO_YY_LEX_DEBUG; break; // Ignore - } - YY_BREAK -case 40: -YY_RULE_SETUP -//#line 119 "ETCL/ETCL.ll" -{ - TAO_YY_LEX_DEBUG; break; // @@ TODO - } - YY_BREAK -case 41: -YY_RULE_SETUP -//#line 122 "ETCL/ETCL.ll" -TAO_ETCL_ECHO; - YY_BREAK -case YY_STATE_EOF(INITIAL): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between yy_current_buffer and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yy_n_chars = yy_current_buffer->yy_n_chars; - yy_current_buffer->yy_input_file = yyin; - yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = yytext_ptr + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yy_c_buf_p; - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer() ) - { - case EOB_ACT_END_OF_FILE: - { - yy_did_buffer_switch_on_eof = 0; - - if ( yywrap() ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = - yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yy_c_buf_p = - &yy_current_buffer->yy_ch_buf[yy_n_chars]; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of yylex */ - - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ - -static int yy_get_next_buffer() - { - register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr; - register int number_to_move, i; - int ret_val; - - if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( yy_current_buffer->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - yy_current_buffer->yy_n_chars = yy_n_chars = 0; - - else - { - int num_to_read = - yy_current_buffer->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ -#ifdef YY_USES_REJECT - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -#else - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = yy_current_buffer; - - int yy_c_buf_p_offset = - (int) (yy_c_buf_p - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = yy_current_buffer->yy_buf_size - - number_to_move - 1; -#endif - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), - yy_n_chars, num_to_read ); - - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - if ( yy_n_chars == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - yy_current_buffer->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - yy_n_chars += number_to_move; - yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; - yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - - yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; - - return ret_val; - } - - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - -static yy_state_type yy_get_previous_state() - { - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = yy_start; - - for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 118 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; - } - - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - -#ifdef YY_USE_PROTOS -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) -#else -static yy_state_type yy_try_NUL_trans( yy_current_state ) -yy_state_type yy_current_state; -#endif - { - register int yy_is_jam; - register char *yy_cp = yy_c_buf_p; - - register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 118 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 117); - - return yy_is_jam ? 0 : yy_current_state; - } - -#if 0 -#ifndef YY_NO_UNPUT -#ifdef YY_USE_PROTOS -static void yyunput( int c, register char *yy_bp ) -#else -static void yyunput( c, yy_bp ) -int c; -register char *yy_bp; -#endif - { - register char *yy_cp = yy_c_buf_p; - - /* undo effects of setting up yytext */ - *yy_cp = yy_hold_char; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = yy_n_chars + 2; - register char *dest = &yy_current_buffer->yy_ch_buf[ - yy_current_buffer->yy_buf_size + 2]; - register char *source = - &yy_current_buffer->yy_ch_buf[number_to_move]; - - while ( source > yy_current_buffer->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - yy_current_buffer->yy_n_chars = - yy_n_chars = yy_current_buffer->yy_buf_size; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - - yytext_ptr = yy_bp; - yy_hold_char = *yy_cp; - yy_c_buf_p = yy_cp; - } -#endif /* ifndef YY_NO_UNPUT */ -#endif /* 0 */ - -#ifdef __cplusplus -static int yyinput() -#else -static int input() -#endif - { - int c; - - *yy_c_buf_p = yy_hold_char; - - if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - /* This was really a NUL. */ - *yy_c_buf_p = '\0'; - - else - { /* need more input */ - int offset = yy_c_buf_p - yytext_ptr; - ++yy_c_buf_p; - - switch ( yy_get_next_buffer() ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /* fall through */ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap() ) - return EOF; - - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + offset; - break; - } - } - } - - c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ - *yy_c_buf_p = '\0'; /* preserve yytext */ - yy_hold_char = *++yy_c_buf_p; - - - return c; - } - -void yyflush_current_buffer (void) -{ - YY_FLUSH_BUFFER; -} - - -#ifdef YY_USE_PROTOS -void yyrestart( FILE *input_file ) -#else -void yyrestart( input_file ) -FILE *input_file; -#endif - { - if ( ! yy_current_buffer ) - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_init_buffer( yy_current_buffer, input_file ); - yy_load_buffer_state(); - } - - -#ifdef YY_USE_PROTOS -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -#else -void yy_switch_to_buffer( new_buffer ) -YY_BUFFER_STATE new_buffer; -#endif - { - if ( yy_current_buffer == new_buffer ) - return; - - if ( yy_current_buffer ) - { - /* Flush out information for old buffer. */ - *yy_c_buf_p = yy_hold_char; - yy_current_buffer->yy_buf_pos = yy_c_buf_p; - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - yy_current_buffer = new_buffer; - yy_load_buffer_state(); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - yy_did_buffer_switch_on_eof = 1; - } - - -#ifdef YY_USE_PROTOS -void yy_load_buffer_state( void ) -#else -void yy_load_buffer_state() -#endif - { - yy_n_chars = yy_current_buffer->yy_n_chars; - yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; - yyin = yy_current_buffer->yy_input_file; - yy_hold_char = *yy_c_buf_p; - } - - -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) -#else -YY_BUFFER_STATE yy_create_buffer( file, size ) -FILE *file; -int size; -#endif - { - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; - } - - -#ifdef YY_USE_PROTOS -void yy_delete_buffer( YY_BUFFER_STATE b ) -#else -void yy_delete_buffer( b ) -YY_BUFFER_STATE b; -#endif - { - if ( ! b ) - return; - - if ( b == yy_current_buffer ) - yy_current_buffer = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yy_flex_free( (void *) b->yy_ch_buf ); - - yy_flex_free( (void *) b ); - } - - - -#ifdef YY_USE_PROTOS -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -#else -void yy_init_buffer( b, file ) -YY_BUFFER_STATE b; -FILE *file; -#endif - - - { - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - -#if defined (ACE_HAS_WINCE) - // Mimic the behavior as WinCE does not have isatty(). - if ((file != 0) && (file == fileno(file))) { - b->yy_is_interactive = 1; - } - else { - b->yy_is_interactive = 0; - } -#else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -#endif // ACE_HAS_WINCE - - } - - -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif - - { - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == yy_current_buffer ) - yy_load_buffer_state(); - } - - -#ifndef YY_NO_SCAN_BUFFER -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) -#else -YY_BUFFER_STATE yy_scan_buffer( base, size ) -char *base; -yy_size_t size; -#endif - { - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - yy_switch_to_buffer( b ); - - return b; - } -#endif - - -#ifndef YY_NO_SCAN_STRING -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) -#else -YY_BUFFER_STATE yy_scan_string( yy_str ) -yyconst char *yy_str; -#endif - { - int len; - for ( len = 0; yy_str[len]; ++len ) - ; - - return yy_scan_bytes( yy_str, len ); - } -#endif - - -#ifndef YY_NO_SCAN_BYTES -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) -#else -YY_BUFFER_STATE yy_scan_bytes( bytes, len ) -yyconst char *bytes; -int len; -#endif - { - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = len + 2; - buf = (char *) yy_flex_alloc( n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - - for ( i = 0; i < len; ++i ) - buf[i] = bytes[i]; - - buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - - b = yy_scan_buffer( buf, n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; - } -#endif - - -#ifndef YY_NO_PUSH_STATE -#ifdef YY_USE_PROTOS -static void yy_push_state( int new_state ) -#else -static void yy_push_state( new_state ) -int new_state; -#endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); - - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); - - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); - - if ( ! yy_start_stack ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } - - yy_start_stack[yy_start_stack_ptr++] = YY_START; - - BEGIN(new_state); - } -#endif - - -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif - - -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -#ifdef YY_USE_PROTOS -static void yy_fatal_error( yyconst char msg[] ) -#else -static void yy_fatal_error( msg ) -char msg[]; -#endif - { - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); - } - - - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n; \ - yy_hold_char = *yy_c_buf_p; \ - *yy_c_buf_p = '\0'; \ - yyleng = n; \ - } \ - while ( 0 ) - - -/* Internal utility routines. */ - -#ifndef yytext_ptr -#ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) -#else -static void yy_flex_strncpy( s1, s2, n ) -char *s1; -yyconst char *s2; -int n; -#endif - { - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; - } -#endif - -#ifdef YY_NEED_STRLEN -#ifdef YY_USE_PROTOS -static int yy_flex_strlen( yyconst char *s ) -#else -static int yy_flex_strlen( s ) -yyconst char *s; -#endif - { - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; - } -#endif - - -#ifdef YY_USE_PROTOS -static void *yy_flex_alloc( yy_size_t size ) -#else -static void *yy_flex_alloc( size ) -yy_size_t size; -#endif - { - return (void *) malloc( size ); - } - -#ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, yy_size_t size ) -#else -static void *yy_flex_realloc( ptr, size ) -void *ptr; -yy_size_t size; -#endif - { - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); - } - -#ifdef YY_USE_PROTOS -static void yy_flex_free( void *ptr ) -#else -static void yy_flex_free( ptr ) -void *ptr; -#endif - { - free( ptr ); - } - -#if YY_MAIN -int main() - { - yylex(); - return 0; - } -#endif -//#line 122 "ETCL/ETCL.ll" - - -const char* -extract_string(char* str) -{ - char *t = str; - for (char * i = str + 1; *i != '\''; ++i, ++t) - { - if (*i == '\\') - { - ++i; - if (*i == 0) - return 0; - else if (*i == 't') - *t = '\t'; - else if (*i == 'n') - *t = '\n'; - else if (*i == '\\') - *t = '\\'; - else - *t = *i; - continue; - } - - *t = *i; - } - - *t = '\0'; - return str; -} - -int -yywrap (void) -{ - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff deleted file mode 100644 index 9709c130de2..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff +++ /dev/null @@ -1,511 +0,0 @@ ---- bison_gen\ETCL_l.cpp 2005-07-19 10:09:28.523824100 -0700 -+++ ETCL_l.cpp 2005-07-19 09:47:22.138585300 -0700 -@@ -1,15 +1,14 @@ -+ - /* A lexical scanner generated by flex */ - - /* Scanner skeleton version: -- * $Header$ -+ * $Id$ - */ - - #define FLEX_SCANNER - #define YY_FLEX_MAJOR_VERSION 2 - #define YY_FLEX_MINOR_VERSION 5 - --#include -- - - /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ - #ifdef c_plusplus -@@ -21,8 +20,7 @@ - - #ifdef __cplusplus - --#include --#include -+#include "ace/OS.h" - - /* Use prototypes in function declarations. */ - #define YY_USE_PROTOS -@@ -262,8 +260,8 @@ - #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - - --#define yywrap() 1 --#define YY_SKIP_YYWRAP -+//#define yywrap() 1 -+//#define YY_SKIP_YYWRAP - typedef unsigned char YY_CHAR; - FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; - typedef int yy_state_type; -@@ -444,15 +442,15 @@ - #define YY_MORE_ADJ 0 - #define YY_RESTORE_YY_MORE_OFFSET - char *yytext; --#line 1 "ETCL.ll" -+//#line 1 "ETCL/ETCL.ll" - #define INITIAL 0 --#line 4 "ETCL.ll" -+//#line 4 "ETCL/ETCL.ll" - // $Id$ - // ======================================================================== - // - // = LIBRARY - // orbsvcs/ECTL --// -+// - // = FILENAME - // ETCL.ll - // -@@ -462,12 +460,12 @@ - // - // ======================================================================== - --#include "ace/OS.h" -- -+#include "ETCL_Interpreter.h" - #include "ETCL_Constraint.h" - #include "ETCL_y.h" - --static const char * extract_string(char*); -+static const char* extract_string(char*); -+//static const char * extract_string(char*); - - #define TAO_YY_LEX_DEBUG - -@@ -475,12 +473,11 @@ - #define TAO_YY_LEX_DEBUG TAO_OS::fprintf(stderr, "%s\n", yytext) - #endif /* TAO_CONSTRAINT_DEBUG */ - --#define YY_DECL int TAO_ETCL_yylex (TAO_ETCL_YYSTYPE *lvalp, void* state) -+//#define YY_DECL int TAO_ETCL_yylex (TAO_ETCL_YYSTYPE *lvalp, void* state) - - #define YY_BREAK - #define YY_NO_UNPUT - --#line 484 "lex.yy.c" - - /* Macros after this point can all be overridden by user definitions in - * section 1. -@@ -494,10 +491,6 @@ - #endif - #endif - --#ifndef YY_NO_UNPUT --static void yyunput YY_PROTO(( int c, char *buf_ptr )); --#endif -- - #ifndef yytext_ptr - static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); - #endif -@@ -556,11 +549,11 @@ - - /* Copy whatever the last rule matched to the standard output. */ - --#ifndef ECHO -+#ifndef TAO_ETCL_ECHO - /* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ --#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) -+#define TAO_ETCL_ECHO (void) fwrite( yytext, yyleng, 1, yyout ) - #endif - - /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, -@@ -628,13 +621,11 @@ - YY_DECL - { - register yy_state_type yy_current_state; -- register char *yy_cp, *yy_bp; -+ register char *yy_cp = 0; -+ register char *yy_bp = 0; - register int yy_act; - --#line 50 "ETCL.ll" -- -- --#line 638 "lex.yy.c" -+//#line 50 "ETCL/ETCL.ll" - - if ( yy_init ) - { -@@ -719,240 +710,239 @@ - - case 1: - YY_RULE_SETUP --#line 52 "ETCL.ll" -+//#line 52 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_MIN; } - YY_BREAK - case 2: - YY_RULE_SETUP --#line 53 "ETCL.ll" -+//#line 53 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_MAX; } - YY_BREAK - case 3: - YY_RULE_SETUP --#line 54 "ETCL.ll" -+//#line 54 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_FIRST; } - YY_BREAK - case 4: - YY_RULE_SETUP --#line 55 "ETCL.ll" -+//#line 55 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_RANDOM; } - YY_BREAK - case 5: - YY_RULE_SETUP --#line 56 "ETCL.ll" -+//#line 56 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_WITH; } - YY_BREAK - case 6: - YY_RULE_SETUP --#line 57 "ETCL.ll" -+//#line 57 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_EXIST; } - YY_BREAK - case 7: - YY_RULE_SETUP --#line 58 "ETCL.ll" -+//#line 58 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_NOT; } - YY_BREAK - case 8: - YY_RULE_SETUP --#line 59 "ETCL.ll" -+//#line 59 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_AND; } - YY_BREAK - case 9: - YY_RULE_SETUP --#line 60 "ETCL.ll" -+//#line 60 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_OR; } - YY_BREAK - case 10: - YY_RULE_SETUP --#line 61 "ETCL.ll" -+//#line 61 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_IN; } - YY_BREAK - case 11: - YY_RULE_SETUP --#line 62 "ETCL.ll" -+//#line 62 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_TWIDDLE; } - YY_BREAK - case 12: - YY_RULE_SETUP --#line 63 "ETCL.ll" -+//#line 63 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_PLUS; } - YY_BREAK - case 13: - YY_RULE_SETUP --#line 64 "ETCL.ll" -+//#line 64 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_MINUS; } - YY_BREAK - case 14: - YY_RULE_SETUP --#line 65 "ETCL.ll" -+//#line 65 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_MULT; } - YY_BREAK - case 15: - YY_RULE_SETUP --#line 66 "ETCL.ll" -+//#line 66 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_DIV; } - YY_BREAK - case 16: - YY_RULE_SETUP --#line 67 "ETCL.ll" -+//#line 67 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_LT; } - YY_BREAK - case 17: - YY_RULE_SETUP --#line 68 "ETCL.ll" -+//#line 68 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_LE; } - YY_BREAK - case 18: - YY_RULE_SETUP --#line 69 "ETCL.ll" -+//#line 69 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_GT; } - YY_BREAK - case 19: - YY_RULE_SETUP --#line 70 "ETCL.ll" -+//#line 70 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_GE; } - YY_BREAK - case 20: - YY_RULE_SETUP --#line 71 "ETCL.ll" -+//#line 71 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_EQ; } - YY_BREAK - case 21: - YY_RULE_SETUP --#line 72 "ETCL.ll" -+//#line 72 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_NE; } - YY_BREAK - case 22: - YY_RULE_SETUP --#line 73 "ETCL.ll" -+//#line 73 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_LPAREN; } - YY_BREAK - case 23: - YY_RULE_SETUP --#line 74 "ETCL.ll" -+//#line 74 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_RPAREN; } - YY_BREAK - case 24: - YY_RULE_SETUP --#line 75 "ETCL.ll" -+//#line 75 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_DOLLAR; } - YY_BREAK - case 25: - YY_RULE_SETUP --#line 76 "ETCL.ll" -+//#line 76 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_DOT; } - YY_BREAK - case 26: - YY_RULE_SETUP --#line 77 "ETCL.ll" -+//#line 77 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_DEFAULT; } - YY_BREAK - case 27: - YY_RULE_SETUP --#line 78 "ETCL.ll" -+//#line 78 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_DISCRIMINANT; } - YY_BREAK - case 28: - YY_RULE_SETUP --#line 79 "ETCL.ll" -+//#line 79 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_TYPE_ID; } - YY_BREAK - case 29: - YY_RULE_SETUP --#line 80 "ETCL.ll" -+//#line 80 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_REPOS_ID; } - YY_BREAK - case 30: - YY_RULE_SETUP --#line 81 "ETCL.ll" -+//#line 81 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_LENGTH; } - YY_BREAK - case 31: - YY_RULE_SETUP --#line 82 "ETCL.ll" -+//#line 82 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_LBRA; } - YY_BREAK - case 32: - YY_RULE_SETUP --#line 83 "ETCL.ll" -+//#line 83 "ETCL/ETCL.ll" - { TAO_YY_LEX_DEBUG; return TAO_ETCL_RBRA; } - YY_BREAK - case 33: - YY_RULE_SETUP --#line 84 "ETCL.ll" --{ -- lvalp->constraint = -+//#line 84 "ETCL/ETCL.ll" -+{ -+ yylval.constraint = - new TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 1); - TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN; - } - YY_BREAK - case 34: - YY_RULE_SETUP --#line 89 "ETCL.ll" --{ -- lvalp->constraint = -+//#line 89 "ETCL/ETCL.ll" -+{ -+ yylval.constraint = - new TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 0); - TAO_YY_LEX_DEBUG; return TAO_ETCL_BOOLEAN; - } - YY_BREAK - case 35: - YY_RULE_SETUP --#line 94 "ETCL.ll" --{ -- lvalp->constraint = -+//#line 94 "ETCL/ETCL.ll" -+{ -+ yylval.constraint = - new TAO_ETCL_Literal_Constraint (ACE_OS::atoi (yytext)); -- TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER; -+ TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER; - } - YY_BREAK - case 36: - YY_RULE_SETUP --#line 99 "ETCL.ll" -+//#line 99 "ETCL/ETCL.ll" - { - double v; -- sscanf (yytext, "%lf", &v); -- lvalp->constraint = -+ sscanf (yytext, "%lf", &v); -+ yylval.constraint = - new TAO_ETCL_Literal_Constraint (v); -- TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT; -+ TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT; - } - YY_BREAK - case 37: - YY_RULE_SETUP --#line 106 "ETCL.ll" --{ -- lvalp->constraint = -- new TAO_ETCL_Literal_Constraint (extract_string (yytext)); -- TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING; -+//#line 106 "ETCL/ETCL.ll" -+{ -+ yylval.constraint = -+ new TAO_ETCL_Literal_Constraint (extract_string(yytext)); -+ TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING; - } - YY_BREAK - case 38: - YY_RULE_SETUP --#line 111 "ETCL.ll" --{ -- lvalp->constraint = -+//#line 111 "ETCL/ETCL.ll" -+{ -+ yylval.constraint = - new TAO_ETCL_Identifier (yytext); -- TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT; -+ TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT; - } - YY_BREAK - case 39: - YY_RULE_SETUP --#line 116 "ETCL.ll" --{ -+//#line 116 "ETCL/ETCL.ll" -+{ - TAO_YY_LEX_DEBUG; break; // Ignore - } - YY_BREAK - case 40: - YY_RULE_SETUP --#line 119 "ETCL.ll" --{ -+//#line 119 "ETCL/ETCL.ll" -+{ - TAO_YY_LEX_DEBUG; break; // @@ TODO - } - YY_BREAK - case 41: - YY_RULE_SETUP --#line 122 "ETCL.ll" --ECHO; -+//#line 122 "ETCL/ETCL.ll" -+TAO_ETCL_ECHO; - YY_BREAK --#line 956 "lex.yy.c" - case YY_STATE_EOF(INITIAL): - yyterminate(); - -@@ -1288,7 +1278,7 @@ - return yy_is_jam ? 0 : yy_current_state; - } - -- -+#if 0 - #ifndef YY_NO_UNPUT - #ifdef YY_USE_PROTOS - static void yyunput( int c, register char *yy_bp ) -@@ -1332,7 +1322,7 @@ - yy_c_buf_p = yy_cp; - } - #endif /* ifndef YY_NO_UNPUT */ -- -+#endif /* 0 */ - - #ifdef __cplusplus - static int yyinput() -@@ -1406,6 +1396,11 @@ - return c; - } - -+void yyflush_current_buffer (void) -+{ -+ YY_FLUSH_BUFFER; -+} -+ - - #ifdef YY_USE_PROTOS - void yyrestart( FILE *input_file ) -@@ -1516,11 +1511,6 @@ - } - - --#ifndef YY_ALWAYS_INTERACTIVE --#ifndef YY_NEVER_INTERACTIVE --extern int isatty YY_PROTO(( int )); --#endif --#endif - - #ifdef YY_USE_PROTOS - void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -@@ -1537,15 +1527,18 @@ - b->yy_input_file = file; - b->yy_fill_buffer = 1; - --#if YY_ALWAYS_INTERACTIVE -- b->yy_is_interactive = 1; --#else --#if YY_NEVER_INTERACTIVE -- b->yy_is_interactive = 0; -+#if defined (ACE_HAS_WINCE) -+ // Mimic the behavior as WinCE does not have isatty(). -+ if ((file != 0) && (file == fileno(file))) { -+ b->yy_is_interactive = 1; -+ } -+ else { -+ b->yy_is_interactive = 0; -+ } - #else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; --#endif --#endif -+#endif // ACE_HAS_WINCE -+ - } - - -@@ -1838,7 +1831,7 @@ - return 0; - } - #endif --#line 122 "ETCL.ll" -+//#line 122 "ETCL/ETCL.ll" - - - const char* diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp deleted file mode 100644 index 1c07ea5d3a7..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp +++ /dev/null @@ -1,1295 +0,0 @@ -// $Id$ - -/* A Bison parser, made from ETCL/ETCL.yy - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define TAO_ETCL_GT 257 -#define TAO_ETCL_GE 258 -#define TAO_ETCL_LT 259 -#define TAO_ETCL_LE 260 -#define TAO_ETCL_EQ 261 -#define TAO_ETCL_NE 262 -#define TAO_ETCL_EXIST 263 -#define TAO_ETCL_DEFAULT 264 -#define TAO_ETCL_AND 265 -#define TAO_ETCL_OR 266 -#define TAO_ETCL_NOT 267 -#define TAO_ETCL_IN 268 -#define TAO_ETCL_TWIDDLE 269 -#define TAO_ETCL_BOOLEAN 270 -#define TAO_ETCL_PLUS 271 -#define TAO_ETCL_MINUS 272 -#define TAO_ETCL_MULT 273 -#define TAO_ETCL_DIV 274 -#define TAO_ETCL_UMINUS 275 -#define TAO_ETCL_INTEGER 276 -#define TAO_ETCL_FLOAT 277 -#define TAO_ETCL_STRING 278 -#define TAO_ETCL_RPAREN 279 -#define TAO_ETCL_LPAREN 280 -#define TAO_ETCL_RBRA 281 -#define TAO_ETCL_LBRA 282 -#define TAO_ETCL_IDENT 283 -#define TAO_ETCL_UNSIGNED 284 -#define TAO_ETCL_SIGNED 285 -#define TAO_ETCL_DOUBLE 286 -#define TAO_ETCL_CONSTRAINT 287 -#define TAO_ETCL_COMPONENT 288 -#define TAO_ETCL_WITH 289 -#define TAO_ETCL_MAX 290 -#define TAO_ETCL_MIN 291 -#define TAO_ETCL_FIRST 292 -#define TAO_ETCL_RANDOM 293 -#define TAO_ETCL_DOLLAR 294 -#define TAO_ETCL_DOT 295 -#define TAO_ETCL_DISCRIMINANT 296 -#define TAO_ETCL_LENGTH 297 -#define TAO_ETCL_TYPE_ID 298 -#define TAO_ETCL_REPOS_ID 299 - -//#line 1 "ETCL/ETCL.yy" - -// $Id$ -// ======================================================================== -// -// = LIBRARY -// orbsvcs / Extended Trader Constraint Language parser. -// -// = FILENAME -// ETCL.yy -// -// = AUTHOR -// Carlos O'Ryan based on previous work by -// Seth Widoff -// -// ======================================================================== - -#include "orbsvcs/ETCL/ETCL_y.h" -#include "orbsvcs/ETCL/ETCL_Constraint.h" -#include "orbsvcs/ETCL/ETCL_Interpreter.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern int yylex (void); -extern void yyflush_current_buffer (void); - -static void yyerror (const char *) -{ - // @@ TODO - // Ignore error messages -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 114 -#define YYFLAG -32768 -#define YYNTBASE 46 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 299 ? yytranslate[x] : 65) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 4, 7, 10, 13, 15, 17, 21, 23, - 27, 29, 33, 37, 41, 45, 49, 53, 55, 59, - 64, 66, 70, 72, 76, 80, 82, 86, 90, 92, - 95, 97, 101, 103, 106, 109, 111, 114, 117, 119, - 121, 124, 128, 132, 135, 137, 138, 141, 144, 146, - 148, 149, 152, 154, 156, 159, 161, 163, 165, 167, - 169, 171, 176, 181, 184, 189, 190, 192, 195, 198 -}; - -static const short yyrhs[] = { 48, - 0, 47, 0, 37, 48, 0, 36, 48, 0, 35, - 48, 0, 38, 0, 39, 0, 48, 12, 49, 0, - 49, 0, 49, 11, 50, 0, 50, 0, 51, 7, - 51, 0, 51, 8, 51, 0, 51, 3, 51, 0, - 51, 4, 51, 0, 51, 5, 51, 0, 51, 6, - 51, 0, 51, 0, 52, 14, 57, 0, 52, 14, - 40, 57, 0, 52, 0, 53, 15, 53, 0, 53, - 0, 53, 17, 54, 0, 53, 18, 54, 0, 54, - 0, 54, 19, 55, 0, 54, 20, 55, 0, 55, - 0, 13, 56, 0, 56, 0, 26, 48, 25, 0, - 22, 0, 17, 22, 0, 18, 22, 0, 23, 0, - 17, 23, 0, 18, 23, 0, 24, 0, 16, 0, - 9, 29, 0, 9, 40, 57, 0, 10, 40, 57, - 0, 40, 57, 0, 29, 0, 0, 41, 59, 0, - 29, 58, 0, 60, 0, 61, 0, 0, 41, 59, - 0, 60, 0, 61, 0, 29, 58, 0, 43, 0, - 42, 0, 44, 0, 45, 0, 62, 0, 63, 0, - 28, 22, 27, 58, 0, 26, 29, 25, 58, 0, - 22, 58, 0, 26, 64, 25, 58, 0, 0, 22, - 0, 17, 22, 0, 18, 22, 0, 24, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 92, 93, 96, 98, 100, 102, 104, 108, 110, 113, - 115, 118, 120, 122, 124, 126, 128, 130, 133, 135, - 137, 140, 142, 145, 147, 149, 152, 154, 156, 159, - 161, 164, 166, 168, 170, 172, 174, 176, 178, 180, - 182, 184, 186, 188, 190, 194, 196, 199, 202, 203, - 206, 208, 211, 212, 215, 217, 219, 221, 223, 225, - 226, 229, 233, 237, 241, 245, 247, 249, 251, 253 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","TAO_ETCL_GT", -"TAO_ETCL_GE","TAO_ETCL_LT","TAO_ETCL_LE","TAO_ETCL_EQ","TAO_ETCL_NE","TAO_ETCL_EXIST", -"TAO_ETCL_DEFAULT","TAO_ETCL_AND","TAO_ETCL_OR","TAO_ETCL_NOT","TAO_ETCL_IN", -"TAO_ETCL_TWIDDLE","TAO_ETCL_BOOLEAN","TAO_ETCL_PLUS","TAO_ETCL_MINUS","TAO_ETCL_MULT", -"TAO_ETCL_DIV","TAO_ETCL_UMINUS","TAO_ETCL_INTEGER","TAO_ETCL_FLOAT","TAO_ETCL_STRING", -"TAO_ETCL_RPAREN","TAO_ETCL_LPAREN","TAO_ETCL_RBRA","TAO_ETCL_LBRA","TAO_ETCL_IDENT", -"TAO_ETCL_UNSIGNED","TAO_ETCL_SIGNED","TAO_ETCL_DOUBLE","TAO_ETCL_CONSTRAINT", -"TAO_ETCL_COMPONENT","TAO_ETCL_WITH","TAO_ETCL_MAX","TAO_ETCL_MIN","TAO_ETCL_FIRST", -"TAO_ETCL_RANDOM","TAO_ETCL_DOLLAR","TAO_ETCL_DOT","TAO_ETCL_DISCRIMINANT","TAO_ETCL_LENGTH", -"TAO_ETCL_TYPE_ID","TAO_ETCL_REPOS_ID","constraint","preference","bool_or","bool_and", -"bool_compare","expr_in","expr_twiddle","expr","term","factor_not","factor", -"component","component_ext","component_dot","component_array","component_assoc", -"component_pos","union_pos","union_val", NULL -}; -#endif - -static const short yyr1[] = { 0, - 46, 46, 47, 47, 47, 47, 47, 48, 48, 49, - 49, 50, 50, 50, 50, 50, 50, 50, 51, 51, - 51, 52, 52, 53, 53, 53, 54, 54, 54, 55, - 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, - 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, - 59, 60, 61, 62, 63, 64, 64, 64, 64, 64 -}; - -static const short yyr2[] = { 0, - 1, 1, 2, 2, 2, 1, 1, 3, 1, 3, - 1, 3, 3, 3, 3, 3, 3, 1, 3, 4, - 1, 3, 1, 3, 3, 1, 3, 3, 1, 2, - 1, 3, 1, 2, 2, 1, 2, 2, 1, 1, - 2, 3, 3, 2, 1, 0, 2, 2, 1, 1, - 0, 2, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 4, 4, 2, 4, 0, 1, 2, 2, 1 -}; - -static const short yydefact[] = { 0, - 0, 0, 0, 40, 0, 0, 33, 36, 39, 0, - 45, 0, 0, 0, 6, 7, 46, 2, 1, 9, - 11, 18, 21, 23, 26, 29, 31, 41, 46, 46, - 30, 34, 37, 35, 38, 0, 5, 4, 3, 0, - 0, 51, 0, 44, 49, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, - 42, 43, 32, 0, 0, 0, 48, 53, 54, 51, - 66, 51, 57, 56, 58, 59, 47, 60, 61, 8, - 10, 14, 15, 16, 17, 12, 13, 46, 19, 22, - 24, 25, 27, 28, 51, 51, 52, 64, 0, 0, - 67, 70, 0, 55, 20, 63, 62, 68, 69, 51, - 65, 0, 0, 0 -}; - -static const short yydefgoto[] = { 112, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 44, 67, 77, 68, 69, 78, 79, 103 -}; - -static const short yypact[] = { 41, - -13, -39, 94,-32768, 38, 46,-32768,-32768,-32768, 73, --32768, 73, 73, 73,-32768,-32768, -9,-32768, -6, 7, --32768, 121, -5, 19, 55,-32768,-32768,-32768, -9, -9, --32768,-32768,-32768,-32768,-32768, 21, -6, -6, -6, 6, - 25, -2, -1,-32768,-32768,-32768, 73, 73, 73, 73, - 73, 73, 73, 73, -18, 73, 73, 73, 73, 73, --32768,-32768,-32768, 27, 29, -1,-32768,-32768,-32768, -2, - 31, -2,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 7, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -9,-32768, 67, - 55, 55,-32768,-32768, -2, -2,-32768,-32768, 44, 50, --32768,-32768, 69,-32768,-32768,-32768,-32768,-32768,-32768, -2, --32768, 98, 100,-32768 -}; - -static const short yypgoto[] = {-32768, --32768, 95, 54, 58, 86,-32768, 59, 30, 33, 111, - -26, -65, 53, -17, -15,-32768,-32768,-32768 -}; - - -#define YYLAST 140 - - -static const short yytable[] = { 45, - 30, 46, 61, 62, 98, 47, 104, 40, 55, 41, - 42, 45, 45, 46, 46, 28, 40, 48, 41, 42, - 70, 88, 43, 40, 71, 41, 29, 72, 89, 106, - 107, 43, 47, 56, 64, 57, 58, 45, 66, 46, - 73, 74, 75, 76, 111, 63, 65, 99, 100, 1, - 2, 95, 101, 3, 102, 96, 4, 5, 6, 32, - 33, 105, 7, 8, 9, 108, 10, 34, 35, 11, - 45, 109, 46, 59, 60, 12, 13, 14, 15, 16, - 17, 1, 2, 57, 58, 3, 91, 92, 4, 5, - 6, 93, 94, 110, 7, 8, 9, 113, 10, 114, - 80, 11, 1, 2, 36, 81, 37, 38, 39, 4, - 5, 6, 17, 31, 90, 7, 8, 9, 97, 10, - 0, 0, 11, 49, 50, 51, 52, 53, 54, 0, - 0, 0, 0, 17, 82, 83, 84, 85, 86, 87 -}; - -static const short yycheck[] = { 17, - 40, 17, 29, 30, 70, 12, 72, 26, 14, 28, - 29, 29, 30, 29, 30, 29, 26, 11, 28, 29, - 22, 40, 41, 26, 26, 28, 40, 29, 55, 95, - 96, 41, 12, 15, 29, 17, 18, 55, 41, 55, - 42, 43, 44, 45, 110, 25, 22, 17, 18, 9, - 10, 25, 22, 13, 24, 27, 16, 17, 18, 22, - 23, 88, 22, 23, 24, 22, 26, 22, 23, 29, - 88, 22, 88, 19, 20, 35, 36, 37, 38, 39, - 40, 9, 10, 17, 18, 13, 57, 58, 16, 17, - 18, 59, 60, 25, 22, 23, 24, 0, 26, 0, - 47, 29, 9, 10, 10, 48, 12, 13, 14, 16, - 17, 18, 40, 3, 56, 22, 23, 24, 66, 26, - -1, -1, 29, 3, 4, 5, 6, 7, 8, -1, - -1, -1, -1, 40, 49, 50, 51, 52, 53, 54 -}; -/* -*-C-*- Note some compilers choke on comments on `//#line' lines. */ -//#line 3 "/pkg/gnu/share/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ -YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, unsigned int count) -{ - register char *t = to; - register char *f = from; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -//#line 217 "/pkg/gnu/share/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else -int yyparse (void); -#endif -#endif - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 3: -//#line 97 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_MIN, yyvsp[0].constraint); ; - break;} -case 4: -//#line 99 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_MAX, yyvsp[0].constraint); ; - break;} -case 5: -//#line 101 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_WITH, yyvsp[0].constraint); ; - break;} -case 6: -//#line 103 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_FIRST); ; - break;} -case 7: -//#line 105 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_RANDOM); ; - break;} -case 8: -//#line 109 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_OR, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 10: -//#line 114 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_AND, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 12: -//#line 119 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_EQ, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 13: -//#line 121 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_NE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 14: -//#line 123 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_GT, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 15: -//#line 125 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_GE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 16: -//#line 127 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_LT, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 17: -//#line 129 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_LE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 19: -//#line 134 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_IN, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 20: -//#line 136 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_IN, yyvsp[-3].constraint, yyvsp[0].constraint); ; - break;} -case 22: -//#line 141 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_TWIDDLE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 24: -//#line 146 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_PLUS, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 25: -//#line 148 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_MINUS, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 27: -//#line 153 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_MULT, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 28: -//#line 155 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_DIV, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 30: -//#line 160 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_NOT, yyvsp[0].constraint); ; - break;} -case 32: -//#line 165 "ETCL/ETCL.yy" -{ yyval.constraint = yyvsp[-1].constraint; ; - break;} -case 33: -//#line 167 "ETCL/ETCL.yy" -{ yyval.constraint = yyvsp[0].constraint; ; - break;} -case 34: -//#line 169 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_PLUS, yyvsp[0].constraint); ; - break;} -case 35: -//#line 171 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_MINUS, yyvsp[0].constraint); ; - break;} -case 36: -//#line 173 "ETCL/ETCL.yy" -{ yyval.constraint = yyvsp[0].constraint; ; - break;} -case 37: -//#line 175 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_PLUS, yyvsp[0].constraint); ; - break;} -case 38: -//#line 177 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_MINUS, yyvsp[0].constraint); ; - break;} -case 39: -//#line 179 "ETCL/ETCL.yy" -{ yyval.constraint = yyvsp[0].constraint; ; - break;} -case 40: -//#line 181 "ETCL/ETCL.yy" -{ yyval.constraint = yyvsp[0].constraint; ; - break;} -case 41: -//#line 183 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Exist (yyvsp[0].constraint); ; - break;} -case 42: -//#line 185 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Exist (yyvsp[0].constraint); ; - break;} -case 43: -//#line 187 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Default (yyvsp[0].constraint); ; - break;} -case 44: -//#line 189 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Eval (yyvsp[0].constraint); ; - break;} -case 45: -//#line 191 "ETCL/ETCL.yy" -{ yyval.constraint = yyvsp[0].constraint; ; - break;} -case 46: -//#line 195 "ETCL/ETCL.yy" -{ yyval.constraint = 0; ; - break;} -case 47: -//#line 197 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Dot (yyvsp[0].constraint); ; - break;} -case 48: -//#line 200 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Component (yyvsp[-1].constraint, yyvsp[0].constraint); ; - break;} -case 51: -//#line 207 "ETCL/ETCL.yy" -{ yyval.constraint = 0; ; - break;} -case 52: -//#line 209 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Dot (yyvsp[0].constraint); ; - break;} -case 55: -//#line 216 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Component (yyvsp[-1].constraint, yyvsp[0].constraint); ; - break;} -case 56: -//#line 218 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_LENGTH); ; - break;} -case 57: -//#line 220 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_DISCRIMINANT); ; - break;} -case 58: -//#line 222 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_TYPE_ID); ; - break;} -case 59: -//#line 224 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_REPOS_ID); ; - break;} -case 62: -//#line 230 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Component_Array (yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 63: -//#line 234 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Component_Assoc (yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 64: -//#line 238 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Component_Pos (yyvsp[-1].constraint, yyvsp[0].constraint); ; - break;} -case 65: -//#line 242 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Union_Pos (yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} -case 66: -//#line 246 "ETCL/ETCL.yy" -{ yyval.constraint = 0; ; - break;} -case 67: -//#line 248 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Union_Value (+1, yyvsp[0].constraint); ; - break;} -case 68: -//#line 250 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Union_Value (+1, yyvsp[0].constraint); ; - break;} -case 69: -//#line 252 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Union_Value (-1, yyvsp[0].constraint); ; - break;} -case 70: -//#line 254 "ETCL/ETCL.yy" -{ yyval.constraint = new TAO_ETCL_Union_Value (yyvsp[0].constraint); ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -//#line 543 "/pkg/gnu/share/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 0; - - yyabortlab: - /* YYABORT comes here. */ - - /* Flush out yy_current_buffer before next parse. Since there is - no error recovery, the buffer could still contain tokens from this - parse. */ - yyflush_current_buffer(); - - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 1; -} -//#line 257 "ETCL/ETCL.yy" - - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff deleted file mode 100644 index fe123111232..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff +++ /dev/null @@ -1,607 +0,0 @@ ---- bison_gen\ETCL_y.cpp 2005-07-19 09:56:06.368807400 -0700 -+++ ETCL_y.cpp 2005-07-19 09:45:00.160274900 -0700 -@@ -1,5 +1,6 @@ -+// $Id$ - --/* A Bison parser, made from ETCL.yy -+/* A Bison parser, made from ETCL/ETCL.yy - by GNU Bison version 1.28 */ - - #define YYBISON 1 /* Identify Bison output. */ -@@ -48,9 +49,9 @@ - #define TAO_ETCL_TYPE_ID 298 - #define TAO_ETCL_REPOS_ID 299 - --#line 1 "ETCL.yy" -+//#line 1 "ETCL/ETCL.yy" - --// ETCL.yy,v 1.3 2002/01/14 19:52:28 parsons Exp -+// $Id$ - // ======================================================================== - // - // = LIBRARY -@@ -70,6 +71,7 @@ - #include "ETCL_Interpreter.h" - - extern int yylex (void); -+extern void yyflush_current_buffer (void); - - static void yyerror (const char *) - { -@@ -77,9 +79,6 @@ - // Ignore error messages - } - --#ifndef YYSTYPE --#define YYSTYPE int --#endif - #include - - #ifndef __cplusplus -@@ -293,8 +292,9 @@ - -1, -1, 29, 3, 4, 5, 6, 7, 8, -1, - -1, -1, -1, 40, 49, 50, 51, 52, 53, 54 - }; --/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ --#line 3 "/usr/local/share/bison.simple" -+/* -*-C-*- Note some compilers choke on comments on `//#line' lines. */ -+//#line 3 "/pkg/gnu/share/bison.simple" -+/* This file comes from bison-1.28. */ - - /* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. -@@ -311,46 +311,66 @@ - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software -- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -+ Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ - - /* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - --#ifndef alloca -+/* This is the parser code that is written into each bison parser -+ when the %semantic_parser declaration is not specified in the grammar. -+ It was written by Richard Stallman by simplifying the hairy parser -+ used when %semantic_parser is specified. */ -+ -+#ifndef YYSTACK_USE_ALLOCA -+#ifdef alloca -+#define YYSTACK_USE_ALLOCA -+#else /* alloca not defined */ - #ifdef __GNUC__ -+#define YYSTACK_USE_ALLOCA - #define alloca __builtin_alloca - #else /* not GNU C. */ --#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -+#define YYSTACK_USE_ALLOCA - #include - #else /* not sparc */ --#if defined (MSDOS) && !defined (__TURBOC__) -+/* We think this test detects Watcom and Microsoft C. */ -+/* This used to test MSDOS, but that is a bad idea -+ since that symbol is in the user namespace. */ -+#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -+#if 0 /* No need for malloc.h, which pollutes the namespace; -+ instead, just don't use alloca. */ - #include -+#endif - #else /* not MSDOS, or __TURBOC__ */ - #if defined(_AIX) --#include -+/* I don't know what this was needed for, but it pollutes the namespace. -+ So I turned it off. rms, 2 May 1997. */ -+/* #include */ - #pragma alloca --#else /* not MSDOS, __TURBOC__, or _AIX */ --#ifdef __hpux --#ifdef __cplusplus --extern "C" { --void *alloca (unsigned int); --}; --#else /* not __cplusplus */ --void *alloca (); --#endif /* not __cplusplus */ -+#define YYSTACK_USE_ALLOCA -+#else /* not MSDOS, or __TURBOC__, or _AIX */ -+#if 0 -+#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, -+ and on HPUX 10. Eventually we can turn this on. */ -+#define YYSTACK_USE_ALLOCA -+#define alloca __builtin_alloca - #endif /* __hpux */ -+#endif - #endif /* not _AIX */ - #endif /* not MSDOS, or __TURBOC__ */ --#endif /* not sparc. */ --#endif /* not GNU C. */ --#endif /* alloca not defined. */ -+#endif /* not sparc */ -+#endif /* not GNU C */ -+#endif /* alloca not defined */ -+#endif /* YYSTACK_USE_ALLOCA not defined */ - --/* This is the parser code that is written into each bison parser -- when the %semantic_parser declaration is not specified in the grammar. -- It was written by Richard Stallman by simplifying the hairy parser -- used when %semantic_parser is specified. */ -+#ifdef YYSTACK_USE_ALLOCA -+#define YYSTACK_ALLOC alloca -+#else -+#define YYSTACK_ALLOC malloc -+#endif - - /* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action -@@ -360,8 +380,8 @@ - #define yyclearin (yychar = YYEMPTY) - #define YYEMPTY -2 - #define YYEOF 0 --#define YYACCEPT return(0) --#define YYABORT return(1) -+#define YYACCEPT goto yyacceptlab -+#define YYABORT goto yyabortlab - #define YYERROR goto yyerrlab1 - /* Like YYERROR except do call yyerror. - This remains here temporarily to ease the -@@ -411,6 +431,10 @@ - int yychar; /* the lookahead symbol */ - YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ -+YYSTYPE yyval; /* the variable used to return */ -+ /* semantic values from the action */ -+ /* routines */ -+ - - #ifdef YYLSP_NEEDED - YYLTYPE yylloc; /* location data for the lookahead */ -@@ -443,11 +467,11 @@ - #define YYMAXDEPTH 10000 - #endif - --/* Prevent warning if -Wstrict-prototypes. */ --#ifdef __GNUC__ --int yyparse (void); --#endif -- -+/* Define __yy_memcpy. Note that the size argument -+ should be passed with type unsigned int, because that is what the non-GCC -+ definitions require. With GCC, __builtin_memcpy takes an arg -+ of type size_t, but it can handle unsigned int. */ -+ - #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ - #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) - #else /* not GNU C or C++ */ -@@ -459,7 +483,7 @@ - __yy_memcpy (to, from, count) - char *to; - char *from; -- int count; -+ unsigned int count; - { - register char *f = from; - register char *t = to; -@@ -474,10 +498,10 @@ - /* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ - static void --__yy_memcpy (char *to, char *from, int count) -+__yy_memcpy (char *to, char *from, unsigned int count) - { -- register char *f = from; - register char *t = to; -+ register char *f = from; - register int i = count; - - while (i-- > 0) -@@ -486,8 +510,8 @@ - - #endif - #endif -- --#line 196 "/usr/local/share/bison.simple" -+ -+//#line 217 "/pkg/gnu/share/bison.simple" - - /* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. -@@ -508,6 +532,15 @@ - #define YYPARSE_PARAM_DECL - #endif /* not YYPARSE_PARAM */ - -+/* Prevent warning if -Wstrict-prototypes. */ -+#ifdef __GNUC__ -+#ifdef YYPARSE_PARAM -+int yyparse (void *); -+#else -+int yyparse (void); -+#endif -+#endif -+ - int - yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -@@ -536,6 +569,7 @@ - #endif - - int yystacksize = YYINITDEPTH; -+ int yyfree_stacks = 0; - - #ifdef YYPURE - int yychar; -@@ -546,10 +580,6 @@ - #endif - #endif - -- YYSTYPE yyval; /* the variable used to return */ -- /* semantic values from the action */ -- /* routines */ -- - int yylen; - - #if YYDEBUG != 0 -@@ -620,18 +650,32 @@ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); -+ if (yyfree_stacks) -+ { -+ free (yyss); -+ free (yyvs); -+#ifdef YYLSP_NEEDED -+ free (yyls); -+#endif -+ } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -- yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); -- __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); -- yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); -- __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); -+#ifndef YYSTACK_USE_ALLOCA -+ yyfree_stacks = 1; -+#endif -+ yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); -+ __yy_memcpy ((char *)yyss, (char *)yyss1, -+ size * (unsigned int) sizeof (*yyssp)); -+ yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); -+ __yy_memcpy ((char *)yyvs, (char *)yyvs1, -+ size * (unsigned int) sizeof (*yyvsp)); - #ifdef YYLSP_NEEDED -- yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); -- __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); -+ yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); -+ __yy_memcpy ((char *)yyls, (char *)yyls1, -+ size * (unsigned int) sizeof (*yylsp)); - #endif - #endif /* no yyoverflow */ - -@@ -792,225 +836,225 @@ - switch (yyn) { - - case 3: --#line 97 "ETCL.yy" -+//#line 97 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_MIN, yyvsp[0].constraint); ; - break;} - case 4: --#line 99 "ETCL.yy" -+//#line 99 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_MAX, yyvsp[0].constraint); ; - break;} - case 5: --#line 101 "ETCL.yy" -+//#line 101 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_WITH, yyvsp[0].constraint); ; - break;} - case 6: --#line 103 "ETCL.yy" -+//#line 103 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_FIRST); ; - break;} - case 7: --#line 105 "ETCL.yy" -+//#line 105 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Preference (TAO_ETCL_RANDOM); ; - break;} - case 8: --#line 109 "ETCL.yy" -+//#line 109 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_OR, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 10: --#line 114 "ETCL.yy" -+//#line 114 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_AND, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 12: --#line 119 "ETCL.yy" -+//#line 119 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_EQ, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 13: --#line 121 "ETCL.yy" -+//#line 121 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_NE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 14: --#line 123 "ETCL.yy" -+//#line 123 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_GT, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 15: --#line 125 "ETCL.yy" -+//#line 125 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_GE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 16: --#line 127 "ETCL.yy" -+//#line 127 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_LT, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 17: --#line 129 "ETCL.yy" -+//#line 129 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_LE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 19: --#line 134 "ETCL.yy" -+//#line 134 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_IN, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 20: --#line 136 "ETCL.yy" -+//#line 136 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_IN, yyvsp[-3].constraint, yyvsp[0].constraint); ; - break;} - case 22: --#line 141 "ETCL.yy" -+//#line 141 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_TWIDDLE, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 24: --#line 146 "ETCL.yy" -+//#line 146 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_PLUS, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 25: --#line 148 "ETCL.yy" -+//#line 148 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_MINUS, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 27: --#line 153 "ETCL.yy" -+//#line 153 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_MULT, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 28: --#line 155 "ETCL.yy" -+//#line 155 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Binary_Expr (TAO_ETCL_DIV, yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 30: --#line 160 "ETCL.yy" -+//#line 160 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_NOT, yyvsp[0].constraint); ; - break;} - case 32: --#line 165 "ETCL.yy" -+//#line 165 "ETCL/ETCL.yy" - { yyval.constraint = yyvsp[-1].constraint; ; - break;} - case 33: --#line 167 "ETCL.yy" -+//#line 167 "ETCL/ETCL.yy" - { yyval.constraint = yyvsp[0].constraint; ; - break;} - case 34: --#line 169 "ETCL.yy" -+//#line 169 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_PLUS, yyvsp[0].constraint); ; - break;} - case 35: --#line 171 "ETCL.yy" -+//#line 171 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_MINUS, yyvsp[0].constraint); ; - break;} - case 36: --#line 173 "ETCL.yy" -+//#line 173 "ETCL/ETCL.yy" - { yyval.constraint = yyvsp[0].constraint; ; - break;} - case 37: --#line 175 "ETCL.yy" -+//#line 175 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_PLUS, yyvsp[0].constraint); ; - break;} - case 38: --#line 177 "ETCL.yy" -+//#line 177 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Unary_Expr (TAO_ETCL_MINUS, yyvsp[0].constraint); ; - break;} - case 39: --#line 179 "ETCL.yy" -+//#line 179 "ETCL/ETCL.yy" - { yyval.constraint = yyvsp[0].constraint; ; - break;} - case 40: --#line 181 "ETCL.yy" -+//#line 181 "ETCL/ETCL.yy" - { yyval.constraint = yyvsp[0].constraint; ; - break;} - case 41: --#line 183 "ETCL.yy" -+//#line 183 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Exist (yyvsp[0].constraint); ; - break;} - case 42: --#line 185 "ETCL.yy" -+//#line 185 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Exist (yyvsp[0].constraint); ; - break;} - case 43: --#line 187 "ETCL.yy" -+//#line 187 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Default (yyvsp[0].constraint); ; - break;} - case 44: --#line 189 "ETCL.yy" -+//#line 189 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Eval (yyvsp[0].constraint); ; - break;} - case 45: --#line 191 "ETCL.yy" -+//#line 191 "ETCL/ETCL.yy" - { yyval.constraint = yyvsp[0].constraint; ; - break;} - case 46: --#line 195 "ETCL.yy" -+//#line 195 "ETCL/ETCL.yy" - { yyval.constraint = 0; ; - break;} - case 47: --#line 197 "ETCL.yy" -+//#line 197 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Dot (yyvsp[0].constraint); ; - break;} - case 48: --#line 200 "ETCL.yy" -+//#line 200 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Component (yyvsp[-1].constraint, yyvsp[0].constraint); ; - break;} - case 51: --#line 207 "ETCL.yy" -+//#line 207 "ETCL/ETCL.yy" - { yyval.constraint = 0; ; - break;} - case 52: --#line 209 "ETCL.yy" -+//#line 209 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Dot (yyvsp[0].constraint); ; - break;} - case 55: --#line 216 "ETCL.yy" -+//#line 216 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Component (yyvsp[-1].constraint, yyvsp[0].constraint); ; - break;} - case 56: --#line 218 "ETCL.yy" -+//#line 218 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_LENGTH); ; - break;} - case 57: --#line 220 "ETCL.yy" -+//#line 220 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_DISCRIMINANT); ; - break;} - case 58: --#line 222 "ETCL.yy" -+//#line 222 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_TYPE_ID); ; - break;} - case 59: --#line 224 "ETCL.yy" -+//#line 224 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Special (TAO_ETCL_REPOS_ID); ; - break;} - case 62: --#line 230 "ETCL.yy" -+//#line 230 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Component_Array (yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 63: --#line 234 "ETCL.yy" -+//#line 234 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Component_Assoc (yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 64: --#line 238 "ETCL.yy" -+//#line 238 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Component_Pos (yyvsp[-1].constraint, yyvsp[0].constraint); ; - break;} - case 65: --#line 242 "ETCL.yy" -+//#line 242 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Union_Pos (yyvsp[-2].constraint, yyvsp[0].constraint); ; - break;} - case 66: --#line 246 "ETCL.yy" -+//#line 246 "ETCL/ETCL.yy" - { yyval.constraint = 0; ; - break;} - case 67: --#line 248 "ETCL.yy" -+//#line 248 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Union_Value (+1, yyvsp[0].constraint); ; - break;} - case 68: --#line 250 "ETCL.yy" -+//#line 250 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Union_Value (+1, yyvsp[0].constraint); ; - break;} - case 69: --#line 252 "ETCL.yy" -+//#line 252 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Union_Value (-1, yyvsp[0].constraint); ; - break;} - case 70: --#line 254 "ETCL.yy" -+//#line 254 "ETCL/ETCL.yy" - { yyval.constraint = new TAO_ETCL_Union_Value (yyvsp[0].constraint); ; - break;} - } - /* the action file gets copied in in place of this dollarsign */ --#line 498 "/usr/local/share/bison.simple" -- -+//#line 543 "/pkg/gnu/share/bison.simple" -+ - yyvsp -= yylen; - yyssp -= yylen; - #ifdef YYLSP_NEEDED -@@ -1204,7 +1248,37 @@ - - yystate = yyn; - goto yynewstate; -+ -+ yyacceptlab: -+ /* YYACCEPT comes here. */ -+ if (yyfree_stacks) -+ { -+ free (yyss); -+ free (yyvs); -+#ifdef YYLSP_NEEDED -+ free (yyls); -+#endif -+ } -+ return 0; -+ -+ yyabortlab: -+ /* YYABORT comes here. */ -+ -+ /* Flush out yy_current_buffer before next parse. Since there is -+ no error recovery, the buffer could still contain tokens from this -+ parse. */ -+ yyflush_current_buffer(); -+ -+ if (yyfree_stacks) -+ { -+ free (yyss); -+ free (yyvs); -+#ifdef YYLSP_NEEDED -+ free (yyls); -+#endif -+ } -+ return 1; - } --#line 257 "ETCL.yy" -+//#line 257 "ETCL/ETCL.yy" - - diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h deleted file mode 100644 index ce37c579583..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h +++ /dev/null @@ -1,45 +0,0 @@ -// $Id$ -#define TAO_ETCL_GT 257 -#define TAO_ETCL_GE 258 -#define TAO_ETCL_LT 259 -#define TAO_ETCL_LE 260 -#define TAO_ETCL_EQ 261 -#define TAO_ETCL_NE 262 -#define TAO_ETCL_EXIST 263 -#define TAO_ETCL_DEFAULT 264 -#define TAO_ETCL_AND 265 -#define TAO_ETCL_OR 266 -#define TAO_ETCL_NOT 267 -#define TAO_ETCL_IN 268 -#define TAO_ETCL_TWIDDLE 269 -#define TAO_ETCL_BOOLEAN 270 -#define TAO_ETCL_PLUS 271 -#define TAO_ETCL_MINUS 272 -#define TAO_ETCL_MULT 273 -#define TAO_ETCL_DIV 274 -#define TAO_ETCL_UMINUS 275 -#define TAO_ETCL_INTEGER 276 -#define TAO_ETCL_FLOAT 277 -#define TAO_ETCL_STRING 278 -#define TAO_ETCL_RPAREN 279 -#define TAO_ETCL_LPAREN 280 -#define TAO_ETCL_RBRA 281 -#define TAO_ETCL_LBRA 282 -#define TAO_ETCL_IDENT 283 -#define TAO_ETCL_UNSIGNED 284 -#define TAO_ETCL_SIGNED 285 -#define TAO_ETCL_DOUBLE 286 -#define TAO_ETCL_CONSTRAINT 287 -#define TAO_ETCL_COMPONENT 288 -#define TAO_ETCL_WITH 289 -#define TAO_ETCL_MAX 290 -#define TAO_ETCL_MIN 291 -#define TAO_ETCL_FIRST 292 -#define TAO_ETCL_RANDOM 293 -#define TAO_ETCL_DOLLAR 294 -#define TAO_ETCL_DOT 295 -#define TAO_ETCL_DISCRIMINANT 296 -#define TAO_ETCL_LENGTH 297 -#define TAO_ETCL_TYPE_ID 298 -#define TAO_ETCL_REPOS_ID 299 - diff --git a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff b/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff deleted file mode 100644 index 85acf912763..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- ETCL_y.h Mon Nov 12 16:07:25 2001 -+++ ETCL_y.h.safe Thu Oct 11 20:53:13 2001 -@@ -1,7 +1,4 @@ - // $Id$ --#ifndef YYSTYPE --#define YYSTYPE int --#endif - #define TAO_ETCL_GT 257 - #define TAO_ETCL_GE 258 - #define TAO_ETCL_LT 259 -@@ -33,7 +30,7 @@ - #define TAO_ETCL_SIGNED 285 - #define TAO_ETCL_DOUBLE 286 - #define TAO_ETCL_CONSTRAINT 287 --#define TAO_ETCL_SEQUENCE 288 -+#define TAO_ETCL_COMPONENT 288 - #define TAO_ETCL_WITH 289 - #define TAO_ETCL_MAX 290 - #define TAO_ETCL_MIN 291 -@@ -46,5 +43,3 @@ - #define TAO_ETCL_TYPE_ID 298 - #define TAO_ETCL_REPOS_ID 299 - -- --extern YYSTYPE yylval; diff --git a/TAO/orbsvcs/orbsvcs/ETCL/README b/TAO/orbsvcs/orbsvcs/ETCL/README deleted file mode 100644 index dca67871f74..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/README +++ /dev/null @@ -1,12 +0,0 @@ -# $Id$ -# -# Implement an "Extended Trader Constraint Language" parser. -# This language was defined as part of the Notification Service -# [give URL] to define filtering constraints. It is in fact an -# extension on the "Trader Constraint Language", using in the Trading -# Service [URL] to constraint on user queries. -# -# Other services use the same language, including the Logging Service, -# parts of the Fault Tolerance services and (in the future) TAO's -# Real-time Event Service. -# diff --git a/TAO/orbsvcs/orbsvcs/ETCL/etcl_export.h b/TAO/orbsvcs/orbsvcs/ETCL/etcl_export.h deleted file mode 100644 index 5f78b57d789..00000000000 --- a/TAO/orbsvcs/orbsvcs/ETCL/etcl_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_ETCL_EXPORT_H -#define TAO_ETCL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_ETCL_HAS_DLL) -# define TAO_ETCL_HAS_DLL 0 -# endif /* ! TAO_ETCL_HAS_DLL */ -#else -# if !defined (TAO_ETCL_HAS_DLL) -# define TAO_ETCL_HAS_DLL 1 -# endif /* ! TAO_ETCL_HAS_DLL */ -#endif - -#if defined (TAO_ETCL_HAS_DLL) && (TAO_ETCL_HAS_DLL == 1) -# if defined (TAO_ETCL_BUILD_DLL) -# define TAO_ETCL_Export ACE_Proper_Export_Flag -# define TAO_ETCL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_ETCL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_ETCL_BUILD_DLL */ -# define TAO_ETCL_Export ACE_Proper_Import_Flag -# define TAO_ETCL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_ETCL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_ETCL_BUILD_DLL */ -#else /* TAO_ETCL_HAS_DLL == 1 */ -# define TAO_ETCL_Export -# define TAO_ETCL_SINGLETON_DECLARATION(T) -# define TAO_ETCL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_ETCL_HAS_DLL == 1 */ - -#endif /* TAO_ETCL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.cpp deleted file mode 100644 index 8813fee591c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_Adapters.h" - -ACE_RCSID (Event, - ECG_Adapters, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Handler_Shutdown::~TAO_ECG_Handler_Shutdown (void) -{ -} - -TAO_ECG_Dgram_Handler::~TAO_ECG_Dgram_Handler (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.h deleted file mode 100644 index 8c79e6415f6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Adapters.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Adapters.h - * - * $Id$ - * - * @author Marina Spivak - * - * Define interfaces ECG Receivers and Mcast and UDP handlers can use - * to communicate with each other. - * Use of these interfaces eliminates the coupling of specific - * Receivers on specific handlers, and vice versa. - * - */ -#ifndef TAO_ECG_ADAPTERS_H -#define TAO_ECG_ADAPTERS_H -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/RtecUDPAdminC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Refcounted_Auto_Ptr.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_SOCK_Dgram; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Handler_Shutdown - * - * @brief Interface that should be implemented - * by multicast and udp handlers in EC gateways, so the - * handlers can be notified of shutdown (usually by Event Receivers). - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Handler_Shutdown -{ -public: - - // Define virtual destructor to make sure we can delete derived - // objects through a pointer to TAO_ECG_Handler_Shutdown. - virtual ~TAO_ECG_Handler_Shutdown (void); - virtual int shutdown (void) = 0; -}; - -/** - * @class TAO_ECG_Dgram_Handler - * - * @brief Interface used by mcast/udp handlers to notify interested - * components (usually Event Receivers) that there is data - * available on the dgram for reading, and to query them about - * event type to mcast group mappings. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Dgram_Handler -{ -public: - - virtual ~TAO_ECG_Dgram_Handler (void); - - virtual int handle_input (ACE_SOCK_Dgram& dgram) = 0; - - virtual void get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL) = 0; -}; - -typedef ACE_Refcounted_Auto_Ptr TAO_ECG_Refcounted_Handler; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_ADAPTERS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.h deleted file mode 100644 index 2490b33d051..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.h +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- -/** - * @file ECG_Address_Server_Base.h - * - * $Id$ - * - * @author Marina Spivak (marina@atdesk.com) - * - */ - -#ifndef TAO_ECG_ADDRESS_SERVER_BASE_H -#define TAO_ECG_ADDRESS_SERVER_BASE_H -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/RtecUDPAdminS.h" -#include "orbsvcs/Event/EC_Lifetime_Utils.h" -#include "ace/Auto_Ptr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Address_Server_Base - * - * @brief All implementations of RtecUDPAdmin::AddrServer idl - * interface should inherit from this abstract base. - * - * Adds init () virtual method so that all AddrServer implementations can be - * initialized in the same fasion. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Address_Server_Base - : public virtual POA_RtecUDPAdmin::AddrServer -{ -public: - - virtual int init (const char *arg) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_ADDRESS_SERVER_BASE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp deleted file mode 100644 index faf377fd386..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp +++ /dev/null @@ -1,608 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_CDR_Message_Receiver.h" -#include "orbsvcs/Event/ECG_CDR_Message_Sender.h" - -#include "tao/Exception.h" - -#include "ace/SOCK_Dgram.h" -#include "ace/ACE.h" -#include "ace/OS_NS_string.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_CDR_Message_Receiver.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - ECG_CDR_Message_Receiver, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_CDR_Processor::~TAO_ECG_CDR_Processor (void) -{ -} -// **************************************************************** - -TAO_ECG_UDP_Request_Entry::~TAO_ECG_UDP_Request_Entry (void) -{ - if (this->own_received_fragments_) - { - this->own_received_fragments_ = 0; - delete[] this->received_fragments_; - } -} - -TAO_ECG_UDP_Request_Entry:: -TAO_ECG_UDP_Request_Entry (CORBA::Boolean byte_order, - CORBA::ULong request_id, - CORBA::ULong request_size, - CORBA::ULong fragment_count) - : byte_order_ (byte_order) - , request_id_ (request_id) - , request_size_ (request_size) - , fragment_count_ (fragment_count) -{ - ACE_CDR::grow (&this->payload_, this->request_size_); - this->payload_.wr_ptr (request_size_); - - this->received_fragments_ = this->default_received_fragments_; - this->own_received_fragments_ = 0; - const int bits_per_ulong = sizeof(CORBA::ULong) * CHAR_BIT; - this->received_fragments_size_ = - this->fragment_count_ / bits_per_ulong + 1; - if (this->received_fragments_size_ > ECG_DEFAULT_FRAGMENT_BUFSIZ) - { - ACE_NEW (this->received_fragments_, - CORBA::ULong[this->received_fragments_size_]); - this->own_received_fragments_ = 1; - } - - for (CORBA::ULong i = 0; i < this->received_fragments_size_; ++i) - this->received_fragments_[i] = 0; - CORBA::ULong idx = this->fragment_count_ / bits_per_ulong; - CORBA::ULong bit = this->fragment_count_ % bits_per_ulong; - this->received_fragments_[idx] = (0xFFFFFFFF << bit); -} - -int -TAO_ECG_UDP_Request_Entry::validate_fragment (CORBA::Boolean byte_order, - CORBA::ULong request_size, - CORBA::ULong fragment_size, - CORBA::ULong fragment_offset, - CORBA::ULong /* fragment_id */, - CORBA::ULong fragment_count) const -{ - if (byte_order != this->byte_order_ - || request_size != this->request_size_ - || fragment_count != this->fragment_count_) - return 0; - - if (fragment_offset >= request_size - || fragment_offset + fragment_size > request_size) - return 0; - - return 1; -} - -int -TAO_ECG_UDP_Request_Entry::test_received (CORBA::ULong fragment_id) const -{ - // Assume out-of-range fragments as received, so they are dropped... - if (fragment_id > this->fragment_count_) - return 1; - - const int bits_per_ulong = sizeof(CORBA::ULong) * CHAR_BIT; - CORBA::ULong idx = fragment_id / bits_per_ulong; - CORBA::ULong bit = fragment_id % bits_per_ulong; - return ACE_BIT_ENABLED (this->received_fragments_[idx], 1< this->fragment_count_) - return; - - const int bits_per_ulong = sizeof(CORBA::ULong) * CHAR_BIT; - CORBA::ULong idx = fragment_id / bits_per_ulong; - CORBA::ULong bit = fragment_id % bits_per_ulong; - ACE_SET_BITS (this->received_fragments_[idx], 1<received_fragments_size_; - ++i) - { - if (this->received_fragments_[i] != 0xFFFFFFFF) - return 0; - } - return 1; -} - -char* -TAO_ECG_UDP_Request_Entry::fragment_buffer (CORBA::ULong fragment_offset) -{ - return this->payload_.rd_ptr () + fragment_offset; -} -// **************************************************************** - -int -TAO_ECG_CDR_Message_Receiver::Requests::init (size_t size, - size_t min_purge_count) -{ - // Already initialized. - if (this->fragmented_requests_) - return -1; - - ACE_NEW_RETURN (this->fragmented_requests_, - TAO_ECG_UDP_Request_Entry*[size], - -1); - - this->size_ = size; - this->id_range_low_ = 0; - this->id_range_high_ = size - 1; - this->min_purge_count_ = min_purge_count; - - for (size_t i = 0; i < size; ++i) - { - this->fragmented_requests_[i] = 0; - } - - return 0; -} - -TAO_ECG_CDR_Message_Receiver::Requests::~Requests (void) -{ - for (size_t i = 0; i < this->size_; ++i) - { - TAO_ECG_UDP_Request_Entry* request = - this->fragmented_requests_[i]; - - if (request != &TAO_ECG_CDR_Message_Receiver::Request_Completed_) - delete request; - } - - delete [] this->fragmented_requests_; - - this->fragmented_requests_ = 0; - this->size_ = 0; - this->id_range_low_ = 0; - this->id_range_high_ = 0; -} - -TAO_ECG_UDP_Request_Entry ** -TAO_ECG_CDR_Message_Receiver::Requests::get_request (CORBA::ULong request_id) -{ - if (request_id < this->id_range_low_) - // is below the current range. - { - return 0; - } - - if (request_id > this->id_range_high_) - // is above the current range - need to shift the range - // to include it. - { - CORBA::ULong new_slots_needed = request_id - this->id_range_high_; - - if (new_slots_needed < this->min_purge_count_) - new_slots_needed = this->min_purge_count_; - - if (new_slots_needed > this->size_) - // Shifting the range by more than the size of array. - { - this->purge_requests (this->id_range_low_, this->id_range_high_); - this->id_range_high_ = request_id; - this->id_range_low_ = request_id - this->size_ + 1; - } - else - { - this->purge_requests (this->id_range_low_, - this->id_range_low_ + new_slots_needed - 1); - this->id_range_high_ += new_slots_needed; - this->id_range_low_ += new_slots_needed; - } - } - - // Return array location for . - int index = request_id % this->size_; - return this->fragmented_requests_ + index; -} - - -void -TAO_ECG_CDR_Message_Receiver::Requests::purge_requests ( - CORBA::ULong purge_first, - CORBA::ULong purge_last) -{ - for (CORBA::ULong i = purge_first; i <= purge_last; ++i) - { - size_t index = i % this->size_; - if (this->fragmented_requests_[index] - != &TAO_ECG_CDR_Message_Receiver::Request_Completed_) - { - delete this->fragmented_requests_[index]; - } - this->fragmented_requests_[index] = 0; - } -} - -// **************************************************************** - -TAO_ECG_UDP_Request_Entry -TAO_ECG_CDR_Message_Receiver::Request_Completed_ (0, 0, 0, 0); - -int -TAO_ECG_CDR_Message_Receiver::handle_input ( - ACE_SOCK_Dgram& dgram, - TAO_ECG_CDR_Processor *cdr_processor) -{ - char nonaligned_header[TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE - + ACE_CDR::MAX_ALIGNMENT]; - char *header_buf = ACE_ptr_align_binary (nonaligned_header, - ACE_CDR::MAX_ALIGNMENT); - - char nonaligned_data[ACE_MAX_DGRAM_SIZE + ACE_CDR::MAX_ALIGNMENT]; - char *data_buf = ACE_ptr_align_binary (nonaligned_data, - ACE_CDR::MAX_ALIGNMENT); - - // Read the message from dgram. - - const int iovcnt = 2; - iovec iov[iovcnt]; - iov[0].iov_base = header_buf; - iov[0].iov_len = TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE; - iov[1].iov_base = data_buf; - iov[1].iov_len = ACE_MAX_DGRAM_SIZE; - - ACE_INET_Addr from; - ssize_t n = dgram.recv (iov, iovcnt, from); - - if (n == -1) - { - if (errno == EWOULDBLOCK) - return 0; - - ACE_ERROR_RETURN ((LM_ERROR, "Error reading mcast fragment (%m).\n"), - -1); - } - - if (n == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "Trying to read mcast fragment: " - "read 0 bytes from socket.\n"), - 0); - } - - if (n < TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE) - { - ACE_ERROR_RETURN ((LM_ERROR, "Trying to read mcast fragment: " - "# of bytes read < mcast header size.\n"), - -1); - } - - u_int crc = 0; - - if (this->check_crc_) - { - iov[1].iov_len = n - iov[0].iov_len; - iov[0].iov_len -= 4; // don't include crc - - crc = ACE::crc32 (iov, 2); - } - // Check whether the message is a loopback message. - if (this->ignore_from_.get () != 0 - && this->ignore_from_->is_loopback (from)) - { - return 0; - } - - // Decode and validate mcast header. - Mcast_Header header; - if (header.read (header_buf, n, this->check_crc_) == -1) - return -1; - - if ( this->check_crc_ && header.crc != crc) - { - static unsigned int err_count = 0; - ACE_ERROR ((LM_DEBUG, - "******************************\n")); - - ACE_ERROR ((LM_DEBUG, - "ERROR DETECTED \n")); - - if (crc == 0) - { - ACE_ERROR ((LM_DEBUG, - "Sending process may not have computed CRC \n")); - } - else - { - ACE_ERROR ((LM_DEBUG, - " NETWORK CRC CHECKSUM FAILED\n")); - } - - ACE_ERROR ((LM_ERROR, - "Message was received from [%s:%s:%d] \n", - from.get_host_name (), - from.get_host_addr (), - from.get_port_number())); - - ACE_ERROR ((LM_ERROR, - "Num errors = %d \n", - ++err_count)); - ACE_ERROR ((LM_ERROR, - "This is a bad thing. Attempting to ignore ..\n")); - - return 0; - } - - // Process received data. - if (header.fragment_count == 1) - { - // Update to mark this request as completed. (Not - // needed if we don't care about duplicates.) - int result = this->mark_received (from, header.request_id); - if (result != 1) - return result; - - TAO_InputCDR cdr (data_buf, header.request_size, header.byte_order); - if (cdr_processor->decode (cdr) == -1) - return -1; - else - return 1; - } - - return this->process_fragment (from, header, data_buf, cdr_processor); -} - -int -TAO_ECG_CDR_Message_Receiver::mark_received (const ACE_INET_Addr &from, - CORBA::ULong request_id) -{ - // ACE_GUARD_RETURN (ACE_Lock, guard, *this->lock_, -1); - - Request_Map::ENTRY * entry = this->get_source_entry (from); - if (!entry) - return -1; - - TAO_ECG_UDP_Request_Entry ** request = - entry->int_id_->get_request (request_id); - - if (request == 0) - { - ACE_DEBUG ((LM_WARNING, "Received mcast request with sequence" - "below currently expected range.\n")); - return 0; - } - if (*request == &Request_Completed_) - { - ACE_DEBUG ((LM_INFO, "Received duplicate mcast fragment. " - "(Request already complete).\n")); - return 0; - } - if (*request != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "Inconsistent fragments for " - "mcast request.\n"), - -1); - } - - *request = &Request_Completed_; - return 1; -} - -int -TAO_ECG_CDR_Message_Receiver::process_fragment ( - const ACE_INET_Addr &from, - const Mcast_Header &header, - char * data_buf, - TAO_ECG_CDR_Processor *cdr_processor) -{ - // ACE_GUARD_RETURN (ACE_Lock, guard, *this->lock_, -1); - - Request_Map::ENTRY * source_entry = this->get_source_entry (from); - if (!source_entry) - return -1; - - TAO_ECG_UDP_Request_Entry ** request = - source_entry->int_id_->get_request (header.request_id); - - if (request == 0) - { - ACE_DEBUG ((LM_WARNING, "Received mcast request with sequence " - "below currently expected range.\n")); - return 0; - } - if (*request == &Request_Completed_) - { - ACE_DEBUG ((LM_INFO, "Received duplicate mcast fragment. " - "(Request already complete).\n")); - return 0; - } - if (*request == 0) - // Entry for this request has not yet been allocated. - { - ACE_NEW_RETURN (*request, - TAO_ECG_UDP_Request_Entry (header.byte_order, - header.request_id, - header.request_size, - header.fragment_count), - -1); - } - - // Validate the fragment. - if ((*request)->validate_fragment (header.byte_order, - header.request_size, - header.fragment_size, - header.fragment_offset, - header.fragment_id, - header.fragment_count) == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Received invalid mcast fragment.\n"), - -1); - } - - // Check whether this fragment was already received. - if ((*request)->test_received (header.fragment_id) == 1) - { - ACE_DEBUG ((LM_INFO, "Received duplicate mcast fragment.\n")); - return 0; - } - - // Add the fragment to the request entry. - (*request)->mark_received (header.fragment_id); - ACE_OS::memcpy ((*request)->fragment_buffer (header.fragment_offset), - data_buf, - header.fragment_size); - - // The request is not yet complete. - if (!(*request)->complete ()) - { - return 0; - } - - // The request is complete - decode it. - TAO_InputCDR cdr ((*request)->fragment_buffer (0), - header.request_size, - header.byte_order); - - if (cdr_processor->decode (cdr) == -1) - return -1; - - delete *request; - *request = &Request_Completed_; - return 1; -} - -TAO_ECG_CDR_Message_Receiver::Request_Map::ENTRY* -TAO_ECG_CDR_Message_Receiver::get_source_entry (const ACE_INET_Addr &from) -{ - // Get the entry for from the . - Request_Map::ENTRY * entry; - - if (this->request_map_.find (from, entry) == -1) - { - // Create an entry if one doesn't exist. - Requests *requests = 0; - ACE_NEW_RETURN (requests, - Requests, - 0); - auto_ptr requests_aptr (requests); - - if (requests->init (this->max_requests_, this->min_purge_count_) == -1 - || this->request_map_.bind (from, requests, entry) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, "Unable to create hash map " - "entry for a new request.\n"), - 0); - } - requests_aptr.release (); - } - - return entry; -} - -void -TAO_ECG_CDR_Message_Receiver::shutdown (void) -{ - // ACE_GUARD (ACE_Lock, guard, *this->lock_); - - Request_Map::iterator end = this->request_map_.end (); - for (Request_Map::iterator i = this->request_map_.begin (); - i != end; - ++i) - { - delete (*i).int_id_; - (*i).int_id_ = 0; - } - - this->ignore_from_.reset (); -} - -// **************************************************************** -int -TAO_ECG_CDR_Message_Receiver::Mcast_Header::read (char *header, - size_t bytes_received, - CORBA::Boolean checkcrc) -{ - // Decode. - this->byte_order = header[0]; - if(this->byte_order != 0 && this->byte_order != 1) - { - ACE_ERROR_RETURN ((LM_ERROR, "Reading mcast packet header: byte " - "order is neither 0 nor 1, it is %d.\n", - this->byte_order), - -1); - } - - TAO_InputCDR header_cdr (header, - TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE, - byte_order); - CORBA::Boolean unused; - CORBA::Octet a, b, c; - if (!header_cdr.read_boolean (unused) - || !header_cdr.read_octet (a) - || !header_cdr.read_octet (b) - || !header_cdr.read_octet (c) - || a != 'A' || b != 'B' || c != 'C') - { - ACE_ERROR_RETURN ((LM_ERROR, "Error reading magic bytes " - "in mcast packet header.\n"), - -1); - } - - if (!header_cdr.read_ulong (this->request_id) - || !header_cdr.read_ulong (this->request_size) - || !header_cdr.read_ulong (this->fragment_size) - || !header_cdr.read_ulong (this->fragment_offset) - || !header_cdr.read_ulong (this->fragment_id) - || !header_cdr.read_ulong (this->fragment_count)) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Error decoding mcast packet header.\n"), - -1); - } - - if (checkcrc) - { - CORBA::Octet padding[4]; - header_cdr.read_octet_array (padding, 4); - - unsigned char *crcparts = (unsigned char *)(&this->crc); - - for (int cnt=0; cnt != 4; ++cnt) - { - crcparts[cnt] = padding[cnt]; - } - - this->crc = ntohl (this->crc); - } - - // Validate. - size_t data_bytes_received = - bytes_received - TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE; - - if (this->request_size < this->fragment_size - || this->fragment_offset >= this->request_size - || this->fragment_id >= this->fragment_count - || (this->fragment_count == 1 - && (this->fragment_size != this->request_size - || this->request_size != data_bytes_received))) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Invalid mcast fragment: " - "inconsistent header fields.\n"), - -1); - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.h b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.h deleted file mode 100644 index 8159a4e2f15..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.h +++ /dev/null @@ -1,318 +0,0 @@ -// -*- C++ -*- -/** - * @file ECG_CDR_Message_Receiver.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - */ - -#ifndef TAO_ECG_CDR_MESSAGE_RECEIVER_H -#define TAO_ECG_CDR_MESSAGE_RECEIVER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/ECG_UDP_Out_Endpoint.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/CDR.h" -#include "tao/Environment.h" - -#include "ace/Hash_Map_Manager.h" -#include "ace/INET_Addr.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_CDR_Processor - * - * @brief Interface for callback objects used by - * TAO_ECG_CDR_Message_Receiver to propagate received data to - * its callers. - */ -class TAO_ECG_CDR_Processor -{ -public: - virtual ~TAO_ECG_CDR_Processor (void); - - /// Extracts data from . Returns 0 on success, -1 on error. - virtual int decode (TAO_InputCDR &cdr) = 0; -}; - -// **************************************************************** -/** - * @class TAO_ECG_UDP_Request_Entry - * - * @brief Keeps information about an incomplete request. - * - * When a request arrives in fragments this object is used to - * keep track of the incoming data. - */ -class TAO_ECG_UDP_Request_Entry -{ -public: - enum { - ECG_DEFAULT_FRAGMENT_BUFSIZ = 8 - }; - - /// Initialize the fragment, allocating memory, etc. - TAO_ECG_UDP_Request_Entry (CORBA::Boolean byte_order, - CORBA::ULong request_id, - CORBA::ULong request_size, - CORBA::ULong fragment_count); - - ~TAO_ECG_UDP_Request_Entry (void); - - /// Validate a fragment, it should be rejected if it is invalid.. - int validate_fragment (CORBA::Boolean byte_order, - CORBA::ULong request_size, - CORBA::ULong fragment_size, - CORBA::ULong fragment_offset, - CORBA::ULong fragment_id, - CORBA::ULong fragment_count) const; - - /// Has @a fragment_id been received? - int test_received (CORBA::ULong fragment_id) const; - - /// Mark @a fragment_id as received, reset timeout counter... - void mark_received (CORBA::ULong fragment_id); - - /// Is the message complete? - int complete (void) const; - - /// Return a buffer for the fragment at offset @a fragment_offset - char* fragment_buffer (CORBA::ULong fragment_offset); - -private: - - TAO_ECG_UDP_Request_Entry (const TAO_ECG_UDP_Request_Entry & rhs); - TAO_ECG_UDP_Request_Entry& operator= (const TAO_ECG_UDP_Request_Entry & rhs); - -private: - /// This attributes should remain constant in all the fragments, used - /// for validation.... - CORBA::Boolean byte_order_; - CORBA::ULong request_id_; - CORBA::ULong request_size_; - CORBA::ULong fragment_count_; - - ACE_Message_Block payload_; - - /// This is a bit vector, used to keep track of the received buffers. - CORBA::ULong* received_fragments_; - int own_received_fragments_; - CORBA::ULong received_fragments_size_; - CORBA::ULong default_received_fragments_[ECG_DEFAULT_FRAGMENT_BUFSIZ]; -}; - -// **************************************************************** - -/** - * @class TAO_ECG_CDR_Message_Receiver - * - * @brief Receives UDP and Multicast messages. - * - * @todo Update class documentation below. - * - * 5) Make status array size and purge_count configurable. - * - * This class receives UDP and Multicast message fragments, assembles - * them (described in detail below), and passes complete messages - * in the form of cdr streams to the calling classes. - * - * This class is used by various Gateway classes (Senders/Receivers) - * responsible for federating Event Channels with UDP/Mcast. - * - * = REASSEMBLY - * Fragmentation is described in ECG_CDR_Message_Sender.h - * Whenever an incomplete fragment is received (one with - * fragment_count > 1) we allocate an entry for the message in an - * map indexed by (host,port,request_id). The entry contains the - * buffer, a bit vector to keep track of the fragments received - * so far, and a timeout counter. This timeout counter is set to - * 0 on each (new) fragment arrival, and incremented on a regular - * basis. If the counter reaches a maximum value the message is - * dropped. - * Once all the fragments have been received the message is sent - * up to the calling classes, and the memory reclaimed. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_CDR_Message_Receiver -{ -public: - /// Initialization and termination methods. - //@{ - TAO_ECG_CDR_Message_Receiver (CORBA::Boolean check_crc); - ~TAO_ECG_CDR_Message_Receiver (void); - - /** - * @param ignore_from Endpoint used to remove events generated by - * the same process. - */ - void init (TAO_ECG_Refcounted_Endpoint ignore_from - /* , ACE_Lock *lock = 0 */); - - // Shutdown the component: close down the request map, etc. - void shutdown (void); - //@} - - /// Main method: read the data from @a dgram and either pass ready data - /// to @a cdr_processor or update the if the request - /// is not yet complete. - /** - * Returns 1 if data was read successfully and accepted by - * without errors. - * Returns 0 if there were no errors, but no data has been passed to - * , either due to request being incomplete (not all - * fragments received), or it being a duplicate. - * Returns -1 if there were errors. - */ - int handle_input (ACE_SOCK_Dgram& dgram, - TAO_ECG_CDR_Processor *cdr_processor); - - /// Represents any request that has been fully received and - /// serviced, to simplify the internal logic. - static TAO_ECG_UDP_Request_Entry Request_Completed_; - -private: - - enum { - ECG_DEFAULT_MAX_FRAGMENTED_REQUESTS = 1024, - ECG_DEFAULT_FRAGMENTED_REQUESTS_MIN_PURGE_COUNT = 32 - }; - - struct Mcast_Header; - class Requests; - - typedef ACE_Hash_Map_Manager Request_Map; - -private: - - /// Returns 1 on success, 0 if has already been - /// received or is below current request range, and -1 on error. - int mark_received (const ACE_INET_Addr &from, - CORBA::ULong request_id); - - /// Returns 1 if complete request is received and is - /// populated, 0 if request has only partially been received or is a - /// duplicate, and -1 on error. - int process_fragment (const ACE_INET_Addr &from, - const Mcast_Header &header, - char * data_buf, - TAO_ECG_CDR_Processor *cdr_processor); - - - Request_Map::ENTRY* get_source_entry (const ACE_INET_Addr &from); - -private: - - /// Ignore any events coming from this IP address. - TAO_ECG_Refcounted_Endpoint ignore_from_; - - /// The map containing all the incoming requests which have been - /// partially received. - Request_Map request_map_; - - /// Serializes use of . - // ACE_Lock* lock_; - - /// Size of a fragmented requests array, i.e., max number of - /// partially received requests kept at any given time per source. - size_t max_requests_; - - /// Minimum number of requests purged from a fragmented requests - /// array when the range of requests represented there needs to be - /// shifted. - size_t min_purge_count_; - - /// Flag to indicate whether CRC should be computed and checked. - CORBA::Boolean check_crc_; -}; - -// **************************************************************** - -/// Helper for decoding, validating and storing mcast header. -struct TAO_ECG_CDR_Message_Receiver::Mcast_Header -{ - int byte_order; - CORBA::ULong request_id; - CORBA::ULong request_size; - CORBA::ULong fragment_size; - CORBA::ULong fragment_offset; - CORBA::ULong fragment_id; - CORBA::ULong fragment_count; - CORBA::ULong crc; - int read (char * header, - size_t bytes_received, - CORBA::Boolean checkcrc = 0); -}; - -// **************************************************************** - -/// Once init() has been called: -/// Invariant: id_range_high_- id_range_low_ == size_ - 1 -class TAO_ECG_CDR_Message_Receiver::Requests -{ -public: - - Requests (void); - ~Requests (void); - - /// Allocates and initializes . - int init (size_t size, size_t min_purge_count); - - /// Returns pointer to a element - /// representing . - /** - * If < return 0. - * If > , shift the range so it - * includes , purging incomplete requests as needed. - */ - TAO_ECG_UDP_Request_Entry ** get_request (CORBA::ULong request_id); - -private: - - /// Delete any outstanding requests with ids in the range - /// [, ] from and - /// and reset their slots. - void purge_requests (CORBA::ULong purge_first, - CORBA::ULong purge_last); - - Requests & operator= (const Requests &rhs); - Requests (const Requests &rhs); - -private: - /// Array, used in a circular fashion, that stores partially received - /// requests (and info on which requests have been fully received - /// and processed) for a range of request ids. - TAO_ECG_UDP_Request_Entry** fragmented_requests_; - - /// Size of array. - size_t size_; - - /// The range of request ids, currently represented in - /// . - //@{ - CORBA::ULong id_range_low_; - CORBA::ULong id_range_high_; - //@} - - /// Minimum range shifting amount. - size_t min_purge_count_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_CDR_Message_Receiver.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_CDR_MESSAGE_RECEIVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.i b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.i deleted file mode 100644 index 078166a6088..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.i +++ /dev/null @@ -1,51 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ECG_CDR_Message_Receiver::Requests::Requests (void) - : fragmented_requests_ (0) - , size_ (0) - , id_range_low_ (0) - , id_range_high_ (0) - , min_purge_count_ (0) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_ECG_CDR_Message_Receiver::TAO_ECG_CDR_Message_Receiver (CORBA::Boolean crc) - : ignore_from_ () - , request_map_ () - /* , lock_ (0) */ - , max_requests_ (ECG_DEFAULT_MAX_FRAGMENTED_REQUESTS) - , min_purge_count_ (ECG_DEFAULT_FRAGMENTED_REQUESTS_MIN_PURGE_COUNT) - , check_crc_ (crc) -{ -// ACE_NEW (this->lock_, -// ACE_Lock_Adapter); -} - -ACE_INLINE -TAO_ECG_CDR_Message_Receiver::~TAO_ECG_CDR_Message_Receiver (void) -{ - this->shutdown (); -} - -ACE_INLINE void -TAO_ECG_CDR_Message_Receiver::init (TAO_ECG_Refcounted_Endpoint ignore_from - /*, ACE_Lock *lock */) -{ - this->ignore_from_ = ignore_from; - -// if (lock) -// { -// delete this->lock_; -// this->lock_ = lock; -// } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp deleted file mode 100644 index be2af5fe269..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp +++ /dev/null @@ -1,340 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_CDR_Message_Sender.h" -#include "tao/CDR.h" -#include "ace/SOCK_Dgram.h" -#include "ace/INET_Addr.h" -#include "ace/ACE.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_CDR_Message_Sender.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, ECG_CDR_Message_Sender, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_ECG_CDR_Message_Sender::init ( - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (endpoint_rptr.get () == 0 - || endpoint_rptr->dgram ().get_handle () == ACE_INVALID_HANDLE) - { - ACE_ERROR ((LM_ERROR, "TAO_ECG_CDR_Message_Sender::init(): " - "nil or unitialized endpoint argument.\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - - this->endpoint_rptr_ = endpoint_rptr; -} - -void -TAO_ECG_CDR_Message_Sender::send_message (const TAO_OutputCDR &cdr, - const ACE_INET_Addr &addr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (this->endpoint_rptr_.get () == 0) - { - ACE_ERROR ((LM_ERROR, "Attempt to invoke send_message() " - "on non-initialized sender object.\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - - CORBA::ULong max_fragment_payload = this->mtu () - - TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE; - // ACE_ASSERT (max_fragment_payload != 0); - -#if defined (ACE_HAS_BROKEN_DGRAM_SENDV) - const int TAO_WRITEV_MAX = ACE_IOV_MAX - 1; -#else - const int TAO_WRITEV_MAX = ACE_IOV_MAX; -#endif /* ACE_HAS_BROKEN_DGRAM_SENDV */ - iovec iov[TAO_WRITEV_MAX]; - - CORBA::ULong total_length; - CORBA::ULong fragment_count = - this->compute_fragment_count (cdr.begin (), - cdr.end (), - TAO_WRITEV_MAX, - max_fragment_payload, - total_length); - - CORBA::ULong request_id = this->endpoint_rptr_->next_request_id (); - - // Reserve the first iovec for the header... - int iovcnt = 1; - CORBA::ULong fragment_id = 0; - CORBA::ULong fragment_offset = 0; - CORBA::ULong fragment_size = 0; - for (const ACE_Message_Block* b = cdr.begin (); - b != cdr.end (); - b = b->cont ()) - { - CORBA::ULong l = b->length (); - - char* rd_ptr = b->rd_ptr (); - - iov[iovcnt].iov_base = rd_ptr; - iov[iovcnt].iov_len = l; - fragment_size += l; - ++iovcnt; - while (fragment_size > max_fragment_payload) - { - // This fragment is full, we have to send it... - - // First adjust the last iov entry: - CORBA::ULong last_mb_length = - max_fragment_payload - (fragment_size - l); - iov[iovcnt - 1].iov_len = last_mb_length; - - this->send_fragment (addr, - request_id, - total_length, - max_fragment_payload, - fragment_offset, - fragment_id, - fragment_count, - iov, - iovcnt - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ++fragment_id; - fragment_offset += max_fragment_payload; - - // Reset, but don't forget that the last Message_Block - // may need to be sent in multiple fragments.. - l -= last_mb_length; - rd_ptr += last_mb_length; - iov[1].iov_base = rd_ptr; - iov[1].iov_len = l; - fragment_size = l; - iovcnt = 2; - } - if (fragment_size == max_fragment_payload) - { - // We filled a fragment, but this time it was filled - // exactly, the treatment is a little different from the - // loop above... - this->send_fragment (addr, - request_id, - total_length, - max_fragment_payload, - fragment_offset, - fragment_id, - fragment_count, - iov, - iovcnt - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ++fragment_id; - fragment_offset += max_fragment_payload; - - iovcnt = 1; - fragment_size = 0; - } - if (iovcnt == TAO_WRITEV_MAX) - { - // Now we ran out of space in the iovec, we must send a - // fragment to work around that.... - this->send_fragment (addr, - request_id, - total_length, - fragment_size, - fragment_offset, - fragment_id, - fragment_count, - iov, - iovcnt - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ++fragment_id; - fragment_offset += fragment_size; - - iovcnt = 1; - fragment_size = 0; - } - } - // There is something left in the iovvec that we must send - // also... - if (iovcnt != 1) - { - // Now we ran out of space in the iovec, we must send a - // fragment to work around that.... - this->send_fragment (addr, - request_id, - total_length, - fragment_size, - fragment_offset, - fragment_id, - fragment_count, - iov, - iovcnt - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ++fragment_id; - fragment_offset += fragment_size; - - // reset, not needed here... - // iovcnt = 1; - // fragment_size = 0; - } - // ACE_ASSERT (total_length == fragment_offset); - // ACE_ASSERT (fragment_id == fragment_count); - -} - - -void -TAO_ECG_CDR_Message_Sender::send_fragment (const ACE_INET_Addr &addr, - CORBA::ULong request_id, - CORBA::ULong request_size, - CORBA::ULong fragment_size, - CORBA::ULong fragment_offset, - CORBA::ULong fragment_id, - CORBA::ULong fragment_count, - iovec iov[], - int iovcnt - ACE_ENV_ARG_DECL) -{ - CORBA::ULong header[TAO_ECG_CDR_Message_Sender::ECG_HEADER_SIZE - / sizeof(CORBA::ULong) - + ACE_CDR::MAX_ALIGNMENT]; - char* buf = reinterpret_cast (header); - TAO_OutputCDR cdr (buf, sizeof(header)); - cdr.write_boolean (TAO_ENCAP_BYTE_ORDER); - // Insert some known values in the padding bytes, so we can smoke - // test the message on the receiving end. - cdr.write_octet ('A'); cdr.write_octet ('B'); cdr.write_octet ('C'); - cdr.write_ulong (request_id); - cdr.write_ulong (request_size); - cdr.write_ulong (fragment_size); - cdr.write_ulong (fragment_offset); - cdr.write_ulong (fragment_id); - cdr.write_ulong (fragment_count); - CORBA::Octet padding[4]; - - - // MRH - if (checksum_) - { - // Compute CRC - iov[0].iov_base = cdr.begin ()->rd_ptr (); - iov[0].iov_len = cdr.begin ()->length (); - unsigned int crc = 0; - unsigned char *crc_parts = (unsigned char *)(&crc); - if (iovcnt > 1) - { - crc = ACE::crc32 (iov, iovcnt); - crc = htonl (crc); - } - for (int cnt=0; cnt<4; ++cnt) - { - padding[cnt] = crc_parts[cnt]; - } - } - else - { - for (int cnt=0; cnt<4; ++cnt) - { - padding[cnt] = 0; - } - } - //End MRH - cdr.write_octet_array (padding, 4); - - iov[0].iov_base = cdr.begin ()->rd_ptr (); - iov[0].iov_len = cdr.begin ()->length (); - - ssize_t n = this->dgram ().send (iov, - iovcnt, - addr); - size_t expected_n = 0; - for (int i = 0; i < iovcnt; ++i) - expected_n += iov[i].iov_len; - if (n > 0 && size_t(n) != expected_n) - { - ACE_DEBUG ((LM_ERROR, ("Sent only %d out of %d bytes " - "for mcast fragment.\n"), - n, - expected_n)); - } - - if (n == -1) - { - if (errno == EWOULDBLOCK) - { - ACE_DEBUG ((LM_ERROR, "Send of mcast fragment failed (%m).\n")); - // @@ TODO Use a Event Channel specific exception - ACE_THROW (CORBA::COMM_FAILURE ()); - } - else - { - ACE_DEBUG ((LM_WARNING, "Send of mcast fragment blocked (%m).\n")); - } - } - else if (n == 0) - { - ACE_DEBUG ((LM_WARNING, "EOF on send of mcast fragment (%m).\n")); - } -} - - -CORBA::ULong -TAO_ECG_CDR_Message_Sender::compute_fragment_count (const ACE_Message_Block* begin, - const ACE_Message_Block* end, - int iov_size, - CORBA::ULong max_fragment_payload, - CORBA::ULong& total_length) -{ - CORBA::ULong fragment_count = 0; - total_length = 0; - - CORBA::ULong fragment_size = 0; - // Reserve the first iovec for the header... - int iovcnt = 1; - for (const ACE_Message_Block* b = begin; - b != end; - b = b->cont ()) - { - CORBA::ULong l = b->length (); - total_length += l; - fragment_size += l; - ++iovcnt; - while (fragment_size > max_fragment_payload) - { - // Ran out of space, must create a fragment... - ++fragment_count; - - // The next iovector will contain what remains of this - // buffer, but also consider - iovcnt = 2; - l -= max_fragment_payload - (fragment_size - l); - fragment_size = l; - } - if (fragment_size == max_fragment_payload) - { - ++fragment_count; - iovcnt = 1; - fragment_size = 0; - } - if (iovcnt >= iov_size) - { - // Ran out of space in the iovector.... - ++fragment_count; - iovcnt = 1; - fragment_size = 0; - } - } - if (iovcnt != 1) - { - // Send the remaining data in another fragment - ++fragment_count; - } - return fragment_count; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h deleted file mode 100644 index 0f7d8b723ba..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h +++ /dev/null @@ -1,190 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_CDR_Message_Sender.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - */ - -#ifndef TAO_ECG_CDR_MESSAGE_SENDER_H -#define TAO_ECG_CDR_MESSAGE_SENDER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/ECG_UDP_Out_Endpoint.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "tao/SystemException.h" -#include "tao/Environment.h" - -#include "ace/INET_Addr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_CDR_Message_Sender - * - * @brief Sends CDR messages using UDP. - * NOT THREAD-SAFE. - * - * This class breaks up a CDR message into fragments and sends each - * fragment with a header (described below) using UDP. - * The UDP address can be a normal IP address or it can be a multicast - * group. The UDP address is obtained from a RtecUDPAdmin::AddrServer - * class. - * - * This class is used by various Gateway (Senders/Receivers) classes - * responsible for federating Event Channels with UDP/Mcast. - * - *

MESSAGE FORMAT

- * Message header are encapsulated using CDR, with the - * following format: - * struct Header { - * octet byte_order_flags; - * // bit 0 represents the byte order as in GIOP 1.1 - * // bit 1 is set if this is the last fragment - * unsigned long request_id; - * // The request ID, senders must not send two requests with - * // the same ID, senders can be distinguished using recvfrom.. - * unsigned long request_size; - * // The size of this request, this can be used to pre-allocate - * // the request buffer. - * unsgined long fragment_size; - * // The size of this fragment, excluding the header... - * unsigned long fragment_offset; - * // Where does this fragment fit in the complete message... - * unsigned long fragment_id; - * // The ID of this fragment... - * unsigned long fragment_count; - * // The total number of fragments to expect in this request - * - * // @todo This could be eliminated if efficient reassembly - * // could be implemented without it. - * octet padding[4]; - * - * // Ensures the header ends at an 8-byte boundary. - * }; // size (in CDR stream) = 32 - */ -class TAO_RTEvent_Serv_Export TAO_ECG_CDR_Message_Sender -{ -public: - - enum { - ECG_HEADER_SIZE = 32, - ECG_MIN_MTU = 32 + 8, - ECG_MAX_MTU = 65536, // Really optimistic... - ECG_DEFAULT_MTU = 1024 - }; - - /// Initialization and termination methods. - //@{ - TAO_ECG_CDR_Message_Sender (CORBA::Boolean crc = 0); - - /// Set the endpoint for sending messages. - /** - * If init () is successful, shutdown () must be called when the - * sender is no longer needed. If shutdown () is not called by the - * user, cleanup activities will be performed by the destructor. - */ - void init (TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Shutdown this component. Frees up the endpoint. - void shutdown (ACE_ENV_SINGLE_ARG_DECL); - //@} - - /// Setters/getters. - //@{ - /// Get the local endpoint used to send the events. - int get_local_addr (ACE_INET_Addr& addr); - - /** - * The sender may need to fragment the message, otherwise the - * network may drop the packets. - * Setting the MTU can fail if the value is too small (at least the - * header + 8 bytes must fit). - */ - int mtu (CORBA::ULong mtu); - CORBA::ULong mtu (void) const; - //@} - - /// The main method - send a CDR message. - /** - * @todo Under some platforms, notably Linux, the fragmentation code - * in this method is woefully naive. The fragments are sent it a - * big burst, unfortunately, that can fill up the local kernel - * buffer before all the data is sent. In those circumstances some - * of the fragments are silently (gulp!) dropped by the kernel, - * check the documentation for sendto(2) specially the ENOBUFS - * error condition. - * There is no easy solution that I know off, except "pacing" the - * fragments, i.e. never sending more than a prescribed number of - * bytes per-second, sleeping before sending more or queueing them - * to send later via the reactor. - */ - void send_message (const TAO_OutputCDR &cdr, - const ACE_INET_Addr &addr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - /// Return the datagram... - ACE_SOCK_Dgram& dgram (void); - - /** - * Send one fragment, the first entry in the iovec is used to send - * the header, the rest of the iovec array should contain pointers - * to the actual data. - */ - void send_fragment (const ACE_INET_Addr &addr, - CORBA::ULong request_id, - CORBA::ULong request_size, - CORBA::ULong fragment_size, - CORBA::ULong fragment_offset, - CORBA::ULong fragment_id, - CORBA::ULong fragment_count, - iovec iov[], - int iovcnt - ACE_ENV_ARG_DECL); - - /** - * Count the number of fragments that will be required to send the - * message blocks in the range [begin,end) - * The maximum fragment payload (i.e. the size without the header is - * also required); returns the total message size. - */ - CORBA::ULong compute_fragment_count (const ACE_Message_Block* begin, - const ACE_Message_Block* end, - int iov_size, - CORBA::ULong max_fragment_payload, - CORBA::ULong& total_length); - -private: - /// The datagram used for sendto (). - TAO_ECG_Refcounted_Endpoint endpoint_rptr_; - - /// The MTU for this sender... - CORBA::ULong mtu_; - - /// Should crc checksum be caluclated and sent? - CORBA::Boolean checksum_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_CDR_Message_Sender.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_CDR_MESSAGE_SENDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i b/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i deleted file mode 100644 index aa1242d07fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ECG_CDR_Message_Sender::TAO_ECG_CDR_Message_Sender (CORBA::Boolean crc) - : endpoint_rptr_ () - , mtu_ (TAO_ECG_CDR_Message_Sender::ECG_DEFAULT_MTU) - , checksum_ (crc) -{ -} - -ACE_INLINE void -TAO_ECG_CDR_Message_Sender::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // Release the endpoint. - TAO_ECG_Refcounted_Endpoint empty_endpoint_rptr; - this->endpoint_rptr_ = empty_endpoint_rptr; -} - -ACE_INLINE ACE_SOCK_Dgram& -TAO_ECG_CDR_Message_Sender::dgram (void) -{ - ACE_ASSERT (this->endpoint_rptr_.get ()); - return this->endpoint_rptr_->dgram (); -} - -ACE_INLINE int -TAO_ECG_CDR_Message_Sender::get_local_addr (ACE_INET_Addr& addr) -{ - if (this->endpoint_rptr_.get () == 0) - return -1; - return this->dgram ().get_local_addr (addr); -} - -ACE_INLINE CORBA::ULong -TAO_ECG_CDR_Message_Sender::mtu (void) const -{ - return this->mtu_; -} - -ACE_INLINE int -TAO_ECG_CDR_Message_Sender::mtu (CORBA::ULong new_mtu) -{ - if (new_mtu < TAO_ECG_CDR_Message_Sender::ECG_MIN_MTU - || new_mtu >= TAO_ECG_CDR_Message_Sender::ECG_MAX_MTU) - return -1; - this->mtu_ = new_mtu; - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp deleted file mode 100644 index 3091fb79acf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp +++ /dev/null @@ -1,170 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_Complex_Address_Server.h" -#include "ace/SString.h" -#include "ace/streams.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Complex_Address_Server.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Complex_Address_Server::TAO_ECG_Complex_Address_Server ( - int is_source_mapping) - : is_source_mapping_ (is_source_mapping) -{ -} - -TAO_ECG_Complex_Address_Server::~TAO_ECG_Complex_Address_Server (void) -{ -} - -int -TAO_ECG_Complex_Address_Server::init (const char *arg) -{ - ACE_CString key_string; - ACE_CString mcast_string; - - // Our position in parsing initialization string. - const char * data = arg; - - // Parse initialization string until we reach the end. - while (*data != '\0') - { - // Extract lookup value (it is followed by '@'). - const char * location = 0; - location = ACE_OS::strchr (data, '@'); - if (!location) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to initialize address " - "server: cannot find <@> separator " - "in initialization string " - "as expected\n"), - -1); - } - size_t len = location - data; - key_string.set (data, len, 1); - data += len + 1; - - // Extract mcast address to be mapped to just extracted lookup - // value. - location = 0; - location = ACE_OS::strchr (data, ' '); - if (location) - { - len = location - data; - mcast_string.set (data, len, 1); - data += len + 1; - } - else - { - // This must be the last entry in the mapping. - len = ACE_OS::strlen (data); - mcast_string.set (data, len, 1); - data += len; - } - - // Add new entry to the mapping. - if (this->add_entry (key_string.c_str (), - mcast_string.c_str ()) == -1) - return -1; - } - return 0; -} - -int -TAO_ECG_Complex_Address_Server::add_entry (const char * key, - const char * mcast_addr) -{ - // Check whether this is the default mcast address. - if (ACE_OS::strlen (key) == 1 - && *key == '*') - { - if (this->default_addr_.set (mcast_addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "Unable to initialize: invalid " - "mcast address specified: %s.\n", - mcast_addr), - -1); - return 0; - } - - // Convert strings to values. - char * endptr = 0; - CORBA::Long header_value = ACE_OS::strtol (key, &endptr, 0); - if (*endptr != '\0') - { - ACE_ERROR_RETURN ((LM_ERROR, "Unable to initialize: invalid " - "source/type specified: %s.\n", - key), - -1); - } - - ACE_INET_Addr addr; - if (addr.set (mcast_addr) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, "Unable to initialize: invalid " - "mcast address specified: %s.\n", - mcast_addr), - -1); - } - - if (this->mcast_mapping_.bind (header_value, addr) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, "Unable to initialize: error adding " - "new entry to the mapping.\n"), - -1); - } - - return 0; -} - - -void -TAO_ECG_Complex_Address_Server::get_addr ( - const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Long key; - if (this->is_source_mapping_) - key = header.source; - else - key = header.type; - - MAP::ENTRY * mapping_entry = 0; - if (this->mcast_mapping_.find (key, mapping_entry) == -1) - { - // Key was not found in the mapping. Use default. - addr.ipaddr = this->default_addr_.get_ip_address (); - addr.port = this->default_addr_.get_port_number (); - } - else - { - addr.ipaddr = mapping_entry->int_id_.get_ip_address (); - addr.port = mapping_entry->int_id_.get_port_number (); - } -} - -void -TAO_ECG_Complex_Address_Server::dump_content (void) -{ - ACE_DEBUG ((LM_DEBUG, "Default address: %s:%d\n", - this->default_addr_.get_host_addr (), - this->default_addr_.get_port_number ())); - - for (MAP::iterator iter = this->mcast_mapping_.begin (); - iter != this->mcast_mapping_.end (); - iter++) - { - MAP::ENTRY & entry = *iter; - ACE_DEBUG ((LM_DEBUG, "%d --> %s:%d\n", - entry.ext_id_, - this->default_addr_.get_host_addr (), - this->default_addr_.get_port_number ())); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.h deleted file mode 100644 index bbe55390465..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.h +++ /dev/null @@ -1,118 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Complex_Address_Server.h - * - * $Id$ - * - * @author Marina Spivak (marina@atdesk.com) - * - */ - -#ifndef TAO_ECG_COMPLEX_ADDRESS_SERVER_H -#define TAO_ECG_COMPLEX_ADDRESS_SERVER_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "orbsvcs/RtecUDPAdminS.h" -#include "ace/Hash_Map_Manager_T.h" -#include "ace/INET_Addr.h" -#include "ace/Null_Mutex.h" - -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Complex_Address_Server - * - * @brief Implementation of RtecUDPAdmin idl interface, which returns - * a different multicast address based on event source (or event type - * - depending on how the server is configured). - * - * INITIALIZATION STRING FORMAT - * - * The string is a sequence of @ pairs separated by - * a single space, where is event source (or type) - * and is the corresponding mcast address. Example: - * "34@230.100.0.2:2300 45@230.100.123.43:2300" - * The string above represents two key-value pairs. - * - * A special key "*" is used to specify the default mcast address, - * i.e., the one that will be returned for event sources that weren't - * explicitly specified in the initialization string. Example: - * "*@230.100.0.2:2300 45@230.100.123.43:2300" - * - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Complex_Address_Server : - public virtual POA_RtecUDPAdmin::AddrServer -{ -public: - - /// Create a new TAO_ECG_Complex_Address_Server object. - /* - * (Constructor access is restricted to insure that all - * TAO_ECG_Complex_Address_Server objects are heap-allocated.) - * flag indicates whether this - * server maps based on event header source or event header type. - */ - static TAO_EC_Servant_Var - create (int is_source_mapping = 1); - - /// Destructor - virtual ~TAO_ECG_Complex_Address_Server (void); - - /// Initializes the mapping from the string. See class notes - /// for the expected format. - int init (const char *arg); - - // = The RtecUDPAdmin::AddrServer methods - virtual void get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Prints out complete content of the address server. Useful for - /// debugging. - void dump_content (void); - -protected: - - /// Constructor (protected). Clients can create new - /// TAO_ECG_Complex_Address_Server objects using the static create() - /// method. - /// flag indicates whether this - /// server maps based on event header source or event header type. - TAO_ECG_Complex_Address_Server (int is_source_mapping = 1); - -private: - - /// Helper. Given key and mcast address in string form, add them to - /// the mapping. - int add_entry (const char * key, const char * mcast_addr); - - /// Flag indicating whether this address server maps event source or - /// event type to mcast groups. - int is_source_mapping_; - - typedef ACE_Hash_Map_Manager_Ex, ACE_Equal_To, ACE_Null_Mutex> MAP; - - MAP mcast_mapping_; - - /// Mcast group to be used for all sources (or types) not explicitly - /// mapped. - ACE_INET_Addr default_addr_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Complex_Address_Server.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_COMPLEX_ADDRESS_SERVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.i b/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.i deleted file mode 100644 index b47e2db3e68..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.i +++ /dev/null @@ -1,17 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_EC_Servant_Var -TAO_ECG_Complex_Address_Server::create (int is_source_mapping) -{ - TAO_EC_Servant_Var s; - ACE_NEW_RETURN (s, - TAO_ECG_Complex_Address_Server (is_source_mapping), - s); - return s; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.cpp deleted file mode 100644 index b5b65cc294b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_ConsumerEC_Control.h" - -ACE_RCSID(Event, ECG_ConsumerEventChannelControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_ConsumerEC_Control::TAO_ECG_ConsumerEC_Control (void) -{ -} - -TAO_ECG_ConsumerEC_Control::~TAO_ECG_ConsumerEC_Control (void) -{ -} - -int -TAO_ECG_ConsumerEC_Control::activate (void) -{ - return 0; -} - -int -TAO_ECG_ConsumerEC_Control::shutdown (void) -{ - return 0; -} - -void -TAO_ECG_ConsumerEC_Control::event_channel_not_exist (TAO_EC_Gateway_IIOP * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_ECG_ConsumerEC_Control::system_exception (TAO_EC_Gateway_IIOP *, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h b/TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h deleted file mode 100644 index a8141829787..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_ConsumerEC_Control.h - * - * $Id$ - * - * @author Johnny Willemsen (jwillemsen@remedy.nl) - * - */ - -#ifndef TAO_ECG_ConsumerEC_Control_H -#define TAO_ECG_ConsumerEC_Control_H - -#include /**/ "ace/pre.h" -#include "ace/CORBA_macros.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Basic_Types.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Gateway_IIOP; -class TAO_EC_ProxyPushSupplier; - -namespace CORBA -{ - class Environment; - class SystemException; -} - -/** - * @class TAO_ECG_ConsumerEC_Control - * - * @brief EventChannelControl - * - * Defines the interface for the consumer event channel control strategy. - * This strategy handles misbehaving or failing event channels that are consumer - * of a gateway. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_ConsumerEC_Control -{ -public: - /// Constructor. - TAO_ECG_ConsumerEC_Control (void); - - /// Destructor. - virtual ~TAO_ECG_ConsumerEC_Control (void); - - /// Activate any internal threads or timers used to poll the state of - /// the event channel. - virtual int activate (void); - - /// Shutdown any internal threads or timers used to poll the state of - /// the event channel. - virtual int shutdown (void); - - /** - * When pushing an event to the event channel a CORBA::OBJECT_NOT_EXIST - * exception was raised. The only interpretation is that the object - * has been destroyed. The strategy has to (at the very least), - * reclaim all the resources attached to that object. - */ - virtual void event_channel_not_exist (TAO_EC_Gateway_IIOP * gateway - ACE_ENV_ARG_DECL_NOT_USED); - - /// Some system exception was raised while trying to contact the - /// event channel - virtual void system_exception (TAO_EC_Gateway_IIOP * gateway, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_ConsumerEC_Control_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Defaults.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Defaults.h deleted file mode 100644 index 77dd5a28dae..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Defaults.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Defaults.h - * - * $Id$ - * - * In this file we set the compile time defaults for the event - * channel multicast gateway. - * - * @author Marina Spivak (marina@atdesk.com) - */ - -#ifndef TAO_ECG_DEFAULTS_H -#define TAO_ECG_DEFAULTS_H -#include /**/ "ace/pre.h" - -// Any of the definitions below can be overriden in the config.h file -// or the compilation line. - -#ifndef TAO_ECG_DEFAULT_SERVICE -# define TAO_ECG_DEFAULT_SERVICE ECG_MCAST_TWO_WAY -#endif /* TAO_ECG_DEFAULT_SERVICE */ - -#ifndef TAO_ECG_DEFAULT_HANDLER -# define TAO_ECG_DEFAULT_HANDLER ECG_HANDLER_BASIC -#endif /* TAO_ECG_DEFAULT_HANDLER */ - -#ifndef TAO_ECG_DEFAULT_ADDRESS_SERVER -# define TAO_ECG_DEFAULT_ADDRESS_SERVER ECG_ADDRESS_SERVER_BASIC -#endif /* TAO_ECG_DEFAULT_ADDRESS_SERVER */ - -/* must be provided by the user */ -#ifndef TAO_ECG_DEFAULT_ADDRESS_SERVER_ARG -# define TAO_ECG_DEFAULT_ADDRESS_SERVER_ARG 0 -#endif /* TAO_ECG_DEFAULT_ADDRESS_SERVER_ARG */ - -#ifndef TAO_ECG_DEFAULT_TTL -# define TAO_ECG_DEFAULT_TTL 0 /* don't set, use default */ -#endif /* TAO_ECG_DEFAULT_TTL */ - -#ifndef TAO_ECG_DEFAULT_NIC -# define TAO_ECG_DEFAULT_NIC 0 /* use default */ -#endif /* TAO_ECG_DEFAULT_NIC */ - -#ifndef TAO_ECG_DEFAULT_IP_MULTICAST_LOOP -# define TAO_ECG_DEFAULT_IP_MULTICAST_LOOP 1 /* loopback mcast messages */ -#endif /* TAO_ECG_DEFAULT_IP_MULTICAST_LOOP */ - -#ifndef TAO_ECG_DEFAULT_NON_BLOCKING -# define TAO_ECG_DEFAULT_NON_BLOCKING 1 /* write sockets are non-blocking */ -#endif /* TAO_ECG_DEFAULT_NON_BLOCKING */ - -#ifndef TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL -# define TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL 0 /* null */ -#endif /* TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL */ - -#ifndef TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_PERIOD -# define TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_PERIOD 5000000 /* usecs */ -#endif /* TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_PERIOD */ - -#ifndef TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_TIMEOUT -# define TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_TIMEOUT 10000 /* usecs */ -#endif /* TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_TIMEOUT */ - -#ifndef TAO_ECG_DEFAULT_IIOP_ORB_ID -# define TAO_ECG_DEFAULT_IIOP_ORB_ID "" /* */ -#endif /* TAO_ECG_DEFAULT_IIOP_ORB_ID */ - -#ifndef TAO_ECG_DEFAULT_IIOP_USE_TTL -# define TAO_ECG_DEFAULT_IIOP_USE_TTL 1 /* use TTL */ -#endif /* TAO_ECG_DEFAULT_IIOP_USE_TTL */ - -#ifndef TAO_ECG_DEFAULT_IIOP_USE_CONSUMER_PROXY_MAP -# define TAO_ECG_DEFAULT_IIOP_USE_CONSUMER_PROXY_MAP 1 /* use consumer proxy map */ -#endif /* TAO_ECG_DEFAULT_IIOP_USE_CONSUMER_PROXY_MAP */ - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_DEFAULTS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp deleted file mode 100644 index e72dafca760..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp +++ /dev/null @@ -1,303 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_Mcast_EH.h" -#include "orbsvcs/Event/ECG_UDP_Receiver.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" -#include "ace/Unbounded_Set.h" -#include "ace/OS_NS_string.h" -#include "ace/Reactor.h" -#include "ace/os_include/os_fcntl.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Mcast_EH.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, ECG_Mcast_EH, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Mcast_EH::TAO_ECG_Mcast_EH (TAO_ECG_Dgram_Handler *recv, - const ACE_TCHAR *net_if, - CORBA::ULong sz) - : net_if_ (net_if ? ACE_OS::strdup (net_if) : 0) - , subscriptions_ () - , receiver_ (recv) - , recvbuf_size_ (sz) - , observer_ () - , auto_observer_disconnect_ () -{ - ACE_ASSERT (this->receiver_); -} - -TAO_ECG_Mcast_EH::~TAO_ECG_Mcast_EH (void) -{ - ACE_OS::free (this->net_if_); -} - -void -TAO_ECG_Mcast_EH::open (RtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL) -{ - if (!this->receiver_) - { - // We are shut down. - ACE_THROW (CORBA::INTERNAL()); - } - - if (CORBA::is_nil (ec)) - { - ACE_ERROR ((LM_ERROR, "TAO_ECG_Mcast_EH::open(): " - "nil ec argument")); - ACE_THROW (CORBA::INTERNAL ()); - } - - // Create and activate Event Channel Observer. - ACE_NEW (this->observer_, - Observer (this)); - - if (!this->observer_.in ()) - { - ACE_THROW (CORBA::NO_MEMORY ()); - } - - TAO_EC_Object_Deactivator observer_deactivator; - RtecEventChannelAdmin::Observer_var observer_ref; - PortableServer::POA_var poa = - this->observer_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - activate (observer_ref, - poa.in (), - this->observer_.in (), - observer_deactivator - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::Observer_Handle handle = - ec->append_observer (observer_ref.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->observer_->set_deactivator (observer_deactivator); - this->auto_observer_disconnect_.set_command - (Observer_Disconnect_Command (handle, ec)); -} - -int -TAO_ECG_Mcast_EH::shutdown (void) -{ - // Already shut down. - if (!this->receiver_) - return -1; - - // Disconnect Observer from EC. - this->auto_observer_disconnect_.execute (); - - // Shutdown the observer. - if (this->observer_.in ()) - { - this->observer_->shutdown (); - this->observer_ = 0; - } - - // Indicates that we are in a shutdown state. - this->receiver_ = 0; - - // Deregister from reactor, close and clean up sockets. - size_t subscriptions_size = this->subscriptions_.size (); - for (size_t i = 0; i != subscriptions_size; ++i) - { - (void) this->reactor ()->remove_handler ( - this->subscriptions_[i].dgram->get_handle (), - ACE_Event_Handler::READ_MASK); - (void) this->subscriptions_[i].dgram->close(); - delete this->subscriptions_[i].dgram; - } - this->subscriptions_.size (0); - - return 0; -} - -int -TAO_ECG_Mcast_EH::handle_input (ACE_HANDLE fd) -{ - size_t subscriptions_size = this->subscriptions_.size (); - for (size_t i = 0; i != subscriptions_size; ++i) - { - ACE_SOCK_Dgram_Mcast *socket = this->subscriptions_[i].dgram; - if (socket->get_handle () == fd) - { - return this->receiver_->handle_input (*socket); - } - } - return -1; -} - -void -TAO_ECG_Mcast_EH::update_consumer ( - const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - Address_Set multicast_addresses; - - this->compute_required_subscriptions (sub, - multicast_addresses - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->delete_unwanted_subscriptions (multicast_addresses); - - this->add_new_subscriptions (multicast_addresses); -} - -void -TAO_ECG_Mcast_EH::compute_required_subscriptions ( - const RtecEventChannelAdmin::ConsumerQOS& sub, - Address_Set& multicast_addresses - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong count = sub.dependencies.length (); - for (CORBA::ULong i = 0; i != count; ++i) - { - const RtecEventComm::EventHeader& header = - sub.dependencies[i].event.header; - if (0 < header.type && header.type < ACE_ES_EVENT_UNDEFINED) - { - continue; - } - RtecUDPAdmin::UDP_Addr addr; - - this->receiver_->get_addr (header, addr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_INET_Addr inet_addr (addr.port, addr.ipaddr); - // Ignore errors, if the element is in the set we simply ignore - // the problem... - (void) multicast_addresses.insert (inet_addr); - } -} - -int -TAO_ECG_Mcast_EH::delete_unwanted_subscriptions ( - Address_Set& multicast_addresses) -{ - for (size_t i = 0; i < this->subscriptions_.size (); ++i) - { - ACE_INET_Addr multicast_group = this->subscriptions_[i].mcast_addr; - if (multicast_addresses.find (multicast_group)) - { - // Remove from the list of subscriptions to be added, - // because we already subscribe to it... - (void) multicast_addresses.remove (multicast_group); - continue; - } - - // This subscription is no longer needed - remove from reactor, - // close and delete the socket. - ACE_SOCK_Dgram_Mcast *socket = this->subscriptions_[i].dgram; - (void) this->reactor ()->remove_handler (socket->get_handle (), - ACE_Event_Handler::READ_MASK); - (void) socket->close(); - delete socket; - // Move the deleted subscription out of the - // array by moving the last subscription in array into its place. - this->subscriptions_[i] = - this->subscriptions_[this->subscriptions_.size () - 1]; - this->subscriptions_.size (this->subscriptions_.size () - 1); - --i; - } - - return 0; -} - -void -TAO_ECG_Mcast_EH::add_new_subscriptions (Address_Set& multicast_addresses) -{ - typedef ACE_Unbounded_Set_Iterator Address_Iterator; - for (Address_Iterator k = multicast_addresses.begin (); - k != multicast_addresses.end (); - ++k) - { - Subscription new_subscription; - new_subscription.mcast_addr = *k; - ACE_NEW (new_subscription.dgram, ACE_SOCK_Dgram_Mcast); - - size_t subscriptions_size = this->subscriptions_.size (); - this->subscriptions_.size (subscriptions_size + 1); - this->subscriptions_[subscriptions_size] = new_subscription; - - ACE_SOCK_Dgram_Mcast *socket = new_subscription.dgram; - - if (socket->open (new_subscription.mcast_addr, this->net_if_, 1) == -1) { - ACE_ERROR ((LM_ERROR, - "Error: %d - Unable to open multicast socket\n", - errno )); - } - - if ( socket->enable (ACE_NONBLOCK) != 0 ) { - ACE_ERROR ((LM_ERROR, - "Error: %d - Unable to enable nonblocking on mcast_eh\n", - errno )); - } - - if (socket->join (new_subscription.mcast_addr, 1, this->net_if_) == -1) { - ACE_ERROR ((LM_ERROR, - "Error: %d - Unable to join multicast group\n", - errno )); - } - - if (this->recvbuf_size_ != 0 - && (((ACE_SOCK_Dgram *)socket)->set_option(SOL_SOCKET, - SO_RCVBUF, - (void *) &this->recvbuf_size_, - sizeof (this->recvbuf_size_)) == -1) - && errno != ENOTSUP ) - { - ACE_ERROR ((LM_ERROR, - "Error: %d - Unable to set mcast_eh recvbuf_size:%d\n", - errno, - this->recvbuf_size_)); - } - (void) this->reactor ()->register_handler ( - socket->get_handle (), - this, - ACE_Event_Handler::READ_MASK); - } -} - -// **************************************************************** - -TAO_ECG_Mcast_EH::Observer::Observer (TAO_ECG_Mcast_EH* eh) - : eh_ (eh) -{ -} - -void -TAO_ECG_Mcast_EH::Observer::update_consumer ( - const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (this->eh_) - this->eh_->update_consumer (sub ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ECG_Mcast_EH::Observer::update_supplier ( - const RtecEventChannelAdmin::SupplierQOS& - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_ECG_Mcast_EH::Observer::shutdown (void) -{ - this->eh_ = 0; - this->deactivator_.deactivate (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h deleted file mode 100644 index 6808a8bbd0d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h +++ /dev/null @@ -1,294 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Mcast_EH.h - * - * $Id$ - * - * @author Carlos O'Ryan - * @author Jaiganesh Balasubramanian - * @author Marina Spivak - * @author Don Hinton - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - * - */ -#ifndef TAO_ECG_MCAST_EH_H -#define TAO_ECG_MCAST_EH_H - -#include /**/ "ace/pre.h" -#include "ace/Event_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Unbounded_Set.h" -#include "ace/Array_Base.h" -#include "ace/SOCK_Dgram_Mcast.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/Event/ECG_Adapters.h" -#include "orbsvcs/Event/EC_Lifetime_Utils.h" -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Mcast_EH - * - * @brief Event Handler for Mcast messages. - * NOT THREAD-SAFE. - * - * This object acts as an Observer to Event Channel. It subscribes to - * multicast groups that carry events matching the EC's subscriptions. - * This object then receives callbacks from the Reactor when data is - * available on the mcast sockets and alerts TAO_ECG_Dgram_Handler, - * which reads the data, transforms it into event and pushes to the - * Event Channel. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Mcast_EH : - public ACE_Event_Handler, - public TAO_ECG_Handler_Shutdown -{ -public: - - /// Initialization and termination methods. - //@{ - /** - * Constructor. Messages received by this EH will be forwarded to - * the \a recv. \a net_if can be used to specify NIC where multicast - * messages are expected. \buf_sz would be used to alter the default - * buffer size. - * - * See comments for receiver_ data member on why raw pointer is - * used for the \a recv argument. - */ - TAO_ECG_Mcast_EH (TAO_ECG_Dgram_Handler *recv, - const ACE_TCHAR *net_if = 0, - CORBA::ULong buf_sz = 0); - - /// Destructor. - virtual ~TAO_ECG_Mcast_EH (void); - - /** - * Register for changes in the EC subscription list. - * When the subscription list becomes non-empty we join the proper - * multicast groups (using Dgram_Handler to translate between event - * types and mcast groups) and the class registers itself with the - * reactor. - * - * To insure proper resource clean up, if open () is successful, - * the user MUST call shutdown () when handler is no longer needed - * (and its reactor still exists). - */ - void open (RtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// TAO_ECG_Handler_Shutdown method. - /** - * Remove ourselves from the event channel, unsubscribe from the - * multicast groups, close the sockets and deregister from the - * reactor. - */ - virtual int shutdown (void); - //@} - - /// Reactor callback. Notify receiver_ that a dgram corresponding - /// to \a fd is ready for reading. - virtual int handle_input (ACE_HANDLE fd); - -private: - - /** - * @class Observer - * - * @brief Observes changes in the EC consumer subscriptions and notifies - * TAO_ECG_Mcast_EH when there are changes. - */ - class Observer : - public virtual POA_RtecEventChannelAdmin::Observer, - public TAO_EC_Deactivated_Object - { - public: - /// Constructor. Changes in the EC subscriptions will be reported - /// to the \a eh. - Observer (TAO_ECG_Mcast_EH* eh); - - /// Shut down the observer: disconnect from EC and deactivate from - /// POA. - void shutdown (void); - - /// Event Channel Observer methods - //@{ - virtual void update_consumer ( - const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void update_supplier ( - const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - /// Handler we notify of subscriptions changes. - /* - * Observer can keep a raw pointer to mcast handler, because the handler - * guarantees to notify the observer (by calling shutdown ()) - * before going away. - */ - TAO_ECG_Mcast_EH *eh_; - }; - - /// Make update_consumer () accessible to Observer. - friend class Observer; - - /// The Observer method. Subscribe/unsubscribe to multicast groups - /// according to changes in consumer subscriptions. - void update_consumer (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - typedef ACE_Unbounded_Set Address_Set; - - /// Helpers for updating multicast subscriptions based on changes in - /// consumer subscriptions. - //@{ - /// Compute the list of multicast addresses that we need to be - /// subscribed to, in order to receive the events described in the - /// ConsumerQOS parameter. - /** - * @param sub The list of event types that our event channel - * consumers are interested in. - * @param multicast_addresses This method populates this list with - * multicast addresses that we need to be subscribed to in - * order to receive event types specified in /a sub. - * - * @throw CORBA::SystemException This method needs to perform - * several CORBA invocations, and it propagates any exceptions - * back to the caller. - */ - void compute_required_subscriptions ( - const RtecEventChannelAdmin::ConsumerQOS& sub, - Address_Set& multicast_addresses - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Unsubscribe from any multicast addresses we are currently - /// subscribed to that are not in the \a multicast_addresses list. - /// Also remove from /a multicast_addresses any addresses to which we are - /// already subscribed. - /** - * @param multicast_addresses List of multicast - * addresses we need to be subscribed to in order receive all - * event types in the current consumer subscriptions. - */ - int delete_unwanted_subscriptions ( - Address_Set& multicast_addresses); - - /// Subscribe to all multicast addresses in /a multicast_addresses - - /// we are not subscribed to them yet, but need to be. - /** - * @param multicast_addresses List of multicast addresses to which - * we need to subscribe to in order to be receiving all event - * types in the current consumer subscriptions. - */ - void add_new_subscriptions ( - Address_Set& multicast_addresses); - //@} - - /** - * @class Observer_Disconnect_Command - * - * @brief Disconnects Observer from the Event Channel - * - * Utility class for use as a template argument to TAO_EC_Auto_Command. - * TAO_EC_Auto_Command manages - * observer connection to the Event Channel, automatically - * disconnecting from ec in its destructor, if necessary. - */ - class TAO_RTEvent_Serv_Export Observer_Disconnect_Command - { - public: - Observer_Disconnect_Command (void); - Observer_Disconnect_Command (RtecEventChannelAdmin::Observer_Handle handle, - RtecEventChannelAdmin::EventChannel_ptr ec); - - Observer_Disconnect_Command (const Observer_Disconnect_Command &rhs); - Observer_Disconnect_Command & operator= (const Observer_Disconnect_Command & rhs); - - void execute (ACE_ENV_SINGLE_ARG_DECL); - - private: - - RtecEventChannelAdmin::Observer_Handle handle_; - RtecEventChannelAdmin::EventChannel_var ec_; - }; - -private: - /// The NIC used to subscribe for multicast traffic. - ACE_TCHAR *net_if_; - - typedef struct { - ACE_INET_Addr mcast_addr; - ACE_SOCK_Dgram_Mcast* dgram; - } Subscription; - typedef ACE_Array_Base Subscriptions; - - /// List of multicast addresses we subscribe to and dgrams we use. - /* - * We use a dedicated socket for each multicast subscription. The - * reason: we assume the underlying software, i.e., ACE, binds each - * socket used to receive multicast to the multicast group (mcast addr - * + port) to avoid receiving promiscuous traffic, in which case it is - * not possible to subscribe to more than one mcast address on the same - * socket. - * - * Performance. We use array to store subscriptions (mcast addr / dgram - * pairs). If performance is not adequate, we should look into - * using a hash map, keyed on file descriptors, instead. When there - * are many subscriptions, handle_input() is likely to be more - * efficient with a hash lookup than an array iteration for locating a - * target dgram. Difference in costs of subscripton changes between - * hash map and array would need to be looked at as well, although - * it is probably highly dependent on the pattern of changes. - */ - Subscriptions subscriptions_; - - /// We callback to this object when a message arrives. - /* - * We can keep a raw pointer to the receiver (even though it may - * be a refcounted object) because receiver guarantees - * to notify us (by calling shutdown ()) before going away. - * - * We have to use raw pointer instead of a refcounting mechanism - * here to avoid a circular refcounting dependency between - * receiver and handler. - */ - TAO_ECG_Dgram_Handler * receiver_; - - /// SOCKbuf size - CORBA::ULong recvbuf_size_; - - /// Event Channel Observer. Detects changes in EC consumer subscriptions. - /// ORDER DEPENDENCY: this member should be declared before - /// . - TAO_EC_Servant_Var observer_; - - /// Manages connection of our observer to the Event Channel. - /// ORDER DEPENDENCY: this member should be declared AFTER . - TAO_EC_Auto_Command auto_observer_disconnect_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Mcast_EH.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_Mcast_EH_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i deleted file mode 100644 index 587c2721944..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i +++ /dev/null @@ -1,63 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ECG_Mcast_EH:: -Observer_Disconnect_Command::Observer_Disconnect_Command (void) - : handle_ () - , ec_ () -{ -} - -ACE_INLINE -TAO_ECG_Mcast_EH:: -Observer_Disconnect_Command::Observer_Disconnect_Command ( - RtecEventChannelAdmin::Observer_Handle handle, - RtecEventChannelAdmin::EventChannel_ptr ec) - : handle_ (handle) - , ec_ (RtecEventChannelAdmin::EventChannel::_duplicate (ec)) -{ -} - -ACE_INLINE -TAO_ECG_Mcast_EH:: -Observer_Disconnect_Command::Observer_Disconnect_Command ( - const Observer_Disconnect_Command & rhs) - : handle_ (rhs.handle_) - , ec_ (RtecEventChannelAdmin::EventChannel::_duplicate (rhs.ec_.in())) -{ -} - -ACE_INLINE -TAO_ECG_Mcast_EH::Observer_Disconnect_Command & -TAO_ECG_Mcast_EH:: -Observer_Disconnect_Command::operator= ( - const Observer_Disconnect_Command & rhs) -{ - this->handle_ = rhs.handle_; - this->ec_ = RtecEventChannelAdmin::EventChannel::_duplicate (rhs.ec_.in()); - - return *this; -} - -ACE_INLINE void -TAO_ECG_Mcast_EH:: -Observer_Disconnect_Command::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - if (CORBA::is_nil (this->ec_.in ())) - // We are not connected. - return; - - RtecEventChannelAdmin::EventChannel_var release_ec = - this->ec_._retn (); - - release_ec->remove_observer (this->handle_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -//*************************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp deleted file mode 100644 index 723466ea888..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp +++ /dev/null @@ -1,705 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_Mcast_Gateway.h" - -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" -#include "orbsvcs/Event/ECG_Simple_Address_Server.h" -#include "orbsvcs/Event/ECG_Complex_Address_Server.h" -#include "orbsvcs/Event/ECG_Simple_Mcast_EH.h" -#include "orbsvcs/Event/ECG_Mcast_EH.h" -#include "orbsvcs/Event/ECG_UDP_EH.h" - -#include "orbsvcs/Event_Utilities.h" - -#include "ace/Dynamic_Service.h" -#include "ace/Arg_Shifter.h" -#include "tao/ORB_Core.h" -#include "ace/OS_NS_strings.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Mcast_Gateway.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, ECG_Mcast_Gateway, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_EC_Shutdown_Command > -UDP_Sender_Shutdown; - -typedef TAO_EC_Shutdown_Command > -UDP_Receiver_Shutdown; - - -int -TAO_ECG_Mcast_Gateway::init_svcs (void) -{ - return ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_ECG_Mcast_Gateway); -} - - -int -TAO_ECG_Mcast_Gateway::fini (void) -{ - return 0; -} - -int -TAO_ECG_Mcast_Gateway::init (int argc, ACE_TCHAR* argv[]) -{ - int result = 0; - - ACE_Arg_Shifter arg_shifter (argc, argv); - - while (arg_shifter.is_anything_left ()) - { - const ACE_TCHAR *arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGService")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT ("receiver")) == 0) - this->service_type_ = ECG_MCAST_RECEIVER; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT ("sender")) == 0) - this->service_type_ = ECG_MCAST_SENDER; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT ("two_way")) == 0) - this->service_type_ = ECG_MCAST_TWO_WAY; - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Unsupported <-ECGService> option ") - ACE_TEXT ("value: <%s>. Ignoring this option ") - ACE_TEXT ("- using defaults instead.\n"), - opt)); - result = -1; - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGAddressServer")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT ("basic")) == 0) - this->address_server_type_ = ECG_ADDRESS_SERVER_BASIC; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT ("source")) == 0) - this->address_server_type_ = ECG_ADDRESS_SERVER_SOURCE; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT ("type")) == 0) - this->address_server_type_ = ECG_ADDRESS_SERVER_TYPE; - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Unsupported <-ECGAddressServer> ") - ACE_TEXT ("option value: <%s>. Ignoring this ") - ACE_TEXT ("option - using defaults instead.\n"), - opt)); - result = -1; - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGAddressServerArg")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - this->address_server_arg_.set (arg_shifter.get_current ()); - arg_shifter.consume_arg (); - } - } - - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGHandler")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT ("basic")) == 0) - this->handler_type_ = ECG_HANDLER_BASIC; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT ("complex")) == 0) - this->handler_type_ = ECG_HANDLER_COMPLEX; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT ("udp")) == 0) - this->handler_type_ = ECG_HANDLER_UDP; - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Unsupported <-ECGHandler> ") - ACE_TEXT ("option value: <%s>. Ignoring this ") - ACE_TEXT ("option - using defaults instead.\n"), - opt)); - result = -1; - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGTTL")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long tmp = ACE_OS::strtoul (opt, 0, 0) & 0xff; - this->ttl_value_ = static_cast (tmp); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGNIC")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - this->nic_.set (arg_shifter.get_current ()); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGIPMULTICASTLOOP")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - this->ip_multicast_loop_ = - (ACE_OS::atoi(arg_shifter.get_current()) != 0); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT ("-ECGNONBLOCKING")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - this->non_blocking_ = - (ACE_OS::atoi(arg_shifter.get_current()) != 0); - arg_shifter.consume_arg (); - } - } - - else - { - arg_shifter.ignore_arg (); - ACE_DEBUG ((LM_WARNING, - ACE_TEXT ("Ignoring <%s> option ") - ACE_TEXT ("during initialization.\n"), - arg)); - result = -1; - } - } - - if (this->validate_configuration () == -1) - return -1; - else - return result; -} - -int -TAO_ECG_Mcast_Gateway::init (const char * address_server_arg, - const Attributes & attr) -{ - this->address_server_arg_.set (address_server_arg); - - this->address_server_type_ = attr.address_server_type; - this->handler_type_ = attr.handler_type; - this->service_type_ = attr.service_type; - this->ttl_value_ = attr.ttl_value; - this->nic_.set (attr.nic.c_str ()); - this->ip_multicast_loop_ = attr.ip_multicast_loop; - this->non_blocking_ = attr.non_blocking; - - return this->validate_configuration (); -} - -int -TAO_ECG_Mcast_Gateway::init ( - const RtecEventChannelAdmin::ConsumerQOS & consumer_qos, - const char * address_server_arg, - const Attributes & attributes) -{ - this->consumer_qos_ = consumer_qos; - return this->init (address_server_arg, - attributes); -} - -int -TAO_ECG_Mcast_Gateway::validate_configuration (void) -{ - if ((this->handler_type_ == ECG_HANDLER_BASIC - || this->handler_type_ == ECG_HANDLER_UDP) - && this->service_type_ != ECG_MCAST_SENDER - && this->address_server_type_ != ECG_ADDRESS_SERVER_BASIC) - { - ACE_DEBUG ((LM_ERROR, - "Configurations for mcast handler and " - "address server do not match.\n")); - return -1; - } - - // Currently all Address Server implementations require an - // initialization string. If we ever add a new Address Server - // implementation, which does not, we'll have to remove this check. - if (this->address_server_arg_.length () == 0) - { - ACE_DEBUG ((LM_ERROR, - "Address server initializaton " - "argument not specified.\n")); - return -1; - } - - if (this->ip_multicast_loop_ != 0 - && this->ip_multicast_loop_ != 1) - { - ACE_DEBUG ((LM_ERROR, - "IP MULTICAST LOOP option must have a boolean value.\n")); - return -1; - } - - if (this->non_blocking_ != 0 - && this->non_blocking_ != 1) - { - ACE_DEBUG ((LM_ERROR, - "NON BLOCKING flag must have a boolean value.\n")); - return -1; - } - - return 0; -} - -TAO_ECG_Refcounted_Endpoint -TAO_ECG_Mcast_Gateway::init_endpoint (void) -{ - TAO_ECG_UDP_Out_Endpoint* endpoint = 0; - TAO_ECG_Refcounted_Endpoint refendpoint; - - // Try to allocate a new endpoint from the heap - ACE_NEW_NORETURN (endpoint, - TAO_ECG_UDP_Out_Endpoint); - - if (endpoint != 0) - { - refendpoint.reset (endpoint); - } - else - { - return TAO_ECG_Refcounted_Endpoint (); - } - - ACE_SOCK_Dgram& dgram = refendpoint->dgram (); - - if (dgram.open (ACE_Addr::sap_any) == -1) - { - ACE_ERROR ((LM_ERROR, - "Cannot open dgram " - "for sending mcast messages.\n")); - return TAO_ECG_Refcounted_Endpoint (); - } - - if (this->nic_.length () != 0) - { - dgram.set_nic (this->nic_.c_str ()); - } - - if (this->ttl_value_ > 0) - { - if (dgram.ACE_SOCK::set_option (IPPROTO_IP, - IP_MULTICAST_TTL, - &this->ttl_value_, - sizeof (this->ttl_value_)) - == -1) - { - ACE_ERROR ((LM_ERROR, - "Error setting TTL option on dgram " - "for sending mcast messages.\n")); - return TAO_ECG_Refcounted_Endpoint (); - } - } - - if (dgram.ACE_SOCK::set_option (IPPROTO_IP, - IP_MULTICAST_LOOP, - &this->ip_multicast_loop_, - sizeof (this->ip_multicast_loop_)) == -1) - { - ACE_ERROR ((LM_ERROR, - "Error setting MULTICAST_LOOP option " - "on dgram for sending mcast messages.\n")); - return TAO_ECG_Refcounted_Endpoint (); - } - - if (this->non_blocking_ - && dgram.enable(ACE_NONBLOCK) == -1) - { - ACE_ERROR ((LM_ERROR, - "Error setting NON BLOCKING option.\n")); - return TAO_ECG_Refcounted_Endpoint (); - } - - return refendpoint; -} - -PortableServer::ServantBase * -TAO_ECG_Mcast_Gateway::init_address_server (void) -{ - const char * address_server_arg = - (this->address_server_arg_.length ()) - ? this->address_server_arg_.c_str () : 0; - - if (this->address_server_type_ == ECG_ADDRESS_SERVER_BASIC) - { - TAO_EC_Servant_Var impl = - TAO_ECG_Simple_Address_Server::create (); - if (!impl.in ()) - return 0; - - if (impl->init (address_server_arg) == -1) - { - return 0; - } - return impl._retn (); - } - - else if (this->address_server_type_ == ECG_ADDRESS_SERVER_SOURCE) - { - TAO_EC_Servant_Var impl = - TAO_ECG_Complex_Address_Server::create (1); - if (!impl.in ()) - return 0; - - if (impl->init (address_server_arg) == -1) - { - return 0; - } - return impl._retn (); - } - - else if (this->address_server_type_ == ECG_ADDRESS_SERVER_TYPE) - { - TAO_EC_Servant_Var impl = - TAO_ECG_Complex_Address_Server::create (0); - if (!impl.in ()) - return 0; - - if (impl->init (address_server_arg) == -1) - { - return 0; - } - return impl._retn (); - } - - else - { - ACE_ERROR ((LM_ERROR, - "Cannot create address server: " - "unknown address server type specified.\n")); - return 0; - } -} - -TAO_ECG_Refcounted_Handler -TAO_ECG_Mcast_Gateway::init_handler (TAO_ECG_Dgram_Handler *receiver, - RtecEventChannelAdmin::EventChannel_ptr ec, - ACE_Reactor *reactor - ACE_ENV_ARG_DECL) -{ - TAO_ECG_Refcounted_Handler handler; - - const char * nic = - (this->nic_.length ()) ? this->nic_.c_str () : 0; - const char * address_server_arg = - (this->address_server_arg_.length ()) - ? this->address_server_arg_.c_str () : 0; - - if (this->handler_type_ == ECG_HANDLER_BASIC) - { - TAO_ECG_Simple_Mcast_EH * h = 0; - ACE_NEW_RETURN (h, - TAO_ECG_Simple_Mcast_EH (receiver), - handler); - handler.reset (h); - - h->reactor (reactor); - if (h->open (address_server_arg, nic) != 0) - return TAO_ECG_Refcounted_Handler (); - } - - else if (this->handler_type_ == ECG_HANDLER_COMPLEX) - { - TAO_ECG_Mcast_EH * h = 0; - ACE_NEW_RETURN (h, - TAO_ECG_Mcast_EH (receiver, nic), - handler); - handler.reset (h); - - h->reactor (reactor); - - h->open (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO_ECG_Refcounted_Handler ()); - } - - else if (this->handler_type_ == ECG_HANDLER_UDP) - { - TAO_ECG_UDP_EH * h = 0; - ACE_NEW_RETURN (h, - TAO_ECG_UDP_EH (receiver), - handler); - handler.reset (h); - h->reactor (reactor); - - ACE_INET_Addr ipaddr; - if (ipaddr.set (address_server_arg) != 0) - { - ACE_ERROR ((LM_ERROR, - "ERROR using address server argument " - "in ACE_INET_Addr.set ().\n")); - return TAO_ECG_Refcounted_Handler (); - } - if (h->open (ipaddr) != 0) - return TAO_ECG_Refcounted_Handler (); - } - - else - { - ACE_ERROR ((LM_ERROR, - "Cannot create handler: unknown " - "handler type specified.\n")); - return handler; - } - - return handler; -} - -TAO_EC_Servant_Var -TAO_ECG_Mcast_Gateway::init_sender ( - RtecEventChannelAdmin::EventChannel_ptr ec, - RtecUDPAdmin::AddrServer_ptr address_server, - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL) -{ - TAO_EC_Servant_Var - sender (TAO_ECG_UDP_Sender::create ()); - if (!sender.in ()) - return sender; - - sender->init (ec, - address_server, - endpoint_rptr - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO_EC_Servant_Var ()); - - TAO_EC_Auto_Command sender_shutdown; - sender_shutdown.set_command (UDP_Sender_Shutdown (sender)); - - if (this->consumer_qos_.dependencies.length () > 0) - { - // Client supplied consumer qos. Use it. - this->consumer_qos_.is_gateway = 1; - sender->connect (this->consumer_qos_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO_EC_Servant_Var ()); - } - else - { - // Client did not specify anything - subscribe to all events. - ACE_ConsumerQOS_Factory consumer_qos_factory; - consumer_qos_factory.start_disjunction_group (1); - consumer_qos_factory.insert (ACE_ES_EVENT_SOURCE_ANY, - ACE_ES_EVENT_ANY, - 0); - RtecEventChannelAdmin::ConsumerQOS & qos = - const_cast (consumer_qos_factory.get_ConsumerQOS ()); - qos.is_gateway = 1; - - sender->connect (qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO_EC_Servant_Var ()); - } - - sender_shutdown.disallow_command (); - return sender; -} - -TAO_EC_Servant_Var -TAO_ECG_Mcast_Gateway::init_receiver ( - RtecEventChannelAdmin::EventChannel_ptr ec, - RtecUDPAdmin::AddrServer_ptr address_server, - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL) -{ - TAO_EC_Servant_Var - receiver (TAO_ECG_UDP_Receiver::create ()); - if (!receiver.in ()) - return receiver; - - receiver->init (ec, - endpoint_rptr, - address_server - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO_EC_Servant_Var ()); - - TAO_EC_Auto_Command receiver_shutdown; - receiver_shutdown.set_command (UDP_Receiver_Shutdown (receiver)); - - ACE_SupplierQOS_Factory supplier_qos_factory; - supplier_qos_factory.insert (ACE_ES_EVENT_SOURCE_ANY, - ACE_ES_EVENT_ANY, - 0, 1); - RtecEventChannelAdmin::SupplierQOS & qos = - const_cast (supplier_qos_factory.get_SupplierQOS ()); - qos.is_gateway = 1; - - receiver->connect (qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO_EC_Servant_Var ()); - - receiver_shutdown.disallow_command (); - return receiver; -} - -void -TAO_ECG_Mcast_Gateway::verify_args (CORBA::ORB_ptr orb, - RtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL) -{ - if (CORBA::is_nil (ec)) - { - ACE_ERROR ((LM_ERROR, - "Nil event channel argument passed to " - "TAO_ECG_Mcast_Gateway::run().\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - if (CORBA::is_nil (orb)) - { - ACE_ERROR ((LM_ERROR, - "Nil orb argument passed to " - "TAO_ECG_Mcast_Gateway::run().\n")); - ACE_THROW (CORBA::INTERNAL ()); - } -} - -void -TAO_ECG_Mcast_Gateway::run (CORBA::ORB_ptr orb, - RtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL) -{ - // Verify args. - this->verify_args (orb, ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Auto-cleanup objects. - TAO_EC_Object_Deactivator address_server_deactivator; - TAO_EC_Auto_Command sender_shutdown; - TAO_EC_Auto_Command receiver_shutdown; - - // Set up address server. - PortableServer::ServantBase_var address_server_servant = - this->init_address_server (); - if (!address_server_servant.in ()) - { - ACE_DEBUG ((LM_ERROR, - "Unable to create address server.\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - - RtecUDPAdmin::AddrServer_var address_server; - - PortableServer::POA_var poa = - address_server_servant->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - activate (address_server, - poa.in (), - address_server_servant.in (), - address_server_deactivator - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_ECG_Refcounted_Endpoint endpoint_rptr; - TAO_EC_Servant_Var sender; - - // Set up event sender. - if (this->service_type_ == ECG_MCAST_SENDER - || this->service_type_ == ECG_MCAST_TWO_WAY) - { - endpoint_rptr = this->init_endpoint (); - if (endpoint_rptr.get () == 0) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - sender = this->init_sender (ec, - address_server.in (), - endpoint_rptr - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - if (!sender.in ()) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - sender_shutdown.set_command (UDP_Sender_Shutdown (sender)); - } - - // Set up event receiver. - TAO_EC_Servant_Var receiver; - if (this->service_type_ == ECG_MCAST_RECEIVER - || this->service_type_ == ECG_MCAST_TWO_WAY) - { - ACE_Reactor *reactor = orb->orb_core ()->reactor (); - - receiver = this->init_receiver (ec, - address_server.in (), - endpoint_rptr - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - if (!receiver.in ()) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - receiver_shutdown.set_command (UDP_Receiver_Shutdown (receiver)); - - TAO_ECG_Refcounted_Handler - handler_rptr (this->init_handler (receiver.in (), - ec, - reactor - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK; - if (handler_rptr.get () == 0) - { - ACE_THROW (CORBA::INTERNAL ()); - } - receiver->set_handler_shutdown (handler_rptr); - } - - // Everything went ok - disable auto-cleanup. - address_server_deactivator.disallow_deactivation (); - receiver_shutdown.disallow_command (); - sender_shutdown.disallow_command (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_ECG_Mcast_Gateway, - ACE_TEXT ("ECG_Mcast_Gateway"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_ECG_Mcast_Gateway), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTEvent_Serv, TAO_ECG_Mcast_Gateway) diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h deleted file mode 100644 index 827d6ae20ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h +++ /dev/null @@ -1,290 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Mcast_Gateway.h - * - * $Id$ - * - * @author Marina Spivak (marina@atdesk.com) - */ - -#ifndef TAO_ECG_MCAST_GATEWAY_H -#define TAO_ECG_MCAST_GATEWAY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/ECG_UDP_Sender.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/ECG_Defaults.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/Event/ECG_UDP_Receiver.h" -#include "orbsvcs/Event/ECG_UDP_Out_Endpoint.h" -#include "ace/Service_Object.h" -#include "ace/Service_Config.h" -#include "ace/SString.h" -#include "ace/os_include/os_stdint.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Event_Handler; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Mcast_Gateway - * - * @brief Implement the builder for setting up Event Channel multicast - * gateway. - * NOT THREAD-SAFE. - * - * This class simplifies creation of federated Event Channels by - * presenting a simple unified interface for creating and configuring - * all components needed to federate an Event Channel. - * Configuration options are described below. - * - * NOTE: This class does not own any of the components it creates and - * its lifetime is independent of theirs. This class acts purely as a - * wrapper facade for creating and wiring appropriate components - * together. - * - * @todo This class is an ACE_Service_Object, but the only reason for - * it is the need for easy configuration using files. Since - * ACE_Service_Object provides much more than that, we should look - * into replacing it with a more lightweight utility that would serve - * our needs. - * - * CONFIGURATION OPTIONS - * There are two ways to use this class: - * 1) Use service config file to specify configuration options (which - * are described below), and use service configurator to obtain a - * an instance of configured TAO_ECG_Mcast_Gateway in your program. (See - * TAO/orbsvcs/tests/Event/Mcast/Common and - * TAO/orbsvcs/tests/Event/Mcast/Simple for an example.) - * - * Service config file options: - * - * -ECGService - * Valid values: sender, receiver, two_way - * Specifies whether this gateway should act as a multicast sender of - * the events or multicast receiver, or both. - * - * -ECGAddressServer - * Valid values: basic, source, type - * Specifies what implementation of the address server should be used - * by the gateway. basic - the same multicast address is returned for - * all event headers. source - multicast addresses are returned based - * on the event source, according to the mapping provided at - * initialization. type - multicast addresses are returned based - * on the event type, according to the mapping provided at - * initialization. - * - * -ECGAddressServerArg - * Valid value: arg is a string, whose format requirements are - * specific to the implementation of address server used. - * Arg is not interpreted by the gateway, but simply passed to the - * address server specified by -ECGAddressServer during initialization. - * THIS OPTION MUST ALWAYS BE SPECIFIED BY THE USER (there is no - * default value for it) - * - * -ECGHandler - * Valid values: basic, complex, udp - * Specifies what implementation of event handler should be used if - * gateway is acting as events receiver. basic - a simple event - * handler listening on a single mcast address. complex - - * event handler listening on multiple mcast addresses based on - * events of interest to consumers. udp - similar to basic handler, - * except listens on udp address as opposed to a multicast group. - * - * -ECGTTL - * Valid values: a number > 0 - * IP_Multicast time to live value that should be set on a sending socket. - * This option matters only if the gateway is acting as a sender of - * mcast messages. - * - * -ECGNIC - * Valid values: name of the network interface - * This interface is used for sending and/or receiving multicast messages. - * - * -ECGNonBlocking - * Boolean flag to configure if the socket is in blocking or - * non-blocking code. The default is non-blocking. - * NOTE: Certain device drivers block the process if the physical - * link fails. - * - * - * 2) Create an instance of TAO_ECG_Mcast_Gateway in your code, on the stack or - * dynamically, and use init () method to configure it. No - * configuration files involved. See service config options above for the - * description of configurable options, and init() method below for how - * to specify them. - * - * - * Default configuration values (for either use case) can be found in - * ECG_Defaults.h - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Mcast_Gateway - : public ACE_Service_Object -{ -public: - - /// The Service_Object entry points. - //@{ - virtual int init (int argc, ACE_TCHAR* argv[]); - virtual int fini (void); - //@} - - /// Helper function to register the Gateway into the service - /// configurator. - static int init_svcs (void); - - /// Constructor. - TAO_ECG_Mcast_Gateway (void); - - /// Values for some configuration parameters to init (). - //@{ - enum Service_Type {ECG_MCAST_SENDER, - ECG_MCAST_RECEIVER, - ECG_MCAST_TWO_WAY}; - - enum Address_Server_Type {ECG_ADDRESS_SERVER_BASIC, - ECG_ADDRESS_SERVER_SOURCE, - ECG_ADDRESS_SERVER_TYPE}; - - enum Handler_Type {ECG_HANDLER_BASIC, - ECG_HANDLER_COMPLEX, - ECG_HANDLER_UDP}; - //@} - - /** - * @struct Attributes - * - * @brief Helper class to initialize a TAO_ECG_Mcast_Gateway. - * - * The TAO_ECG_Mcast_Gateway class has several properties that can - * be configured at initialization time, with default values. The - * canonical trick of using a constructor or init() method with - * multiple arguments does not work because to change the last - * argument the application developer needs to know all the other - * defaults. - * - * Instead we define a helper class that initializes all the fields - * to reasonable defaults. The application only sets the fields - * that it is interested into, if new fields are added applications - * do not need to change. - * - * With a little trickery we can even eliminate named temporaries: - * - * TAO_ECG_Mcast_Gateway gw;
- * gw.init(TAO_ECG_Mcast_Gateway::Attributes().set_foo(x).set_bar(y)); - * - * but we are not implementing that one (detecting errors is too - * hard without exceptions and ACE+TAO are somewhat shy of - * exceptions at this point.) - */ - struct TAO_RTEvent_Serv_Export Attributes - { - Attributes (void); - - Address_Server_Type address_server_type; - Handler_Type handler_type; - Service_Type service_type; - u_char ttl_value; - ACE_CString nic; - int ip_multicast_loop; - int non_blocking; - }; - - /// Configure TAO_ECG_Mcast_Gateway programatically. This method should - /// be used when NOT using service configurator to obtain/configure - /// TAO_ECG_Mcast_Gateway. See class documentation above for more - /// info. - int init (const char * address_server_arg, - const Attributes & attributes = Attributes()); - - /// Same as the method above, but also gives the client an opportunity to - /// specify consumer qos, i.e., which EC traffic should get multicasted. - /* - * By default, multicast sender subscribes to all events in the - * Event Channel, i.e., all events pushed to the EC get multicasted - * (as long as their ttl is > 0). This method allows clients to - * specify a more restrictive qos, hence limiting which EC traffic - * gets multicasted. - */ - int init (const RtecEventChannelAdmin::ConsumerQOS & consumer_qos, - const char * address_server_arg, - const Attributes & attributes = Attributes()); - - /// The main method - create, configure and run federation - /// components according to the specified configuration. - void run (CORBA::ORB_ptr orb, - RtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL); - -private: - - /// Helpers. - //@{ - /// Check that arguments to run() are not nil. - void verify_args (CORBA::ORB_ptr orb, - RtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL); - - /// Verifies configuration values specified through init() make sense. - int validate_configuration (void); - //@} - - /// Allocate and initialize appropriate objects. - //@{ - PortableServer::ServantBase * - init_address_server (void); - - TAO_EC_Servant_Var - init_sender (RtecEventChannelAdmin::EventChannel_ptr ec, - RtecUDPAdmin::AddrServer_ptr address_server, - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL); - - TAO_EC_Servant_Var - init_receiver (RtecEventChannelAdmin::EventChannel_ptr ec, - RtecUDPAdmin::AddrServer_ptr address_server, - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL); - - TAO_ECG_Refcounted_Endpoint init_endpoint (void); - - TAO_ECG_Refcounted_Handler - init_handler (TAO_ECG_Dgram_Handler *recv, - RtecEventChannelAdmin::EventChannel_ptr ec, - ACE_Reactor * reactor - ACE_ENV_ARG_DECL); - //@} - - /// Flags controlling configuration. - //@{ - Service_Type service_type_; - Handler_Type handler_type_; - Address_Server_Type address_server_type_; - ACE_CString address_server_arg_; - u_char ttl_value_; - ACE_CString nic_; - int ip_multicast_loop_; - int non_blocking_; - - RtecEventChannelAdmin::ConsumerQOS consumer_qos_; - //@} -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Mcast_Gateway.i" -#endif /* __ACE_INLINE__ */ - -ACE_STATIC_SVC_DECLARE (TAO_ECG_Mcast_Gateway) -ACE_FACTORY_DECLARE (TAO_RTEvent_Serv, TAO_ECG_Mcast_Gateway) - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_MCAST_GATEWAY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.i b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.i deleted file mode 100644 index 8e126abb9b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.i +++ /dev/null @@ -1,34 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ECG_Mcast_Gateway::TAO_ECG_Mcast_Gateway (void) - : service_type_ (TAO_ECG_DEFAULT_SERVICE) - , handler_type_ (TAO_ECG_DEFAULT_HANDLER) - , address_server_type_ (TAO_ECG_DEFAULT_ADDRESS_SERVER) - , address_server_arg_ ((const char *) TAO_ECG_DEFAULT_ADDRESS_SERVER_ARG) - , ttl_value_ (TAO_ECG_DEFAULT_TTL) - , nic_ (static_cast (TAO_ECG_DEFAULT_NIC)) - , ip_multicast_loop_ (TAO_ECG_DEFAULT_IP_MULTICAST_LOOP) - , non_blocking_ (TAO_ECG_DEFAULT_NON_BLOCKING) - , consumer_qos_ () -{ - this->consumer_qos_.dependencies.length (0); -} - -ACE_INLINE -TAO_ECG_Mcast_Gateway::Attributes::Attributes (void) - : address_server_type (TAO_ECG_DEFAULT_ADDRESS_SERVER) - , handler_type (TAO_ECG_DEFAULT_HANDLER) - , service_type (TAO_ECG_DEFAULT_SERVICE) - , ttl_value (TAO_ECG_DEFAULT_TTL) - , nic (static_cast (TAO_ECG_DEFAULT_NIC)) - , ip_multicast_loop (TAO_ECG_DEFAULT_IP_MULTICAST_LOOP) - , non_blocking (TAO_ECG_DEFAULT_NON_BLOCKING) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.cpp deleted file mode 100644 index 0906d59820f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.cpp +++ /dev/null @@ -1,253 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Gateway_IIOP.h" -#include "orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h" -#include "tao/Messaging/Messaging.h" -#include "tao/ORB_Core.h" - -#include "ace/Reactor.h" - -ACE_RCSID(Event, ECG_Reactive_ConsumerEventChannelControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Reactive_ConsumerEC_Control:: - TAO_ECG_Reactive_ConsumerEC_Control (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Gateway_IIOP* gateway, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - adapter_ (this), - gateway_ (gateway), - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING != 0*/ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -TAO_ECG_Reactive_ConsumerEC_Control::~TAO_ECG_Reactive_ConsumerEC_Control (void) -{ -} - -void -TAO_ECG_Reactive_ConsumerEC_Control::query_eventchannel ( - ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - gateway_->consumer_ec_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->event_channel_not_exist (gateway_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->event_channel_not_exist (gateway_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - // This is TAO's minor code for a failed connection, we may - // want to be more lenient in the future.. - // if (transient.minor () == 0x54410085) - this->event_channel_not_exist (gateway_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -void -TAO_ECG_Reactive_ConsumerEC_Control::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - // NOTE, setting RELATIVE_RT_TIMEOUT_POLICY for the duration of - // query_eventchannel () below has greater impact than desired. For - // example, while we are pinging ec here, a nested upcall, - // which requires making remote calls may come into the ORB. Those - // remote calls will be carried out with with - // RELATIVE_RT_TIMEOUT_POLICY set here in effect. - - // @@ TODO: should use Guard to set and reset policies. - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Query the state of the consumers... - this->query_eventchannel (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -int -TAO_ECG_Reactive_ConsumerEC_Control::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Timeout for polling state (default = 10 msec) - TimeBase::TimeT timeout = timeout_.usec() * 10; - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Only schedule the timer, when the rate is not zero - if (this->rate_ != ACE_Time_Value::zero) - { - // Schedule the timer after these policies has been set, because the - // handle_timeout uses these policies, if done in front, the channel - // can crash when the timeout expires before initiazation is ready. - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ - - return 0; -} - -int -TAO_ECG_Reactive_ConsumerEC_Control::shutdown (void) -{ - int r = 0; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - r = this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - - this->adapter_.reactor (0); - return r; -} - -void -TAO_ECG_Reactive_ConsumerEC_Control::event_channel_not_exist ( - TAO_EC_Gateway_IIOP* gateway - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - ACE_DEBUG ((LM_DEBUG, - "EC_Reactive_ConsumerControl(%P|%t) - " - "channel %x does not exists\n")); - gateway->cleanup_consumer_ec (); - - gateway->cleanup_consumer_proxies (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_EC_Reactive_ConsumerControl::event_channel_not_exist"); - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_ECG_Reactive_ConsumerEC_Control::system_exception ( - TAO_EC_Gateway_IIOP* gateway, - CORBA::SystemException & /* exception */ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - gateway->cleanup_consumer_ec (); - - gateway->cleanup_consumer_proxies (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -// **************************************************************** - -TAO_ECG_Reactive_ConsumerEC_Control_Adapter::TAO_ECG_Reactive_ConsumerEC_Control_Adapter ( - TAO_ECG_Reactive_ConsumerEC_Control *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_ECG_Reactive_ConsumerEC_Control_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h deleted file mode 100644 index e7ccad73c2a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h +++ /dev/null @@ -1,133 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Reactive_ConsumerEC_Control.h - * - * $Id$ - * - * @author Johnny Willemsen (jwillemsen@remedy.nl) - * - */ - -#ifndef TAO_ECG_REACTIVE_CONSUMEREC_CONTROL_H -#define TAO_ECG_REACTIVE_CONSUMEREC_CONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/ECG_ConsumerEC_Control.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/ORB.h" -#include "tao/PolicyC.h" - -#include "ace/Event_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_Reactive_ConsumerEC_Control; -class TAO_EC_Gateway_IIOP; - -/** - * @class TAO_ECG_Reactive_ConsumerEC_Control_Adapter - * - * @brief Forwards timeout events to the Reactive ConsumerControl - * - * The Reactive ConsumerControl strategy uses the reactor to - * periodically wakeup and verify the state of the consumers - * registered with the Event Channel. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Reactive_ConsumerEC_Control_Adapter - : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_ECG_Reactive_ConsumerEC_Control_Adapter (TAO_ECG_Reactive_ConsumerEC_Control *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_ECG_Reactive_ConsumerEC_Control *adaptee_; -}; - -/** - * @class TAO_ECG_Reactive_ConsumerEC_Control - * - * @brief Consumer event channel control - * - * Defines the interface for the consumer event channel control strategy. - * This strategy handles misbehaving or failing consumer event channels. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Reactive_ConsumerEC_Control - : public TAO_ECG_ConsumerEC_Control -{ -public: - /// Constructor. It does not assume ownership of the @a event_channel - /// parameter. - TAO_ECG_Reactive_ConsumerEC_Control (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Gateway_IIOP* gateway, - CORBA::ORB_ptr orb); - - /// Destructor. - virtual ~TAO_ECG_Reactive_ConsumerEC_Control (void); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = Documented in TAO_EC_ConsumerControl - virtual int activate (void); - virtual int shutdown (void); - virtual void event_channel_not_exist (TAO_EC_Gateway_IIOP *gateway - ACE_ENV_ARG_DECL_NOT_USED); - virtual void system_exception (TAO_EC_Gateway_IIOP *gateway, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - -private: - /// Check if the consumers still exists. It is a helper method for - /// handle_timeout() to isolate the exceptions. - void query_eventchannel (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The polling rate - ACE_Time_Value rate_; - - /// The polling timeout - ACE_Time_Value timeout_; - - /// The Adapter for the reactor events - TAO_ECG_Reactive_ConsumerEC_Control_Adapter adapter_; - - /// The gateway - TAO_EC_Gateway_IIOP* gateway_; - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_REACTIVE_CONSUMEREC_CONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp deleted file mode 100644 index 2e14b4da681..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp +++ /dev/null @@ -1,319 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Gateway_IIOP.h" -#include "orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h" -#include "tao/Messaging/Messaging.h" -#include "tao/ORB_Core.h" -#include "ace/Reactor.h" - -ACE_RCSID(Event, ECG_Reconnect_ConsumerEventChannelControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Reconnect_ConsumerEC_Control:: - TAO_ECG_Reconnect_ConsumerEC_Control (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Gateway_IIOP* gateway, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - adapter_ (this), - gateway_ (gateway), - orb_ (CORBA::ORB::_duplicate (orb)), - is_consumer_ec_connected_ (1) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING != 0*/ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -TAO_ECG_Reconnect_ConsumerEC_Control::~TAO_ECG_Reconnect_ConsumerEC_Control (void) -{ -} - -void -TAO_ECG_Reconnect_ConsumerEC_Control::try_reconnect ( - ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - gateway_->consumer_ec_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (!non_existent) - { - this->reconnect(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -void -TAO_ECG_Reconnect_ConsumerEC_Control::reconnect ( - ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - is_consumer_ec_connected_ = 1; - - gateway_->reconnect_consumer_ec(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -void -TAO_ECG_Reconnect_ConsumerEC_Control::query_eventchannel ( - ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - if (is_consumer_ec_connected_ == 1) - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - gateway_->consumer_ec_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->event_channel_not_exist (gateway_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - else - { - this->try_reconnect(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->event_channel_not_exist (gateway_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - // This is TAO's minor code for a failed connection, we may - // want to be more lenient in the future.. - // if (transient.minor () == 0x54410085) - this->event_channel_not_exist (gateway_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -void -TAO_ECG_Reconnect_ConsumerEC_Control::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - // NOTE, setting RELATIVE_RT_TIMEOUT_POLICY for the duration of - // query_eventchannel () below has greater impact than desired. For - // example, while we are pinging consumers here, a nested upcall, - // which requires making remote calls may come into the ORB. Those - // remote calls will be carried out with with - // RELATIVE_RT_TIMEOUT_POLICY set here in effect. - // @@ TODO: should use Guard to set and reset policies. - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Query the state of the consumers... - this->query_eventchannel (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -int -TAO_ECG_Reconnect_ConsumerEC_Control::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Timeout for polling state (default = 10 msec) - TimeBase::TimeT timeout = timeout_.usec() * 10; - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Only schedule the timer, when the rate is not zero - if (this->rate_ != ACE_Time_Value::zero) - { - // Schedule the timer after these policies has been set, because the - // handle_timeout uses these policies, if done in front, the channel - // can crash when the timeout expires before initiazation is ready. - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ - - return 0; -} - -int -TAO_ECG_Reconnect_ConsumerEC_Control::shutdown (void) -{ - int r = 0; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - r = this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - - this->adapter_.reactor (0); - return r; -} - -void -TAO_ECG_Reconnect_ConsumerEC_Control::event_channel_not_exist ( - TAO_EC_Gateway_IIOP* gateway - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - //ACE_DEBUG ((LM_DEBUG, - // "ECG_Reconnect_ConsumerControl(%P|%t) - " - // "channel %x does not exists\n")); - is_consumer_ec_connected_ = 0; - - gateway->suspend_supplier_ec (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - gateway->cleanup_consumer_proxies (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_EC_Reconnect_ConsumerControl::event_channel_not_exist"); - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_ECG_Reconnect_ConsumerEC_Control::system_exception ( - TAO_EC_Gateway_IIOP* gateway, - CORBA::SystemException & /* exception */ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - // The current implementation is very strict, and kicks out a - // client on the first system exception. We may - // want to be more lenient in the future, for example, - // this is TAO's minor code for a failed connection. - // - // if (CORBA::TRANSIENT::_narrow (&exception) != 0 - // && exception->minor () == 0x54410085) - // return; - - // Anything else is serious, including timeouts... - //ACE_DEBUG ((LM_DEBUG, - // "ECG_Reconnect_ConsumerControl(%P|%t) - " - // "channel %x does not exists system except\n")); - is_consumer_ec_connected_ = 0; - - gateway->suspend_supplier_ec (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - gateway->cleanup_consumer_proxies (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -// **************************************************************** - -TAO_ECG_Reconnect_ConsumerEC_Control_Adapter::TAO_ECG_Reconnect_ConsumerEC_Control_Adapter ( - TAO_ECG_Reconnect_ConsumerEC_Control *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_ECG_Reconnect_ConsumerEC_Control_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h deleted file mode 100644 index b1f4a6c2987..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h +++ /dev/null @@ -1,147 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Reconnect_ConsumerEC_Control.h - * - * $Id$ - * - * @author Johnny Willemsen (jwillemsen@remedy.nl) - * - */ - -#ifndef TAO_ECG_RECONNECT_CONSUMEREC_CONTROL_H -#define TAO_ECG_RECONNECT_CONSUMEREC_CONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/ECG_ConsumerEC_Control.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/ORB.h" -#include "tao/PolicyC.h" - -#include "ace/Event_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_Reconnect_ConsumerEC_Control; -class TAO_EC_Gateway_IIOP; - -/** - * @class TAO_ECG_Reconnect_ConsumerEC_Control_Adapter - * - * @brief Forwards timeout events to the Reconnect ConsumerControl - * - * The Reconnect ConsumerControl strategy uses the reactor to - * periodically wakeup and verify the state of the consumers - * registered with the Event Channel. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Reconnect_ConsumerEC_Control_Adapter - : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_ECG_Reconnect_ConsumerEC_Control_Adapter (TAO_ECG_Reconnect_ConsumerEC_Control *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_ECG_Reconnect_ConsumerEC_Control *adaptee_; -}; - -/** - * @class TAO_ECG_Reconnect_ConsumerEC_Control - * - * @brief Consumer event channel control - * - * Defines the interface for the consumer event channel control strategy. - * This strategy handles misbehaving or failing consumer event channels. - * - * This control tries to reconnect to the consumer ec incase of a connection - * loss and then does a reconnect when the connection is back again. When also - * a restart of the consumer ec must be handled correctly, then the consumer - * ec must use a persistent IOR. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Reconnect_ConsumerEC_Control - : public TAO_ECG_ConsumerEC_Control -{ -public: - /// Constructor. It does not assume ownership of the @a event_channel - /// parameter. - TAO_ECG_Reconnect_ConsumerEC_Control (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Gateway_IIOP* gateway, - CORBA::ORB_ptr orb); - - /// Destructor. - virtual ~TAO_ECG_Reconnect_ConsumerEC_Control (void); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = Documented in TAO_EC_ConsumerControl - virtual int activate (void); - virtual int shutdown (void); - virtual void event_channel_not_exist (TAO_EC_Gateway_IIOP *gateway - ACE_ENV_ARG_DECL_NOT_USED); - virtual void system_exception (TAO_EC_Gateway_IIOP *gateway, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - -private: - /// Check if the consumers still exists. It is a helper method for - /// handle_timeout() to isolate the exceptions. - void query_eventchannel (ACE_ENV_SINGLE_ARG_DECL); - - /// Look if we can reconnect again. - void try_reconnect (ACE_ENV_SINGLE_ARG_DECL); - - /// Reconnect to the consumer ec. - void reconnect (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The polling rate - ACE_Time_Value rate_; - - /// The polling timeout - ACE_Time_Value timeout_; - - /// The Adapter for the reactor events - TAO_ECG_Reconnect_ConsumerEC_Control_Adapter adapter_; - - /// The gateway - TAO_EC_Gateway_IIOP* gateway_; - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - - /// Do we have a connection to the consumer ec - int is_consumer_ec_connected_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_RECONNECT_CONSUMEREC_CONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.cpp deleted file mode 100644 index 064d5c35183..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_Simple_Address_Server.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Simple_Address_Server.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Simple_Address_Server::TAO_ECG_Simple_Address_Server (void) -{ -} - -TAO_ECG_Simple_Address_Server::~TAO_ECG_Simple_Address_Server (void) -{ -} - -int -TAO_ECG_Simple_Address_Server::init (const char *mcast_addr) -{ - return this->addr_.set (mcast_addr); -} - -void -TAO_ECG_Simple_Address_Server::get_addr ( - const RtecEventComm::EventHeader& /*header*/, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // unsigned long - addr.ipaddr = this->addr_.get_ip_address (); - // unsigned short - addr.port = this->addr_.get_port_number (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.h deleted file mode 100644 index 4c0cb219ccc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.h +++ /dev/null @@ -1,69 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Simple_Address_Server.h - * - * $Id$ - * - * @author Marina Spivak (marina@atdesk.com) - * - */ - -#ifndef TAO_ECG_SIMPLE_ADDRESS_SERVER_H -#define TAO_ECG_SIMPLE_ADDRESS_SERVER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecUDPAdminS.h" -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" -#include "ace/INET_Addr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Simple_Address_Server - * - * @brief Basic implementation of RtecUDPAdmin idl interface. - * - * This simple server always returns multicast address it was - * initialized with, regardless of the header. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Simple_Address_Server : - public virtual POA_RtecUDPAdmin::AddrServer -{ -public: - - /// Create a new TAO_ECG_Simple_Address_Server object. - /// (Constructor access is restricted to insure that all - /// TAO_ECG_Simple_Address_Server objects are heap-allocated.) - static TAO_EC_Servant_Var create (void); - - /// Destructor - virtual ~TAO_ECG_Simple_Address_Server (void); - - int init (const char *arg); - - // = The RtecUDPAdmin::AddrServer methods - virtual void get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - - /// Constructor (protected). Clients can create new - /// TAO_ECG_Simple_Address_Server objects using the static create() - /// method. - TAO_ECG_Simple_Address_Server (void); - -private: - ACE_INET_Addr addr_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_Simple_Address_Server.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_SIMPLE_ADDRESS_SERVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.i b/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.i deleted file mode 100644 index 0aa18cada97..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.i +++ /dev/null @@ -1,17 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_EC_Servant_Var -TAO_ECG_Simple_Address_Server::create (void) -{ - TAO_EC_Servant_Var s; - ACE_NEW_RETURN (s, - TAO_ECG_Simple_Address_Server, - s); - return s; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.cpp deleted file mode 100644 index fa40043a50f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.cpp +++ /dev/null @@ -1,98 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_Simple_Mcast_EH.h" -#include "ace/Log_Msg.h" -#include "ace/Reactor.h" -#include "ace/os_include/os_fcntl.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_Simple_Mcast_EH::TAO_ECG_Simple_Mcast_EH (TAO_ECG_Dgram_Handler *recv) - : receiver_ (recv) -{ - ACE_ASSERT (this->receiver_); -} - -TAO_ECG_Simple_Mcast_EH::~TAO_ECG_Simple_Mcast_EH (void) -{ -} - -int -TAO_ECG_Simple_Mcast_EH::open (const char * mcast_addr, - const ACE_TCHAR *net_if) -{ - // Check that we haven't been closed already. - if (!this->receiver_) - return -1; - - if (mcast_addr == 0) - return -1; - - ACE_INET_Addr mcast_group; - if (mcast_group.set (mcast_addr) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to open mcast handler: " - "error using specified address %s " - "in ACE_INET.set ().\n", - mcast_addr), - -1); - - if (this->dgram_.subscribe (mcast_group, 1, net_if) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to open mcast handler: error " - "subscribing to %s\n", - mcast_addr), - -1); - - (void) dgram_.enable(ACE_NONBLOCK); - - if (!this->reactor () - || 0 != this->reactor ()->register_handler (this->dgram_.get_handle (), - this, - ACE_Event_Handler::READ_MASK)) - { - this->dgram_.close (); - ACE_ERROR_RETURN ((LM_ERROR, - "Cannot register handler with reactor.\n"), - -1); - } - - return 0; -} - -int -TAO_ECG_Simple_Mcast_EH::shutdown (void) -{ - // Already shut down. - if (!this->receiver_) - return -1; - - int result = 0; - if (this->reactor ()) - { - result = this->reactor ()->remove_handler (this->dgram_.get_handle (), - ACE_Event_Handler::READ_MASK); - } - if (result != 0) - ACE_ERROR ((LM_ERROR, - "Unable to deregister handler from reactor " - "on shutdown.\n")); - - result = this->dgram_.close (); - if (result != 0) - ACE_ERROR ((LM_ERROR, - "Unable to close mcast receiving dgram " - "on shutdown.\n")); - - this->receiver_ = 0; - - return result; -} - -int -TAO_ECG_Simple_Mcast_EH::handle_input (ACE_HANDLE /* fd */) -{ - return this->receiver_->handle_input (this->dgram_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h deleted file mode 100644 index d15ff0c82c6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h +++ /dev/null @@ -1,96 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_Simple_Mcast_EH.h - * - * $Id$ - * - * @author Marina Spivak - * - */ -#ifndef TAO_ECG_SIMPLE_MCAST_EH_H -#define TAO_ECG_SIMPLE_MCAST_EH_H -#include /**/ "ace/pre.h" - -#include "ace/Event_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/Event/ECG_Adapters.h" -#include "ace/SOCK_Dgram_Mcast.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_Simple_Mcast_EH - * - * @brief Simple Event Handler for mcast messages. Listens for - * messages on a single mcast group. Useful in environments - * where event traffic is not separated into different groups. - * Calls handle_input (ACE_SOCK_Dgram_Mcast dgram) on a specified - * TAO_ECG_Dgram_Handler to inform it about message arrival. - * - * NOT THREAD-SAFE. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_Simple_Mcast_EH - : public ACE_Event_Handler - , public TAO_ECG_Handler_Shutdown -{ -public: - - /// Initialization and termination methods. - //@{ - /// Constructor. - /// Messages received by this EH will be forwarded to the . - /* - * See comments for data member on why raw pointer is - * used for the argument. - */ - TAO_ECG_Simple_Mcast_EH (TAO_ECG_Dgram_Handler *recv); - - /// Destructor. - virtual ~TAO_ECG_Simple_Mcast_EH (void); - - /// Join the specified multicast group and register itself with the - /// reactor. - /// To insure proper resource clean up, if open () is successful, - /// the user MUST call shutdown () when handler is no longer needed - /// (and its reactor still exists). - int open (const char * mcast_addr, - const ACE_TCHAR *net_if = 0); - - /// TAO_ECG_Handler_Shutdown method. - /// Unsubscribe from the reactor and close the datagram. - virtual int shutdown (void); - //@} - - /// Main method - reactor callback. Notify that - /// is ready for reading. - virtual int handle_input (ACE_HANDLE fd); - -private: - - // Socket on which we listen for messages. - ACE_SOCK_Dgram_Mcast dgram_; - - /// We callback to this object when a message arrives. - /* - * We can keep a raw pointer to the receiver (even though it may - * be a refcounted object) because receiver guarantees - * to notify us (by calling shutdown ()) before going away. - * - * We have to use raw pointer instead of a refcounting mechanism - * here to avoid a circular refcounting dependency between - * receiver and handler. - */ - TAO_ECG_Dgram_Handler* receiver_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_SIMPLE_Mcast_EH_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.cpp deleted file mode 100644 index 257a8ff2c3b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_UDP_EH.h" -#include "ace/Reactor.h" -#include "ace/INET_Addr.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_EH.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, ECG_UDP_EH, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_UDP_EH::TAO_ECG_UDP_EH (TAO_ECG_Dgram_Handler *recv) - : receiver_ (recv) -{ - ACE_ASSERT (this->receiver_); -} - -TAO_ECG_UDP_EH::~TAO_ECG_UDP_EH (void) -{ -} - -int -TAO_ECG_UDP_EH::open (const ACE_INET_Addr& ipaddr, - int reuse_addr) -{ - // Check that we haven't been closed already. - if (!this->receiver_) - return -1; - - if (this->dgram_.open (ipaddr, PF_INET, 0, reuse_addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to open udp handler: " - "error opening receiving dgram.\n"), - -1); - - if (!this->reactor () - || 0 != this->reactor ()->register_handler (this->dgram_.get_handle (), - this, - ACE_Event_Handler::READ_MASK)) - { - this->dgram_.close (); - ACE_ERROR_RETURN ((LM_ERROR, - "Cannot register handler with reactor.\n"), - -1); - } - - return 0; -} - -int -TAO_ECG_UDP_EH::shutdown (void) -{ - // Already shut down. - if (!this->receiver_) - return -1; - - int result = 0; - if (this->reactor ()) - { - result = this->reactor ()->remove_handler (this->dgram_.get_handle (), - ACE_Event_Handler::READ_MASK); - } - if (result != 0) - ACE_ERROR ((LM_ERROR, - "Unable to deregister handler from reactor " - "on shutdown.\n")); - - result = this->dgram_.close (); - if (result != 0) - ACE_ERROR ((LM_ERROR, - "Unable to close receiving dgram on shutdown.\n")); - - this->receiver_ = 0; - - return result; -} - -int -TAO_ECG_UDP_EH::handle_input (ACE_HANDLE) -{ - return this->receiver_->handle_input (this->dgram_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.h b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.h deleted file mode 100644 index b87d4d9c745..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_UDP_EH.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_ECG_UDP_EH_H -#define TAO_ECG_UDP_EH_H -#include /**/ "ace/pre.h" - -#include "ace/Event_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/Event/ECG_Adapters.h" -#include "ace/SOCK_Dgram.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_UDP_Receiver; - -/** - * @class TAO_ECG_UDP_EH - * - * @brief Event Handler for UDP messages. - * - * Listens for messages on a UDP socket. When there is a message, - * calls handle_input () on a specified TAO_ECG_Dgram_Handler to - * inform it about message arrival. - * - * NOT THREAD-SAFE. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_UDP_EH : - public ACE_Event_Handler -, public TAO_ECG_Handler_Shutdown -{ -public: - - /// Initialization and termination methods. - //@{ - /// Constructor. - /// Messages received by this EH will be forwarded to the . - /* - * See comments for data member on why raw pointer is - * used for the argument. - */ - TAO_ECG_UDP_EH (TAO_ECG_Dgram_Handler *recv); - - /// Destructor. - virtual ~TAO_ECG_UDP_EH (void); - - /// Open the datagram and register itself with this->reactor(). - /// To insure proper resource clean up, if open () is successful, - /// the user MUST call shutdown () when handler is no longer needed - /// (and its reactor still exists). - int open (const ACE_INET_Addr& ipaddr, - int reuse_addr = 0); - - /// TAO_ECG_Handler_Shutdown method. - /// Unsubscribe from the reactor and close the datagram. - virtual int shutdown (void); - //@} - - /// Main method - reactor callback. Notify that - /// is ready for reading. - virtual int handle_input (ACE_HANDLE fd); - - /** - * Obtain the dgram, this is one of those "controlled violations of - * type safety", allowing the user to setup options and gain access - * to low-level features. - */ - ACE_SOCK_Dgram &dgram (void); - -private: - - /// The datagram used to receive the data. - ACE_SOCK_Dgram dgram_; - - /// We callback to this object when a message arrives. - /* - * We can keep a raw pointer to the receiver (even though it may - * be a refcounted object) because receiver guarantees - * to notify us (by calling shutdown ()) before going away. - * - * We have to use raw pointer instead of a refcounting mechanism - * here to avoid a circular refcounting dependency between - * receiver and handler. - */ - TAO_ECG_Dgram_Handler* receiver_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_EH.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_UDP_EH_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.i b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.i deleted file mode 100644 index d84f70937b8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_EH.i +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE ACE_SOCK_Dgram& -TAO_ECG_UDP_EH::dgram (void) -{ - return this->dgram_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp deleted file mode 100644 index 8b6fb71a6fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_UDP_Out_Endpoint.h" -#include "ace/INET_Addr.h" -#include "ace/Sock_Connect.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_Out_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, ECG_UDP_Out_Endpoint, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_UDP_Out_Endpoint::~TAO_ECG_UDP_Out_Endpoint (void) -{ - this->dgram_.close (); - - delete [] this->ifs_; -} - -CORBA::Boolean -TAO_ECG_UDP_Out_Endpoint::is_loopback (const ACE_INET_Addr& from) -{ - if (this->port_number_ == 0) - { - // Cache the port number... - ACE_INET_Addr local_addr; - if (this->dgram ().get_local_addr (local_addr) == -1) - return false; - this->port_number_ = local_addr.get_port_number (); - } - - // Most of the time the port number is enough to determine if the - // message is remote, only when the local port number and the remote - // port number match we have to look at the local ip addresses. - if (from.get_port_number () != this->port_number_) - return false; - - if (this->ifs_ == 0) - { - ACE::get_ip_interfaces (this->if_count_, this->ifs_); - } - - for (ACE_INET_Addr* i = this->ifs_; - i != this->ifs_ + this->if_count_; - ++i) - { - if ((*i).get_ip_address () == from.get_ip_address ()) - return true; - } - return false; -} - -TAO_ECG_UDP_Out_Endpoint& -TAO_ECG_UDP_Out_Endpoint::operator= (const TAO_ECG_UDP_Out_Endpoint& rhs) -{ - if (this != &rhs) - { - this->request_id_generator_ = rhs.request_id_generator_; - this->dgram_ = rhs.dgram_; - this->port_number_ = rhs.port_number_; - this->if_count_ = rhs.if_count_; - - delete [] this->ifs_; - this->ifs_ = 0; - - if (this->if_count_ != 0) - { - ACE_NEW_RETURN (this->ifs_, - ACE_INET_Addr [this->if_count_], - *this); - for(size_t i = 0; i < this->if_count_; ++i) - { - this->ifs_[i] = rhs.ifs_[i]; - } - } - } - - return *this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h deleted file mode 100644 index a967401e6e6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_UDP_Out_Endpoint.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - */ - -#ifndef TAO_ECG_UDP_OUT_ENDPOINT_H -#define TAO_ECG_UDP_OUT_ENDPOINT_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Basic_Types.h" -#include "tao/orbconf.h" - -#include "ace/Refcounted_Auto_Ptr.h" -#include "ace/SOCK_Dgram.h" -#include "ace/Atomic_Op.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_INET_Addr; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ECG_UDP_Out_Endpoint - * - * @brief Maintains information about an outgoing endpoint. - * - * UDP senders can share a single endpoint to send UDP packets, - * but there is more state associated with this endpoint than its - * datagram SAP; for instance we need to keep track of the request - * id. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_UDP_Out_Endpoint -{ -public: - /// Constructor - TAO_ECG_UDP_Out_Endpoint (void); - - /// Constructor - ~TAO_ECG_UDP_Out_Endpoint (void); - - /// Copy Constructor - TAO_ECG_UDP_Out_Endpoint (const TAO_ECG_UDP_Out_Endpoint& rhs); - - /// Assignment operator - TAO_ECG_UDP_Out_Endpoint& operator= (const TAO_ECG_UDP_Out_Endpoint& rhs); - - /// Obtain the datagram associated with this endpoint. Clients of - /// this class must open, and register (if necessary) this datagram. - ACE_SOCK_Dgram& dgram (void); - - /// Obtain the next request id. - CORBA::ULong next_request_id (void); - - /// The endpoint can detect if a data-gram was sent by itself, this - /// is useful to ignore or remove messages sent by the same process. - CORBA::Boolean is_loopback (const ACE_INET_Addr& from); - -private: - /// The request id.... - ACE_Atomic_Op request_id_generator_; - - /// The datagram.... - ACE_SOCK_Dgram dgram_; - - /// Cache the port-number so we can quickly determine if an event is - /// coming from another endpoint. - u_short port_number_; - - /// Keep the list of local interfaces, needed for the is_loopback - /// method. - size_t if_count_; - ACE_INET_Addr* ifs_; -}; - -/** - * @typedef TAO_ECG_Refcounted_Endpoint - * - * @brief Reference counted pointer to TAO_ECG_UDP_Out_Endpoint - * - * Instances of TAO_ECG_UDP_Out_Endpoint are used by multiple objects - * in the Event Channel gateways, the endpoints are reference counted - * to manage their lifetime automatically. - */ -typedef ACE_Refcounted_Auto_Ptr TAO_ECG_Refcounted_Endpoint; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_Out_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_ECG_UDP_OUT_ENDPOINT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.i b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.i deleted file mode 100644 index 9f8fd0df5f3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.i +++ /dev/null @@ -1,37 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ECG_UDP_Out_Endpoint::TAO_ECG_UDP_Out_Endpoint (void) - : port_number_ (0), - if_count_ (0), - ifs_ (0) -{ -} - -ACE_INLINE -TAO_ECG_UDP_Out_Endpoint::TAO_ECG_UDP_Out_Endpoint ( - const TAO_ECG_UDP_Out_Endpoint& rhs) - : port_number_ (0), - if_count_ (0), - ifs_ (0) -{ - *this = rhs; -} - -ACE_INLINE ACE_SOCK_Dgram& -TAO_ECG_UDP_Out_Endpoint::dgram (void) -{ - return this->dgram_; -} - -ACE_INLINE CORBA::ULong -TAO_ECG_UDP_Out_Endpoint::next_request_id (void) -{ - return this->request_id_generator_++; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp deleted file mode 100644 index 1a492f72d66..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp +++ /dev/null @@ -1,250 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/ECG_UDP_Receiver.h" -#include "orbsvcs/Event_Utilities.h" -#include "ace/SString.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_Receiver.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - ECG_UDP_Receiver, - "$Id$") - - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_UDP_Receiver::~TAO_ECG_UDP_Receiver (void) -{ - this->consumer_proxy_ = - RtecEventChannelAdmin::ProxyPushConsumer::_nil (); - - if (this->handler_rptr_.get ()) - this->handler_rptr_->shutdown (); -} - -void -TAO_ECG_UDP_Receiver::init (RtecEventChannelAdmin::EventChannel_ptr lcl_ec, - TAO_ECG_Refcounted_Endpoint ignore_from, - RtecUDPAdmin::AddrServer_ptr addr_server - ACE_ENV_ARG_DECL) -{ - // Verify arguments. - // is allowed to be nil. But then, if get_addr () method - // is invoked, it throws an exception. - if (CORBA::is_nil (lcl_ec)) - { - ACE_ERROR ((LM_ERROR, - "TAO_ECG_UDP_Receiver::init(): " - " argument is nil.\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - - this->cdr_receiver_.init (ignore_from); - - this->lcl_ec_ = - RtecEventChannelAdmin::EventChannel::_duplicate (lcl_ec); - - this->addr_server_ = - RtecUDPAdmin::AddrServer::_duplicate (addr_server); -} - -void -TAO_ECG_UDP_Receiver::connect (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL) -{ - if (CORBA::is_nil (this->lcl_ec_.in ())) - { - ACE_ERROR ((LM_ERROR, - "Error initializing TAO_ECG_UDP_Receiver: " - "init() hasn't been called before connect().\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - - if (pub.publications.length () == 0) - { - ACE_ERROR ((LM_ERROR, - "TAO_ECG_UDP_Receiver::connect(): " - "0-length publications argument.\n")); - ACE_THROW (CORBA::INTERNAL ()); - } - - if (CORBA::is_nil (this->consumer_proxy_.in ())) - { - this->new_connect (pub ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - this->reconnect (pub ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_ECG_UDP_Receiver::new_connect (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL) -{ - // Activate with poa. - RtecEventComm::PushSupplier_var supplier_ref; - PortableServer::POA_var poa = this->_default_POA (); - - TAO_EC_Object_Deactivator deactivator; - activate (supplier_ref, - poa.in (), - this, - deactivator - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Connect as a supplier to the local EC. - RtecEventChannelAdmin::SupplierAdmin_var supplier_admin = - this->lcl_ec_->for_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::ProxyPushConsumer_var proxy = - supplier_admin->obtain_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - ECG_Receiver_Auto_Proxy_Disconnect new_proxy_disconnect (proxy.in ()); - - proxy->connect_push_supplier (supplier_ref.in (), - pub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Update resource managers. - this->consumer_proxy_ = proxy._retn (); - this->auto_proxy_disconnect_.set_command (new_proxy_disconnect); - this->set_deactivator (deactivator); -} - -void -TAO_ECG_UDP_Receiver::reconnect (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL) -{ - // Obtain our object reference from the POA. - RtecEventComm::PushSupplier_var supplier_ref; - PortableServer::POA_var poa = this->_default_POA (); - - CORBA::Object_var obj = poa->servant_to_reference (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - supplier_ref = - RtecEventComm::PushSupplier::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier_ref.in ())) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - // Reconnect. - this->consumer_proxy_->connect_push_supplier (supplier_ref.in (), - pub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_ECG_UDP_Receiver::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Prevent attempts to disconnect. - this->auto_proxy_disconnect_.disallow_command (); - - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ECG_UDP_Receiver::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - if (this->handler_rptr_.get ()) - this->handler_rptr_->shutdown (); - TAO_ECG_Refcounted_Handler empty_handler_rptr; - this->handler_rptr_ = empty_handler_rptr; - - this->consumer_proxy_ = - RtecEventChannelAdmin::ProxyPushConsumer::_nil (); - - this->auto_proxy_disconnect_.execute (); - - this->deactivator_.deactivate (); - - this->cdr_receiver_.shutdown (); -} - -// Helper class for using . -class TAO_ECG_Event_CDR_Decoder: public TAO_ECG_CDR_Processor -{ -public: - virtual int decode (TAO_InputCDR &cdr); - - RtecEventComm::EventSet events; -}; - -int -TAO_ECG_Event_CDR_Decoder::decode (TAO_InputCDR &cdr) -{ - if (!(cdr >> this->events)) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Error decoding events cdr.\n"), - -1); - } - return 0; -} - -int -TAO_ECG_UDP_Receiver::handle_input (ACE_SOCK_Dgram& dgram) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Make sure we are connected to the Event Channel before proceeding - // any further. - if (CORBA::is_nil (this->consumer_proxy_.in ())) - { - ACE_ERROR ((LM_ERROR, - "TAO_ECG_UDP_Receiver::handle_input() " - "called but the Receiver is not connected " - "to an event channel. Shutting down the Receiver.\n")); - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - return 0; - } - - // Receive data. - TAO_ECG_Event_CDR_Decoder cdr_decoder; - int result = this->cdr_receiver_.handle_input (dgram, &cdr_decoder); - - if (result == 0) - // No data to act on. - { - return 0; - } - if (result == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Error receiving multicasted events.\n"), - 0); - } - - this->consumer_proxy_->push (cdr_decoder.events ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - ACE_CATCHANY - { - ACE_DEBUG ((LM_ERROR, - "Caught and swallowed EXCEPTION in " - "ECG_UDP_Receiver::handle_input: %s\n", - ACE_ANY_EXCEPTION._info ().c_str ())); - } - ACE_ENDTRY; - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h deleted file mode 100644 index 3b5a4f686dc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h +++ /dev/null @@ -1,239 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_UDP_Receiver.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - * - * Define helper classes to propagate events between ECs using - * either UDP or multicast. - * The architecture is a bit complicated and deserves some - * explanation: sending the events over UDP (or mcast) is easy, a - * Consumer (TAO_ECG_UDP_Sender) subscribes for a certain set of - * events, its push() method marshalls the event set into a CDR - * stream that is sent using an ACE_SOCK_Dgram. The subscription - * set and IP address can be configured. - * Another helper class (TAO_ECG_UDP_Receiver) acts as a supplier of - * events; it receives a callback when an event is available on an - * ACE_SOCK_Dgram, it demarshalls the event and pushes it to the - * EC. Two ACE_Event_Handler classes are provided that can forward - * the events to this Supplier: TAO_ECG_Mcast_EH can receive events - * from a multicast group; TAO_ECG_UDP_EH can receive events from a - * regular UDP socket. - * - * @todo The class makes an extra copy of the events, we need to - * investigate if closer collaboration with its collocated EC could - * be used to remove that copy. - */ - -#ifndef TAO_ECG_UDP_RECEIVER_H -#define TAO_ECG_UDP_RECEIVER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecUDPAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecEventChannelAdminS.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "orbsvcs/Event/ECG_Adapters.h" -#include "orbsvcs/Event/EC_Lifetime_Utils.h" -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" -#include "orbsvcs/Event/ECG_CDR_Message_Receiver.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Reactor; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_UDP_Out_Endpoint; - -/** - * @class TAO_ECG_UDP_Receiver_Disconnect_Command - * - * @brief Disconnects supplier represented by @a proxy from the Event Channel. - * - * Utility class for use as a template argument to TAO_EC_Auto_Command. - * TAO_EC_Auto_Command manages - * supplier connection to the Event Channel, automatically disconnecting from - * @a proxy in its destructor, if necessary. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_UDP_Receiver_Disconnect_Command -{ -public: - TAO_ECG_UDP_Receiver_Disconnect_Command (void); - TAO_ECG_UDP_Receiver_Disconnect_Command ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy); - - TAO_ECG_UDP_Receiver_Disconnect_Command ( - const TAO_ECG_UDP_Receiver_Disconnect_Command & rhs); - - TAO_ECG_UDP_Receiver_Disconnect_Command & - operator= (const TAO_ECG_UDP_Receiver_Disconnect_Command & rhs); - - void execute (ACE_ENV_SINGLE_ARG_DECL); - -private: - - RtecEventChannelAdmin::ProxyPushConsumer_var proxy_; -}; - -/** - * @class TAO_ECG_UDP_Receiver - * - * @brief Receive events from UDP or Multicast and push them to a - * "local" EC. - * NOT THREAD-SAFE. - * - * This class connects as a supplier to an EventChannel, and supplies - * to it all events it receives via UDP or Multicast. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_UDP_Receiver : - public virtual POA_RtecEventComm::PushSupplier - , public virtual TAO_EC_Deactivated_Object - , public virtual TAO_ECG_Dgram_Handler -{ -public: - - /// Initialization and termination methods. - //@{ - - /// Create a new TAO_ECG_UDP_Receiver object. - /// (Constructor access is restricted to insure that all - /// TAO_ECG_UDP_Receiver objects are heap-allocated.) - static TAO_EC_Servant_Var create (CORBA::Boolean perform_crc = 0); - - ~TAO_ECG_UDP_Receiver (void); - - /** - * @param lcl_ec Event Channel to which we will act as a supplier of events. - * @param ignore_from Endpoint used to remove events generated by - * the same process. - * @param addr_server Address server used to obtain mapping of event type - * to multicast group. - * To insure proper resource clean up, if init () is successful, - * shutdown () must be called when the receiver is no longer needed. - * This is done by disconnect_push_supplier() method. If - * disconnect_push_supplier() will not be called, it is the - * responsibility of the user. - * Furthermore, if shutdown() is not explicitly called by - * either disconnect_push_supplier () or the user, the receiver - * will clean up the resources in its destructor, however, certain - * entities involved in cleanup must still exist at that point, - * e.g., POA. - */ - void init (RtecEventChannelAdmin::EventChannel_ptr lcl_ec, - TAO_ECG_Refcounted_Endpoint ignore_from, - RtecUDPAdmin::AddrServer_ptr addr_server - ACE_ENV_ARG_DECL); - - /// Connect or reconnect to the EC with the given publications. - /** - * @note If we are already connected to EC and a reconnection is - * necessary, the EC must have reconnects enabled in order for this - * method to succeed. - */ - void connect (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL); - - /// Set the handler we must notify when shutdown occurs. (This is - /// the handler that alerts us when data is available on udp/mcast socket.) - /// Shutdown notification gives the handler an opportunity to properly clean - /// up resources. - void set_handler_shutdown (TAO_ECG_Refcounted_Handler handler_shutdown_rptr); - - /// Deactivate from POA and disconnect from EC, if necessary. Shut - /// down all receiver components. - /** - * If this class is used with refcounting, calling this method may - * result in decrementing of the reference count (due to - * deactivation) and deletion of the object. - */ - void shutdown (ACE_ENV_SINGLE_ARG_DECL); - //@} - - /// Accessor. - /// Call the RtecUDPAdmin::AddrServer::get_addr. Throws exception - /// if nill Address Server was specified in init (). - void get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL); - - /// The PushSupplier idl method. - /// Invokes shutdown (), which may result in the object being deleted, if - /// refcounting is used to manage its lifetime. - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// TAO_ECG_Dgram_Handler method. - /** - * UDP/Multicast Event_Handlers call this method when data is - * available at the socket - the is ready for reading. - * Data is read from the socket, and, if complete message is - * received, the event is pushed to the local Event Channel. - */ - virtual int handle_input (ACE_SOCK_Dgram& dgram); - -protected: - - /// Constructor (protected). Clients can create new - /// TAO_ECG_UDP_Receiver objects using the static create() method. - TAO_ECG_UDP_Receiver (CORBA::Boolean perform_crc = 0); - -private: - - /// Helpers for the connect() method. - //@{ - // Establishes connection to the Event Channel for the first time. - void new_connect (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL); - - // Updates existing connection to the Event Channel. - void reconnect (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL); - //@} - - /// Event Channel to which we act as a supplier. - RtecEventChannelAdmin::EventChannel_var lcl_ec_; - - /// The server used to map event types to multicast groups. - RtecUDPAdmin::AddrServer_var addr_server_; - - /// Proxy used to supply events to the Event Channel. - RtecEventChannelAdmin::ProxyPushConsumer_var consumer_proxy_; - - /// Helper for reading incoming UDP/Multicast messages. It assembles - /// message fragments and provides access to a cdr stream once the - /// complete message has been received. - TAO_ECG_CDR_Message_Receiver cdr_receiver_; - - /// Handler we must notify when shutdown occurs, so it has an - /// opportunity to clean up resources. - TAO_ECG_Refcounted_Handler handler_rptr_; - - typedef TAO_EC_Auto_Command - ECG_Receiver_Auto_Proxy_Disconnect; - /// Manages our connection to Consumer Proxy. - ECG_Receiver_Auto_Proxy_Disconnect auto_proxy_disconnect_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_Receiver.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_UDP_RECEIVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.i b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.i deleted file mode 100644 index 47eb3d83958..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.i +++ /dev/null @@ -1,106 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_ECG_UDP_Receiver_Disconnect_Command:: -TAO_ECG_UDP_Receiver_Disconnect_Command (void) - : proxy_ () -{ -} - -ACE_INLINE -TAO_ECG_UDP_Receiver_Disconnect_Command:: -TAO_ECG_UDP_Receiver_Disconnect_Command ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy) - : proxy_ (RtecEventChannelAdmin::ProxyPushConsumer::_duplicate (proxy)) -{ -} - -ACE_INLINE -TAO_ECG_UDP_Receiver_Disconnect_Command:: -TAO_ECG_UDP_Receiver_Disconnect_Command ( - const TAO_ECG_UDP_Receiver_Disconnect_Command & rhs) - : proxy_ (RtecEventChannelAdmin::ProxyPushConsumer::_duplicate - (rhs.proxy_.in ())) -{ -} - -ACE_INLINE -TAO_ECG_UDP_Receiver_Disconnect_Command & -TAO_ECG_UDP_Receiver_Disconnect_Command::operator= ( - const TAO_ECG_UDP_Receiver_Disconnect_Command & rhs) -{ - this->proxy_ = - RtecEventChannelAdmin::ProxyPushConsumer::_duplicate (rhs.proxy_.in ()); - - return *this; -} - -ACE_INLINE void -TAO_ECG_UDP_Receiver_Disconnect_Command:: -execute (ACE_ENV_SINGLE_ARG_DECL) -{ - if (CORBA::is_nil (this->proxy_.in ())) - // We are not connected. - return; - - RtecEventChannelAdmin::ProxyPushConsumer_var release_proxy = - this->proxy_._retn (); - - release_proxy->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -//*************************************************************************** - -ACE_INLINE -TAO_ECG_UDP_Receiver::TAO_ECG_UDP_Receiver (CORBA::Boolean perform_crc) - : lcl_ec_ () - , addr_server_ () - , consumer_proxy_ () - , cdr_receiver_ (perform_crc) - , handler_rptr_ () - , auto_proxy_disconnect_ () -{ -} - -ACE_INLINE TAO_EC_Servant_Var -TAO_ECG_UDP_Receiver::create (CORBA::Boolean perform_crc) -{ - TAO_EC_Servant_Var r; - ACE_NEW_RETURN (r, - TAO_ECG_UDP_Receiver (perform_crc), - r); - return r; -} - -ACE_INLINE void -TAO_ECG_UDP_Receiver::set_handler_shutdown ( - TAO_ECG_Refcounted_Handler handler_shutdown_rptr) -{ - this->handler_rptr_ = handler_shutdown_rptr; -} - -ACE_INLINE void -TAO_ECG_UDP_Receiver::get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL) -{ - if (CORBA::is_nil (this->addr_server_.in ())) - { - ACE_ERROR ((LM_ERROR, - "TAO_ECG_UDP_Receiver::get_addr() called but " - "nil Address Server was supplied during " - "initialization through init().\n")); - - ACE_THROW (CORBA::INTERNAL ()); - } - - this->addr_server_->get_addr (header, addr - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp deleted file mode 100644 index 2cfc4b5f35f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/** - * @file ECG_UDP_Sender.cpp - * - * $Id$ - * - * @author Carlos O'Ryan - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - * - */ - -#include "orbsvcs/Event/ECG_UDP_Sender.h" -#include "orbsvcs/Event_Utilities.h" -#include "tao/CDR.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_Sender.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - ECG_UDP_Sender, - "$Id$") - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ECG_UDP_Sender::~TAO_ECG_UDP_Sender (void) -{ -} - -void -TAO_ECG_UDP_Sender::init (RtecEventChannelAdmin::EventChannel_ptr lcl_ec, - RtecUDPAdmin::AddrServer_ptr addr_server, - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL) -{ - if (CORBA::is_nil (lcl_ec)) - { - ACE_ERROR ((LM_ERROR, "TAO_ECG_UDP_Sender::init(): " - " argument is nil.")); - ACE_THROW (CORBA::INTERNAL ()); - } - - if (CORBA::is_nil (addr_server)) - { - ACE_ERROR ((LM_ERROR, "TAO_ECG_UDP_Sender::init(): " - "address server argument is nil.")); - ACE_THROW (CORBA::INTERNAL ()); - } - - this->cdr_sender_.init (endpoint_rptr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->lcl_ec_ = - RtecEventChannelAdmin::EventChannel::_duplicate (lcl_ec); - - this->addr_server_ = - RtecUDPAdmin::AddrServer::_duplicate (addr_server); -} - -void -TAO_ECG_UDP_Sender::connect (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL) -{ - if (CORBA::is_nil (this->lcl_ec_.in ())) - { - ACE_ERROR ((LM_ERROR, "Error initializing TAO_ECG_UDP_Sender: " - "init() has not been called before connect().")); - ACE_THROW (CORBA::INTERNAL ()); - } - - if (sub.dependencies.length () == 0) - { - ACE_ERROR ((LM_ERROR, "TAO_ECG_UDP_Sender::connect(): " - "0-length subscriptions argument.")); - ACE_THROW (CORBA::INTERNAL ()); - } - - if (CORBA::is_nil (this->supplier_proxy_.in ())) - { - this->new_connect (sub ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - this->reconnect (sub ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_ECG_UDP_Sender::new_connect (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL) -{ - // Activate with poa. - RtecEventComm::PushConsumer_var consumer_ref; - PortableServer::POA_var poa = this->_default_POA (); - - TAO_EC_Object_Deactivator deactivator; - activate (consumer_ref, - poa.in (), - this, - deactivator - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Connect as a consumer to the local EC. - RtecEventChannelAdmin::ConsumerAdmin_var consumer_admin = - this->lcl_ec_->for_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::ProxyPushSupplier_var proxy = - consumer_admin->obtain_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - ECG_Sender_Auto_Proxy_Disconnect new_proxy_disconnect (proxy.in ()); - - proxy->connect_push_consumer (consumer_ref.in (), - sub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Update resource managers. - this->supplier_proxy_ = proxy._retn (); - this->auto_proxy_disconnect_.set_command (new_proxy_disconnect); - this->set_deactivator (deactivator); -} - -void -TAO_ECG_UDP_Sender::reconnect (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL) -{ - // Obtain our object reference from the POA. - RtecEventComm::PushConsumer_var consumer_ref; - PortableServer::POA_var poa = this->_default_POA (); - - CORBA::Object_var obj = poa->servant_to_reference (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - consumer_ref = - RtecEventComm::PushConsumer::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (consumer_ref.in ())) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - // Reconnect. - this->supplier_proxy_->connect_push_consumer (consumer_ref.in (), - sub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_ECG_UDP_Sender::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Prevent attempts to disconnect. - this->auto_proxy_disconnect_.disallow_command (); - - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ECG_UDP_Sender::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->supplier_proxy_ = - RtecEventChannelAdmin::ProxyPushSupplier::_nil (); - - this->auto_proxy_disconnect_.execute (); - - this->addr_server_ = RtecUDPAdmin::AddrServer::_nil (); - this->lcl_ec_ = RtecEventChannelAdmin::EventChannel::_nil (); - - this->deactivator_.deactivate (); - this->cdr_sender_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (events.length () == 0) - { - // ACE_DEBUG ((EC_FORMAT (DEBUG, - // "Nothing to multicast: " - // "0-length EventSet."))); - return; - } - - // Send each event in a separate message. - // @@ TODO It is interesting to group events destined to the - // same mcast group in a single message. - for (u_int i = 0; i < events.length (); ++i) - { - // To avoid loops we keep a TTL field on the events and skip the - // events with TTL <= 0 - if (events[i].header.ttl <= 0) - continue; - - const RtecEventComm::Event& e = events[i]; - - // We need to modify the TTL field, but copying the entire event - // would be wasteful; instead we create a new header and only - // modify the header portion. - RtecEventComm::EventHeader header = e.header; - header.ttl--; - - // Start building the message - TAO_OutputCDR cdr; - - // Marshal as if it was a sequence of one element, notice how we - // marshal a modified version of the header, but the payload is - // marshal without any extra copies. - cdr.write_ulong (1); - if (!(cdr << header) - || !(cdr << e.data)) - ACE_THROW (CORBA::MARSHAL ()); - - // Grab the right mcast group for this event... - RtecUDPAdmin::UDP_Addr udp_addr; - this->addr_server_->get_addr (header, udp_addr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_INET_Addr inet_addr (udp_addr.port, - udp_addr.ipaddr); - - this->cdr_sender_.send_message (cdr, inet_addr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h deleted file mode 100644 index 6210db74d1d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h +++ /dev/null @@ -1,230 +0,0 @@ -// -*- C++ -*- - -/** - * @file ECG_UDP_Sender.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - * - * Define helper classes to propagate events between ECs using - * either UDP or multicast. - * The architecture is a bit complicated and deserves some - * explanation: sending the events over UDP (or mcast) is easy, a - * Consumer (TAO_ECG_UDP_Sender) subscribes for a certain set of - * events, its push() method marshalls the event set into a CDR - * stream that is sent using an ACE_SOCK_Dgram. The subscription - * set and IP address can be configured. - * Another helper class (TAO_ECG_UDP_Receiver) acts as a supplier of - * events; it receives a callback when an event is available on an - * ACE_SOCK_Dgram, it demarshalls the event and pushes it to the - * EC. Two ACE_Event_Handler classes are provided that can forward - * the events to this Supplier: TAO_ECG_Mcast_EH can receive events - * from a multicast group; TAO_ECG_UDP_EH can receive events from a - * regular UDP socket. - * - * @todo The class makes an extra copy of the events, we need to - * investigate if closer collaboration with its collocated EC could - * be used to remove that copy. - * - */ - -#ifndef TAO_ECG_UDP_SENDER_H -#define TAO_ECG_UDP_SENDER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecUDPAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/RtecEventChannelAdminS.h" - -#include "orbsvcs/Event/EC_Lifetime_Utils.h" -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" -#include "orbsvcs/Event/ECG_CDR_Message_Sender.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_SOCK_Dgram; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_UDP_Out_Endpoint; - -/** - * @class TAO_ECG_UDP_Sender_Disconnect_Command - * - * @brief Disconnects consumer represented by @a proxy from the Event Channel. - * - * Utility class for use as a template argument to TAO_EC_Auto_Command. - * TAO_EC_Auto_Command manages - * consumer connection to the Event Channel, automatically disconnecting from - * @a proxy in its destructor, if necessary. - */ -class TAO_RTEvent_Serv_Export TAO_ECG_UDP_Sender_Disconnect_Command -{ -public: - TAO_ECG_UDP_Sender_Disconnect_Command (void); - TAO_ECG_UDP_Sender_Disconnect_Command ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr proxy); - - TAO_ECG_UDP_Sender_Disconnect_Command ( - const TAO_ECG_UDP_Sender_Disconnect_Command & rhs); - - TAO_ECG_UDP_Sender_Disconnect_Command & - operator= (const TAO_ECG_UDP_Sender_Disconnect_Command & rhs); - - void execute (ACE_ENV_SINGLE_ARG_DECL); - -private: - - RtecEventChannelAdmin::ProxyPushSupplier_var proxy_; -}; - - -/** - * @class TAO_ECG_UDP_Sender - * - * @brief Send events received from a "local" EC using UDP. - * NOT THREAD-SAFE. - * This class connect as a consumer to an EventChannel - * and forwards the events it receives from that EC using UDP. - * - */ -class TAO_RTEvent_Serv_Export TAO_ECG_UDP_Sender : - public virtual POA_RtecEventComm::PushConsumer, - public TAO_EC_Deactivated_Object -{ -public: - - /// Initialization and termination methods. - //@{ - - /// Create a new TAO_ECG_UDP_Sender object. - /// (Constructor access is restricted to insure that all - /// TAO_ECG_UDP_Sender objects are heap-allocated.) - static TAO_EC_Servant_Var create (CORBA::Boolean crc = 0); - - ~TAO_ECG_UDP_Sender (void); - - /** - * @param lcl_ec Event Channel to which we will act as a consumer of events. - * @param addr_server Address server used to obtain event type to - * multicast group mapping. - * @param endpoint_rptr Endpoint for sending udp/multicast messages. - * Endpoint's dgram must be open! - * - * To insure proper resource clean up, if init () is successful, - * shutdown () must be called when the sender is no longer needed. - * This is done by disconnect_push_consumer() method. If - * disconnect_push_consumer() will not be called, it is the - * responsibility of the user. - * Furthermore, if shutdown() is not explicitly called by - * either disconnect_push_consumer () or the user, the sender - * will clean up the resources in its destructor, however, certain - * entities involved in cleanup must still exist at that point, - * e.g., POA. - */ - void init (RtecEventChannelAdmin::EventChannel_ptr lcl_ec, - RtecUDPAdmin::AddrServer_ptr addr_server, - TAO_ECG_Refcounted_Endpoint endpoint_rptr - ACE_ENV_ARG_DECL); - - /// Connect or reconnect to the EC with the given subscriptions. - /** - * NOTE: if we are already connected to EC and a reconnection is - * necessary, the EC must have reconnects enabled in order for this - * method to succeed. - */ - void connect (const RtecEventChannelAdmin::ConsumerQOS &sub - ACE_ENV_ARG_DECL); - - /// Deactivate from POA and disconnect from EC, if necessary. Shut - /// down all sender components. - /** - * Calling this method may result in decrementing of the reference - * count (due to deactivation) and deletion of the object. - */ - void shutdown (ACE_ENV_SINGLE_ARG_DECL); - //@} - - /// Accessors. - //@{ - /** - * The sender may need to fragment the message, otherwise the - * network may drop the packets. - * Setting the MTU can fail if the value is too small (at least the - * header + 8 bytes must fit). - */ - int mtu (CORBA::ULong mtu); - CORBA::ULong mtu (void) const; - - /// Get the local endpoint used to send the events. - int get_local_addr (ACE_INET_Addr& addr); - //@} - - /// The PushConsumer methods. - //@{ - /// Invokes shutdown (), which may result in the object being deleted, if - /// refcounting is used to manage its lifetime. - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void push (const RtecEventComm::EventSet &events - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - -protected: - - /// Constructor (protected). Clients can create new - /// TAO_ECG_UDP_Sender objects using the static create() method. - TAO_ECG_UDP_Sender (CORBA::Boolean crc = 0); - -private: - - /// Helpers for the connect() method. - //@{ - // Establishes connection to the Event Channel for the first time. - void new_connect (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL); - - // Updates existing connection to the Event Channel. - void reconnect (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL); - //@} - - /// Proxy used to receive events from the Event Channel. - RtecEventChannelAdmin::ProxyPushSupplier_var supplier_proxy_; - - /// Event Channel to which we act as a consumer. - RtecEventChannelAdmin::EventChannel_var lcl_ec_; - - /// We query this object to determine where the events should be sent. - RtecUDPAdmin::AddrServer_var addr_server_; - - /// Helper for fragmenting and sending cdr-encoded events using udp. - TAO_ECG_CDR_Message_Sender cdr_sender_; - - typedef TAO_EC_Auto_Command - ECG_Sender_Auto_Proxy_Disconnect; - /// Manages our connection to Supplier Proxy. - ECG_Sender_Auto_Proxy_Disconnect auto_proxy_disconnect_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/Event/ECG_UDP_Sender.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_ECG_UDP_SENDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl b/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl deleted file mode 100644 index c58a7a81ca8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl +++ /dev/null @@ -1,96 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_EC_Servant_Var -TAO_ECG_UDP_Sender::create (CORBA::Boolean crc) -{ - TAO_EC_Servant_Var s; - ACE_NEW_RETURN (s, - TAO_ECG_UDP_Sender (crc), - s); - return s; -} - -ACE_INLINE -TAO_ECG_UDP_Sender::TAO_ECG_UDP_Sender (CORBA::Boolean crc) - : supplier_proxy_ () - , lcl_ec_ () - , addr_server_ () - , cdr_sender_ (crc) - , auto_proxy_disconnect_ () -{ -} - -ACE_INLINE CORBA::ULong -TAO_ECG_UDP_Sender::mtu (void) const -{ - return this->cdr_sender_.mtu (); -} - -ACE_INLINE int -TAO_ECG_UDP_Sender::mtu (CORBA::ULong new_mtu) -{ - return this->cdr_sender_.mtu (new_mtu); -} - -ACE_INLINE int -TAO_ECG_UDP_Sender::get_local_addr (ACE_INET_Addr& addr) -{ - return this->cdr_sender_.get_local_addr (addr); -} -//*************************************************************************** - -ACE_INLINE -TAO_ECG_UDP_Sender_Disconnect_Command:: -TAO_ECG_UDP_Sender_Disconnect_Command (void) - : proxy_ () -{ -} - -ACE_INLINE -TAO_ECG_UDP_Sender_Disconnect_Command:: -TAO_ECG_UDP_Sender_Disconnect_Command ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr proxy) - : proxy_ (RtecEventChannelAdmin::ProxyPushSupplier::_duplicate (proxy)) -{ -} - -ACE_INLINE -TAO_ECG_UDP_Sender_Disconnect_Command:: -TAO_ECG_UDP_Sender_Disconnect_Command ( - const TAO_ECG_UDP_Sender_Disconnect_Command & rhs) - : proxy_ (RtecEventChannelAdmin::ProxyPushSupplier::_duplicate - (rhs.proxy_.in ())) -{ -} - -ACE_INLINE TAO_ECG_UDP_Sender_Disconnect_Command & -TAO_ECG_UDP_Sender_Disconnect_Command::operator= ( - const TAO_ECG_UDP_Sender_Disconnect_Command & rhs) -{ - this->proxy_ = - RtecEventChannelAdmin::ProxyPushSupplier::_duplicate (rhs.proxy_.in ()); - - return *this; -} - -ACE_INLINE void -TAO_ECG_UDP_Sender_Disconnect_Command::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - if (CORBA::is_nil (this->proxy_.in ())) - // We are not connected. - return; - - RtecEventChannelAdmin::ProxyPushSupplier_var release_proxy = - this->proxy_._retn (); - - release_proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.cpp deleted file mode 100644 index 715979d31a9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.cpp +++ /dev/null @@ -1,170 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_And_Filter.h" - -ACE_RCSID(Event, EC_And_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_And_Filter::TAO_EC_And_Filter (TAO_EC_Filter* children[], - size_t n) - : children_ (children), - n_ (n) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - this->adopt_child (*i); - } -} - -TAO_EC_And_Filter::~TAO_EC_And_Filter (void) -{ - TAO_EC_Filter** end = this->children_ + this->n_; - for (TAO_EC_Filter** i = this->children_; - i != end; - ++i) - { - delete *i; - *i = 0; - } - delete[] this->children_; - this->children_ = 0; - this->n_ = 0; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_And_Filter::begin (void) const -{ - return this->children_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_And_Filter::end (void) const -{ - return this->children_ + this->n_; -} - -int -TAO_EC_And_Filter::size (void) const -{ - return static_cast (this->n_); -} - -int -TAO_EC_And_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); i != end; ++i) - { - int n = (*i)->filter (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (n == 0) - return 0; - } - - // All children accepted the event, push up... - if (this->parent () != 0) - { - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return 1; -} - -int -TAO_EC_And_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); i != end; ++i) - { - int n = (*i)->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (n == 0) - return 0; - } - - // All children accepted the event, push up... - if (this->parent () != 0) - { - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return 1; -} - -void -TAO_EC_And_Filter::push (const RtecEventComm::EventSet&, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_And_Filter::push_nocopy (RtecEventComm::EventSet&, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_And_Filter::clear (void) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - (*i)->clear (); - } -} - -CORBA::ULong -TAO_EC_And_Filter::max_event_size (void) const -{ - CORBA::ULong n = 0; - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - CORBA::ULong c = (*i)->max_event_size (); - if (n < c) - n = c; - } - return n; -} - -int -TAO_EC_And_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - if ((*i)->can_match (header) == 0) - return 0; - } - return 1; -} - -int -TAO_EC_And_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.h deleted file mode 100644 index 67c9614af70..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_And_Filter.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_And_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_AND_FILTER_H -#define TAO_EC_AND_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_And_Filter - * - * @brief The 'logical and' filter. - * - * This filter has a set of children (fixed at creation time), - * only if all the children accept an event it does so too. - * - *

Memory Management

- * It assumes ownership of the children. - */ -class TAO_RTEvent_Serv_Export TAO_EC_And_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. It assumes ownership of both the array and the - /// children. - TAO_EC_And_Filter (TAO_EC_Filter* children[], - size_t n); - - /// Destructor - virtual ~TAO_EC_And_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_And_Filter (const TAO_EC_And_Filter&); - TAO_EC_And_Filter& operator= (const TAO_EC_And_Filter&); - -private: - /// The children - TAO_EC_Filter** children_; - - /// The number of children. - size_t n_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_AND_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp deleted file mode 100644 index e9bc5dcb730..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp +++ /dev/null @@ -1,262 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Basic_Factory.h" -#include "orbsvcs/Event/EC_Reactive_Dispatching.h" -#include "orbsvcs/Event/EC_Basic_Filter_Builder.h" -#include "orbsvcs/Event/EC_Trivial_Supplier_Filter.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Default_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Default_ProxySupplier.h" -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_Null_Scheduling.h" -#include "orbsvcs/Event/EC_Reactive_Timeout_Generator.h" -#include "orbsvcs/Event/EC_Reactive_ConsumerControl.h" -#include "orbsvcs/Event/EC_Reactive_SupplierControl.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" // @@ MSVC 6 bug - -#include "orbsvcs/ESF/ESF_Proxy_List.h" -#include "orbsvcs/ESF/ESF_Delayed_Changes.h" - -#include "tao/ORB_Core.h" - -ACE_RCSID (Event, - EC_Basic_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Basic_Factory::TAO_EC_Basic_Factory (void) -{ -} - -TAO_EC_Basic_Factory::~TAO_EC_Basic_Factory (void) -{ -} - -TAO_EC_Dispatching* -TAO_EC_Basic_Factory::create_dispatching (TAO_EC_Event_Channel_Base *) -{ - return new TAO_EC_Reactive_Dispatching (); -} - -void -TAO_EC_Basic_Factory::destroy_dispatching (TAO_EC_Dispatching *x) -{ - delete x; -} - -TAO_EC_Filter_Builder* -TAO_EC_Basic_Factory::create_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Basic_Filter_Builder (ec); -} - -void -TAO_EC_Basic_Factory::destroy_filter_builder (TAO_EC_Filter_Builder *x) -{ - delete x; -} - -TAO_EC_Supplier_Filter_Builder* -TAO_EC_Basic_Factory::create_supplier_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Trivial_Supplier_Filter_Builder (ec); -} - -void -TAO_EC_Basic_Factory::destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *x) -{ - delete x; -} - -TAO_EC_ConsumerAdmin* -TAO_EC_Basic_Factory::create_consumer_admin (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_ConsumerAdmin (ec); -} - -void -TAO_EC_Basic_Factory::destroy_consumer_admin (TAO_EC_ConsumerAdmin *x) -{ - delete x; -} - -TAO_EC_SupplierAdmin* -TAO_EC_Basic_Factory::create_supplier_admin (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_SupplierAdmin (ec); -} - -void -TAO_EC_Basic_Factory::destroy_supplier_admin (TAO_EC_SupplierAdmin *x) -{ - delete x; -} - -TAO_EC_ProxyPushSupplier* -TAO_EC_Basic_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Default_ProxyPushSupplier (ec, TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION); -} - -void -TAO_EC_Basic_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *x) -{ - delete x; -} - -TAO_EC_ProxyPushConsumer* -TAO_EC_Basic_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Default_ProxyPushConsumer (ec); -} - -void -TAO_EC_Basic_Factory::destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *x) -{ - delete x; -} - -TAO_EC_Timeout_Generator* -TAO_EC_Basic_Factory::create_timeout_generator (TAO_EC_Event_Channel_Base *) -{ - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, ""); - ACE_Reactor *reactor = orb->orb_core ()->reactor (); - return new TAO_EC_Reactive_Timeout_Generator (reactor); -} - -void -TAO_EC_Basic_Factory::destroy_timeout_generator (TAO_EC_Timeout_Generator *x) -{ - delete x; -} - -TAO_EC_ObserverStrategy* -TAO_EC_Basic_Factory::create_observer_strategy (TAO_EC_Event_Channel_Base *ec) -{ - ACE_Lock* lock; - ACE_NEW_RETURN (lock, ACE_Lock_Adapter, 0); - return new TAO_EC_Basic_ObserverStrategy (ec, lock); -} - -void -TAO_EC_Basic_Factory::destroy_observer_strategy (TAO_EC_ObserverStrategy *x) -{ - delete x; -} - -TAO_EC_Scheduling_Strategy* -TAO_EC_Basic_Factory::create_scheduling_strategy (TAO_EC_Event_Channel_Base*) -{ - return new TAO_EC_Null_Scheduling; -} - -void -TAO_EC_Basic_Factory::destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy* x) -{ - delete x; -} - -TAO_EC_ProxyPushConsumer_Collection* -TAO_EC_Basic_Factory::create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base *) -{ - // This typedef is a workaround for a SunCC 4.2 bug - typedef TAO_ESF_Proxy_List::Iterator TAO_EC_Consumer_List_Iterator; - return new TAO_ESF_Delayed_Changes, - TAO_ESF_Proxy_List::Iterator, - ACE_SYNCH> (); -} - -void -TAO_EC_Basic_Factory::destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *x) -{ - delete x; -} - -TAO_EC_ProxyPushSupplier_Collection* -TAO_EC_Basic_Factory::create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base *) -{ - // This typedef is a workaround for a SunCC 4.2 bug - typedef TAO_ESF_Proxy_List::Iterator TAO_EC_Supplier_List_Iterator; - return new TAO_ESF_Delayed_Changes, - TAO_ESF_Proxy_List::Iterator, - ACE_SYNCH> (); -} - -void -TAO_EC_Basic_Factory::destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *x) -{ - delete x; -} - -ACE_Lock* -TAO_EC_Basic_Factory::create_consumer_lock (void) -{ - return new ACE_Lock_Adapter (); -} - -void -TAO_EC_Basic_Factory::destroy_consumer_lock (ACE_Lock* x) -{ - delete x; -} - -ACE_Lock* -TAO_EC_Basic_Factory::create_supplier_lock (void) -{ - return new ACE_Lock_Adapter (); -} - -void -TAO_EC_Basic_Factory::destroy_supplier_lock (ACE_Lock* x) -{ - delete x; -} - -TAO_EC_ConsumerControl* -TAO_EC_Basic_Factory::create_consumer_control (TAO_EC_Event_Channel_Base* ec) -{ - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, ""); - // Hard-coded rate to 10 times a second - ACE_Time_Value rate (0, 100000); - // Hard-coded polling-timeout to 10 msec - ACE_Time_Value timeout (0, TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT); - return new TAO_EC_Reactive_ConsumerControl (rate, timeout, ec, orb.in ()); -} - -void -TAO_EC_Basic_Factory::destroy_consumer_control (TAO_EC_ConsumerControl* x) -{ - delete x; -} - -TAO_EC_SupplierControl* -TAO_EC_Basic_Factory::create_supplier_control (TAO_EC_Event_Channel_Base* ec) -{ - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, ""); - // Hard-coded rate to 10 times a second - ACE_Time_Value rate (0, 100000); - // Hard-coded polling-timeout to 10 msec - ACE_Time_Value timeout (0, TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT); - return new TAO_EC_Reactive_SupplierControl (rate, timeout, ec, orb.in ()); -} - -void -TAO_EC_Basic_Factory::destroy_supplier_control (TAO_EC_SupplierControl* x) -{ - delete x; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.h deleted file mode 100644 index aa942b26492..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.h +++ /dev/null @@ -1,120 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Basic_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_BASIC_FACTORY_H -#define TAO_EC_BASIC_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Basic_Factory - * - * @brief The factory for a simple event channel. - * - * An slightly more advanced configuration than the - * EC_Null_Factory, this class configure an event channel that can - * support filtering and correlation. Still dispatching is not - * prioritized and all the filtering is done at the consumer level. - * A fixed POA is used for servant activation. - * This object creates a single instance of the Supplier - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_Basic_Factory : public TAO_EC_Factory -{ -public: - /// Constructor - TAO_EC_Basic_Factory (void); - - /// destructor... - virtual ~TAO_EC_Basic_Factory (void); - - // = The EC_Factory methods - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - virtual void - destroy_dispatching (TAO_EC_Dispatching*); - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*); - virtual void - destroy_filter_builder (TAO_EC_Filter_Builder*); - virtual TAO_EC_Supplier_Filter_Builder* - create_supplier_filter_builder (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*); - virtual TAO_EC_ConsumerAdmin* - create_consumer_admin (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_admin (TAO_EC_ConsumerAdmin*); - virtual TAO_EC_SupplierAdmin* - create_supplier_admin (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_admin (TAO_EC_SupplierAdmin*); - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*); - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*); - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*); - virtual void - destroy_timeout_generator (TAO_EC_Timeout_Generator*); - virtual TAO_EC_ObserverStrategy* - create_observer_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_observer_strategy (TAO_EC_ObserverStrategy*); - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*); - virtual TAO_EC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*); - virtual TAO_EC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*); - - virtual ACE_Lock* create_consumer_lock (void); - virtual void destroy_consumer_lock (ACE_Lock*); - virtual ACE_Lock* create_supplier_lock (void); - virtual void destroy_supplier_lock (ACE_Lock*); - - virtual TAO_EC_ConsumerControl* - create_consumer_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_control (TAO_EC_ConsumerControl*); - virtual TAO_EC_SupplierControl* - create_supplier_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_control (TAO_EC_SupplierControl*); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_BASIC_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp deleted file mode 100644 index e8149330316..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp +++ /dev/null @@ -1,203 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/Event/EC_Basic_Filter_Builder.h" -#include "orbsvcs/Event/EC_Type_Filter.h" -#include "orbsvcs/Event/EC_Conjunction_Filter.h" -#include "orbsvcs/Event/EC_Disjunction_Filter.h" -#include "orbsvcs/Event/EC_And_Filter.h" -#include "orbsvcs/Event/EC_Negation_Filter.h" -#include "orbsvcs/Event/EC_Bitmask_Filter.h" -#include "orbsvcs/Event/EC_Masked_Type_Filter.h" -#include "orbsvcs/Event/EC_Timeout_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Basic_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Basic_Filter_Builder, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Basic_Filter_Builder::~TAO_EC_Basic_Filter_Builder (void) -{ -} - -TAO_EC_Filter* -TAO_EC_Basic_Filter_Builder::build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL_NOT_USED) const -{ - CORBA::ULong pos = 0; - return this->recursive_build (supplier, qos, pos); -} - -TAO_EC_Filter* -TAO_EC_Basic_Filter_Builder:: recursive_build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos) const -{ - CORBA::ULong l = qos.dependencies.length (); - if (pos == l) - return 0; - - const RtecEventComm::Event& e = qos.dependencies[pos].event; - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - CORBA::ULong i = 0; - for (; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos); - } - return new TAO_EC_Conjunction_Filter (children, n); - } - else if (e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - CORBA::ULong i = 0; - for (; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos); - } - return new TAO_EC_Disjunction_Filter (children, n); - } - else if (e.header.type == ACE_ES_LOGICAL_AND_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - CORBA::ULong i = 0; - for (; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos); - } - return new TAO_EC_And_Filter (children, n); - } - else if (e.header.type == ACE_ES_NEGATION_DESIGNATOR) - { - pos++; // Consume the designator - - TAO_EC_Filter *child = - this->recursive_build (supplier, qos, pos); - return new TAO_EC_Negation_Filter (child); - } - else if (e.header.type == ACE_ES_BITMASK_DESIGNATOR) - { - pos++; // COnsumer the designator - - if (pos == qos.dependencies.length ()) - return 0; - CORBA::ULong source_mask = qos.dependencies[pos].event.header.source; - CORBA::ULong type_mask = qos.dependencies[pos].event.header.type; - pos++; - - TAO_EC_Filter *child = - this->recursive_build (supplier, qos, pos); - return new TAO_EC_Bitmask_Filter (source_mask, - type_mask, - child); - } - else if (e.header.type == ACE_ES_MASKED_TYPE_DESIGNATOR) - { - pos++; // Consume the designator - - if (pos == qos.dependencies.length ()) - return 0; - CORBA::ULong source_mask = qos.dependencies[pos].event.header.source; - CORBA::ULong type_mask = qos.dependencies[pos].event.header.type; - pos++; - - if (pos == qos.dependencies.length ()) - return 0; - CORBA::ULong source_value = qos.dependencies[pos].event.header.source; - CORBA::ULong type_value = qos.dependencies[pos].event.header.type; - pos++; - - return new TAO_EC_Masked_Type_Filter (source_mask, - type_mask, - source_value, - type_value); - } - else if (e.header.type == ACE_ES_NULL_DESIGNATOR) - { - pos++; // Consume the designator - - return new TAO_EC_Null_Filter (); - } - else if (e.header.type == ACE_ES_EVENT_TIMEOUT - || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT - || e.header.type == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - pos++; // Consume the designator - TAO_EC_QOS_Info qos_info; - return new TAO_EC_Timeout_Filter (this->event_channel_, - supplier, - qos_info, - e.header.type, - e.header.creation_time); - } - pos++; // Consume the event - return new TAO_EC_Type_Filter (e.header); -} - -CORBA::ULong -TAO_EC_Basic_Filter_Builder:: - count_children (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong pos) const -{ - CORBA::ULong l = qos.dependencies.length (); - CORBA::ULong i; - int count = 0; - for (i = pos; i != l; ++i) - { - const RtecEventComm::Event& e = qos.dependencies[i].event; - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR - || e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR - || e.header.type == ACE_ES_LOGICAL_AND_DESIGNATOR) - // We won't let these be nested by the basic filter builder. - // Assume these are the end of the group - break; - else if (e.header.type == ACE_ES_BITMASK_DESIGNATOR) - // These take up an extra element - i++; - else if (e.header.type == ACE_ES_MASKED_TYPE_DESIGNATOR) - // These take up two extra elements - i += 2; - else if (e.header.type == ACE_ES_NEGATION_DESIGNATOR) { - // These enclose another filter. - // Lets try to figure out how many elements the enclosed - // filter takes up (but don't count it in the group). - // Only allow basic filter types and bitmasks within - // a negation (when it is nested within a group). - // This is isn't perfect, but its about the best we can - // do without prefixes. - i++; - switch (qos.dependencies[i].event.header.type) { - case ACE_ES_BITMASK_DESIGNATOR: - i++; - break; - case ACE_ES_MASKED_TYPE_DESIGNATOR: - i += 2; - break; - } - } - count++; - } - return count; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h deleted file mode 100644 index f6627fc35c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Basic_Filter_Builder.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_BASIC_FILTER_BUILDER_H -#define TAO_EC_BASIC_FILTER_BUILDER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter_Builder.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Filter; -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Basic_Filter_Builder - * - * @brief Implement a builder for the fundamental filters. - * - * The basic filtering mechanisms in the Event channel - * (source/type based filtering + disjunctions, conjunctions, logical ands, - * negations, and bitmasks) are constructed using this class. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Basic_Filter_Builder : public TAO_EC_Filter_Builder -{ -public: - /// constructor. - TAO_EC_Basic_Filter_Builder (TAO_EC_Event_Channel_Base* ec); - - /// destructor... - virtual ~TAO_EC_Basic_Filter_Builder (void); - - // = The TAO_EC_Filter_Builder methods... - TAO_EC_Filter* build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const; - -private: - /// Recursively build the filter tree. - TAO_EC_Filter* recursive_build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos) const; - - /// Count the number of children of the current node, i.e. until a - /// conjunction, disjunction, logical and, bitmask, or negation occurs. - CORBA::ULong count_children (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong pos) const; - -private: - /// The event channel. - TAO_EC_Event_Channel_Base* event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Basic_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_BASIC_FILTER_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i deleted file mode 100644 index ebf53c20045..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Basic_Filter_Builder:: - TAO_EC_Basic_Filter_Builder (TAO_EC_Event_Channel_Base *ec) - : event_channel_ (ec) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.cpp deleted file mode 100644 index 7701ba4d1d1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.cpp +++ /dev/null @@ -1,122 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Bitmask_Filter.h" - -ACE_RCSID(Event, EC_Bitmask_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Bitmask_Filter::TAO_EC_Bitmask_Filter (CORBA::ULong source_mask, - CORBA::ULong type_mask, - TAO_EC_Filter* child) - : source_mask_ (source_mask), - type_mask_ (type_mask), - child_ (child) -{ - this->adopt_child (this->child_); -} - -TAO_EC_Bitmask_Filter::~TAO_EC_Bitmask_Filter (void) -{ - delete this->child_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Bitmask_Filter::begin (void) const -{ - return const_cast (&this->child_); -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Bitmask_Filter::end (void) const -{ - return const_cast (&this->child_) + 1; -} - -int -TAO_EC_Bitmask_Filter::size (void) const -{ - return 1; -} - -int -TAO_EC_Bitmask_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (event.length () != 1) - return 0; - - if ((event[0].header.type & this->type_mask_) == 0 - || (event[0].header.source & this->source_mask_) == 0) - return 0; - - return this->child_->filter (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -int -TAO_EC_Bitmask_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (event.length () != 1) - return 0; - - if ((event[0].header.type & this->type_mask_) == 0 - || (event[0].header.source & this->source_mask_) == 0) - return 0; - - return this->child_->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Bitmask_Filter::push (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Bitmask_Filter::push_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Bitmask_Filter::clear (void) -{ - this->child_->clear (); -} - -CORBA::ULong -TAO_EC_Bitmask_Filter::max_event_size (void) const -{ - return this->child_->max_event_size (); -} - -int -TAO_EC_Bitmask_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - if ((header.type & this->type_mask_) == 0 - || (header.source & this->source_mask_) == 0) - return 0; - - return this->child_->can_match (header); -} - -int -TAO_EC_Bitmask_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h deleted file mode 100644 index bc2a3469d00..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h +++ /dev/null @@ -1,107 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Bitmask_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_BITMASK_FILTER_H -#define TAO_EC_BITMASK_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Bitmask_Filter - * - * @brief The bitmask filter. - * - * This filter quickly rejects events that do not match a given - * bitmask. - * If the event is not rejected based on the mask then the child - * is consulted to finally accept or reject the event. - * When composed with the Null_Filter it accepts any events that - * satisfy: - * (event.header.type & type_mask) != 0 - * && (event.header.type & source_mask) != 0 - * - *

Memory Management

- * It assumes ownership of the child. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Bitmask_Filter : public TAO_EC_Filter -{ -public: - /** - * Constructor. - * Events that do not satisfy: - * - * (e.header.source & source_mask) != 0 && - * (e.header.type & type_mask) != 0 - * - * are immediately rejected, other events are recursively tested - * using the child node. - * It assumes ownership of the child. - */ - TAO_EC_Bitmask_Filter (CORBA::ULong source_mask, - CORBA::ULong type_mask, - TAO_EC_Filter* child); - - /// Destructor - virtual ~TAO_EC_Bitmask_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Bitmask_Filter (const TAO_EC_Bitmask_Filter&); - TAO_EC_Bitmask_Filter& operator= (const TAO_EC_Bitmask_Filter&); - -private: - /// The bitmasks - CORBA::ULong source_mask_; - CORBA::ULong type_mask_; - - /// The children - TAO_EC_Filter* child_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_BITMASK_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.cpp deleted file mode 100644 index f2cce60ee21..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// $Id$ - -#ifndef TAO_EC_BUSY_LOCK_CPP -#define TAO_EC_BUSY_LOCK_CPP - -#include "orbsvcs/Event/EC_Busy_Lock.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Busy_Lock.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -int TAO_EC_Busy_Lock_Adapter::remove (void) -{ - return 0; -} - -template -int TAO_EC_Busy_Lock_Adapter::acquire (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_EC_Busy_Lock_Adapter::tryacquire (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_EC_Busy_Lock_Adapter::release (void) -{ - return this->adaptee_->idle (); -} - -template -int TAO_EC_Busy_Lock_Adapter::acquire_read (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_EC_Busy_Lock_Adapter::acquire_write (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_EC_Busy_Lock_Adapter::tryacquire_read (void) -{ - return this->adaptee_->busy (); -} - -template -int TAO_EC_Busy_Lock_Adapter::tryacquire_write (void) -{ - return this->adaptee_->busy (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_EC_BUSY_LOCK_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.h b/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.h deleted file mode 100644 index 1640d5b8bf2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Busy_Lock.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_BUSY_LOCK_H -#define TAO_EC_BUSY_LOCK_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class TAO_EC_Busy_Lock_Adapter -{ -public: - /// Constructor - TAO_EC_Busy_Lock_Adapter (Adaptee* adaptee); - - // = The ACE_Lock methods, please check $ACE_ROOT/ace/Synch.h for - // details. - - int remove (void); - int acquire (void); - int tryacquire (void); - int release (void); - int acquire_read (void); - int acquire_write (void); - int tryacquire_read (void); - int tryacquire_write (void); - -private: - Adaptee* adaptee_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Busy_Lock.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Event/EC_Busy_Lock.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("EC_Busy_Lock.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_BUSY_LOCK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.i b/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.i deleted file mode 100644 index 670ad09dd63..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Busy_Lock.i +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_EC_Busy_Lock_Adapter::TAO_EC_Busy_Lock_Adapter (T* adaptee) - : adaptee_ (adaptee) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.cpp deleted file mode 100644 index 3759342a5e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @file EC_Channel_Destroyer.cpp - * - * $Id$ - * - * @author Marina Spivak - */ - -#include "orbsvcs/Event/EC_Channel_Destroyer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_EC_Channel_Destroyer_Functor::operator() ( - TAO_EC_Event_Channel_Base * event_channel) - ACE_THROW_SPEC (()) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - event_channel->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h b/TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h deleted file mode 100644 index 4b18ad808fd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Channel_Destroyer.h - * - * @author Marina Spivak - * - * $Id$ - */ -#ifndef EC_CHANNEL_DESTROYER__H_ -#define EC_CHANNEL_DESTROYER__H_ - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "ace/Auto_Functor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @struct TAO_EC_Channel_Destroyer_Functor - * - * @brief Implements a functor for the TAO_EC_Channel_Destroyer class. - */ -struct TAO_RTEvent_Serv_Export TAO_EC_Channel_Destroyer_Functor -{ - typedef TAO_EC_Event_Channel_Base * argument; - - /// Destroy @c event_channel - void operator() (TAO_EC_Event_Channel_Base * event_channel) - ACE_THROW_SPEC (()); -}; - -/** - * @class TAO_EC_Channel_Destroyer - * - * @brief Helper class to destroy event channel. - * - */ -typedef ACE_Utils::Auto_Functor< - TAO_EC_Event_Channel_Base, - TAO_EC_Channel_Destroyer_Functor> - TAO_EC_Channel_Destroyer; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // EC_CHANNEL_DESTROYER__H_ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp deleted file mode 100644 index e8fae3ae659..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp +++ /dev/null @@ -1,209 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Conjunction_Filter.h" - -ACE_RCSID(Event, EC_Conjunction_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const int bits_per_word = sizeof(TAO_EC_Conjunction_Filter::Word) * CHAR_BIT; - -TAO_EC_Conjunction_Filter:: - TAO_EC_Conjunction_Filter (TAO_EC_Filter* children[], - size_t n) - : children_ (children), - n_ (n) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - this->adopt_child (*i); - } - - this->nwords_ = this->n_ / bits_per_word + 1; - ACE_NEW (this->bitvec_, Word[this->nwords_]); - - this->clear (); -} - -TAO_EC_Conjunction_Filter::~TAO_EC_Conjunction_Filter (void) -{ - TAO_EC_Filter** end = this->children_ + this->n_; - for (TAO_EC_Filter** i = this->children_; - i != end; - ++i) - { - delete *i; - *i = 0; - } - delete[] this->children_; - this->children_ = 0; - this->n_ = 0; - - delete[] this->bitvec_; - this->bitvec_ = 0; -} - -int -TAO_EC_Conjunction_Filter::all_received (void) const -{ - Word* i = this->bitvec_; - for (; - i != this->bitvec_ + this->nwords_; - ++i) - { - if (*i != static_cast (~0)) - return 0; - } - return 1; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Conjunction_Filter::begin (void) const -{ - return this->children_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Conjunction_Filter::end (void) const -{ - return this->children_ + this->n_; -} - -int -TAO_EC_Conjunction_Filter::size (void) const -{ - return static_cast (this->n_); -} - -int -TAO_EC_Conjunction_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ChildrenIterator end = this->end (); - for (this->current_child_ = this->begin (); - this->current_child_ != end; - ++this->current_child_) - { - int n = (*this->current_child_)->filter (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (n != 0) - return n; - } - return 0; -} - -int -TAO_EC_Conjunction_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - int n = (*i)->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (n != 0) - return n; - } - return 0; -} - -void -TAO_EC_Conjunction_Filter::push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - CORBA::Long pos = this->current_child_ - this->begin (); - int w = pos / bits_per_word; - int b = pos % bits_per_word; - if (ACE_BIT_ENABLED (this->bitvec_[w], 1<bitvec_[w], 1<event_.length (); - this->event_.length (l + n); - for (CORBA::ULong i = 0; i != n; ++i) - { - this->event_[l + i] = event[i]; - } - if (this->all_received () && this->parent () != 0) - this->parent ()->push_nocopy (this->event_, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Conjunction_Filter::push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - this->push (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Conjunction_Filter::clear (void) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - (*i)->clear (); - } - Word* j = this->bitvec_; - for (; - j != this->bitvec_ + this->nwords_ - 1; - ++j) - { - *j = 0; - } - int b = static_cast (this->n_ % bits_per_word); - Word last = ~0 << b; - *j = last; - - this->event_.length (0); -} - -CORBA::ULong -TAO_EC_Conjunction_Filter::max_event_size (void) const -{ - CORBA::ULong n = 0; - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - n += (*i)->max_event_size (); - } - return n; -} - -int -TAO_EC_Conjunction_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - if ((*i)->can_match (header) != 0) - return 1; - } - return 0; -} - -int -TAO_EC_Conjunction_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h deleted file mode 100644 index e50d6b37867..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h +++ /dev/null @@ -1,113 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Conjunction_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_CONJUNCTION_FILTER_H -#define TAO_EC_CONJUNCTION_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Conjunction_Filter - * - * @brief The conjunction filter. - * - * This filter waits until each one of its children has accepted - * at least one event. Only in that case it accepts and publishes - * the sequence formed by all the children events. - * - *

Memory Management

- * It assumes ownership of the children. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Conjunction_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. It assumes ownership of both the array and the - /// children. - TAO_EC_Conjunction_Filter (TAO_EC_Filter* children[], - size_t n); - - /// Destructor - virtual ~TAO_EC_Conjunction_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - - typedef unsigned int Word; - -private: - /// Determine if all the children have received their events. - int all_received (void) const; - - TAO_EC_Conjunction_Filter (const TAO_EC_Conjunction_Filter&); - TAO_EC_Conjunction_Filter& operator= (const TAO_EC_Conjunction_Filter&); - -private: - /// The children - TAO_EC_Filter** children_; - - /// The number of children. - size_t n_; - - /// The event we send up (once all the children have pushed theirs). - RtecEventComm::EventSet event_; - - /** - * The number of words in the bit vector - */ - size_t nwords_; - - /** - * The bit vector to keep track of the children that have received - * their events. - */ - Word* bitvec_; - - /// The current child in the iteration, used in the push() method... - ChildrenIterator current_child_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_CONJUNCTION_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp deleted file mode 100644 index 73bf25fff47..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/ESF/ESF_Peer_Workers.h" -#include "orbsvcs/ESF/ESF_Peer_Admin.h" -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" - -ACE_RCSID (Event, - EC_ConsumerAdmin, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_ConsumerAdmin::TAO_EC_ConsumerAdmin (TAO_EC_Event_Channel_Base *ec) - : TAO_ESF_Peer_Admin (ec) -{ - this->default_POA_ = - this->event_channel_->consumer_poa (); -} - -TAO_EC_ConsumerAdmin::~TAO_EC_ConsumerAdmin (void) -{ -} - -RtecEventChannelAdmin::ProxyPushSupplier_ptr -TAO_EC_ConsumerAdmin::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -PortableServer::POA_ptr -TAO_EC_ConsumerAdmin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h deleted file mode 100644 index 60e45de355a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_ConsumerAdmin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_CONSUMERADMIN_H -#define TAO_EC_CONSUMERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_ProxySupplier.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Peer_Admin.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushConsumer; - -/** - * @class TAO_EC_ConsumerAdmin - * - * @brief Implements the ConsumerAdmin interface, i.e. the factory for - * TAO_EC_ProxyPushSupplier objects. - * - *

Memory Management

- * It does not assume ownership of the TAO_EC_Event_Channel_Base object; - * but it *does* assume ownership of the TAO_EC_ProxyPushSupplier_Set - * object. - * - *

Locking

- * No provisions for locking, access must be serialized externally. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ConsumerAdmin - : public POA_RtecEventChannelAdmin::ConsumerAdmin - , public TAO_ESF_Peer_Admin -{ -public: - /** - * Constructor. Builds one using the @a event_channel argument. - * In any case it assumes ownership. - */ - TAO_EC_ConsumerAdmin (TAO_EC_Event_Channel_Base* event_channel); - - /// Destructor... - virtual ~TAO_EC_ConsumerAdmin (void); - - // = The RtecEventChannelAdmin::ConsumerAdmin methods... - virtual RtecEventChannelAdmin::ProxyPushSupplier_ptr - obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The PortableServer::ServantBase methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_CONSUMERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp deleted file mode 100644 index 007d90bd404..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ConsumerControl.h" - -ACE_RCSID(Event, EC_ConsumerControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_ConsumerControl::TAO_EC_ConsumerControl (void) -{ -} - -TAO_EC_ConsumerControl::~TAO_EC_ConsumerControl (void) -{ -} - -int -TAO_EC_ConsumerControl::activate (void) -{ - return 0; -} - -int -TAO_EC_ConsumerControl::shutdown (void) -{ - return 0; -} - -void -TAO_EC_ConsumerControl::consumer_not_exist (TAO_EC_ProxyPushSupplier * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ConsumerControl::system_exception (TAO_EC_ProxyPushSupplier *, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.h deleted file mode 100644 index 281fe09f0d3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerControl.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_ConsumerControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_CONSUMERCONTROL_H -#define TAO_EC_CONSUMERCONTROL_H - -#include /**/ "ace/pre.h" -#include "ace/CORBA_macros.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/orbconf.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushSupplier; - -namespace CORBA -{ - class Environment; - class SystemException; -} - -/** - * @class TAO_EC_ConsumerControl - * - * @brief ConsumerControl - * - * Defines the interface for the consumer control strategy. - * This strategy handles misbehaving or failing consumers. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ConsumerControl -{ -public: - /// Constructor. - TAO_EC_ConsumerControl (void); - - /// Destructor. - virtual ~TAO_EC_ConsumerControl (void); - - /// Activate any internal threads or timers used to poll the state of - /// the consumers - virtual int activate (void); - virtual int shutdown (void); - - /** - * When pushing an event to the consumer a CORBA::OBJECT_NOT_EXIST - * exception was raised. The only interpretation is that the object - * has been destroyed. The strategy has to (at the very least), - * reclaim all the resources attached to that object. - */ - virtual void consumer_not_exist (TAO_EC_ProxyPushSupplier *proxy - ACE_ENV_ARG_DECL); - - /// Some system exception was raised while trying to contact the - /// consumer - virtual void system_exception (TAO_EC_ProxyPushSupplier *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_CONSUMERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp deleted file mode 100644 index c10cfbbb4cd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp +++ /dev/null @@ -1,1003 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "orbsvcs/Event/EC_Reactive_Dispatching.h" -#include "orbsvcs/Event/EC_MT_Dispatching.h" -#include "orbsvcs/Event/EC_Basic_Filter_Builder.h" -#include "orbsvcs/Event/EC_Prefix_Filter_Builder.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Default_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Default_ProxySupplier.h" -#include "orbsvcs/Event/EC_Trivial_Supplier_Filter.h" -#include "orbsvcs/Event/EC_Per_Supplier_Filter.h" -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_Null_Scheduling.h" -#include "orbsvcs/Event/EC_Group_Scheduling.h" -#include "orbsvcs/Event/EC_Reactive_Timeout_Generator.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_Reactive_ConsumerControl.h" -#include "orbsvcs/Event/EC_Reactive_SupplierControl.h" - -#include "orbsvcs/ESF/ESF_Proxy_List.h" -#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.h" -#include "orbsvcs/ESF/ESF_Immediate_Changes.h" -#include "orbsvcs/ESF/ESF_Copy_On_Read.h" -#include "orbsvcs/ESF/ESF_Copy_On_Write.h" -#include "orbsvcs/ESF/ESF_Delayed_Changes.h" -#include "orbsvcs/ESF/ESF_Delayed_Command.h" - -#include "tao/ORB_Core.h" - -#include "ace/Arg_Shifter.h" -#include "ace/Sched_Params.h" -#include "ace/OS_NS_strings.h" -#include "ace/Dynamic_Service.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Default_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Default_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Default_Factory::~TAO_EC_Default_Factory (void) -{ -} - -int -TAO_EC_Default_Factory::init_svcs (void) -{ - TAO_EC_Simple_Queue_Full_Action::init_svcs(); - return ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_EC_Default_Factory); -} - -void -TAO_EC_Default_Factory::unsupported_option_value (const char * option_name, - const char * option_value) -{ - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "Unsupported <%s> option value: <%s>. " - "Ignoring this option - using defaults instead.\n", - option_name, - option_value)); -} - -int -TAO_EC_Default_Factory::init (int argc, ACE_TCHAR* argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - int priority = - (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO) + - ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2; - this->dispatching_threads_priority_ = - ACE_Sched_Params::next_priority (ACE_SCHED_FIFO, priority); - - while (arg_shifter.is_anything_left ()) - { - const ACE_TCHAR *arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECDispatching")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - this->dispatching_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("mt")) == 0) - this->dispatching_ = 1; - else - this->unsupported_option_value ("-ECDispatching", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECDispatchingThreads")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->dispatching_threads_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECFiltering")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->filtering_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("basic")) == 0) - this->filtering_ = 1; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("prefix")) == 0) - this->filtering_ = 2; - else - this->unsupported_option_value ("-ECFiltering", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECSupplierFilter")) == 0 - // @@ TODO remove, only for backwards compatibility - || ACE_OS::strcasecmp (arg, ACE_TEXT("-ECSupplierFiltering")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->supplier_filtering_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("per-supplier")) == 0) - this->supplier_filtering_ = 1; - else - this->unsupported_option_value ("-ECSupplierFilter", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - this->timeout_ = 0; - else - this->unsupported_option_value ("-ECTimeout", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECObserver")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->observer_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("basic")) == 0) - this->observer_ = 1; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - this->observer_ = 2; - else - this->unsupported_option_value ("-ECObserver", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECScheduling")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->scheduling_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("group")) == 0) - this->scheduling_ = 1; - else - this->unsupported_option_value ("-ECScheduling", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECProxyPushConsumerCollection")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR *current_arg = arg_shifter.get_current (); - ACE_TCHAR *opt = ACE_OS::strdup (current_arg); - int collection_type = 0; - int synch_type = 0; - int iteration_type = 0; - - ACE_TCHAR* aux; - for (ACE_TCHAR* arg = ACE_OS::strtok_r (opt, ACE_TEXT(":"), &aux); - arg != 0; - arg = ACE_OS::strtok_r (0, ACE_TEXT(":"), &aux)) - { - if (ACE_OS::strcasecmp (arg, ACE_TEXT("mt")) == 0) - synch_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("st")) == 0) - synch_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("list")) == 0) - collection_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("rb_tree")) == 0) - collection_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("immediate")) == 0) - iteration_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("copy_on_read")) == 0) - iteration_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("copy_on_write")) == 0) - iteration_type = 2; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("delayed")) == 0) - iteration_type = 3; - else - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "Unknown consumer collection modifier <%s>.\n", arg)); - } - ACE_OS::free (opt); - this->consumer_collection_ = - (synch_type << 8) |(collection_type << 4) | iteration_type; - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECProxyPushSupplierCollection")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* current_arg = arg_shifter.get_current(); - ACE_TCHAR* opt = ACE_OS::strdup(current_arg); - int collection_type = 0; - int synch_type = 0; - int iteration_type = 0; - - ACE_TCHAR* aux; - for (ACE_TCHAR* arg = ACE_OS::strtok_r (opt, ACE_TEXT(":"), &aux); - arg != 0; - arg = ACE_OS::strtok_r (0, ACE_TEXT(":"), &aux)) - { - if (ACE_OS::strcasecmp (arg, ACE_TEXT("mt")) == 0) - synch_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("st")) == 0) - synch_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("list")) == 0) - collection_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("rb_tree")) == 0) - collection_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("immediate")) == 0) - iteration_type = 0; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("copy_on_read")) == 0) - iteration_type = 1; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("copy_on_write")) == 0) - iteration_type = 2; - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("delayed")) == 0) - iteration_type = 3; - else - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "Unknown supplier collection modifier <%s>.\n", arg)); - } - ACE_OS::free(opt); - this->supplier_collection_ = - (synch_type << 8) | (collection_type << 4) | iteration_type; - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECProxyConsumerLock")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->consumer_lock_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("thread")) == 0) - this->consumer_lock_ = 1; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("recursive")) == 0) - this->consumer_lock_ = 2; - else - this->unsupported_option_value ("-ECProxyConsumerLock", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECProxySupplierLock")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->supplier_lock_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("thread")) == 0) - this->supplier_lock_ = 1; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("recursive")) == 0) - this->supplier_lock_ = 2; - else - this->unsupported_option_value ("-ECProxySupplierLock", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECUseORBId")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - // Save argument for later use - this->orbid_ = ACE_TEXT_ALWAYS_CHAR(arg_shifter.get_current ()); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECConsumerControl")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->consumer_control_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - this->consumer_control_ = 1; - else - this->unsupported_option_value ("-ECConsumerControl", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECSupplierControl")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->supplier_control_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - this->supplier_control_ = 1; - else - this->unsupported_option_value ("-ECSupplierControl", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECConsumerControlPeriod")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->consumer_control_period_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECSupplierControlPeriod")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->supplier_control_period_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECConsumerControlTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout = ACE_OS::strtoul(opt, 0, 10); - this->consumer_control_timeout_.usec(timeout); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECSupplierControlTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout = ACE_OS::strtoul(opt, 0, 10); - this->supplier_control_timeout_.usec(timeout); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECConsumerValidateConnection")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->consumer_validate_connection_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECPushSupplierSet")) == 0) - { - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "obsolete option <%s>, ignored\n", arg)); - arg_shifter.consume_arg (); - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECQueueFullServiceObject")) == 0) - { - arg_shifter.consume_arg (); - if (arg_shifter.is_parameter_next ()) - { - const char* opt = arg_shifter.get_current (); - this->queue_full_service_object_name_.set(opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECConsumerAdminLock")) == 0) - { - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "obsolete option <%s>, ignored\n", arg)); - arg_shifter.consume_arg (); - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECSupplierAdminLock")) == 0) - { - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "obsolete option <%s>, ignored\n", arg)); - arg_shifter.consume_arg (); - } - - else if (ACE_OS::strncmp (arg, ACE_TEXT("-EC"), 3) == 0) - { - arg_shifter.consume_arg (); - ACE_ERROR ((LM_ERROR, - "EC_Default_Factory - " - "unknown option <%s>\n", - arg)); - } - else - { - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - "EC_Default_Factory - " - "ignoring option <%s>\n", - arg)); - } - } - return 0; -} - -int -TAO_EC_Default_Factory::fini (void) -{ - return 0; -} - -// **************************************************************** - -TAO_EC_Queue_Full_Service_Object* -TAO_EC_Default_Factory::find_service_object (const char* wanted, - const char* fallback) -{ - TAO_EC_Queue_Full_Service_Object* so = 0; - so = ACE_Dynamic_Service::instance (wanted); - if (so != 0) - return so; - - ACE_ERROR ((LM_ERROR, - "EC (%P|%t) EC_Default_Factory::create_dispatching " - "unable to find queue full service object '%s'; " - "using '%s' instead\n", - wanted, - fallback)); - - so = ACE_Dynamic_Service::instance (fallback); - if (so != 0) - return so; - - ACE_ERROR ((LM_ERROR, - "EC (%P|%t) EC_Default_Factory::create_dispatching " - "unable find default queue full service object '%s'; " - "aborting.\n", - fallback)); - ACE_OS::abort (); - return 0; // superfluous return to de-warn; we should never reach here -} - -TAO_EC_Dispatching* -TAO_EC_Default_Factory::create_dispatching (TAO_EC_Event_Channel_Base *) -{ - if (this->dispatching_ == 0) - return new TAO_EC_Reactive_Dispatching (); - else if (this->dispatching_ == 1) - { - TAO_EC_Queue_Full_Service_Object* so = - this->find_service_object (this->queue_full_service_object_name_.fast_rep(), - TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME); - return new TAO_EC_MT_Dispatching (this->dispatching_threads_, - this->dispatching_threads_flags_, - this->dispatching_threads_priority_, - this->dispatching_threads_force_active_, - so); - } - return 0; -} - -void -TAO_EC_Default_Factory::destroy_dispatching (TAO_EC_Dispatching *x) -{ - delete x; -} - -TAO_EC_Filter_Builder* -TAO_EC_Default_Factory::create_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - if (this->filtering_ == 0) - return new TAO_EC_Null_Filter_Builder (); - else if (this->filtering_ == 1) - return new TAO_EC_Basic_Filter_Builder (ec); - else if (this->filtering_ == 2) - return new TAO_EC_Prefix_Filter_Builder (ec); - return 0; -} - -void -TAO_EC_Default_Factory::destroy_filter_builder (TAO_EC_Filter_Builder *x) -{ - delete x; -} - -TAO_EC_Supplier_Filter_Builder* -TAO_EC_Default_Factory::create_supplier_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - if (this->supplier_filtering_ == 0) - return new TAO_EC_Trivial_Supplier_Filter_Builder (ec); - else if (this->supplier_filtering_ == 1) - return new TAO_EC_Per_Supplier_Filter_Builder (ec); - return 0; -} - -void -TAO_EC_Default_Factory::destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *x) -{ - delete x; -} - -TAO_EC_ConsumerAdmin* -TAO_EC_Default_Factory::create_consumer_admin (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_ConsumerAdmin (ec); -} - -void -TAO_EC_Default_Factory::destroy_consumer_admin (TAO_EC_ConsumerAdmin *x) -{ - delete x; -} - -TAO_EC_SupplierAdmin* -TAO_EC_Default_Factory::create_supplier_admin (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_SupplierAdmin (ec); -} - -void -TAO_EC_Default_Factory::destroy_supplier_admin (TAO_EC_SupplierAdmin *x) -{ - delete x; -} - -TAO_EC_ProxyPushSupplier* -TAO_EC_Default_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Default_ProxyPushSupplier (ec, consumer_validate_connection_); -} - -void -TAO_EC_Default_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *x) -{ - delete x; -} - -TAO_EC_ProxyPushConsumer* -TAO_EC_Default_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Default_ProxyPushConsumer (ec); -} - -void -TAO_EC_Default_Factory::destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *x) -{ - delete x; -} - -TAO_EC_Timeout_Generator* -TAO_EC_Default_Factory::create_timeout_generator (TAO_EC_Event_Channel_Base *) -{ - if (this->timeout_ == 0) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_.c_str ()); - - ACE_Reactor *reactor = orb->orb_core ()->reactor (); - return new TAO_EC_Reactive_Timeout_Generator (reactor); - } -#if 0 - else if (this->timeout_ == 1) - { - } -#endif - return 0; -} - -void -TAO_EC_Default_Factory::destroy_timeout_generator (TAO_EC_Timeout_Generator *x) -{ - delete x; -} - -TAO_EC_ObserverStrategy* -TAO_EC_Default_Factory::create_observer_strategy (TAO_EC_Event_Channel_Base *ec) -{ - if (this->observer_ == 0) - return new TAO_EC_Null_ObserverStrategy; - else if (this->observer_ == 1) - { - // @@ The lock should also be under control of the user... - ACE_Lock* lock = 0; - ACE_NEW_RETURN (lock, ACE_Lock_Adapter, 0); - return new TAO_EC_Basic_ObserverStrategy (ec, lock); - } - else if (this->observer_ == 2) - { - // @@ The lock should also be under control of the user... - ACE_Lock* lock = 0; - ACE_NEW_RETURN (lock, ACE_Lock_Adapter, 0); - return new TAO_EC_Reactive_ObserverStrategy (ec, lock); - } - return 0; -} - -void -TAO_EC_Default_Factory::destroy_observer_strategy (TAO_EC_ObserverStrategy *x) -{ - delete x; -} - -TAO_EC_Scheduling_Strategy* -TAO_EC_Default_Factory::create_scheduling_strategy (TAO_EC_Event_Channel_Base*) -{ - if (this->scheduling_ == 0) - return new TAO_EC_Null_Scheduling; - else if (this->scheduling_ == 1) - return new TAO_EC_Group_Scheduling; - return 0; -} - -void -TAO_EC_Default_Factory::destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy* x) -{ - delete x; -} - -// These typedefs workaround a SunCC 4.2 bug -typedef - TAO_ESF_Proxy_List::Iterator - TAO_EC_Consumer_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_EC_Consumer_RB_Tree_Iterator; -typedef - TAO_ESF_Proxy_List::Iterator - TAO_EC_Supplier_List_Iterator; -typedef - TAO_ESF_Proxy_RB_Tree::Iterator - TAO_EC_Supplier_RB_Tree_Iterator; - - -TAO_EC_ProxyPushConsumer_Collection* -TAO_EC_Default_Factory::create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base *) -{ - if (this->consumer_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Consumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Consumer_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Consumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Consumer_List_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Consumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Consumer_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->consumer_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Consumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Consumer_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->consumer_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Consumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Consumer_List_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Consumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Consumer_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Consumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Consumer_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->consumer_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Consumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->consumer_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Consumer_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} - -void -TAO_EC_Default_Factory::destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *x) -{ - delete x; -} - -TAO_EC_ProxyPushSupplier_Collection* -TAO_EC_Default_Factory::create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base *) -{ - if (this->supplier_collection_ == 0x000) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Supplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x001) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Supplier_List_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x002) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Supplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x003) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Supplier_List_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x010) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Supplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x011) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Supplier_RB_Tree_Iterator, - TAO_SYNCH_MUTEX> (); - else if (this->supplier_collection_ == 0x012) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Supplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x013) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Supplier_RB_Tree_Iterator, - ACE_SYNCH> (); - else if (this->supplier_collection_ == 0x100) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Supplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x101) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Supplier_List_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x102) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Supplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x103) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Supplier_List_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x110) - return new TAO_ESF_Immediate_Changes, - TAO_EC_Supplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x111) - return new TAO_ESF_Copy_On_Read, - TAO_EC_Supplier_RB_Tree_Iterator, - ACE_Null_Mutex> (); - else if (this->supplier_collection_ == 0x112) - return new TAO_ESF_Copy_On_Write, - TAO_EC_Supplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - else if (this->supplier_collection_ == 0x113) - return new TAO_ESF_Delayed_Changes, - TAO_EC_Supplier_RB_Tree_Iterator, - ACE_NULL_SYNCH> (); - - return 0; -} - -void -TAO_EC_Default_Factory::destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *x) -{ - delete x; -} - -ACE_Lock* -TAO_EC_Default_Factory::create_consumer_lock (void) -{ - if (this->consumer_lock_ == 0) - return new ACE_Lock_Adapter; - else if (this->consumer_lock_ == 1) - return new ACE_Lock_Adapter (); - else if (this->consumer_lock_ == 2) - return new ACE_Lock_Adapter (); - return 0; -} - -void -TAO_EC_Default_Factory::destroy_consumer_lock (ACE_Lock* x) -{ - delete x; -} - -ACE_Lock* -TAO_EC_Default_Factory::create_supplier_lock (void) -{ - if (this->supplier_lock_ == 0) - return new ACE_Lock_Adapter; - else if (this->supplier_lock_ == 1) - return new ACE_Lock_Adapter (); - else if (this->supplier_lock_ == 2) - return new ACE_Lock_Adapter (); - return 0; -} - -void -TAO_EC_Default_Factory::destroy_supplier_lock (ACE_Lock* x) -{ - delete x; -} - -TAO_EC_ConsumerControl* -TAO_EC_Default_Factory::create_consumer_control (TAO_EC_Event_Channel_Base* ec) -{ - if (this->consumer_control_ == 0) - return new TAO_EC_ConsumerControl (); - else if (this->consumer_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_.c_str ()); - - ACE_Time_Value rate (0, this->consumer_control_period_); - return new TAO_EC_Reactive_ConsumerControl (rate, consumer_control_timeout_, ec, orb.in ()); - } - return 0; -} - -void -TAO_EC_Default_Factory::destroy_consumer_control (TAO_EC_ConsumerControl* x) -{ - delete x; -} - -TAO_EC_SupplierControl* -TAO_EC_Default_Factory::create_supplier_control (TAO_EC_Event_Channel_Base* ec) -{ - if (this->supplier_control_ == 0) - return new TAO_EC_SupplierControl (); - else if (this->supplier_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_.c_str ()); - - ACE_Time_Value rate (0, this->supplier_control_period_); - return new TAO_EC_Reactive_SupplierControl (rate, supplier_control_timeout_, ec, orb.in ()); - } - return 0; -} - -void -TAO_EC_Default_Factory::destroy_supplier_control (TAO_EC_SupplierControl* x) -{ - delete x; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_EC_Default_Factory, - ACE_TEXT ("EC_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_EC_Default_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTEvent_Serv, TAO_EC_Default_Factory) diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h deleted file mode 100644 index a5bce5d5df3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Default_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_DEFAULT_FACTORY_H -#define TAO_EC_DEFAULT_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_Defaults.h" - -#include "ace/Service_Config.h" -#include "ace/SString.h" -#include "ace/Time_Value.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Queue_Full_Service_Object; - -/** - * @class TAO_EC_Default_Factory - * - * @brief A generic factory for EC experimentation. - * - * This class allows the user to experiment with different EC - * configurations. Using a command-line like interface the user - * can specify which strategies will this factory generate. - * Since the class can be dynamically loaded the strategies can be - * set in the service configurator file. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Default_Factory : public TAO_EC_Factory -{ -public: - /// Constructor - TAO_EC_Default_Factory (void); - - /// destructor... - virtual ~TAO_EC_Default_Factory (void); - - /// Helper function to register the default factory into the service - /// configurator. - static int init_svcs (void); - - // = The Service_Object entry points - virtual int init (int argc, ACE_TCHAR* argv[]); - virtual int fini (void); - - // = The EC_Factory methods - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - virtual void - destroy_dispatching (TAO_EC_Dispatching*); - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*); - virtual void - destroy_filter_builder (TAO_EC_Filter_Builder*); - virtual TAO_EC_Supplier_Filter_Builder* - create_supplier_filter_builder (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*); - virtual TAO_EC_ConsumerAdmin* - create_consumer_admin (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_admin (TAO_EC_ConsumerAdmin*); - virtual TAO_EC_SupplierAdmin* - create_supplier_admin (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_admin (TAO_EC_SupplierAdmin*); - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*); - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*); - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*); - virtual void - destroy_timeout_generator (TAO_EC_Timeout_Generator*); - virtual TAO_EC_ObserverStrategy* - create_observer_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_observer_strategy (TAO_EC_ObserverStrategy*); - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*); - virtual TAO_EC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*); - virtual TAO_EC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*); - - virtual ACE_Lock* create_consumer_lock (void); - virtual void destroy_consumer_lock (ACE_Lock*); - virtual ACE_Lock* create_supplier_lock (void); - virtual void destroy_supplier_lock (ACE_Lock*); - - virtual TAO_EC_ConsumerControl* - create_consumer_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_control (TAO_EC_ConsumerControl*); - virtual TAO_EC_SupplierControl* - create_supplier_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_control (TAO_EC_SupplierControl*); - - /// Accessors to consumer collection flags - int consumer_collection (void) const; - - /// Accessors to supplier collection flags - int supplier_collection (void) const; - - /// Accessors to supplier filtering flags - int supplier_filtering (void) const; - - /// Accessor to ORBid - const ACE_CString& orb_id (void) const; -protected: - - /// Helper for agrument parsing. Prints out an error message about - /// unsupported option value. - void unsupported_option_value (const char * option_name, - const char * option_value); - -protected: - /// Several flags to control the kind of object created. - int dispatching_; - int filtering_; - int supplier_filtering_; - int timeout_; - int observer_; - int scheduling_; - int consumer_collection_; - int supplier_collection_; - int consumer_lock_; - int supplier_lock_; - - /// The MT dispatching priority has several arguments that could be - /// controlled here... - int dispatching_threads_; - int dispatching_threads_flags_; - int dispatching_threads_priority_; - int dispatching_threads_force_active_; - ACE_CString queue_full_service_object_name_; - TAO_EC_Queue_Full_Service_Object* find_service_object (const char* wanted, - const char* fallback); - - /// Use this ORB to locate global resources. - ACE_CString orbid_; - - /// The consumer and supplier control policies. - int consumer_control_; - int supplier_control_; - - /// The consumer and supplier control periods in usecs - int consumer_control_period_; - int supplier_control_period_; - - /// The consumer control timeout in usecs - ACE_Time_Value consumer_control_timeout_; - - /// The supplier control timeout in usecs - ACE_Time_Value supplier_control_timeout_; - - /// Validate the connection to consumer on connect - int consumer_validate_connection_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Default_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_STATIC_SVC_DECLARE (TAO_EC_Default_Factory) -ACE_FACTORY_DECLARE (TAO_RTEvent_Serv, TAO_EC_Default_Factory) - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_DEFAULT_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i deleted file mode 100644 index 2564cd3b0c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Default_Factory::TAO_EC_Default_Factory (void) - : dispatching_ (TAO_EC_DEFAULT_DISPATCHING), - filtering_ (TAO_EC_DEFAULT_CONSUMER_FILTER), - supplier_filtering_ (TAO_EC_DEFAULT_SUPPLIER_FILTER), - timeout_ (TAO_EC_DEFAULT_TIMEOUT), - observer_ (TAO_EC_DEFAULT_OBSERVER), - scheduling_ (TAO_EC_DEFAULT_SCHEDULING), - consumer_collection_ (TAO_EC_DEFAULT_CONSUMER_COLLECTION), - supplier_collection_ (TAO_EC_DEFAULT_SUPPLIER_COLLECTION), - consumer_lock_ (TAO_EC_DEFAULT_CONSUMER_LOCK), - supplier_lock_ (TAO_EC_DEFAULT_SUPPLIER_LOCK), - dispatching_threads_ (TAO_EC_DEFAULT_DISPATCHING_THREADS), - dispatching_threads_flags_ (TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS), - dispatching_threads_priority_ (TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY), - dispatching_threads_force_active_ (TAO_EC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE), - queue_full_service_object_name_ (TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME), - orbid_ (TAO_EC_DEFAULT_ORB_ID), - consumer_control_ (TAO_EC_DEFAULT_CONSUMER_CONTROL), - supplier_control_ (TAO_EC_DEFAULT_SUPPLIER_CONTROL), - consumer_control_period_ (TAO_EC_DEFAULT_CONSUMER_CONTROL_PERIOD), - supplier_control_period_ (TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD), - consumer_control_timeout_ (0, TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT), - supplier_control_timeout_ (0, TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT), - consumer_validate_connection_ (TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION) -{ -} - -ACE_INLINE int -TAO_EC_Default_Factory::consumer_collection (void) const -{ - return this->consumer_collection_; -} - -ACE_INLINE int -TAO_EC_Default_Factory::supplier_collection (void) const -{ - return this->supplier_collection_; -} - -ACE_INLINE int -TAO_EC_Default_Factory::supplier_filtering (void) const -{ - return this->supplier_filtering_; -} - -ACE_INLINE const ACE_CString& -TAO_EC_Default_Factory::orb_id (void) const -{ - return this->orbid_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp deleted file mode 100644 index e3bca47a2d0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp +++ /dev/null @@ -1,192 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Default_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_Supplier_Filter_Builder.h" -#include "orbsvcs/Event/EC_Supplier_Filter.h" -#include "ace/Synch_T.h" - -ACE_RCSID(Event, EC_Default_ProxyConsumer, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_EC_Unlock; - -TAO_EC_Default_ProxyPushConsumer:: - TAO_EC_Default_ProxyPushConsumer (TAO_EC_Event_Channel_Base* ec) - : TAO_EC_ProxyPushConsumer (ec) -{ -} - -TAO_EC_Default_ProxyPushConsumer::~TAO_EC_Default_ProxyPushConsumer (void) -{ -} - -void -TAO_EC_Default_ProxyPushConsumer::connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected)) -{ - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->event_channel_->supplier_reconnect () == 0) - ACE_THROW (RtecEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed, go ahead and disconnect the - // consumer... - this->cleanup_i (); - - // @@ Please read the comments in EC_ProxySuppliers about - // possible race conditions in this area... - TAO_EC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_EC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->reconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // A separate thread could have connected siomultaneously, - // this is probably an application error, handle it as - // gracefully as possible - if (this->is_connected_i ()) - return; // @@ Should we throw - } - - this->supplier_ = - RtecEventComm::PushSupplier::_duplicate (push_supplier); - this->connected_ = 1; - this->qos_ = qos; - -#if TAO_EC_ENABLE_DEBUG_MESSAGES - ACE_DEBUG ((LM_DEBUG, - "Building filter for supplier <%x>.\n", - this)); -#endif /* TAO_EC_ENABLED_DEBUG_MESSAGES */ - this->filter_ = - this->event_channel_->supplier_filter_builder ()->create (this->qos_); - this->filter_->bind (this); - } - - // Notify the event channel... - this->event_channel_->connected (this ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Default_ProxyPushConsumer::push (const RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_EC_ProxyPushConsumer_Guard ace_mon (this->lock_, - this->refcount_, - this->event_channel_, - this); - if (!ace_mon.locked ()) - return; - - ace_mon.filter->push (event, this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Default_ProxyPushConsumer::disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - RtecEventComm::PushSupplier_var supplier; - int connected = 0; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - connected = this->is_connected_i (); - supplier = this->supplier_._retn (); - this->connected_ = 0; - - if (connected) - this->cleanup_i (); - } - - // Notify the event channel... - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier.in ())) - { - return; - } - - if (this->event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; - } -} - -PortableServer::POA_ptr -TAO_EC_Default_ProxyPushConsumer::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_EC_Default_ProxyPushConsumer::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_EC_Default_ProxyPushConsumer::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_EC_Default_ProxyPushConsumer::activate ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - proxy = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -PortableServer::ObjectId -TAO_EC_Default_ProxyPushConsumer::object_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::ObjectId_var result = - this->default_POA_->servant_to_id (this ACE_ENV_ARG_PARAMETER); - return result.in (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h deleted file mode 100644 index e08d7d4c092..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Default_ProxyConsumer.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * @author Jason Smith (jason@atdesk.com) - * - */ - -#ifndef TAO_EC_DEFAULT_PROXYCONSUMER_H -#define TAO_EC_DEFAULT_PROXYCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_ProxyConsumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushSupplier; -class TAO_EC_Supplier_Filter; - -/** - * @class TAO_EC_Default_ProxyPushConsumer - * - * @brief implements RtecEventChannelAdmin::ProxyPushConsumer interface. - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_Default_ProxyPushConsumer : - public POA_RtecEventChannelAdmin::ProxyPushConsumer, - public TAO_EC_ProxyPushConsumer -{ -public: - - /// Constructor... - TAO_EC_Default_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel); - - /// Destructor... - virtual ~TAO_EC_Default_ProxyPushConsumer (void); - - virtual void activate ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The RtecEventChannelAdmin::ProxyPushConsumer methods... - virtual void connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected)); - virtual void push (const RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - -private: - - virtual PortableServer::ObjectId - object_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_DEFAULT_PROXYCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.cpp deleted file mode 100644 index a431afb219f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.cpp +++ /dev/null @@ -1,228 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Default_ProxySupplier.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_Filter_Builder.h" - -#include "ace/Reverse_Lock_T.h" - -ACE_RCSID (Event, - EC_ProxySupplier, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_EC_Unlock; - -TAO_EC_Default_ProxyPushSupplier::TAO_EC_Default_ProxyPushSupplier ( - TAO_EC_Event_Channel_Base* ec, - int validate_connection) - : TAO_EC_ProxyPushSupplier (ec, validate_connection) -{ -} - -TAO_EC_Default_ProxyPushSupplier::~TAO_EC_Default_ProxyPushSupplier (void) -{ -} - -void -TAO_EC_Default_ProxyPushSupplier::connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)) -{ - // Nil PushConsumers are illegal - if (CORBA::is_nil (push_consumer)) - ACE_THROW (CORBA::BAD_PARAM ()); - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i ()) - { - if (this->event_channel_->consumer_reconnect () == 0) - ACE_THROW (RtecEventChannelAdmin::AlreadyConnected ()); - - // Re-connections are allowed.... - this->cleanup_i (); - - this->consumer_ = - RtecEventComm::PushConsumer::_duplicate (push_consumer); - this->qos_ = qos; - this->child_ = - this->event_channel_->filter_builder ()->build (this, - this->qos_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->adopt_child (this->child_); - - TAO_EC_Unlock reverse_lock (*this->lock_); - - { - ACE_GUARD_THROW_EX ( - TAO_EC_Unlock, ace_mon, reverse_lock, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->reconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // A separate thread could have connected simultaneously, - // this is probably an application error, handle it as - // gracefully as possible - if (this->is_connected_i ()) - return; // @@ Should we throw - } - -#if (TAO_HAS_CORBA_MESSAGING == 1) - if ( consumer_validate_connection_ == 1 ) - { - // Validate connection during connect. - CORBA::PolicyList_var unused; - int status = push_consumer->_validate_connection (unused - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#if TAO_EC_ENABLE_DEBUG_MESSAGES - ACE_DEBUG ((LM_DEBUG, "Validated connection to PushConsumer on connect. Status[%d]\n", status)); -#else - ACE_UNUSED_ARG(status); -#endif /* TAO_EC_ENABLED_DEBUG_MESSAGES */ - } -#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ - - this->consumer_ = - RtecEventComm::PushConsumer::_duplicate (push_consumer); - this->qos_ = qos; - -#if TAO_EC_ENABLE_DEBUG_MESSAGES - ACE_DEBUG ((LM_DEBUG, - "Building filters for consumer <%x>.\n", - this)); -#endif /* TAO_EC_ENABLED_DEBUG_MESSAGES */ - this->child_ = - this->event_channel_->filter_builder ()->build (this, - this->qos_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->adopt_child (this->child_); - } - - // Notify the event channel... - this->event_channel_->connected (this ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Default_ProxyPushSupplier::disconnect_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - RtecEventComm::PushConsumer_var consumer; - int connected = 0; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - connected = this->is_connected_i (); - consumer = this->consumer_._retn (); - - if (connected) - this->cleanup_i (); - } - - // Notify the event channel.... - this->event_channel_->disconnected (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (!connected) - { - return; - } - - if (this->event_channel_->disconnect_callbacks ()) - { - ACE_TRY - { - consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ProxySupplier::disconnect_push_supplier"); - } - ACE_ENDTRY; - } -} - -void -TAO_EC_Default_ProxyPushSupplier::suspend_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->suspend_connection_locked (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Default_ProxyPushSupplier::resume_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->resume_connection_locked (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -PortableServer::POA_ptr -TAO_EC_Default_ProxyPushSupplier::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -void -TAO_EC_Default_ProxyPushSupplier::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_EC_Default_ProxyPushSupplier::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_EC_Default_ProxyPushSupplier::activate ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - proxy = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -PortableServer::ObjectId -TAO_EC_Default_ProxyPushSupplier::object_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::ObjectId_var result = - this->default_POA_->servant_to_id (this ACE_ENV_ARG_PARAMETER); - - return result.in (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.h b/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.h deleted file mode 100644 index ae59254ea93..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.h +++ /dev/null @@ -1,82 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Default_ProxySupplier.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * @author Jason Smith (jason@atdesk.com) - */ - -#ifndef TAO_DEFAULT_EC_PROXYSUPPLIER_H -#define TAO_DEFAULT_EC_PROXYSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_ProxySupplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Default_ProxyPushSupplier - * - * @brief Implement the ReliableEventChannelAdmin::ProxyPushSupplier - * interface - */ -class TAO_RTEvent_Serv_Export TAO_EC_Default_ProxyPushSupplier - : public POA_RtecEventChannelAdmin::ProxyPushSupplier, - public TAO_EC_ProxyPushSupplier -{ -public: - - /// Constructor... - TAO_EC_Default_ProxyPushSupplier (TAO_EC_Event_Channel_Base* event_channel, int validate_connection); - - /// Destructor... - virtual ~TAO_EC_Default_ProxyPushSupplier (void); - - void activate ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// IDL methods. - virtual void connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)); - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void suspend_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void resume_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The Servant methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - -private: - - virtual PortableServer::ObjectId - object_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_DEFAULT_PROXYSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h b/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h deleted file mode 100644 index bcabf232a45..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h +++ /dev/null @@ -1,144 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Defaults.h - * - * $Id$ - * - * In this file we set the compile time defaults for the event - * channel. - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_DEFAULTS_H -#define TAO_EC_DEFAULTS_H - -#include /**/ "ace/pre.h" - -#ifndef TAO_EC_ENABLE_DEBUG_MESSAGES -#define TAO_EC_ENABLE_DEBUG_MESSAGES 0 -#endif /* TAO_EC_ENABLE_DEBUG_MESSAGES */ - -// Any of the definitions below can be overriden in the config.h file -// or the compilation line. - -// Control consumer and supplier reconnections -#ifndef TAO_EC_DEFAULT_CONSUMER_RECONNECT -# define TAO_EC_DEFAULT_CONSUMER_RECONNECT 0 -#endif /* TAO_EC_DEFAULT_CONSUMER_RECONNECT */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_RECONNECT -#define TAO_EC_DEFAULT_SUPPLIER_RECONNECT 0 -#endif /* TAO_EC_DEFAULT_SUPPLIER_RECONNECT */ - -// Control callbacks when proxies are disconnected -#ifndef TAO_EC_DEFAULT_DISCONNECT_CALLBACKS -# define TAO_EC_DEFAULT_DISCONNECT_CALLBACKS 0 -#endif /* TAO_EC_DEFAULT_DISCONNECT_CALLBACKS */ - -// The defaults for the default factory. -// The TAO_EC_Default_Factory is a run-time configurable factory for -// the event channel. Using the service configurator the user can -// specify what strategies should the factory produce. -// This macros control the default values for those strategies. -// -#ifndef TAO_EC_DEFAULT_DISPATCHING -# define TAO_EC_DEFAULT_DISPATCHING 0 /* reactive */ -#endif /* TAO_EC_DEFAULT_DISPATCHING */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_FILTER -# define TAO_EC_DEFAULT_CONSUMER_FILTER 1 /* type, disj. conj. timers */ -#endif /* TAO_EC_DEFAULT_CONSUMER_FILTER */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_FILTER -# define TAO_EC_DEFAULT_SUPPLIER_FILTER 1 /* per supplier */ -#endif /* TAO_EC_DEFAULT_SUPPLIER_FILTER */ - -#ifndef TAO_EC_DEFAULT_TIMEOUT -# define TAO_EC_DEFAULT_TIMEOUT 0 /* reactive */ -#endif /* TAO_EC_DEFAULT_TIMEOUT */ - -#ifndef TAO_EC_DEFAULT_OBSERVER -# define TAO_EC_DEFAULT_OBSERVER 0 /* null */ -#endif /* TAO_EC_DEFAULT_OBSERVER */ - -#ifndef TAO_EC_DEFAULT_SCHEDULING -# define TAO_EC_DEFAULT_SCHEDULING 0 /* null */ -#endif /* TAO_EC_DEFAULT_SCHEDULING */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_COLLECTION -# define TAO_EC_DEFAULT_CONSUMER_COLLECTION 0x001 /* copy-on-read MT-safe */ -#endif /* TAO_EC_DEFAULT_CONSUMER_COLLECTION */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_COLLECTION -# define TAO_EC_DEFAULT_SUPPLIER_COLLECTION 0x001 /* copy-on-read MT-safe */ -#endif /* TAO_EC_DEFAULT_SUPPLIER_COLLECTION */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_LOCK -# define TAO_EC_DEFAULT_CONSUMER_LOCK 1 /* thread */ -#endif /* TAO_EC_DEFAULT_CONSUMER_LOCK */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_LOCK -# define TAO_EC_DEFAULT_SUPPLIER_LOCK 1 /* thread */ -#endif /* TAO_EC_DEFAULT_SUPPLIER_LOCK */ - -#ifndef TAO_EC_DEFAULT_DISPATCHING_THREADS -# define TAO_EC_DEFAULT_DISPATCHING_THREADS 1 /* */ -#endif /* TAO_EC_DEFAULT_DISPATCHING_THREADS */ - -#ifndef TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS -# define TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS THR_NEW_LWP|THR_SCHED_FIFO -#endif /* TAO_EC_DEFAULT_DISPATCHING_THREADS */ - -#ifndef TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY -# define TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY 0 /* */ -#endif /* TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY */ - -#ifndef TAO_EC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE -# define TAO_EC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE 1 -#endif /* TAO_EC_DEFAULT_DISPATCHING_THREADS_FORCE_ACTIVE */ - -#ifndef TAO_EC_DEFAULT_ORB_ID -# define TAO_EC_DEFAULT_ORB_ID "" /* */ -#endif /* TAO_EC_DEFAULT_ORB_ID */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_CONTROL -# define TAO_EC_DEFAULT_CONSUMER_CONTROL 0 /* null */ -#endif /* TAO_EC_DEFAULT_CONSUMER_CONTROL */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_CONTROL -# define TAO_EC_DEFAULT_SUPPLIER_CONTROL 0 /* null */ -#endif /* TAO_EC_DEFAULT_SUPPLIER_CONTROL */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_CONTROL_PERIOD -# define TAO_EC_DEFAULT_CONSUMER_CONTROL_PERIOD 5000000 /* usecs */ -#endif /* TAO_EC_DEFAULT_CONSUMER_CONTROL_PERIOD */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD -# define TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD 5000000 /* usecs */ -#endif /* TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD */ - -#ifndef TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME -# define TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME "EC_QueueFullSimpleActions" -#endif /* TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT -# define TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT 10000 /* usecs */ -#endif /* TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT */ - -#ifndef TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT -# define TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT 10000 /* usecs */ -#endif /* TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT */ - -#ifndef TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION -# define TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION 0 /* no validation */ -#endif /* TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_DEFAULTS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp deleted file mode 100644 index 9016401e2f4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp +++ /dev/null @@ -1,163 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Disjunction_Filter.h" - -ACE_RCSID(Event, EC_Disjunction_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Disjunction_Filter:: - TAO_EC_Disjunction_Filter (TAO_EC_Filter* children[], - size_t n) - : children_ (children), - n_ (n) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - this->adopt_child (*i); - } -} - -TAO_EC_Disjunction_Filter::~TAO_EC_Disjunction_Filter (void) -{ - TAO_EC_Filter** end = this->children_ + this->n_; - for (TAO_EC_Filter** i = this->children_; - i != end; - ++i) - { - delete *i; - *i = 0; - } - delete[] this->children_; - this->children_ = 0; - this->n_ = 0; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Disjunction_Filter::begin (void) const -{ - return this->children_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Disjunction_Filter::end (void) const -{ - return this->children_ + this->n_; -} - -int -TAO_EC_Disjunction_Filter::size (void) const -{ - return static_cast (this->n_); -} - -int -TAO_EC_Disjunction_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - int n = (*i)->filter (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (n != 0) - return n; - } - return 0; -} - -int -TAO_EC_Disjunction_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - int n = (*i)->filter (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (n != 0) - return n; - } - return 0; -} - -void -TAO_EC_Disjunction_Filter::push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Disjunction_Filter::push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Disjunction_Filter::clear (void) -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - (*i)->clear (); - } -} - -CORBA::ULong -TAO_EC_Disjunction_Filter::max_event_size (void) const -{ - CORBA::ULong n = 0; - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - CORBA::ULong m = (*i)->max_event_size (); - if (n < m) - n = m; - } - return n; -} - -int -TAO_EC_Disjunction_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); - i != end; - ++i) - { - if ((*i)->can_match (header) != 0) - return 1; - } - return 0; -} - -int -TAO_EC_Disjunction_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h deleted file mode 100644 index 06585acb46d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h +++ /dev/null @@ -1,90 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Disjunction_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_DISJUNCTION_FILTER_H -#define TAO_EC_DISJUNCTION_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Disjunction_Filter - * - * @brief The disjunction filter. - * - * This filter has a set of children (fixed at creation time), if - * any of the children accepts an event then it also does. - * - *

Memory Management

- * It assumes ownership of the children. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Disjunction_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. It assumes ownership of both the array and the - /// children. - TAO_EC_Disjunction_Filter (TAO_EC_Filter* children[], - size_t n); - - /// Destructor - virtual ~TAO_EC_Disjunction_Filter (void); - - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Disjunction_Filter (const TAO_EC_Disjunction_Filter&); - TAO_EC_Disjunction_Filter& operator= (const TAO_EC_Disjunction_Filter&); - -private: - /// The children - TAO_EC_Filter** children_; - - /// The number of children. - size_t n_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_DISJUNCTION_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.cpp deleted file mode 100644 index 4e2ead6d6e1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" - -ACE_RCSID(Event, EC_Dispatching, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Dispatching::~TAO_EC_Dispatching (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h deleted file mode 100644 index 14fc0cc7860..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_DISPATCHING_H -#define TAO_EC_DISPATCHING_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventCommC.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_QOS_Info; -class TAO_EC_ProxyPushSupplier; - -/** - * @class TAO_EC_Dispatching - * - * @brief Abstract base class for the dispatching strategies. - * - * The dispatching strategies. - * The EC may be configured with different dispatching strategies, - * for instance, it can use a pool of threads to dispatch the - * events, or a set of queues with threads at different priorities - * for each queue or can simply push the event to the consumer in - * FIFO order. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Dispatching -{ -public: - /// Destructor... - virtual ~TAO_EC_Dispatching (void); - - /// Initialize all the data structures, activate any internal threads, - /// etc. - virtual void activate (void) = 0; - - /** - * Deactivate any internal threads and cleanup internal data - * structures, it should only return once the threads have finished - * their jobs. - */ - virtual void shutdown (void) = 0; - - /** - * The consumer represented by @a proxy should receive @a event. - * It can use the information in @a qos_info to determine the event - * priority (among other things). - */ - virtual void push (TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; - virtual void push_nocopy (TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp deleted file mode 100644 index 93b6952aa8d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp +++ /dev/null @@ -1,210 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Dispatching_Task.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Defaults.h" - -#include "tao/ORB_Constants.h" -#include "ace/OS_NS_errno.h" -#include "ace/OS_NS_strings.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Dispatching_Task.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Dispatching, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Simple_Queue_Full_Action::TAO_EC_Simple_Queue_Full_Action (void) - : queue_full_action_return_value_ (WAIT_TO_EMPTY) -{ -} - -/// Helper function to register the default action into the service -/// configurator. -int -TAO_EC_Simple_Queue_Full_Action::init_svcs (void) -{ - return ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_EC_Simple_Queue_Full_Action); -} - -int -TAO_EC_Simple_Queue_Full_Action::init (int argc, char* argv[]) -{ - // Here we look at the args and set an internal flag indicating whether - // the default action should be to wait for the queue to not be full - // or whether it should be to silently discard the event. - - // @@ This should use the arg shifter stuff, but let's keep it simple to - // start. - - do { - if (argc == 0) - break; - - if (ACE_OS::strcasecmp ("wait", argv[0]) == 0) - this->queue_full_action_return_value_ = WAIT_TO_EMPTY; - else if (ACE_OS::strcasecmp ("discard", argv[0]) == 0) - this->queue_full_action_return_value_ = SILENTLY_DISCARD; -#if 0 - else - ; - // probably ought to print an error message here -#endif - } while (0); - - return 0; -} - -int -TAO_EC_Simple_Queue_Full_Action::fini (void) -{ - return 0; -} - -int -TAO_EC_Simple_Queue_Full_Action::queue_full_action (TAO_EC_Dispatching_Task * /*task*/, - TAO_EC_ProxyPushSupplier * /*proxy*/, - RtecEventComm::PushConsumer_ptr /*consumer*/, - RtecEventComm::EventSet& /*event*/ - ACE_ENV_ARG_DECL_NOT_USED) -{ - return this->queue_full_action_return_value_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_EC_Simple_Queue_Full_Action, - ACE_TEXT (TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_EC_Simple_Queue_Full_Action), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTEvent_Serv, TAO_EC_Simple_Queue_Full_Action) - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL -int -TAO_EC_Queue::is_full_i (void) -{ - return static_cast (this->cur_count_) > this->high_water_mark_; -} - -// **************************************************************** - -int -TAO_EC_Dispatching_Task::svc (void) -{ - int done = 0; - while (!done) - { - ACE_TRY_NEW_ENV - { - ACE_Message_Block *mb = 0; - 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")); - - TAO_EC_Dispatch_Command *command = - dynamic_cast (mb); - - if (command == 0) - { - ACE_Message_Block::release (mb); - continue; - } - - int 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; -} - -void -TAO_EC_Dispatching_Task::push (TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) -{ - if (this->msg_queue()->is_full ()) - { - int action = - this->queue_full_service_object_->queue_full_action (this, proxy, - consumer, event - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (action == TAO_EC_Queue_Full_Service_Object::SILENTLY_DISCARD) - return; - // if action == WAIT_TO_EMPTY then we just go ahead and queue it - } - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - void* buf = this->allocator_->malloc (sizeof (TAO_EC_Push_Command)); - - if (buf == 0) - ACE_THROW (CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - - ACE_Message_Block *mb = - new (buf) TAO_EC_Push_Command (proxy, - consumer, - event, - this->data_block_.duplicate (), - this->allocator_); - this->putq (mb); -} - -// **************************************************************** - -TAO_EC_Dispatch_Command::~TAO_EC_Dispatch_Command (void) -{ -} - -// **************************************************************** - -int -TAO_EC_Shutdown_Task_Command::execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return -1; -} - -// **************************************************************** - -TAO_EC_Push_Command::~TAO_EC_Push_Command (void) -{ - this->proxy_->_decr_refcnt (); -} - -int -TAO_EC_Push_Command::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - this->proxy_->push_to_consumer (this->consumer_.in (), - this->event_ - ACE_ENV_ARG_PARAMETER); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h deleted file mode 100644 index 7aaedd68071..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h +++ /dev/null @@ -1,199 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Dispatching_Task.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_DISPATCHING_TASK_H -#define TAO_EC_DISPATCHING_TASK_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_ProxySupplier.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecEventCommC.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "ace/Task.h" -#include "ace/Message_Block.h" -#include "ace/Lock_Adapter_T.h" -#include "ace/Service_Config.h" -#include "ace/Global_Macros.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward decl -class TAO_EC_Dispatching_Task; - -class TAO_RTEvent_Serv_Export TAO_EC_Queue_Full_Service_Object : public ACE_Service_Object -{ -public: - enum QueueFullActionReturnValue - { - WAIT_TO_EMPTY = 0, - SILENTLY_DISCARD = -1 - }; - - // Called when - virtual int queue_full_action (TAO_EC_Dispatching_Task *task, - TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) = 0; -}; - -class TAO_RTEvent_Serv_Export TAO_EC_Simple_Queue_Full_Action : - public TAO_EC_Queue_Full_Service_Object -{ -public: - TAO_EC_Simple_Queue_Full_Action (); - - /// Helper function to register the default action into the service - /// configurator. - static int init_svcs (void); - - // = The Service_Object entry points - virtual int init (int argc, char* argv[]); - virtual int fini (void); - - virtual int queue_full_action (TAO_EC_Dispatching_Task *task, - TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL); - -protected: - int queue_full_action_return_value_; -}; - -class TAO_RTEvent_Serv_Export TAO_EC_Queue : public ACE_Message_Queue -{ -public: - TAO_EC_Queue (size_t high_water_mark = ACE_Message_Queue_Base::DEFAULT_HWM, - size_t low_water_mark = ACE_Message_Queue_Base::DEFAULT_LWM, - ACE_Notification_Strategy * = 0); - -protected: - // = Override the default definition in the Message_Queue, to count - // the number of messages (and not their size). - virtual int is_full_i (void); -}; - -/** - * @class TAO_EC_Dispatching_Task - * - * @brief Implement the dispatching queues for FIFO and Priority - * dispatching. - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_Dispatching_Task : public ACE_Task -{ -public: - /// Constructor - TAO_EC_Dispatching_Task (ACE_Thread_Manager* thr_manager = 0, TAO_EC_Queue_Full_Service_Object* queue_full_service_object = 0); - - /// Process the events in the queue. - virtual int svc (void); - - virtual void push (TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL); - -private: - /// An per-task allocator - ACE_Allocator *allocator_; - - /// Helper data structure to minimize memory allocations... - ACE_Locked_Data_Block > data_block_; - - /// The queue - TAO_EC_Queue the_queue_; - - TAO_EC_Queue_Full_Service_Object* queue_full_service_object_; -}; - -// **************************************************************** - -class TAO_RTEvent_Serv_Export TAO_EC_Dispatch_Command : public ACE_Message_Block -{ -public: - /// Constructor, it will allocate its own data block - TAO_EC_Dispatch_Command (ACE_Allocator *mb_allocator = 0); - - /// Constructor, it assumes ownership of the data block - TAO_EC_Dispatch_Command (ACE_Data_Block*, - ACE_Allocator *mb_allocator = 0); - - /// Destructor - virtual ~TAO_EC_Dispatch_Command (void); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) = 0; -}; - -// **************************************************************** - -class TAO_RTEvent_Serv_Export TAO_EC_Shutdown_Task_Command : public TAO_EC_Dispatch_Command -{ -public: - /// Constructor - TAO_EC_Shutdown_Task_Command (ACE_Allocator *mb_allocator = 0); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); -}; - -// **************************************************************** - -class TAO_RTEvent_Serv_Export TAO_EC_Push_Command : public TAO_EC_Dispatch_Command -{ -public: - /// Constructor - TAO_EC_Push_Command (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - ACE_Data_Block* data_block, - ACE_Allocator *mb_allocator); - - /// Destructor - virtual ~TAO_EC_Push_Command (void); - - /// Command callback - virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - -private: - /// The proxy - TAO_EC_ProxyPushSupplier* proxy_; - - /// The consumer connected to the proxy when the event was pushed. - RtecEventComm::PushConsumer_var consumer_; - - /// The event - RtecEventComm::EventSet event_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Dispatching_Task.i" -#endif /* __ACE_INLINE__ */ - -ACE_STATIC_SVC_DECLARE (TAO_EC_Simple_Queue_Full_Action) -ACE_FACTORY_DECLARE (TAO_RTEvent_Serv, TAO_EC_Simple_Queue_Full_Action) - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_DISPATCHING_TASK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i deleted file mode 100644 index 37930e408fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Queue:: - TAO_EC_Queue (size_t high_water_mark, - size_t low_water_mark, - ACE_Notification_Strategy *ns) - : ACE_Message_Queue (high_water_mark, - low_water_mark, - ns) -{ -} - -/// @todo The high water mark and low water mark shouldn't be -/// hardcoded, check http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=565 -#ifndef TAO_EC_QUEUE_HWM -#define TAO_EC_QUEUE_HWM 16384 -//#define TAO_EC_QUEUE_HWM 2 -#endif - -#ifndef TAO_EC_QUEUE_LWM -#define TAO_EC_QUEUE_LWM 16 -//#define TAO_EC_QUEUE_LWM 1 -#endif - -ACE_INLINE -TAO_EC_Dispatching_Task:: -TAO_EC_Dispatching_Task (ACE_Thread_Manager* thr_manager, TAO_EC_Queue_Full_Service_Object* so) - : ACE_Task (thr_manager), - allocator_ (0), - the_queue_ (TAO_EC_QUEUE_HWM, TAO_EC_QUEUE_LWM), - queue_full_service_object_ (so) -{ - this->msg_queue (&this->the_queue_); -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Dispatch_Command::TAO_EC_Dispatch_Command (ACE_Allocator *mb_allocator) - : ACE_Message_Block (mb_allocator) -{ -} - -ACE_INLINE -TAO_EC_Dispatch_Command::TAO_EC_Dispatch_Command (ACE_Data_Block *data_block, - ACE_Allocator *mb_allocator) - : ACE_Message_Block (data_block, - 0, - mb_allocator) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Shutdown_Task_Command:: - TAO_EC_Shutdown_Task_Command (ACE_Allocator *mb_allocator) - : TAO_EC_Dispatch_Command (mb_allocator) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Push_Command::TAO_EC_Push_Command ( - TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - ACE_Data_Block* data_block, - ACE_Allocator *mb_allocator) - : TAO_EC_Dispatch_Command (data_block, mb_allocator), - proxy_ (proxy), - consumer_ (RtecEventComm::PushConsumer::_duplicate (consumer)) - -{ - // - // Efficient copy, steal the buffer from - // We cannot do this on the initialization because get_buffer() - // could get called first, effectively setting maximum() and - // length() to 0! - // - CORBA::ULong maximum = event.maximum (); - CORBA::ULong length = event.length (); - RtecEventComm::Event* buffer = event.get_buffer (1); - event_.replace (maximum, length, buffer, 1); - - this->proxy_->_incr_refcnt (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp deleted file mode 100644 index b35602065d0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID(Event, EC_Event_Channel, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Event_Channel:: -TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes& attr, - TAO_EC_Factory* factory, - int own_factory) - : TAO_EC_Event_Channel_Base (attr, factory, own_factory) -{ - if (this->factory () == 0) - { - this->factory ( - ACE_Dynamic_Service::instance ("EC_Factory"), - 0); - - if (this->factory () == 0) - { - TAO_EC_Factory *f = 0; - ACE_NEW (f, - TAO_EC_Default_Factory); - this->factory (f, 1); - } - } - this->scheduler_ = - CORBA::Object::_duplicate (attr.scheduler); - - this->create_strategies (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h deleted file mode 100644 index a2aa9b95643..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h +++ /dev/null @@ -1,62 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Event_Channel.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * @author Jason Smith (jason@atdesk.com) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_EVENT_CHANNEL_H -#define TAO_EC_EVENT_CHANNEL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Event_Channel_Base.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Event_Channel - * - * @brief The RtecEventChannelAdmin::EventChannel implementation. - * - * This class is the Mediator between all the classes in the EC - * implementation, its main task is to redirect the messages to - * the right components, to hold and manage the lifetime of the - * long lived objects (Timer_Module, SupplierAdmin, - * ConsumerAdmin and Dispatching) and to provide a simpler - * interface to the EC_Factory. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Event_Channel : - public TAO_EC_Event_Channel_Base -{ -public: - /** - * constructor - * If @a own_factory is not 0 it assumes ownership of the factory. - * If the @a factory is nil it uses the Service_Configurator to load - * the Factory, if not found it uses TAO_EC_Default_Factory - */ - TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes& attributes, - TAO_EC_Factory* factory = 0, - int own_factory = 0); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_EVENT_CHANNEL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.cpp deleted file mode 100644 index cdb208fbb4a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.cpp +++ /dev/null @@ -1,353 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Timeout_Generator.h" -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_ConsumerControl.h" -#include "orbsvcs/Event/EC_SupplierControl.h" -#include "ace/Dynamic_Service.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Event_Channel_Base.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Event_Channel_Base, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Event_Channel_Base:: -TAO_EC_Event_Channel_Base (const TAO_EC_Event_Channel_Attributes& attr, - TAO_EC_Factory* factory, - int own_factory) - : supplier_poa_ (PortableServer::POA::_duplicate (attr.supplier_poa)), - consumer_poa_ (PortableServer::POA::_duplicate (attr.consumer_poa)), - factory_ (factory), - own_factory_ (own_factory), - dispatching_ (0), - filter_builder_ (0), - supplier_filter_builder_ (0), - consumer_admin_ (0), - supplier_admin_ (0), - timeout_generator_ (0), - observer_strategy_ (0), - scheduling_strategy_(0), - consumer_reconnect_ (attr.consumer_reconnect), - supplier_reconnect_ (attr.supplier_reconnect), - disconnect_callbacks_ (attr.disconnect_callbacks), - consumer_control_ (0), - supplier_control_ (0), - status_ (EC_S_IDLE) -{ - this->scheduler_ = - CORBA::Object::_duplicate (attr.scheduler); -} - -TAO_EC_Event_Channel_Base::~TAO_EC_Event_Channel_Base (void) -{ - // Destroy Strategies in the reverse order of creation, they - // refere to each other during destruction and thus need to be - // cleaned up properly. - this->factory_->destroy_supplier_control (this->supplier_control_); - this->supplier_control_ = 0; - this->factory_->destroy_consumer_control (this->consumer_control_); - this->consumer_control_ = 0; - - this->factory_->destroy_scheduling_strategy (this->scheduling_strategy_); - this->scheduling_strategy_ = 0; - - this->factory_->destroy_observer_strategy (this->observer_strategy_); - this->observer_strategy_ = 0; - - this->factory_->destroy_timeout_generator (this->timeout_generator_); - this->timeout_generator_ = 0; - - this->factory_->destroy_supplier_admin (this->supplier_admin_); - this->supplier_admin_ = 0; - this->factory_->destroy_consumer_admin (this->consumer_admin_); - this->consumer_admin_ = 0; - - this->factory_->destroy_supplier_filter_builder (this->supplier_filter_builder_); - this->supplier_filter_builder_ = 0; - - this->factory_->destroy_filter_builder (this->filter_builder_); - this->filter_builder_ = 0; - - this->factory_->destroy_dispatching (this->dispatching_); - this->dispatching_ = 0; - - this->factory (0, 0); -} - -void -TAO_EC_Event_Channel_Base::create_strategies (void) -{ - this->dispatching_ = - this->factory_->create_dispatching (this); - this->filter_builder_ = - this->factory_->create_filter_builder (this); - this->supplier_filter_builder_ = - this->factory_->create_supplier_filter_builder (this); - this->consumer_admin_ = - this->factory_->create_consumer_admin (this); - this->supplier_admin_ = - this->factory_->create_supplier_admin (this); - this->timeout_generator_ = - this->factory_->create_timeout_generator (this); - this->observer_strategy_ = - this->factory_->create_observer_strategy (this); - - this->scheduling_strategy_ = - this->factory_->create_scheduling_strategy (this); - - this->consumer_control_ = - this->factory_->create_consumer_control (this); - this->supplier_control_ = - this->factory_->create_supplier_control (this); -} - -void -TAO_EC_Event_Channel_Base::activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - { - // First check if the EC is idle, if it is not then we need to - // return right away... - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); - if (this->status_ != EC_S_IDLE) - return; - this->status_ = EC_S_ACTIVATING; - } - this->dispatching_->activate (); - this->timeout_generator_->activate (); - this->consumer_control_->activate (); - this->supplier_control_->activate (); - { - // Only when all the operations complete successfully we can mark - // the EC as active... - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); - ACE_ASSERT (this->status_ == EC_S_ACTIVATING); - this->status_ = EC_S_ACTIVE; - } -} - -void -TAO_EC_Event_Channel_Base::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - { - // First check if the EC is already active, if it is not then we - // need to return right away... - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); - if (this->status_ != EC_S_ACTIVE) - return; - this->status_ = EC_S_DESTROYING; - } - this->dispatching_->shutdown (); - this->timeout_generator_->shutdown (); - this->supplier_control_->shutdown (); - this->consumer_control_->shutdown (); - - this->deactivate_supplier_admin (); - this->deactivate_consumer_admin (); - - this->supplier_admin_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->consumer_admin_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - { - // Wait until all the shutdown() operations return before marking - // the EC as destroyed... - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); - ACE_ASSERT (this->status_ == EC_S_DESTROYING); - this->status_ = EC_S_DESTROYED; - } -} - -void -TAO_EC_Event_Channel_Base::deactivate_supplier_admin (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - PortableServer::POA_var supplier_poa = - this->supplier_admin_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var supplier_id = - supplier_poa->servant_to_id (this->supplier_admin_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - supplier_poa->deactivate_object (supplier_id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // The deactivation can throw... - } - ACE_ENDTRY; -} - -void -TAO_EC_Event_Channel_Base::deactivate_consumer_admin (void) -{ - ACE_TRY_NEW_ENV - { - PortableServer::POA_var consumer_poa = - this->consumer_admin_->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::ObjectId_var consumer_id = - consumer_poa->servant_to_id (this->consumer_admin_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - consumer_poa->deactivate_object (consumer_id.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // The deactivation can throw... - } - ACE_ENDTRY; -} - -void -TAO_EC_Event_Channel_Base::connected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->peer_connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->supplier_admin_->connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->observer_strategy_->connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Event_Channel_Base::reconnected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->peer_reconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->supplier_admin_->reconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->observer_strategy_->connected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Event_Channel_Base::disconnected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->consumer_admin_->peer_disconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->supplier_admin_->disconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->observer_strategy_->disconnected (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Event_Channel_Base::connected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->peer_connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->consumer_admin_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->observer_strategy_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Event_Channel_Base::reconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->peer_reconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->consumer_admin_->reconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->observer_strategy_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Event_Channel_Base::disconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->supplier_admin_->peer_disconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->consumer_admin_->disconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->observer_strategy_->disconnected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -RtecEventChannelAdmin::ConsumerAdmin_ptr -TAO_EC_Event_Channel_Base::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->consumer_admin_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -RtecEventChannelAdmin::SupplierAdmin_ptr -TAO_EC_Event_Channel_Base::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->supplier_admin_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_EC_Event_Channel_Base::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -RtecEventChannelAdmin::Observer_Handle -TAO_EC_Event_Channel_Base::append_observer ( - RtecEventChannelAdmin::Observer_ptr observer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) -{ - return this->observer_strategy_->append_observer (observer - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Event_Channel_Base::remove_observer ( - RtecEventChannelAdmin::Observer_Handle handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) -{ - this->observer_strategy_->remove_observer (handle - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Event_Channel_Base::for_each_consumer ( - TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->consumer_admin_->for_each (worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Event_Channel_Base::for_each_supplier ( - TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->supplier_admin_->for_each (worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.h b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.h deleted file mode 100644 index b42632c4c43..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.h +++ /dev/null @@ -1,377 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Event_Channel_Base.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Marina Spivak (marina@atdesk.com) - * @author Jason Smith (jason@atdesk.com) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_EVENT_CHANNEL_BASE_H -#define TAO_EC_EVENT_CHANNEL_BASE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_Defaults.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_ESF_Worker; - -/** - * @class TAO_EC_Event_Channel_Attributes - * - * @brief Defines the construction time attributes for the Event - * Channel. - * - * The event channel implementation is controlled by two - * mechanisms: - * The EC_Factory that provides the strategies for the EC - * implementation. - * The EC attributes that define constants and values required - * by the EC construction. - * This class encapsulates those constants and values, providing - * an easy mechanism to extend the attributes without requiring - * changes in the EC constructor. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Event_Channel_Attributes -{ -public: - /** - * The basic constructor. - * The attributes listed as arguments are *required* by the EC, and - * no appropiate defaults are available for them. - */ - TAO_EC_Event_Channel_Attributes (PortableServer::POA_ptr supplier_poa, - PortableServer::POA_ptr consumer_poa); - - // Most fields are public, there is no need to protect them, in fact - // the user should be able to set any values she wants. - - /// Can consumers or suppliers invoke connect_push_* multiple times? - int consumer_reconnect; - int supplier_reconnect; - - /** - * It not zero the event channel will send disconnect callbacks when - * a disconnect method is called on a Proxy. In other words, if a - * consumer calls disconnect_push_supplier() on its proxy the EC - * will invoke disconnect_push_consumer() on the consumer. A - * similar thing is done for suppliers. - * It is a matter of debate what the spec requires for the regular - * event service. - */ - int disconnect_callbacks; - - /** - * The scheduling service that we will use with this event channel. - * Notice that this is optional and will only take effect if the EC - * is configured with the right filtering strategies. - */ - CORBA::Object_ptr scheduler; - -private: - /// Only the EC can read the private fields. - friend class TAO_EC_Event_Channel_Base; - - /// The POAs - PortableServer::POA_ptr supplier_poa; - PortableServer::POA_ptr consumer_poa; -}; - -/** - * @class TAO_EC_Event_Channel_Base - * - * @brief The RtecEventChannelAdmin::EventChannel implementation. - * - * This class is the Mediator between all the classes in the EC - * implementation, its main task is to redirect the messages to - * the right components, to hold and manage the lifetime of the - * long lived objects (Timer_Module, SupplierAdmin, - * ConsumerAdmin and Dispatching) and to provide a simpler - * interface to the EC_Factory. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Event_Channel_Base - : public POA_RtecEventChannelAdmin::EventChannel -{ -public: - /// destructor - virtual ~TAO_EC_Event_Channel_Base (void); - - /// Start the internal threads (if any), etc. - /// After this call the EC can be used. - virtual void activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Shutdown any internal threads, cleanup all the internal - /// structures, flush all the messages, etc. - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - virtual void for_each_consumer ( - TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void for_each_supplier ( - TAO_ESF_Worker *worker - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Access the dispatching module.... - TAO_EC_Dispatching* dispatching (void) const; - - /// Access the filter builder.... - TAO_EC_Filter_Builder* filter_builder (void) const; - - /// Access the filter builder.... - TAO_EC_Supplier_Filter_Builder* supplier_filter_builder (void) const; - - /// Access the consumer admin implementation, useful for controlling - /// the activation... - TAO_EC_ConsumerAdmin* consumer_admin (void) const; - - /// Access the supplier admin implementation, useful for controlling - /// the activation... - TAO_EC_SupplierAdmin* supplier_admin (void) const; - - /// Access the timer module... - TAO_EC_Timeout_Generator* timeout_generator (void) const; - - /// Access the scheduling strategy - TAO_EC_Scheduling_Strategy* scheduling_strategy (void) const; - - /// Access the client control strategies. - TAO_EC_ConsumerControl *consumer_control (void) const; - TAO_EC_SupplierControl *supplier_control (void) const; - - // = The factory methods, they delegate on the EC_Factory. - /// Create and destroy a ProxyPushSupplier - void create_proxy (TAO_EC_ProxyPushSupplier*&); - void destroy_proxy (TAO_EC_ProxyPushSupplier*); - - /// Create and destroy a ProxyPushConsumer - void create_proxy (TAO_EC_ProxyPushConsumer*&); - void destroy_proxy (TAO_EC_ProxyPushConsumer*); - - - /// Create and destroy a the collections used to store - /// ProxyPushSuppliers - void create_proxy_collection (TAO_EC_ProxyPushSupplier_Collection*&); - void destroy_proxy_collection (TAO_EC_ProxyPushSupplier_Collection*); - - - /// Create and destroy a the collections used to store - /// ProxyPushConsumers - void create_proxy_collection (TAO_EC_ProxyPushConsumer_Collection*&); - void destroy_proxy_collection (TAO_EC_ProxyPushConsumer_Collection*); - - /// Access the supplier and consumer POAs from the factory. - PortableServer::POA_ptr supplier_poa (void); - PortableServer::POA_ptr consumer_poa (void); - - /// Locking strategies for the ProxyPushConsumer and - /// ProxyPushSupplier objects - ACE_Lock* create_consumer_lock (void); - void destroy_consumer_lock (ACE_Lock*); - ACE_Lock* create_supplier_lock (void); - void destroy_supplier_lock (ACE_Lock*); - - /// Used to inform the EC that a Consumer has connected or - /// disconnected from it. - virtual void connected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - - /// Used to inform the EC that a Supplier has connected or - /// disconnected from it. - virtual void connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void reconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - - // Simple flags to control the EC behavior, set by the application - // at construction time. - - /// Can the consumers reconnect to the EC? - int consumer_reconnect (void) const; - - /// Can the suppliers reconnect to the EC? - int supplier_reconnect (void) const; - - /// Should we send callback disconnect messages when a proxy is - /// disconnected by the client - int disconnect_callbacks (void) const; - - /// Obtain the scheduler, the user must release - CORBA::Object_ptr scheduler (void); - - // = The RtecEventChannelAdmin::EventChannel methods... - /// The default implementation is: - /// this->consumer_admin ()->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - virtual RtecEventChannelAdmin::ConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// The default implementation is: - /// this->supplier_admin ()->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - virtual RtecEventChannelAdmin::SupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Commit suicide. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual RtecEventChannelAdmin::Observer_Handle - append_observer (RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)); - virtual void - remove_observer (RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)); - - /// Return 1 if the event channel is already destroyed. - int destroyed (void); - -protected: - /** - * Constructor - * If @a own_factory is not 0 it assumes ownership of the factory. - * If the @a factory is nil it uses the Service_Configurator to load - * the Factory, if not found it uses TAO_EC_Default_Resource_Factory - */ - TAO_EC_Event_Channel_Base (const TAO_EC_Event_Channel_Attributes& attributes, - TAO_EC_Factory* factory = 0, - int own_factory = 0); - - /** - * Get the factory. - */ - TAO_EC_Factory * factory (void) const; - - /** - * Set the factory, if @a own_factory is not 0 it assumes ownership of the - * factory. - */ - void factory (TAO_EC_Factory* factory, - int own_factory = 0); - - /** - * Create all strategies - */ - void create_strategies (void); - - /// Helpers. Deactivate admins from their POAs, ignoring any CORBA - /// exceptions. - //@{ - void deactivate_supplier_admin (void); - void deactivate_consumer_admin (void); - //@} - - /// The POAs used to activate "supplier-side" and "consumer-side" - /// objects. - PortableServer::POA_var supplier_poa_; - PortableServer::POA_var consumer_poa_; - - /** - * This is the abstract factory that creates all the objects that - * compose an event channel, the event channel simply acts as a - * Mediator among them. - */ - TAO_EC_Factory *factory_; - - /// Flag that indicates if we own the factory. - int own_factory_; - - /// The dispatching "module" - TAO_EC_Dispatching *dispatching_; - - /// The filter builder - TAO_EC_Filter_Builder *filter_builder_; - - /// The filter builder for suppliers - TAO_EC_Supplier_Filter_Builder *supplier_filter_builder_; - - /// The ConsumerAdmin implementation - TAO_EC_ConsumerAdmin *consumer_admin_; - - /// The SupplierAdmin implementation - TAO_EC_SupplierAdmin *supplier_admin_; - - /// The timeout generator - TAO_EC_Timeout_Generator *timeout_generator_; - - /// The observer strategy - TAO_EC_ObserverStrategy *observer_strategy_; - - /// The scheduler (may be nil) - CORBA::Object_var scheduler_; - - /// The scheduling strategy - TAO_EC_Scheduling_Strategy *scheduling_strategy_; - - /// Consumer reconnection flags - int consumer_reconnect_; - - /// Supplier reconnection flags - int supplier_reconnect_; - - /// If not zero we send callbacks when a proxy is disconnected - int disconnect_callbacks_; - - /// Strategies to disconnect misbehaving or destroyed consumers - TAO_EC_ConsumerControl *consumer_control_; - - /// Strategies to disconnect misbehaving or destroyed suppliers - TAO_EC_SupplierControl *supplier_control_; - - /// Mutex to protect the internal state - TAO_SYNCH_MUTEX mutex_; - - /// Flag to track the status of the event channel - enum { - EC_S_IDLE - , EC_S_ACTIVATING - , EC_S_ACTIVE - , EC_S_DESTROYING - , EC_S_DESTROYED - }; - int status_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Event_Channel_Base.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_EVENT_CHANNEL_BASE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.i b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.i deleted file mode 100644 index 1883f84ef11..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.i +++ /dev/null @@ -1,206 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Event_Channel_Attributes:: -TAO_EC_Event_Channel_Attributes (PortableServer::POA_ptr s_poa, - PortableServer::POA_ptr c_poa) - : consumer_reconnect (TAO_EC_DEFAULT_CONSUMER_RECONNECT), - supplier_reconnect (TAO_EC_DEFAULT_SUPPLIER_RECONNECT), - disconnect_callbacks (TAO_EC_DEFAULT_DISCONNECT_CALLBACKS), - scheduler (CORBA::Object::_nil ()), - supplier_poa (s_poa), - consumer_poa (c_poa) -{ -} - -ACE_INLINE TAO_EC_Factory* -TAO_EC_Event_Channel_Base::factory (void) const -{ - return this->factory_; -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::factory (TAO_EC_Factory* factory, - int own_factory) -{ - if (this->own_factory_) - delete this->factory_; - - this->factory_ = factory; - this->own_factory_ = own_factory; -} - -ACE_INLINE TAO_EC_Dispatching* -TAO_EC_Event_Channel_Base::dispatching (void) const -{ - return this->dispatching_; -} - -ACE_INLINE TAO_EC_Filter_Builder* -TAO_EC_Event_Channel_Base::filter_builder (void) const -{ - return this->filter_builder_; -} - -ACE_INLINE TAO_EC_Supplier_Filter_Builder* -TAO_EC_Event_Channel_Base::supplier_filter_builder (void) const -{ - return this->supplier_filter_builder_; -} - -ACE_INLINE TAO_EC_ConsumerAdmin* -TAO_EC_Event_Channel_Base::consumer_admin (void) const -{ - return this->consumer_admin_; -} - -ACE_INLINE TAO_EC_SupplierAdmin* -TAO_EC_Event_Channel_Base::supplier_admin (void) const -{ - return this->supplier_admin_; -} - -ACE_INLINE TAO_EC_Timeout_Generator* -TAO_EC_Event_Channel_Base::timeout_generator (void) const -{ - return this->timeout_generator_; -} - -ACE_INLINE TAO_EC_Scheduling_Strategy* -TAO_EC_Event_Channel_Base::scheduling_strategy (void) const -{ - return this->scheduling_strategy_; -} - -ACE_INLINE TAO_EC_ConsumerControl* -TAO_EC_Event_Channel_Base::consumer_control (void) const -{ - return this->consumer_control_; -} - -ACE_INLINE TAO_EC_SupplierControl* -TAO_EC_Event_Channel_Base::supplier_control (void) const -{ - return this->supplier_control_; -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::create_proxy (TAO_EC_ProxyPushSupplier*& x) -{ - x = this->factory_->create_proxy_push_supplier (this); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::destroy_proxy (TAO_EC_ProxyPushSupplier* supplier) -{ - this->factory_->destroy_proxy_push_supplier (supplier); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::create_proxy (TAO_EC_ProxyPushConsumer*& x) -{ - x = this->factory_->create_proxy_push_consumer (this); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::destroy_proxy (TAO_EC_ProxyPushConsumer* consumer) -{ - this->factory_->destroy_proxy_push_consumer (consumer); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::create_proxy_collection (TAO_EC_ProxyPushConsumer_Collection*& x) -{ - x = this->factory_->create_proxy_push_consumer_collection (this); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::destroy_proxy_collection (TAO_EC_ProxyPushConsumer_Collection* x) -{ - this->factory_->destroy_proxy_push_consumer_collection (x); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::create_proxy_collection (TAO_EC_ProxyPushSupplier_Collection*& x) -{ - x = this->factory_->create_proxy_push_supplier_collection (this); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::destroy_proxy_collection (TAO_EC_ProxyPushSupplier_Collection* x) -{ - this->factory_->destroy_proxy_push_supplier_collection (x); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_EC_Event_Channel_Base::supplier_poa (void) -{ - return PortableServer::POA::_duplicate (this->supplier_poa_.in ()); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_EC_Event_Channel_Base::consumer_poa (void) -{ - return PortableServer::POA::_duplicate (this->consumer_poa_.in ()); -} - -ACE_INLINE ACE_Lock* -TAO_EC_Event_Channel_Base::create_consumer_lock (void) -{ - return this->factory_->create_consumer_lock (); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::destroy_consumer_lock (ACE_Lock* x) -{ - this->factory_->destroy_consumer_lock (x); -} - -ACE_INLINE ACE_Lock* -TAO_EC_Event_Channel_Base::create_supplier_lock (void) -{ - return this->factory_->create_supplier_lock (); -} - -ACE_INLINE void -TAO_EC_Event_Channel_Base::destroy_supplier_lock (ACE_Lock* x) -{ - this->factory_->destroy_supplier_lock (x); -} - -ACE_INLINE int -TAO_EC_Event_Channel_Base::consumer_reconnect (void) const -{ - return this->consumer_reconnect_; -} - -ACE_INLINE int -TAO_EC_Event_Channel_Base::supplier_reconnect (void) const -{ - return this->supplier_reconnect_; -} - -ACE_INLINE int -TAO_EC_Event_Channel_Base::disconnect_callbacks (void) const -{ - return this->disconnect_callbacks_; -} - -ACE_INLINE CORBA::Object_ptr -TAO_EC_Event_Channel_Base::scheduler (void) -{ - return CORBA::Object::_duplicate (this->scheduler_.in ()); -} - -ACE_INLINE int -TAO_EC_Event_Channel_Base::destroyed (void) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0); - return (this->status_ == EC_S_DESTROYED); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Factory.cpp deleted file mode 100644 index 0612521f408..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Factory.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Factory.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID(Event, EC_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Factory::~TAO_EC_Factory (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Factory.h deleted file mode 100644 index a3cd903d4f4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Factory.h +++ /dev/null @@ -1,169 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_FACTORY_H -#define TAO_EC_FACTORY_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -#include "ace/Service_Object.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Lock; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; - -class TAO_EC_Dispatching; -class TAO_EC_Filter_Builder; -class TAO_EC_Supplier_Filter_Builder; -class TAO_EC_ConsumerAdmin; -class TAO_EC_SupplierAdmin; -class TAO_EC_ProxyPushConsumer; -class TAO_EC_ProxyPushSupplier; -class TAO_EC_ObserverStrategy; -template class TAO_ESF_Proxy_Collection; -class TAO_EC_Timeout_Generator; -class TAO_EC_Scheduling_Strategy; -class TAO_EC_ConsumerControl; -class TAO_EC_SupplierControl; - -typedef TAO_ESF_Proxy_Collection TAO_EC_ProxyPushConsumer_Collection; -typedef TAO_ESF_Proxy_Collection TAO_EC_ProxyPushSupplier_Collection; - -/** - * @class TAO_EC_Factory - * - * @brief Abstract base class for the Event Channel components. - * - * Defines the EC_Factory interface. - * - *

Memory Management

- * The objects it creates are owned by this class, the client must - * invoke the corresponding destroy() method to release them. - * Some implementations may require a different instance for the - * EC_Factory for each instance of Event_Channel. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Factory : public ACE_Service_Object -{ -public: - /// destructor... - virtual ~TAO_EC_Factory (void); - - /// Create and destroy the dispatching module. - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_dispatching (TAO_EC_Dispatching*) = 0; - - /// Create and destroy the filter builder. - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_filter_builder (TAO_EC_Filter_Builder*) = 0; - - /// Create and destroy the filter builder. - virtual TAO_EC_Supplier_Filter_Builder* - create_supplier_filter_builder (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*) = 0; - - /// Create and destroy the consumer admin implementation. - virtual TAO_EC_ConsumerAdmin* - create_consumer_admin (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_consumer_admin (TAO_EC_ConsumerAdmin*) = 0; - - /// Create and destroy the supplier admin implementation. - virtual TAO_EC_SupplierAdmin* - create_supplier_admin (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_supplier_admin (TAO_EC_SupplierAdmin*) = 0; - - /// Create and destroy a ProxyPushSupplier - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*) = 0; - - /// Create and destroy a ProxyPushConsumer - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*) = 0; - - /// Create and destroy the timer module. - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_timeout_generator (TAO_EC_Timeout_Generator*) = 0; - - /// Create and destroy the observer strategy. - virtual TAO_EC_ObserverStrategy* - create_observer_strategy (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_observer_strategy (TAO_EC_ObserverStrategy*) = 0; - - /// Create and destroy the observer strategy. - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*) = 0; - - /// Create and destroy a collection of TAO_EC_ProxyPushConsumers - virtual TAO_EC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*) = 0; - - /// Create and destroy a collection of TAO_EC_ProxyPushSuppliers - virtual TAO_EC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*) = 0; - - /// Create and destroy the locking strategies for both - /// ProxyPushConsumers and ProxyPushSuppliers - virtual ACE_Lock* create_consumer_lock (void) = 0; - virtual void destroy_consumer_lock (ACE_Lock*) = 0; - virtual ACE_Lock* create_supplier_lock (void) = 0; - virtual void destroy_supplier_lock (ACE_Lock*) = 0; - - /// The ConsumerControl and SupplierControl strategies are used to - /// discard non-existent consumers and suppliers - virtual TAO_EC_ConsumerControl* - create_consumer_control (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_consumer_control (TAO_EC_ConsumerControl*) = 0; - virtual TAO_EC_SupplierControl* - create_supplier_control (TAO_EC_Event_Channel_Base*) = 0; - virtual void - destroy_supplier_control (TAO_EC_SupplierControl*) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp deleted file mode 100644 index 55f0de96038..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp +++ /dev/null @@ -1,130 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Filter.h" -#include "orbsvcs/Event/EC_QOS_Info.h" - -#include "tao/ORB_Constants.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Filter.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Filter, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Filter::~TAO_EC_Filter (void) -{ -} - -void -TAO_EC_Filter::adopt_child (TAO_EC_Filter* child) -{ - child->parent_ = this; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Filter::begin (void) const -{ - return 0; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Filter::end (void) const -{ - return 0; -} - -int -TAO_EC_Filter::size (void) const -{ - return 0; -} - -void -TAO_EC_Filter::get_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - ACE_UNUSED_ARG (qos_info); - ACE_THROW (CORBA::NO_IMPLEMENT (TAO::VMCID, - CORBA::COMPLETED_NO)); -} - -// **************************************************************** - -int -TAO_EC_Null_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - // This is a leaf, no need to query any children, and we accept all - // events, so push it. - this->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; -} - -int -TAO_EC_Null_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - // This is a leaf, no need to query any children, and we accept all - // events, so push it. - this->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; -} - -void -TAO_EC_Null_Filter::push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Null_Filter::push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Null_Filter::clear (void) -{ - // do nothing -} - -CORBA::ULong -TAO_EC_Null_Filter::max_event_size (void) const -{ - // @@ Is there a better way to express this? - return 0; -} - -int -TAO_EC_Null_Filter::can_match (const RtecEventComm::EventHeader&) const -{ - // @@ This method should be correctly so we can implement null - // filtering at the consumers but real filtering on the suppliers. - return 1; -} - -int -TAO_EC_Null_Filter::add_dependencies ( - const RtecEventComm::EventHeader &, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) - -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h deleted file mode 100644 index d092917ab4e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.h +++ /dev/null @@ -1,225 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_FILTER_H -#define TAO_EC_FILTER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventCommC.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_QOS_Info; - -/** - * @class TAO_EC_Filter - * - * @brief Abstract base class for the filter hierarchy. - * - * The per-consumer filtering mechanisms. - * The EC needs to filter data passed to the consumers, so it can - * correctly satisfy its subscription requirements. - * This filtering can include correlations, sequences, timeouts, - * etc. each consumer can request different filtering criteria. - * Different filtering objects are associated with each consumer, - * the filters are organized in a hierarchical structure, - * corresponding to the subscription "expression" that the events - * must satisfy. - * The hierarchy is constructed using the "Builder" pattern. - * - *

Memory Management

- * It does *not* assume ownership of its parent. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Filter -{ -public: - /// constructor... - TAO_EC_Filter (void); - - /// destructor... - virtual ~TAO_EC_Filter (void); - - /// Obtain the parent of this filter. - TAO_EC_Filter* parent (void) const; - - /// Become the parent of @a child. - void adopt_child (TAO_EC_Filter* child); - - /// Matches two event headers. - /// @todo Should we strategize the algorithm used to match headers? - static int matches (const RtecEventComm::EventHeader& rhs, - const RtecEventComm::EventHeader& lhs); - - typedef TAO_EC_Filter* value_type; - typedef TAO_EC_Filter* const const_value_type; - typedef const_value_type* ChildrenIterator; - - /** - * STL-like iterators - * Filters follow the Composite pattern. All filters expose the same - * interface as if they all had children, but for simple filters the - * iterators return an empty range. - */ - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - - /** - * Filter this event, returns 1 if the event is accepted, 0 - * otherwise. - * Notice that there are two versions of the method, if the event is - * not const then filter can take ownership of the event. - * - * @attention There seems to be a disparity in interfaces: Supplier - * always push event sets of size 1 to the EC_ProxyPushSupplier, and - * EC_Filters do not implement handling of sets of more than 1 - * event. Then, why is this not enforced by the interface by having - * EC_ProxyPushSupplier take an event rather than a set? - */ - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) = 0; - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) = 0; - - /** - * This is called by the children when they accept an event and - * which to pass it up. - * Notice that there are two versions of the method, if the event is - * not const then filter can take ownership of the event. - */ - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) = 0; - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) = 0; - - /// Clear any saved state, must reset and assume no events have been - /// received. - virtual void clear (void) = 0; - - /// Returns the maximum size of the events pushed by this filter. - virtual CORBA::ULong max_event_size (void) const = 0; - - /** - * Returns 0 if an event with that header could never be accepted. - * This can used by the suppliers to filter out consumers that - * couldn't possibly be interested in their events. - * The rt_info and - */ - virtual int can_match (const RtecEventComm::EventHeader& header) const = 0; - - /** - * This is used for computing the scheduling dependencies: - * - * Leaf filters check if the header could be matched, similar to the - * can_match() method; if it does they return 1, and 0 otherwise. - * Intermediate nodes always return 0. - * - * This is used to build precise dependencies between the suppliers - * and the leaf of the filters that accept that event. Notice that - * only the nodes doing scheduling recurse through the list, so in - * configurations that do no require scheduling the recursion stops - * fairly soon. - */ - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) = 0; - - /** - * Obtain the QOS information for this filter, the default - * implementation returns an invalid QOS. Only the filters that - * support scheduling information implement this method. - * @return Returns 0 on success and -1 on failure - */ - virtual void get_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// The parent... - TAO_EC_Filter* parent_; -}; - -// **************************************************************** - -/** - * @class TAO_EC_Null_Filter - * - * @brief A null filter - * - * This filter accepts any kind of event, it is useful for the - * implementation: - * a) Consumers that accept all events - * b) Consumers that trust the filtering done at the Supplier - * layer. - * c) Event Channels that don't do filtering (such as CosEC - * backends) - */ -class TAO_RTEvent_Serv_Export TAO_EC_Null_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. - TAO_EC_Null_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); -}; - -// **************************************************************** - -// @@ Add more types of filters like: -// - Events in a sequence. -// - Events in a sequence with timeouts. -// - Conjunction with timeout [as opposed to disjunction of -// conjunction and a timeout] -// - etc. - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Filter.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.i b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.i deleted file mode 100644 index a5b9e121522..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.i +++ /dev/null @@ -1,45 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Filter::TAO_EC_Filter (void) - : parent_ (0) -{ -} - -ACE_INLINE TAO_EC_Filter* -TAO_EC_Filter::parent (void) const -{ - return this->parent_; -} - -ACE_INLINE int -TAO_EC_Filter::matches (const RtecEventComm::EventHeader& rhs, - const RtecEventComm::EventHeader& lhs) -{ - if ((rhs.source == 0 && rhs.type == 0) - || (lhs.source == 0 && lhs.type == 0)) - return 1; - - if (rhs.source == 0 || lhs.source == 0) - return rhs.type == lhs.type; - - if (rhs.type == 0 || lhs.type == 0) - return rhs.source == lhs.source; - - return (rhs.type == lhs.type && rhs.source == lhs.source); -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Null_Filter::TAO_EC_Null_Filter (void) -{ -} - -// **************************************************************** - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp deleted file mode 100644 index 07934456276..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Filter_Builder.h" -#include "orbsvcs/Event/EC_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Filter_Builder, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Filter_Builder::~TAO_EC_Filter_Builder (void) -{ -} - -// **************************************************************** - -TAO_EC_Null_Filter_Builder::~TAO_EC_Null_Filter_Builder (void) -{ -} - -TAO_EC_Filter* -TAO_EC_Null_Filter_Builder::build ( - TAO_EC_ProxyPushSupplier *, - RtecEventChannelAdmin::ConsumerQOS& - ACE_ENV_ARG_DECL_NOT_USED) const -{ - return new TAO_EC_Null_Filter; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.h b/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.h deleted file mode 100644 index 5d639e8d7e0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.h +++ /dev/null @@ -1,92 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Filter_Builder.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_FILTER_BUILDER_H -#define TAO_EC_FILTER_BUILDER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventChannelAdminC.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Filter; -class TAO_EC_ProxyPushSupplier; - -/** - * @class TAO_EC_Filter_Builder - * - * @brief Abstract base class for the filter builders. - * - * The creation of a filter hierarchy is controlled by a - * Filter_Builder. The relationship between TAO_EC_Filter and - * TAO_EC_Filter_Builder follows the "Builder Pattern" (Gamma et - * al.) - */ -class TAO_RTEvent_Serv_Export TAO_EC_Filter_Builder -{ -public: - /// destructor... - virtual ~TAO_EC_Filter_Builder (void); - - /// Create the filter, the caller must assume ownership of the filter - /// returned. - virtual TAO_EC_Filter* - build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const = 0; - -}; - -// **************************************************************** - -/** - * @class TAO_EC_Null_Filter_Builder - * - * @brief A simple implementation of the filter builder. - * - * Simply creates a Null_Filter in every case. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Null_Filter_Builder : public TAO_EC_Filter_Builder -{ -public: - /// constructor. - TAO_EC_Null_Filter_Builder (void); - - /// destructor... - virtual ~TAO_EC_Null_Filter_Builder (void); - - // = The TAO_EC_Filter_Builder methods... - TAO_EC_Filter* build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_FILTER_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.i b/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.i deleted file mode 100644 index 89d32fe656e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Filter_Builder.i +++ /dev/null @@ -1,12 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Null_Filter_Builder::TAO_EC_Null_Filter_Builder (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp deleted file mode 100644 index 8addbb46165..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Gateway.h" - -ACE_RCSID (Event, - EC_Gateway, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Gateway::TAO_EC_Gateway (void) - : handle_ (0) -{ -} - -TAO_EC_Gateway::~TAO_EC_Gateway (void) -{ -} - -void -TAO_EC_Gateway::observer_handle (RtecEventChannelAdmin::Observer_Handle h) -{ - this->handle_ = h; -} - -RtecEventChannelAdmin::Observer_Handle -TAO_EC_Gateway::observer_handle (void) const -{ - return this->handle_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.h b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.h deleted file mode 100644 index 965e6a9daf6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Gateway.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_GATEWAY_H -#define TAO_EC_GATEWAY_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" -#include "orbsvcs/RtecEventCommS.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Gateway - * - * @brief Event Channel Gateway - * - * There are several ways to connect several EC together, for - * instance: - * + A single class can use normal IIOP and connect to one EC as - * a supplier and to another EC as a consumer. - * + A class connects as a consumer and transmit the events using - * multicast, another class receives the multicast messages and - * transform them back into a push() call. - * This is an abstract class to represent all the different - * strategies for EC distribution. - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_Gateway - : public POA_RtecEventChannelAdmin::Observer -{ -public: - /// Default constructor. - TAO_EC_Gateway (void); - - /// Destructor - virtual ~TAO_EC_Gateway (void); - - /// The gateway must disconnect from all the relevant event channels, - /// or any other communication media (such as multicast groups). - virtual void close (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) = 0; - - /// Obtain and modify the observer handle. - void observer_handle (RtecEventChannelAdmin::Observer_Handle h); - RtecEventChannelAdmin::Observer_Handle observer_handle (void) const; - -private: - RtecEventChannelAdmin::Observer_Handle handle_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* ACE_EC_GATEWAY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp deleted file mode 100644 index cf58d8cbd06..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp +++ /dev/null @@ -1,715 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Gateway_IIOP.h" -#include "orbsvcs/Event/ECG_Defaults.h" -#include "orbsvcs/Event_Utilities.h" -#include "orbsvcs/Time_Utilities.h" - -#include "orbsvcs/Event/EC_Gateway_IIOP_Factory.h" -#include "orbsvcs/Event/ECG_ConsumerEC_Control.h" - -#include "ace/Dynamic_Service.h" - -ACE_RCSID (Event, - EC_Gateway_IIOP, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Gateway_IIOP::TAO_EC_Gateway_IIOP (void) - : busy_count_ (0), - update_posted_ (0), - cleanup_posted_ (0), - supplier_ec_suspended_ (0), - supplier_info_ (0), - consumer_info_ (0), - consumer_ (this), - consumer_is_active_ (0), - supplier_ (this), - supplier_is_active_ (0), - ec_control_ (0), - factory_ (0), - use_ttl_ (1), - use_consumer_proxy_map_ (1) -{ - if (this->factory_ == 0) - { - this->factory_ = - ACE_Dynamic_Service::instance ("EC_Gateway_IIOP_Factory"); - - if (this->factory_ == 0) - { - TAO_EC_Gateway_IIOP_Factory *f = 0; - ACE_NEW (f, - TAO_EC_Gateway_IIOP_Factory); - this->factory_ = f; - } - } - - if (this->factory_ != 0) - { - this->use_ttl_ = this->factory_->use_ttl(); - this->use_consumer_proxy_map_ = this->factory_->use_consumer_proxy_map(); - } -} - -TAO_EC_Gateway_IIOP::~TAO_EC_Gateway_IIOP (void) -{ - delete ec_control_; - ec_control_ = 0; -} - -int -TAO_EC_Gateway_IIOP::init (RtecEventChannelAdmin::EventChannel_ptr supplier_ec, - RtecEventChannelAdmin::EventChannel_ptr consumer_ec - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - return this->init_i (supplier_ec, consumer_ec ACE_ENV_ARG_PARAMETER); -} - -int -TAO_EC_Gateway_IIOP::init_i (RtecEventChannelAdmin::EventChannel_ptr supplier_ec, - RtecEventChannelAdmin::EventChannel_ptr consumer_ec - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (CORBA::is_nil (this->supplier_ec_.in ()) && CORBA::is_nil (this->consumer_ec_.in ())) - { - this->supplier_ec_ = - RtecEventChannelAdmin::EventChannel::_duplicate (supplier_ec); - this->consumer_ec_ = - RtecEventChannelAdmin::EventChannel::_duplicate (consumer_ec); - - if (ec_control_ == 0) - { - ec_control_ = factory_->create_consumerec_control(this); - ec_control_->activate(); - } - - return 0; - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_EC_Gateway_IIOP - init_i " - "Supplier and consumer event channel reference " - "should be nil.\n"), -1); -} - -void -TAO_EC_Gateway_IIOP::close (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - this->close_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_EC_Gateway_IIOP::cleanup_consumer_proxies (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - // In case we are still pushing, don't cleanup the proxies - if (this->busy_count_ != 0) - { - this->cleanup_posted_ = 1; - return; - } - - this->cleanup_consumer_proxies_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_EC_Gateway_IIOP::close_i (ACE_ENV_SINGLE_ARG_DECL) -{ - // ACE_DEBUG ((LM_DEBUG, "ECG (%t) Closing gateway\n")); - this->disconnect_consumer_proxies_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->disconnect_supplier_proxy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Gateway_IIOP::disconnect_consumer_proxies_i (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->consumer_proxy_map_.current_size () > 0) - { - for (Consumer_Map_Iterator j = this->consumer_proxy_map_.begin (); - j != this->consumer_proxy_map_.end (); - ++j) - { - RtecEventComm::PushConsumer_ptr consumer = (*j).int_id_; - if (CORBA::is_nil (consumer)) - continue; - ACE_TRY - { - consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - CORBA::release (consumer); - } - // Remove all the elements on the map. Calling close() does not - // work because the map is left in an inconsistent state. - this->consumer_proxy_map_.open (); - } - - if (!CORBA::is_nil (this->default_consumer_proxy_.in ())) - { - this->default_consumer_proxy_->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->default_consumer_proxy_ = - RtecEventChannelAdmin::ProxyPushConsumer::_nil (); - } -} - -void -TAO_EC_Gateway_IIOP::disconnect_supplier_proxy_i (ACE_ENV_SINGLE_ARG_DECL) -{ - if (!CORBA::is_nil (this->supplier_proxy_.in ())) - { - this->supplier_proxy_->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->supplier_proxy_ = - RtecEventChannelAdmin::ProxyPushSupplier::_nil (); - } -} - -void -TAO_EC_Gateway_IIOP::reconnect_consumer_ec(ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->busy_count_ != 0) - { - this->update_posted_ = 1; - return; - } - - this->update_consumer_i (c_qos_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Gateway_IIOP::update_consumer ( - const RtecEventChannelAdmin::ConsumerQOS& c_qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (c_qos.dependencies.length () == 0) - return; - - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - this->c_qos_ = c_qos; - - if (this->busy_count_ != 0) - { - this->update_posted_ = 1; - return; - } - - this->update_consumer_i (c_qos ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Gateway_IIOP::cleanup_consumer_proxies_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - if (this->consumer_proxy_map_.current_size () > 0) - { - for (Consumer_Map_Iterator j = this->consumer_proxy_map_.begin (); - j != this->consumer_proxy_map_.end (); - ++j) - { - RtecEventComm::PushConsumer_ptr consumer = (*j).int_id_; - if (CORBA::is_nil (consumer)) - continue; - - CORBA::release (consumer); - } - // Remove all the elements on the map. Calling close() does not - // work because the map is left in an inconsistent state. - this->consumer_proxy_map_.open (); - } - - if (!CORBA::is_nil (this->default_consumer_proxy_.in ())) - { - this->default_consumer_proxy_ = - RtecEventChannelAdmin::ProxyPushConsumer::_nil (); - } -} - -void -TAO_EC_Gateway_IIOP::update_consumer_i ( - const RtecEventChannelAdmin::ConsumerQOS& c_qos - ACE_ENV_ARG_DECL) -{ - this->close_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (this->consumer_ec_.in ()) - || CORBA::is_nil (this->supplier_ec_.in ())) - return; - - // ACE_DEBUG ((LM_DEBUG, "ECG (%t) update_consumer_i \n")); - - this->open_i (c_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Gateway_IIOP::open_i ( - const RtecEventChannelAdmin::ConsumerQOS& c_qos - ACE_ENV_ARG_DECL) -{ - // = Connect as a supplier to the consumer EC - RtecEventChannelAdmin::SupplierAdmin_var supplier_admin = - this->consumer_ec_->for_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::ConsumerQOS sub = c_qos; - sub.is_gateway = 1; - - // Change the RT_Info in the consumer QoS. - // On the same loop we discover the subscriptions by event source, - // and fill the consumer proxy map if we have to use this map. - for (CORBA::ULong i = 0; i < sub.dependencies.length (); ++i) - { - sub.dependencies[i].rt_info = this->supplier_info_; - - RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy = 0; - const RtecEventComm::EventHeader &h = - sub.dependencies[i].event.header; - - RtecEventComm::EventSourceID sid = h.source; - - //ACE_DEBUG ((LM_DEBUG, - // "ECG (%t) trying (%d,%d)\n", - // sid, h.type)); - - // Skip all subscriptions that do not require an specific source - // id or skip all subscriptions when we don't need to use the consumer - // proxy map. - if (sid == ACE_ES_EVENT_SOURCE_ANY || this->use_consumer_proxy_map_ == 0) - continue; - - // Skip all the magic event types. - if (ACE_ES_EVENT_ANY < h.type && h.type < ACE_ES_EVENT_UNDEFINED) - continue; - - if (this->consumer_proxy_map_.find (sid, proxy) == -1) - { - //ACE_DEBUG ((LM_DEBUG, - // "ECG (%t) binding source %d\n", - // sid)); - proxy = supplier_admin->obtain_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->consumer_proxy_map_.bind (sid, proxy); - } - } - //ACE_DEBUG ((LM_DEBUG, - // "ECG (%t) consumer map computed (%d entries)\n", - // this->consumer_proxy_map_.current_size ())); - - if (this->consumer_proxy_map_.current_size () > 0) - { - this->supplier_is_active_ = 1; - - // Obtain a reference to our supplier personality... - RtecEventComm::PushSupplier_var supplier_ref = - this->supplier_._this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // For each subscription by source build the set of publications - // (they may several, by type, for instance) and connect to the - // consumer proxy. - for (Consumer_Map_Iterator j = this->consumer_proxy_map_.begin (); - j != this->consumer_proxy_map_.end (); - ++j) - { - RtecEventChannelAdmin::SupplierQOS pub; - pub.publications.length (sub.dependencies.length () + 1); - pub.is_gateway = 1; - - int c = 0; - - RtecEventComm::EventSourceID sid = (*j).ext_id_; - for (CORBA::ULong k = 0; k < sub.dependencies.length (); ++k) - { - const RtecEventComm::EventHeader& h = - sub.dependencies[k].event.header; - if (h.source != sid - || (ACE_ES_EVENT_ANY < h.type - && h.type < ACE_ES_EVENT_UNDEFINED)) - continue; - pub.publications[c].event.header = h; - pub.publications[c].dependency_info.dependency_type = - RtecBase::TWO_WAY_CALL; - pub.publications[c].dependency_info.number_of_calls = 1; - pub.publications[c].dependency_info.rt_info = this->consumer_info_; - c++; - } - //ACE_DEBUG ((LM_DEBUG, - // "ECG (%t) supplier id %d has %d elements\n", - // sid, c)); - if (c == 0) - continue; - - pub.publications.length (c); - - // ACE_DEBUG ((LM_DEBUG, "ECG (%P|%t) Gateway/Supplier ")); - // ACE_SupplierQOS_Factory::debug (pub); - (*j).int_id_->connect_push_supplier (supplier_ref.in (), - pub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - - // Also build the subscriptions that are *not* by source when we use the - // consumer proxy map, and all subscriptions when we don't use the map and - // then connect to the default consumer proxy. - RtecEventChannelAdmin::SupplierQOS pub; - pub.publications.length (sub.dependencies.length () + 1); - pub.is_gateway = 1; - int c = 0; - for (CORBA::ULong k = 0; k < sub.dependencies.length (); ++k) - { - const RtecEventComm::EventHeader& h = - sub.dependencies[k].event.header; - RtecEventComm::EventSourceID sid = h.source; - - // Skip all subscriptions with a specific source when we use the map - if (sid != ACE_ES_EVENT_SOURCE_ANY && this->use_consumer_proxy_map_ == 1) - continue; - - // Skip all the magic event types. - if (ACE_ES_EVENT_ANY < h.type && h.type < ACE_ES_EVENT_UNDEFINED) - continue; - - pub.publications[c].event.header = h; - pub.publications[c].event.header.creation_time = ORBSVCS_Time::zero (); - pub.publications[c].dependency_info.dependency_type = - RtecBase::TWO_WAY_CALL; - pub.publications[c].dependency_info.number_of_calls = 1; - pub.publications[c].dependency_info.rt_info = this->consumer_info_; - c++; - } - - if (c > 0) - { - this->supplier_is_active_ = 1; - - // Obtain a reference to our supplier personality... - RtecEventComm::PushSupplier_var supplier_ref = - this->supplier_._this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Obtain the consumer.... - this->default_consumer_proxy_ = - supplier_admin->obtain_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - pub.publications.length (c); - // ACE_DEBUG ((LM_DEBUG, "ECG (%t) Gateway/Supplier ")); - // ACE_SupplierQOS_Factory::debug (pub); - this->default_consumer_proxy_->connect_push_supplier (supplier_ref.in (), - pub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - RtecEventChannelAdmin::ConsumerAdmin_var consumer_admin = - this->supplier_ec_->for_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->supplier_proxy_ = - consumer_admin->obtain_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->consumer_is_active_ = 1; - RtecEventComm::PushConsumer_var consumer_ref = - this->consumer_._this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // ACE_DEBUG ((LM_DEBUG, "ECG (%P|%t) Gateway/Consumer ")); - // ACE_ConsumerQOS_Factory::debug (sub); - - this->supplier_proxy_->connect_push_consumer (consumer_ref.in (), - sub - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Gateway_IIOP::update_supplier ( - const RtecEventChannelAdmin::SupplierQOS& - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Do nothing... -} - -void -TAO_EC_Gateway_IIOP::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // ACE_DEBUG ((LM_DEBUG, - // "ECG (%t): Supplier-consumer received " - // "disconnect from channel.\n")); -} - -void -TAO_EC_Gateway_IIOP::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // ACE_DEBUG ((LM_DEBUG, - // "ECG (%t): Supplier received " - // "disconnect from channel.\n")); -} - -void -TAO_EC_Gateway_IIOP::push (const RtecEventComm::EventSet &events - ACE_ENV_ARG_DECL) -{ - // ACE_DEBUG ((LM_DEBUG, "TAO_EC_Gateway_IIOP::push (%P|%t) - \n")); - - if (events.length () == 0) - { - // ACE_DEBUG ((LM_DEBUG, "no events\n")); - return; - } - - { - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - this->busy_count_++; - } - - // ACE_DEBUG ((LM_DEBUG, "ECG: %d event(s)\n", events.length ())); - - // @@ TODO, there is an extra data copy here, we should do the event - // modification without it and only compact the necessary events. - RtecEventComm::EventSet out (1); - out.length (1); - for (CORBA::ULong i = 0; i < events.length (); ++i) - { - if (this->use_ttl_ == 1) - { - if (events[i].header.ttl == 0) - continue; - } - - RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy = 0; - RtecEventComm::EventSourceID sid = events[i].header.source; - if (sid == ACE_ES_EVENT_SOURCE_ANY || this->use_consumer_proxy_map_ == 0 - || this->consumer_proxy_map_.find (sid, proxy) == -1) - { - // If the source is not in our map or we should not use the map then - // use the default consumer proxy. - proxy = this->default_consumer_proxy_.in (); - } - - if (CORBA::is_nil (proxy)) - continue; - - out[0] = events[i]; - - if (this->use_ttl_ == 1) - out[0].header.ttl--; - - // ACE_DEBUG ((LM_DEBUG, "ECG: event sent to proxy\n")); - this->push_to_consumer(proxy, out ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - { - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - this->busy_count_--; - - if (this->busy_count_ == 0 && this->cleanup_posted_ != 0) - { - this->cleanup_posted_ = 0; - this->cleanup_consumer_proxies_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - if (this->busy_count_ == 0 && this->update_posted_ != 0) - { - this->update_posted_ = 0; - this->update_consumer_i (this->c_qos_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -void -TAO_EC_Gateway_IIOP::push_to_consumer ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr consumer, - const RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - consumer->push (event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - ec_control_->event_channel_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - ec_control_->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Shouldn't happen. - } - ACE_ENDTRY; -} - -int -TAO_EC_Gateway_IIOP::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - ec_control_->shutdown(); - - this->close_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (this->supplier_is_active_) - { - PortableServer::POA_var poa = - this->supplier_._default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - PortableServer::ObjectId_var id = - poa->servant_to_id (&this->supplier_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - this->supplier_is_active_ = 0; - } - - if (this->consumer_is_active_) - { - PortableServer::POA_var poa = - this->consumer_._default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - PortableServer::ObjectId_var id = - poa->servant_to_id (&this->consumer_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - poa->deactivate_object (id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - this->consumer_is_active_ = 0; - } - - this->cleanup_consumer_ec_i (); - this->cleanup_supplier_ec_i (); - - return 0; -} - -int -TAO_EC_Gateway_IIOP::cleanup_consumer_ec (void) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - this->cleanup_consumer_ec_i (); - - return 0; -} - -int -TAO_EC_Gateway_IIOP::cleanup_supplier_ec (void) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - this->cleanup_supplier_ec_i (); - - return 0; -} - -void -TAO_EC_Gateway_IIOP::cleanup_consumer_ec_i (void) -{ - this->consumer_ec_ = - RtecEventChannelAdmin::EventChannel::_nil (); -} - -void -TAO_EC_Gateway_IIOP::cleanup_supplier_ec_i (void) -{ - this->supplier_ec_ = - RtecEventChannelAdmin::EventChannel::_nil (); -} - -CORBA::Boolean -TAO_EC_Gateway_IIOP::is_consumer_ec_connected_i (void) const -{ - return !CORBA::is_nil (this->consumer_ec_.in ()); -} - -CORBA::Boolean -TAO_EC_Gateway_IIOP::consumer_ec_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var consumer_ec; - { - ACE_GUARD_THROW_EX ( - TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_consumer_ec_connected_i () == 0) - { - disconnected = 1; - return 0; - } - - consumer_ec = CORBA::Object::_duplicate (this->consumer_ec_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return consumer_ec->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_EC_Gateway_IIOP::suspend_supplier_ec (ACE_ENV_SINGLE_ARG_DECL) -{ - if (!CORBA::is_nil (this->supplier_proxy_.in ()) && supplier_ec_suspended_ == 0) - { - this->supplier_proxy_->suspend_connection (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - supplier_ec_suspended_ = 1; - } -} - -void -TAO_EC_Gateway_IIOP::resume_supplier_ec (ACE_ENV_SINGLE_ARG_DECL) -{ - if (!CORBA::is_nil (this->supplier_proxy_.in ()) && supplier_ec_suspended_ == 1) - { - this->supplier_proxy_->resume_connection (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - supplier_ec_suspended_ = 0; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h deleted file mode 100644 index 6f957042c3a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h +++ /dev/null @@ -1,255 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Gateway_IIOP.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Johnny Willemsen (jwillemsen@remedy.nl) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_GATEWAY_IIOP_H -#define TAO_EC_GATEWAY_IIOP_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/Event/EC_Gateway.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" -#include "orbsvcs/RtecEventCommS.h" -#include "orbsvcs/Channel_Clients_T.h" - -#include "ace/Map_Manager.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_ConsumerEC_Control; -class TAO_EC_Gateway_IIOP_Factory; - -/** - * @class TAO_EC_Gateway_IIOP - * - * @brief Event Channel Gateway using IIOP. - * - * This class mediates among two event channels, it connects as a consumer of - * events with a remote event channel, and as a supplier of events with the - * local EC. As a consumer it gives a QoS designed to only accept the events - * in which *local* consumers are interested. Eventually the local EC should - * create this object and compute its QoS in an automated manner; but this - * requires some way to filter out the peers registered as consumers, - * otherwise we will get loops in the QoS graph. - * It uses exactly the same set of events in the publications list - * when connected as a supplier. - * - * @note - * An alternative implementation would be to register with the - * remote EC as a supplier, and then filter on the remote EC, but - * one of the objectives is to minimize network traffic. - * On the other hand the events will be pushed to remote consumers, - * event though they will be dropped upon receipt (due to the TTL - * field); IMHO this is another suggestion that the EC needs to know - * (somehow) which consumers are truly its peers in disguise. - * - * @todo: The class makes an extra copy of the events, we need to - * investigate if closer collaboration with its collocated EC could - * be used to remove that copy. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Gateway_IIOP : public TAO_EC_Gateway -{ -public: - TAO_EC_Gateway_IIOP (void); - virtual ~TAO_EC_Gateway_IIOP (void); - - /** - * To do its job this class requires to know the local and remote ECs it will - * connect to. - * @return 0 in case of success, -1 in case of failure - */ - int init (RtecEventChannelAdmin::EventChannel_ptr supplier_ec, - RtecEventChannelAdmin::EventChannel_ptr consumer_ec - ACE_ENV_ARG_DECL); - - /// The channel is disconnecting. - void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// The channel is disconnecting. - void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// This is the consumer side behavior, it pushes the events to the - /// local event channel. - void push (const RtecEventComm::EventSet &events - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Disconnect and shutdown the gateway - int shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - // The following methods are documented in the base class. - virtual void close (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - virtual void update_consumer (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void update_supplier (const RtecEventChannelAdmin::SupplierQOS& pub - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Let the gateway reconnect itself to the consumer ec given exisiting QoS - void reconnect_consumer_ec(ACE_ENV_SINGLE_ARG_DECL); - - /// Check whether the consumer event channel is non existent or not - CORBA::Boolean consumer_ec_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /** - * Cleanup all consumer proxies we have without trying to tell the - * consumer that we are going to disconnect. This can be used to cleanup - * the consumer proxy administration in case we know that the consumers - * are all unreachable. - */ - void cleanup_consumer_proxies (ACE_ENV_SINGLE_ARG_DECL); - - /// Cleanup the connection to the consumer ec. Doesn't call anything on the - /// ec again, just set the object to nil - int cleanup_consumer_ec (void); - - /// Cleanup the connection to the supplier ec. Doesn't call anything on the - /// ec again, just set the object to nil - int cleanup_supplier_ec (void); - - /// Suspend the connection to the supplier ec - void suspend_supplier_ec (ACE_ENV_SINGLE_ARG_DECL); - - /// Resume the connection to the supplier ec - void resume_supplier_ec (ACE_ENV_SINGLE_ARG_DECL); - -private: - void close_i (ACE_ENV_SINGLE_ARG_DECL); - - /// Disconnect the supplier proxy - void disconnect_supplier_proxy_i (ACE_ENV_SINGLE_ARG_DECL); - - /// Disconnect all consumer proxies - void disconnect_consumer_proxies_i (ACE_ENV_SINGLE_ARG_DECL); - - /// Remove all consumer proxies without calling disconnect on them - void cleanup_consumer_proxies_i (ACE_ENV_SINGLE_ARG_DECL); - - void update_consumer_i (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL); - - /// Create all connections to consumer ec and to supplier ec. - void open_i (const RtecEventChannelAdmin::ConsumerQOS& sub - ACE_ENV_ARG_DECL); - - /// Helper method to see if consumer ec is connected - CORBA::Boolean is_consumer_ec_connected_i (void) const; - - /// Push the @a event to the @a consumer. - void push_to_consumer (RtecEventChannelAdmin::ProxyPushConsumer_ptr consumer, - const RtecEventComm::EventSet& event ACE_ENV_ARG_DECL); - - void cleanup_consumer_ec_i (void); - - void cleanup_supplier_ec_i (void); - -protected: - /// Do the real work in init() - int init_i (RtecEventChannelAdmin::EventChannel_ptr supplier_ec, - RtecEventChannelAdmin::EventChannel_ptr consumer_ec - ACE_ENV_ARG_DECL); - -protected: - /// Lock to synchronize internal changes - TAO_SYNCH_MUTEX lock_; - - /// How many threads are running push() we cannot make changes until - /// that reaches 0 - CORBA::ULong busy_count_; - - /** - * An update_consumer() message arrived *while* we were doing a - * push() the modification is stored, if multiple update_consumer messages - * arrive only the last one is executed. - */ - int update_posted_; - RtecEventChannelAdmin::ConsumerQOS c_qos_; - - /** - * We have a cleanup outstanding and must wait doing cleanup until all pushes - * are ready. - */ - int cleanup_posted_; - - /** - * Is the supplier ec suspended? - */ - int supplier_ec_suspended_; - - /// The event channel acting as supplier for this gateway so we can reconnect - /// when the list changes. - RtecEventChannelAdmin::EventChannel_var supplier_ec_; - - /// The event channel acting as consumer of this gateway - RtecEventChannelAdmin::EventChannel_var consumer_ec_; - - /// Our RT_Infos for the event channel that is the supplier. - RtecBase::handle_t supplier_info_; - /// Our RT_Infos for the event channel that is the consumer. - RtecBase::handle_t consumer_info_; - - /// Our consumer personality.... - ACE_PushConsumer_Adapter consumer_; - - /// If it is not 0 then we must deactivate the consumer - int consumer_is_active_; - - /// Our supplier personality.... - ACE_PushSupplier_Adapter supplier_; - - /// If it is not 0 then we must deactivate the supplier - int supplier_is_active_; - - // We use a different Consumer_Proxy - typedef ACE_Map_Manager Consumer_Map; - typedef ACE_Map_Iterator Consumer_Map_Iterator; - - /// We talk to the EC (as a supplier) using either an per-supplier - /// proxy or a generic proxy for the type only subscriptions. We push the - /// events to these proxies - Consumer_Map consumer_proxy_map_; - RtecEventChannelAdmin::ProxyPushConsumer_var default_consumer_proxy_; - - /// We talk to the EC (as a consumer) using this proxy. We receive the events - /// from these proxy - RtecEventChannelAdmin::ProxyPushSupplier_var supplier_proxy_; - - /// The consumer ec control which controls the behaviour in case of a - /// misbehaving consumer ec - TAO_ECG_ConsumerEC_Control* ec_control_; - - /// The Gateway IIOP Factory for all the settings - TAO_EC_Gateway_IIOP_Factory* factory_; - - /// If 1, we use the TTL flags, if 0, we just ignore TTL - int use_ttl_; - - /// The flag for using the consumer proxy map. With 1 the consumer proxy map - /// is used, meaning that for each unique source id we use a different - /// proxy push consumer, if 0, we only use one proxy push consumer (the - /// default) for all source ids. - int use_consumer_proxy_map_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* ACE_EC_GATEWAY_IIOP_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp deleted file mode 100644 index ec6b0f935ca..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp +++ /dev/null @@ -1,212 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Gateway_IIOP_Factory.h" -#include "orbsvcs/Event/ECG_Defaults.h" -#include "orbsvcs/Event_Utilities.h" -#include "orbsvcs/Time_Utilities.h" - -#include "ace/Dynamic_Service.h" -#include "ace/Arg_Shifter.h" - -#include "orbsvcs/Event/ECG_ConsumerEC_Control.h" -#include "orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h" -#include "orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h" -#include "orbsvcs/Event/EC_Gateway_IIOP.h" -#include "ace/OS_NS_strings.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Gateway_IIOP_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Gateway_IIOP_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_EC_Gateway_IIOP_Factory::init_svcs (void) -{ - return ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_EC_Gateway_IIOP_Factory); -} - -TAO_EC_Gateway_IIOP_Factory::TAO_EC_Gateway_IIOP_Factory (void) - : orbid_ (TAO_ECG_DEFAULT_IIOP_ORB_ID), - consumer_ec_control_ (TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL), - consumer_ec_control_period_ (TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_PERIOD), - consumer_ec_control_timeout_ (TAO_ECG_DEFAULT_IIOP_CONSUMEREC_CONTROL_TIMEOUT), - use_ttl_ (TAO_ECG_DEFAULT_IIOP_USE_TTL), - use_consumer_proxy_map_ (TAO_ECG_DEFAULT_IIOP_USE_CONSUMER_PROXY_MAP) -{ -} - -TAO_EC_Gateway_IIOP_Factory::~TAO_EC_Gateway_IIOP_Factory (void) -{ -} - -int -TAO_EC_Gateway_IIOP_Factory::fini (void) -{ - return 0; -} - -int -TAO_EC_Gateway_IIOP_Factory::init (int argc, char* argv[]) -{ - int result = 0; - - ACE_Arg_Shifter arg_shifter (argc, argv); - - while (arg_shifter.is_anything_left ()) - { - const char *arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECGIIOPConsumerECControl")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - this->consumer_ec_control_ = 0; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - this->consumer_ec_control_ = 1; - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("reconnect")) == 0) - this->consumer_ec_control_ = 2; - else - this->unsupported_option_value ("-ECGIIOPConsumerECControl", opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECGIIOPConsumerECControlPeriod")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->consumer_ec_control_period_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECGIIOPConsumerECControlTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - unsigned long timeout = ACE_OS::strtoul(opt, 0, 10); - this->consumer_ec_control_timeout_.usec(timeout); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECGIIOPUseORBId")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - // Save argument for later use - this->orbid_ = ACE_TEXT_ALWAYS_CHAR(arg_shifter.get_current ()); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECGIIOPUseTTL")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->use_ttl_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECGIIOPUseConsumerProxyMap")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - this->use_consumer_proxy_map_ = ACE_OS::atoi (opt); - arg_shifter.consume_arg (); - } - } - - else - { - arg_shifter.ignore_arg (); - ACE_DEBUG ((LM_WARNING, - "Ignoring <%s> option " - "during initialization.\n", - arg)); - result = -1; - } - } - - return result; -} - -void -TAO_EC_Gateway_IIOP_Factory::unsupported_option_value (const char * option_name, - const char * option_value) -{ - ACE_ERROR ((LM_ERROR, - "EC_Gateway_IIOP_Factory -" - "Unsupported <%s> option value: <%s>. " - "Ignoring this option - using defaults instead.\n", - option_name, - option_value)); -} - -TAO_ECG_ConsumerEC_Control* -TAO_EC_Gateway_IIOP_Factory::create_consumerec_control (TAO_EC_Gateway_IIOP* gateway) -{ - if (this->consumer_ec_control_ == 0) - return new TAO_ECG_ConsumerEC_Control (); - else if (this->consumer_ec_control_ == 1) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_.c_str ()); - ACE_Time_Value rate (0, this->consumer_ec_control_period_); - return new TAO_ECG_Reactive_ConsumerEC_Control (rate, consumer_ec_control_timeout_, gateway, orb.in ()); - } - else if (this->consumer_ec_control_ == 2) - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, this->orbid_.c_str ()); - ACE_Time_Value rate (0, this->consumer_ec_control_period_); - return new TAO_ECG_Reconnect_ConsumerEC_Control (rate, consumer_ec_control_timeout_, gateway, orb.in ()); - } - return 0; -} - -void -TAO_EC_Gateway_IIOP_Factory::destroy_consumerec_control ( - TAO_ECG_ConsumerEC_Control* x) -{ - delete x; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_EC_Gateway_IIOP_Factory, - ACE_TEXT ("EC_Gateway_IIOP_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_EC_Gateway_IIOP_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTEvent_Serv, TAO_EC_Gateway_IIOP_Factory) diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.h deleted file mode 100644 index 2a1c30a10a0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.h +++ /dev/null @@ -1,115 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Gateway_IIOP_Factory.h - * - * $Id$ - * - * @author Johnny Willemsen (jwillemsen@remedy.nl) - * - */ - -#ifndef TAO_EC_GATEWAY_IIOP_FACTORY_H -#define TAO_EC_GATEWAY_IIOP_FACTORY_H - -#include /**/ "ace/pre.h" -#include "ace/Service_Config.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Time_Value.h" -#include "ace/Service_Object.h" -#include "ace/SString.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ECG_ConsumerEC_Control; -class TAO_EC_Gateway_IIOP; - -/** - * @class TAO_EC_Gateway_IIOP_Factory - * - * @brief Factory for the EC_Gateway_IIOP settings - * - * Default configuration values can be found in ECG_Defaults.h - */ -class TAO_RTEvent_Serv_Export TAO_EC_Gateway_IIOP_Factory - : public ACE_Service_Object -{ -public: - TAO_EC_Gateway_IIOP_Factory (void); - virtual ~TAO_EC_Gateway_IIOP_Factory (void); - - /// The Service_Object entry points. - //@{ - virtual int init (int argc, char* argv[]); - virtual int fini (void); - //@} - - /// Helper function to register the Gateway into the service - /// configurator. - static int init_svcs (void); - - /// Create the consumer event channel control. - TAO_ECG_ConsumerEC_Control * - create_consumerec_control (TAO_EC_Gateway_IIOP* gateway); - - /// Destroy consumer event channel control. - void destroy_consumerec_control (TAO_ECG_ConsumerEC_Control* x); - - /// Accessors to use_ttl flag - int use_ttl (void) const; - - /// Accessors to use_consumer_proxy_map flag - int use_consumer_proxy_map (void) const; - -private: - /// Helper for agrument parsing. Prints out an error message about - /// unsupported option value. - void unsupported_option_value (const char * option_name, - const char * option_value); - -protected: - /// Use this ORB to locate global resources. - ACE_CString orbid_; - - /// The control policy for the consumer event channel - int consumer_ec_control_; - - /// The consumer event channel control periods in usecs - int consumer_ec_control_period_; - - /// The control timeout in usecs for the consumer event channel - ACE_Time_Value consumer_ec_control_timeout_; - - /// If 1, we use the TTL flags, if 0, we just ignore TTL. - /// @note When this flag is set to 0, make sure that no recursive structures - /// exists in the gateway setup for the same source/type combination, else - /// one event will flow continuosly through all gateways. - int use_ttl_; - - /// The flag for using the consumer proxy map. With 1 the consumer proxy map - /// is used, meaning that for each unique source id we use a different - /// proxy push consumer, if 0, we only use one proxy push consumer for all - /// source ids. - int use_consumer_proxy_map_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_EC_Gateway_IIOP_Factory) -ACE_FACTORY_DECLARE (TAO_RTEvent_Serv, TAO_EC_Gateway_IIOP_Factory) - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Gateway_IIOP_Factory.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_GATEWAY_IIOP_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.i b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.i deleted file mode 100644 index 45dbd3f9d3f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.i +++ /dev/null @@ -1,19 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE int -TAO_EC_Gateway_IIOP_Factory::use_ttl (void) const -{ - return this->use_ttl_; -} - -ACE_INLINE int -TAO_EC_Gateway_IIOP_Factory::use_consumer_proxy_map (void) const -{ - return this->use_consumer_proxy_map_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp deleted file mode 100644 index 1b1a0d4479e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Gateway_Sched.h" -#include "orbsvcs/Time_Utilities.h" - -ACE_RCSID (Event, - EC_Gateway_sched, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Gateway_Sched::TAO_EC_Gateway_Sched (void) - : TAO_EC_Gateway_IIOP () -{ -} - -TAO_EC_Gateway_Sched::~TAO_EC_Gateway_Sched (void) -{ -} - -void -TAO_EC_Gateway_Sched::init (RtecEventChannelAdmin::EventChannel_ptr supplier_ec, - RtecEventChannelAdmin::EventChannel_ptr consumer_ec, - RtecScheduler::Scheduler_ptr supplier_sched, - RtecScheduler::Scheduler_ptr consumer_sched, - const char* consumer_name, - const char* supplier_name - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - this->init_i (supplier_ec, consumer_ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // @@ Should we throw a system exception here? - if (CORBA::is_nil (supplier_sched) - || CORBA::is_nil (consumer_sched) - || consumer_name == 0 - || supplier_name == 0) - ACE_THROW (CORBA::BAD_PARAM ()); - - this->supplier_info_ = - supplier_sched->create (supplier_name ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // @@ TODO Many things are hard-coded in the RT_Info here. - - // The worst case execution time is far less than 500 usecs, but - // that is a safe estimate.... - ACE_Time_Value tv (0, 500); - TimeBase::TimeT time; - ORBSVCS_Time::Time_Value_to_TimeT (time, tv); - supplier_sched->set (this->supplier_info_, - RtecScheduler::VERY_HIGH_CRITICALITY, - time, time, time, - 25000 * 10, - RtecScheduler::VERY_LOW_IMPORTANCE, - time, - 0, - RtecScheduler::OPERATION - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->consumer_info_ = - consumer_sched->create (consumer_name ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - tv = ACE_Time_Value (0, 500); - ORBSVCS_Time::Time_Value_to_TimeT (time, tv); - consumer_sched->set (this->consumer_info_, - RtecScheduler::VERY_HIGH_CRITICALITY, - time, time, time, - 25000 * 10, - RtecScheduler::VERY_LOW_IMPORTANCE, - time, - 1, - RtecScheduler::REMOTE_DEPENDANT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h deleted file mode 100644 index 5267546de17..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Gateway_Sched.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - * - * - */ - -#ifndef TAO_EC_GATEWAY_SCHED_H -#define TAO_EC_GATEWAY_SCHED_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Gateway_IIOP.h" -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/sched_event_export.h" - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Gateway_Sched - * - * @brief Extend the EC_Gateway_IIOP interface to support scheduling. - */ -class TAO_RTSchedEvent_Export TAO_EC_Gateway_Sched : public TAO_EC_Gateway_IIOP -{ -public: - TAO_EC_Gateway_Sched (void); - ~TAO_EC_Gateway_Sched (void); - - /** - * To do its job this class requires to know the local and remote - * ECs it will connect to; furthermore it also requires to build - * RT_Infos for the local and remote schedulers. - * @todo part of the RT_Info is hardcoded, we need to make it - * parametric. - */ - void init (RtecEventChannelAdmin::EventChannel_ptr supplier_ec, - RtecEventChannelAdmin::EventChannel_ptr consumer_ec, - RtecScheduler::Scheduler_ptr supplier_sched, - RtecScheduler::Scheduler_ptr consumer_sched, - const char* consumer_name, - const char* supplier_name - ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* ACE_EC_GATEWAY_SCHED_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.cpp deleted file mode 100644 index 9e39ef1f631..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Group_Scheduling.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_Supplier_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Group_Scheduling.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Group_Scheduling, "$Id$") - -void -TAO_EC_Group_Scheduling::add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *, - TAO_EC_ProxyPushConsumer * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Group_Scheduling::schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL) -{ - TAO_EC_QOS_Info event_info; - // @@ yuck... - filter->push_scheduled_event (const_cast (event), - event_info - ACE_ENV_ARG_PARAMETER); -} diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h b/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h deleted file mode 100644 index 1a9b35f07e2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Group_Scheduling.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_GROUP_SCHEDULING_H -#define TAO_EC_GROUP_SCHEDULING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -/** - * @class TAO_EC_Group_Scheduling - * - * @brief A scheduling strategy that preserves event groups. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Group_Scheduling : public TAO_EC_Scheduling_Strategy -{ -public: - /// Constructor. - TAO_EC_Group_Scheduling (void); - - // Read EC_Scheduling_Strategy.h for more details - virtual void add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - virtual void schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Group_Scheduling (const TAO_EC_Group_Scheduling&); - TAO_EC_Group_Scheduling& operator= (const TAO_EC_Group_Scheduling&); -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Group_Scheduling.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_GROUP_SCHEDULING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.inl b/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.inl deleted file mode 100644 index e918d295929..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Group_Scheduling.inl +++ /dev/null @@ -1,7 +0,0 @@ -// $Id$ - -ACE_INLINE -TAO_EC_Group_Scheduling::TAO_EC_Group_Scheduling (void) -{ -} - diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp deleted file mode 100644 index 206d87f18a2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp +++ /dev/null @@ -1,210 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Kokyu_Dispatching.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_QOS_Info.h" - -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/RtecSchedulerC.h" -#include "tao/ORB_Constants.h" - -#include "ace/Sched_Params.h" -#include "ace/Malloc_Allocator.h" - -#include "Kokyu/Kokyu.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Dispatching.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Kokyu_Dispatching, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Kokyu_Dispatching::TAO_EC_Kokyu_Dispatching (TAO_EC_Event_Channel_Base *ec, int sched_policy, int sched_scope) - :allocator_ (0), - dispatcher_ (0), - lanes_setup_ (0), - disp_sched_policy_ (sched_policy), - disp_sched_scope_ (sched_scope) -{ - CORBA::Object_var tmp = ec->scheduler (); - this->scheduler_ = RtecScheduler::Scheduler::_narrow (tmp.in ()); - - //@@VS - need to revisit this - should be some other allocator - if (this->allocator_ == 0) - { - this->allocator_ = ACE_Allocator::instance (); - } -} - -void -TAO_EC_Kokyu_Dispatching::activate (void) -{ - if (!lanes_setup_) - setup_lanes (); - - this->dispatcher_->activate (); - - //ACE_DEBUG ((LM_DEBUG, "Kokyu dispatcher activated\n")); -} - -void -TAO_EC_Kokyu_Dispatching::setup_lanes (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - // Query the scheduler togetConfig_Infos - RtecScheduler::Config_Info_Set_var configs; - ACE_TRY - { - this->scheduler_->get_config_infos(configs.out()); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions.. - } - ACE_ENDTRY; - - //might be no Config_Infos in the set (if none passed to scheduler_) - - // Convert RtecScheduler::Config_Info_Set to Kokyu::ConfigInfoSet - // OK to assume exact correspondence betwen Config_Info and ConfigInfo? - Kokyu::ConfigInfoSet kconfigs(configs->length()); - for(CORBA::ULong i=0; ilength(); ++i) { - kconfigs[i].preemption_priority_ = configs[i].preemption_priority; - kconfigs[i].thread_priority_ = configs[i].thread_priority; - switch (configs[i].dispatching_type) { - case RtecScheduler::STATIC_DISPATCHING: - kconfigs[i].dispatching_type_ = Kokyu::FIFO_DISPATCHING; - break; - case RtecScheduler::DEADLINE_DISPATCHING: - kconfigs[i].dispatching_type_ = Kokyu::DEADLINE_DISPATCHING; - break; - case RtecScheduler::LAXITY_DISPATCHING: - kconfigs[i].dispatching_type_ = Kokyu::LAXITY_DISPATCHING; - break; - } - } - - Kokyu::Dispatcher_Attributes attrs; - attrs.config_info_set_ = kconfigs; - attrs.sched_policy (disp_sched_policy_); - attrs.sched_scope (disp_sched_scope_); - - // Create Kokyu::Dispatcher using factory - Kokyu::Dispatcher_Auto_Ptr - tmp(Kokyu::Dispatcher_Factory::create_dispatcher(attrs)); - this->dispatcher_ = tmp; - this->lanes_setup_ = 1; - - //ACE_DEBUG ((LM_DEBUG, "Kokyu dispatcher setup\n")); -} - -void -TAO_EC_Kokyu_Dispatching::shutdown (void) -{ - this->dispatcher_->shutdown(); -} - -void -TAO_EC_Kokyu_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - RtecEventComm::EventSet event_copy = event; - this->push_nocopy (proxy, consumer, event_copy, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Kokyu_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->dispatcher_.get () == 0) - this->setup_lanes (); - - void* buf = - this->allocator_->malloc (sizeof (TAO_EC_Kokyu_Push_Command )); - - if (buf == 0) - ACE_THROW (CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - - // Create Dispatch_Command - TAO_EC_Kokyu_Push_Command *cmd = - new (buf) TAO_EC_Kokyu_Push_Command (proxy, - consumer, - event, this->allocator_); - - /* - TAO_EC_Kokyu_Push_Command *cmd = - new TAO_EC_Kokyu_Push_Command (proxy, - consumer, - event, 0); - */ - - // Convert TAO_EC_QOS_Info to QoSDescriptor - RtecScheduler::RT_Info *rt_info = - this->scheduler_->get(qos_info.rt_info); - - Kokyu::QoSDescriptor qosd; - qosd.preemption_priority_ = rt_info->preemption_priority; - qosd.deadline_ = rt_info->period; - ORBSVCS_Time::TimeT_to_Time_Value (qosd.execution_time_, - rt_info->worst_case_execution_time); - - this->dispatcher_->dispatch(cmd,qosd); -} - -// **************************************************************** - -TAO_EC_Kokyu_Shutdown_Command::~TAO_EC_Kokyu_Shutdown_Command(void) -{ -} - -int -TAO_EC_Kokyu_Shutdown_Command::execute(void) -{ - return -1; -} - -// **************************************************************** - -TAO_EC_Kokyu_Push_Command::~TAO_EC_Kokyu_Push_Command(void) -{ - this->proxy_->_decr_refcnt (); -} - -int -TAO_EC_Kokyu_Push_Command::execute () -{ - ACE_DECLARE_NEW_CORBA_ENV; - - ACE_TRY - { - //ACE_DEBUG ((LM_DEBUG, - // "(%t) Command object executed.\n")); - - this->proxy_->push_to_consumer (this->consumer_.in (), - this->event_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.h deleted file mode 100644 index d9079a271ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.h +++ /dev/null @@ -1,147 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Kokyu_Dispatching.h - * - * $Id$ - * - * @author Bryan Thrall (thrall@cs.wustl.edu) - * - * Based on previous work by Carlos O'Ryan (coryan@cs.wustl.edu) and - * Tim Harrison (harrison@cs.wustl.edu) and other members of the DOC group. - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_KOKYU_DISPATCHING_H -#define TAO_EC_KOKYU_DISPATCHING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/rtkokyu_event_export.h" - -#include "ace/Thread_Manager.h" - -#include "Kokyu/Kokyu.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Kokyu_Dispatching - * - * @brief Dispatching strategy that minimizes priority inversion. - * - * This strategy uses multiple queues, each serviced by a thread - * at different priority. This minimizes priority inversion - * because the consumers at higher priority are serviced before - * consumers at lower priority. - * It is more flexible than using the supplier thread to dispatch - * because it allows high-priority suppliers to push events to - * low-priority consumers (and vice-versa). - * It also isolates the supplier threads from the time spent on - * upcalls to the consumer objects, making the system easier to - * analyze and schedule. - */ -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Dispatching : public TAO_EC_Dispatching -{ -public: - /// The scheduler is used to find the range of priorities and similar - /// info. - TAO_EC_Kokyu_Dispatching (TAO_EC_Event_Channel_Base* ec, - int sched_policy, - int sched_scope); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - ACE_Allocator *allocator_; - - void setup_lanes (void); - - /// The dispatcher - Kokyu::Dispatcher_Auto_Ptr dispatcher_; - - /// The scheduler - RtecScheduler::Scheduler_var scheduler_; - - int lanes_setup_; - int disp_sched_policy_; - int disp_sched_scope_; -}; - -// **************************************************************** - -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Shutdown_Command : public Kokyu::Dispatch_Command -{ -public: - /// Constructor - TAO_EC_Kokyu_Shutdown_Command (ACE_Allocator *allocator); - - /// Command callback - virtual int execute (void); - -protected: - //Protected so can't be put on stack; must be dynamically allocated - virtual ~TAO_EC_Kokyu_Shutdown_Command (void); - -}; - -// **************************************************************** - -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Push_Command : public Kokyu::Dispatch_Command -{ -public: - /// Constructor - TAO_EC_Kokyu_Push_Command (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - ACE_Allocator* allocator); - - /// Command callback - virtual int execute (void); - -protected: - //Protected so can't be put on stack; must be dynamically allocated - virtual ~TAO_EC_Kokyu_Push_Command (void); - -private: - /// The proxy - TAO_EC_ProxyPushSupplier* proxy_; - - /// The consumer connected to the proxy when the event was pushed. - RtecEventComm::PushConsumer_var consumer_; - - /// The event - RtecEventComm::EventSet event_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Dispatching.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_KOKYU_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.i b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.i deleted file mode 100644 index 0c116874fad..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.i +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_INLINE -TAO_EC_Kokyu_Shutdown_Command:: -TAO_EC_Kokyu_Shutdown_Command (ACE_Allocator*) - : Kokyu::Dispatch_Command () -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Kokyu_Push_Command::TAO_EC_Kokyu_Push_Command ( - TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - ACE_Allocator* allocator) - : Kokyu::Dispatch_Command (0,allocator), - proxy_ (proxy), - consumer_ (RtecEventComm::PushConsumer::_duplicate (consumer)) -{ - // - // Efficient copy, steal the buffer from - // We cannot do this on the initialization because get_buffer() - // could get called first, effectively setting maximum() and - // length() to 0! - // - CORBA::ULong maximum = event.maximum (); - CORBA::ULong length = event.length (); - RtecEventComm::Event* buffer = event.get_buffer (1); - event_.replace (maximum, length, buffer, 1); - - this->proxy_->_incr_refcnt (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp deleted file mode 100644 index 2df728b8920..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp +++ /dev/null @@ -1,272 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Kokyu_Factory.h" -#include "orbsvcs/Event/EC_Kokyu_Dispatching.h" -#include "orbsvcs/Event/EC_Kokyu_Scheduling.h" -#include "orbsvcs/Event/EC_Kokyu_Filter_Builder.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/RtecSchedulerC.h" - -#include "ace/Arg_Shifter.h" -#include "ace/Sched_Params.h" -#include "ace/OS_NS_strings.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Kokyu_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Kokyu_Factory::~TAO_EC_Kokyu_Factory (void) -{ -} - -int -TAO_EC_Kokyu_Factory::init_svcs (void) -{ - return ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_EC_Kokyu_Factory); -} - -int -TAO_EC_Kokyu_Factory::init (int argc, ACE_TCHAR* argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - while (arg_shifter.is_anything_left ()) - { - const ACE_TCHAR* arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECDispatching")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->dispatching_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("mt")) == 0) - { - this->dispatching_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("kokyu")) == 0) - { - this->dispatching_ = 2; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Kokyu_Factory - ") - ACE_TEXT("unsupported dispatching <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - //if Kokyu dispatching - look for sched policy - if (this->dispatching_ == 2) - { - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("SCHED_FIFO")) == 0) - { - this->disp_sched_policy_ = ACE_SCHED_FIFO; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("SCHED_RR")) == 0) - { - this->disp_sched_policy_ = ACE_SCHED_RR; - } - else - { - this->disp_sched_policy_ = ACE_SCHED_OTHER; - } - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("SYSTEM")) == 0) - { - this->disp_sched_scope_ = ACE_SCOPE_THREAD; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("PROCESS")) == 0) - { - this->disp_sched_scope_ = ACE_SCOPE_PROCESS; - } - arg_shifter.consume_arg (); - } - } - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECFiltering")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->filtering_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("basic")) == 0) - { - this->filtering_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("prefix")) == 0) - { - this->filtering_ = 2; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("kokyu")) == 0) - { - this->filtering_ = 3; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Kokyu_Factory - ") - ACE_TEXT("unsupported filtering <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->timeout_ = 0; - } -#if 0 - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("kokyu")) == 0) - { - this->timeout_ = 1; - } -#endif /* 0 */ - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Kokyu_Factory - ") - ACE_TEXT("unsupported timeout <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECScheduling")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->scheduling_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("group")) == 0) - { - this->scheduling_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("kokyu")) == 0) - { - this->scheduling_ = 2; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Kokyu_Factory - ") - ACE_TEXT("unsupported scheduling <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else - { - arg_shifter.ignore_arg (); - } - } - return this->TAO_EC_Default_Factory::init (argc, argv); -} - -int -TAO_EC_Kokyu_Factory::fini (void) -{ - return 0; -} - -// **************************************************************** - -TAO_EC_Dispatching* -TAO_EC_Kokyu_Factory::create_dispatching (TAO_EC_Event_Channel_Base *ec) -{ - if (this->dispatching_ == 2) - return new TAO_EC_Kokyu_Dispatching (ec, - this->disp_sched_policy_, - this->disp_sched_scope_); - return this->TAO_EC_Default_Factory::create_dispatching (ec); -} - -TAO_EC_Filter_Builder* -TAO_EC_Kokyu_Factory::create_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - if (this->filtering_ == 3) - return new TAO_EC_Kokyu_Filter_Builder (ec); - - return this->TAO_EC_Default_Factory::create_filter_builder (ec); -} - - -TAO_EC_Timeout_Generator* -TAO_EC_Kokyu_Factory::create_timeout_generator (TAO_EC_Event_Channel_Base *ec) -{ -#if 0 - if (this->timeout_ == 1) - { - //Kokyu timeout generator? - } -#endif - return this->TAO_EC_Default_Factory::create_timeout_generator (ec); -} - -TAO_EC_Scheduling_Strategy* -TAO_EC_Kokyu_Factory::create_scheduling_strategy (TAO_EC_Event_Channel_Base* ec) -{ - if (this->scheduling_ == 2) - { - CORBA::Object_var tmp = ec->scheduler (); - RtecScheduler::Scheduler_var scheduler = - RtecScheduler::Scheduler::_narrow (tmp.in ()); - return new TAO_EC_Kokyu_Scheduling (scheduler.in ()); - } - return this->TAO_EC_Default_Factory::create_scheduling_strategy (ec); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_EC_Kokyu_Factory, - ACE_TEXT ("EC_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_EC_Kokyu_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTKokyuEvent, TAO_EC_Kokyu_Factory) diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.h deleted file mode 100644 index 4e2f413ca42..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Kokyu_Factory.h - * - * $Id$ - * - * @author Bryan Thrall (thrall@cs.wustl.edu) - * - * Based on previous work by Carlos O'Ryan (coryan@cs.wustl.edu), Tim - * Harrison (harrison@cs.wustl.edu), Chris Gill (cdgill@cs.wustl.edu) - * and other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_KOKYU_FACTORY_H -#define TAO_EC_KOKYU_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Default_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/rtkokyu_event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Kokyu_Factory - * - * @brief Extend the default factory to support scheduling - * - */ -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Factory : public TAO_EC_Default_Factory -{ -public: - /// Constructor - TAO_EC_Kokyu_Factory (void); - - /// Helper function to register the Kokyu factory into the service - /// configurator. - static int init_svcs (void); - - /// destructor... - virtual ~TAO_EC_Kokyu_Factory (void); - - // = The Service_Object entry points - virtual int init (int argc, ACE_TCHAR* argv[]); - virtual int fini (void); - - // = The EC_Factory methods - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*); - -private: - int disp_sched_policy_; - int disp_sched_scope_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_STATIC_SVC_DECLARE (TAO_EC_Kokyu_Factory) -ACE_FACTORY_DECLARE (TAO_RTKokyuEvent, TAO_EC_Kokyu_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_EC_KOKYU_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.i b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.i deleted file mode 100644 index 7119373733f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.i +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Kokyu_Factory::TAO_EC_Kokyu_Factory (void) - : TAO_EC_Default_Factory (), - disp_sched_policy_ (ACE_SCHED_FIFO), - disp_sched_scope_ (ACE_SCOPE_THREAD) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.cpp deleted file mode 100644 index ab2015ea52d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.cpp +++ /dev/null @@ -1,313 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Kokyu_Filter.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "ace/Log_Msg.h" - -ACE_RCSID(Event, EC_Kokyu_Filter, "$Id$") - -TAO_EC_Kokyu_Filter:: - TAO_EC_Kokyu_Filter (const char* name, - RtecScheduler::handle_t rt_info, - RtecScheduler::Scheduler_ptr scheduler, - TAO_EC_Filter* body, - RtecScheduler::handle_t body_info, - RtecScheduler::handle_t parent_info, - RtecScheduler::Info_Type_t info_type) - - : rt_info_ (rt_info), - rt_info_computed_ (0), - name_ (name), - scheduler_ (RtecScheduler::Scheduler::_duplicate (scheduler)), - body_ (body), - body_info_ (body_info), - parent_info_ (parent_info), - info_type_ (info_type) -{ - this->adopt_child (this->body_); - -#if 1 //by VS -this->rt_info_computed_ = 1; -#endif -} - -TAO_EC_Kokyu_Filter::~TAO_EC_Kokyu_Filter (void) -{ - delete this->body_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Kokyu_Filter::begin (void) const -{ - return this->body_->begin (); -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Kokyu_Filter::end (void) const -{ - return this->body_->end (); -} - -int -TAO_EC_Kokyu_Filter::size (void) const -{ - return this->body_->size (); -} - -int -TAO_EC_Kokyu_Filter::filter (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - return this->body_->filter (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -int -TAO_EC_Kokyu_Filter::filter_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - return this->body_->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -// This is private, so we can make it inline in the .cpp file... -void -TAO_EC_Kokyu_Filter::compute_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - this->init_rt_info (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - qos_info.rt_info = this->rt_info_; - switch (this->info_type_) - { - default: - case RtecScheduler::DISJUNCTION: - break; - - case RtecScheduler::CONJUNCTION: - case RtecScheduler::OPERATION: - { - RtecScheduler::OS_Priority os_priority; - RtecScheduler::Preemption_Subpriority_t p_subpriority; - RtecScheduler::Preemption_Priority_t p_priority; - this->scheduler_->priority (this->rt_info_, - os_priority, - p_subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - qos_info.preemption_priority = p_priority; - } - } -} - -void -TAO_EC_Kokyu_Filter::push (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - { - this->compute_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_EC_Kokyu_Filter::push_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - { - this->compute_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_EC_Kokyu_Filter::clear (void) -{ - this->body_->clear (); -} - -CORBA::ULong -TAO_EC_Kokyu_Filter::max_event_size (void) const -{ - return this->body_->max_event_size (); -} - -int -TAO_EC_Kokyu_Filter::can_match (const RtecEventComm::EventHeader& header) const -{ - return this->body_->can_match (header); -} - -/* - Kokyu_Filter - | - |body - | - Con/DisjunctionFilter - | - |children - |* - Kokyu_Filter - | - |body - | - Type_Filter - -The entire hierarchy will have the same rt_info as the root. Only the root -rt_info will be part of the dependency graph in the scheduler. The root -rt_info will have a dependency on the consumer rt_info. - -<--- shows dependency (oneway) - -supplier1<-----| - con/disj_rt_info<-------consumer_rt_info -supplier2<-----| -*/ - -int -TAO_EC_Kokyu_Filter::add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Entering EC_Kokyu_Filter::add_dependencies\n")); -#endif - this->init_rt_info (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, - "this->rt_info_ = %d, header.type = %d, qos_info.rt_info = %d\n", - this->rt_info_, header.type, qos_info.rt_info)); -#endif - - //this call the add_dependencies() on con/disjunction filter - int matches = this->body_->add_dependencies (header, - qos_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (matches != 0) - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Kokyu_Filter::matches != 0\n")); -#endif - this->scheduler_->add_dependency (this->rt_info_, qos_info.rt_info, 1, - RtecBase::ONE_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (qos_info.rt_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ACE_DEBUG ((LM_DEBUG, "[%s][%d] ----> [%s][%d]\n", - this->name_.c_str (), - this->rt_info_, - info->entry_point.in (), - qos_info.rt_info)); - } - else - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Kokyu_Filter::matches == 0\n")); -#endif - } - -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "about to iterate thru children\n")); -#endif - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); i != end; ++i) - { - (*i)->add_dependencies (header, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Exiting EC_Kokyu_Filter: add_dependencies\n")); -#endif - return 0; -} - -void -TAO_EC_Kokyu_Filter::get_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - this->init_rt_info (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - qos_info.rt_info = this->rt_info_; -} - -void -TAO_EC_Kokyu_Filter::init_rt_info (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->rt_info_computed_) - return; - -#if 1 //ifdef'ed from 1 to 0 by VS - - // Provide dummy values the scheduler will compute them based on the - // dependencies and the fact that this is a DISJUNCTION. - this->scheduler_->set (this->rt_info_, - RtecScheduler::VERY_LOW_CRITICALITY, - 0, // worst_cast_execution_time - 0, // typical_cast_execution_time - 0, // cached_cast_execution_time - 0, // period - RtecScheduler::VERY_LOW_IMPORTANCE, - 0, // quantum - 0, // threads - this->info_type_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif //ifdef'ed by VS - -#if 0 //ifdef changed from 1 to 0 by VS - if (this->body_info_ != this->rt_info_) - { - this->scheduler_->add_dependency (this->rt_info_, - this->body_info_, - 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (this->body_info_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_DEBUG ((LM_DEBUG, "[%s] ----> [%s]\n", - info->entry_point.in (), - this->name_.c_str ())); - } -#endif /* 0 */ - -#if 0 //ifdef changed from 1 to 0 by VS - this->scheduler_->add_dependency (this->parent_info_, - this->rt_info_, - 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (this->parent_info_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_DEBUG ((LM_DEBUG, "[%s] ----> [%s]\n", - this->name_.c_str (), - info->entry_point.in ())); -#endif /* 0 */ - - this->rt_info_computed_ = 1; -} diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.h deleted file mode 100644 index 09f521997d4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.h +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Kokyu_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_KOKYU_FILTER_H -#define TAO_EC_KOKYU_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/rtkokyu_event_export.h" -#include "ace/SString.h" - -//#define EC_KOKYU_LOGGING - -/** - * @class TAO_EC_Kokyu_Filter - * - * @brief Decorate a filter with scheduling information - * - * This filter decorates a regular filter with scheduling - * information. It creates a new RT_Info entry for the filter and - * it adds the dependencies between the filter and any childrens - * it may have. - * - *

Memory Management

- * It assumes ownership of the children. - */ -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Filter : public TAO_EC_Filter -{ -public: - /** - * Constructor. - * It assumes ownership of the @a body, makes a copy of the other - * parameters - */ - TAO_EC_Kokyu_Filter (const char* name, - RtecScheduler::handle_t rt_info, - RtecScheduler::Scheduler_ptr scheduler, - TAO_EC_Filter* body, - RtecScheduler::handle_t body_info, - RtecScheduler::handle_t parent_info, - RtecScheduler::Info_Type_t info_type); - - /// Destructor - virtual ~TAO_EC_Kokyu_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - virtual void get_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Kokyu_Filter (const TAO_EC_Kokyu_Filter&); - TAO_EC_Kokyu_Filter& operator= (const TAO_EC_Kokyu_Filter&); - - /// Initialize our RT_Info handle and dependencies - void init_rt_info (ACE_ENV_SINGLE_ARG_DECL); - - /// Compute a new qos_info to push up. - void compute_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// The RT_Info handle for this object - RtecScheduler::handle_t rt_info_; - - /// Has the Scheduler been updated? - int rt_info_computed_; - - /// Our operation name - ACE_CString name_; - - /// The scheduler we are going to use - RtecScheduler::Scheduler_var scheduler_; - - /// The implementation - TAO_EC_Filter* body_; - - /// The RT_Info handle for the body - RtecScheduler::handle_t body_info_; - - /// The RT_Info handle for the parent - RtecScheduler::handle_t parent_info_; - - /// Required for the scheduling service - RtecScheduler::Info_Type_t info_type_; -}; - -#include /**/ "ace/post.h" -#endif /* TAO_EC_KOKYU_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp deleted file mode 100644 index a522ce4d5ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp +++ /dev/null @@ -1,513 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Kokyu_Filter.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/Event/EC_Kokyu_Filter_Builder.h" -#include "orbsvcs/Event/EC_Type_Filter.h" -#include "orbsvcs/Event/EC_Conjunction_Filter.h" -#include "orbsvcs/Event/EC_Disjunction_Filter.h" -#include "orbsvcs/Event/EC_Timeout_Filter.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "ace/OS_NS_stdio.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Kokyu_Filter_Builder, - "$Id$") - -const char* designator (long dsgn) -{ - switch(dsgn) - { - case ACE_ES_GLOBAL_DESIGNATOR: return "GLOBAL"; - case ACE_ES_CONJUNCTION_DESIGNATOR: return "CONJ"; - case ACE_ES_DISJUNCTION_DESIGNATOR: return "DISJ"; - case ACE_ES_NEGATION_DESIGNATOR: return "NEG"; - case ACE_ES_LOGICAL_AND_DESIGNATOR: return "LOG_AND"; - case ACE_ES_BITMASK_DESIGNATOR: return "BITMASK"; - case ACE_ES_MASKED_TYPE_DESIGNATOR: return "MASKED_TYPE"; - case ACE_ES_NULL_DESIGNATOR: return "NULL"; - } - - return "---"; -} - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Kokyu_Filter_Builder::~TAO_EC_Kokyu_Filter_Builder (void) -{ -} - -TAO_EC_Filter* -TAO_EC_Kokyu_Filter_Builder::build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const -{ - CORBA::ULong i=0,found=0; - CORBA::ULong pos = 0; - CORBA::Long npos = -1; - int establish_final_consumer_dependency=0; - - CORBA::Object_var tmp = - this->event_channel_->scheduler (); - - RtecScheduler::Scheduler_var scheduler = - RtecScheduler::Scheduler::_narrow (tmp.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - -#ifdef EC_KOKYU_LOGGING - for (i=0; i= 0 && establish_final_consumer_dependency == 1) - { - //Hopefully this will have the final consumer's rt_info - h_final_consumer_rt_info = qos.dependencies[npos].rt_info; - -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "about to get rt_info = %d\n", - h_final_consumer_rep_rt_info)); -#endif - - RtecScheduler::RT_Info_var final_consumer_rt_info = - scheduler->get ( h_final_consumer_rt_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - final_consumer_rep_name = final_consumer_rt_info->entry_point.in (); - final_consumer_rep_name += "#rep"; - -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "about to create consumer rep %s\n", - final_consumer_rep_name.c_str ())); -#endif - - //create an rt_info corresponding to this rep. - h_final_consumer_rep_rt_info = - scheduler->create (final_consumer_rep_name.c_str () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "consumer rep created\n")); -#endif - - } - - //We are passing the final consumer as the parent. The final - //consumer is the one which is connecting to the ProxyPushSupplier - //passed in to this function. - - TAO_EC_Filter* filter = - this->recursive_build (supplier, qos, pos, - scheduler.in (), - h_final_consumer_rep_rt_info //parent_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Filter_Builder::Verifying whether root filter" - " dependency can be established\n")); -#endif - - if (npos >= 0 && establish_final_consumer_dependency == 1) - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Filter_Builder::root filter dependency " - "can be established\n")); -#endif - TAO_EC_Kokyu_Filter* kokyu_filter = - dynamic_cast (filter); - - //add the dependency between the root in the filter hierarchy and - //the final consumer - TAO_EC_QOS_Info qos_info; - kokyu_filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - scheduler->add_dependency (h_final_consumer_rt_info, - qos_info.rt_info, - 1, - RtecBase::ONE_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return filter; -} - -TAO_EC_Filter* -TAO_EC_Kokyu_Filter_Builder::recursive_build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - RtecScheduler::handle_t parent_info - ACE_ENV_ARG_DECL) const -{ - const RtecEventComm::Event& e = qos.dependencies[pos].event; - -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Filter_Builder::In recursive build\n")); -#endif - - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR) - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Filter_Builder::Conjuction designator\n")); -#endif - CORBA::ULong npos = pos; - ACE_CString name; - this->recursive_name (qos, npos, - scheduler, name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - pos++; // Consume the designator - - CORBA::ULong n = this->count_children (qos, pos); - - RtecBase::handle_t conj_rt_info = parent_info; - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - for (CORBA::ULong i = 0; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos, - scheduler, - conj_rt_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - TAO_EC_Kokyu_Filter *filter; - ACE_NEW_RETURN (filter, - TAO_EC_Kokyu_Filter (name.c_str (), - conj_rt_info, - scheduler, - new TAO_EC_Conjunction_Filter(children, - n), - conj_rt_info, - conj_rt_info, - RtecScheduler::CONJUNCTION), - 0); - TAO_EC_QOS_Info qos_info; - filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - // @@ - ACE_CHECK_RETURN (0); - return filter; - } - - else if (e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Filter_Builder::Disjunction designator\n")); -#endif - CORBA::ULong npos = pos; - ACE_CString name; - this->recursive_name (qos, npos, - scheduler, name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - pos++; // Consume the designator - - RtecBase::handle_t disj_rt_info = parent_info; - - CORBA::ULong n = this->count_children (qos, pos); - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - for (CORBA::ULong i = 0; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos, - scheduler, - disj_rt_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - TAO_EC_Kokyu_Filter *filter; - ACE_NEW_RETURN (filter, - TAO_EC_Kokyu_Filter (name.c_str (), - disj_rt_info, - scheduler, - new TAO_EC_Disjunction_Filter (children, - n), - disj_rt_info, - disj_rt_info, - RtecScheduler::DISJUNCTION), - 0); - - TAO_EC_QOS_Info qos_info; - filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - // @@ - ACE_CHECK_RETURN (0); - return filter; - } - else if (e.header.type == ACE_ES_EVENT_TIMEOUT - || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT - || e.header.type == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, "Filter_Builder::Timeout designator\n")); -#endif - // @@ We need a unique name for each timeout, assigned by the - // application? - char buf[64]; - - //get the rt_info for the timer consumer - RtecBase::handle_t h_consumer_rt_info = qos.dependencies[pos].rt_info; - - //build a unique name using the cosumer_rt_info - ACE_OS::sprintf (buf, "TIMEOUT:%umsec:%d", - static_cast ((e.header.creation_time / 10000)), - h_consumer_rt_info); - ACE_CString name = buf; - - TAO_EC_QOS_Info qos_info; - qos_info.rt_info = - scheduler->create (name.c_str () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Convert the time to the proper units.... - RtecScheduler::Period_t period = - static_cast (e.header.creation_time); - -#if 1 //by VS original code replaced with this - RtecScheduler::RT_Info* consumer_rt_info_ptr; - - consumer_rt_info_ptr = scheduler->get (h_consumer_rt_info); - scheduler->set (qos_info.rt_info, - consumer_rt_info_ptr->criticality, - 0, // worst_cast_execution_time - 0, // typical_cast_execution_time - 0, // cached_cast_execution_time - period, - consumer_rt_info_ptr->importance, - 0, // quantum - 1, // threads - RtecScheduler::OPERATION - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - scheduler->add_dependency (qos_info.rt_info, - h_consumer_rt_info, - 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); -#endif //by VS - - pos++; - return new TAO_EC_Timeout_Filter (this->event_channel_, - supplier, - qos_info, - e.header.type, - e.header.creation_time); - } - -#if 1 //added by VS - else if (e.header.type == ACE_ES_GLOBAL_DESIGNATOR) - { - pos++; - return this->recursive_build (supplier, qos, pos, - scheduler, - parent_info - ACE_ENV_ARG_PARAMETER); - } - else - { -#ifdef EC_KOKYU_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Kokyu_Filter_Builder::No designator for this entry. " - "Must be a body\n")); -#endif - } -#endif - - //probably because of a global designator, the parent_info could be 0. - if (parent_info == 0) - { - //In this case, the parent_info is the same as the one supplied - //in the consumer qos. - parent_info = qos.dependencies[pos].rt_info; - } - - RtecScheduler::RT_Info_var info = - scheduler->get (parent_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_CString name = info->entry_point.in (); - - pos++; - TAO_EC_Kokyu_Filter *filter; - ACE_NEW_RETURN (filter, - TAO_EC_Kokyu_Filter (name.c_str (), - parent_info, - scheduler, - new TAO_EC_Type_Filter (e.header), - parent_info, - parent_info, - RtecScheduler::OPERATION), - 0); - - TAO_EC_QOS_Info qos_info; - filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - // @@ - ACE_CHECK_RETURN (0); - return filter; -} - -void -TAO_EC_Kokyu_Filter_Builder:: recursive_name ( - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - ACE_CString& name - ACE_ENV_ARG_DECL) const -{ - const RtecEventComm::Event& e = qos.dependencies[pos].event; - - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - for (CORBA::ULong i = 0; i != n; ++i) - { - ACE_CString child_name; - this->recursive_name (qos, pos, - scheduler, - child_name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (i == 0) - name += "("; - else - name += "&&"; - name += child_name; - } - name += ")"; - return; - } - - else if (e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - for (CORBA::ULong i = 0; i != n; ++i) - { - ACE_CString child_name; - - this->recursive_name (qos, pos, - scheduler, - child_name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (i == 0) - name += "("; - else - name += "||"; - name += child_name; - } - name += ")"; - return; - } - - else if (e.header.type == ACE_ES_EVENT_TIMEOUT - || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT - || e.header.type == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - pos++; - - char buf[64]; - ACE_OS::sprintf (buf, "TIMEOUT:%umsec", - static_cast ((e.header.creation_time / 10000))); - name = buf; - - return; - } - - RtecScheduler::handle_t body_info = qos.dependencies[pos].rt_info; - - RtecScheduler::RT_Info_var info = - scheduler->get (body_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - name = info->entry_point.in (); - name += "#rep"; - - pos++; -} - -CORBA::ULong -TAO_EC_Kokyu_Filter_Builder:: - count_children (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong pos) const -{ - CORBA::ULong l = qos.dependencies.length (); - CORBA::ULong i; - for (i = pos; i != l; ++i) - { - const RtecEventComm::Event& e = qos.dependencies[i].event; - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR - || e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - break; - } - return i - 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.h b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.h deleted file mode 100644 index 83ac33a6456..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Kokyu_Filter_Builder.h - * - * $Id$ - * - * @author Bryan Thrall (thrall@cs.wustl.edu) - * - * Based on previous work by Carlos O'Ryan (coryan@cs.wustl.edu) and - * Tim Harrison (harrison@cs.wustl.edu) and other members of the DOC group. - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_KOKYU_FILTER_BUILDER_H -#define TAO_EC_KOKYU_FILTER_BUILDER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter_Builder.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/rtkokyu_event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Filter; -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Kokyu_Filter_Builder - * - * @brief Implement a builder for the fundamental filters. - * - * The sched filtering mechanisms in the Event channel - * (source/type based filtering + disjunctions and conjunctions) - * are constructed using this class. - */ -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Filter_Builder : public TAO_EC_Filter_Builder -{ -public: - /// constructor. - TAO_EC_Kokyu_Filter_Builder (TAO_EC_Event_Channel_Base* ec); - - /// destructor... - virtual ~TAO_EC_Kokyu_Filter_Builder (void); - - // = The TAO_EC_Filter_Builder methods... - TAO_EC_Filter* build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const; - -private: - /// Recursively build the filter tree. - TAO_EC_Filter* recursive_build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - RtecScheduler::handle_t parent_info - ACE_ENV_ARG_DECL) const; - - /// Build the name recursively... - void recursive_name (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - ACE_CString &name - ACE_ENV_ARG_DECL) const; - - /// Count the number of children of the current node, i.e. until a - /// conjunction or disjunction starts. - CORBA::ULong count_children (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong pos) const; - -private: - /// The event channel. - TAO_EC_Event_Channel_Base* event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_KOKYU_FILTER_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.i b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.i deleted file mode 100644 index 8e0cd624a7e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.i +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Kokyu_Filter_Builder:: - TAO_EC_Kokyu_Filter_Builder (TAO_EC_Event_Channel_Base *ec) - : event_channel_ (ec) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.cpp deleted file mode 100644 index 979cd0913fa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Kokyu_Scheduling.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Supplier_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Scheduling.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Kokyu_Scheduling, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Kokyu_Scheduling::~TAO_EC_Kokyu_Scheduling (void) -{ -} - -void -TAO_EC_Kokyu_Scheduling::add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - const RtecEventChannelAdmin::SupplierQOS& qos = - consumer->publications (); - - for (CORBA::ULong i = 0; i < qos.publications.length (); ++i) - { - const RtecEventComm::EventHeader &header = - qos.publications[i].event.header; - TAO_EC_QOS_Info qos_info; - qos_info.rt_info = qos.publications[i].dependency_info.rt_info; - - RtecScheduler::OS_Priority os_priority; - RtecScheduler::Preemption_Subpriority_t p_subpriority; - RtecScheduler::Preemption_Priority_t p_priority; - this->scheduler_->priority (qos_info.rt_info, - os_priority, - p_subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - qos_info.preemption_priority = p_priority; - - supplier->add_dependencies (header, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_EC_Kokyu_Scheduling::schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL) -{ - RtecEventChannelAdmin::SupplierQOS qos = - consumer->publications (); - - for (CORBA::ULong j = 0; j != event.length (); ++j) - { - const RtecEventComm::Event& e = event[j]; - RtecEventComm::Event* buffer = - const_cast (&e); - RtecEventComm::EventSet single_event (1, 1, buffer, 0); - - TAO_EC_QOS_Info qos_info; - - for (CORBA::ULong i = 0; i != qos.publications.length (); ++i) - { - const RtecEventComm::EventHeader &qos_header = - qos.publications[i].event.header; - - if (TAO_EC_Filter::matches (e.header, qos_header) == 0) - continue; - - qos_info.rt_info = qos.publications[i].dependency_info.rt_info; - - RtecScheduler::OS_Priority os_priority; - RtecScheduler::Preemption_Subpriority_t p_subpriority; - RtecScheduler::Preemption_Priority_t p_priority; - this->scheduler_->priority (qos_info.rt_info, - os_priority, - p_subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - qos_info.preemption_priority = p_priority; - } - - filter->push_scheduled_event (single_event, qos_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h deleted file mode 100644 index 105241d217a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Kokyu_Scheduling.h - * - * $Id$ - * - * @author Bryan Thrall (thrall@cs.wustl.edu) - * - * Based on previous work by Carlos O'Ryan (coryan@cs.wustl.edu) and - * Tim Harrison (harrison@cs.wustl.edu) and other members of the DOC group. - * More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_KOKYU_SCHEDULING_H -#define TAO_EC_KOKYU_SCHEDULING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/rtkokyu_event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Kokyu_Scheduling - * - * @brief A scheduling strategy that uses TAO's real-time scheduler - * - * This implementation of the Scheduling_Strategy uses TAO's - * real-time scheduler. - */ -class TAO_RTKokyuEvent_Export TAO_EC_Kokyu_Scheduling : public TAO_EC_Scheduling_Strategy -{ -public: - /// Constructor. - TAO_EC_Kokyu_Scheduling (RtecScheduler::Scheduler_ptr scheduler); - - /// Destructor - virtual ~TAO_EC_Kokyu_Scheduling (void); - - virtual void add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - virtual void schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Kokyu_Scheduling (const TAO_EC_Kokyu_Scheduling&); - TAO_EC_Kokyu_Scheduling& operator= (const TAO_EC_Kokyu_Scheduling&); - - /// Initialize our RT_Info handle and dependencies - void init_rt_info (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The scheduler we are going to use - RtecScheduler::Scheduler_var scheduler_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Kokyu_Scheduling.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_KOKYU_SCHEDULING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.i b/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.i deleted file mode 100644 index 1afeb35fa05..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Kokyu_Scheduling::TAO_EC_Kokyu_Scheduling ( - RtecScheduler::Scheduler_ptr scheduler) - : scheduler_ (RtecScheduler::Scheduler::_duplicate (scheduler)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.cpp deleted file mode 100644 index 9750da7a5d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Lifetime_Utils.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/Event/EC_Lifetime_Utils.i" -#endif /* __ACE_INLINE__ */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h b/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h deleted file mode 100644 index d34ce3ab484..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h +++ /dev/null @@ -1,217 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Lifetime_Utils.h - * - * $Id$ - * - * @author Jody Hagins (jody@atdesk.com) - * @author Marina Spivak (marina@atdesk.com) - * - * This file is a temporary place for general CORBA application - * utility classes. These classes will be moved out from the EC - * library and into TAO or will be replaced by other TAO classes with - * similar functionality. - */ - -#ifndef TAO_EC_LIFETIME_UTILS_H -#define TAO_EC_LIFETIME_UTILS_H -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/RtecEventChannelAdminC.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/ORB.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Object_Deactivator - * - * @brief Utility for deactivating servants from POA. - * - * Maintains state necessary to deactivate a servant from POA. - * Can be told to deactivate a servant explicitly or can do so - * automagically, in its destructor. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Object_Deactivator -{ -public: - /// Default constructor. Deactivation info can be supplied later - /// through set_values (). - TAO_EC_Object_Deactivator (void); - - /// Constructor. Set @a id which will be deactivated from @ poa in - /// the deactivator's destructor, unless deactivate () or - /// disallow_deactivation () are invoked before the destruction. - TAO_EC_Object_Deactivator (PortableServer::POA_ptr poa, - PortableServer::ObjectId const & id); - - /// Destructor. Deactivates id_ from poa_ if those values have - /// been set, and neither deactivate() nor disallow_deactivation() - /// have been invoked. - ~TAO_EC_Object_Deactivator (void); - - /// Set which will be deactivated from in - /// the deactivator's destructor, unless deactivate () or - /// disallow_deactivation () are invoked before the destruction. - void set_values (PortableServer::POA_ptr poa, - PortableServer::ObjectId const & id); - - /// Take on the state of @a deactivator. @a deactivator loses its state. - void set_values (TAO_EC_Object_Deactivator & deactivator); - - /// Explicitly enable deactivation to happen in destructor or when - /// deactivate() is called. - void allow_deactivation (void); - - /// Explicitly disable deactivation from happening in destructor or - /// when deactivate() is called. - void disallow_deactivation (void); - - /// Perform deactivation now if and values have been set, and - /// deactivation hasn't happened yet nor has it been explicitly - /// disallowed. CORBA exceptions occurring during deactivation are - /// not propagated. Deactivation will NOT happen in the destructor. - void deactivate (void); - - /// Accessor for the POA used in deactivation. - PortableServer::POA_var poa (void) const; - -private: - - /// Disallow. - //@{ - TAO_EC_Object_Deactivator (const TAO_EC_Object_Deactivator &rhs); - TAO_EC_Object_Deactivator& operator= (const TAO_EC_Object_Deactivator &rhs); - //@} - - /// POA from which the object will be deactivated. - PortableServer::POA_var poa_; - - /// ObjectId of the object to be deactivated. - PortableServer::ObjectId id_; - - /// Flag indicating whether deactivation will be attempted. - /// The flag is set to false if and haven't been set - /// yet, or if deactivation already happened, or if - /// disallow_deactivation () method is invoked. - int deactivate_; -}; - -//*************************************************************************** - -/** - * @class TAO_EC_Deactivated_Object - * - * @brief Object deactivation utility (mix-in) class. - * - * Maintains state necessary to deactivate object inheriting from this - * class from POA. The state can be set using set_deactivator() - * method. Then, the object can deactivate itself by doing - * this->deactivator_.deactivate () - * - * NOTE: deactivation does NOT happen automatically, and must be - * explicitly initiated as described above. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Deactivated_Object -{ -public: - - /// Set deactivation state to that specified by the @a deactivator - /// argument. - void set_deactivator (TAO_EC_Object_Deactivator & deactivator); - -protected: - - TAO_EC_Deactivated_Object (void); - ~TAO_EC_Deactivated_Object (void); - - /// Utility for deactivating ourselves from POA. - TAO_EC_Object_Deactivator deactivator_; -}; - -//*************************************************************************** - -/** - * @class TAO_EC_ORB_Holder - * - * @brief Utility for automatically destroying the ORB. - * - * Holds a reference to an ORB, and calls destroy() on it in the - * destructor. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ORB_Holder -{ -public: - /// Constructor. No-op. - TAO_EC_ORB_Holder (void); - - /// Destructor. If holding an ORB, destroy it. - ~TAO_EC_ORB_Holder (void); - - /// Set the ORB to be destroyed in destructor to . If - /// TAO_EC_ORB_Holder already held an orb prior to invocation of - /// this method, that orb is NOT destroyed. - void init (CORBA::ORB_var orb_var); - -private: - - /// Disallow. - //@{ - TAO_EC_ORB_Holder & operator= (const TAO_EC_ORB_Holder &rhs); - TAO_EC_ORB_Holder(const TAO_EC_ORB_Holder &rhs); - //@} - - /// ORB to be destroyed. - CORBA::ORB_var orb_; -}; - -//*************************************************************************** - -/** - * @class TAO_EC_Event_Channel_Holder - * - * @brief Utility for automatically destroying the Event Channel. - * - * Holds a reference to an Event Channel, and calls destroy() on it in the - * destructor. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Event_Channel_Holder -{ -public: - /// Constructor. No-op. - TAO_EC_Event_Channel_Holder (void); - - /// Destructor. If holding an Event Channel, destroy it. - ~TAO_EC_Event_Channel_Holder (void); - - /// Set the Event Channel to be destroyed in destructor to @a ec_var. If - /// TAO_EC_Event_Channel_Holder already held an Event Channel prior - /// to invocation of this method, that Event Channel is NOT destroyed. - void init (RtecEventChannelAdmin::EventChannel_var ec_var); - -private: - - /// Disallow. - //@{ - TAO_EC_Event_Channel_Holder & operator= (const TAO_EC_Event_Channel_Holder &rhs); - TAO_EC_Event_Channel_Holder(const TAO_EC_Event_Channel_Holder &rhs); - //@} - - /// EC to be destroyed. - RtecEventChannelAdmin::EventChannel_var ec_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Lifetime_Utils.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_LIFETIME_UTILS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.i b/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.i deleted file mode 100644 index 2884f04108d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.i +++ /dev/null @@ -1,179 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Object_Deactivator::TAO_EC_Object_Deactivator (void) - : poa_ () - , id_ () - , deactivate_ (0) -{ -} - -ACE_INLINE -TAO_EC_Object_Deactivator::TAO_EC_Object_Deactivator ( - PortableServer::POA_ptr poa, - PortableServer::ObjectId const & id) - : poa_ (PortableServer::POA::_duplicate (poa)) - , id_ (id) - , deactivate_ (1) -{ -} - -ACE_INLINE void -TAO_EC_Object_Deactivator::deactivate (void) -{ - if (this->deactivate_ && !CORBA::is_nil (this->poa_.in ())) - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->deactivate_ = 0; - this->poa_->deactivate_object (id_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // The deactivation can throw... - } - ACE_ENDTRY; - } -} - -ACE_INLINE -TAO_EC_Object_Deactivator::~TAO_EC_Object_Deactivator (void) -{ - this->deactivate (); -} - -ACE_INLINE PortableServer::POA_var -TAO_EC_Object_Deactivator::poa (void) const -{ - return this->poa_; -} - -ACE_INLINE void -TAO_EC_Object_Deactivator::allow_deactivation (void) -{ - this->deactivate_ = 1; -} - -ACE_INLINE void -TAO_EC_Object_Deactivator::disallow_deactivation (void) -{ - this->deactivate_ = 0; -} - -ACE_INLINE void -TAO_EC_Object_Deactivator::set_values (PortableServer::POA_ptr poa, - PortableServer::ObjectId const & id) -{ - this->poa_ = PortableServer::POA::_duplicate (poa); - this->id_ = id; - this->deactivate_ = 1; -} - -ACE_INLINE void -TAO_EC_Object_Deactivator::set_values (TAO_EC_Object_Deactivator & deactivator) -{ - if (this == &deactivator) - return; - - this->poa_ = deactivator.poa_._retn (); - this->id_ = deactivator.id_; - this->deactivate_ = deactivator.deactivate_; - deactivator.deactivate_ = 0; -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Deactivated_Object::TAO_EC_Deactivated_Object (void) - : deactivator_ () -{ -} - -ACE_INLINE -TAO_EC_Deactivated_Object::~TAO_EC_Deactivated_Object (void) -{ - // Prevent automatic deactivation in deactivator's destructor. - this->deactivator_.disallow_deactivation (); -} - -ACE_INLINE void -TAO_EC_Deactivated_Object::set_deactivator ( - TAO_EC_Object_Deactivator & deactivator) -{ - this->deactivator_.set_values (deactivator); -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_ORB_Holder::TAO_EC_ORB_Holder (void) - : orb_ () -{ -} - -ACE_INLINE -TAO_EC_ORB_Holder::~TAO_EC_ORB_Holder (void) -{ - if (!CORBA::is_nil (this->orb_.in ())) - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->orb_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore. - } - ACE_ENDTRY; - } -} - -ACE_INLINE void -TAO_EC_ORB_Holder::init (CORBA::ORB_var orb_var) -{ - this->orb_ = orb_var; -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Event_Channel_Holder::TAO_EC_Event_Channel_Holder (void) - : ec_ () -{ -} - -ACE_INLINE -TAO_EC_Event_Channel_Holder::~TAO_EC_Event_Channel_Holder (void) -{ - if (!CORBA::is_nil (this->ec_.in ())) - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->ec_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore. - } - ACE_ENDTRY; - } -} - -ACE_INLINE void -TAO_EC_Event_Channel_Holder::init ( - RtecEventChannelAdmin::EventChannel_var ec_var) -{ - this->ec_ = ec_var; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.cpp deleted file mode 100644 index 8a8d4934d40..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// $Id$ - -#ifndef TAO_EC_LIFETIME_UTILS_T_CPP -#define TAO_EC_LIFETIME_UTILS_T_CPP - -#include "orbsvcs/Event/EC_Lifetime_Utils_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Lifetime_Utils_T.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -void -activate (T & obj_ref, - PortableServer::POA_ptr poa, - PortableServer::ServantBase * servant, - TAO_EC_Object_Deactivator & suggested_object_deactivator - ACE_ENV_ARG_DECL) -{ - // Activate the servant into the POA. - PortableServer::ObjectId_var obj_id = - poa->activate_object (servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - suggested_object_deactivator.set_values (poa, obj_id.in ()); - - // Get the object reference of the activated object. - CORBA::Object_var obj = - poa->id_to_reference (obj_id.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Don't try to use T::_obj_type::_narrow, some compilers don't like it so - // do this in two steps - typedef typename T::_obj_type my_object_type; - - obj_ref = - my_object_type::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (obj_ref.in ())) - { - ACE_THROW (CORBA::INTERNAL ()); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_EC_LIFETIME_UTILS_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.h b/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.h deleted file mode 100644 index 85b98439126..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.h +++ /dev/null @@ -1,203 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Lifetime_Utils_T.h - * - * $Id$ - * - * @author Jody Hagins (jody@atdesk.com) - * @author Marina Spivak (marina@atdesk.com) - * - * This file is a temporary place for general CORBA application - * utility classes. These classes will be moved out from the EC - * library and into TAO or will be replaced by other TAO classes with - * similar functionality. - */ - -#ifndef TAO_EC_LIFETIME_UTILS_T_H -#define TAO_EC_LIFETIME_UTILS_T_H - -#include "orbsvcs/Event/EC_Lifetime_Utils.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @brief Helper for activating objects. - * Activates @a servant with @a poa and returns the object reference via - * @a obj_ref. If @a object_deactivator != 0, it is populated with info - * necessary to deactivate the @a servant from @a poa. - */ -template -void activate (T & obj_ref, - PortableServer::POA_ptr poa, - PortableServer::ServantBase * servant, - TAO_EC_Object_Deactivator & object_deactivator - ACE_ENV_ARG_DECL); - - -//*************************************************************************** - -/** - * @class TAO_EC_Auto_Command - * - * @brief Utility class which executes COMMAND in its destructor. - * - * Template argument requirements: - * - * Has void execute (ACE_ENV_SINGLE_ARG_DECL); method which - * can throw ONLY CORBA exceptions. - * Has default and copy constructors. - * - */ -template -class TAO_EC_Auto_Command -{ -public: - TAO_EC_Auto_Command (void); - TAO_EC_Auto_Command (const T & command); - ~TAO_EC_Auto_Command (void); - void set_command (const T & command); - void set_command (TAO_EC_Auto_Command & auto_command); - void execute (void); - void allow_command (void); - void disallow_command (void); - -private: - - TAO_EC_Auto_Command (const TAO_EC_Auto_Command &); - TAO_EC_Auto_Command & operator= (const TAO_EC_Auto_Command &); - - T command_; - int allow_command_; -}; - - -//*************************************************************************** - -template -class TAO_EC_Shutdown_Command -{ -public: - TAO_EC_Shutdown_Command (void); - TAO_EC_Shutdown_Command (T target); - void execute (ACE_ENV_SINGLE_ARG_DECL); - -private: - - T target_; -}; - -//*************************************************************************** - -/** - * @class Servant_Var - * - * @brief Provides a type safe counted reference to servants. - */ -template -class TAO_EC_Servant_Var -{ -public: - //! Constructor. Assumes ownership of \c p. - TAO_EC_Servant_Var(T * p = 0); - - //! Copy constructor. Adds reference to \c rhs. - TAO_EC_Servant_Var(TAO_EC_Servant_Var const & rhs); - - //! Assignment operator. Adds reference to \c rhs. - TAO_EC_Servant_Var & operator=(TAO_EC_Servant_Var const & rhs); - - //! Destructor. Removes a reference from the underlying object, - //! possibly destroying it. - ~TAO_EC_Servant_Var(); - - //! Assignment operator. Assumes ownership of \c p. - TAO_EC_Servant_Var & operator=(T * p); - -# if !defined(ACE_LACKS_MEMBER_TEMPLATES) - //! Template member constructor from a pointer that will implicitly - //! cast to type T. Assumes ownership of \c p. - //! This constructor allows constructs such as: - //! Servant_Base p(new Derived); - template - TAO_EC_Servant_Var(Y * p); - - //! Template member copy constructor from a TAO_EC_Servant_Var, where - //! Y can be implicitly cast to type T. - template - TAO_EC_Servant_Var(TAO_EC_Servant_Var const & rhs); - - //! Template member assignment operator from a TAO_EC_Servant_Var, where - //! Y can be implicitly cast to type T. - template - TAO_EC_Servant_Var & operator=(TAO_EC_Servant_Var const & rhs); - - //! Template member assignment operator from a pointer to Y, where Y - //! can be implicitly cast to type T. - template - TAO_EC_Servant_Var & operator=(Y * p); -# endif /* ACE_LACKS_MEMBER_TEMPLATES */ - - //! Smart pointer operator-> provides access to the underlying object. - T const * operator->() const; - - //! Smart pointer operator-> provides access to the underlying object. - T * operator->(); - - //! Dereference the underlying object. - T const & operator*() const; - - //! Dereference the underlying object. - T & operator*(); - - //! Return a void pointer to the underlying object. This allows - //! it to be used in conditional code and tested against 0. - operator void const * () const; - - //! As an IN parameter. - T * in() const; - - //! As an INOUT parameter. - T *& inout(); - - //! As an OUT parameter. - T *& out(); - - // Return a pointer to the underlying object, and this counted - // reference will no longer own the object. - T * _retn(); - -private: - T * ptr_; -}; - -//! Compare two TAO_EC_Servant_Vars for equivalence. -template -bool operator==(TAO_EC_Servant_Var const & x, - TAO_EC_Servant_Var const & y); - -//! Compare two TAO_EC_Servant_Vars for non-equivalence. -template -bool operator!=(TAO_EC_Servant_Var const & x, - TAO_EC_Servant_Var const & y); - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Lifetime_Utils_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Event/EC_Lifetime_Utils_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("EC_Lifetime_Utils_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* EC_LIFETIME_UTILS_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i b/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i deleted file mode 100644 index e93998fee0f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i +++ /dev/null @@ -1,340 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -ACE_INLINE -TAO_EC_Auto_Command::TAO_EC_Auto_Command (void) - : command_ () - , allow_command_ (0) -{ -} - -template -ACE_INLINE -TAO_EC_Auto_Command::TAO_EC_Auto_Command (const T & command) - : command_ (command) - , allow_command_ (1) -{ -} - -template -ACE_INLINE -TAO_EC_Auto_Command::~TAO_EC_Auto_Command (void) -{ - this->execute (); -} - -template -ACE_INLINE void -TAO_EC_Auto_Command::set_command (const T & command) -{ - this->command_ = command; - this->allow_command_ = 1; -} - -template -ACE_INLINE void -TAO_EC_Auto_Command::set_command (TAO_EC_Auto_Command & auto_command) -{ - if (this == &auto_command) - return; - - this->command_ = auto_command.command_; - this->allow_command_ = auto_command.allow_command_; - auto_command.allow_command_ = 0; -} - -template -ACE_INLINE void -TAO_EC_Auto_Command::execute (void) -{ - if (this->allow_command_) - { - this->allow_command_ = 0; - - ACE_TRY_NEW_ENV - { - this->command_.execute (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // ignore. - } - ACE_ENDTRY; - } -} - -template -ACE_INLINE void -TAO_EC_Auto_Command::allow_command (void) -{ - this->allow_command_ = 1; -} - -template -ACE_INLINE void -TAO_EC_Auto_Command::disallow_command (void) -{ - this->allow_command_ = 0; -} - - -//*************************************************************************** - -template -ACE_INLINE -TAO_EC_Shutdown_Command::TAO_EC_Shutdown_Command (void) - : target_ () -{ -} - -template -ACE_INLINE -TAO_EC_Shutdown_Command::TAO_EC_Shutdown_Command (T target) - : target_ (target) -{ -} - -template -ACE_INLINE void -TAO_EC_Shutdown_Command::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->target_.in ()) - { - this->target_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -//*************************************************************************** - - -TAO_END_VERSIONED_NAMESPACE_DECL - -// Life would be much easier if _add_ref() and _remove_ref() -// had throw specs of "throw ()" - -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -ACE_INLINE TAO_EC_Servant_Var:: -TAO_EC_Servant_Var(T * p) - : ptr_(p) -{ -} - -// If _add_ref throws, this object will not be completely constructed -// so the destructor will not be called. -template -ACE_INLINE TAO_EC_Servant_Var:: -TAO_EC_Servant_Var(TAO_EC_Servant_Var const & rhs) - : ptr_(rhs.ptr_) -{ - if (ptr_) - { - ACE_TRY_NEW_ENV - { - ptr_->_add_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - ACE_RE_THROW; - } - ACE_ENDTRY; - } -} - -template -ACE_INLINE TAO_EC_Servant_Var & TAO_EC_Servant_Var:: -operator=(TAO_EC_Servant_Var const & rhs) -{ - TAO_EC_Servant_Var tmp(rhs); - - // std::swap(tmp.ptr_, ptr_); - T * swap_temp = tmp.ptr_; - tmp.ptr_ = ptr_; - ptr_ = swap_temp; - - return *this; -} - -template -ACE_INLINE TAO_EC_Servant_Var & TAO_EC_Servant_Var:: -operator=(T * p) -{ - TAO_EC_Servant_Var tmp(p); - - // std::swap(tmp.ptr_, ptr_); - T * swap_temp = tmp.ptr_; - tmp.ptr_ = ptr_; - ptr_ = swap_temp; - - return *this; -} - -template -ACE_INLINE TAO_EC_Servant_Var:: -~TAO_EC_Servant_Var() -{ - // Unfortunately, there is no throw spec on _remove_ref, so we - // can't assume that it will not throw. If it does, then we are in - // trouble. In any event, we can't let the exception escape our - // destructor. - if (ptr_ != 0) - { - ACE_TRY_NEW_ENV - { - ptr_->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - } - ACE_ENDTRY; - } -} - -#if !defined(ACE_LACKS_MEMBER_TEMPLATES) -template template -ACE_INLINE TAO_EC_Servant_Var:: -TAO_EC_Servant_Var(Y * p) - : ptr_(p) -{ -} - -template template -ACE_INLINE TAO_EC_Servant_Var:: -TAO_EC_Servant_Var(TAO_EC_Servant_Var const & rhs) - : ptr_(rhs.in()) -{ - if (ptr_) - { - ptr_->_add_ref(); - } -} - -template template -ACE_INLINE TAO_EC_Servant_Var & TAO_EC_Servant_Var:: -operator=(TAO_EC_Servant_Var const & rhs) -{ - TAO_EC_Servant_Var tmp(rhs); - - // std::swap(tmp.ptr_, ptr_); - T * swap_temp = tmp.ptr_; - tmp.ptr_ = ptr_; - ptr_ = swap_temp; - - return *this; -} - -template template -ACE_INLINE TAO_EC_Servant_Var & TAO_EC_Servant_Var:: -operator=(Y * p) -{ - TAO_EC_Servant_Var tmp(p); - - // std::swap(tmp.ptr_, ptr_); - T * swap_temp = tmp.ptr_; - tmp.ptr_ = ptr_; - ptr_ = swap_temp; - - return *this; -} -#endif /* ACE_LACKS_MEMBER_TEMPLATES */ - -template -ACE_INLINE T const * TAO_EC_Servant_Var:: -operator->() const -{ - return ptr_; -} - -template -ACE_INLINE T * TAO_EC_Servant_Var:: -operator->() -{ - return ptr_; -} - -template -ACE_INLINE T const & TAO_EC_Servant_Var:: -operator*() const -{ - return *ptr_; -} - -template -ACE_INLINE T & TAO_EC_Servant_Var:: -operator*() -{ - return *ptr_; -} - -template -ACE_INLINE TAO_EC_Servant_Var:: -operator void const * () const -{ - return ptr_; -} - -template -ACE_INLINE T * TAO_EC_Servant_Var:: -in() const -{ - return ptr_; -} - -template -ACE_INLINE T *& TAO_EC_Servant_Var:: -inout() -{ - return ptr_; -} - -template -ACE_INLINE T *& TAO_EC_Servant_Var:: -out() -{ - TAO_EC_Servant_Var tmp; - - // std::swap(tmp.ptr_, ptr_); - T * swap_temp = tmp.ptr_; - tmp.ptr_ = ptr_; - ptr_ = swap_temp; - - return ptr_; -} - -template -ACE_INLINE T * TAO_EC_Servant_Var:: -_retn() -{ - T * rval = ptr_; - ptr_ = 0; - return rval; -} - -template -ACE_INLINE bool -operator==(TAO_EC_Servant_Var const & x, - TAO_EC_Servant_Var const & y) -{ - return x.in() == y.in(); -} - -template -ACE_INLINE bool -operator!=(TAO_EC_Servant_Var const & x, - TAO_EC_Servant_Var const & y) -{ - return x.in() != y.in(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp deleted file mode 100644 index 096ae4c3ba0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp +++ /dev/null @@ -1,92 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_MT_Dispatching.h" - -ACE_RCSID(Event, EC_MT_Dispatching, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_MT_Dispatching::TAO_EC_MT_Dispatching (int nthreads, - int thread_creation_flags, - int thread_priority, - int force_activate, - TAO_EC_Queue_Full_Service_Object* service_object) - : nthreads_ (nthreads), - thread_creation_flags_ (thread_creation_flags), - thread_priority_ (thread_priority), - force_activate_ (force_activate), - active_ (0), - queue_full_service_object_ (service_object) -{ - this->task_.open (&this->thread_manager_); -} - -void -TAO_EC_MT_Dispatching::activate (void) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->active_ != 0) - return; - - this->active_ = 1; - - if (this->task_.activate (this->thread_creation_flags_, - this->nthreads_, - 1, - this->thread_priority_) == -1) - { - if (this->force_activate_ != 0) - { - ACE_DEBUG ((LM_DEBUG, - "EC (%P|%t) activating dispatching queue at" - " default priority\n")); - if (this->task_.activate (THR_BOUND, this->nthreads_) == -1) - ACE_ERROR ((LM_ERROR, - "EC (%P|%t) cannot activate dispatching queue.\n")); - } - } -} - -void -TAO_EC_MT_Dispatching::shutdown (void) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->active_ == 0) - return; - - for (int i = 0; i < this->nthreads_; ++i) - { - this->task_.putq (new TAO_EC_Shutdown_Task_Command); - } - this->thread_manager_.wait (); -} - -void -TAO_EC_MT_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - RtecEventComm::EventSet event_copy = event; - this->push_nocopy (proxy, consumer, event_copy, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_MT_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL) -{ - // Double checked locking.... - if (this->active_ == 0) - this->activate (); - - this->task_.push (proxy, consumer, event ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h deleted file mode 100644 index b38b5a160fd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h +++ /dev/null @@ -1,98 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_MT_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_MT_DISPATCHING_H -#define TAO_EC_MT_DISPATCHING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Dispatching.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_Dispatching_Task.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_MT_Dispatching - * - * @brief Dispatching strategy that minimizes mt inversion. - * - * This strategy uses a single queue, serviced by one or more - * threads. It's main purpose is to decouple the suppliers from - * the client execution time, specially in the collocated case. - */ -class TAO_RTEvent_Serv_Export TAO_EC_MT_Dispatching : public TAO_EC_Dispatching -{ -public: - /// Constructor - /// It will create @a nthreads servicing threads... - TAO_EC_MT_Dispatching (int nthreads, - int thread_creation_flags, - int thread_priority, - int force_activate, - TAO_EC_Queue_Full_Service_Object* queue_full_service_object_name); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// Use our own thread manager. - ACE_Thread_Manager thread_manager_; - - /// The number of active tasks - int nthreads_; - - /// The flags (THR_BOUND, THR_NEW_LWP, etc.) used to create the - /// dispatching threads. - int thread_creation_flags_; - - /// The priority of the dispatching threads. - int thread_priority_; - - /// If activation at the requested priority fails then we fallback on - /// the defaults for thread activation. - int force_activate_; - - /// The dispatching task - TAO_EC_Dispatching_Task task_; - - /// Synchronize access to internal data - TAO_SYNCH_MUTEX lock_; - - /// Are the threads running? - int active_; - - /// Service Object information - TAO_EC_Queue_Full_Service_Object* queue_full_service_object_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_MT_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.cpp deleted file mode 100644 index 0ab3197ef29..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.cpp +++ /dev/null @@ -1,128 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Masked_Type_Filter.h" - -ACE_RCSID(Event, EC_Masked_Type_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Masked_Type_Filter:: - TAO_EC_Masked_Type_Filter (CORBA::ULong source_mask, - CORBA::ULong type_mask, - CORBA::ULong source_value, - CORBA::ULong type_value) - : source_mask_ (source_mask), - type_mask_ (type_mask), - source_value_ (source_value), - type_value_ (type_value) -{ -} - -TAO_EC_Masked_Type_Filter::~TAO_EC_Masked_Type_Filter (void) -{ -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Masked_Type_Filter::begin (void) const -{ - return 0; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Masked_Type_Filter::end (void) const -{ - return 0; -} - -int -TAO_EC_Masked_Type_Filter::size (void) const -{ - return 0; -} - -int -TAO_EC_Masked_Type_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (event.length () != 1) - return 0; - - if ((event[0].header.type & this->type_mask_) != this->type_value_ - || (event[0].header.source & this->source_mask_) != this->source_value_) - return 0; - - if (this->parent () != 0) - { - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return 1; -} - -int -TAO_EC_Masked_Type_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (event.length () != 1) - return 0; - - if ((event[0].header.type & this->type_mask_) != this->type_value_ - || (event[0].header.source & this->source_mask_) != this->source_value_) - return 0; - - if (this->parent () != 0) - { - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return 1; -} - -void -TAO_EC_Masked_Type_Filter::push (const RtecEventComm::EventSet &, - TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Masked_Type_Filter::push_nocopy (RtecEventComm::EventSet &, - TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Masked_Type_Filter::clear (void) -{ -} - -CORBA::ULong -TAO_EC_Masked_Type_Filter::max_event_size (void) const -{ - return 1; -} - -int -TAO_EC_Masked_Type_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - if ((header.type & this->type_mask_) == this->type_value_ - && (header.source & this->source_mask_) == this->source_value_) - return 1; - - return 0; -} - -int -TAO_EC_Masked_Type_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h deleted file mode 100644 index 97a83d622ea..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h +++ /dev/null @@ -1,93 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Masked_Type_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_MASKED_TYPE_FILTER_H -#define TAO_EC_MASKED_TYPE_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Masked_Type_Filter - * - * @brief A masked type filter. - * - * This filter only accepts events whose type and/or source have - * a given value when a bitmask is applied to them. - * In short the filter checks that: - * (event.header.type & type_mask) == type_value - * and that: - * (event.header.source & source_mask) == source_value - */ -class TAO_RTEvent_Serv_Export TAO_EC_Masked_Type_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. - TAO_EC_Masked_Type_Filter (CORBA::ULong source_mask, - CORBA::ULong type_mask, - CORBA::ULong source_value, - CORBA::ULong type_value); - - /// Destructor - virtual ~TAO_EC_Masked_Type_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Masked_Type_Filter (const TAO_EC_Masked_Type_Filter&); - TAO_EC_Masked_Type_Filter& operator= (const TAO_EC_Masked_Type_Filter&); - -private: - /// The bitmasks - CORBA::ULong source_mask_; - CORBA::ULong type_mask_; - - /// The values - CORBA::ULong source_value_; - CORBA::ULong type_value_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_MASKED_TYPE_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp deleted file mode 100644 index 204685379ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp +++ /dev/null @@ -1,114 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Negation_Filter.h" - -ACE_RCSID(Event, EC_Negation_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Negation_Filter::TAO_EC_Negation_Filter (TAO_EC_Filter* child) - : child_ (child) -{ - this->adopt_child (this->child_); -} - -TAO_EC_Negation_Filter::~TAO_EC_Negation_Filter (void) -{ - delete this->child_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Negation_Filter::begin (void) const -{ - return const_cast (&this->child_); -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Negation_Filter::end (void) const -{ - return const_cast (&this->child_) + 1; -} - -int -TAO_EC_Negation_Filter::size (void) const -{ - return 1; -} - -int -TAO_EC_Negation_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - int n = - this->child_->filter (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (this->parent () != 0 && n == 0) - { - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; - } - return 0; -} - -int -TAO_EC_Negation_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - int n = - this->child_->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (this->parent () != 0 && n == 0) - { - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; - } - return 0; -} - -void -TAO_EC_Negation_Filter::push (const RtecEventComm::EventSet&, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Negation_Filter::push_nocopy (RtecEventComm::EventSet&, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Negation_Filter::clear (void) -{ - this->child_->clear (); -} - -CORBA::ULong -TAO_EC_Negation_Filter::max_event_size (void) const -{ - return this->child_->max_event_size (); -} - -int -TAO_EC_Negation_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - return !this->child_->can_match (header); -} - -int -TAO_EC_Negation_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.h deleted file mode 100644 index f4f141f0e27..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Negation_Filter.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Negation_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_NEGATION_FILTER_H -#define TAO_EC_NEGATION_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Negation_Filter - * - * @brief The negation filter. - * - * This filter accepts all the events rejected by its child, and - * rejects any events accepted by the child. - * - *

Memory Management

- * It assumes ownership of its child. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Negation_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. It assumes ownership of the child. - TAO_EC_Negation_Filter (TAO_EC_Filter* child); - - /// Destructor - virtual ~TAO_EC_Negation_Filter (void); - - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Negation_Filter (const TAO_EC_Negation_Filter&); - TAO_EC_Negation_Filter& operator= (const TAO_EC_Negation_Filter&); - -private: - /// The child - TAO_EC_Filter* child_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_NEGATION_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp deleted file mode 100644 index 5b829d361c6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp +++ /dev/null @@ -1,241 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Null_Factory.h" -#include "orbsvcs/Event/EC_Reactive_Dispatching.h" -#include "orbsvcs/Event/EC_Filter_Builder.h" -#include "orbsvcs/Event/EC_Trivial_Supplier_Filter.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Default_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Default_ProxySupplier.h" -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_Null_Scheduling.h" -#include "orbsvcs/Event/EC_Reactive_Timeout_Generator.h" -#include "orbsvcs/Event/EC_ConsumerControl.h" -#include "orbsvcs/Event/EC_SupplierControl.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" // @@ MSVC 6 bug -#include "orbsvcs/ESF/ESF_Proxy_List.h" -#include "orbsvcs/ESF/ESF_Immediate_Changes.h" - -#include "tao/ORB_Core.h" - -ACE_RCSID(Event, EC_Null_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Null_Factory::TAO_EC_Null_Factory (void) -{ -} - -TAO_EC_Null_Factory::~TAO_EC_Null_Factory (void) -{ -} - -TAO_EC_Dispatching* -TAO_EC_Null_Factory::create_dispatching (TAO_EC_Event_Channel_Base *) -{ - return new TAO_EC_Reactive_Dispatching (); -} - -void -TAO_EC_Null_Factory::destroy_dispatching (TAO_EC_Dispatching *x) -{ - delete x; -} - -TAO_EC_Filter_Builder* -TAO_EC_Null_Factory::create_filter_builder (TAO_EC_Event_Channel_Base *) -{ - return new TAO_EC_Null_Filter_Builder; -} - -void -TAO_EC_Null_Factory::destroy_filter_builder (TAO_EC_Filter_Builder *x) -{ - delete x; -} - -TAO_EC_Supplier_Filter_Builder* -TAO_EC_Null_Factory::create_supplier_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Trivial_Supplier_Filter_Builder (ec); -} - -void -TAO_EC_Null_Factory::destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *x) -{ - delete x; -} - -TAO_EC_ConsumerAdmin* -TAO_EC_Null_Factory::create_consumer_admin (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_ConsumerAdmin (ec); -} - -void -TAO_EC_Null_Factory::destroy_consumer_admin (TAO_EC_ConsumerAdmin *x) -{ - delete x; -} - -TAO_EC_SupplierAdmin* -TAO_EC_Null_Factory::create_supplier_admin (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_SupplierAdmin (ec); -} - -void -TAO_EC_Null_Factory::destroy_supplier_admin (TAO_EC_SupplierAdmin *x) -{ - delete x; -} - -TAO_EC_ProxyPushSupplier* -TAO_EC_Null_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Default_ProxyPushSupplier (ec, TAO_EC_DEFAULT_CONSUMER_VALIDATE_CONNECTION); -} - -void -TAO_EC_Null_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *x) -{ - delete x; -} - -TAO_EC_ProxyPushConsumer* -TAO_EC_Null_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel_Base *ec) -{ - return new TAO_EC_Default_ProxyPushConsumer (ec); -} - -void -TAO_EC_Null_Factory::destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *x) -{ - delete x; -} - -TAO_EC_Timeout_Generator* -TAO_EC_Null_Factory::create_timeout_generator (TAO_EC_Event_Channel_Base *) -{ - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, ""); - ACE_Reactor *reactor = orb->orb_core ()->reactor (); - return new TAO_EC_Reactive_Timeout_Generator (reactor); -} - -void -TAO_EC_Null_Factory::destroy_timeout_generator (TAO_EC_Timeout_Generator *x) -{ - delete x; -} - -TAO_EC_ObserverStrategy* -TAO_EC_Null_Factory::create_observer_strategy (TAO_EC_Event_Channel_Base *) -{ - return new TAO_EC_Null_ObserverStrategy; -} - -void -TAO_EC_Null_Factory::destroy_observer_strategy (TAO_EC_ObserverStrategy *x) -{ - delete x; -} - -TAO_EC_Scheduling_Strategy* -TAO_EC_Null_Factory::create_scheduling_strategy (TAO_EC_Event_Channel_Base*) -{ - return new TAO_EC_Null_Scheduling; -} - -void -TAO_EC_Null_Factory::destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy* x) -{ - delete x; -} - -TAO_EC_ProxyPushConsumer_Collection* -TAO_EC_Null_Factory::create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base *) -{ - // This typedef is a workaround for a SunCC 4.2 bug - typedef TAO_ESF_Proxy_List::Iterator TAO_EC_Consumer_List_Iterator; - return new TAO_ESF_Immediate_Changes, - TAO_EC_Consumer_List_Iterator, - ACE_Null_Mutex> (); -} - -void -TAO_EC_Null_Factory::destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *x) -{ - delete x; -} - -TAO_EC_ProxyPushSupplier_Collection* -TAO_EC_Null_Factory::create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base *) -{ - // This typedef is a workaround for a SunCC 4.2 bug - typedef TAO_ESF_Proxy_List::Iterator TAO_EC_Supplier_List_Iterator; - return new TAO_ESF_Immediate_Changes, - TAO_EC_Supplier_List_Iterator, - ACE_Null_Mutex> (); -} - -void -TAO_EC_Null_Factory::destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *x) -{ - delete x; -} - -ACE_Lock* -TAO_EC_Null_Factory::create_consumer_lock (void) -{ - return new ACE_Lock_Adapter (); -} - -void -TAO_EC_Null_Factory::destroy_consumer_lock (ACE_Lock* x) -{ - delete x; -} - -ACE_Lock* -TAO_EC_Null_Factory::create_supplier_lock (void) -{ - return new ACE_Lock_Adapter (); -} - -void -TAO_EC_Null_Factory::destroy_supplier_lock (ACE_Lock* x) -{ - delete x; -} - -TAO_EC_ConsumerControl* -TAO_EC_Null_Factory::create_consumer_control (TAO_EC_Event_Channel_Base*) -{ - return new TAO_EC_ConsumerControl (); -} - -void -TAO_EC_Null_Factory::destroy_consumer_control (TAO_EC_ConsumerControl* x) -{ - delete x; -} - -TAO_EC_SupplierControl* -TAO_EC_Null_Factory::create_supplier_control (TAO_EC_Event_Channel_Base*) -{ - return new TAO_EC_SupplierControl (); -} - -void -TAO_EC_Null_Factory::destroy_supplier_control (TAO_EC_SupplierControl* x) -{ - delete x; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.h deleted file mode 100644 index ca583ca5d13..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.h +++ /dev/null @@ -1,116 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Null_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_NULL_FACTORY_H -#define TAO_EC_NULL_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Null_Factory - * - * @brief The factory for a simple event channel. - * - * The simplest configuration for an event channel does no - * filtering and uses reactive dispatching. This class is used to - * configure such an event channel. - * A fixed POA is used for servant activation. - * This object creates a single instance of the Supplier - */ -class TAO_RTEvent_Serv_Export TAO_EC_Null_Factory : public TAO_EC_Factory -{ -public: - /// Constructor - TAO_EC_Null_Factory (void); - - /// destructor... - virtual ~TAO_EC_Null_Factory (void); - - // = The EC_Factory methods - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - virtual void - destroy_dispatching (TAO_EC_Dispatching*); - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*); - virtual void - destroy_filter_builder (TAO_EC_Filter_Builder*); - virtual TAO_EC_Supplier_Filter_Builder* - create_supplier_filter_builder (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*); - virtual TAO_EC_ConsumerAdmin* - create_consumer_admin (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_admin (TAO_EC_ConsumerAdmin*); - virtual TAO_EC_SupplierAdmin* - create_supplier_admin (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_admin (TAO_EC_SupplierAdmin*); - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*); - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*); - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*); - virtual void - destroy_timeout_generator (TAO_EC_Timeout_Generator*); - virtual TAO_EC_ObserverStrategy* - create_observer_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_observer_strategy (TAO_EC_ObserverStrategy*); - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*); - virtual TAO_EC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*); - virtual TAO_EC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*); - - virtual ACE_Lock* create_consumer_lock (void); - virtual void destroy_consumer_lock (ACE_Lock*); - virtual ACE_Lock* create_supplier_lock (void); - virtual void destroy_supplier_lock (ACE_Lock*); - - virtual TAO_EC_ConsumerControl* - create_consumer_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_control (TAO_EC_ConsumerControl*); - virtual TAO_EC_SupplierControl* - create_supplier_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_control (TAO_EC_SupplierControl*); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_NULL_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp deleted file mode 100644 index e17a6de3910..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Null_Scheduling.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_Supplier_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Null_Scheduling.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Null_Scheduling, "$Id$") - -void -TAO_EC_Null_Scheduling::add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *, - TAO_EC_ProxyPushConsumer * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Null_Scheduling::schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL) -{ - for (CORBA::ULong j = 0; j < event.length (); ++j) - { - const RtecEventComm::Event& e = event[j]; - RtecEventComm::Event* buffer = - const_cast (&e); - RtecEventComm::EventSet single_event (1, 1, buffer, 0); - - TAO_EC_QOS_Info event_info; - filter->push_scheduled_event (single_event, event_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h deleted file mode 100644 index 90857214aeb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Null_Scheduling.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_NULL_SCHEDULING_H -#define TAO_EC_NULL_SCHEDULING_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -/** - * @class TAO_EC_Null_Scheduling - * - * @brief A scheduling strategy that separates event groups and - * delivers one event at a time. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Null_Scheduling - : public TAO_EC_Scheduling_Strategy -{ -public: - /// Constructor. - TAO_EC_Null_Scheduling (void); - - // Read EC_Scheduling_Strategy.h for more details - virtual void add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - virtual void schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Null_Scheduling (const TAO_EC_Null_Scheduling&); - TAO_EC_Null_Scheduling& operator= (const TAO_EC_Null_Scheduling&); -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Null_Scheduling.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_NULL_SCHEDULING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.i b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.i deleted file mode 100644 index 60c72cb9e56..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Scheduling.i +++ /dev/null @@ -1,7 +0,0 @@ -// $Id$ - -ACE_INLINE -TAO_EC_Null_Scheduling::TAO_EC_Null_Scheduling (void) -{ -} - diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp deleted file mode 100644 index e5c5a9bc11d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp +++ /dev/null @@ -1,516 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "ace/Auto_Ptr.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_ObserverStrategy.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_ObserverStrategy, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_ObserverStrategy::~TAO_EC_ObserverStrategy (void) -{ -} - -// **************************************************************** - -RtecEventChannelAdmin::Observer_Handle -TAO_EC_Null_ObserverStrategy::append_observer ( - RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) -{ - ACE_THROW_RETURN ( - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER(), - 0); -} - -void -TAO_EC_Null_ObserverStrategy::remove_observer ( - RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) -{ - ACE_THROW (RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER()); -} - -void -TAO_EC_Null_ObserverStrategy::connected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Null_ObserverStrategy::disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Null_ObserverStrategy::connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Null_ObserverStrategy::disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -// **************************************************************** - -TAO_EC_Basic_ObserverStrategy::~TAO_EC_Basic_ObserverStrategy (void) -{ - delete this->lock_; - this->lock_ = 0; -} - -RtecEventChannelAdmin::Observer_Handle -TAO_EC_Basic_ObserverStrategy::append_observer ( - RtecEventChannelAdmin::Observer_ptr obs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) -{ - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR()); - ACE_CHECK_RETURN (0); - - this->handle_generator_++; - Observer_Entry entry (this->handle_generator_, - RtecEventChannelAdmin::Observer::_duplicate (obs)); - - if (this->observers_.bind (entry.handle, entry) == -1) - ACE_THROW_RETURN ( - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER(), - 0); - } - - RtecEventChannelAdmin::ConsumerQOS c_qos; - this->fill_qos (c_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - obs->update_consumer (c_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - RtecEventChannelAdmin::SupplierQOS s_qos; - this->fill_qos (s_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - obs->update_supplier (s_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->handle_generator_; -} - - -void -TAO_EC_Basic_ObserverStrategy::remove_observer ( - RtecEventChannelAdmin::Observer_Handle handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) -{ - ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR()); - ACE_CHECK; - - if (this->observers_.unbind (handle) == -1) - ACE_THROW ( - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER()); -} - -int -TAO_EC_Basic_ObserverStrategy::create_observer_list ( - RtecEventChannelAdmin::Observer_var *&lst - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR()); - ACE_CHECK_RETURN (0); - - int size = static_cast (this->observers_.current_size ()); - RtecEventChannelAdmin::Observer_var *tmp; - ACE_NEW_RETURN (tmp, - RtecEventChannelAdmin::Observer_var[size], - 0); - ACE_Auto_Basic_Array_Ptr copy (tmp); - - Observer_Map_Iterator end = this->observers_.end (); - int j = 0; - for (Observer_Map_Iterator i = this->observers_.begin (); - i != end; - ++i) - { - Observer_Entry& entry = (*i).int_id_; - copy[j++] = - RtecEventChannelAdmin::Observer::_duplicate (entry.observer.in ()); - } - - lst = copy.release (); - return size; -} - -void -TAO_EC_Basic_ObserverStrategy::connected ( - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_qos_update (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Basic_ObserverStrategy::disconnected ( - TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - this->supplier_qos_update (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Basic_ObserverStrategy::supplier_qos_update ( - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - if (consumer->publications ().is_gateway) - return; - - RtecEventChannelAdmin::SupplierQOS s_qos; - this->fill_qos (s_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::Observer_var *tmp = 0; - int size = this->create_observer_list (tmp ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_Auto_Basic_Array_Ptr copy (tmp); - - for (int i = 0; i != size; ++i) - { - ACE_TRY - { - copy[i]->update_supplier (s_qos ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other observers from - // failures on this one. - } - ACE_ENDTRY; - } -} - -void -TAO_EC_Basic_ObserverStrategy::connected ( - TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_qos_update (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Basic_ObserverStrategy::disconnected ( - TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->consumer_qos_update (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Basic_ObserverStrategy::consumer_qos_update ( - TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - if (supplier->subscriptions ().is_gateway) - return; - - RtecEventChannelAdmin::ConsumerQOS c_qos; - this->fill_qos (c_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::Observer_var *tmp = 0; - int size = this->create_observer_list (tmp ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_Auto_Basic_Array_Ptr copy (tmp); - - for (int i = 0; i != size; ++i) - { - ACE_TRY - { - copy[i]->update_consumer (c_qos ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other observers from - // failures on this one. - } - ACE_ENDTRY; - } -} - -void -TAO_EC_Basic_ObserverStrategy::fill_qos ( - RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL) -{ - Headers headers; - - TAO_EC_Accumulate_Supplier_Headers worker (headers); - this->event_channel_->for_each_consumer (&worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecEventChannelAdmin::DependencySet& dep = qos.dependencies; - - dep.length (static_cast (headers.current_size () + 1)); - - dep[0].event.header.type = ACE_ES_DISJUNCTION_DESIGNATOR; - dep[0].event.header.source = static_cast (headers.current_size ()); - dep[0].event.header.creation_time = ORBSVCS_Time::zero (); - dep[0].rt_info = 0; - - CORBA::ULong count = 1; - for (HeadersIterator i = headers.begin (); i != headers.end (); ++i) - { - dep[count++].event.header = (*i).key (); - } -} - -void -TAO_EC_Basic_ObserverStrategy::fill_qos ( - RtecEventChannelAdmin::SupplierQOS &qos - ACE_ENV_ARG_DECL) -{ - Headers headers; - - TAO_EC_Accumulate_Consumer_Headers worker (headers); - this->event_channel_->for_each_supplier (&worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - qos.publications.length (static_cast (headers.current_size ())); - - CORBA::ULong count = 0; - for (HeadersIterator i = headers.begin (); i != headers.end (); ++i) - { - qos.publications[count++].event.header = (*i).key (); - } -} - - -// **************************************************************** - -TAO_EC_Reactive_ObserverStrategy::~TAO_EC_Reactive_ObserverStrategy (void) -{ -} - -void -TAO_EC_Reactive_ObserverStrategy::supplier_qos_update ( - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - if (consumer->publications ().is_gateway) - return; - - RtecEventChannelAdmin::SupplierQOS s_qos; - this->fill_qos (s_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Observer_Map copy; - this->create_observer_map (copy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Observer_Map_Iterator end = copy.end (); - for (Observer_Map_Iterator i = copy.begin (); - i != end; - ++i) - { - Observer_Entry& entry = (*i).int_id_; - ACE_TRY - { - entry.observer->update_supplier (s_qos ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - // Exception occured while updating observer, so remove it from the - // observer list - this->observer_not_exists (entry ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - // Exception occured while updating observer, so remove it from the - // observer list - this->observer_not_exists (entry ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; - } -} - -void -TAO_EC_Reactive_ObserverStrategy::consumer_qos_update ( - TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - if (supplier->subscriptions ().is_gateway) - return; - - RtecEventChannelAdmin::ConsumerQOS c_qos; - this->fill_qos (c_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Observer_Map copy; - this->create_observer_map (copy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Observer_Map_Iterator end = copy.end (); - for (Observer_Map_Iterator i = copy.begin (); - i != end; - ++i) - { - Observer_Entry& entry = (*i).int_id_; - ACE_TRY - { - entry.observer->update_consumer (c_qos ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - // Exception occured while updating observer, so remove it from the - // observer list - this->observer_not_exists (entry ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - // Exception occured while updating observer, so remove it from the - // observer list - this->observer_not_exists (entry ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; - } -} - -int -TAO_EC_Reactive_ObserverStrategy::create_observer_map (Observer_Map &map - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR()); - ACE_CHECK_RETURN (0); - - Observer_Map_Iterator end = this->observers_.end (); - for (Observer_Map_Iterator i = this->observers_.begin (); - i != end; - ++i) - { - Observer_Entry& entry = (*i).int_id_; - Observer_Entry copy (entry.handle, - RtecEventChannelAdmin::Observer::_duplicate (entry.observer.in ())); - if (map.bind (copy.handle, copy) == -1) - { - map.unbind_all(); - return 0; - } - } - - return map.current_size(); -} - -void -TAO_EC_Reactive_ObserverStrategy::observer_not_exists (Observer_Entry& observer - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - this->remove_observer(observer.handle ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions - } - ACE_ENDTRY; -} - -// **************************************************************** - -void -TAO_EC_Accumulate_Supplier_Headers::work (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL_NOT_USED) -{ - const RtecEventChannelAdmin::ConsumerQOS& sub = - supplier->subscriptions (); - if (sub.is_gateway) - return; - for (CORBA::ULong j = 0; j < sub.dependencies.length (); ++j) - { - const RtecEventComm::Event& event = - sub.dependencies[j].event; - RtecEventComm::EventType type = event.header.type; - - if (0 < type && type < ACE_ES_EVENT_UNDEFINED) - continue; - this->headers_.insert (event.header, 1); - } -} - -// **************************************************************** - -void -TAO_EC_Accumulate_Consumer_Headers::work (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL_NOT_USED) -{ - const RtecEventChannelAdmin::SupplierQOS& pub = - consumer->publications (); - if (pub.is_gateway) - return; - for (CORBA::ULong j = 0; j < pub.publications.length (); ++j) - { - const RtecEventComm::Event& event = - pub.publications[j].event; - RtecEventComm::EventType type = event.header.type; - - if (0 < type && type < ACE_ES_EVENT_UNDEFINED) - continue; - this->headers_.insert (event.header, 1); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h deleted file mode 100644 index 55b8874db7c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h +++ /dev/null @@ -1,362 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_ObserverStrategy.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * @author Johnny Willemsen (jwillemsen@remedy.nl) - * @author Kees van Marle (kvmarle@remedy.nl) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_OBSERVERSTRATEGY_H -#define TAO_EC_OBSERVERSTRATEGY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Null_Mutex.h" -#include "ace/RB_Tree.h" -#include "ace/Map_Manager.h" - -#include "orbsvcs/RtecEventChannelAdminC.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Lock; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushConsumer; -class TAO_EC_ProxyPushSupplier; - -/** - * @class TAO_EC_ObserverStrategy - * - * @brief The strategy to handle observers for the Event Channel subscriptions - * and publication. - * - * The Event Channel supports Observers for the set of subscriptions and - * publications. This is used to implement federations of event channels, - * either through UDP (multicast and unicast) and/or regular CORBA calls. - * This behavior of the EC is strategized to avoid overhead when no gateways - * are needed. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ObserverStrategy -{ -public: - /// Destructor - virtual ~TAO_EC_ObserverStrategy (void); - - /// The basic methods to support the EC strategies. - virtual RtecEventChannelAdmin::Observer_Handle - append_observer (RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) - = 0; - virtual void remove_observer ( - RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) - = 0; - - /// Used by the EC to inform the ObserverStrategy that a Consumer has - /// connected or disconnected from it. - virtual void connected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) = 0; - virtual void disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) = 0; - - /// Used by the EC to inform the ObserverStrategy that a Supplier has - /// connected or disconnected from it. - virtual void connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) = 0; - virtual void disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) = 0; -}; - -// **************************************************************** - -/** - * @class TAO_EC_Null_ObserverStrategy - * - * @brief A null observer strategy. - * - * This class keeps no information and simply ignores the messages - * from the EC. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Null_ObserverStrategy : public TAO_EC_ObserverStrategy -{ -public: - /// Constructor - TAO_EC_Null_ObserverStrategy (void); - - // = The TAO_EC_ObserverStrategy methods. - virtual RtecEventChannelAdmin::Observer_Handle - append_observer (RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)); - virtual void remove_observer ( - RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)); - virtual void connected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); -}; - -// **************************************************************** - -/** - * @class TAO_EC_Basic_ObserverStrategy - * - * @brief A simple observer strategy. - * - * This class simply keeps the information about the current list - * of observers, whenever the list of consumers and/or suppliers - * changes in queries the EC, computes the global subscription - * and/or publication list and sends the update message to all the - * observers. - * - *

Memory Management

- * It assumes ownership of the @a lock, but not of the - * Event_Channel. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Basic_ObserverStrategy : - public TAO_EC_ObserverStrategy -{ -public: - /// Constructor - TAO_EC_Basic_ObserverStrategy (TAO_EC_Event_Channel_Base* ec, - ACE_Lock* lock); - - /// Destructor - virtual ~TAO_EC_Basic_ObserverStrategy (void); - - // = The TAO_EC_ObserverStrategy methods. - virtual RtecEventChannelAdmin::Observer_Handle - append_observer (RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)); - virtual void remove_observer ( - RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)); - virtual void connected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - virtual void disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED); - - /** - * @struct Observer_Entry - * - * @brief The data kept for each observer. - * - * The observer and its handle are kept in a simple structure. - * In the future this structure could contain QoS information, - * such as: - * + how often do we update the observer? - * + When was the last update. - * + Does it want to receive all changes? - */ - struct Observer_Entry - { - Observer_Entry (void); - Observer_Entry (RtecEventChannelAdmin::Observer_Handle h, - RtecEventChannelAdmin::Observer_ptr o); - - /// The handle - RtecEventChannelAdmin::Observer_Handle handle; - - /// The observer - RtecEventChannelAdmin::Observer_var observer; - }; - - struct Header_Compare - { - int operator () (const RtecEventComm::EventHeader& lhs, - const RtecEventComm::EventHeader& rhs) const; - }; - - typedef ACE_Map_Manager Observer_Map; - typedef ACE_Map_Iterator Observer_Map_Iterator; - - - typedef ACE_RB_Tree Headers; - typedef ACE_RB_Tree_Iterator HeadersIterator; - -protected: - /// Helpers. - //@{ - /// Recompute EC consumer subscriptions and send them out to all observers. - virtual void consumer_qos_update (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - - /// Recompute EC supplier publications and send them out to all observers. - virtual void supplier_qos_update (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - - /// Compute consumer QOS. - void fill_qos (RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL); - /// Compute supplier QOS. - void fill_qos (RtecEventChannelAdmin::SupplierQOS &qos - ACE_ENV_ARG_DECL); - - /// Copies all current observers into an array and passes it - /// back to the caller through @a lst. Returns the size of the array. - int create_observer_list (RtecEventChannelAdmin::Observer_var *&lst - ACE_ENV_ARG_DECL); - //@} - -protected: - /// The event channel. - TAO_EC_Event_Channel_Base* event_channel_; - - /// The lock - ACE_Lock* lock_; - - /// The handles are generated in sequential order, but are opaque to - /// the client. - RtecEventChannelAdmin::Observer_Handle handle_generator_; - - /// Keep the set of Observers - Observer_Map observers_; -}; - -// **************************************************************** - -/** - * @class TAO_EC_Reactive_ObserverStrategy - * - * @brief A reactive observer strategy. - * - * This class simply keeps the information about the current list - * of observers, whenever the list of consumers and/or suppliers - * changes in queries the EC, computes the global subscription - * and/or publication list and sends the update message to all the - * observers. When an observer isn't reachable it is removed from - * the observer list. - * - *

Memory Management

- * It assumes ownership of the , but not of the - * Event_Channel. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Reactive_ObserverStrategy : - public TAO_EC_Basic_ObserverStrategy -{ -public: - /// Constructor - TAO_EC_Reactive_ObserverStrategy (TAO_EC_Event_Channel_Base* ec, - ACE_Lock* lock); - - /// Destructor - virtual ~TAO_EC_Reactive_ObserverStrategy (void); - -protected: - /// Helpers. - //@{ - /// Recompute EC consumer subscriptions and send them out to all observers. - virtual void consumer_qos_update (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - - /// Recompute EC supplier publications and send them out to all observers. - virtual void supplier_qos_update (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - - /** - * Copies all current observers into a map and passes it - * back to the caller through @a map. - * @return Returns the size of the map. - */ - int create_observer_map (Observer_Map &map - ACE_ENV_ARG_DECL); - - /// The observer doesn't exist anymore - void observer_not_exists (Observer_Entry& observer - ACE_ENV_ARG_DECL); - //@} -}; - -// **************************************************************** - -class TAO_EC_Accumulate_Supplier_Headers : - public TAO_ESF_Worker -{ -public: - /// Constructor - TAO_EC_Accumulate_Supplier_Headers (TAO_EC_Basic_ObserverStrategy::Headers &headers); - - virtual void work (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Basic_ObserverStrategy::Headers &headers_; -}; - -// **************************************************************** - -class TAO_EC_Accumulate_Consumer_Headers : - public TAO_ESF_Worker -{ -public: - /// Constructor - TAO_EC_Accumulate_Consumer_Headers (TAO_EC_Basic_ObserverStrategy::Headers &headers); - - virtual void work (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Basic_ObserverStrategy::Headers &headers_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_ObserverStrategy.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_OBSERVERSTRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i deleted file mode 100644 index 231db3f9417..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Null_ObserverStrategy::TAO_EC_Null_ObserverStrategy (void) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Basic_ObserverStrategy::Observer_Entry::Observer_Entry (void) - : handle (0) -{ -} - -ACE_INLINE -TAO_EC_Basic_ObserverStrategy::Observer_Entry:: - Observer_Entry (RtecEventChannelAdmin::Observer_Handle h, - RtecEventChannelAdmin::Observer_ptr o) - : handle (h), - observer (o) -{ -} - -// **************************************************************** - -ACE_INLINE int -TAO_EC_Basic_ObserverStrategy::Header_Compare:: - operator () (const RtecEventComm::EventHeader& lhs, - const RtecEventComm::EventHeader& rhs) const -{ - if (lhs.source == rhs.source) - return lhs.type < rhs.type; - return lhs.source < rhs.source; -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Basic_ObserverStrategy:: - TAO_EC_Basic_ObserverStrategy (TAO_EC_Event_Channel_Base* ec, - ACE_Lock* lock) - : event_channel_ (ec), - lock_ (lock), - handle_generator_ (1) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Reactive_ObserverStrategy:: - TAO_EC_Reactive_ObserverStrategy (TAO_EC_Event_Channel_Base* ec, - ACE_Lock* lock) - : TAO_EC_Basic_ObserverStrategy (ec, lock) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Accumulate_Supplier_Headers:: - TAO_EC_Accumulate_Supplier_Headers (TAO_EC_Basic_ObserverStrategy::Headers &h) - : headers_ (h) -{ -} - -// **************************************************************** - -ACE_INLINE -TAO_EC_Accumulate_Consumer_Headers:: - TAO_EC_Accumulate_Consumer_Headers (TAO_EC_Basic_ObserverStrategy::Headers &h) - : headers_ (h) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp deleted file mode 100644 index fe0ed5c6cc8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp +++ /dev/null @@ -1,213 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Per_Supplier_Filter.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" -#include "orbsvcs/Event/EC_QOS_Info.h" - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#include "orbsvcs/Event_Service_Constants.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Per_Supplier_Filter.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Per_Supplier_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Per_Supplier_Filter:: - TAO_EC_Per_Supplier_Filter (TAO_EC_Event_Channel_Base* ec) - : event_channel_ (ec), - consumer_ (0), - refcnt_ (1) -{ - this->event_channel_->create_proxy_collection (this->collection_); -} - -TAO_EC_Per_Supplier_Filter::~TAO_EC_Per_Supplier_Filter (void) -{ - this->event_channel_->destroy_proxy_collection (this->collection_); - this->collection_ = 0; -} - -void -TAO_EC_Per_Supplier_Filter::bind (TAO_EC_ProxyPushConsumer* consumer) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->consumer_ != 0) - return; - - this->consumer_ = consumer; -} - -void -TAO_EC_Per_Supplier_Filter::unbind (TAO_EC_ProxyPushConsumer* consumer) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->consumer_ == 0 || this->consumer_ != consumer) - return; - - this->consumer_ = 0; - - ACE_TRY_NEW_ENV - { - this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Ignore exceptions - } - ACE_ENDTRY; -} - -void -TAO_EC_Per_Supplier_Filter::connected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->consumer_ == 0) - return; - - const RtecEventChannelAdmin::SupplierQOS& pub = - this->consumer_->publications_i (); - - for (CORBA::ULong j = 0; j < pub.publications.length (); ++j) - { - const RtecEventComm::Event& event = - pub.publications[j].event; - -#if TAO_EC_ENABLE_DEBUG_MESSAGES - ACE_DEBUG ((LM_DEBUG, "Connecting consumer <%x> to <%x>, " - "trying event <%d:%d> ", - supplier, this, - event.header.source, event.header.type)); -#endif /* TAO_EC_ENABLED_DEBUG_MESSAGES */ - if (supplier->can_match (event.header)) - { -#if TAO_EC_ENABLE_DEBUG_MESSAGES - ACE_DEBUG ((LM_DEBUG, " matched\n")); -#endif /* TAO_EC_ENABLED_DEBUG_MESSAGES */ - this->collection_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - return; - } -#if TAO_EC_ENABLE_DEBUG_MESSAGES - ACE_DEBUG ((LM_DEBUG, " not matched\n")); -#endif /* TAO_EC_ENABLED_DEBUG_MESSAGES */ - } -} - -void -TAO_EC_Per_Supplier_Filter::reconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_); - - if (this->consumer_ == 0) - return; - - const RtecEventChannelAdmin::SupplierQOS& pub = - this->consumer_->publications_i (); - - for (CORBA::ULong j = 0; j < pub.publications.length (); ++j) - { - const RtecEventComm::Event& event = - pub.publications[j].event; - - // ACE_DEBUG ((LM_DEBUG, "Trying %d:%d in %x\n", - // event.header.source, event.header.type, - // this)); - if (supplier->can_match (event.header)) - { - // ACE_DEBUG ((LM_DEBUG, " matched %x\n", supplier)); - this->collection_->connected (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - return; - } - } - this->collection_->disconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Per_Supplier_Filter::disconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - this->collection_->disconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Per_Supplier_Filter::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - this->collection_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_EC_Per_Supplier_Filter::push (const RtecEventComm::EventSet& event, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - TAO_EC_Scheduling_Strategy* scheduling_strategy = - this->event_channel_->scheduling_strategy (); - scheduling_strategy->schedule_event (event, - consumer, - this - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Per_Supplier_Filter::push_scheduled_event (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info - ACE_ENV_ARG_DECL) -{ - TAO_EC_Filter_Worker worker (event, event_info); - this->collection_->for_each (&worker ACE_ENV_ARG_PARAMETER); -} - -CORBA::ULong -TAO_EC_Per_Supplier_Filter::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0); - - this->refcnt_++; - return this->refcnt_; -} - -CORBA::ULong -TAO_EC_Per_Supplier_Filter::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0); - - this->refcnt_--; - if (this->refcnt_ != 0) - return this->refcnt_; - } - this->event_channel_->supplier_filter_builder ()->destroy (this); - return 0; -} - -// **************************************************************** - -TAO_EC_Supplier_Filter* -TAO_EC_Per_Supplier_Filter_Builder::create ( - RtecEventChannelAdmin::SupplierQOS&) -{ - return new TAO_EC_Per_Supplier_Filter (this->event_channel_); -} - -void -TAO_EC_Per_Supplier_Filter_Builder::destroy ( - TAO_EC_Supplier_Filter* x) -{ - delete x; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h deleted file mode 100644 index 868c15d4e00..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h +++ /dev/null @@ -1,122 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Per_Supplier_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_PER_SUPPLIER_FILTER_H -#define TAO_EC_PER_SUPPLIER_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Supplier_Filter.h" -#include "orbsvcs/Event/EC_Supplier_Filter_Builder.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_ESF_Proxy_Collection; -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Per_Supplier_Filter - * - * @brief Filter the events on each supplier. - * - * This is a filtering strategy for the suppliers. In this - * particular case we keep a collection of the consumers that - * could potentially be interested in any event generated by a - * particular supplier. - * This minimizes the amount of consumers touched by the EC when - * dispatching an event. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Per_Supplier_Filter : public TAO_EC_Supplier_Filter -{ -public: - /// Constructor - TAO_EC_Per_Supplier_Filter (TAO_EC_Event_Channel_Base* ec); - - /// Destructor - virtual ~TAO_EC_Per_Supplier_Filter (void); - - // = The TAO_EC_Supplier_Filter methods. - virtual void bind (TAO_EC_ProxyPushConsumer* consumer); - virtual void unbind (TAO_EC_ProxyPushConsumer* consumer); - virtual void connected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void reconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void disconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL_NOT_USED); - virtual void push_scheduled_event (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info - ACE_ENV_ARG_DECL); - virtual CORBA::ULong _decr_refcnt (void); - virtual CORBA::ULong _incr_refcnt (void); - -private: - /// The event channel, used to locate the set of consumers. - TAO_EC_Event_Channel_Base *event_channel_; - - /// The proxy for the supplier we are bound to. - TAO_EC_ProxyPushConsumer* consumer_; - - /// Keep the collection of proxies for the consumers that may be - /// interested in our events. - TAO_ESF_Proxy_Collection* collection_; - - /// Reference counting - CORBA::ULong refcnt_; - - /// Locking - TAO_SYNCH_MUTEX lock_; -}; - -// **************************************************************** - -/** - * @class TAO_EC_Per_Supplier_Filter_Builder - * - * @brief Create Per_Supplier_Filter objects - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_Per_Supplier_Filter_Builder : public TAO_EC_Supplier_Filter_Builder -{ -public: - /// constructor.... - TAO_EC_Per_Supplier_Filter_Builder (TAO_EC_Event_Channel_Base* ec); - - // = The TAO_EC_Supplier_Filter_Builder methods... - virtual TAO_EC_Supplier_Filter* - create (RtecEventChannelAdmin::SupplierQOS& qos); - virtual void - destroy (TAO_EC_Supplier_Filter *filter); - -private: - /// The event channel - TAO_EC_Event_Channel_Base* event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Per_Supplier_Filter.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_PER_SUPPLIER_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i b/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i deleted file mode 100644 index 4c950811fcc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Per_Supplier_Filter_Builder:: -TAO_EC_Per_Supplier_Filter_Builder (TAO_EC_Event_Channel_Base* ec) - : event_channel_ (ec) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.cpp deleted file mode 100644 index 61b79c68726..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.cpp +++ /dev/null @@ -1,158 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/Event/EC_Prefix_Filter_Builder.h" -#include "orbsvcs/Event/EC_Type_Filter.h" -#include "orbsvcs/Event/EC_Conjunction_Filter.h" -#include "orbsvcs/Event/EC_Disjunction_Filter.h" -#include "orbsvcs/Event/EC_And_Filter.h" -#include "orbsvcs/Event/EC_Negation_Filter.h" -#include "orbsvcs/Event/EC_Bitmask_Filter.h" -#include "orbsvcs/Event/EC_Masked_Type_Filter.h" -#include "orbsvcs/Event/EC_Timeout_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Prefix_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Prefix_Filter_Builder, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Prefix_Filter_Builder::~TAO_EC_Prefix_Filter_Builder (void) -{ -} - -TAO_EC_Filter* -TAO_EC_Prefix_Filter_Builder::build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL_NOT_USED) const -{ - CORBA::ULong pos = 0; - return this->recursive_build (supplier, qos, pos); -} - -TAO_EC_Filter* -TAO_EC_Prefix_Filter_Builder:: recursive_build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos) const -{ - CORBA::ULong l = qos.dependencies.length (); - if (pos == l) - return 0; - - const RtecEventComm::Event& e = qos.dependencies[pos].event; - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = e.header.source; - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - CORBA::ULong i = 0; - for (; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos); - } - return new TAO_EC_Conjunction_Filter (children, n); - } - else if (e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = e.header.source; - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - CORBA::ULong i = 0; - for (; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos); - } - return new TAO_EC_Disjunction_Filter (children, n); - } - - else if (e.header.type == ACE_ES_LOGICAL_AND_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = e.header.source; - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - CORBA::ULong i = 0; - for (; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos); - } - return new TAO_EC_And_Filter (children, n); - } - - else if (e.header.type == ACE_ES_NEGATION_DESIGNATOR) - { - pos++; // Consume the designator - - TAO_EC_Filter *child = - this->recursive_build (supplier, qos, pos); - return new TAO_EC_Negation_Filter (child); - } - else if (e.header.type == ACE_ES_BITMASK_DESIGNATOR) - { - pos++; // COnsumer the designator - - if (pos == qos.dependencies.length ()) - return 0; - CORBA::ULong source_mask = qos.dependencies[pos].event.header.source; - CORBA::ULong type_mask = qos.dependencies[pos].event.header.type; - pos++; - - TAO_EC_Filter *child = - this->recursive_build (supplier, qos, pos); - return new TAO_EC_Bitmask_Filter (source_mask, - type_mask, - child); - } - else if (e.header.type == ACE_ES_MASKED_TYPE_DESIGNATOR) - { - pos++; // Consume the designator - - if (pos == qos.dependencies.length ()) - return 0; - CORBA::ULong source_mask = qos.dependencies[pos].event.header.source; - CORBA::ULong type_mask = qos.dependencies[pos].event.header.type; - pos++; - - if (pos == qos.dependencies.length ()) - return 0; - CORBA::ULong source_value = qos.dependencies[pos].event.header.source; - CORBA::ULong type_value = qos.dependencies[pos].event.header.type; - pos++; - - return new TAO_EC_Masked_Type_Filter (source_mask, - type_mask, - source_value, - type_value); - } - else if (e.header.type == ACE_ES_NULL_DESIGNATOR) - { - pos++; // Consume the designator - - return new TAO_EC_Null_Filter (); - } - else if (e.header.type == ACE_ES_EVENT_TIMEOUT - || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT - || e.header.type == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - pos++; // Consume the designator - TAO_EC_QOS_Info qos_info; - return new TAO_EC_Timeout_Filter (this->event_channel_, - supplier, - qos_info, - e.header.type, - e.header.creation_time); - } - pos++; // Consume the event - return new TAO_EC_Type_Filter (e.header); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h b/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h deleted file mode 100644 index 7938278e895..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Prefix_Filter_Builder.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_PREFIX_FILTER_BUILDER_H -#define TAO_EC_PREFIX_FILTER_BUILDER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter_Builder.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Filter; -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Prefix_Filter_Builder - * - * @brief Implement a builder for the fundamental filters. - * - * The prefix filtering mechanisms in the Event channel - * (source/type based filtering + disjunctions and conjunctions) - * are constructed using this class. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Prefix_Filter_Builder : public TAO_EC_Filter_Builder -{ -public: - /// constructor. - TAO_EC_Prefix_Filter_Builder (TAO_EC_Event_Channel_Base* ec); - - /// destructor... - virtual ~TAO_EC_Prefix_Filter_Builder (void); - - // = The TAO_EC_Filter_Builder methods... - TAO_EC_Filter* build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const; - -private: - /// Recursively build the filter tree. - TAO_EC_Filter* recursive_build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos) const; - -private: - /// The event channel. - TAO_EC_Event_Channel_Base* event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Prefix_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_PREFIX_FILTER_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.i b/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.i deleted file mode 100644 index c4ddf4074b0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Prefix_Filter_Builder:: - TAO_EC_Prefix_Filter_Builder (TAO_EC_Event_Channel_Base *ec) - : event_channel_ (ec) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp deleted file mode 100644 index 1e41905c0ca..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp +++ /dev/null @@ -1,141 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Priority_Dispatching.h" -#include "orbsvcs/Event/EC_Dispatching_Task.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_QOS_Info.h" - -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/RtecSchedulerC.h" - -#include "ace/Sched_Params.h" - -ACE_RCSID(Event, EC_Priority_Dispatching, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Priority_Dispatching::TAO_EC_Priority_Dispatching (TAO_EC_Event_Channel_Base *ec) - : ntasks_ (0), - tasks_ (0) -{ - CORBA::Object_var tmp = ec->scheduler (); - this->scheduler_ = RtecScheduler::Scheduler::_narrow (tmp.in ()); -} - -void -TAO_EC_Priority_Dispatching::activate (void) -{ - if (this->tasks_ != 0) - return; - - // @@ Query the scheduler to obtain this.... - this->ntasks_ = ACE_Scheduler_MAX_PRIORITIES; - ACE_NEW (this->tasks_, TAO_EC_Dispatching_Task*[this->ntasks_]); - - // @@ Query the scheduler to obtain the priorities! - int priority = - (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO) + - ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2; - priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO, priority); - - ACE_DECLARE_NEW_CORBA_ENV; - for (int i = 0; i < this->ntasks_; ++i) - { - ACE_TRY - { - RtecScheduler::Period_t period = - ACE_CU64_TO_CU32 (ACE_Scheduler_Rates[i]); - char buf[128]; - ACE_OS::sprintf (buf, "Dispatching_Task-%d.us", period); - - RtecScheduler::handle_t rt_info = - this->scheduler_->create (buf ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->scheduler_->set (rt_info, - RtecScheduler::VERY_LOW_CRITICALITY, - 0, // worst_cast_execution_time - 0, // typical_cast_execution_time - 0, // cached_cast_execution_time - period, - RtecScheduler::VERY_LOW_IMPORTANCE, - 0, // quantum - 1, // threads - RtecScheduler::OPERATION - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions.. - } - ACE_ENDTRY; - - ACE_NEW (this->tasks_[i], - TAO_EC_Dispatching_Task (&this->thread_manager_)); - - // @@ Query the scheduler to obtain the priority... - long flags = THR_BOUND | THR_SCHED_FIFO; - if (this->tasks_[i]->activate (flags, 1, 1, priority) == -1) - { - flags = THR_BOUND; - priority = ACE_Sched_Params::priority_min (ACE_SCHED_OTHER, - ACE_SCOPE_THREAD); - if (this->tasks_[i]->activate (flags, 1, 1, priority) == -1) - ACE_ERROR ((LM_ERROR, - "EC (%P|%t) cannot activate queue %d", i)); - } - } -} - -void -TAO_EC_Priority_Dispatching::shutdown (void) -{ - if (this->tasks_ == 0) - return; - - for (int i = 0; i < this->ntasks_; ++i) - this->tasks_[i]->putq (new TAO_EC_Shutdown_Task_Command); - - this->thread_manager_.wait (); - - for (int j = 0; j < this->ntasks_; ++j) - delete this->tasks_[j]; - - delete[] this->tasks_; - this->tasks_ = 0; -} - -void -TAO_EC_Priority_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - RtecEventComm::EventSet event_copy = event; - this->push_nocopy (proxy, consumer, event_copy, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Priority_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->tasks_ == 0) - this->activate (); - - int i = qos_info.preemption_priority; - if (i < 0 || i >= this->ntasks_) - { - // @@ Throw something? - i = 0; - } - - - this->tasks_[i]->push (proxy, consumer, event ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h deleted file mode 100644 index ebbb6cd6085..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h +++ /dev/null @@ -1,90 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Priority_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_PRIORITY_DISPATCHING_H -#define TAO_EC_PRIORITY_DISPATCHING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Dispatching.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/sched_event_export.h" - -#include "ace/Thread_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Dispatching_Task; -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Priority_Dispatching - * - * @brief Dispatching strategy that minimizes priority inversion. - * - * This strategy uses multiple queues, each serviced by a thread - * at different priority. This minimizes priority inversion - * because the consumers at higher priority are serviced before - * consumers at lower priority. - * It is more flexible than using the supplier thread to dispatch - * because it allows high-priority suppliers to push events to - * low-priority consumers (and vice-versa). - * It also isolates the supplier threads from the time spent on - * upcalls to the consumer objects, making the system easier to - * analyze and schedule. - */ -class TAO_RTSchedEvent_Export TAO_EC_Priority_Dispatching : public TAO_EC_Dispatching -{ -public: - /// The scheduler is used to find the range of priorities and similar - /// info. - TAO_EC_Priority_Dispatching (TAO_EC_Event_Channel_Base* ec); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// Use our own thread manager. - ACE_Thread_Manager thread_manager_; - - /// The number of active tasks - int ntasks_; - - /// The tasks.. - TAO_EC_Dispatching_Task** tasks_; - - /// The scheduler - RtecScheduler::Scheduler_var scheduler_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_PRIORITY_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp deleted file mode 100644 index 0bf92510d54..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Priority_Scheduling.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Supplier_Filter.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Priority_Scheduling.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Priority_Scheduling, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Priority_Scheduling::~TAO_EC_Priority_Scheduling (void) -{ -} - -void -TAO_EC_Priority_Scheduling::add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - ACE_DEBUG ((LM_DEBUG, "add_proxy_supplier_dependencies - %x %x\n", - supplier, consumer)); - const RtecEventChannelAdmin::SupplierQOS& qos = - consumer->publications (); - for (CORBA::ULong i = 0; i < qos.publications.length (); ++i) - { - const RtecEventComm::EventHeader &header = - qos.publications[i].event.header; - TAO_EC_QOS_Info qos_info; - qos_info.rt_info = qos.publications[i].dependency_info.rt_info; - - RtecScheduler::OS_Priority os_priority; - RtecScheduler::Preemption_Subpriority_t p_subpriority; - RtecScheduler::Preemption_Priority_t p_priority; - this->scheduler_->priority (qos_info.rt_info, - os_priority, - p_subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - qos_info.preemption_priority = p_priority; - - supplier->add_dependencies (header, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_EC_Priority_Scheduling::schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL) -{ - RtecEventChannelAdmin::SupplierQOS qos = - consumer->publications (); - - for (CORBA::ULong j = 0; j != event.length (); ++j) - { - const RtecEventComm::Event& e = event[j]; - RtecEventComm::Event* buffer = - const_cast (&e); - RtecEventComm::EventSet single_event (1, 1, buffer, 0); - - TAO_EC_QOS_Info qos_info; - - for (CORBA::ULong i = 0; i != qos.publications.length (); ++i) - { - const RtecEventComm::EventHeader &qos_header = - qos.publications[i].event.header; - - if (TAO_EC_Filter::matches (e.header, qos_header) == 0) - continue; - - qos_info.rt_info = qos.publications[i].dependency_info.rt_info; - - RtecScheduler::OS_Priority os_priority; - RtecScheduler::Preemption_Subpriority_t p_subpriority; - RtecScheduler::Preemption_Priority_t p_priority; - this->scheduler_->priority (qos_info.rt_info, - os_priority, - p_subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - qos_info.preemption_priority = p_priority; - } - - filter->push_scheduled_event (single_event, qos_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h deleted file mode 100644 index ef5be319f06..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Priority_Scheduling.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_PRIORITY_SCHEDULING_H -#define TAO_EC_PRIORITY_SCHEDULING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/sched_event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Priority_Scheduling - * - * @brief A scheduling strategy that uses TAO's real-time scheduler - * - * This implementation of the Scheduling_Strategy uses TAO's - * real-time scheduler. - */ -class TAO_RTSchedEvent_Export TAO_EC_Priority_Scheduling : public TAO_EC_Scheduling_Strategy -{ -public: - /// Constructor. - TAO_EC_Priority_Scheduling (RtecScheduler::Scheduler_ptr scheduler); - - /// Destructor - virtual ~TAO_EC_Priority_Scheduling (void); - - virtual void add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - virtual void schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Priority_Scheduling (const TAO_EC_Priority_Scheduling&); - TAO_EC_Priority_Scheduling& operator= (const TAO_EC_Priority_Scheduling&); - - /// Initialize our RT_Info handle and dependencies - void init_rt_info (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The scheduler we are going to use - RtecScheduler::Scheduler_var scheduler_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Priority_Scheduling.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_PRIORITY_SCHEDULING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i deleted file mode 100644 index 2de353d965e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Priority_Scheduling::TAO_EC_Priority_Scheduling ( - RtecScheduler::Scheduler_ptr scheduler) - : scheduler_ (RtecScheduler::Scheduler::_duplicate (scheduler)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp deleted file mode 100644 index f16960141c1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp +++ /dev/null @@ -1,310 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_Supplier_Filter.h" -#include "orbsvcs/Event/EC_Supplier_Filter_Builder.h" - -#include "ace/Reverse_Lock_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_ProxyConsumer.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_ProxyConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_EC_Unlock; - -TAO_EC_ProxyPushConsumer:: - TAO_EC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* ec) - : event_channel_ (ec), - refcount_ (1), - connected_ (0), - filter_ (0) -{ - this->lock_ = - this->event_channel_->create_consumer_lock (); - - this->default_POA_ = - this->event_channel_->consumer_poa (); - - this->qos_.is_gateway = 0; -} - -TAO_EC_ProxyPushConsumer::~TAO_EC_ProxyPushConsumer (void) -{ - this->event_channel_->destroy_consumer_lock (this->lock_); - this->cleanup_i (); -} - - -CORBA::Boolean -TAO_EC_ProxyPushConsumer::supplier_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var supplier; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_connected_i () == 0) - { - disconnected = 1; - return 0; - } - if (CORBA::is_nil (this->supplier_.in ())) - { - return 0; - } - supplier = CORBA::Object::_duplicate (this->supplier_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return supplier->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_EC_ProxyPushConsumer::connected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - TAO_EC_ProxyPushConsumer_Guard ace_mon (this->lock_, - this->refcount_, - this->event_channel_, - this); - if (!ace_mon.locked ()) - return; - - ace_mon.filter->connected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_ProxyPushConsumer::reconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - TAO_EC_ProxyPushConsumer_Guard ace_mon (this->lock_, - this->refcount_, - this->event_channel_, - this); - if (!ace_mon.locked ()) - return; - - ace_mon.filter->reconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_ProxyPushConsumer::disconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL) -{ - TAO_EC_ProxyPushConsumer_Guard ace_mon (this->lock_, - this->refcount_, - this->event_channel_, - this); - if (!ace_mon.locked ()) - return; - - ace_mon.filter->disconnected (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_ProxyPushConsumer::connected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushConsumer::reconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushConsumer::disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushConsumer::shutdown_hook (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushConsumer::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - RtecEventComm::PushSupplier_var supplier; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - supplier = this->supplier_._retn (); - this->connected_ = 0; - - this->shutdown_hook (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (this->filter_ != 0) - { - this->filter_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->cleanup_i (); - } - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (supplier.in ())) - return; - - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // failures on this one. - } - ACE_ENDTRY; -} - -void -TAO_EC_ProxyPushConsumer::cleanup_i (void) -{ - this->supplier_ = - RtecEventComm::PushSupplier::_nil (); - this->connected_ = 0; - - if (this->filter_ != 0) - { - this->filter_->unbind (this); - this->filter_->_decr_refcnt (); - this->filter_ = 0; - } -} - -void -TAO_EC_ProxyPushConsumer::deactivate (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - PortableServer::ObjectId id = - this->object_id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - this->default_POA_->deactivate_object (id ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -CORBA::ULong -TAO_EC_ProxyPushConsumer::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -void -TAO_EC_ProxyPushConsumer::refcount_zero_hook (void) -{ - // Use the event channel - this->event_channel_->destroy_proxy (this); -} - -CORBA::ULong -TAO_EC_ProxyPushConsumer::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - this->refcount_--; - if (this->refcount_ != 0) - return this->refcount_; - } - - this->refcount_zero_hook (); - return 0; -} - - -// **************************************************************** - -TAO_EC_ProxyPushConsumer_Guard:: - TAO_EC_ProxyPushConsumer_Guard (ACE_Lock *lock, - CORBA::ULong &refcount, - TAO_EC_Event_Channel_Base *ec, - TAO_EC_ProxyPushConsumer *proxy) - : lock_ (lock), - refcount_ (refcount), - event_channel_ (ec), - proxy_ (proxy), - locked_ (0) -{ - ACE_Guard ace_mon (*this->lock_); - // If the guard fails there is not much we can do, raising an - // exception is wrong, the client has *no* way to handle that kind - // of error. Even worse, there is no exception to raise in that - // case. - // @@ Returning something won't work either, the error should be - // logged though! - - if (proxy->is_connected_i () == 0) - return; - - this->filter = this->proxy_->filter_i (); - this->filter->_incr_refcnt (); - - this->locked_ = 1; - this->refcount_++; -} - -TAO_EC_ProxyPushConsumer_Guard:: - ~TAO_EC_ProxyPushConsumer_Guard (void) -{ - // This access is safe because guard objects are created on the - // stack, only one thread has access to them - if (!this->locked_) - return; - - { - ACE_Guard ace_mon (*this->lock_); - // If the guard fails there is not much we can do, raising an - // exception is wrong, the client has *no* way to handle that kind - // of error. Even worse, there is no exception to raise in that - // case. - // @@ Returning something won't work either, the error should be - // logged though! - - this->filter->_decr_refcnt (); - - this->refcount_--; - if (this->refcount_ != 0) - return; - } - - this->proxy_->refcount_zero_hook (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h deleted file mode 100644 index e70e0ee6ca2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h +++ /dev/null @@ -1,238 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_ProxyConsumer.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_PROXYCONSUMER_H -#define TAO_EC_PROXYCONSUMER_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushSupplier; -class TAO_EC_Supplier_Filter; - -/** - * @class TAO_EC_ProxyPushConsumer - * - * @brief ProxyPushConsumer - * - * Implement the RtecEventChannelAdmin::ProxyPushConsumer interface, - * remember that this class is used to communicate with a - * PushSupplier, so, in effect, this is the ambassador for a - * supplier inside the event channel. - * - *

Memory Management

- * It makes a copy of the SupplierQOS and the supplier object - * reference. - * It uses bind/unbind to control the lifetime of the - * Supplier_Filter object. - * The object commits suicide when disconnect_push_consumer() is - * called. - * - *

Locking

- * No provisions for locking, access must be serialized - * externally. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ProxyPushConsumer -{ -public: - typedef RtecEventChannelAdmin::ProxyPushConsumer Interface; - typedef RtecEventChannelAdmin::ProxyPushConsumer_var _var_type; - typedef RtecEventChannelAdmin::ProxyPushConsumer_ptr _ptr_type; - - /// constructor... - TAO_EC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel); - - /// destructor... - virtual ~TAO_EC_ProxyPushConsumer (void); - - /// Activate in the POA - virtual void activate ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL); - - /// Disconnect this from - virtual void disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Return 0 if no supplier is connected... - CORBA::Boolean is_connected (void) const; - - /// Return the consumer object reference. It returns nil() if it has - /// not connected yet. - RtecEventComm::PushSupplier_ptr supplier (void) const; - - /// The QoS (subscription) used to connect to the EC. - const RtecEventChannelAdmin::SupplierQOS& publications (void) const; - - /** - * Invoke the _non_existent() pseudo-operation on the supplier. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean supplier_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /// Concrete implementations can use this methods to keep track of - /// the consumers interested in this events. - virtual void connected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void reconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void disconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - - /// Usually implemented as no-ops, but some configurations may - /// require this methods. - virtual void connected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL); - virtual void reconnected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL); - virtual void disconnected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL); - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - /// The QoS (subscription) used to connect to the EC, assumes the - /// locks are held, use with care! - const RtecEventChannelAdmin::SupplierQOS& publications_i (void) const; - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - -protected: - /// Set the supplier, used by some implementations to change the - /// policies used when invoking operations on the supplier. - void supplier (RtecEventComm::PushSupplier_ptr supplier); - void supplier_i (RtecEventComm::PushSupplier_ptr supplier); - - friend class TAO_EC_ProxyPushConsumer_Guard; - // The guard needs access to the following protected methods. - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Return the current filter, assumes the locks are held. - TAO_EC_Supplier_Filter *filter_i (void) const; - - /// Release the filter and the supplier - void cleanup_i (void); - - /// The supplier admin, used for activation and memory managment. - TAO_EC_Event_Channel_Base* event_channel_; - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The supplier.... - RtecEventComm::PushSupplier_var supplier_; - - /// If the flag is not zero then we are connected, notice that the - /// supplier can be nil. - int connected_; - - /// The publication and QoS information... - RtecEventChannelAdmin::SupplierQOS qos_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; - - /// The strategy to do filtering close to the supplier - TAO_EC_Supplier_Filter* filter_; - -private: - /// Template method hooks. - virtual void shutdown_hook (ACE_ENV_SINGLE_ARG_DECL); - virtual void refcount_zero_hook (void); - - virtual PortableServer::ObjectId - object_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; -}; - -// **************************************************************** - -/** - * @class TAO_EC_ProxyPushConsumer_Guard - * - * @brief A Guard for the ProxyPushConsumer reference count - * - * This is a helper class used in the implementation of - * ProxyPushConumer. It provides a Guard mechanism to increment - * the reference count on the proxy and its filter, eliminating - * the need to hold mutexes during long operations. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ProxyPushConsumer_Guard -{ -public: - /// Constructor - TAO_EC_ProxyPushConsumer_Guard (ACE_Lock *lock, - CORBA::ULong &refcount, - TAO_EC_Event_Channel_Base *ec, - TAO_EC_ProxyPushConsumer *proxy); - - /// Destructor - ~TAO_EC_ProxyPushConsumer_Guard (void); - - /// Returns 1 if the reference count successfully acquired - int locked (void) const; - - TAO_EC_Supplier_Filter *filter; - -private: - /// The lock used to protect the reference count - ACE_Lock *lock_; - - /// The reference count - CORBA::ULong &refcount_; - - /// The event channel used to destroy the proxy - TAO_EC_Event_Channel_Base *event_channel_; - - /// The proxy whose lifetime is controlled by the reference count - TAO_EC_ProxyPushConsumer *proxy_; - - /// This flag is set to 1 if the reference count was successfully - /// acquired. - int locked_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_ProxyConsumer.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_PROXYCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i b/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i deleted file mode 100644 index 44ef91ef2e7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_EC_ProxyPushConsumer::is_connected_i (void) const -{ - return this->connected_; -} - -ACE_INLINE CORBA::Boolean -TAO_EC_ProxyPushConsumer::is_connected (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->is_connected_i (); -} - -ACE_INLINE RtecEventComm::PushSupplier_ptr -TAO_EC_ProxyPushConsumer::supplier (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return RtecEventComm::PushSupplier::_duplicate (this->supplier_.in ()); -} - -ACE_INLINE void -TAO_EC_ProxyPushConsumer::supplier_i (RtecEventComm::PushSupplier_ptr supplier) -{ - this->supplier_ = supplier; -} - -ACE_INLINE void -TAO_EC_ProxyPushConsumer::supplier (RtecEventComm::PushSupplier_ptr supplier) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->supplier_i (supplier); -} - -ACE_INLINE const RtecEventChannelAdmin::SupplierQOS& -TAO_EC_ProxyPushConsumer::publications (void) const -{ - // @@ TODO There should some way to signal errors here. - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, this->qos_); - - return this->qos_; -} - -ACE_INLINE const RtecEventChannelAdmin::SupplierQOS& -TAO_EC_ProxyPushConsumer::publications_i (void) const -{ - return this->qos_; -} - -ACE_INLINE TAO_EC_Supplier_Filter * -TAO_EC_ProxyPushConsumer::filter_i (void) const -{ - return this->filter_; -} - -// **************************************************************** - -ACE_INLINE int -TAO_EC_ProxyPushConsumer_Guard::locked (void) const -{ - return this->locked_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp deleted file mode 100644 index 37204dcf67b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp +++ /dev/null @@ -1,535 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_Filter_Builder.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" -#include "orbsvcs/Event/EC_ConsumerControl.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/ESF/ESF_RefCount_Guard.h" -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h" - -#include "ace/Reverse_Lock_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_ProxySupplier.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_ProxySupplier, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Reverse_Lock TAO_EC_Unlock; - -TAO_EC_ProxyPushSupplier::TAO_EC_ProxyPushSupplier (TAO_EC_Event_Channel_Base* ec, int validate_connection) - : event_channel_ (ec), - refcount_ (1), - suspended_ (0), - child_ (0), - consumer_validate_connection_(validate_connection) -{ - this->lock_ = - this->event_channel_->create_supplier_lock (); - - this->default_POA_ = - this->event_channel_->supplier_poa (); -} - -TAO_EC_ProxyPushSupplier::~TAO_EC_ProxyPushSupplier (void) -{ - this->event_channel_->destroy_supplier_lock (this->lock_); - this->cleanup_i (); -} - -void -TAO_EC_ProxyPushSupplier::connected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - TAO_EC_Scheduling_Strategy *s = - this->event_channel_->scheduling_strategy (); - - s->add_proxy_supplier_dependencies (this, - consumer - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_ProxyPushSupplier::reconnected (TAO_EC_ProxyPushConsumer* consumer - ACE_ENV_ARG_DECL) -{ - TAO_EC_Scheduling_Strategy *s = - this->event_channel_->scheduling_strategy (); - - s->add_proxy_supplier_dependencies (this, - consumer - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_ProxyPushSupplier::disconnected (TAO_EC_ProxyPushConsumer* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushSupplier::connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushSupplier::reconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushSupplier::disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushSupplier::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - // Save the consumer we where connected to, we need to send a - // disconnect message to it. - RtecEventComm::PushConsumer_var consumer; - - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - int connected = this->is_connected_i (); - - consumer = this->consumer_._retn (); - - if (connected) - this->cleanup_i (); - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (consumer.in ())) - return; - - ACE_TRY - { - consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore exceptions, we must isolate other clients from - // problems on this one. - } - ACE_ENDTRY; -} - -void -TAO_EC_ProxyPushSupplier::cleanup_i (void) -{ - this->consumer_ = - RtecEventComm::PushConsumer::_nil (); - - // @@ Why don't we have a destroy() method in the - // filter_builder? - delete this->child_; - this->child_ = 0; -} - -void -TAO_EC_ProxyPushSupplier::deactivate (ACE_ENV_SINGLE_ARG_DECL) ACE_THROW_SPEC (()) -{ - ACE_TRY - { - PortableServer::ObjectId id = - this->object_id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - this->default_POA_->deactivate_object (id ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions here should not be propagated. They usually - // indicate that an object is beign disconnected twice, or some - // race condition, but not a fault that the user needs to know - // about. - } - ACE_ENDTRY; -} - -CORBA::ULong -TAO_EC_ProxyPushSupplier::_incr_refcnt (void) -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return this->refcount_++; -} - -void -TAO_EC_ProxyPushSupplier::refcount_zero_hook (void) -{ - // Use the event channel - this->event_channel_->destroy_proxy (this); -} - -CORBA::ULong -TAO_EC_ProxyPushSupplier::_decr_refcnt (void) -{ - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - this->refcount_--; - if (this->refcount_ != 0) - return this->refcount_; - } - - this->refcount_zero_hook (); - return 0; -} - -typedef TAO_ESF_Proxy_RefCount_Guard Destroy_Guard; - -int -TAO_EC_ProxyPushSupplier::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - Destroy_Guard auto_destroy (this->refcount_, - this->event_channel_, - this); - - int result = 0; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK_RETURN (0); - - if (this->is_connected_i () == 0) - return 0; - - result = - this->child_->filter (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return result; -} - -int -TAO_EC_ProxyPushSupplier::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - Destroy_Guard auto_destroy (this->refcount_, - this->event_channel_, - this); - - int result = 0; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK_RETURN (0); - - if (this->is_connected_i () == 0) - return 0; - - result = - this->child_->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return result; -} - -void -TAO_EC_ProxyPushSupplier::push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - // The mutex is already held by the caller (usually the filter() - // method) - if (this->is_connected_i () == 0) - return; // TAO_THROW (RtecEventComm::Disconnected ());???? - - if (this->suspended_ != 0) - return; - - TAO_ESF_RefCount_Guard ace_mon (this->refcount_); - // The guard will decrement the reference count, notice that the - // reference count can become 0, but this is not the right spot to - // check for that and destroy the object. - // If we did so then we would destroy the object, and consequently - // the mutex, but the mutex is used later when the stack unwinds and - // the filter() method tries to destroy the mutex (that originally - // acquired the mutex in the first place). - // So the correct thing to do is to just decrement the reference - // count and let the filter() method do the destruction. - - RtecEventComm::PushConsumer_var consumer = - RtecEventComm::PushConsumer::_duplicate (this->consumer_.in ()); - - this->pre_dispatch_hook (const_cast (event) - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - { - // We have to release the lock to avoid dead-locks. - TAO_EC_Unlock reverse_lock (*this->lock_); - - ACE_GUARD_THROW_EX (TAO_EC_Unlock, ace_mon, reverse_lock, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->dispatching ()->push (this, - consumer.in (), - event, - qos_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (this->child_ != 0) - this->child_->clear (); -} - -void -TAO_EC_ProxyPushSupplier::pre_dispatch_hook (RtecEventComm::EventSet& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_ProxyPushSupplier::push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - // The mutex is already held by the caller (usually the filter() - // method) - if (this->is_connected_i () == 0) - return; // TAO_THROW (RtecEventComm::Disconnected ());???? - - if (this->suspended_ != 0) - return; - - TAO_ESF_RefCount_Guard ace_mon (this->refcount_); - // The guard will decrement the reference count, notice that the - // reference count can become 0, but this is not the right spot to - // check for that and destroy the object. - // If we did so then we would destroy the object, and consequently - // the mutex, but the mutex is used later when the stack unwinds and - // the filter() method tries to destroy the mutex (that originally - // acquired the mutex in the first place). - // So the correct thing to do is to just decrement the reference - // count and let the filter() method do the destruction. - - RtecEventComm::PushConsumer_var consumer = - RtecEventComm::PushConsumer::_duplicate (this->consumer_.in ()); - - this->pre_dispatch_hook (event ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - { - TAO_EC_Unlock reverse_lock (*this->lock_); - - ACE_GUARD_THROW_EX (TAO_EC_Unlock, ace_mon, reverse_lock, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->event_channel_->dispatching ()->push_nocopy (this, - consumer.in (), - event, - qos_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (this->child_ != 0) - this->child_->clear (); -} - -void -TAO_EC_ProxyPushSupplier::push_to_consumer ( - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) -{ - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - if (this->is_connected_i () == 0) - return; // ACE_THROW (RtecEventComm::Disconnected ());???? - - if (this->suspended_ != 0) - return; - } - - ACE_TRY - { - consumer->push (event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - // Do not report errors for old consumers - // NOTE: The comparison below is not completely correct, it - // could be that the remote consumer and the local consumer are - // in fact the same object, but represented by different objects - // references. Unfortunately this is not a good spot to invoke - // _is_equivalent(), and that may not give us the desired answer - // anyway. - if (consumer == this->consumer_.in ()) - { - TAO_EC_ConsumerControl *control = - this->event_channel_->consumer_control (); - - control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::SystemException, sysex) - { - // Do not report errors for old consumers - // NOTE: The comparison below is not completely correct, it - // could be that the remote consumer and the local consumer are - // in fact the same object, but represented by different objects - // references. Unfortunately this is not a good spot to invoke - // _is_equivalent(), and that may not give us the desired answer - // anyway. - if (consumer == this->consumer_.in ()) - { - TAO_EC_ConsumerControl *control = - this->event_channel_->consumer_control (); - - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Shouldn't happen, but does not hurt - } - ACE_ENDTRY; -} - -void -TAO_EC_ProxyPushSupplier::reactive_push_to_consumer ( - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - consumer->push (event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used) - { - TAO_EC_ConsumerControl *control = - this->event_channel_->consumer_control (); - - control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - TAO_EC_ConsumerControl *control = - this->event_channel_->consumer_control (); - - control->system_exception (this, - sysex - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - ACE_CATCHANY - { - // Shouldn't happen - } - ACE_ENDTRY; -} - -CORBA::Boolean -TAO_EC_ProxyPushSupplier::consumer_non_existent ( - CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var consumer; - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - disconnected = 0; - if (this->is_connected_i () == 0) - { - disconnected = 1; - return 0; - } - - consumer = CORBA::Object::_duplicate (this->consumer_.in ()); - } - -#if (TAO_HAS_MINIMUM_CORBA == 0) - return consumer->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER); -#else - return 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ -} - -void -TAO_EC_ProxyPushSupplier::clear (void) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->child_->clear (); -} - -CORBA::ULong -TAO_EC_ProxyPushSupplier::max_event_size (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->child_->max_event_size (); -} - -int -TAO_EC_ProxyPushSupplier::can_match ( - const RtecEventComm::EventHeader &header) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - if (this->is_connected_i () == 0) - return 0; - - return this->child_->can_match (header); -} - -int -TAO_EC_ProxyPushSupplier::add_dependencies ( - const RtecEventComm::EventHeader &header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK_RETURN (0); - - return this->child_->add_dependencies (header, - qos_info - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h deleted file mode 100644 index bb14e56895b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.h +++ /dev/null @@ -1,231 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_ProxySupplier.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_PROXYSUPPLIER_H -#define TAO_EC_PROXYSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventChannelAdminS.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushConsumer; - -/** - * @class TAO_EC_ProxyPushSupplier - * - * @brief ProxyPushSupplier - * - * Implement the RtecEventChannelAdmin::ProxyPushSupplier interface, - * remember that this class is used to communicate with a - * PushConsumer, so, in effect, this is the ambassador for a - * consumer inside the event channel. - * - *

Memory Management

- * It does not assume ownership of the TAO_EC_Dispatching object. - * It makes a copy of the ConsumerQOS and the consumer object - * reference. - * - *

Locking

- * Locking is strategized, the event channel acts as a factory for - * the locking strategies. - * - * @todo We don't need to provide a trivial filter, the object itself - * could short-circuit the filter() ---> push() cycle when the EC - * is properly configured, we need to explore this... - */ -class TAO_RTEvent_Serv_Export TAO_EC_ProxyPushSupplier : public TAO_EC_Filter -{ -public: - typedef RtecEventChannelAdmin::ProxyPushSupplier Interface; - typedef RtecEventChannelAdmin::ProxyPushSupplier_var _var_type; - typedef RtecEventChannelAdmin::ProxyPushSupplier_ptr _ptr_type; - - /// Constructor... - TAO_EC_ProxyPushSupplier (TAO_EC_Event_Channel_Base* event_channel, int validate_connection); - - /// Destructor... - virtual ~TAO_EC_ProxyPushSupplier (void); - - /// Activate in the POA - virtual void activate ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - - /// Deactivate from the POA - virtual void deactivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (()); - - /// Disconnect this from - virtual void disconnect_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Return 0 if no consumer is connected... - CORBA::Boolean is_connected (void) const; - - /// Return 1 if it is suspended. - CORBA::Boolean is_suspended (void) const; - - /** - * Return the consumer object reference. It returns nil() if it has - * not connected yet. - */ - RtecEventComm::PushConsumer_ptr consumer (void) const; - - /// The QoS (subscription) used to connect to the EC. - const RtecEventChannelAdmin::ConsumerQOS& subscriptions (void) const; - - /// Concrete implementations can use this methods to keep track of - /// the suppliers that publish its events. - virtual void connected (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - virtual void reconnected (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - virtual void disconnected (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - - /// Usually implemented as no-ops, but some configurations may - /// require this methods. - virtual void connected (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - virtual void reconnected (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - virtual void disconnected (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - - /// The event channel is shutting down - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Pushes to the consumer, verifies that it is connected and that it - /// is not suspended. - /** - * These methods take @a consumer argument because during the time - * the filters have been processing the event, this proxy's consumer - * may have changed. - */ - void push_to_consumer (RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet &event - ACE_ENV_ARG_DECL); - void reactive_push_to_consumer (RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet &event - ACE_ENV_ARG_DECL); - - /** - * Invoke the _non_existent() pseudo-operation on the consumer. If - * it is disconnected then it returns true and sets the - * flag. - */ - CORBA::Boolean consumer_non_existent (CORBA::Boolean_out disconnected - ACE_ENV_ARG_DECL); - - /// Increment and decrement the reference count. - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - // = The TAO_EC_Filter methods, only push() is implemented... - virtual int filter (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader &header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader &header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -protected: - /// Set the consumer, used by some implementations to change the - /// policies used when invoking operations on the consumer. - void consumer (RtecEventComm::PushConsumer_ptr consumer); - void consumer_i (RtecEventComm::PushConsumer_ptr consumer); - - void suspend_connection_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - void resume_connection_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - void suspend_connection_locked (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - void resume_connection_locked (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// The private version (without locking) of is_connected(). - CORBA::Boolean is_connected_i (void) const; - - /// Release the child and the consumer - void cleanup_i (void); - - /// The Event Channel that owns this object. - TAO_EC_Event_Channel_Base* event_channel_; - - /// The locking strategy. - ACE_Lock* lock_; - - /// The reference count. - CORBA::ULong refcount_; - - /// The consumer.... - RtecEventComm::PushConsumer_var consumer_; - - /// Is this consumer suspended? - CORBA::Boolean suspended_; - - /// The subscription and QoS information... - RtecEventChannelAdmin::ConsumerQOS qos_; - - /// Store the default POA. - PortableServer::POA_var default_POA_; - - /// The filter object - TAO_EC_Filter* child_; - - /// Validate the connection to consumer on connect - int consumer_validate_connection_; -private: - - /// Template method hooks. - virtual void refcount_zero_hook (void); - virtual void pre_dispatch_hook (RtecEventComm::EventSet& - ACE_ENV_ARG_DECL); - virtual PortableServer::ObjectId - object_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_ProxySupplier.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_PROXYSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.i b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.i deleted file mode 100644 index c64085ea2e1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.i +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO_EC_ProxyPushSupplier::suspend_connection_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->suspended_ = 1; -} - -ACE_INLINE void -TAO_EC_ProxyPushSupplier::suspend_connection_locked (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->suspend_connection_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -ACE_INLINE void -TAO_EC_ProxyPushSupplier::resume_connection_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->suspended_ = 0; -} - -ACE_INLINE void -TAO_EC_ProxyPushSupplier::resume_connection_locked (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - CORBA::INTERNAL ()); - // @@ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ()); - ACE_CHECK; - - this->resume_connection_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -ACE_INLINE CORBA::Boolean -TAO_EC_ProxyPushSupplier::is_connected_i (void) const -{ - return !CORBA::is_nil (this->consumer_.in ()); -} - -ACE_INLINE CORBA::Boolean -TAO_EC_ProxyPushSupplier::is_connected (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->is_connected_i (); -} - -ACE_INLINE CORBA::Boolean -TAO_EC_ProxyPushSupplier::is_suspended (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - - return this->suspended_; -} - -ACE_INLINE RtecEventComm::PushConsumer_ptr -TAO_EC_ProxyPushSupplier::consumer (void) const -{ - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0); - return RtecEventComm::PushConsumer::_duplicate (this->consumer_.in ()); -} - -ACE_INLINE void -TAO_EC_ProxyPushSupplier::consumer_i (RtecEventComm::PushConsumer_ptr consumer) -{ - this->consumer_ = consumer; -} - -ACE_INLINE void -TAO_EC_ProxyPushSupplier::consumer (RtecEventComm::PushConsumer_ptr consumer) -{ - ACE_GUARD (ACE_Lock, ace_mon, *this->lock_); - - this->consumer_i (consumer); -} - -ACE_INLINE const RtecEventChannelAdmin::ConsumerQOS& -TAO_EC_ProxyPushSupplier::subscriptions (void) const -{ - // @@ TODO There should be a better way to signal errors here. - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, this->qos_); - - return this->qos_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.cpp deleted file mode 100644 index 557a2b4f708..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/** - * @file EC_Proxy_Disconnector.cpp - * - * $Id$ - * - * @author Carlos O'Ryan - */ - -#include "orbsvcs/Event/EC_Proxy_Disconnector.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_EC_Supplier_Proxy_Disconnect_Functor::operator() ( - RtecEventComm::PushSupplier_ptr supplier) - ACE_THROW_SPEC (()) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - supplier->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - } - ACE_ENDTRY; -} - -void -TAO_EC_Consumer_Proxy_Disconnect_Functor::operator() ( - RtecEventComm::PushConsumer_ptr consumer) - ACE_THROW_SPEC (()) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - consumer->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h b/TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h deleted file mode 100644 index 8aeda423586..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Proxy_Disconnector.h - * - * @author Carlos O'Ryan - * - * $Id$ - */ -#ifndef EC_PROXY_DISCONNECTOR__H_ -#define EC_PROXY_DISCONNECTOR__H_ - -#include /**/ "orbsvcs/Event/event_serv_export.h" -#include "orbsvcs/RtecEventCommC.h" -#include "ace/Auto_Functor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @struct TAO_EC_Supplier_Proxy_Disconnect_Functor - * - * @brief Implements a functor for the TAO_EC_Supplier_Proxy_Disconnector class. - */ -struct TAO_RTEvent_Serv_Export TAO_EC_Supplier_Proxy_Disconnect_Functor -{ - typedef RtecEventComm::PushSupplier_ptr argument; - - /// Disconnect from @c supplier - void operator() (RtecEventComm::PushSupplier_ptr supplier) - ACE_THROW_SPEC (()); -}; - -/** - * @class TAO_EC_Supplier_Proxy_Disconnector - * - * @brief Helper class to disconnect a PushConsumer from the event - * channel. - * - */ -typedef ACE_Utils::Auto_Functor< - RtecEventComm::PushSupplier, - TAO_EC_Supplier_Proxy_Disconnect_Functor> - TAO_EC_Supplier_Proxy_Disconnector; - - - -/** - * @struct TAO_EC_Consumer_Proxy_Disconnect_Functor - * - * @brief Implements a functor for the TAO_EC_Consumer_Proxy_Disconnector class. - */ -struct TAO_RTEvent_Serv_Export TAO_EC_Consumer_Proxy_Disconnect_Functor -{ - typedef RtecEventComm::PushConsumer_ptr argument; - - /// Disconnect from @c consumer - void operator() (RtecEventComm::PushConsumer_ptr consumer) - ACE_THROW_SPEC (()); -}; - -/** - * @class TAO_EC_Consumer_Proxy_Disconnector - * - * @brief Helper class to disconnect a PushSupplier from the event - * channel. - * - */ -typedef ACE_Utils::Auto_Functor< - RtecEventComm::PushConsumer, - TAO_EC_Consumer_Proxy_Disconnect_Functor> - TAO_EC_Consumer_Proxy_Disconnector; - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // EC_PROXY_DISCONNECTOR__H_ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.cpp deleted file mode 100644 index 4680bda962f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_QOS_Info.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_QOS_Info.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_QOS_Info, "$Id$") diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.h b/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.h deleted file mode 100644 index 88c9387e382..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_QOS_Info.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_QOS_INFO_H -#define TAO_EC_QOS_INFO_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecBaseC.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_QOS_Info - * - * @brief A representation of QoS information for the event channel - * filters. - * - * Filters compute QOS information for real-time dispatching, this - * class encapsulates that information. - * This first implementation is just a place-holder. - */ -class TAO_RTEvent_Serv_Export TAO_EC_QOS_Info -{ -public: - /// Constructor - TAO_EC_QOS_Info (void); - - /// Copy constructor, it does the obvious thing, but if it is not - /// here the HP/aCC compiler breaks. - TAO_EC_QOS_Info (const TAO_EC_QOS_Info &rhs); - - RtecBase::handle_t rt_info; - RtecBase::Preemption_Priority_t preemption_priority; - - /** - * Timer ids propagate their identity using this field, notice that - * they cannot use the event type because there could be multiple - * timeouts for the same consumer. - */ - long timer_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_QOS_Info.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_EVENT_CHANNEL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.i b/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.i deleted file mode 100644 index eab42f031bc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_QOS_Info.i +++ /dev/null @@ -1,23 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_QOS_Info::TAO_EC_QOS_Info (void) - : rt_info (-1), - preemption_priority (0), - timer_id_ (-1) -{ -} - -ACE_INLINE -TAO_EC_QOS_Info::TAO_EC_QOS_Info (const TAO_EC_QOS_Info &rhs) - : rt_info (rhs.rt_info), - preemption_priority (rhs.preemption_priority), - timer_id_ (rhs.timer_id_) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp deleted file mode 100644 index f57b86ae813..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_RTCORBA_Dispatching.h" -#include "tao/RTCORBA/Priority_Mapping.h" - -ACE_RCSID(Event, EC_RTCORBA_Dispatching, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_RTCORBA_Dispatching:: - TAO_EC_RTCORBA_Dispatching (const RTCORBA::ThreadpoolLanes &lanes, - RTCORBA::PriorityMapping *mapping, - RTCORBA::Current_ptr current) - : lanes_ (lanes) - , priority_mapping_ (mapping) - , current_ (RTCORBA::Current::_duplicate (current)) -{ - CORBA::ULong number_lanes = this->lanes_.length (); - ACE_NEW (this->tasks_, TAO_EC_Dispatching_Task[number_lanes]); - for (CORBA::ULong i = 0; i != this->lanes_.length (); ++i) - this->tasks_[i].thr_mgr (&this->thread_manager_); -} - -TAO_EC_RTCORBA_Dispatching::~TAO_EC_RTCORBA_Dispatching (void) -{ - delete[] this->tasks_; -} - -void -TAO_EC_RTCORBA_Dispatching::activate (void) -{ - for (CORBA::ULong i = 0; i != this->lanes_.length (); ++i) - { - CORBA::ULong nthreads = this->lanes_[i].static_threads; - if (nthreads == 0) - { - nthreads = 1; - } - RTCORBA::Priority corba_priority = this->lanes_[i].lane_priority; - RTCORBA::NativePriority native_priority; - if (this->priority_mapping_->to_native (corba_priority, - native_priority) != 0) - { - this->tasks_[i].activate ( - THR_SCHED_FIFO | THR_NEW_LWP | THR_JOINABLE, - nthreads, 0, - native_priority); - } - } -} - -void -TAO_EC_RTCORBA_Dispatching::shutdown (void) -{ - for (CORBA::ULong i = 0; i != this->lanes_.length (); ++i) - { - int nthreads = - this->thread_manager_.num_threads_in_task (&this->tasks_[i]); - if (nthreads <= 0) - continue; - for (int j = 0; j != nthreads; ++j) - { - this->tasks_[i].putq (new TAO_EC_Shutdown_Task_Command); - } - } - this->thread_manager_.wait (); -} - -void -TAO_EC_RTCORBA_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - RtecEventComm::EventSet event_copy = event; - this->push_nocopy (proxy, consumer, event_copy, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_RTCORBA_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL) -{ - RTCORBA::Priority current_priority = - this->current_->the_priority (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - for (CORBA::ULong i = 0; i != this->lanes_.length (); ++i) - { - if (this->lanes_[i].lane_priority != current_priority) - continue; - - // @@ If there were no threads available we may need to create - // some... - - this->tasks_[i].push (proxy, consumer, event - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - break; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h deleted file mode 100644 index cb6e87fdad2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h +++ /dev/null @@ -1,82 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_RTCORBA_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_RTCORBA_DISPATCHING_H -#define TAO_EC_RTCORBA_DISPATCHING_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/rtcorba_event_export.h" -#include "orbsvcs/Event/EC_Dispatching.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_Dispatching_Task.h" -#include "tao/RTCORBA/RTCORBA.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_RTCORBA_Dispatching - * - * @brief RTCORBA-based dispatching strategy - * - */ -class TAO_RTCORBAEvent_Export TAO_EC_RTCORBA_Dispatching : public TAO_EC_Dispatching -{ -public: - /// Constructor - TAO_EC_RTCORBA_Dispatching (const RTCORBA::ThreadpoolLanes &lanes, - RTCORBA::PriorityMapping *mapping, - RTCORBA::Current_ptr current); - - /// Destructor - ~TAO_EC_RTCORBA_Dispatching (void); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// The thread pools... - RTCORBA::ThreadpoolLanes lanes_; - - /// Used to map between CORBA and native priorities - RTCORBA::PriorityMapping *priority_mapping_; - - /// Used to get the current RTCORBA priority - RTCORBA::Current_var current_; - - /// Use our own thread manager. - ACE_Thread_Manager thread_manager_; - - /// The dispatching task(s), one per lane - TAO_EC_Dispatching_Task *tasks_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_RTCORBA_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp deleted file mode 100644 index 087ffc53b03..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp +++ /dev/null @@ -1,276 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_RTCORBA_Dispatching.h" -#include "orbsvcs/Event/EC_RTCORBA_Factory.h" - -#include "tao/RTCORBA/Priority_Mapping_Manager.h" - -ACE_RCSID(Event, EC_RTCORBA_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_RTCORBA_Factory:: - TAO_EC_RTCORBA_Factory (TAO_EC_Factory *body, - const RTCORBA::ThreadpoolLanes &lanes) - : body_ (body) - , lanes_ (lanes) -{ -} - -TAO_EC_RTCORBA_Factory::~TAO_EC_RTCORBA_Factory (void) -{ -} - - -int -TAO_EC_RTCORBA_Factory::init (int argc, char* argv[]) -{ - return this->body_->init (argc, argv); -} - -int -TAO_EC_RTCORBA_Factory::fini (void) -{ - return this->body_->fini (); -} - -// **************************************************************** - -TAO_EC_Dispatching* -TAO_EC_RTCORBA_Factory::create_dispatching (TAO_EC_Event_Channel_Base *) -{ - TAO_EC_Dispatching *dispatching = 0; - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // @@ The ORBId could be important!!! - int argc = 0; - CORBA::ORB_var orb = - CORBA::ORB_init (argc, 0, "" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Object_var obj = - orb->resolve_initial_references ("PriorityMappingManager" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - RTCORBA::PriorityMappingManager_var priority_mapping_manager = - RTCORBA::PriorityMappingManager::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - RTCORBA::PriorityMapping *priority_mapping = - priority_mapping_manager->mapping (); - - obj = - orb->resolve_initial_references ("RTCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - RTCORBA::Current_var current = - RTCORBA::Current::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_NEW_RETURN (dispatching, - TAO_EC_RTCORBA_Dispatching (this->lanes_, - priority_mapping, - current.in ()), - 0); - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - return dispatching; -} - -void -TAO_EC_RTCORBA_Factory::destroy_dispatching (TAO_EC_Dispatching *x) -{ - this->body_->destroy_dispatching (x); -} - -TAO_EC_Filter_Builder* -TAO_EC_RTCORBA_Factory::create_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_filter_builder (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_filter_builder (TAO_EC_Filter_Builder *x) -{ - this->body_->destroy_filter_builder (x); -} - -TAO_EC_Supplier_Filter_Builder* -TAO_EC_RTCORBA_Factory::create_supplier_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_supplier_filter_builder (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *x) -{ - this->body_->destroy_supplier_filter_builder (x); -} - -TAO_EC_ConsumerAdmin* -TAO_EC_RTCORBA_Factory::create_consumer_admin (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_consumer_admin (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_consumer_admin (TAO_EC_ConsumerAdmin *x) -{ - this->body_->destroy_consumer_admin (x); -} - -TAO_EC_SupplierAdmin* -TAO_EC_RTCORBA_Factory::create_supplier_admin (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_supplier_admin (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_supplier_admin (TAO_EC_SupplierAdmin *x) -{ - this->body_->destroy_supplier_admin (x); -} - -TAO_EC_ProxyPushSupplier* -TAO_EC_RTCORBA_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_proxy_push_supplier (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *x) -{ - this->body_->destroy_proxy_push_supplier (x); -} - -TAO_EC_ProxyPushConsumer* -TAO_EC_RTCORBA_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_proxy_push_consumer (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer *x) -{ - this->body_->destroy_proxy_push_consumer (x); -} - -TAO_EC_Timeout_Generator* -TAO_EC_RTCORBA_Factory::create_timeout_generator (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_timeout_generator (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_timeout_generator (TAO_EC_Timeout_Generator *x) -{ - this->body_->destroy_timeout_generator (x); -} - -TAO_EC_ObserverStrategy* -TAO_EC_RTCORBA_Factory::create_observer_strategy (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_observer_strategy (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_observer_strategy (TAO_EC_ObserverStrategy *x) -{ - this->body_->destroy_observer_strategy (x); -} - -TAO_EC_Scheduling_Strategy* -TAO_EC_RTCORBA_Factory::create_scheduling_strategy (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_scheduling_strategy (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy* x) -{ - this->body_->destroy_scheduling_strategy (x); -} - -TAO_EC_ProxyPushConsumer_Collection* -TAO_EC_RTCORBA_Factory::create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_proxy_push_consumer_collection (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection *x) -{ - this->body_->destroy_proxy_push_consumer_collection (x); -} - -TAO_EC_ProxyPushSupplier_Collection* -TAO_EC_RTCORBA_Factory::create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base *ec) -{ - return this->body_->create_proxy_push_supplier_collection (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection *x) -{ - this->body_->destroy_proxy_push_supplier_collection (x); -} - -ACE_Lock* -TAO_EC_RTCORBA_Factory::create_consumer_lock (void) -{ - return this->body_->create_consumer_lock (); -} - -void -TAO_EC_RTCORBA_Factory::destroy_consumer_lock (ACE_Lock* x) -{ - this->body_->destroy_consumer_lock (x); -} - -ACE_Lock* -TAO_EC_RTCORBA_Factory::create_supplier_lock (void) -{ - return this->body_->create_supplier_lock (); -} - -void -TAO_EC_RTCORBA_Factory::destroy_supplier_lock (ACE_Lock* x) -{ - this->body_->destroy_supplier_lock (x); -} - -TAO_EC_ConsumerControl* -TAO_EC_RTCORBA_Factory::create_consumer_control (TAO_EC_Event_Channel_Base* ec) -{ - return this->body_->create_consumer_control (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_consumer_control (TAO_EC_ConsumerControl* x) -{ - this->body_->destroy_consumer_control (x); -} - -TAO_EC_SupplierControl* -TAO_EC_RTCORBA_Factory::create_supplier_control (TAO_EC_Event_Channel_Base* ec) -{ - return this->body_->create_supplier_control (ec); -} - -void -TAO_EC_RTCORBA_Factory::destroy_supplier_control (TAO_EC_SupplierControl* x) -{ - this->body_->destroy_supplier_control (x); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h deleted file mode 100644 index a76bc59f73d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h +++ /dev/null @@ -1,123 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_RTCORBA_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_RTCORBA_FACTORY_H -#define TAO_EC_RTCORBA_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/rtcorba_event_export.h" -#include "orbsvcs/Event/EC_Factory.h" -#include "tao/RTCORBA/RTCORBA.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_RTCORBA_Factory - * - * @brief Decorate an EC_Factory to use the EC_RTCORBA_Dispatching - * module. - */ -class TAO_RTCORBAEvent_Export TAO_EC_RTCORBA_Factory : public TAO_EC_Factory -{ -public: - /// Constructor - /** - * @param body The decorated factory. - */ - TAO_EC_RTCORBA_Factory (TAO_EC_Factory *body, - const RTCORBA::ThreadpoolLanes &lanes); - - /// destructor... - virtual ~TAO_EC_RTCORBA_Factory (void); - - // Decorated methods... - virtual int init (int argc, char* argv[]); - virtual int fini (void); - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - virtual void - destroy_dispatching (TAO_EC_Dispatching*) ; - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*) ; - virtual void - destroy_filter_builder (TAO_EC_Filter_Builder*); - virtual TAO_EC_Supplier_Filter_Builder* - create_supplier_filter_builder (TAO_EC_Event_Channel_Base*) ; - virtual void - destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*); - virtual TAO_EC_ConsumerAdmin* - create_consumer_admin (TAO_EC_Event_Channel_Base*) ; - virtual void - destroy_consumer_admin (TAO_EC_ConsumerAdmin*); - virtual TAO_EC_SupplierAdmin* - create_supplier_admin (TAO_EC_Event_Channel_Base*) ; - virtual void - destroy_supplier_admin (TAO_EC_SupplierAdmin*); - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*); - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*); - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*) ; - virtual void - destroy_timeout_generator (TAO_EC_Timeout_Generator*); - virtual TAO_EC_ObserverStrategy* - create_observer_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_observer_strategy (TAO_EC_ObserverStrategy*); - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*); - virtual void - destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*); - virtual TAO_EC_ProxyPushConsumer_Collection* - create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*); - virtual TAO_EC_ProxyPushSupplier_Collection* - create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*); - virtual ACE_Lock* create_consumer_lock (void); - virtual void destroy_consumer_lock (ACE_Lock*); - virtual ACE_Lock* create_supplier_lock (void); - virtual void destroy_supplier_lock (ACE_Lock*); - virtual TAO_EC_ConsumerControl* - create_consumer_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_consumer_control (TAO_EC_ConsumerControl*); - virtual TAO_EC_SupplierControl* - create_supplier_control (TAO_EC_Event_Channel_Base*); - virtual void - destroy_supplier_control (TAO_EC_SupplierControl*); - -protected: - /// The decorated factory - TAO_EC_Factory *body_; - - /// Configure the thread pool lanes. - RTCORBA::ThreadpoolLanes lanes_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_RTCORBA_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp deleted file mode 100644 index a8aafe81f0b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp +++ /dev/null @@ -1,276 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_Reactive_ConsumerControl.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" // @@ MSVC 6 bug - -#include "tao/Messaging/Messaging.h" -#include "tao/ORB_Core.h" - -#include "ace/Reactor.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Reactive_ConsumerControl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Reactive_ConsumerControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Reactive_ConsumerControl:: - TAO_EC_Reactive_ConsumerControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Event_Channel_Base *ec, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - adapter_ (this), - event_channel_ (ec), - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING != 0*/ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -TAO_EC_Reactive_ConsumerControl::~TAO_EC_Reactive_ConsumerControl (void) -{ -} - -void -TAO_EC_Reactive_ConsumerControl::query_consumers ( - ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_EC_Ping_Consumer worker (this); - this->event_channel_->for_each_consumer (&worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Reactive_ConsumerControl::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - // NOTE, setting RELATIVE_RT_TIMEOUT_POLICY for the duration of - // query_consumers () below has greater impact than desired. For - // example, while we are pinging consumers here, a nested upcall, - // which requires making remote calls may come into the ORB. Those - // remote calls will be carried out with with - // RELATIVE_RT_TIMEOUT_POLICY set here in effect. - - // @@ TODO: should use Guard to set and reset policies. - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Query the state of the consumers... - this->query_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -int -TAO_EC_Reactive_ConsumerControl::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Timeout for polling state (default = 10 msec) - TimeBase::TimeT timeout = timeout_.usec() * 10; - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Only schedule the timer, when the rate is not zero - if (this->rate_ != ACE_Time_Value::zero) - { - // Schedule the timer after these policies has been set, because the - // handle_timeout uses these policies, if done in front, the channel - // can crash when the timeout expires before initiazation is ready. - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ - - return 0; -} - -int -TAO_EC_Reactive_ConsumerControl::shutdown (void) -{ - int r = 0; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - r = this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - this->adapter_.reactor (0); - return r; -} - -void -TAO_EC_Reactive_ConsumerControl::consumer_not_exist ( - TAO_EC_ProxyPushSupplier *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - //ACE_DEBUG ((LM_DEBUG, - // "EC_Reactive_ConsumerControl(%P|%t) - " - // "Consumer %x does not exists\n", long(proxy))); - proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Reactive_ConsumerControl::consumer_not_exist"); - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_EC_Reactive_ConsumerControl::system_exception ( - TAO_EC_ProxyPushSupplier *proxy, - CORBA::SystemException & /* exception */ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - // The current implementation is very strict, and kicks out a - // client on the first system exception. We may - // want to be more lenient in the future, for example, - // this is TAO's minor code for a failed connection. - // - // if (CORBA::TRANSIENT::_narrow (&exception) != 0 - // && exception->minor () == 0x54410085) - // return; - - // Anything else is serious, including timeouts... - proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -// **************************************************************** - -TAO_EC_ConsumerControl_Adapter::TAO_EC_ConsumerControl_Adapter ( - TAO_EC_Reactive_ConsumerControl *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_EC_ConsumerControl_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -// **************************************************************** - -void -TAO_EC_Ping_Consumer::work (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - supplier->consumer_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - // This is TAO's minor code for a failed connection, we may - // want to be more lenient in the future.. - // if (transient.minor () == 0x54410085) - this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h deleted file mode 100644 index d6e8cf176d5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h +++ /dev/null @@ -1,155 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Reactive_ConsumerControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_REACTIVE_CONSUMERCONTROL_H -#define TAO_EC_REACTIVE_CONSUMERCONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_ConsumerControl.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" - -#include "tao/ORB.h" -#include "tao/PolicyC.h" - -#include "ace/Event_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; - -class TAO_EC_Reactive_ConsumerControl; - -/** - * @class TAO_EC_ConsumerControl_Adapter - * - * @brief Forwards timeout events to the Reactive ConsumerControl - * - * The Reactive ConsumerControl strategy uses the reactor to - * periodically wakeup and verify the state of the consumers - * registered with the Event Channel. - */ -class TAO_RTEvent_Serv_Export TAO_EC_ConsumerControl_Adapter : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_EC_ConsumerControl_Adapter (TAO_EC_Reactive_ConsumerControl *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_EC_Reactive_ConsumerControl *adaptee_; -}; - -/** - * @class TAO_EC_Reactive_ConsumerControl - * - * @brief ConsumerControl - * - * Defines the interface for the consumer control strategy. - * This strategy handles misbehaving or failing consumers. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Reactive_ConsumerControl : public TAO_EC_ConsumerControl -{ -public: - /// Constructor. It does not assume ownership of the @a event_channel - /// parameter. - TAO_EC_Reactive_ConsumerControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Event_Channel_Base *event_channel, - CORBA::ORB_ptr orb); - - /// Destructor. - virtual ~TAO_EC_Reactive_ConsumerControl (void); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = Documented in TAO_EC_ConsumerControl - virtual int activate (void); - virtual int shutdown (void); - virtual void consumer_not_exist (TAO_EC_ProxyPushSupplier *proxy - ACE_ENV_ARG_DECL_NOT_USED); - virtual void system_exception (TAO_EC_ProxyPushSupplier *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - -private: - /// Check if the consumers still exists. It is a helper method for - /// handle_timeout() to isolate the exceptions. - void query_consumers (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The polling rate - ACE_Time_Value rate_; - - /// The polling timeout - ACE_Time_Value timeout_; - - /// The Adapter for the reactor events - TAO_EC_ConsumerControl_Adapter adapter_; - - /// The event channel - TAO_EC_Event_Channel_Base *event_channel_; - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -// **************************************************************** - -class TAO_EC_Ping_Consumer : public TAO_ESF_Worker -{ -public: - TAO_EC_Ping_Consumer (TAO_EC_ConsumerControl *control); - - virtual void work (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - TAO_EC_ConsumerControl *control_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Reactive_ConsumerControl.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_CONSUMERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.i b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.i deleted file mode 100644 index d365ca2ae4d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.i +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Ping_Consumer::TAO_EC_Ping_Consumer (TAO_EC_ConsumerControl *control) - : control_ (control) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.cpp deleted file mode 100644 index eb7b1bd5b7d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Reactive_Dispatching.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" - -ACE_RCSID(Event, EC_Reactive_Dispatching, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Reactive_Dispatching::TAO_EC_Reactive_Dispatching (void) - : TAO_EC_Dispatching () -{ -} - -void -TAO_EC_Reactive_Dispatching::activate (void) -{ -} - -void -TAO_EC_Reactive_Dispatching::shutdown (void) -{ -} - -void -TAO_EC_Reactive_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL) -{ - proxy->reactive_push_to_consumer (consumer, event ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Reactive_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL) -{ - proxy->reactive_push_to_consumer (consumer, event ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.h deleted file mode 100644 index 0ef3be3bedb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Reactive_Dispatching.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_REACTIVE_DISPATCHING_H -#define TAO_EC_REACTIVE_DISPATCHING_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Dispatching.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Reactive_Dispatching - * - * @brief Dispatch using the caller thread. - * - * The events are dispatched in FIFO ordering, using the invoking - * thread to push the event to the consumer. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Reactive_Dispatching : public TAO_EC_Dispatching -{ -public: - /// The scheduler is used to find the range of priorities and similar - /// info. - TAO_EC_Reactive_Dispatching (void); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - virtual void push_nocopy (TAO_EC_ProxyPushSupplier *proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL_WITH_DEFAULTS); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_REACTIVE_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp deleted file mode 100644 index 10cdcd05bdb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp +++ /dev/null @@ -1,266 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Reactive_SupplierControl.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" // @@ MSVC 6 bug - -#include "tao/Messaging/Messaging.h" -#include "tao/ORB_Core.h" - -#include "ace/Reactor.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Reactive_SupplierControl.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Reactive_SupplierControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Reactive_SupplierControl:: - TAO_EC_Reactive_SupplierControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Event_Channel_Base *ec, - CORBA::ORB_ptr orb) - : rate_ (rate), - timeout_ (timeout), - adapter_ (this), - event_channel_ (ec), - orb_ (CORBA::ORB::_duplicate (orb)) -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - , timer_id_ (-1) -#endif /* TAO_HAS_CORBA_MESSAGING != 0*/ -{ - this->reactor_ = - this->orb_->orb_core ()->reactor (); -} - -TAO_EC_Reactive_SupplierControl::~TAO_EC_Reactive_SupplierControl (void) -{ -} - -void -TAO_EC_Reactive_SupplierControl::query_suppliers ( - ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_EC_Ping_Supplier worker (this); - this->event_channel_->for_each_supplier (&worker - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EC_Reactive_SupplierControl::handle_timeout ( - const ACE_Time_Value &, - const void *) -{ - ACE_TRY_NEW_ENV - { - // Query the state of the Current object *before* we initiate - // the iteration... - CORBA::PolicyTypeSeq types; - CORBA::PolicyList_var policies = - this->policy_current_->get_policy_overrides (types - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Change the timeout - this->policy_current_->set_policy_overrides (this->policy_list_, - CORBA::ADD_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Query the state of the suppliers... - this->query_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_->set_policy_overrides (policies.in (), - CORBA::SET_OVERRIDE - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - for (CORBA::ULong i = 0; i != policies->length (); ++i) - { - policies[i]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -int -TAO_EC_Reactive_SupplierControl::activate (void) -{ -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - ACE_TRY_NEW_ENV - { - // Get the PolicyCurrent object - CORBA::Object_var tmp = - this->orb_->resolve_initial_references ("PolicyCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->policy_current_ = - CORBA::PolicyCurrent::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Timeout for polling state (default = 10 msec) - TimeBase::TimeT timeout = timeout_.usec() * 10; - CORBA::Any any; - any <<= timeout; - - this->policy_list_.length (1); - this->policy_list_[0] = - this->orb_->create_policy ( - Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - any - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Only schedule the timer, when the rate is not zero - if (this->rate_ != ACE_Time_Value::zero) - { - // Schedule the timer after these policies has been set, because the - // handle_timeout uses these policies, if done in front, the channel - // can crash when the timeout expires before initiazation is ready. - timer_id_ = this->reactor_->schedule_timer (&this->adapter_, - 0, - this->rate_, - this->rate_); - if (timer_id_ == -1) - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -#endif /* TAO_HAS_CORBA_MESSAGING */ - - return 0; -} - -int -TAO_EC_Reactive_SupplierControl::shutdown (void) -{ - int r = 0; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - r = this->reactor_->cancel_timer (timer_id_); -#endif /* TAO_HAS_CORBA_MESSAGING */ - this->adapter_.reactor (0); - return r; -} - -void -TAO_EC_Reactive_SupplierControl::supplier_not_exist ( - TAO_EC_ProxyPushConsumer *proxy - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - //ACE_DEBUG ((LM_DEBUG, - // "EC_Reactive_SupplierControl(%P|%t) - " - // "Consumer %x does not exists\n", long(proxy))); - proxy->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -void -TAO_EC_Reactive_SupplierControl::system_exception ( - TAO_EC_ProxyPushConsumer *proxy, - CORBA::SystemException & /* exception */ - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - // The current implementation is very strict, and kicks out a - // client on the first system exception. We may - // want to be more lenient in the future, for example, - // this is TAO's minor code for a failed connection. - // - // if (CORBA::TRANSIENT::_narrow (&exception) != 0 - // && exception->minor () == 0x54410085) - // return; - - // Anything else is serious, including timeouts... - proxy->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions.. - } - ACE_ENDTRY; -} - -// **************************************************************** - -TAO_EC_SupplierControl_Adapter::TAO_EC_SupplierControl_Adapter ( - TAO_EC_Reactive_SupplierControl *adaptee) - : adaptee_ (adaptee) -{ -} - -int -TAO_EC_SupplierControl_Adapter::handle_timeout ( - const ACE_Time_Value &tv, - const void *arg) -{ - this->adaptee_->handle_timeout (tv, arg); - return 0; -} - -// **************************************************************** - -void -TAO_EC_Ping_Supplier::work (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - CORBA::Boolean disconnected; - CORBA::Boolean non_existent = - consumer->supplier_non_existent (disconnected - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (non_existent && !disconnected) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TRANSIENT, transient) - { - // This is TAO's minor code for a failed connection, we may - // want to be more lenient in the future.. - // if (transient.minor () == 0x54410085) - this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h deleted file mode 100644 index 141ddf9668c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h +++ /dev/null @@ -1,166 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Reactive_SupplierControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_REACTIVE_SUPPLIERCONTROL_H -#define TAO_EC_REACTIVE_SUPPLIERCONTROL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_SupplierControl.h" - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/ORB.h" -#include "tao/PolicyC.h" - -#include "ace/Event_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; - -class TAO_EC_Reactive_SupplierControl; - -/** - * @class TAO_EC_SupplierControl_Adapter - * - * @brief Forwards timeout events to the Reactive SupplierControl - * - * The Reactive SupplierControl strategy uses the reactor to - * periodically wakeup and verify the state of the suppliers - * registered with the Event Channel. - * - * @todo Marina Spivak made the following observation: these classes - * and implementation seem nearly identical to those in - * EC_Reactive_ConsumerControl.* The only differences are using - * consumer_admin collection vs supplier_admin, and calling - * disconnect_push_consumer vs disconnect_push_supplier ... Seems - * like it may be a good idea to change some naming and templatize... - * @todo The same templates should be used for the Notification and - * COS Event services. - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_SupplierControl_Adapter : public ACE_Event_Handler -{ -public: - /// Constructor - TAO_EC_SupplierControl_Adapter (TAO_EC_Reactive_SupplierControl *adaptee); - - // = Documented in ACE_Event_Handler. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg = 0); - -private: - /// The adapted object - TAO_EC_Reactive_SupplierControl *adaptee_; -}; - -/** - * @class TAO_EC_Reactive_SupplierControl - * - * @brief SupplierControl - * - * Defines the interface for the supplier control strategy. - * This strategy handles misbehaving or failing suppliers. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Reactive_SupplierControl : public TAO_EC_SupplierControl -{ -public: - /// Constructor. It does not assume ownership of the @a event_channel - /// parameter. - TAO_EC_Reactive_SupplierControl (const ACE_Time_Value &rate, - const ACE_Time_Value &timeout, - TAO_EC_Event_Channel_Base *event_channel, - CORBA::ORB_ptr orb); - - /// Destructor. - virtual ~TAO_EC_Reactive_SupplierControl (void); - - /// Receive the timeout from the adapter - void handle_timeout (const ACE_Time_Value &tv, - const void* arg); - - // = Documented in TAO_EC_SupplierControl - virtual int activate (void); - virtual int shutdown (void); - virtual void supplier_not_exist (TAO_EC_ProxyPushConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); - virtual void system_exception (TAO_EC_ProxyPushConsumer *proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); - -private: - /// Check if the suppliers still exists. It is a helper method for - /// handle_timeout() to isolate the exceptions. - void query_suppliers (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// The polling rate - ACE_Time_Value rate_; - - /// The polling timeout - ACE_Time_Value timeout_; - - /// The Adapter for the reactor events - TAO_EC_SupplierControl_Adapter adapter_; - - /// The event channel - TAO_EC_Event_Channel_Base *event_channel_; - - /// The ORB - CORBA::ORB_var orb_; - - /// To control the timeout policy in the thread - CORBA::PolicyCurrent_var policy_current_; - - /// Precomputed policy list to the set timeout. - CORBA::PolicyList policy_list_; - - /// The ORB reactor - ACE_Reactor *reactor_; - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - /// The timer id - long timer_id_; -#endif /* TAO_HAS_CORBA_MESSAGING */ -}; - -// **************************************************************** - -class TAO_EC_Ping_Supplier : public TAO_ESF_Worker -{ -public: - TAO_EC_Ping_Supplier (TAO_EC_SupplierControl *control); - - virtual void work (TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL); - -private: - TAO_EC_SupplierControl *control_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Reactive_SupplierControl.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_SUPPLIERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.i b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.i deleted file mode 100644 index 3ffaf226464..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.i +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Ping_Supplier::TAO_EC_Ping_Supplier (TAO_EC_SupplierControl *control) - : control_ (control) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp deleted file mode 100644 index fbdfb022768..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Reactive_Timeout_Generator.h" -#include "ace/Reactor.h" - -ACE_RCSID (Event, - EC_Reactive_Timeout_Generator, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Reactive_Timeout_Generator:: - TAO_EC_Reactive_Timeout_Generator (ACE_Reactor *reactor) - : reactor_ (reactor) -{ -} - -TAO_EC_Reactive_Timeout_Generator::~TAO_EC_Reactive_Timeout_Generator (void) -{ -} - -void -TAO_EC_Reactive_Timeout_Generator::activate (void) -{ -} - -void -TAO_EC_Reactive_Timeout_Generator::shutdown (void) -{ - this->reactor_->cancel_timer (&this->event_handler_); - this->event_handler_.reactor (0); -} - -int -TAO_EC_Reactive_Timeout_Generator::schedule_timer ( - TAO_EC_Timeout_Filter* filter, - const ACE_Time_Value& delta, - const ACE_Time_Value& interval) -{ - return this->reactor_->schedule_timer (&this->event_handler_, - static_cast (filter), - delta, - interval); -} - -int -TAO_EC_Reactive_Timeout_Generator::cancel_timer ( - const TAO_EC_QOS_Info&, - int id) -{ - const void *vp; - - return this->reactor_->cancel_timer (id, &vp); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h deleted file mode 100644 index 8ab4d18da31..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Reactive_Timeout_Generator.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_REACTIVE_TIMEOUT_GENERATOR_H -#define TAO_EC_REACTIVE_TIMEOUT_GENERATOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Timeout_Generator.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Reactive_Timeout_Generator - * - * @brief A simple implementation of the Timeout_Generator based on the - * Reactor. - * - * Implements the Timeout_Generator using an ACE_Reactor. Usually - * the same reactor that is used by the ORB where the EC runs. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Reactive_Timeout_Generator - : public TAO_EC_Timeout_Generator -{ -public: - /// Constructor. - /// If is 0 then we use the reactor in the ORB singleton. - TAO_EC_Reactive_Timeout_Generator (ACE_Reactor *reactor = 0); - - /// destructor - virtual ~TAO_EC_Reactive_Timeout_Generator (void); - - // = The TAO_EC_Timeout_Generator methods. - virtual void activate (void); - virtual void shutdown (void); - virtual int schedule_timer (TAO_EC_Timeout_Filter* filter, - const ACE_Time_Value& delta, - const ACE_Time_Value& interval); - virtual int cancel_timer (const TAO_EC_QOS_Info& info, - int id); - -private: - /// The reactor - ACE_Reactor *reactor_; - - /// An adapter to receive the timeout events. - TAO_EC_Timeout_Adapter event_handler_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_REACTIVE_TIMEOUT_GENERATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp deleted file mode 100644 index 66c4afcc9ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp +++ /dev/null @@ -1,225 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Sched_Factory.h" -#include "orbsvcs/Event/EC_Priority_Dispatching.h" -#include "orbsvcs/Event/EC_Priority_Scheduling.h" -#include "orbsvcs/Event/EC_Sched_Filter_Builder.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/RtecSchedulerC.h" - -#include "ace/Arg_Shifter.h" -#include "ace/Sched_Params.h" -#include "ace/OS_NS_strings.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Sched_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Sched_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Sched_Factory::~TAO_EC_Sched_Factory (void) -{ -} - -int -TAO_EC_Sched_Factory::init (int argc, ACE_TCHAR* argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - while (arg_shifter.is_anything_left ()) - { - const ACE_TCHAR* arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECDispatching")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->dispatching_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("mt")) == 0) - { - this->dispatching_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("priority")) == 0) - { - this->dispatching_ = 2; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Sched_Factory - ") - ACE_TEXT("unsupported dispatching <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECFiltering")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->filtering_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("basic")) == 0) - { - this->filtering_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("prefix")) == 0) - { - this->filtering_ = 2; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("priority")) == 0) - { - this->filtering_ = 3; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Sched_Factory - ") - ACE_TEXT("unsupported filtering <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECTimeout")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("reactive")) == 0) - { - this->timeout_ = 0; - } -#if 0 - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("priority")) == 0) - { - this->timeout_ = 1; - } -#endif /* 0 */ - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Sched_Factory - ") - ACE_TEXT("unsupported timeout <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else if (ACE_OS::strcasecmp (arg, ACE_TEXT("-ECScheduling")) == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - const ACE_TCHAR* opt = arg_shifter.get_current (); - if (ACE_OS::strcasecmp (opt, ACE_TEXT("null")) == 0) - { - this->scheduling_ = 0; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("group")) == 0) - { - this->scheduling_ = 1; - } - else if (ACE_OS::strcasecmp (opt, ACE_TEXT("priority")) == 0) - { - this->scheduling_ = 2; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("EC_Sched_Factory - ") - ACE_TEXT("unsupported scheduling <%s>\n"), - opt)); - } - arg_shifter.consume_arg (); - } - } - - else - { - arg_shifter.ignore_arg (); - } - } - return this->TAO_EC_Default_Factory::init (argc, argv); -} - -int -TAO_EC_Sched_Factory::fini (void) -{ - return 0; -} - -// **************************************************************** - -TAO_EC_Dispatching* -TAO_EC_Sched_Factory::create_dispatching (TAO_EC_Event_Channel_Base *ec) -{ - if (this->dispatching_ == 2) - return new TAO_EC_Priority_Dispatching (ec); - return this->TAO_EC_Default_Factory::create_dispatching (ec); -} - -TAO_EC_Filter_Builder* -TAO_EC_Sched_Factory::create_filter_builder (TAO_EC_Event_Channel_Base *ec) -{ - if (this->filtering_ == 3) - return new TAO_EC_Sched_Filter_Builder (ec); - - return this->TAO_EC_Default_Factory::create_filter_builder (ec); -} - - -TAO_EC_Timeout_Generator* -TAO_EC_Sched_Factory::create_timeout_generator (TAO_EC_Event_Channel_Base *ec) -{ -#if 0 - if (this->timeout_ == 1) - { - } -#endif - return this->TAO_EC_Default_Factory::create_timeout_generator (ec); -} - -TAO_EC_Scheduling_Strategy* -TAO_EC_Sched_Factory::create_scheduling_strategy (TAO_EC_Event_Channel_Base* ec) -{ - if (this->scheduling_ == 2) - { - CORBA::Object_var tmp = ec->scheduler (); - RtecScheduler::Scheduler_var scheduler = - RtecScheduler::Scheduler::_narrow (tmp.in ()); - return new TAO_EC_Priority_Scheduling (scheduler.in ()); - } - return this->TAO_EC_Sched_Factory::create_scheduling_strategy (ec); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_EC_Sched_Factory, - ACE_TEXT ("EC_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_EC_Sched_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTSchedEvent, TAO_EC_Sched_Factory) diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h deleted file mode 100644 index b7b82d791fc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Sched_Factory.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SCHED_FACTORY_H -#define TAO_EC_SCHED_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Default_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/sched_event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Sched_Factory - * - * @brief Extend the default factory to support scheduling - * - */ -class TAO_RTSchedEvent_Export TAO_EC_Sched_Factory : public TAO_EC_Default_Factory -{ -public: - /// Constructor - TAO_EC_Sched_Factory (void); - - /// destructor... - virtual ~TAO_EC_Sched_Factory (void); - - // = The Service_Object entry points - virtual int init (int argc, ACE_TCHAR* argv[]); - virtual int fini (void); - - // = The EC_Factory methods - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_Filter_Builder* - create_filter_builder (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_Timeout_Generator* - create_timeout_generator (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_Scheduling_Strategy* - create_scheduling_strategy (TAO_EC_Event_Channel_Base*); - -private: -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Sched_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_STATIC_SVC_DECLARE (TAO_EC_Sched_Factory) -ACE_FACTORY_DECLARE (TAO_RTSchedEvent, TAO_EC_Sched_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_EC_SCHED_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.i b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.i deleted file mode 100644 index 84cbe2d4a4d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Factory.i +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Sched_Factory::TAO_EC_Sched_Factory (void) - : TAO_EC_Default_Factory () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp deleted file mode 100644 index 3eb8e03e214..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp +++ /dev/null @@ -1,283 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Sched_Filter.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "ace/Log_Msg.h" - -ACE_RCSID(Event, EC_Sched_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Sched_Filter:: - TAO_EC_Sched_Filter (const char* name, - RtecScheduler::handle_t rt_info, - RtecScheduler::Scheduler_ptr scheduler, - TAO_EC_Filter* body, - RtecScheduler::handle_t body_info, - RtecScheduler::handle_t parent_info, - RtecScheduler::Info_Type_t info_type) - - : rt_info_ (rt_info), - rt_info_computed_ (0), - name_ (name), - scheduler_ (RtecScheduler::Scheduler::_duplicate (scheduler)), - body_ (body), - body_info_ (body_info), - parent_info_ (parent_info), - info_type_ (info_type) -{ - this->adopt_child (this->body_); -} - -TAO_EC_Sched_Filter::~TAO_EC_Sched_Filter (void) -{ - delete this->body_; -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Sched_Filter::begin (void) const -{ - return this->body_->begin (); -} - -TAO_EC_Filter::ChildrenIterator -TAO_EC_Sched_Filter::end (void) const -{ - return this->body_->end (); -} - -int -TAO_EC_Sched_Filter::size (void) const -{ - return this->body_->size (); -} - -int -TAO_EC_Sched_Filter::filter (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - return this->body_->filter (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -int -TAO_EC_Sched_Filter::filter_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - return this->body_->filter_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -// This is private, so we can make it inline in the .cpp file... -void -TAO_EC_Sched_Filter::compute_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - this->init_rt_info (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - qos_info.rt_info = this->rt_info_; - switch (this->info_type_) - { - default: - case RtecScheduler::DISJUNCTION: - break; - - case RtecScheduler::CONJUNCTION: - case RtecScheduler::OPERATION: - { - RtecScheduler::OS_Priority os_priority; - RtecScheduler::Preemption_Subpriority_t p_subpriority; - RtecScheduler::Preemption_Priority_t p_priority; - this->scheduler_->priority (this->rt_info_, - os_priority, - p_subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - qos_info.preemption_priority = p_priority; - } - } -} - -void -TAO_EC_Sched_Filter::push (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - { - this->compute_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_EC_Sched_Filter::push_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - { - this->compute_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_EC_Sched_Filter::clear (void) -{ - this->body_->clear (); -} - -CORBA::ULong -TAO_EC_Sched_Filter::max_event_size (void) const -{ - return this->body_->max_event_size (); -} - -int -TAO_EC_Sched_Filter::can_match (const RtecEventComm::EventHeader& header) const -{ - return this->body_->can_match (header); -} - -int -TAO_EC_Sched_Filter::add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ - this->init_rt_info (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - int matches = this->body_->add_dependencies (header, - qos_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (matches != 0) - { - this->scheduler_->add_dependency (this->rt_info_, qos_info.rt_info, 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (qos_info.rt_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ACE_DEBUG ((LM_DEBUG, "[%s] ----> [%s]\n", - this->name_.c_str (), - info->entry_point.in ())); - } - - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); i != end; ++i) - { - (*i)->add_dependencies (header, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return 0; -} - -void -TAO_EC_Sched_Filter::get_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - this->init_rt_info (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - qos_info.rt_info = this->rt_info_; -} - -void -TAO_EC_Sched_Filter::init_rt_info (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->rt_info_computed_) - return; - - // Provide dummy values the scheduler will compute them based on the - // dependencies and the fact that this is a DISJUNCTION. - this->scheduler_->set (this->rt_info_, - RtecScheduler::VERY_LOW_CRITICALITY, - 0, // worst_cast_execution_time - 0, // typical_cast_execution_time - 0, // cached_cast_execution_time - 0, // period - RtecScheduler::VERY_LOW_IMPORTANCE, - 0, // quantum - 0, // threads - this->info_type_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if 0 - ChildrenIterator end = this->end (); - for (ChildrenIterator i = this->begin (); i != end; ++i) - { - TAO_EC_Filter* filter = *i; - - TAO_EC_QOS_Info child; - filter->get_qos_info (child ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->scheduler_->add_dependency (this->rt_info_, - child.rt_info, 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (child.rt_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_DEBUG ((LM_DEBUG, "[%s] ----> [%s]\n", - info->entry_point.in (), - this->name_.c_str ())); - - } -#endif /* 0 */ - -#if 1 - if (this->body_info_ != this->rt_info_) - { - this->scheduler_->add_dependency (this->rt_info_, - this->body_info_, - 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (this->body_info_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_DEBUG ((LM_DEBUG, "[%s] ----> [%s]\n", - info->entry_point.in (), - this->name_.c_str ())); - } -#endif /* 0 */ - -#if 1 - this->scheduler_->add_dependency (this->parent_info_, - this->rt_info_, - 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RtecScheduler::RT_Info_var info = - this->scheduler_->get (this->parent_info_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_DEBUG ((LM_DEBUG, "[%s] ----> [%s]\n", - this->name_.c_str (), - info->entry_point.in ())); -#endif /* 0 */ - - this->rt_info_computed_ = 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.h deleted file mode 100644 index 5645a6eac92..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter.h +++ /dev/null @@ -1,129 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_Sched_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SCHED_FILTER_H -#define TAO_EC_SCHED_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event/sched_event_export.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Sched_Filter - * - * @brief Decorate a filter with scheduling information - * - * This filter decorates a regular filter with scheduling - * information. It creates a new RT_Info entry for the filter and - * it adds the dependencies between the filter and any childrens - * it may have. - * - *

Memory Management

- * It assumes ownership of the children. - */ -class TAO_RTSchedEvent_Export TAO_EC_Sched_Filter : public TAO_EC_Filter -{ -public: - /** - * Constructor. - * It assumes ownership of the , makes a copy of the other - * parameters - */ - TAO_EC_Sched_Filter (const char* name, - RtecScheduler::handle_t rt_info, - RtecScheduler::Scheduler_ptr scheduler, - TAO_EC_Filter* body, - RtecScheduler::handle_t body_info, - RtecScheduler::handle_t parent_info, - RtecScheduler::Info_Type_t info_type); - - /// Destructor - virtual ~TAO_EC_Sched_Filter (void); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual ChildrenIterator begin (void) const; - virtual ChildrenIterator end (void) const; - virtual int size (void) const; - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - virtual void get_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Sched_Filter (const TAO_EC_Sched_Filter&); - TAO_EC_Sched_Filter& operator= (const TAO_EC_Sched_Filter&); - - /// Initialize our RT_Info handle and dependencies - void init_rt_info (ACE_ENV_SINGLE_ARG_DECL); - - /// Compute a new qos_info to push up. - void compute_qos_info (TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// The RT_Info handle for this object - RtecScheduler::handle_t rt_info_; - - /// Has the Scheduler been updated? - int rt_info_computed_; - - /// Our operation name - ACE_CString name_; - - /// The scheduler we are going to use - RtecScheduler::Scheduler_var scheduler_; - - /// The implementation - TAO_EC_Filter* body_; - - /// The RT_Info handle for the body - RtecScheduler::handle_t body_info_; - - /// The RT_Info handle for the parent - RtecScheduler::handle_t parent_info_; - - /// Required for the scheduling service - RtecScheduler::Info_Type_t info_type_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_SCHED_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp deleted file mode 100644 index 95ef9e1886e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp +++ /dev/null @@ -1,335 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Sched_Filter.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/Event/EC_Sched_Filter_Builder.h" -#include "orbsvcs/Event/EC_Type_Filter.h" -#include "orbsvcs/Event/EC_Conjunction_Filter.h" -#include "orbsvcs/Event/EC_Disjunction_Filter.h" -#include "orbsvcs/Event/EC_Timeout_Filter.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "ace/OS_NS_stdio.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Sched_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Sched_Filter_Builder, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Sched_Filter_Builder::~TAO_EC_Sched_Filter_Builder (void) -{ -} - -TAO_EC_Filter* -TAO_EC_Sched_Filter_Builder::build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const -{ - CORBA::ULong pos = 0; - CORBA::Object_var tmp = - this->event_channel_->scheduler (); - - RtecScheduler::Scheduler_var scheduler = - RtecScheduler::Scheduler::_narrow (tmp.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // @@ How do we figure out which parent??? - RtecScheduler::handle_t parent_info = - scheduler->lookup ("Dispatching_Task-250000.us" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->recursive_build (supplier, qos, pos, - scheduler.in (), - parent_info - ACE_ENV_ARG_PARAMETER); -} - -TAO_EC_Filter* -TAO_EC_Sched_Filter_Builder::recursive_build ( - TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - RtecScheduler::handle_t parent_info - ACE_ENV_ARG_DECL) const -{ - const RtecEventComm::Event& e = qos.dependencies[pos].event; - - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR) - { - CORBA::ULong npos = pos; - ACE_CString name; - this->recursive_name (qos, npos, - scheduler, name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - RtecScheduler::handle_t rt_info = - scheduler->create (name.c_str () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - for (CORBA::ULong i = 0; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos, - scheduler, - rt_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - TAO_EC_Sched_Filter *filter; - ACE_NEW_RETURN (filter, - TAO_EC_Sched_Filter (name.c_str (), - rt_info, - scheduler, - new TAO_EC_Conjunction_Filter(children, - n), - rt_info, - parent_info, - RtecScheduler::CONJUNCTION), - 0); - TAO_EC_QOS_Info qos_info; - filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - // @@ - ACE_CHECK_RETURN (0); - return filter; - } - - else if (e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - { - CORBA::ULong npos = pos; - ACE_CString name; - this->recursive_name (qos, npos, - scheduler, name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - RtecScheduler::handle_t rt_info = - scheduler->create (name.c_str () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - TAO_EC_Filter** children; - ACE_NEW_RETURN (children, TAO_EC_Filter*[n], 0); - for (CORBA::ULong i = 0; i != n; ++i) - { - children[i] = this->recursive_build (supplier, qos, pos, - scheduler, - rt_info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - TAO_EC_Sched_Filter *filter; - ACE_NEW_RETURN (filter, - TAO_EC_Sched_Filter (name.c_str (), - rt_info, - scheduler, - new TAO_EC_Disjunction_Filter (children, - n), - rt_info, - parent_info, - RtecScheduler::DISJUNCTION), - 0); - - TAO_EC_QOS_Info qos_info; - filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - // @@ - ACE_CHECK_RETURN (0); - return filter; - } - - else if (e.header.type == ACE_ES_EVENT_TIMEOUT - || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT - || e.header.type == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - pos++; - - // @@ We need a unique name for each timeout, assigned by the - // application? - char buf[64]; - ACE_OS::sprintf (buf, "TIMEOUT:%u", - static_cast ((e.header.creation_time / 10000))); - ACE_CString name = buf; - - TAO_EC_QOS_Info qos_info; - qos_info.rt_info = - scheduler->create (name.c_str () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Convert the time to the proper units.... - RtecScheduler::Period_t period = - static_cast (e.header.creation_time / 10); - - scheduler->set (qos_info.rt_info, - RtecScheduler::VERY_LOW_CRITICALITY, - 0, // worst_cast_execution_time - 0, // typical_cast_execution_time - 0, // cached_cast_execution_time - period, - RtecScheduler::VERY_LOW_IMPORTANCE, - 0, // quantum - 1, // threads - RtecScheduler::OPERATION - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - scheduler->add_dependency (qos_info.rt_info, - parent_info, - 1, - RtecBase::TWO_WAY_CALL - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return new TAO_EC_Timeout_Filter (this->event_channel_, - supplier, - qos_info, - e.header.type, - e.header.creation_time); - } - - RtecScheduler::handle_t body_info = qos.dependencies[pos].rt_info; - - RtecScheduler::RT_Info_var info = - scheduler->get (body_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_CString name = info->entry_point.in (); - name += "#rep"; - - RtecScheduler::handle_t rt_info = - scheduler->create (name.c_str () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - pos++; - TAO_EC_Sched_Filter *filter; - ACE_NEW_RETURN (filter, - TAO_EC_Sched_Filter (name.c_str (), - rt_info, - scheduler, - new TAO_EC_Type_Filter (e.header), - body_info, - parent_info, - RtecScheduler::OPERATION), - 0); - - TAO_EC_QOS_Info qos_info; - filter->get_qos_info (qos_info ACE_ENV_ARG_PARAMETER); - // @@ - ACE_CHECK_RETURN (0); - return filter; -} - -void -TAO_EC_Sched_Filter_Builder:: recursive_name ( - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - ACE_CString& name - ACE_ENV_ARG_DECL) const -{ - const RtecEventComm::Event& e = qos.dependencies[pos].event; - - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - for (CORBA::ULong i = 0; i != n; ++i) - { - ACE_CString child_name; - this->recursive_name (qos, pos, - scheduler, - child_name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (i == 0) - name += "("; - else - name += "&&"; - name += child_name; - } - name += ")"; - return; - } - - else if (e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - { - pos++; // Consume the designator - CORBA::ULong n = this->count_children (qos, pos); - - for (CORBA::ULong i = 0; i != n; ++i) - { - ACE_CString child_name; - - this->recursive_name (qos, pos, - scheduler, - child_name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (i == 0) - name += "("; - else - name += "||"; - name += child_name; - } - name += ")"; - return; - } - - else if (e.header.type == ACE_ES_EVENT_TIMEOUT - || e.header.type == ACE_ES_EVENT_INTERVAL_TIMEOUT - || e.header.type == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - pos++; - - char buf[64]; - ACE_OS::sprintf (buf, "TIMEOUT:%u", - static_cast ((e.header.creation_time / 10000))); - name = buf; - - return; - } - - RtecScheduler::handle_t body_info = qos.dependencies[pos].rt_info; - - RtecScheduler::RT_Info_var info = - scheduler->get (body_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - name = info->entry_point.in (); - name += "#rep"; - - pos++; -} - -CORBA::ULong -TAO_EC_Sched_Filter_Builder:: - count_children (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong pos) const -{ - CORBA::ULong l = qos.dependencies.length (); - CORBA::ULong i; - for (i = pos; i != l; ++i) - { - const RtecEventComm::Event& e = qos.dependencies[i].event; - if (e.header.type == ACE_ES_CONJUNCTION_DESIGNATOR - || e.header.type == ACE_ES_DISJUNCTION_DESIGNATOR) - break; - } - return i - 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h deleted file mode 100644 index c649518ecbe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Sched_Filter_Builder.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SCHED_FILTER_BUILDER_H -#define TAO_EC_SCHED_FILTER_BUILDER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter_Builder.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/sched_event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Filter; -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_Sched_Filter_Builder - * - * @brief Implement a builder for the fundamental filters. - * - * The sched filtering mechanisms in the Event channel - * (source/type based filtering + disjunctions and conjunctions) - * are constructed using this class. - */ -class TAO_RTSchedEvent_Export TAO_EC_Sched_Filter_Builder : public TAO_EC_Filter_Builder -{ -public: - /// constructor. - TAO_EC_Sched_Filter_Builder (TAO_EC_Event_Channel_Base* ec); - - /// destructor... - virtual ~TAO_EC_Sched_Filter_Builder (void); - - // = The TAO_EC_Filter_Builder methods... - TAO_EC_Filter* build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) const; - -private: - /// Recursively build the filter tree. - TAO_EC_Filter* recursive_build (TAO_EC_ProxyPushSupplier *supplier, - RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - RtecScheduler::handle_t parent_info - ACE_ENV_ARG_DECL) const; - - /// Build the name recursively... - void recursive_name (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong& pos, - RtecScheduler::Scheduler_ptr scheduler, - ACE_CString &name - ACE_ENV_ARG_DECL) const; - - /// Count the number of children of the current node, i.e. until a - /// conjunction or disjunction starts. - CORBA::ULong count_children (RtecEventChannelAdmin::ConsumerQOS& qos, - CORBA::ULong pos) const; - -private: - /// The event channel. - TAO_EC_Event_Channel_Base* event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Sched_Filter_Builder.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_EC_SCHED_FILTER_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.i b/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.i deleted file mode 100644 index a00dfd725c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Sched_Filter_Builder:: - TAO_EC_Sched_Filter_Builder (TAO_EC_Event_Channel_Base *ec) - : event_channel_ (ec) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.cpp deleted file mode 100644 index 76be60d02ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" -#include "orbsvcs/Event/EC_QOS_Info.h" - -ACE_RCSID(Event, EC_Scheduling_Strategy, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Scheduling_Strategy::~TAO_EC_Scheduling_Strategy (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h b/TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h deleted file mode 100644 index 08d3a6bf5c2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Scheduling_Strategy.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SCHEDULING_STRATEGY_H -#define TAO_EC_SCHEDULING_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "orbsvcs/RtecBaseC.h" -#include "orbsvcs/RtecEventCommC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_ProxyPushConsumer; -class TAO_EC_ProxyPushSupplier; -class TAO_EC_Supplier_Filter; -class TAO_EC_QOS_Info; - -/** - * @class TAO_EC_Scheduling_Strategy - * - * @brief Define the interface for the scheduling strategy - * - * The scheduling strategy controls the actions that the event - * channel must take to update the dependency information in the - * scheduler and to query the scheduler for the priority of each - * event pushed by a supplier. - * The base - */ -class TAO_RTEvent_Serv_Export TAO_EC_Scheduling_Strategy -{ -public: - /// Destructor - virtual ~TAO_EC_Scheduling_Strategy (void); - - /// Add all the dependencies between @a supplier and @a consumer - virtual void add_proxy_supplier_dependencies ( - TAO_EC_ProxyPushSupplier *supplier, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) = 0; - - /// Schedule an event set and deliver them to the filter in the - /// desired order and grouping. - virtual void schedule_event (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer, - TAO_EC_Supplier_Filter *filter - ACE_ENV_ARG_DECL) = 0; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_SCHEDULING_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp deleted file mode 100644 index fb555cf3e95..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/ESF/ESF_Peer_Workers.h" -#include "orbsvcs/ESF/ESF_Peer_Admin.h" -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" - -ACE_RCSID(Event, EC_SupplierAdmin, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_SupplierAdmin::TAO_EC_SupplierAdmin (TAO_EC_Event_Channel_Base *ec) - : TAO_ESF_Peer_Admin (ec) -{ - this->default_POA_ = - this->event_channel_->supplier_poa (); -} - -TAO_EC_SupplierAdmin::~TAO_EC_SupplierAdmin (void) -{ -} - -RtecEventChannelAdmin::ProxyPushConsumer_ptr -TAO_EC_SupplierAdmin::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->obtain (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -PortableServer::POA_ptr -TAO_EC_SupplierAdmin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->default_POA_.in ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h deleted file mode 100644 index 44e9edb8dc9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_SupplierAdmin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SUPPLIERADMIN_H -#define TAO_EC_SUPPLIERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_ProxyConsumer.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Peer_Admin.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushSupplier; - -/** - * @class TAO_EC_SupplierAdmin - * - * @brief Implement the RtecEventChannelAdmin::SupplierAdmin interface. - * - * - *

Memory Management

- * It does not assume ownership of the TAO_EC_Event_Channel_Base object - */ -class TAO_RTEvent_Serv_Export TAO_EC_SupplierAdmin - : public POA_RtecEventChannelAdmin::SupplierAdmin - , public TAO_ESF_Peer_Admin -{ -public: - /// constructor... - TAO_EC_SupplierAdmin (TAO_EC_Event_Channel_Base* event_channel); - - /// destructor... - virtual ~TAO_EC_SupplierAdmin (void); - - // = The RtecEventChannelAdmin::SupplierAdmin methods... - virtual RtecEventChannelAdmin::ProxyPushConsumer_ptr - obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = The PortableServer::ServantBase methods - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - -private: - /// Store the default POA. - PortableServer::POA_var default_POA_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_SUPPLIERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.cpp deleted file mode 100644 index 7d73bfbaf53..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_SupplierControl.h" - -ACE_RCSID(Event, EC_SupplierControl, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_SupplierControl::TAO_EC_SupplierControl (void) -{ -} - -TAO_EC_SupplierControl::~TAO_EC_SupplierControl (void) -{ -} - -int -TAO_EC_SupplierControl::activate (void) -{ - return 0; -} - -int -TAO_EC_SupplierControl::shutdown (void) -{ - return 0; -} - -void -TAO_EC_SupplierControl::supplier_not_exist (TAO_EC_ProxyPushConsumer * - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_SupplierControl::system_exception (TAO_EC_ProxyPushConsumer *, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.h b/TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.h deleted file mode 100644 index e4247d13b5b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_SupplierControl.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_SupplierControl.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SUPPLIERCONTROL_H -#define TAO_EC_SUPPLIERCONTROL_H - -#include /**/ "ace/pre.h" -#include "ace/CORBA_macros.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_ProxyPushConsumer; - -namespace CORBA -{ - class Environment; - class SystemException; -} - -/** - * @class TAO_EC_SupplierControl - * - * @brief SupplierControl - * - * Defines the interface for the supplier control strategy. - * This strategy handles misbehaving or failing suppliers. - */ -class TAO_RTEvent_Serv_Export TAO_EC_SupplierControl -{ -public: - /// Constructor. - TAO_EC_SupplierControl (void); - - /// Destructor. - virtual ~TAO_EC_SupplierControl (void); - - /// Activate any internal threads or timers used to poll the state of - /// the suppliers - virtual int activate (void); - virtual int shutdown (void); - - /** - * Invoked by helper classes when they detect that a supplier does - * not exists (i.e. _non_existent() returns true and/or the - * CORBA::OBJECT_NOT_EXIST exception has been raised). - */ - virtual void supplier_not_exist (TAO_EC_ProxyPushConsumer *proxy - ACE_ENV_ARG_DECL_NOT_USED); - - /// Some system exception was raised while trying to contact the - /// supplier - virtual void system_exception (TAO_EC_ProxyPushConsumer * proxy, - CORBA::SystemException & - ACE_ENV_ARG_DECL_NOT_USED); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_SUPPLIERCONTROL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.cpp deleted file mode 100644 index 1f424fd0575..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Supplier_Filter.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_QOS_Info.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Supplier_Filter.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_Supplier_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Supplier_Filter::~TAO_EC_Supplier_Filter (void) -{ -} - -// **************************************************************** - -void -TAO_EC_Filter_Worker::work (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) -{ - TAO_EC_QOS_Info qos_info = this->event_info_; - supplier->filter (this->event_, qos_info ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h deleted file mode 100644 index 898fdc45e02..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h +++ /dev/null @@ -1,151 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Supplier_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SUPPLIER_FILTER_H -#define TAO_EC_SUPPLIER_FILTER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventCommC.h" -#include "orbsvcs/ESF/ESF_Worker.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_ProxyPushSupplier; -class TAO_EC_ProxyPushConsumer; -class TAO_EC_QOS_Info; - -/** - * @class TAO_EC_Supplier_Filter - * - * @brief The strategy to filter close to the supplier. - * - * After an event is received by the a ProxyPushConsumer it must - * be dispatched to the right set of ProxyPushSuppliers; - * determining this set is the task of this class. - * Notice that this is in fact a filter, and enforces (in part) - * the subscriptions and publications of the Event Service - * clients. - * Several implementations are possible: - * - Each ProxyPushConsumer keeps a list of ProxyPushSuppliers, - * using the subscriptions and publications to find potential - * matches. - * - Each ProxyPushConsumer keeps several such lists, indexed by - * event type and/or source, this has the advantage of further - * minimizing the set of ProxyPushSuppliers invoked. - * - A single list of consumers is kept (global for the event - * channel), such a list results is faster updates and requires - * an smaller memory footprint. - * - Multiple global lists are kept, indexed by type and/or - * source, this is a tradeoff between the solutions above. - * - No list is kept, the events are sent to the consumers which - * must filter out what they want, this is good when no - * filtering is wanted or when the amount of filtering is coarse - * i.e. each event goes to a large subset of the - * ProxyPushSuppliers. - * Different applications will require to use different - * implementations of this class; as usual the EC_Factory will - * create the right instance. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Supplier_Filter -{ -public: - /// Destructor - virtual ~TAO_EC_Supplier_Filter (void); - - /** - * Whenever a ProxyPushConsumer is initialized it calls this method - * to inform the Supplier_Filter of its identity. - * Strategies that do not keep ProxyPushConsumer specific - * information, or that are shared between multiple - * ProxyPushConsumers can ignore this message. - */ - virtual void bind (TAO_EC_ProxyPushConsumer* consumer) = 0; - - /** - * Wheneve a ProxyPushConsumer is about to be destroyed it calls - * this method to inform the Supplier_Filter that it should - * release any resources related to it. - * Supplier_Filter strategies that are bound to a particular - * ProxyConsumer can use this opportunity to destroy themselves; - * filter strategies that do not keep ProxyPushConsumer specific - * information can simply ignore the message. - */ - virtual void unbind (TAO_EC_ProxyPushConsumer* consumer) = 0; - - /// Concrete implementations can use this methods to keep track of - /// the consumers interested in this events. - virtual void connected (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) = 0; - virtual void reconnected (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) = 0; - virtual void disconnected (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL) = 0; - - /// The event channel is shutting down. - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// The ProxyPushConsumer delegates on this class to actually send - /// the event. - virtual void push (const RtecEventComm::EventSet &event, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) = 0; - - /// Events are first scheduled by the TAO_EC_Scheduling_Strategy, - /// and then pushed through this class again. - virtual void push_scheduled_event (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info - ACE_ENV_ARG_DECL) = 0; - - /// Increment and decrement the reference count, locking must be - /// provided by the user. - virtual CORBA::ULong _incr_refcnt (void) = 0; - virtual CORBA::ULong _decr_refcnt (void) = 0; -}; - -// **************************************************************** - -class TAO_EC_Filter_Worker : public TAO_ESF_Worker -{ -public: - TAO_EC_Filter_Worker (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info); - - virtual void work (TAO_EC_ProxyPushSupplier *supplier - ACE_ENV_ARG_DECL); - -private: - /// The event we push on each case, use a reference to avoid copies. - RtecEventComm::EventSet &event_; - - /// The QoS info propagated on each event. - const TAO_EC_QOS_Info &event_info_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Supplier_Filter.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_SUPPLIER_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.i b/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.i deleted file mode 100644 index 9b09afb3d74..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter.i +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Filter_Worker::TAO_EC_Filter_Worker (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info) - : event_ (event), - event_info_ (event_info) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.cpp deleted file mode 100644 index 63203a004fa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Supplier_Filter_Builder.h" - -ACE_RCSID(Event, EC_Supplier_Filter_Builder, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Supplier_Filter_Builder::~TAO_EC_Supplier_Filter_Builder (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h b/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h deleted file mode 100644 index d81cab67d94..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Supplier_Filter_Builder.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_SUPPLIER_FILTER_BUILDER_H -#define TAO_EC_SUPPLIER_FILTER_BUILDER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventChannelAdminC.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Supplier_Filter; -class TAO_EC_ProxyPushConsumer; - -/** - * @class TAO_EC_Supplier_Filter_Builder - * - * @brief Abstract base class for the supplier filter builders. - * - * The creation of the right filter for each supplier controlled - * by a Supplier_Filter_Builder. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Supplier_Filter_Builder -{ -public: - /// Destructor... - virtual ~TAO_EC_Supplier_Filter_Builder (void); - - /** - * Create the filter. The consumer is bound to the returned - * Supplier_Filter, it must be unbound upon destruction and/or - * disconnection. - */ - virtual TAO_EC_Supplier_Filter* - create (RtecEventChannelAdmin::SupplierQOS& qos) = 0; - - /// The user is returning the filter for destruction/recycling. - virtual void - destroy (TAO_EC_Supplier_Filter *filter) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_FILTER_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp deleted file mode 100644 index 1b06a04dca7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp +++ /dev/null @@ -1,198 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_TPC_Dispatching.h" -#include "orbsvcs/Event/EC_Defaults.h" - -#include - -ACE_RCSID(Event, EC_TPC_Dispatching, "$Id$") - -#if !defined(TAO_EC_TPC_DISPATCHING_DEFAULT_MAP_SIZE) -#define TAO_EC_TPC_DISPATCHING_DEFAULT_MAP_SIZE 32 -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern unsigned long EC_TPC_debug_level; - -TAO_EC_TPC_Dispatching::TAO_EC_TPC_Dispatching (TAO_EC_Queue_Full_Service_Object* so) - : consumer_task_map_(TAO_EC_TPC_DISPATCHING_DEFAULT_MAP_SIZE) - , queue_full_service_object_(so) -{ - ACE_ASSERT (this->queue_full_service_object_ != 0); -} - -TAO_EC_TPC_Dispatching::~TAO_EC_TPC_Dispatching () -{ - // No other dispatching strategy has a DTOR body. I can only - // assume that it's guaranteed that shutdown() is called before - // the DTOR, so the tear-down logic needs to go in the shutdown, - // and the DTOR need not call shutdown. -} - -int -TAO_EC_TPC_Dispatching::add_consumer (RtecEventComm::PushConsumer_ptr consumer - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - // Duplicate the pointer and hold it safely - RtecEventComm::PushConsumer_var pc = - RtecEventComm::PushConsumer::_duplicate(consumer); - - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t) TPC_Dispatching::add_consumer(%@)\n", pc.in())); - - TAO_EC_Dispatching_Task* dtask = - new TAO_EC_TPC_Dispatching_Task (&this->thread_manager_, - this->queue_full_service_object_); - - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t) TPC_Dispatching::add_consumer(%@): new task %@\n", pc.in(), dtask)); - - if ((dtask->activate (TAO_EC_DEFAULT_DISPATCHING_THREADS_FLAGS, - 1, // we only want one thread to dispatch to a consumer - 1, // magic number?? - TAO_EC_DEFAULT_DISPATCHING_THREADS_PRIORITY)) == -1) - { - ACE_DEBUG ((LM_WARNING, - "EC (%P|%t): TPC_Dispatching::add_consumer unable to activate" - " dispatching task for consumer (%@)\n", - consumer)); - delete dtask; - return -1; - } - - int bindresult = - this->consumer_task_map_.bind (RtecEventComm::PushConsumer::_duplicate(pc.in()), - dtask); - const char* explanation = 0; - if (bindresult == -1) - explanation = "general failure"; - else if (bindresult == 1) - explanation = "entry already exists"; - - if (explanation != 0) - { - ACE_DEBUG ((LM_WARNING, - "EC (%P|%t): TPC_Dispatching::add_consumer failed to bind consumer (%@)" - " and dispatch task in map (%s): %p\n", - consumer, explanation)); - dtask->putq (new TAO_EC_Shutdown_Task_Command); - dtask->wait (); - delete dtask; - return -1; - } - - return 0; -} - -int -TAO_EC_TPC_Dispatching::remove_consumer (RtecEventComm::PushConsumer_ptr consumer - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - TAO_EC_Dispatching_Task* dtask = 0; - - if (this->consumer_task_map_.find (consumer, dtask) == -1) - { - ACE_DEBUG ((LM_WARNING, - "EC (%P|%t): TPC_Dispatching::remove_consumer failed to" - " find consumer (%@) in map\n", consumer)); - return -1; - } - - // Must have found it...first try to unbind - if (this->consumer_task_map_.unbind (consumer) == -1) - { - ACE_DEBUG ((LM_WARNING, - "EC (%P|%t): TPC_Dispatching::remove_consumer failed to" - " unbind consumer (%@) and task in map\n", consumer)); - return -1; - } - - dtask->putq (new TAO_EC_Shutdown_Task_Command); - CORBA::release (consumer); // This matches the _duplicate in add_consumer - return 0; -} - -void -TAO_EC_TPC_Dispatching::activate (void) -{ -} - -void -TAO_EC_TPC_Dispatching::shutdown (void) -{ - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->lock_); - - // The MT_Dispatching strategy sends a TAO_EC_Shutdown_Task_Command - // to the dispatching task. Is that what we should do here? - MAPTYPE::ITERATOR iter = this->consumer_task_map_.begin (); - while (! iter.done()) - { - MAPTYPE::ENTRY* entry = 0; - if (! iter.next(entry)) - continue; - - entry->int_id_->putq (new TAO_EC_Shutdown_Task_Command); - iter.advance (); - } - - this->thread_manager_.wait (); // Wait for the threads to terminate - - // Now iterate again and call CORBA::release on the ext_id; - // we don't have to delete int_id_ b/c that happens in its close() method. - iter = this->consumer_task_map_.begin (); - while (! iter.done()) - { - MAPTYPE::ENTRY* entry = 0; - if (! iter.next(entry)) - continue; - - CORBA::release (entry->ext_id_); - iter.advance (); - } - - this->consumer_task_map_.unbind_all (); -} - -void -TAO_EC_TPC_Dispatching::push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - RtecEventComm::EventSet event_copy = event; - this->push_nocopy (proxy, consumer, event_copy, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_TPC_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL) -{ - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t) TPC_Dispatching::push_nocopy(supplier=%@,consumer=%@)\n", proxy, consumer)); - - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->lock_); - TAO_EC_Dispatching_Task* dtask; - - if (this->consumer_task_map_.find (consumer, dtask) == -1) - { - ACE_DEBUG ((LM_WARNING, - "EC (%P|%t): TPC_Dispatching::push_nocopy failed to" - " find consumer (%@) in map\n", consumer)); - } - else - { - dtask->push (proxy, consumer, event ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h deleted file mode 100644 index b8c7ea49cd3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_TPC_Dispatching.h - * - * $Id$ - * - * @author Chris Cleeland - * - */ - -#ifndef TAO_EC_TPC_DISPATCHING_H -#define TAO_EC_TPC_DISPATCHING_H -#include /**/ "ace/pre.h" - -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Null_Mutex.h" - -#include "orbsvcs/Event/EC_Dispatching.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_TPC_Dispatching_Task.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; - -/** - * @class TAO_EC_TPC_Dispatching - * - * @brief Dispatching strategy that isolates deliveries to a consumer from any other. - * - * This strategy uses a thread per consumer, and was specifically designed to - * isolate the effects of an ill-behaved consumer from affecting other consumers. - */ -class TAO_RTEvent_Serv_Export TAO_EC_TPC_Dispatching : public TAO_EC_Dispatching -{ -public: - TAO_EC_TPC_Dispatching (TAO_EC_Queue_Full_Service_Object* so); - ~TAO_EC_TPC_Dispatching (); - - // = The EC_Dispatching methods. - virtual void activate (void); - virtual void shutdown (void); - virtual void push (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (TAO_EC_ProxyPushSupplier* proxy, - RtecEventComm::PushConsumer_ptr consumer, - RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - - int add_consumer (RtecEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL); - int remove_consumer (RtecEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL); - -private: - // Use our own thread manager - ACE_Thread_Manager thread_manager_; - - typedef ACE_Hash_Map_Manager_Ex,ACE_Equal_To,ACE_Null_Mutex> MAPTYPE; - - // Tweak the default size of this map by #defining - // TAO_EC_TPC_DISPATCHING_DEFAULT_MAP_SIZE - MAPTYPE consumer_task_map_; - - // Lock for modifying the map. It's not enough to have a lock only - // on the map, because we have to hold the map constant while doing - // multiple distinct map manipulations, such as in remove_consumer(). - ACE_SYNCH_MUTEX lock_; - - // Service object information - TAO_EC_Queue_Full_Service_Object* queue_full_service_object_; // @@ who will release? - // @@ check to see how the factory gets released... -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_TPC_DISPATCHING_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp deleted file mode 100644 index f70fb6aeac9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_TPC_Dispatching_Task.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_TPC_Dispatching_Task::TAO_EC_TPC_Dispatching_Task -(ACE_Thread_Manager* thr_mgr, - TAO_EC_Queue_Full_Service_Object* so) - : TAO_EC_Dispatching_Task (thr_mgr, so) -{ -} - -int -TAO_EC_TPC_Dispatching_Task::close (u_long /* flags */) -{ - delete this; - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h deleted file mode 100644 index ff92abce00b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h +++ /dev/null @@ -1,34 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_TPC_Dispatching_Task.h - * - * $Id$ - * - * @author Chris Cleeland - */ - -#ifndef TAO_EC_TPC_DISPATCHING_TASK_H -#define TAO_EC_TPC_DISPATCHING_TASK_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Dispatching_Task.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_RTEvent_Serv_Export TAO_EC_TPC_Dispatching_Task : public TAO_EC_Dispatching_Task -{ -public: - /// Constructor - TAO_EC_TPC_Dispatching_Task (ACE_Thread_Manager* thr_mgr, TAO_EC_Queue_Full_Service_Object* so); - virtual int close (u_long flags = 0); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_TPC_DISPATCHING_TASK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp deleted file mode 100644 index c8e822ed5b9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp +++ /dev/null @@ -1,124 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_TPC_Factory.h" - -#include "orbsvcs/Event/EC_TPC_Dispatching.h" -#include "orbsvcs/Event/EC_TPC_ProxySupplier.h" -#include "orbsvcs/Event/EC_TPC_ProxyConsumer.h" - -#include "tao/ORB_Core.h" - -#include "ace/Arg_Shifter.h" -#include "ace/Sched_Params.h" -#include "ace/OS_NS_strings.h" - -ACE_RCSID(Event, EC_TPC_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -unsigned long EC_TPC_debug_level; - -TAO_EC_TPC_Factory::TAO_EC_TPC_Factory (void) -{ - EC_TPC_debug_level = 0; -} - -TAO_EC_TPC_Factory::~TAO_EC_TPC_Factory (void) -{ -} - -int -TAO_EC_TPC_Factory::init_svcs (void) -{ - TAO_EC_Simple_Queue_Full_Action::init_svcs(); - return ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_EC_TPC_Factory); -} - -int -TAO_EC_TPC_Factory::init (int argc, char* argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - while (arg_shifter.is_anything_left ()) - { - const char *arg = arg_shifter.get_current (); - - if (ACE_OS::strcasecmp (arg, "-ECDispatching") == 0) - { - arg_shifter.consume_arg (); - - if (arg_shifter.is_parameter_next ()) - { - // Here we print out a message indicating that this - // option isn't valid with this factory and that it's - // being ignored. - - ACE_DEBUG ((LM_ERROR, - "EC_TPC_Factory - " - "-ECDispatching not supported with TPC_Factory; ignoring the option and using thread-per-consumer dispatch strategy\n")); - arg_shifter.consume_arg (); - } - } - if (ACE_OS::strcasecmp (arg, "-ECTPCDebug") == 0) - { - arg_shifter.consume_arg (); - ++EC_TPC_debug_level; - } - else - { - arg_shifter.ignore_arg (); - } - - } - - return TAO_EC_Default_Factory::init (argc, argv); -} - -// **************************************************************** - -TAO_EC_Dispatching* -TAO_EC_TPC_Factory::create_dispatching (TAO_EC_Event_Channel_Base *) -{ - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t) EC_TPC_Factory::create_dispatching\n")); - - TAO_EC_Queue_Full_Service_Object* so = - this->find_service_object (this->queue_full_service_object_name_.fast_rep(), - TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME); - - return new TAO_EC_TPC_Dispatching (so); -} - - -TAO_EC_ProxyPushSupplier* -TAO_EC_TPC_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel_Base *ec) -{ - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t) EC_TPC_Factory::create_proxy_push_supplier\n")); - return new TAO_EC_TPC_ProxyPushSupplier (ec, this->consumer_validate_connection_); -} - - -TAO_EC_ProxyPushConsumer* -TAO_EC_TPC_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel_Base *ec) -{ - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t) EC_TPC_Factory::create_proxy_push_consumer\n")); - return new TAO_EC_TPC_ProxyPushConsumer (ec); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_EC_TPC_Factory, - ACE_TEXT ("EC_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_EC_TPC_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_RTEvent_Serv, TAO_EC_TPC_Factory) - -// **************************************************************** - diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.h deleted file mode 100644 index c65e5be61cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_Factory.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_TPC_Factory.h - * - * $Id$ - * - */ - -#ifndef TAO_EC_TPC_FACTORY_H -#define TAO_EC_TPC_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Default_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_TPC_Factory - * - * @brief A generic factory for EC experimentation. - * - * This class allows the user to experiment with different EC - * configurations. Using a command-line like interface the user - * can specify which strategies will this factory generate. - * Since the class can be dynamically loaded the strategies can be - * set in the service configurator file. - */ -class TAO_RTEvent_Serv_Export TAO_EC_TPC_Factory : public TAO_EC_Default_Factory -{ -public: - /// Constructor - TAO_EC_TPC_Factory (void); - - /// destructor... - virtual ~TAO_EC_TPC_Factory (void); - - /// Helper function to register the default factory into the service - /// configurator. - static int init_svcs (void); - - // = The Service_Object entry points - virtual int init (int argc, char* argv[]); - - // = The EC_Factory methods - virtual TAO_EC_Dispatching* - create_dispatching (TAO_EC_Event_Channel_Base*); - - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*); - - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*); -}; - -extern unsigned long EC_TPC_debug_level; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_EC_TPC_Factory) -ACE_FACTORY_DECLARE (TAO_RTEvent_Serv, TAO_EC_TPC_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_EC_TPC_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp deleted file mode 100644 index 6a7cc347cb1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_TPC_ProxyConsumer.h" - -ACE_RCSID(Event, EC_TPC_ProxyConsumer, "$Id$") - -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_TPC_Dispatching.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern unsigned long EC_TPC_debug_level; - -TAO_EC_TPC_ProxyPushConsumer::TAO_EC_TPC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* ec) -: TAO_EC_Default_ProxyPushConsumer (ec) -{ -} - -TAO_EC_TPC_Dispatching* -TAO_EC_TPC_ProxyPushConsumer::tpc_dispatching () -{ - TAO_EC_Dispatching* dispatcher = this->event_channel_->dispatching (); - TAO_EC_TPC_Dispatching* tpcdispatcher = - dynamic_cast(dispatcher); - return tpcdispatcher; -} - -TAO_EC_TPC_ProxyPushConsumer::~TAO_EC_TPC_ProxyPushConsumer (void) -{ - // @@@ Do I need to call the logic to remove the consumer from the - // dispatch map in here? I'm not sure... But, if I do, then I need - // to fact that "remove" code out of just the - // disconnect_push_consumer. - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "RTEC (%P|%t): inside ~TAO_EC_TPC_ProxyPushConsumer (%x)\n", this)); -} - -void -TAO_EC_TPC_ProxyPushConsumer::disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - RtecEventComm::PushConsumer_var emulated_exceptions_suck = - this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->tpc_dispatching ()->remove_consumer (emulated_exceptions_suck.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - BASECLASS::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h deleted file mode 100644 index 9fb7ff1dc0c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_TPC_ProxyConsumer.h - * - * $Id$ - * - * @author Chris Cleeland - * - */ - -#ifndef TAO_EC_TPC_PROXYCONSUMER_H -#define TAO_EC_TPC_PROXYCONSUMER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Default_ProxyConsumer.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Dispatching; -class TAO_EC_TPC_Dispatching; - -/** - * @class TAO_EC_TPC_ProxyPushConsumer - * - */ -class TAO_RTEvent_Serv_Export TAO_EC_TPC_ProxyPushConsumer : - public TAO_EC_Default_ProxyPushConsumer -{ -public: - TAO_EC_TPC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* ec); - virtual ~TAO_EC_TPC_ProxyPushConsumer (void); - - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - typedef TAO_EC_Default_ProxyPushConsumer BASECLASS; - TAO_EC_TPC_Dispatching* tpc_dispatching (); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp deleted file mode 100644 index 6ead39a342e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_TPC_ProxySupplier.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_TPC_ProxySupplier.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Event, EC_TPC_ProxySupplier, "$Id$") - -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_TPC_Dispatching.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern unsigned long EC_TPC_debug_level; - -TAO_EC_TPC_ProxyPushSupplier::~TAO_EC_TPC_ProxyPushSupplier (void) -{ - -} - -void -TAO_EC_TPC_ProxyPushSupplier:: disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t): enter EC_TPC_ProxySupplier::disconnect_push_supplier (%@): refcount=%u,consumer=%@\n", - this, - this->refcount_, - this->consumer_.in())); - - if (this->is_connected_i ()) - { - this->tpc_dispatching ()->remove_consumer (this->consumer_.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - BASECLASS::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t): leave EC_TPC_ProxySupplier::disconnect_push_supplier (%@)\n", this)); -} - -TAO_EC_TPC_Dispatching* -TAO_EC_TPC_ProxyPushSupplier::tpc_dispatching () -{ - TAO_EC_Dispatching* dispatcher = this->event_channel_->dispatching (); - - return dynamic_cast (dispatcher); -} - -void -TAO_EC_TPC_ProxyPushSupplier::connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)) -{ - BASECLASS::connect_push_consumer (push_consumer, qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "EC (%P|%t): EC_ProxySupplier(%@): refcount=%u,consumer=%@\n", - this, this->refcount_, this->consumer_.in())); - - TAO_EC_TPC_Dispatching* tpcdispatcher = this->tpc_dispatching (); - - // the new dispatching task gets automatically created - tpcdispatcher->add_consumer (push_consumer ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h deleted file mode 100644 index 345b17c0619..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h +++ /dev/null @@ -1,64 +0,0 @@ -// -*- C++ -*- -/** - * @file EC_TPC_ProxySupplier.h - * - * $Id$ - * - * @author Chris Cleeland - * - */ - -#ifndef TAO_EC_TPC_PROXYSUPPLIER_H -#define TAO_EC_TPC_PROXYSUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Default_ProxySupplier.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Dispatching; -class TAO_EC_TPC_Dispatching; - -class TAO_RTEvent_Serv_Export TAO_EC_TPC_ProxyPushSupplier : - public TAO_EC_Default_ProxyPushSupplier -{ -public: - /// Constructor - TAO_EC_TPC_ProxyPushSupplier (TAO_EC_Event_Channel_Base* event_channel, int validate_connection); - - /// Dtor - virtual ~TAO_EC_TPC_ProxyPushSupplier (void); - - /*! These are overriden from the base class in order to maintain the - map in the dispatcher class. */ - - // = The RtecEventChannelAdmin::ProxyPushSupplier methods... - virtual void connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)); - - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - typedef TAO_EC_Default_ProxyPushSupplier BASECLASS; - TAO_EC_TPC_Dispatching* tpc_dispatching (); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_TPC_ProxySupplier.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i b/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i deleted file mode 100644 index 6a31a5fc0d1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i +++ /dev/null @@ -1,17 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern unsigned long EC_TPC_debug_level; - -ACE_INLINE -TAO_EC_TPC_ProxyPushSupplier::TAO_EC_TPC_ProxyPushSupplier (TAO_EC_Event_Channel_Base* ec, int validate_connection) -: TAO_EC_Default_ProxyPushSupplier (ec, validate_connection) -{ - if (EC_TPC_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "(%P|%t) EC_TPC_ProxyPushSupplier::CTOR (%@)\n", this)); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp deleted file mode 100644 index 3b479983a13..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp +++ /dev/null @@ -1,171 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Timeout_Filter.h" -#include "orbsvcs/Event/EC_Timeout_Generator.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/Event_Service_Constants.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Timeout_Filter.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Timeout_Filter, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Timeout_Filter::TAO_EC_Timeout_Filter ( - TAO_EC_Event_Channel_Base *event_channel, - TAO_EC_ProxyPushSupplier *supplier, - const TAO_EC_QOS_Info& qos_info, - RtecEventComm::EventType type, - RtecEventComm::Time period) - : event_channel_ (event_channel), - supplier_ (supplier), - qos_info_ (qos_info), - type_ (type), - period_ (period), - id_ (-1) -{ - ACE_Time_Value tv_delta; - ORBSVCS_Time::TimeT_to_Time_Value (tv_delta, period); - - TAO_EC_Timeout_Generator *tg = - this->event_channel_->timeout_generator (); - - if (this->type_ == ACE_ES_EVENT_INTERVAL_TIMEOUT - || this->type_ == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - ACE_Time_Value tv_interval; - ORBSVCS_Time::TimeT_to_Time_Value (tv_interval, this->period_); - - this->id_ = - tg->schedule_timer (this, - tv_delta, - tv_interval); - } - else - { - this->id_ = - tg->schedule_timer (this, - tv_delta, - ACE_Time_Value::zero); - } - - // ACE_DEBUG ((LM_DEBUG, - // "EC_Timeout_Filter - interval = %d:%d, ID = %d\n", - // tv_interval.sec (), tv_interval.usec (), - // this->id_)); -} - -TAO_EC_Timeout_Filter::~TAO_EC_Timeout_Filter (void) -{ - this->event_channel_->timeout_generator ()->cancel_timer (this->qos_info_, - this->id_); -} - -void -TAO_EC_Timeout_Filter::push_to_proxy (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - qos_info.timer_id_ = this->id_; - - if (this->supplier_ != 0) - this->supplier_->filter (event, - qos_info - ACE_ENV_ARG_PARAMETER); -} - -int -TAO_EC_Timeout_Filter::filter (const RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ - if (qos_info.timer_id_ == this->id_ - && this->parent () != 0) - { - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; - } - return 0; -} - -int -TAO_EC_Timeout_Filter::filter_nocopy (RtecEventComm::EventSet &event, - TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL) -{ - if (qos_info.timer_id_ == this->id_ - && this->parent () != 0) - { - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; - } - return 0; -} - -void -TAO_EC_Timeout_Filter::push (const RtecEventComm::EventSet&, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Timeout_Filter::push_nocopy (RtecEventComm::EventSet&, - TAO_EC_QOS_Info& - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Timeout_Filter::clear (void) -{ - if (this->type_ == ACE_ES_EVENT_DEADLINE_TIMEOUT) - { - TAO_EC_Timeout_Generator *tg = - this->event_channel_->timeout_generator (); - - tg->cancel_timer (this->qos_info_, - this->id_); - - ACE_Time_Value tv_interval; - ORBSVCS_Time::TimeT_to_Time_Value (tv_interval, this->period_); - ACE_Time_Value tv_delta = tv_interval; - - this->id_ = - tg->schedule_timer (this, - tv_delta, - tv_interval); - } -} - -CORBA::ULong -TAO_EC_Timeout_Filter::max_event_size (void) const -{ - return 1; -} - -int -TAO_EC_Timeout_Filter::can_match ( - const RtecEventComm::EventHeader&) const -{ - return 0; -} - -int -TAO_EC_Timeout_Filter::add_dependencies ( - const RtecEventComm::EventHeader&, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h deleted file mode 100644 index 0658f0b0b46..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h +++ /dev/null @@ -1,120 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Timeout_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_TIMEOUT_FILTER_H -#define TAO_EC_TIMEOUT_FILTER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_QOS_Info.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushSupplier; - -/** - * @class TAO_EC_Timeout_Filter - * - * @brief A filter based on event type/source - * - * This filter only accept events with a predefined type/source, - * both the source and the type can be wildcards. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Timeout_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. - TAO_EC_Timeout_Filter (TAO_EC_Event_Channel_Base *event_channel, - TAO_EC_ProxyPushSupplier *supplier, - const TAO_EC_QOS_Info& qos_info, - RtecEventComm::EventType type, - RtecEventComm::Time period); - - /// Destructor. - virtual ~TAO_EC_Timeout_Filter (void); - - /// Return the QOS_Info for this Timeout filter. - const TAO_EC_QOS_Info& qos_info (void) const; - - /// The type of timeout event that we generate. - RtecEventComm::EventType type (void) const; - - /// Callback from the Timeout_Generator - void push_to_proxy (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Timeout_Filter (const TAO_EC_Timeout_Filter&); - TAO_EC_Timeout_Filter& operator= (const TAO_EC_Timeout_Filter&); - -private: - /// The event channel. - TAO_EC_Event_Channel_Base* event_channel_; - - /// The supplier that finally receives the timeout event. - TAO_EC_ProxyPushSupplier *supplier_; - - /// Events "generated" by this filter use this QOS_Info. - TAO_EC_QOS_Info qos_info_; - - /// The type of timeout event... - RtecEventComm::EventType type_; - - /// The period for deadline timeouts... - RtecEventComm::Time period_; - - /// The ID of the timeout in the Timeout_Generator, for - /// cancellation. - long id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Timeout_Filter.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_TIMEOUT_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i b/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i deleted file mode 100644 index a6e30773801..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i +++ /dev/null @@ -1,19 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const TAO_EC_QOS_Info& -TAO_EC_Timeout_Filter::qos_info (void) const -{ - return this->qos_info_; -} - -ACE_INLINE RtecEventComm::EventType -TAO_EC_Timeout_Filter::type (void) const -{ - return this->type_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp deleted file mode 100644 index 23d098ceba6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Timeout_Generator.h" -#include "orbsvcs/Event/EC_Timeout_Filter.h" -#include "orbsvcs/Event_Service_Constants.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Timeout_Generator.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Event, - EC_Timeout_Generator, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Timeout_Generator::~TAO_EC_Timeout_Generator (void) -{ -} - -// **************************************************************** - -int -TAO_EC_Timeout_Adapter::handle_timeout (const ACE_Time_Value & /* tv */, - const void *vp) -{ - // ACE_DEBUG ((LM_DEBUG, - // "TAO_EC_Timeout_Adapter::handle_timeout -" - // " expire at %d:%d\n", - // tv.sec (), tv.usec ())); - - TAO_EC_Timeout_Filter *filter = - static_cast (const_cast (vp)); - - if (filter == 0) - return 0; - - ACE_TRY_NEW_ENV - { - RtecEventComm::Event e; - e.header.type = filter->type (); - e.header.source = 0; - - RtecEventComm::EventSet single_event (1, 1, &e, 0); - - TAO_EC_QOS_Info qos_info = filter->qos_info (); - filter->push_to_proxy (single_event, - qos_info - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h b/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h deleted file mode 100644 index 44a6642de69..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Timeout_Generator.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_TIMEOUT_GENERATOR_H -#define TAO_EC_TIMEOUT_GENERATOR_H - -#include /**/ "ace/pre.h" -#include "ace/Event_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#include "orbsvcs/Event/EC_Timeout_Filter.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_QOS_Info; - -/** - * @class TAO_EC_Timeout_Generator - * - * @brief Define the interface for the generators of timeout events. - * - * The Event Channel can use several strategies to dispatch - * timers, for instance, it can use the ORB reactor or a pool of - * reactors running at different priorities or a pool of - * Thread_Timer_Queue_Adapters running at different priorities - * also. - * This class is the abstract base class to abstract this - * strategies. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Timeout_Generator -{ -public: - /// destructor - virtual ~TAO_EC_Timeout_Generator (void); - - /// Activate any internal threads. - virtual void activate (void) = 0; - - /// Deactivate any internal threads, clients can destroy the object - /// after calling this method. - virtual void shutdown (void) = 0; - - /// Add a timer at the given priority, returns the timer ID. - virtual int schedule_timer (TAO_EC_Timeout_Filter* filter, - const ACE_Time_Value& delta, - const ACE_Time_Value& interval) = 0; - - /// Cancel a timer at the given priority. - virtual int cancel_timer (const TAO_EC_QOS_Info& info, - int id) = 0; -}; - -// **************************************************************** - -/** - * @class TAO_EC_Timeout_Adapter - * - * @brief Adapt the EC_Filter interface as an Event_Handler. - * - * ACE timer queues (including the reactor) use Event_Handlers to - * dispatch events, but we want to receive them in EC_Filters, - * this class is and adaptor for that purpose. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Timeout_Adapter : public ACE_Event_Handler -{ -public: - /// Default construction. - TAO_EC_Timeout_Adapter (void); - -private: - /// Casts to EC_Filter and dispatches an event to it. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *act); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event/EC_Timeout_Generator.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_TIMEOUT_GENERATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i b/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i deleted file mode 100644 index aba1263d609..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i +++ /dev/null @@ -1,12 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_EC_Timeout_Adapter::TAO_EC_Timeout_Adapter (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp deleted file mode 100644 index c5d3dc1b72c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp +++ /dev/null @@ -1,112 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Trivial_Supplier_Filter.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" // @@ MSVC 6 bug - -ACE_RCSID(Event, EC_Trivial_Supplier_Filter, "$Id$") - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Trivial_Supplier_Filter:: - TAO_EC_Trivial_Supplier_Filter (TAO_EC_Event_Channel_Base* ec) - : event_channel_ (ec) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::bind (TAO_EC_ProxyPushConsumer*) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::unbind (TAO_EC_ProxyPushConsumer*) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::connected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::reconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::disconnected (TAO_EC_ProxyPushSupplier* - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ -} - -void -TAO_EC_Trivial_Supplier_Filter::push (const RtecEventComm::EventSet& event, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL) -{ - TAO_EC_Scheduling_Strategy* scheduling_strategy = - this->event_channel_->scheduling_strategy (); - scheduling_strategy->schedule_event (event, - consumer, - this - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Trivial_Supplier_Filter::push_scheduled_event (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info - ACE_ENV_ARG_DECL) -{ - TAO_EC_Filter_Worker worker (event, event_info); - this->event_channel_->for_each_consumer (&worker - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ULong -TAO_EC_Trivial_Supplier_Filter::_incr_refcnt (void) -{ - return 1; -} - -CORBA::ULong -TAO_EC_Trivial_Supplier_Filter::_decr_refcnt (void) -{ - return 1; -} - -// **************************************************************** - -TAO_EC_Trivial_Supplier_Filter_Builder:: - TAO_EC_Trivial_Supplier_Filter_Builder (TAO_EC_Event_Channel_Base *ec) - : filter_ (ec) -{ -} - -TAO_EC_Supplier_Filter* -TAO_EC_Trivial_Supplier_Filter_Builder::create ( - RtecEventChannelAdmin::SupplierQOS&) -{ - return &this->filter_; -} - -void -TAO_EC_Trivial_Supplier_Filter_Builder::destroy ( - TAO_EC_Supplier_Filter*) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h deleted file mode 100644 index 617bd87f6d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h +++ /dev/null @@ -1,109 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Trivial_Supplier_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_TRIVIAL_SUPPLIER_FILTER_H -#define TAO_EC_TRIVIAL_SUPPLIER_FILTER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Supplier_Filter.h" -#include "orbsvcs/Event/EC_Supplier_Filter_Builder.h" - -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EC_Event_Channel_Base; -class TAO_EC_ProxyPushSupplier_Set; - -// **************************************************************** - -/** - * @class TAO_EC_Trivial_Supplier_Filter - * - * @brief A null filtering strategy. - * - * This strategy does no filtering, it is useful for backends of - * the CosEventChannel, testing and broadcasters; it uses the - * ConsumerAdmin to find all the consumers and pushes the event to - * all of them. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Trivial_Supplier_Filter : public TAO_EC_Supplier_Filter -{ -public: - /// Constructor - TAO_EC_Trivial_Supplier_Filter (TAO_EC_Event_Channel_Base* ec); - - // = The TAO_EC_Supplier_Filter methods. - virtual void bind (TAO_EC_ProxyPushConsumer* consumer); - virtual void unbind (TAO_EC_ProxyPushConsumer* consumer); - virtual void connected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void reconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void disconnected (TAO_EC_ProxyPushSupplier* supplier - ACE_ENV_ARG_DECL); - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_ProxyPushConsumer *consumer - ACE_ENV_ARG_DECL_NOT_USED); - virtual void push_scheduled_event (RtecEventComm::EventSet &event, - const TAO_EC_QOS_Info &event_info - ACE_ENV_ARG_DECL); - virtual CORBA::ULong _decr_refcnt (void); - virtual CORBA::ULong _incr_refcnt (void); - -private: - /// The event channel, used to locate the set of consumers. - TAO_EC_Event_Channel_Base *event_channel_; -}; - -// **************************************************************** - -/** - * @class TAO_EC_Trivial_Supplier_Filter_Builder - * - * @brief Create a single Trivial_Supplier_Filter. - * - * This Factory creates a single Trivial_Supplier_Filter that is - * used by all the suppliers (i.e. ProxyConsumers) of an event - * channel. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Trivial_Supplier_Filter_Builder : public TAO_EC_Supplier_Filter_Builder -{ -public: - /// constructor.... - TAO_EC_Trivial_Supplier_Filter_Builder (TAO_EC_Event_Channel_Base* ec); - - // = The TAO_EC_Supplier_Filter_Builder methods... - virtual TAO_EC_Supplier_Filter* - create (RtecEventChannelAdmin::SupplierQOS& qos); - virtual void - destroy (TAO_EC_Supplier_Filter *filter); - -private: - /// The filter.... - TAO_EC_Trivial_Supplier_Filter filter_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_EC_TRIVIAL_SUPPLIER_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp deleted file mode 100644 index d52f1d869aa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Type_Filter.h" - -ACE_RCSID(Event, EC_Type_Filter, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Type_Filter::TAO_EC_Type_Filter (const RtecEventComm::EventHeader& header) - : header_ (header) -{ -} - -int -TAO_EC_Type_Filter::filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (event.length () != 1) - return this->filter_set (event, qos_info ACE_ENV_ARG_PARAMETER); - - if (this->can_match (event[0].header)) - { - this->push (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; - } - return 0; -} - -int -TAO_EC_Type_Filter::filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (event.length () != 1) - return this->filter_set (event, qos_info ACE_ENV_ARG_PARAMETER); - - if (this->can_match (event[0].header)) - { - this->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return 1; - } - return 0; -} - -void -TAO_EC_Type_Filter::push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Type_Filter::push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - if (this->parent () != 0) - this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EC_Type_Filter::clear (void) -{ -} - -CORBA::ULong -TAO_EC_Type_Filter::max_event_size (void) const -{ - return 1; -} - -int -TAO_EC_Type_Filter::can_match ( - const RtecEventComm::EventHeader& header) const -{ - if (this->header_.source == 0) - { - if (this->header_.type == 0 || header.type == 0) - return 1; - else - return this->header_.type == header.type; - } - - if (this->header_.type == 0) - { - if (header.source == 0) - return 1; - else - return this->header_.source == header.source; - } - - if (header.source == 0) - { - if (header.type != 0) - return this->header_.type == header.type; - return 1; - } - - if (header.type == 0) - { - return this->header_.source == header.source; - } - - return (this->header_.type == header.type - && this->header_.source == header.source); -} - -int -TAO_EC_Type_Filter::add_dependencies ( - const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info & - ACE_ENV_ARG_DECL_NOT_USED) -{ - return this->can_match (header); -} - -int -TAO_EC_Type_Filter::filter_set (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL) -{ - CORBA::ULong maximum = event.length (); - if (event.maximum () == 0) - return 0; - - RtecEventComm::EventSet matched (maximum); - CORBA::ULong next_slot = 0; - for (CORBA::ULong i = 0; i != maximum; ++i) - { - if (!this->can_match (event[i].header)) - continue; - matched.length (next_slot + 1); - matched[next_slot] = event[i]; - next_slot++; - } - if (matched.length () == 0) - return 0; - - this->push (matched, qos_info ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.h b/TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.h deleted file mode 100644 index 12a0660bf72..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Type_Filter.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_Type_Filter.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_TYPE_FILTER_H -#define TAO_EC_TYPE_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_Filter.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Type_Filter - * - * @brief A filter based on event type/source - * - * This filter only accept events with a predefined type/source, - * both the source and the type can be wildcards. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Type_Filter : public TAO_EC_Filter -{ -public: - /// Constructor. - TAO_EC_Type_Filter (const RtecEventComm::EventHeader& header); - - // = The TAO_EC_Filter methods, please check the documentation in - // TAO_EC_Filter. - virtual int filter (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual int filter_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void push_nocopy (RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - virtual void clear (void); - virtual CORBA::ULong max_event_size (void) const; - virtual int can_match (const RtecEventComm::EventHeader& header) const; - virtual int add_dependencies (const RtecEventComm::EventHeader& header, - const TAO_EC_QOS_Info &qos_info - ACE_ENV_ARG_DECL); - -private: - TAO_EC_Type_Filter (const TAO_EC_Type_Filter&); - TAO_EC_Type_Filter& operator= (const TAO_EC_Type_Filter&); - - /// Filter an EventSet that contains more than one event. - int filter_set (const RtecEventComm::EventSet& event, - TAO_EC_QOS_Info& qos_info - ACE_ENV_ARG_DECL); - -private: - /// Encapsulate the type/source that we must match. - RtecEventComm::EventHeader header_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_TYPE_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp deleted file mode 100644 index eba83581c8d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp +++ /dev/null @@ -1,30 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_UDP_Admin.h" - -ACE_RCSID (Event, - EC_UDP_Admin, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EC_Simple_AddrServer::TAO_EC_Simple_AddrServer (CORBA::UShort port) - : port_ (port) -{ -} - -TAO_EC_Simple_AddrServer::~TAO_EC_Simple_AddrServer (void) -{ -} - -void -TAO_EC_Simple_AddrServer::get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - addr.ipaddr = header.type; - addr.port = this->port_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h b/TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h deleted file mode 100644 index 7e5ccff9920..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h +++ /dev/null @@ -1,60 +0,0 @@ -// -*- C++ -*- - -/** - * @file EC_UDP_Admin.h - * - * $Id$ - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and - * other members of the DOC group. More details can be found in: - * - * http://doc.ece.uci.edu/~coryan/EC/index.html - */ - -#ifndef TAO_EC_UDP_ADMIN_H -#define TAO_EC_UDP_ADMIN_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecUDPAdminS.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EC_Simple_AddrServer - * - * @brief TAO Real-time Event Service; a simple UDP address server. - * - * The EC is able to use multiple multicast groups to transmit its - * data, the is given control over the mapping between the Event - * (type,source) pair and the (ipaddr,port) pair using a - * AddrServer. - * This class implements a very simple server that simply maps the - * type component to the ipaddr and uses a fixed port, - * provided at initialization time. - */ -class TAO_RTEvent_Serv_Export TAO_EC_Simple_AddrServer : public POA_RtecUDPAdmin::AddrServer -{ -public: - /// Constructor - TAO_EC_Simple_AddrServer (CORBA::UShort port); - - /// Destructor - virtual ~TAO_EC_Simple_AddrServer (void); - - // = The RtecUDPAdmin::AddrServer methods - virtual void get_addr (const RtecEventComm::EventHeader& header, - RtecUDPAdmin::UDP_Addr_out addr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - CORBA::UShort port_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_UDP_ADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event/event_export.h b/TAO/orbsvcs/orbsvcs/Event/event_export.h deleted file mode 100644 index 87a6ddf5a12..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/event_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTEVENT_EXPORT_H -#define TAO_RTEVENT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTEVENT_HAS_DLL) -# define TAO_RTEVENT_HAS_DLL 0 -# endif /* ! TAO_RTEVENT_HAS_DLL */ -#else -# if !defined (TAO_RTEVENT_HAS_DLL) -# define TAO_RTEVENT_HAS_DLL 1 -# endif /* ! TAO_RTEVENT_HAS_DLL */ -#endif - -#if defined (TAO_RTEVENT_HAS_DLL) && (TAO_RTEVENT_HAS_DLL == 1) -# if defined (TAO_RTEVENT_BUILD_DLL) -# define TAO_RTEvent_Export ACE_Proper_Export_Flag -# define TAO_RTEVENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTEVENT_BUILD_DLL */ -# define TAO_RTEvent_Export ACE_Proper_Import_Flag -# define TAO_RTEVENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTEVENT_BUILD_DLL */ -#else /* TAO_RTEVENT_HAS_DLL == 1 */ -# define TAO_RTEvent_Export -# define TAO_RTEVENT_SINGLETON_DECLARATION(T) -# define TAO_RTEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTEVENT_HAS_DLL == 1 */ - -#endif /* TAO_RTEVENT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event/event_serv_export.h b/TAO/orbsvcs/orbsvcs/Event/event_serv_export.h deleted file mode 100644 index a6f6ba465be..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/event_serv_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTEVENT_SERV_EXPORT_H -#define TAO_RTEVENT_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTEVENT_SERV_HAS_DLL) -# define TAO_RTEVENT_SERV_HAS_DLL 0 -# endif /* ! TAO_RTEVENT_SERV_HAS_DLL */ -#else -# if !defined (TAO_RTEVENT_SERV_HAS_DLL) -# define TAO_RTEVENT_SERV_HAS_DLL 1 -# endif /* ! TAO_RTEVENT_SERV_HAS_DLL */ -#endif - -#if defined (TAO_RTEVENT_SERV_HAS_DLL) && (TAO_RTEVENT_SERV_HAS_DLL == 1) -# if defined (TAO_RTEVENT_SERV_BUILD_DLL) -# define TAO_RTEvent_Serv_Export ACE_Proper_Export_Flag -# define TAO_RTEVENT_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENT_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTEVENT_BUILD_DLL */ -# define TAO_RTEvent_Serv_Export ACE_Proper_Import_Flag -# define TAO_RTEVENT_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENT_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTEVENT_SERV_BUILD_DLL */ -#else /* TAO_RTEVENT_SERV_HAS_DLL == 1 */ -# define TAO_RTEvent_Serv_Export -# define TAO_RTEVENT_SERV_SINGLETON_DECLARATION(T) -# define TAO_RTEVENT_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTEVENT_SERV_HAS_DLL == 1 */ - -#endif /* TAO_RTEVENT_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event/event_skel_export.h b/TAO/orbsvcs/orbsvcs/Event/event_skel_export.h deleted file mode 100644 index 70c88d4289e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/event_skel_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTEVENT_SKEL_EXPORT_H -#define TAO_RTEVENT_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTEVENT_SKEL_HAS_DLL) -# define TAO_RTEVENT_SKEL_HAS_DLL 0 -# endif /* ! TAO_RTEVENT_SKEL_HAS_DLL */ -#else -# if !defined (TAO_RTEVENT_SKEL_HAS_DLL) -# define TAO_RTEVENT_SKEL_HAS_DLL 1 -# endif /* ! TAO_RTEVENT_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_RTEVENT_SKEL_HAS_DLL) && (TAO_RTEVENT_SKEL_HAS_DLL == 1) -# if defined (TAO_RTEVENT_SKEL_BUILD_DLL) -# define TAO_RTEvent_Skel_Export ACE_Proper_Export_Flag -# define TAO_RTEVENT_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENT_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTEVENT_SKEL_BUILD_DLL */ -# define TAO_RTEvent_Skel_Export ACE_Proper_Import_Flag -# define TAO_RTEVENT_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENT_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTEVENT_SKEL_BUILD_DLL */ -#else /* TAO_RTEVENT_SKEL_HAS_DLL == 1 */ -# define TAO_RTEvent_Skel_Export -# define TAO_RTEVENT_SKEL_SINGLETON_DECLARATION(T) -# define TAO_RTEVENT_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTEVENT_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_RTEVENT_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h b/TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h deleted file mode 100644 index e2af98341c2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/rtcorba_event_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTCORBAEVENT_EXPORT_H -#define TAO_RTCORBAEVENT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTCORBAEVENT_HAS_DLL) -# define TAO_RTCORBAEVENT_HAS_DLL 0 -# endif /* ! TAO_RTCORBAEVENT_HAS_DLL */ -#else -# if !defined (TAO_RTCORBAEVENT_HAS_DLL) -# define TAO_RTCORBAEVENT_HAS_DLL 1 -# endif /* ! TAO_RTCORBAEVENT_HAS_DLL */ -#endif - -#if defined (TAO_RTCORBAEVENT_HAS_DLL) && (TAO_RTCORBAEVENT_HAS_DLL == 1) -# if defined (TAO_RTCORBAEVENT_BUILD_DLL) -# define TAO_RTCORBAEvent_Export ACE_Proper_Export_Flag -# define TAO_RTCORBAEVENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTCORBAEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTCORBAEVENT_BUILD_DLL */ -# define TAO_RTCORBAEvent_Export ACE_Proper_Import_Flag -# define TAO_RTCORBAEVENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTCORBAEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTCORBAEVENT_BUILD_DLL */ -#else /* TAO_RTCORBAEVENT_HAS_DLL == 1 */ -# define TAO_RTCORBAEvent_Export -# define TAO_RTCORBAEVENT_SINGLETON_DECLARATION(T) -# define TAO_RTCORBAEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTCORBAEVENT_HAS_DLL == 1 */ - -#endif /* TAO_RTCORBAEVENT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event/rtkokyu_event_export.h b/TAO/orbsvcs/orbsvcs/Event/rtkokyu_event_export.h deleted file mode 100644 index 9d56447dabd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/rtkokyu_event_export.h +++ /dev/null @@ -1,56 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_RTKokyuEvent -// ------------------------------ -#ifndef TAO_RTKOKYUEVENT_EXPORT_H -#define TAO_RTKOKYUEVENT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTKOKYUEVENT_HAS_DLL) -# define TAO_RTKOKYUEVENT_HAS_DLL 0 -# endif /* ! TAO_RTEVENT_HAS_DLL */ -#else -# if !defined (TAO_RTKOKYUEVENT_HAS_DLL) -# define TAO_RTKOKYUEVENT_HAS_DLL 1 -# endif /* ! TAO_RTKOKYUEVENT_HAS_DLL */ -#endif - -#if defined (TAO_RTKOKYUEVENT_HAS_DLL) && (TAO_RTKOKYUEVENT_HAS_DLL == 1) -# if defined (TAO_RTKOKYUEVENT_BUILD_DLL) -# define TAO_RTKokyuEvent_Export ACE_Proper_Export_Flag -# define TAO_RTKOKYUEVENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTKOKYUEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTKOKYUEVENT_BUILD_DLL */ -# define TAO_RTKokyuEvent_Export ACE_Proper_Import_Flag -# define TAO_RTKOKYUEVENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTKOKYUEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTKOKYUEVENT_BUILD_DLL */ -#else /* TAO_RTKOKYUEVENT_HAS_DLL == 1 */ -# define TAO_RTKokyuEvent_Export -# define TAO_RTKOKYUEVENT_SINGLETON_DECLARATION(T) -# define TAO_RTKOKYUEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTKOKYUEVENT_HAS_DLL == 1 */ - -// Set TAO_RTKOKYUEVENT_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_RTKOKYUEVENT_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_RTKOKYUEVENT_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_RTKOKYUEVENT_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_RTKOKYUEVENT_NTRACE */ - -#if (TAO_RTKOKYUEVENT_NTRACE == 1) -# define TAO_RTKOKYUEVENT_TRACE(X) -#else /* (TAO_RTKOKYUEVENT_NTRACE == 1) */ -# define TAO_RTKOKYUEVENT_TRACE(X) ACE_TRACE_IMPL(X) -#endif /* (TAO_RTKOKYUEVENT_NTRACE == 1) */ - -#endif /* TAO_RTKOKYUEVENT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event/sched_event_export.h b/TAO/orbsvcs/orbsvcs/Event/sched_event_export.h deleted file mode 100644 index b9697e05882..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/sched_event_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTSCHEDEVENT_EXPORT_H -#define TAO_RTSCHEDEVENT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTSCHEDEVENT_HAS_DLL) -# define TAO_RTSCHEDEVENT_HAS_DLL 0 -# endif /* ! TAO_RTSCHEDEVENT_HAS_DLL */ -#else -# if !defined (TAO_RTSCHEDEVENT_HAS_DLL) -# define TAO_RTSCHEDEVENT_HAS_DLL 1 -# endif /* ! TAO_RTSCHEDEVENT_HAS_DLL */ -#endif - -#if defined (TAO_RTSCHEDEVENT_HAS_DLL) && (TAO_RTSCHEDEVENT_HAS_DLL == 1) -# if defined (TAO_RTSCHEDEVENT_BUILD_DLL) -# define TAO_RTSchedEvent_Export ACE_Proper_Export_Flag -# define TAO_RTSCHEDEVENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTSCHEDEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTSCHEDEVENT_BUILD_DLL */ -# define TAO_RTSchedEvent_Export ACE_Proper_Import_Flag -# define TAO_RTSCHEDEVENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTSCHEDEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTSCHEDEVENT_BUILD_DLL */ -#else /* TAO_RTSCHEDEVENT_HAS_DLL == 1 */ -# define TAO_RTSchedEvent_Export -# define TAO_RTSCHEDEVENT_SINGLETON_DECLARATION(T) -# define TAO_RTSCHEDEVENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTSCHEDEVENT_HAS_DLL == 1 */ - -#endif /* TAO_RTSCHEDEVENT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Event_Forwarder.idl b/TAO/orbsvcs/orbsvcs/Event_Forwarder.idl deleted file mode 100644 index bab9f7611c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Forwarder.idl +++ /dev/null @@ -1,50 +0,0 @@ - -/** - * @file Event_Forwarder.idl - * - * @brief - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef _EVENT_FORWARDER_IDL_ -#define _EVENT_FORWARDER_IDL_ - -#include "CosNotification.idl" -#include "CosNotifyChannelAdmin.idl" - -#pragma prefix "" - -/** - * @namespace Event_Forwarder - * - * @brief - */ -module Event_Forwarder -{ - interface StructuredProxyPushSupplier : CosNotifyChannelAdmin::StructuredProxyPushSupplier - { - void forward_structured (in CosNotification::StructuredEvent event); - - void forward_structured_no_filtering (in CosNotification::StructuredEvent event); - - void forward_any (in any event); - - void forward_any_no_filtering (in any event); - }; - - interface ProxyPushSupplier : CosNotifyChannelAdmin::ProxyPushSupplier - { - void forward_structured (in CosNotification::StructuredEvent event); - - void forward_structured_no_filtering (in CosNotification::StructuredEvent event); - - void forward_any (in any event); - - void forward_any_no_filtering (in any event); - }; -}; - -#endif /* _EVENT_FORWARDER_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h b/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h deleted file mode 100644 index 6a5e6836feb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -//========================================================================== -/** - * @file Event_Service_Constants.h - * - * $Id$ - * - * Keep constants required by both Event Service implementation and - * the Scheduling Service implementation. - * - * @author Carlos O'Ryan (coryan@cs.wustl.edu) - */ -//========================================================================== - -#ifndef ACE_ES_CONSTANTS_H -#define ACE_ES_CONSTANTS_H - -#include /**/ "ace/pre.h" -#include "ace/Message_Block.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Time_Utilities.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// = Predefined event types. All application defined types should be -// relative to ACE_ES_EVENT_UNDEFINED. -const long ACE_ES_EVENT_ANY = 0; -const long ACE_ES_EVENT_SHUTDOWN = 1; -const long ACE_ES_EVENT_ACT = 2; -const long ACE_ES_EVENT_NOTIFICATION = 3; -const long ACE_ES_EVENT_TIMEOUT = 4; -const long ACE_ES_EVENT_INTERVAL_TIMEOUT = 5; -const long ACE_ES_EVENT_DEADLINE_TIMEOUT = 6; -const long ACE_ES_GLOBAL_DESIGNATOR = 7; -const long ACE_ES_CONJUNCTION_DESIGNATOR = 8; -const long ACE_ES_DISJUNCTION_DESIGNATOR = 9; -const long ACE_ES_NEGATION_DESIGNATOR = 10; -const long ACE_ES_LOGICAL_AND_DESIGNATOR = 11; -const long ACE_ES_BITMASK_DESIGNATOR = 12; -const long ACE_ES_MASKED_TYPE_DESIGNATOR = 13; -const long ACE_ES_NULL_DESIGNATOR = 14; -const long ACE_ES_EVENT_UNDEFINED = 16; - -/// Predefined event sources. -const long ACE_ES_EVENT_SOURCE_ANY = 0; - -/// The max number of priorities provided by the target platform. -/// @todo This should be defined in ACE (somehow) and only mapped here -/// to some variables (and even that is doubtful). -const long ACE_Scheduler_MAX_PRIORITIES = 5; - -const TimeBase::TimeT ACE_Scheduler_Rates[ACE_Scheduler_MAX_PRIORITIES] = { - 250000, // 40 Hz - 500000, // 20 Hz - 1000000, // 10 Hz - 2000000, // 5 Hz - 10000000 // 1 Hz -}; - -/// The minimum preemption priority. -const long ACE_Scheduler_MIN_PREEMPTION_PRIORITY = - ACE_Scheduler_MAX_PRIORITIES - 1; - -/// Max preemption priority. -const long ACE_Scheduler_MAX_PREEMPTION_PRIORITY = 0; - -/// This is the maximum sub priority. -const u_long ACE_Scheduler_MAX_SUB_PRIORITY = - ACE_Message_Block::MB_USER - 1; - -/// This is the minimum sub priority. -const u_long ACE_Scheduler_MIN_SUB_PRIORITY = - ACE_Message_Block::MB_NORMAL; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* ACE_ES_CONSTANTS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp deleted file mode 100644 index 4c66ec5087d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp +++ /dev/null @@ -1,221 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event_Utilities.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Event_Utilities.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (orbsvcs, - Event_Utilities, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_ConsumerQOS_Factory:: - ACE_ConsumerQOS_Factory (TAO_EC_Event_Initializer initializer) - : designator_set_ (0), - event_initializer_ (initializer) -{ - qos_.is_gateway = 0; -} - -ACE_ConsumerQOS_Factory::~ACE_ConsumerQOS_Factory (void) -{ -} - -int -ACE_ConsumerQOS_Factory::start_conjunction_group (int nchildren) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - if (this->event_initializer_ != 0) - (*this->event_initializer_) (qos_.dependencies[l].event); - qos_.dependencies[l].event.header.type = ACE_ES_CONJUNCTION_DESIGNATOR; - qos_.dependencies[l].event.header.source = nchildren; - qos_.dependencies[l].rt_info = 0; - this->designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::start_disjunction_group (int nchildren) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - if (this->event_initializer_ != 0) - (*this->event_initializer_) (qos_.dependencies[l].event); - qos_.dependencies[l].event.header.type = ACE_ES_DISJUNCTION_DESIGNATOR; - qos_.dependencies[l].event.header.source = nchildren; - qos_.dependencies[l].rt_info = 0; - this->designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::start_logical_and_group (int nchildren) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - if (this->event_initializer_ != 0) - (*this->event_initializer_) (qos_.dependencies[l].event); - qos_.dependencies[l].event.header.type = ACE_ES_LOGICAL_AND_DESIGNATOR; - qos_.dependencies[l].event.header.source = nchildren; - qos_.dependencies[l].rt_info = 0; - this->designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::start_negation (void) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - if (this->event_initializer_ != 0) - (*this->event_initializer_) (qos_.dependencies[l].event); - qos_.dependencies[l].event.header.type = ACE_ES_NEGATION_DESIGNATOR; - qos_.dependencies[l].rt_info = 0; - this->designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::start_bitmask (CORBA::ULong source_mask, - CORBA::ULong type_mask) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 2); - if (this->event_initializer_ != 0) - { - (*this->event_initializer_) (qos_.dependencies[l].event); - (*this->event_initializer_) (qos_.dependencies[l + 1].event); - } - qos_.dependencies[l].event.header.type = ACE_ES_BITMASK_DESIGNATOR; - qos_.dependencies[l].rt_info = 0; - - qos_.dependencies[l+1].event.header.source = source_mask; - qos_.dependencies[l+1].event.header.type = type_mask; - qos_.dependencies[l+1].rt_info = 0; - - this->designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::insert (const RtecEventChannelAdmin::Dependency &subscribe) -{ - // Make sure that a designator is first. - if (designator_set_ == 0) - { - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - if (this->event_initializer_ != 0) - (*this->event_initializer_) (qos_.dependencies[l].event); - qos_.dependencies[l].rt_info = 0; - qos_.dependencies[l].event.header.type = ACE_ES_GLOBAL_DESIGNATOR; - - this->designator_set_ = 1; - } - - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - qos_.dependencies[l] = subscribe; - return 0; -} - -void event_debug (const char* p, - const RtecEventComm::Event& event) -{ - size_t l = ACE_OS::strlen (p); - ACE_DEBUG ((LM_DEBUG, - "%*.*s - event.source: %d (0x%x)\n" - "%*.*s event.type: %d (0x%x)\n", - l, l, p, event.header.source, event.header.source, - l, l, p, event.header.type, event.header.type)); -} - -void -ACE_ConsumerQOS_Factory::debug (const RtecEventChannelAdmin::ConsumerQOS& qos) -{ - ACE_DEBUG ((LM_DEBUG, "ConsumerQOS { \n")); - ACE_DEBUG ((LM_DEBUG, " is_gateway: %d\n", qos.is_gateway)); - - for (u_int i = 0; i < qos.dependencies.length (); ++i) - { - char buf[128]; - ACE_OS::sprintf (buf, " dep[%d]", i); - event_debug (buf, qos.dependencies[i].event); - ACE_DEBUG ((LM_DEBUG, "%s rt_info: %d\n", - buf, qos.dependencies[i].rt_info)); - } - ACE_DEBUG ((LM_DEBUG, "}\n")); -} - -// ************************************************************ -ACE_SupplierQOS_Factory:: - ACE_SupplierQOS_Factory (TAO_EC_Event_Initializer initializer, - int qos_max_len) - : event_initializer_ (initializer) -{ - qos_.is_gateway = 0; - - // Allocate the space requested by the application.... - qos_.publications.length (qos_max_len); - - // ... now reset the length, we do not want to use any elements in - // the sequence that have not been initialized.... - qos_.publications.length (0); -} - -int -ACE_SupplierQOS_Factory::insert (RtecEventComm::EventSourceID sid, - RtecEventComm::EventType type, - RtecBase::handle_t rt_info, - u_int ncalls) -{ - CORBA::ULong l = this->qos_.publications.length (); - if (l >= this->qos_.publications.maximum ()) - { - // There is not enough space for the next element, grow the - // buffer. - this->qos_.publications.length (l + 1); - - // @@ TODO We may want to consider more efficient growing - // strategies here, for example, duplicating the size of the - // buffer, or growing in fixed sized chunks... - } - - if (this->event_initializer_ != 0) - (*this->event_initializer_) (qos_.publications[l].event); - this->qos_.publications[l].event.header.source = sid; - this->qos_.publications[l].event.header.type = type; - // TODO: IDL union this->qos_.publications[l].event.data_.lval (0); - this->qos_.publications[l].dependency_info.rt_info = rt_info; - this->qos_.publications[l].dependency_info.number_of_calls = ncalls; - return 0; -} - -void ACE_SupplierQOS_Factory::debug (const RtecEventChannelAdmin::SupplierQOS& qos) -{ - ACE_DEBUG ((LM_DEBUG, "SupplierQOS { \n")); - ACE_DEBUG ((LM_DEBUG, " is_gateway: %d\n", qos.is_gateway)); - - for (u_int i = 0; i < qos.publications.length (); ++i) - { - char buf[128] = { 0 }; - ACE_OS::sprintf (buf, " publications[%d]", i); - event_debug (buf, qos.publications[i].event); - ACE_DEBUG ((LM_DEBUG, - "%s dependency_info.rt_info: %d\n" - "%s dependency_info.number_of_calls: %d\n", - buf, qos.publications[i].dependency_info.rt_info, - buf, qos.publications[i].dependency_info.number_of_calls)); - } - ACE_DEBUG ((LM_DEBUG, "}\n")); - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.h b/TAO/orbsvcs/orbsvcs/Event_Utilities.h deleted file mode 100644 index 01be03b7517..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Utilities.h +++ /dev/null @@ -1,256 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Event_Utilities.h - * - * $Id$ - * - * @author Tim Harrison (harrison@cs.wustl.edu) - */ -//============================================================================= - - -#ifndef ACE_EVENT_UTILITIES_H -#define ACE_EVENT_UTILITIES_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecEventChannelAdminC.h" -#include "orbsvcs/Event_Service_Constants.h" - -#include "orbsvcs/Event/event_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -typedef void (*TAO_EC_Event_Initializer) (RtecEventComm::Event&); - -/** - * @class ACE_ConsumerQOS_Factory - * - * @brief Consumer QOS Factory. - * - * This class allows easy (free from CORBA IDL constraints) - * construction of RtecEventChannelAdmin::ConsumerQOS structures. - * = CORRELATIONS - * ACE_ConsumerQOS_Factory separates subscriptions into conjunction - * and disjunction groups. A group can be thought of as a set of - * events inside parenthesis: (A+B+C), where A,B, and C are - * events. - * The following code would be used to represent (A+B) | (B+C): - * ACE_ConsumerQOS_Factor factory; - * factory.start_conjunction_group (); - * factory.insert (A); - * factory.insert (B); - * factory.start_conjunction_group (); - * factory.insert (B); - * factory.insert (C); - * The following code would be used to represent (A|B) | (B|C): - * ACE_ConsumerQOS_Factor factory; - * factory.start_disjunction_group (); - * factory.insert (A); - * factory.insert (B); - * factory.start_disjunction_group (); - * factory.insert (B); - * factory.insert (C); - * First, this may not seem to be initially useful, as (A|B) | - * (B|C) seems the same as A|B|C. However, this form does have a - * significant use when deadline timers are specified (described - * below). Note that groups end with the next call to - * start_XX_group. Groups are always OR'd together. That is, - * there is no way to directly build (A|B|C) + (D|E|F). You can - * always expand the previous statement to the OR of multiple ANDs. - * = TIMEOUTS - * There are two types of timeout types defined in - * Event_Service_Constants.h. - * ACE_ES_EVENT_INTERVAL_TIMEOUT - the consumer wants to receive a - * timeout every N seconds. - * ACE_ES_EVENT_DEADLINE_TIMEOUT - the consumer wants the timeout - * if and only if some dependencies are not resolved first. - * Using these timeouts with the correlations discussed above, we - * can construct four different timer semantics: Interval Timer, - * Deadline Timer, Interval Correlation, Deadline Correlation: - * Interval Timer: - * (A+B+C) | (D+E+F) | (G+H+I) | IntervalTimeout - * This registers to receive an interval timeout regardless of - * other dependencies. Event if events occur, the interval - * timeout will still be sent. - * Deadline Timer: - * (A+B+C) | (D+E+F) | (G+H+I) | DeadlineTimeout - * This registers to receive the deadline timeout ONLY if no - * other events occur. If a single event is sent to the - * consumer, the timer is cancelled and rescheduled. - * Deadline Correlation: - * (A+B+C) | (D+E+F) | (G+H+DeadlineTimeout) - * If G and H do not occur within DeadlineTimeout time, a - * deadline timeout is sent. It is cancelled and rescheduled if G - * and H occur. - * Interval Correlation: - * (A+B+C) | (D+E+F) | (G+H+IntervalTimeout) - * G+H+IntervalTimeout are sent ONLY after all have occurred. If - * G+H occur, they are queued until IntervalTimeout occurs. If - * IntervalTimeout occurs, it is queued until G+H occur. - */ -class TAO_RTEvent_Export ACE_ConsumerQOS_Factory -{ -public: - /// Default construction. - ACE_ConsumerQOS_Factory (TAO_EC_Event_Initializer initializer = 0); - - /// Death and destruction. - ~ACE_ConsumerQOS_Factory (void); - - /** - * The Event Channel waits until all the children have accepted at - * least one event, and then send them all as a single event to the - * consumer. - */ - int start_conjunction_group (int nchildren = 0); - - /// The consumer accepts any event that is accepted by at least one - /// child. - int start_disjunction_group (int nchildren = 0); - - /// The consumer only accepts events that pass all the filter - /// expressions defined by the children. - int start_logical_and_group (int nchildren = 0); - - /// The consumer wants all the events *except* the group that - /// follows. - int start_negation (void); - - /// Insert a bitmask filter, this acts as a quick rejection mechanism - /// for the subsequent filters. - int start_bitmask (CORBA::ULong source_mask, - CORBA::ULong type_mask); - - /** - * Inser a new filter that only accepts events with the following - * properties: - * (event.header.type & type_mask) == type_value - * (event.header.source & source_mask) == source_value - */ - int insert_bitmasked_value (CORBA::ULong source_mask, - CORBA::ULong type_mask, - CORBA::ULong source_value, - CORBA::ULong type_value); - - /// Insert a node that accepts any event, useful for bitmask filters. - int insert_null_terminator (void); - - // = Insert operations add to the current conjunction or disjunction - // group. These return 0 on success, -1 on failure. Before insert - // is called, a start_XX_group method should be called. If a - // start_XX_group method is not called, start_conjunction_group is - // assumed. - - /// Insert the @a subscribe structure describing the event and - /// receiving method into the current group. - int insert (const RtecEventChannelAdmin::Dependency &subscribe); - - /** - * Insert source/type dependency. @a source of the event (may be - * zero), @a type of the event. @a rt_info describes the method that - * will handle the source/type events. - */ - int insert (RtecEventComm::EventSourceID source, - RtecEventComm::EventType type, - RtecBase::handle_t rt_info); - - /// Insert type-only dependency. - int insert_type (RtecEventComm::EventType type, - RtecBase::handle_t rt_info); - - /// Insert source-only dependency. - int insert_source (RtecEventComm::EventSourceID source, - RtecBase::handle_t rt_info); - - /// Register temporal dependency. @a type designates interval or - /// deadline timeout that will occur every @a interval. - int insert_time (RtecEventComm::EventType type, - RtecEventComm::Time interval, - RtecBase::handle_t rt_info); - - /// This will be inserted as type ACE_ES_EVENT_ACT. - int insert_act (RtecEventComm::EventData act); - - // = Conversion operators. The Event Channel takes ConsumerQOS - // objects. - - /// Allows conversions to ConsumerQOS, which is expected by the - /// PushSupplierProxy::connect_push_consumer interface. - const RtecEventChannelAdmin::ConsumerQOS &get_ConsumerQOS (void); - - /// Calls this->get_ConsumerQOS. - operator const RtecEventChannelAdmin::ConsumerQOS &(void); - - static void debug (const RtecEventChannelAdmin::ConsumerQOS& qos); - -private: - /// The representation to be sent to the channel. - RtecEventChannelAdmin::ConsumerQOS qos_; - - /// Whether a start_XX_group has been called yet. This is to make - /// sure that a designator is placed in the subscription list first. - int designator_set_; - - /** - * If not zero this is a user-provided function used to initialize - * the events. When the event contains unions this is required to - * avoid marshaling and demarshaling of default initialized unions - * that (AFAIK) is not CORBA compliant. - */ - TAO_EC_Event_Initializer event_initializer_; -}; - -// ************************************************************ - -class TAO_RTEvent_Export ACE_SupplierQOS_Factory -{ -public: - /// Default construction. - ACE_SupplierQOS_Factory (TAO_EC_Event_Initializer initializer = 0, - int qos_max_len = 0); - - /** - * Publish @a sid and @a type that is generate by a method described by - * @a rtinfo. The method generates @a type @a ncalls number of times - * per "iteration." - */ - int insert (RtecEventComm::EventSourceID sid, - RtecEventComm::EventType type, - RtecBase::handle_t rtinfo, - u_int ncalls); - - /// Allows conversions to SupplierQOS, which is expected by the - /// PushSupplierProxy::connect_push_supplier interface. - const RtecEventChannelAdmin::SupplierQOS &get_SupplierQOS (void); - - /// Calls this->get_SupplierQOS(). - operator const RtecEventChannelAdmin::SupplierQOS &(void); - - static void debug (const RtecEventChannelAdmin::SupplierQOS& qos); - -private: - /// Representation needed by channel. - RtecEventChannelAdmin::SupplierQOS qos_; - - /** - * If not zero this is a user-provided function used to initialize - * the events. When the event contains unions this is required to - * avoid marshaling and demarshaling of default initialized unions - * that (AFAIK) is not CORBA compliant. - */ - TAO_EC_Event_Initializer event_initializer_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event_Utilities.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* ACE_EVENT_UTILITIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.i b/TAO/orbsvcs/orbsvcs/Event_Utilities.i deleted file mode 100644 index 20c09b0a0fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Utilities.i +++ /dev/null @@ -1,152 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert (RtecEventComm::EventSourceID source, - RtecEventComm::EventType type, - RtecBase::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.source = source; - dependency.event.header.type = type; - //dependency.event.header.creation_time = 0; - //dependency.event.header.ec_recv_time = 0; - //dependency.event.header.ec_send_time = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_bitmasked_value (CORBA::ULong source_mask, - CORBA::ULong type_mask, - CORBA::ULong source_value, - CORBA::ULong type_value) - -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.type = ACE_ES_MASKED_TYPE_DESIGNATOR; - dependency.event.header.source = 0; - //dependency.event.header.creation_time = 0; - //dependency.event.header.ec_recv_time = 0; - //dependency.event.header.ec_send_time = 0; - dependency.rt_info = 0; - this->insert (dependency); - - dependency.event.header.source = source_mask; - dependency.event.header.type = type_mask; - this->insert (dependency); - - dependency.event.header.source = source_value; - dependency.event.header.type = type_value; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_null_terminator (void) -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.type = ACE_ES_NULL_DESIGNATOR; - dependency.event.header.source = 0; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_type (RtecEventComm::EventType type, - RtecBase::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.source = ACE_ES_EVENT_SOURCE_ANY; - dependency.event.header.type = type; - //dependency.event.header.creation_time = 0; - //dependency.event.header.ec_recv_time = 0; - //dependency.event.header.ec_send_time = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_source (RtecEventComm::EventSourceID source, - RtecBase::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.source = source; - dependency.event.header.type = ACE_ES_EVENT_ANY; - //dependency.event.header.creation_time = 0; - //dependency.event.header.ec_recv_time = 0; - //dependency.event.header.ec_send_time = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_time (RtecEventComm::EventType type, - RtecEventComm::Time interval, - RtecBase::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.source = ACE_ES_EVENT_SOURCE_ANY; - dependency.event.header.type = type; - dependency.event.header.creation_time = interval; - //dependency.event.header.ec_recv_time = 0; - //dependency.event.header.ec_send_time = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_act (RtecEventComm::EventData act) -{ - RtecEventChannelAdmin::Dependency dependency; - if (this->event_initializer_ != 0) - (*this->event_initializer_) (dependency.event); - dependency.event.header.source = 0; - dependency.event.header.type = ACE_ES_EVENT_ACT; - //dependency.event.header.creation_time = 0; - //dependency.event.header.ec_recv_time = 0; - //dependency.event.header.ec_send_time = 0; - dependency.event.data = act; - return this->insert (dependency); -} - -ACE_INLINE const RtecEventChannelAdmin::ConsumerQOS& -ACE_ConsumerQOS_Factory::get_ConsumerQOS (void) -{ - return qos_; -} - -ACE_INLINE -ACE_ConsumerQOS_Factory::operator const RtecEventChannelAdmin::ConsumerQOS& (void) -{ - return qos_; -} - -// ************************************************************ - -ACE_INLINE const RtecEventChannelAdmin::SupplierQOS& -ACE_SupplierQOS_Factory::get_SupplierQOS (void) -{ - return qos_; -} - -ACE_INLINE -ACE_SupplierQOS_Factory::operator const RtecEventChannelAdmin::SupplierQOS& (void) -{ - return qos_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FTORB.mpc b/TAO/orbsvcs/orbsvcs/FTORB.mpc deleted file mode 100644 index 8254fb8f2de..00000000000 --- a/TAO/orbsvcs/orbsvcs/FTORB.mpc +++ /dev/null @@ -1,89 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(FTORB_Utils) : orbsvcslib, core, iormanip, portableserver, portablegroup, minimum_corba, tao_versioning_idl_defaults { - sharedname = TAO_FTORB_Utils - idlflags += -Wb,skel_export_include=tao/PortableServer/PolicyS.h - dynamicflags = TAO_FT_ORB_UTILS_BUILD_DLL - tagchecks += FTORB_Utils - - IDL_Files { - idlflags += -Wb,export_macro=TAO_FT_ORB_Utils_Export -Wb,export_include=orbsvcs/FaultTolerance/FT_ORB_Utils_export.h - FT_CORBA_ORB.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - FTORB_Utils { - FT_CORBA_ORBC.cpp - FT_CORBA_ORBS.cpp - FaultTolerance/FT_IOGR_Property.cpp - } - } - - Header_Files { - FaultTolerance/FT_ORB_Utils_export.h - } - - Pkgconfig_Files { - TAO_FTORB_Utils.pc.in - } -} - -project(FT_ClientORB) : orbsvcslib, ftorbutils, core, messaging, portablegroup, interceptors { - avoids += ace_for_tao // Requires ace/UUID - sharedname = TAO_FT_ClientORB - dynamicflags = TAO_FT_CLIENTORB_BUILD_DLL - tagchecks += FT_ClientORB - libs += TAO_FTORB_Utils - requires += ace_uuid - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - FT_ClientORB { - FaultTolerance/FT_ClientRequest_Interceptor.cpp - FaultTolerance/FT_ClientORBInitializer.cpp - FaultTolerance/FT_ClientPolicyFactory.cpp - FaultTolerance/FT_ClientPolicy_i.cpp - FaultTolerance/FT_ClientService_Activate.cpp - FaultTolerance/FT_Endpoint_Selector_Factory.cpp - FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp - FaultTolerance/FT_Service_Callbacks.cpp - } - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_FT_ClientORB.pc.in - } -} - -project(FT_ServerORB) : orbsvcslib, ftorbutils, core, messaging, portablegroup, pi_server, pi, interceptors { - sharedname = TAO_FT_ServerORB - dynamicflags = TAO_FT_SERVERORB_BUILD_DLL - tagchecks += FT_ServerORB - libs += TAO_FTORB_Utils - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - FT_ServerORB { - FaultTolerance/FT_ServerORBInitializer.cpp - FaultTolerance/FT_ServerPolicyFactory.cpp - FaultTolerance/FT_ServerPolicy_i.cpp - FaultTolerance/FT_ServerRequest_Interceptor.cpp - FaultTolerance/FT_ServerService_Activate.cpp - } - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_FT_ServerORB.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/FTRT.idl b/TAO/orbsvcs/orbsvcs/FTRT.idl deleted file mode 100644 index 4ae2530a225..00000000000 --- a/TAO/orbsvcs/orbsvcs/FTRT.idl +++ /dev/null @@ -1,82 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file FTRT.idl - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FTRT_H -#define FTRT_H - -#include "tao/IOP.pidl" - -module FTRT -{ - - typedef long TransactionDepth; - typedef unsigned long SequenceNumber; - - const IOP::ServiceId FT_TRANSACTION_DEPTH = 30; - const IOP::ServiceId FT_SEQUENCE_NUMBER = 31; - const IOP::ServiceId FT_FORWARD = 32; - - /// this service context is used by FTRT client - /// to information the server the depth of replication - /// which has to be complete before the request returns. - struct FTTransactionDepthServiceContext { - TransactionDepth transaction_depth; - }; - - /// this service context is used by replicas for detecting - /// the loss of replication messages in soft-replication. - struct FTSequenceNumberServiceContext { - SequenceNumber sequence_number; - }; - - /// In the FTCORBA standard, if the server receive a request - /// from a client with an object_group_ref_version less than - /// the one known to the server. The server should reply a - /// LOCATION_FORARD_PERM exception. However, if the server is - /// also the primary, the server have to wait until the client - /// issue a new request with the new object_group_ref_version - /// before it can return the result. This will cause unnecessary - /// delay for processing the request. The service context is used - /// by the primary to inform the client the lastest version of - /// IOGR known to the primary in the reply. The client can thus - /// upates the object reference in the next method invocation without - /// extra round trip delay. - struct FTForwardServiceContext { - Object forward; - }; - - exception OutOfSequence - { - SequenceNumber current; - }; - - exception TransactionDepthTooHigh - { - }; - - typedef sequence State; - - exception InvalidUpdate {}; - - interface Updateable - { - /// used for assured replication - void set_update(in State s) - raises(InvalidUpdate, OutOfSequence, TransactionDepthTooHigh); - - /// used for soft replication - oneway void oneway_set_update(in State s); - }; -}; - -#endif - diff --git a/TAO/orbsvcs/orbsvcs/FTRT_GroupManager.idl b/TAO/orbsvcs/orbsvcs/FTRT_GroupManager.idl deleted file mode 100644 index 950ee0e0b3a..00000000000 --- a/TAO/orbsvcs/orbsvcs/FTRT_GroupManager.idl +++ /dev/null @@ -1,71 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file FTRT_GroupManager.idl - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTRT_GROUPMANAGER_IDL -#define TAO_FTRT_GROUPMANAGER_IDL - -#include "orbsvcs/RtecEventChannelAdmin.idl" -#include "orb.idl" -#include "orbsvcs/CosNaming.idl" -#include "FTRT.idl" - -module FTRT -{ - typedef CosNaming::Name Location; - - interface FaultListener { - /// called by the replica which detect the loss of connection with its - /// predecessor to the primary - oneway void replica_crashed(in Location the_location); - }; - - interface ObjectGroupManager; - - struct ManagerInfo { - Location the_location; - ObjectGroupManager ior; - }; - - exception PredecessorUnreachable {}; - - typedef sequence ManagerInfoList; - exception InvalidState{}; - - interface ObjectGroupManager : FaultListener { - boolean start(in FaultListener listener, - out Location the_location); - - void create_group(in ManagerInfoList info_list, - in unsigned long object_group_ref_version) - raises(PredecessorUnreachable); - - /// called by a newly created replica to the primary - // for requesting for joining a object group - oneway void join_group(in ManagerInfo info); - - /// called by primary to replicas - /// for adding a new member to the group - void add_member(in ManagerInfo info, - in unsigned long object_group_ref_version); - - /// called by the primary to backups for deleting a member from - /// the group - oneway void remove_member(in Location crashed_location, - in unsigned long object_group_ref_version); - - void set_state(in State stat) - raises (InvalidState); - - }; -}; - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FT_CORBA.idl b/TAO/orbsvcs/orbsvcs/FT_CORBA.idl deleted file mode 100644 index 144c2290bbe..00000000000 --- a/TAO/orbsvcs/orbsvcs/FT_CORBA.idl +++ /dev/null @@ -1,352 +0,0 @@ -//$Id$ -// FT.idl -#ifndef _FT_IDL_ -#define _FT_IDL_ - -// The OMG file has been devided into several portions: -// FT_CORBA.idl -// FT_CORBA_ORB.idl -// FT_Detector.idl -// FT_Notifier.idl -// FT_Replica.idl - -// The next include is TAO specific. -#include "orbsvcs/FT_CORBA_ORB.idl" - -#define FT_USES_PORTABLE_GROUP - -#ifdef FT_USES_PORTABLE_GROUP -# include "orbsvcs/PortableGroup.idl" -#else // FT_USES_PORTABLE_GROUP -#include "orbsvcs/CosNaming.idl" // 98-10-19.idl -#endif // FT_USES_PORTABLE_GROUP - -#include "orbsvcs/CosNotification.idl" // from telecom/98-11-03.idl -#include "orbsvcs/CosNotifyFilter.idl" - -#pragma prefix "omg.org" - -module FT -{ - /// Forward declarations - interface FaultNotifier; - - typedef long ReplicationStyleValue; - const ReplicationStyleValue STATELESS = 0; - const ReplicationStyleValue COLD_PASSIVE = 1; - const ReplicationStyleValue WARM_PASSIVE = 2; - const ReplicationStyleValue ACTIVE = 3; - const ReplicationStyleValue ACTIVE_WITH_VOTING = 4; - const ReplicationStyleValue SEMI_ACTIVE = 5; - - typedef long ConsistencyStyleValue; - const ConsistencyStyleValue CONS_APP_CTRL = 0; - const ConsistencyStyleValue CONS_INF_CTRL = 1; - - typedef long FaultMonitoringStyleValue; - const FaultMonitoringStyleValue PULL = 0; - const FaultMonitoringStyleValue PUSH = 1; - const FaultMonitoringStyleValue NOT_MONITORED = 2; - - typedef long FaultMonitoringGranularityValue; - const FaultMonitoringGranularityValue MEMB = 0; - const FaultMonitoringGranularityValue LOC = 1; - const FaultMonitoringGranularityValue LOC_AND_TYPE = 2; - - struct FaultMonitoringIntervalAndTimeoutValue { - TimeBase::TimeT monitoring_interval; - TimeBase::TimeT timeout; - }; - - exception BadReplicationStyle {}; - exception PrimaryNotSet {}; - -#ifdef FT_USES_PORTABLE_GROUP - ///////////////////////////////////////// - // The following typedefs "import" - // definitions from the PortableGroup module - // definitions into the FT module. - // This is an interim step during the process - // of having FT depend on the commmon - // of PortableGroup module rather than defining - // everything itself. - - // this typedef trick doesn't work for exceptions, so they must - // use the PortableGroup:: prefix - typedef PortableGroup::_TypeId _TypeId; - typedef PortableGroup::ObjectGroup ObjectGroup; - typedef PortableGroup::Name Name; - typedef PortableGroup::Value Value; - typedef PortableGroup::Property Property; - typedef PortableGroup::Properties Properties; - typedef PortableGroup::Location Location; - typedef PortableGroup::Locations Locations; - typedef PortableGroup::Criteria Criteria; - - typedef PortableGroup::FactoryInfo FactoryInfo; - typedef PortableGroup::FactoryInfos FactoryInfos; - typedef PortableGroup::MembershipStyleValue MembershipStyleValue; - - typedef PortableGroup::FactoriesValue FactoriesValue; - typedef PortableGroup::InitialNumberMembersValue InitialNumberMembersValue; - typedef PortableGroup::MinimumNumberMembersValue MinimumNumberMembersValue; - typedef PortableGroup::PropertyManager PropertyManager; - typedef PortableGroup::ObjectGroupManager ObjectGroupManager; - typedef PortableGroup::GenericFactory GenericFactory; - - // Specification of FTObjectGroupManager Interface - // which ReplicationManager Inherits - interface FTObjectGroupManager : PortableGroup::ObjectGroupManager { - - ::PortableGroup::ObjectGroup set_primary_member(in ::PortableGroup::ObjectGroup object_group, - in ::PortableGroup::Location the_location) - raises(PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound, - PrimaryNotSet, - BadReplicationStyle); - }; - - - /////////////////////////////////////////////////// - // names for properties used in Fault Tolerant CORBA - - /// FT::ReplicationStyle - const string FT_REPLICATION_STYLE = "org.omg.ft.ReplicationStyle"; - - /// FT::ConsistencyStyle - const string FT_CONSISTENCY_STYLE = "org.omg.ft.ConsistencyStyle"; - - /// FT::MembershipStyle - const string FT_MEMBERSHIP_STYLE = PortableGroup::PG_MEMBERSHIP_STYLE; - const PortableGroup::MembershipStyleValue MEMB_APP_CTRL = PortableGroup::MEMB_APP_CTRL; - const PortableGroup::MembershipStyleValue MEMB_INF_CTRL = PortableGroup::MEMB_INF_CTRL; - - /// FT::FaultMonitoringStyle - const string FT_FAULT_MONITORING_STYLE = "org.omg.ft.FaultMonitoringStyle"; - - /// FT::FaultMonitoringGranularity - const string FT_FAULT_MONITORING_GRANULARITY = "org.omg.ft.FaultMonitoringGranularity"; - - /// FT::InitialNumberMembers - const string FT_INITIAL_NUMBER_MEMBERS = PortableGroup::PG_INITIAL_NUMBER_MEMBERS; - - /// FT::MinimumNumberMembers - const string FT_MINIMUM_NUMBER_MEMBERS = PortableGroup::PG_MINIMUM_NUMBER_MEMBERS; - - /// Factories - const string FT_FACTORIES = PortableGroup::PG_FACTORIES; - - /// FT::FaultMonitoringIntervalAndTimeou - const string FT_FAULT_MONITORING_INTERVAL_AND_TIMEOUT = "org.omg.ft.FaultMonitoringIntervalAndTimeout"; - - /// FT::CheckpointInterval - const string FT_CHECKPOINT_INTERVAL = "org.omg.ft.CheckpointInterval"; - - // end of property names from FT CORBA specification - /////////////////////////////////////////////////// - - -#else // (not) FT_USES_PORTABLE_GROUP - interface GenericFactory; - - /// Useful typedefs. - typedef CORBA::RepositoryId _TypeId; - typedef Object ObjectGroup; - - typedef CosNaming::Name Name; - typedef any Value; - - /** - * @struct Property - * - * @brief A property name and a value association. - */ - struct Property { - Name nam; - Value val; - }; - - /// Some mor euseful typedefs. - typedef sequence Properties; - typedef Name Location; - typedef sequence Locations; - typedef Properties Criteria; - - - /** - * @struct FactoryInfo - * - * @brief <@todo> - * - */ - struct FactoryInfo { - GenericFactory _factory; - Location the_location; - Criteria the_criteria; - }; - - typedef sequence FactoryInfos; - - typedef long ReplicationStyleValue; - const ReplicationStyleValue STATELESS = 0; - const ReplicationStyleValue COLD_PASSIVE = 1; - const ReplicationStyleValue WARM_PASSIVE = 2; - const ReplicationStyleValue ACTIVE = 3; - const ReplicationStyleValue ACTIVE_WITH_VOTING = 4; - typedef long MembershipStyleValue; - const MembershipStyleValue MEMB_APP_CTRL = 0; - const MembershipStyleValue MEMB_INF_CTRL = 1; - typedef long ConsistencyStyleValue; - const ConsistencyStyleValue CONS_APP_CTRL = 0; - const ConsistencyStyleValue CONS_INF_CTRL = 1; - typedef long FaultMonitoringStyleValue; - const FaultMonitoringStyleValue PULL = 0; - const FaultMonitoringStyleValue PUSH = 1; - const FaultMonitoringStyleValue NOT_MONITORED = 2; - typedef long FaultMonitoringGranularityValue; - const FaultMonitoringGranularityValue MEMB = 0; - const FaultMonitoringGranularityValue LOC = 1; - const FaultMonitoringGranularityValue LOC_AND_TYPE = 2; - typedef FactoryInfos FactoriesValue; - typedef unsigned short InitialNumberMembersValue; - typedef unsigned short MinimumNumberMembersValue; - - struct FaultMonitoringIntervalAndTimeoutValue { - TimeBase::TimeT monitoring_interval; - TimeBase::TimeT timeout; - }; - - typedef TimeBase::TimeT CheckpointIntervalValue; - exception InterfaceNotFound {}; - exception ObjectGroupNotFound {}; - exception MemberNotFound {}; - exception ObjectNotFound {}; - exception MemberAlreadyPresent {}; - exception BadReplicationStyle {}; - exception ObjectNotCreated {}; - exception ObjectNotAdded {}; - exception PrimaryNotSet {}; - exception UnsupportedProperty { - Name nam; - Value val; - }; - - exception InvalidProperty { - Name nam; - Value val; }; - - exception NoFactory { - Location the_location; - _TypeId type_id; }; - - exception InvalidCriteria { - Criteria invalid_criteria; }; - - exception CannotMeetCriteria { - Criteria unmet_criteria; }; - - // Specification of PropertyManager Interface - // which ReplicationManager Inherits - - interface PropertyManager { - - void set_default_properties(in Properties props) - raises (InvalidProperty, UnsupportedProperty); - Properties get_default_properties(); - - void remove_default_properties(in Properties props) - raises (InvalidProperty, UnsupportedProperty); - - void set_type_properties(in _TypeId type_id, - in Properties overrides) - raises (InvalidProperty, UnsupportedProperty); - - Properties get_type_properties(in _TypeId type_id); - - void remove_type_properties(in _TypeId type_id, - in Properties props) - raises (InvalidProperty, UnsupportedProperty); - - void set_properties_dynamically(in ObjectGroup object_group, - in Properties overrides) - raises(ObjectGroupNotFound, InvalidProperty, UnsupportedProperty); - - Properties get_properties(in ObjectGroup object_group) - raises(ObjectGroupNotFound); - }; - - // Specification of ObjectGroupManager Interface - // which ReplicationManager Inherits - interface ObjectGroupManager { - ObjectGroup create_member(in ObjectGroup object_group, - in Location the_location, - in _TypeId type_id, - in Criteria the_criteria) - raises(ObjectGroupNotFound, - MemberAlreadyPresent, - NoFactory, - ObjectNotCreated, - InvalidCriteria, - CannotMeetCriteria); - - ObjectGroup add_member(in ObjectGroup object_group, - in Location the_location, - in Object member) - raises(ObjectGroupNotFound, - MemberAlreadyPresent, - ObjectNotAdded); - - ObjectGroup remove_member(in ObjectGroup object_group, - in Location the_location) - raises(ObjectGroupNotFound, - MemberNotFound); - - ObjectGroup set_primary_member(in ObjectGroup object_group, - in Location the_location) - raises(ObjectGroupNotFound, - MemberNotFound, - PrimaryNotSet, - BadReplicationStyle); - - Locations locations_of_members(in ObjectGroup object_group) - raises(ObjectGroupNotFound); - - ObjectGroupId get_object_group_id(in ObjectGroup object_group) - raises(ObjectGroupNotFound); - - ObjectGroup get_object_group_ref(in ObjectGroup object_group) - raises(ObjectGroupNotFound); - - Object get_member_ref(in ObjectGroup object_group, - in Location loc) - raises(ObjectGroupNotFound, MemberNotFound); - }; - - - // Specification of GenericFactory Interface - // which ReplicationManager Inherits and Application Objects Implement - interface GenericFactory { - typedef any FactoryCreationId; - Object create_object(in _TypeId type_id, - in Criteria the_criteria, - out FactoryCreationId factory_creation_id) - raises (NoFactory, - ObjectNotCreated, - InvalidCriteria, - InvalidProperty, - CannotMeetCriteria); - - void delete_object(in FactoryCreationId factory_creation_id) - raises (ObjectNotFound); - }; - -#endif // FT_USES_PORTABLE_GROUP - - // Specifications for Fault Management moved to FT_Replica.idl - // Specification of FaultNotifier Interface: moved to FT_Notifier.idl - // Specifications for Logging and Recovery: moved to FT_Replica.idl - // Specifications for Replication Manager moved to FT_ReplicationManager.idl -}; - - -#endif // for #ifndef _FT_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl b/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl deleted file mode 100644 index 6503eb969a5..00000000000 --- a/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl +++ /dev/null @@ -1,136 +0,0 @@ -//$Id$ -#ifndef TAO_FT_CORBA_ORB_IDL -#define TAO_FT_CORBA_ORB_IDL - -// Including the $TAO_ROOT/tao one so that we dont depend on the -// Svc_Utils -#include "tao/TimeBase.pidl" // 98-10.47.idl -// Proprietary includes for TAO -#include "tao/IOP.pidl" // from 98-03-01.idl -#include "tao/GIOP.pidl" // from 98-03-01.idl -#include "tao/Policy.pidl" - -#include "PortableGroup_Simple_DS.idl" - - -#pragma prefix "omg.org" - - -// These have been moved to the file IOP.pidl -module FT -{ - /// FTDomainId's are denoted as strings - typedef PortableGroup::GroupDomainId FTDomainId; - - /// The objectgroup id - typedef PortableGroup::ObjectGroupId ObjectGroupId; - - /// The reference version of the object group - typedef PortableGroup::ObjectGroupRefVersion ObjectGroupRefVersion; - - /** - * @struct TagFTGroupTaggedComponent - * - * @brief Contents of the Tagged_Component field with tag - * TAG_FT_GROUP - */ - typedef PortableGroup::TagGroupTaggedComponent TagFTGroupTaggedComponent; - - /** - * @struct TagFTPrinaryTaggedComponent - * - * @brief Contents of the Tagged_Component field with tag - * TAG_FT_PRIMARY - */ - struct TagFTPrimaryTaggedComponent - { - boolean primary; - }; - - /** - * @struct FTGroupVersionServiceContext - * - * @brief Service Context list info for FT_GROUP_VERSION. - * - * It specifies the most recent Object Group Version - */ - struct FTGroupVersionServiceContext - { - ObjectGroupRefVersion object_group_ref_version; - }; - - /** - * @struct FTRequestServiceContext - * - * @brief Service Context List information for FT_REQUEST - */ - - struct FTRequestServiceContext - { - string client_id; - long retention_id; - TimeBase::TimeT expiration_time; - }; - - /// Policy type for holding a request - const CORBA::PolicyType REQUEST_DURATION_POLICY = 47; - - /** - * @interface RequestDurationPolicy - * - * @brief Policy specification for Request Duration policy - */ - local interface RequestDurationPolicy : CORBA::Policy - { - readonly attribute TimeBase::TimeT request_duration_policy_value; - }; - - /// Policy types for HeartBeats - const CORBA::PolicyType HEARTBEAT_POLICY = 48; - - /** - * @struct HeartbeatPolicyValue - * - * @brief HeartbeatPolicy's range for the client - */ - struct HeartbeatPolicyValue { - boolean heartbeat; - TimeBase::TimeT heartbeat_interval; - TimeBase::TimeT heartbeat_timeout; - }; - - /** - * @interface HeartbeatPolicy - * - * @brief Policy specification for Heartbeats on the client side - */ - local interface HeartbeatPolicy : CORBA::Policy { - readonly attribute HeartbeatPolicyValue heartbeat_policy_value; - }; - - /// Policy type to enable heartbeating - const CORBA::PolicyType HEARTBEAT_ENABLED_POLICY = 49; - - /** - * @struct TagFTHeartbeatEnabledTaggedComponent - * - * @brief Tagged components for TAG_FT_HEARTBEAT_ENABLED - * - */ - struct TagFTHeartbeatEnabledTaggedComponent - { - boolean heartbeat_enabled; - }; - - /** - * @interface HeartbeatEnabledPolicy - * - * @brief Policy values for heartbeatEnabledpolicy - * - */ - local interface HeartbeatEnabledPolicy : CORBA::Policy { - readonly attribute boolean heartbeat_enabled_policy_value; - }; - -}; -#endif /*TAO_FT_CORBA_ORB_IDL*/ diff --git a/TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl b/TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl deleted file mode 100644 index b783eb46ace..00000000000 --- a/TAO/orbsvcs/orbsvcs/FT_FaultDetectorFactory.idl +++ /dev/null @@ -1,119 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file FT_FaultDetectorFactory.idl - * - * $Id$ - * - * @author: Dale Wilson, OCI - */ -//============================================================================= - -#ifndef _FT_DETECTOR_FACTORY_IDL_ -#define _FT_DETECTOR_FACTORY_IDL_ - -// A TAO specific addition to FT_CORBA. -// No interface was specified for the FaultDetector -// in the FT CORBA specification, so we decided to -// define a GenericFactory to create FaultDetectors and -// control the FaultDetectors through the GenericFactory -// interface (with extenstions.) - -#pragma prefix "omg.org" - -#include "orbsvcs/FT_CORBA.idl" -#include "orbsvcs/FT_Replica.idl" -#include "orbsvcs/PortableGroup.idl" - -module FT -{ - /////////////////////////////////////////////////// - // names for properties used in Fault Tolerant CORBA - /// TimeBase::TimeT how often to call is_alive(); - const string FT_FAULT_MONITORING_INTERVAL = "MonitoringInterval"; - - /// FT::FaultNotifier where to send fault reports - const string FT_NOTIFIER = "Notifier"; - - /// FT::PullMonitorable the object to monitor - const string FT_MONITORABLE = "Monitorable"; - - /////////////////////////////////////////// - // Names specified in the FT CORBA specification - - const string FT_EVENT_TYPE_DOMAIN = "FT_CORBA"; - const string FT_EVENT_TYPE_NAME = "ObjectCrashFault"; - - /// FT::FTDomainId domain to report to notifier - const string FT_DOMAIN_ID = "FTDomainId"; - - /// FT::Location location to report to notifier - const string FT_LOCATION = "Location"; - - /// FT::TypeId type to report to notifier - const string FT_TYPE_ID = "TypeId"; - - /// FT::ObjectGroupId group to report to notifier - const string FT_GROUP_ID = "GroupId"; - - // end of names from FT CORBA specification - /////////////////////////////////////////// - - ///////////////////////////// - // RoleName FaultDetectorFactory uses to register - // with Factory Registery - const string FAULT_DETECTOR_ROLE_NAME = "FT_FaultDetector"; - - /** - * A FaultDetectorFactory creates and manages a set of FaultDetectors. - * - * A FaultDetectorFactory acts as an agent for a ReplicationManager - * which needs to create one or more FaultDetectors at a particular - * location. - * - * At present, FaultDetectors monitor via the is_alive() method of - * the PullMonitorable interface which must be implemented by the - * object-to-be-monitored. Other monitoring techniques may be - * supported in the future. In particular heartbeat/watchdog - * monitoring is anticipated. - * - * Notifications of failing objects are sent to a FaultNotifier - * which is responsible for distributing them to interested parties. - * - * The implementation of the GenericFactory::create_object method - * creates a FaultDetector object to monitor a single monitorable. - * The FaultDetector is *not* a first-class CORBA object. The - * Object reference returned by create_object will be nil. You - * cannot interact directly with a FaultDetector. - * The only interaction that a FaultDetector needs after it is - * started is to tell it to change it's monitoring parameters, - * or to shut down. The change_properties () and shutdown () - * methods on the Factory provide the needed capabilities. - * - * The create_object requires the following criteria: - * FT::Notifier Notifier - * FT::PullMonitorable Monitorable - * PortableGroup::DomainId domain_id, - * PortableGroup::ObjectGroupId group_id, - * PortableGroup::Location object_location, - * PortableGroup::_TypeId object_type - */ - interface FaultDetectorFactory : ::PortableGroup::GenericFactory, PullMonitorable - { - /** - * Adjust properties on-the-fly. - * Applies to all FaultDetectors created by this factory. - * @param property_set is a set of properties that (may) have new values. - */ - void change_properties(in ::PortableGroup::Properties property_set) - raises (::PortableGroup::InvalidProperty); - - /** - * Ask the Fault Detector Factory to come to an orderly end. - */ - oneway void shutdown(); - }; -}; - -#endif // for #ifndef _FT_DETECTOR_FACTORY_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/FT_Notifier.idl b/TAO/orbsvcs/orbsvcs/FT_Notifier.idl deleted file mode 100644 index bb1d839f388..00000000000 --- a/TAO/orbsvcs/orbsvcs/FT_Notifier.idl +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- IDL -*- */ -//============================================================================= -/** - * @file FT_Notifier.idl - * - * $Id$ - * - * This file is part of Fault Tolerant CORBA. - * This was original part of the OMG FT.idl file - * - * @author Dale Wilson - */ -//============================================================================= - -#ifndef _FT_NOTIFIER_IDL_ -#define _FT_NOTIFIER_IDL_ - -/////////////////////////////// -// TAO specific includes -#include "orbsvcs/FT_CORBA_ORB.idl" -#include "orbsvcs/FT_Replica.idl" -// end of TAO specific includes -/////////////////////////////// - -#include "orbsvcs/CosNaming.idl" // 98-10-19.idl -#include "orbsvcs/CosNotification.idl" // from telecom/98-11-03.idl - -// added to OMG version: -#include "orbsvcs/CosNotifyFilter.idl" - -#pragma prefix "omg.org" - -module FT -{ - // Specifications for Fault Management - // Specification of FaultNotifier Interface - // TAO SPECIFIC: added inheritence from PullMonitorable - interface FaultNotifier : ::FT::PullMonitorable - { - typedef unsigned long long ConsumerId; - void push_structured_fault( in CosNotification::StructuredEvent - event); - void push_sequence_fault( in CosNotification::EventBatch events); - CosNotifyFilter::Filter create_subscription_filter (in string - constraint_grammar) - raises (CosNotifyFilter::InvalidGrammar); - ConsumerId connect_structured_fault_consumer(in CosNotifyComm::StructuredPushConsumer push_consumer, - in CosNotifyFilter::Filter filter) ; - - ConsumerId connect_sequence_fault_consumer(in - CosNotifyComm::SequencePushConsumer push_consumer, - in - CosNotifyFilter::Filter - filter); - - void disconnect_consumer( in ConsumerId connection) - raises(CosEventComm::Disconnected); - }; -}; - - -#endif // for #ifndef _FT_NOTIFIER_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/FT_Replica.idl b/TAO/orbsvcs/orbsvcs/FT_Replica.idl deleted file mode 100644 index eb351729e6e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FT_Replica.idl +++ /dev/null @@ -1,51 +0,0 @@ -//$Id$ -// FT_replica.idl -#ifndef _FT_REPLICA_IDL_ -#define _FT_REPLICA_IDL_ - -// The OMG FT file has been split into sevaral pieces. This is one of them. -// It contains the interfaces that a typical FT Replica (replicated servant) -// will need to implement. - -#include "FT_CORBA.idl" // common FT definitions - -#pragma prefix "omg.org" - -module FT -{ - // Specification of PullMonitorable Interface - // which Application Objects Inherit - interface PullMonitorable { - boolean is_alive(); - }; - - // Specifications for Logging and Recovery - typedef sequence State; - - exception NoStateAvailable {}; - exception InvalidState {}; - - exception NoUpdateAvailable {}; - exception InvalidUpdate {}; - - // Specification of Checkpointable Interface - // which Updateable and Application Objects Inherit - interface Checkpointable { - State get_state() - raises(NoStateAvailable); - void set_state(in State s) - raises(InvalidState); - }; - - // Specification of Updateable Interface - // which Application Objects Inherit - interface Updateable : Checkpointable - { - State get_update() - raises(NoUpdateAvailable); - void set_update(in State s) - raises(InvalidUpdate); - }; -}; - -#endif // for #ifndef _FT_REPLICA_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl b/TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl deleted file mode 100644 index 8f36d6b135a..00000000000 --- a/TAO/orbsvcs/orbsvcs/FT_ReplicationManager.idl +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- IDL -*- */ -//============================================================================= -/** - * @file FT_ReplicationManager.idl - * - * $Id$ - * - * This file is part of Fault Tolerant CORBA. - * This was original part of the OMG FT.idl file - * - * @author Curt Hibbs - */ -//============================================================================= - -#ifndef _FT_REPLICATION_MANAGER_IDL_ -#define _FT_REPLICATION_MANAGER_IDL_ - -#include "orbsvcs/PortableGroup.idl" -#include "orbsvcs/FT_CORBA.idl" -#include "orbsvcs/FT_Replica.idl" -#include "orbsvcs/FT_Notifier.idl" - -#pragma prefix "omg.org" - -module FT -{ - exception InterfaceNotFound {}; - - // Specification of ReplicationManager Interface - interface ReplicationManager : ::PortableGroup::PropertyManager, - FTObjectGroupManager, - ::PortableGroup::GenericFactory - { - - /** - * Registers the Fault Notifier with the Replication Manager. - * @param fault_notifier where to send the fault information. - */ - void register_fault_notifier(in FaultNotifier fault_notifier); - - /** - * Returns the reference of the Fault Notifier. - * @returns the reference of the Fault Notifier. - */ - FaultNotifier get_fault_notifier() - raises (InterfaceNotFound); - - /** - * Find a registry for factories that create fault tolerant replicas. - * - * TAO-specific operation - * - * Factories in this registry will be used by the - * ReplicationManager's implementation of - * GenericFactory::create_object when infrastructure controlled - * membership is specified. - * - * The factory registry may also be used by applications that - * control their own membership but don't wish to address the - * issue of finding factories for replicas. - * - * @param selection_criteria to be used to choose among alternate registries (future enhancement.) - * @returns an implementation of FactoryRegistry - */ - ::PortableGroup::FactoryRegistry get_factory_registry (in ::PortableGroup::Criteria selection_criteria); - - /** - * TAO-specific shutdown operation. - */ - oneway void shutdown (); - }; -}; - - -#endif // _FT_REPLICATION_MANAGER_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance.mpc b/TAO/orbsvcs/orbsvcs/FaultTolerance.mpc deleted file mode 100644 index 0b6911d2473..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance.mpc +++ /dev/null @@ -1,43 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(FaultTolerance): orbsvcslib, core, pi, pi_server, notification, ftorb, portablegroup, minimum_corba, tao_versioning_idl_defaults { - sharedname = TAO_FaultTolerance - idlflags += -Wb,export_macro=TAO_FT_Export -Wb,export_include=orbsvcs/FaultTolerance/fault_tol_export.h -Wb,skel_export_include=tao/PortableServer/PolicyS.h - dynamicflags = TAO_FT_BUILD_DLL - tagchecks += FaultTolerance - - IDL_Files { - FT_CORBA.idl - FT_Replica.idl - FT_Notifier.idl - FT_FaultDetectorFactory.idl - FT_ReplicationManager.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - FaultTolerance { - FT_CORBAS.cpp - FT_CORBAC.cpp - FT_ReplicaS.cpp - FT_ReplicaC.cpp - FT_NotifierS.cpp - FT_NotifierC.cpp - FT_FaultDetectorFactoryS.cpp - FT_FaultDetectorFactoryC.cpp - FT_ReplicationManagerS.cpp - FT_ReplicationManagerC.cpp - } - } - - Header_Files { - FaultTolerance/fault_tol_export.h - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_FaultTolerance.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance.rc b/TAO/orbsvcs/orbsvcs/FaultTolerance.rc deleted file mode 100644 index afd9bd8826b..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "FaultTolerance\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_FaultToleranceDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_FaultTolerance.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.cpp deleted file mode 100644 index 03d6f4a56b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.cpp +++ /dev/null @@ -1,115 +0,0 @@ -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_ClientORBInitializer.h" -#include "orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h" -#include "orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/Exception.h" -#include "tao/ORB_Constants.h" - -ACE_RCSID (FaultTolerance, - FT_ClientORBInitializer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_FT_ClientORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_ClientORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->register_policy_factories (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - this->register_client_request_interceptors (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - -} - -void -TAO_FT_ClientORBInitializer::register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Register the FTCORBA policy factories. - - PortableInterceptor::PolicyFactory_ptr temp_factory = - PortableInterceptor::PolicyFactory::_nil (); - PortableInterceptor::PolicyFactory_var policy_factory; - - // This policy factory is used for all FTCORBA related policies. - - ACE_NEW_THROW_EX (temp_factory, - TAO_FT_ClientPolicyFactory, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - policy_factory = temp_factory; - - // Bind the same policy factory to all RTCORBA related policy - // types since a single policy factory is used to create each of - // the different types of RTCORBA policies. - - CORBA::PolicyType type = FT::REQUEST_DURATION_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = FT::HEARTBEAT_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - /* - type = FT::HEARTBEAT_ENABLED_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - */ -} - - -void -TAO_FT_ClientORBInitializer::register_client_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableInterceptor::ClientRequestInterceptor_ptr cri = - PortableInterceptor::ClientRequestInterceptor::_nil (); - - ACE_NEW_THROW_EX (cri, - TAO::FT_ClientRequest_Interceptor, - CORBA::NO_MEMORY ()); - - PortableInterceptor::ClientRequestInterceptor_var - client_interceptor = cri; - - info->add_client_request_interceptor (client_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.h deleted file mode 100755 index c0383c99cbc..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ClientORBInitializer.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= -#ifndef TAO_FT_CLIENTORB_INITIALIZER_H -#define TAO_FT_CLIENTORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// FT ORB initializer. -class TAO_FT_ClientORBInitializer - : public virtual PortableInterceptor::ORBInitializer - , public virtual TAO_Local_RefCounted_Object -{ -public: - - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - /// Register FTCORBA policy factories. - void register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Register the necessary interceptors. - void register_client_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_FT_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h deleted file mode 100644 index 37769e226ad..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientORB_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_FT_ClientORB -// ------------------------------ -#ifndef TAO_FT_CLIENTORB_EXPORT_H -#define TAO_FT_CLIENTORB_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FT_CLIENTORB_HAS_DLL) -# define TAO_FT_CLIENTORB_HAS_DLL 0 -# endif /* ! TAO_FT_CLIENTORB_HAS_DLL */ -#else -# if !defined (TAO_FT_CLIENTORB_HAS_DLL) -# define TAO_FT_CLIENTORB_HAS_DLL 1 -# endif /* ! TAO_FT_CLIENTORB_HAS_DLL */ -#endif - -#if defined (TAO_FT_CLIENTORB_HAS_DLL) && (TAO_FT_CLIENTORB_HAS_DLL == 1) -# if defined (TAO_FT_CLIENTORB_BUILD_DLL) -# define TAO_FT_ClientORB_Export ACE_Proper_Export_Flag -# define TAO_FT_CLIENTORB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_CLIENTORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_FT_CLIENTORB_BUILD_DLL */ -# define TAO_FT_ClientORB_Export ACE_Proper_Import_Flag -# define TAO_FT_CLIENTORB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_CLIENTORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_FT_CLIENTORB_BUILD_DLL */ -#else /* TAO_FT_CLIENTORB_HAS_DLL == 1 */ -# define TAO_FT_ClientORB_Export -# define TAO_FT_CLIENTORB_SINGLETON_DECLARATION(T) -# define TAO_FT_CLIENTORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_FT_CLIENTORB_HAS_DLL == 1 */ - -// Set TAO_FT_CLIENTORB_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_FT_CLIENTORB_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_FT_CLIENTORB_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_FT_CLIENTORB_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_FT_CLIENTORB_NTRACE */ - -#if (TAO_FT_CLIENTORB_NTRACE == 1) -# define TAO_FT_CLIENTORB_TRACE(X) -#else /* (TAO_FT_CLIENTORB_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_FT_CLIENTORB_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_FT_CLIENTORB_NTRACE == 1) */ - -#endif /* TAO_FT_CLIENTORB_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.cpp deleted file mode 100755 index 852e1c2c97b..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h" -#include "orbsvcs/FaultTolerance/FT_ClientPolicy_i.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/PolicyC.h" - -ACE_RCSID (FaultTolerance, - FT_ClientPolicyFactory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Policy_ptr -TAO_FT_ClientPolicyFactory::create_policy ( - CORBA::PolicyType type, - const CORBA::Any &val - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)) -{ - - if (type == FT::REQUEST_DURATION_POLICY) - return TAO_FT_Request_Duration_Policy::create (val - ACE_ENV_ARG_PARAMETER); - else if (type == FT::HEARTBEAT_POLICY) - return TAO_FT_Heart_Beat_Policy::create (val - ACE_ENV_ARG_PARAMETER); - - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h deleted file mode 100755 index 7ee620338b9..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ClientPolicyFactory.h - * - * $Id$ - * - * @author Bala Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_CLIENTPOLICY_FACTORY_H -#define TAO_FT_CLIENTPOLICY_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Policy factory for all FTCORBA related policies. -class TAO_FT_ClientPolicyFactory - : public PortableInterceptor::PolicyFactory - , public TAO_Local_RefCounted_Object -{ -public: - - virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type, - const CORBA::Any &value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - - -#include /**/ "ace/post.h" - -#endif /* TAO_FT_CLIENTPOLICY_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp deleted file mode 100755 index b53265cbfa5..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp +++ /dev/null @@ -1,193 +0,0 @@ -//$Id$ -#include "orbsvcs/FaultTolerance/FT_ClientPolicy_i.h" - -#include "tao/debug.h" -#include "ace/Log_Msg.h" -#include "tao/ORB_Constants.h" -#include "tao/AnyTypeCode/Any.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(FaultTolerance, FT_ClientPolicy_i, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TimeBase::TimeT -TAO_FT_Request_Duration_Policy::request_duration_policy_value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->request_duration_; -} - -CORBA::PolicyType -TAO_FT_Request_Duration_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return FT::REQUEST_DURATION_POLICY; -} - -CORBA::Policy_ptr -TAO_FT_Request_Duration_Policy::create (const CORBA::Any& val - ACE_ENV_ARG_DECL) -{ - TimeBase::TimeT value; - if ((val >>= value) == 0) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE), - CORBA::Policy::_nil ()); - - TAO_FT_Request_Duration_Policy *tmp = 0; - ACE_NEW_THROW_EX (tmp, - TAO_FT_Request_Duration_Policy (value), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -TAO_FT_Request_Duration_Policy * -TAO_FT_Request_Duration_Policy::clone (void) const -{ - TAO_FT_Request_Duration_Policy *copy = 0; - ACE_NEW_RETURN (copy, - TAO_FT_Request_Duration_Policy (*this), - 0); - return copy; -} - -CORBA::Policy_ptr -TAO_FT_Request_Duration_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Request_Duration_Policy* tmp = 0; - ACE_NEW_THROW_EX (tmp, TAO_FT_Request_Duration_Policy (*this), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -void -TAO_FT_Request_Duration_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_Request_Duration_Policy::set_time_value (ACE_Time_Value &time_value) -{ - TimeBase::TimeT t = this->request_duration_; - TimeBase::TimeT seconds = t / 10000000u; - TimeBase::TimeT microseconds = (t % 10000000u) / 10; - time_value.set (ACE_U64_TO_U32 (seconds), - ACE_U64_TO_U32 (microseconds)); - - if (TAO_debug_level > 0) - { - CORBA::ULong msecs = - static_cast (microseconds / 1000); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - Timeout is <%u>\n"), - msecs)); - } -} - - -/*****************************************************************/ - -FT::HeartbeatPolicyValue -TAO_FT_Heart_Beat_Policy::heartbeat_policy_value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FT::HeartbeatPolicyValue val; - val.heartbeat = this->heartbeat_; - val.heartbeat_interval = this->heartbeat_interval_; - val.heartbeat_timeout = this->heartbeat_timeout_; - - return val; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Policy::create (const CORBA::Any& val - ACE_ENV_ARG_DECL) -{ - FT::HeartbeatPolicyValue *value = 0; - if ((val >>= value) == 0) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE), - CORBA::Policy::_nil ()); - - TAO_FT_Heart_Beat_Policy *tmp = 0; - ACE_NEW_THROW_EX (tmp, - TAO_FT_Heart_Beat_Policy (value->heartbeat, - value->heartbeat_interval, - value->heartbeat_timeout), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - - -CORBA::PolicyType -TAO_FT_Heart_Beat_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return FT::HEARTBEAT_POLICY; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Heart_Beat_Policy * tmp = 0; - ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Policy (*this), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -TAO_FT_Heart_Beat_Policy * -TAO_FT_Heart_Beat_Policy::clone (void) const -{ - TAO_FT_Heart_Beat_Policy *copy = 0; - ACE_NEW_RETURN (copy, - TAO_FT_Heart_Beat_Policy (*this), - 0); - return copy; -} - -void -TAO_FT_Heart_Beat_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_Heart_Beat_Policy::set_time_value (ACE_Time_Value &time_value, - const TimeBase::TimeT &timebase) -{ - TimeBase::TimeT t = timebase; - TimeBase::TimeT seconds = t / 10000000u; - TimeBase::TimeT microseconds = (t % 10000000u) / 10; - time_value.set (ACE_U64_TO_U32 (seconds), - ACE_U64_TO_U32 (microseconds)); - - if (TAO_debug_level > 0) - { - CORBA::ULong msecs = - static_cast (microseconds / 1000); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - Timeout is <%u>\n"), - msecs)); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.h deleted file mode 100755 index a1bbf81174e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.h +++ /dev/null @@ -1,165 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ClientPolicy_i.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_CLIENTPOLICY_I_H -#define TAO_FT_CLIENTPOLICY_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FT_CORBA_ORBC.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "tao/LocalObject.h" -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_FT_Request_Duration_Policy - * - * @brief FT::RequestDurationPolicy implementation - * - * This policy controls the request duration in the ORB. The - * semantics are like this. On the server side, the server should - * retain the details of the request from the client (and the - * reply sent to it too) atleast for the time period specified by - * this policy value. On the client side, the client uses this - * value to calculate the expiration_id in the RequestService - * context. The expiration_id is a sort of timeout for the client - * to keep trying to connect to server object groups under certain - * conditions. - */ -class TAO_FT_Request_Duration_Policy - : public FT::RequestDurationPolicy, - public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_FT_Request_Duration_Policy (const TimeBase::TimeT& relative_expiry); - - /// Copy constructor. - TAO_FT_Request_Duration_Policy (const TAO_FT_Request_Duration_Policy &rhs); - - /// Helper method for the implementation of - /// CORBA::ORB::create_policy. - static CORBA::Policy_ptr create (const CORBA::Any& val - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Returns a copy of . - virtual TAO_FT_Request_Duration_Policy *clone (void) const; - - // = The FT::RequestDurationPolicy methods - virtual TimeBase::TimeT request_duration_policy_value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Change the CORBA representation to the ACE representation. - void set_time_value (ACE_Time_Value &time_value); - -private: - /// The attribute - TimeBase::TimeT request_duration_; -}; - - -/** - * @class TAO_FT_Heart_Beat_Policy - * - * @brief FT::HeartBeatPolicy - * - * If this policy is set, it enables the client ORB to send - * heartbeats to the server ORB over the open connections. - */ -class TAO_FT_Heart_Beat_Policy - : public FT::HeartbeatPolicy, - public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_FT_Heart_Beat_Policy (const CORBA::Boolean boolean, - const TimeBase::TimeT &interval, - const TimeBase::TimeT &timeout); - - /// Copy constructor. - TAO_FT_Heart_Beat_Policy (const TAO_FT_Heart_Beat_Policy &rhs); - - /// Helper method for the implementation of - /// CORBA::ORB::create_policy. - static CORBA::Policy_ptr create (const CORBA::Any& val - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Returns a copy of . - virtual TAO_FT_Heart_Beat_Policy *clone (void) const; - - // = The FT::HeartBeatPolicy methods - virtual FT::HeartbeatPolicyValue heartbeat_policy_value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Change the CORBA representation to the ACE representation. - void set_time_value (ACE_Time_Value &time_value, - const TimeBase::TimeT &timebase); - -private: - - // The attributes - /// indicates whether heartbeating is enabled or not. - CORBA::Boolean heartbeat_; - - /// Intervals in which heartbeat messages need to be sent - TimeBase::TimeT heartbeat_interval_; - - /// The timeouts for the heartbeats - TimeBase::TimeT heartbeat_timeout_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__ACE_INLINE__) -#include "orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" -#endif /* TAO_FT_CLIENTPOLICY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl deleted file mode 100755 index 637356ff8ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl +++ /dev/null @@ -1,55 +0,0 @@ -// -*- C++ -*- -// -//$Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy ( - const TimeBase::TimeT &duration - ) - : request_duration_ (duration) -{ -} - -ACE_INLINE -TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy ( - const TAO_FT_Request_Duration_Policy &rhs - ) - : CORBA::Object (), - CORBA::Policy (), - CORBA::LocalObject (), - FT::RequestDurationPolicy (), - TAO_Local_RefCounted_Object (), - request_duration_ (rhs.request_duration_) -{ -} - -ACE_INLINE -TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy ( - const CORBA::Boolean heartbeat, - const TimeBase::TimeT &interval, - const TimeBase::TimeT &timeout - ) - : heartbeat_ (heartbeat), - heartbeat_interval_ (interval), - heartbeat_timeout_ (timeout) -{ -} - -ACE_INLINE -TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy ( - const TAO_FT_Heart_Beat_Policy &rhs - ) - : CORBA::Object (), - CORBA::Policy (), - CORBA::LocalObject (), - FT::HeartbeatPolicy (), - TAO_Local_RefCounted_Object (), - heartbeat_ (rhs.heartbeat_), - heartbeat_interval_ (rhs.heartbeat_interval_), - heartbeat_timeout_ (rhs.heartbeat_timeout_) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp deleted file mode 100644 index ad331580af6..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp +++ /dev/null @@ -1,441 +0,0 @@ -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h" -#include "orbsvcs/FaultTolerance/FT_Service_Callbacks.h" -#include "orbsvcs/FT_CORBA_ORBC.h" - -#include "tao/CORBA_String.h" -#include "tao/debug.h" -#include "tao/ORB_Constants.h" -#include "tao/CDR.h" -#include "tao/PI/ClientRequestInfo.h" - -#include "ace/UUID.h" -#include "ace/Lock_Adapter_T.h" -#include "ace/Lock.h" -#include "ace/Synch_Traits.h" - -ACE_RCSID (FaultTolerance, - FT_ORBInitializer, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - FT_ClientRequest_Interceptor::FT_ClientRequest_Interceptor (void) - : name_ ("TAO_FT_ClientRequest_Interceptor") - , uuid_ (0) - , lock_ (0) - , retention_id_ (0) - { - ACE_Utils::UUID_GENERATOR::instance ()->init (); - - this->uuid_ = - ACE_Utils::UUID_GENERATOR::instance ()->generateUUID (); - - // Would be nice to have runtime option. - ACE_NEW (this->lock_, - ACE_Lock_Adapter); - - } - - FT_ClientRequest_Interceptor::~FT_ClientRequest_Interceptor (void) - { - delete this->uuid_; - delete this->lock_; - } - - char * - FT_ClientRequest_Interceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - return CORBA::string_dup (this->name_); - } - - void - FT_ClientRequest_Interceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - } - - void - FT_ClientRequest_Interceptor::send_poll ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Do Nothing - } - - void - FT_ClientRequest_Interceptor::send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - if (TAO_debug_level > 3) - { - CORBA::String_var op = - ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - %s called for %s\n"), - this->name_, - op.in ())); - } - - this->group_version_context (ri - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->request_service_context (ri - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - void - FT_ClientRequest_Interceptor::receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - } - - void - FT_ClientRequest_Interceptor::receive_other ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - TAO_ClientRequestInfo* tao_ri = dynamic_cast (ri); - - if (!tao_ri) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - TimeBase::TimeT expires = tao_ri->tao_ft_expiration_time (); - - if (!expires) - { - // Not an FT request - return; - } - - PortableInterceptor::ReplyStatus status = -1; - - ACE_TRY - { - status = ri->reply_status(ACE_ENV_SINGLE_ARG_PARAMETER); - } - ACE_CATCHANY - { - // No reply status => Not a location forward. - return; - } - ACE_ENDTRY; - - if (status == PortableInterceptor::LOCATION_FORWARD) - { - // We are in an FT request and a location forward has been received. - - if (expires < TAO_FT_Service_Callbacks::now ()) - { - // The request has already expired... - - if (TAO_debug_level > 3) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_FT (%P|%t): FT_ClientRequest_Interceptor::receive_other - LOCATION_FORWARD received after request expiration.\n")); - } - - // The spec says throw a SYSTEM_EXCEPTION, but doesn't specify which one. - // I think a TRANSIENT is the most suitable. - ACE_THROW (CORBA::TRANSIENT ( - CORBA::SystemException::_tao_minor_code ( - TAO_INVOCATION_LOCATION_FORWARD_MINOR_CODE, - errno), - CORBA::COMPLETED_NO)); - } - } - } - - void - FT_ClientRequest_Interceptor::receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { -#if 0 - // @@ Will be used later. - // Do a check for policy in which this can be done.. - PortableInterceptor::ReplyStatus rs = - ri->reply_status (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (rs != PortableInterceptor::SYSTEM_EXCEPTION) - { - return; - } - - CORBA::Any_var ex = - ri->received_exception (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_OutputCDR cdr; - - if (!ex->impl ()->marshal_value (cdr)) - return; - - // Place for optimization.. - TAO_InputCDR icdr (cdr); - - CORBA::String_var rep_id; - - CORBA::ULong min, cs = 0; - - if (!(icdr.read_string (rep_id.out ()) && - icdr.read_ulong (min) && - icdr.read_ulong (cs))) - ACE_THROW (CORBA::MARSHAL (TAO::VMCID, - CORBA::COMPLETED_MAYBE)); - - cs = CORBA::CompletionStatus (cs); - - // ORB would take care of it - if (cs != CORBA::COMPLETED_MAYBE) - return; - - // If it is COMPLETED_MAYBE, then we will throw a COMPLETED_NO, - // which the ORB should understand - if (ACE_OS_String::strcmp (rep_id.in (), - "IDL:omg.org/CORBA/TRANSIENT:1.0") == 0) - ACE_THROW (CORBA::TRANSIENT (min, - CORBA::COMPLETED_NO)); - else if (ACE_OS_String::strcmp (rep_id.in (), - "IDL:omg.org/CORBA/COMM_FAILURE:1.0") == 0) - ACE_THROW (CORBA::COMM_FAILURE (min, - CORBA::COMPLETED_NO)); - else if (ACE_OS_String::strcmp (rep_id.in (), - "IDL:omg.org/CORBA/NO_REPONSE:1.0") == 0) - ACE_THROW (CORBA::NO_RESPONSE (min, - CORBA::COMPLETED_NO)); - - else if (ACE_OS_String::strcmp (rep_id.in (), - "IDL:omg.org/CORBA/OBJ_ADAPTER:1.0") == 0) - ACE_THROW (CORBA::OBJ_ADAPTER (min, - CORBA::COMPLETED_NO)); - cout << "Didnt throw exception " << endl; -#endif /*if 0*/ - return; - } - - - void - FT_ClientRequest_Interceptor::group_version_context ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - ACE_TRY - { - IOP::TaggedComponent_var tp = - ri->get_effective_component (IOP::TAG_FT_GROUP - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Grab the object group version - // @@ NOTE: This involves an allocation and a dellocation. This is - // really bad. - TAO_InputCDR cdr (reinterpret_cast (tp->component_data.get_buffer ()), - tp->component_data.length ()); - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return; - - cdr.reset_byte_order (static_cast (byte_order)); - - FT::TagFTGroupTaggedComponent gtc; - - if ((cdr >> gtc) == 0) - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28, - CORBA::COMPLETED_NO)); - - IOP::ServiceContext sc; - sc.context_id = IOP::FT_GROUP_VERSION; - - TAO_OutputCDR ocdr; - if (!(ocdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER))) - return; - //ACE_THROW (CORBA::MARSHAL ()); - - if (!(ocdr << gtc.object_group_ref_version)) - return; - //ACE_THROW (CORBA::MARSHAL ()); - - CORBA::ULong length = - static_cast (ocdr.total_length ()); - sc.context_data.length (length); - CORBA::Octet *buf = sc.context_data.get_buffer (); - - for (const ACE_Message_Block *i = ocdr.begin (); - i != 0; - i = i->cont ()) - { - ACE_OS::memcpy (buf, i->rd_ptr (), i->length ()); - buf += i->length (); - } - - // Add this context to the service context list. - ri->add_request_service_context (sc, - 0 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - } - ACE_CATCHANY - { - // Not much can be done anyway. Just keep quiet - // ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - - return; - } - - void - FT_ClientRequest_Interceptor::request_service_context ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - ACE_TRY - { - IOP::ServiceContext sc; - sc.context_id = IOP::FT_REQUEST; - - CORBA::Policy_var policy = - ri->get_request_policy (FT::REQUEST_DURATION_POLICY - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - FT::FTRequestServiceContext ftrsc; - ftrsc.client_id = - CORBA::string_dup (this->uuid_->to_string ()->c_str ()); - - TAO_ClientRequestInfo* tao_ri = dynamic_cast (ri); - - if (!tao_ri) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - if (tao_ri->tao_ft_expiration_time ()) - { - ftrsc.retention_id = tao_ri->tao_ft_retention_id (); - ftrsc.expiration_time = tao_ri->tao_ft_expiration_time (); - } - else - { - ACE_GUARD (ACE_Lock, - guard, - *this->lock_); - - ftrsc.retention_id = ++this->retention_id_; - ftrsc.expiration_time = - this->request_expiration_time (policy.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - tao_ri->tao_ft_retention_id (ftrsc.retention_id); - tao_ri->tao_ft_expiration_time (ftrsc.expiration_time); - } - - TAO_OutputCDR ocdr; - if (!(ocdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER))) - return; - //ACE_THROW (CORBA::MARSHAL ()); - - if (!(ocdr << ftrsc)) - return; - // ACE_THROW (CORBA::MARSHAL ()); - - // Make a *copy* of the CDR stream... - CORBA::ULong length = - static_cast (ocdr.total_length ()); - sc.context_data.length (length); - CORBA::Octet *buf = sc.context_data.get_buffer (); - - for (const ACE_Message_Block *i = ocdr.begin (); - i != 0; - i = i->cont ()) - { - ACE_OS::memcpy (buf, i->rd_ptr (), i->length ()); - buf += i->length (); - } - - // Add this context to the service context list. - ri->add_request_service_context (sc, - 0 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - return; - } - - TimeBase::TimeT - FT_ClientRequest_Interceptor::request_expiration_time ( - CORBA::Policy *policy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - FT::RequestDurationPolicy_var p; - - if (policy != 0) - { - p = FT::RequestDurationPolicy::_narrow (policy - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - TimeBase::TimeT t = 0; - - if (p.in ()) - { - t = - p->request_duration_policy_value (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else - { - if (TAO_debug_level > 3) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - Using default value") - ACE_TEXT ("of 1.5 seconds\n"))); - } - t = 15 * 1000000; - } - - // Calculaton of the expiration time - t += TAO_FT_Service_Callbacks::now (); - - return t; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h deleted file mode 100644 index c4115555085..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h +++ /dev/null @@ -1,150 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ClientRequest_Interceptor.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= -#ifndef TAO_FT_CLIENT_REQUEST_INTERCEPTOR_H -#define TAO_FT_CLIENT_REQUEST_INTERCEPTOR_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" -#include "tao/TimeBaseC.h" -#include "ace/Singleton.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -namespace ACE_Utils -{ - class UUID; -} -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /** - * @class FT_TSS - * - * @brief Request service context generator class for the client. - * - * @@TODO Need to see whether we can have seperate resource factory - * and put this there. Let us get this going first - */ - class FT_TSS - { - public: - CORBA::Long retention_id_; - - bool clean_flag_; - }; - - - /** - * @class FT_ClientRequest_Interceptor - * - * @brief Interceptors for the client - * - * @@TODO - */ - class FT_ClientRequest_Interceptor - : public virtual PortableInterceptor::ClientRequestInterceptor, - public virtual TAO_Local_RefCounted_Object - { - public: - - FT_ClientRequest_Interceptor (void); - - /// Canonical name of the interceptor. - virtual char * name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - protected: - - ~FT_ClientRequest_Interceptor (void); - - private: - - void group_version_context (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void request_service_context (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - TimeBase::TimeT request_expiration_time (CORBA::Policy *policy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - - /// Name of the interceptor - const char *name_; - - /// UUID for this client - ACE_Utils::UUID *uuid_; - - /// @@ Need a resource factory for this too - ACE_Lock *lock_; - - /// Retention id generated by the client - CORBA::Long retention_id_; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /*TAO_FT_CLIENT_REQUEST_INTERCEPTOR_H*/ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.cpp deleted file mode 100755 index 7adfd628330..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include "orbsvcs/FaultTolerance/FT_ClientService_Activate.h" -#include "orbsvcs/FaultTolerance/FT_Service_Callbacks.h" -#include "orbsvcs/FaultTolerance/FT_ClientORBInitializer.h" -#include "orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h" -#include "tao/ORB_Core.h" -#include "tao/Service_Callbacks.h" -#include "tao/ORBInitializer_Registry.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID(FaultTolerance, FT_ClientService_Activate, "$Id$") - -static bool initialized = false; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FT_ClientService_Activate::TAO_FT_ClientService_Activate (void) -{ -} - -TAO_FT_ClientService_Activate::~TAO_FT_ClientService_Activate (void) -{ -} - - -TAO_Service_Callbacks * -TAO_FT_ClientService_Activate::activate_services (TAO_ORB_Core *orb_core) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Service_Callbacks *ft_service_callback = 0; - - // Construct service callback object - ACE_NEW_RETURN (ft_service_callback, - TAO_FT_Service_Callbacks (orb_core), - 0); - - - return ft_service_callback; -} - - -int -TAO_FT_ClientService_Activate::Initializer (void) -{ - if (initialized == false) - { - ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_FT_ClientService_Activate); - - PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = - PortableInterceptor::ORBInitializer::_nil (); - PortableInterceptor::ORBInitializer_var orb_initializer; - - // Register the RTCORBA ORBInitializer. - ACE_NEW_RETURN (temp_orb_initializer, - TAO_FT_ClientORBInitializer, - -1); - - orb_initializer = temp_orb_initializer; - - PortableInterceptor::register_orb_initializer (orb_initializer.in ()); - - // Set the name of the endpoint selector factory - TAO_ORB_Core::set_endpoint_selector_factory ("FT_Endpoint_Selector_Factory"); - ACE_Service_Config::process_directive (ace_svc_desc_TAO_FT_Endpoint_Selector_Factory); - - initialized = true; - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_FT_ClientORB,TAO_FT_ClientService_Activate) - -ACE_STATIC_SVC_DEFINE (TAO_FT_ClientService_Activate, - ACE_TEXT ("FT_ClientService_Activate"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_FT_ClientService_Activate), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.h deleted file mode 100755 index c6b8c863e6f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ClientService_Activate.h - * - * $Id$ - * - * A concrete implementation of a service callback - * - * @author Bala Natarajan - */ -//============================================================================= - -#ifndef TAO_FT_CLIENTACTIVATE_H -#define TAO_FT_CLIENTACTIVATE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Services_Activate.h" -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Service_Callbacks; - -// Forward declarations -/** - * @class TAO_FT_ClientService_Activate - * - * @brief A class to dynamically load the FT callback implementations in - * to the ORB. - * - * An implementation of the service callbacks that allows the - * loading of the FT ORB level library in to the ORB - */ -class TAO_FT_ClientORB_Export TAO_FT_ClientService_Activate : public TAO_Services_Activate -{ - -public: - /// Constructor - TAO_FT_ClientService_Activate (void); - - /// The destructor - virtual ~TAO_FT_ClientService_Activate (void); - - /** - * Create and activate the service callbacks into the orb. - * This method cannot throw any exception, but it can return a nil - * object to indicate an error condition. - */ - virtual TAO_Service_Callbacks *activate_services (TAO_ORB_Core *orb) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Used to force the initialization. - static int Initializer (void); -}; - -static int -TAO_FT_Requires_ClientService_Activate = TAO_FT_ClientService_Activate::Initializer (); - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_FT_ClientService_Activate) -ACE_FACTORY_DECLARE (TAO_FT_ClientORB, TAO_FT_ClientService_Activate) - -#include /**/ "ace/post.h" -#endif /*TAO_FT_CLIENTACTIVATE_H*/ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.cpp deleted file mode 100644 index 280b95cab98..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h" -#include "orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h" -#include "tao/SystemException.h" -#include "tao/Environment.h" - - -ACE_RCSID (FaultTolerance, - FT_Endpoint_Selector_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FT_Endpoint_Selector_Factory::TAO_FT_Endpoint_Selector_Factory (void) - : ft_endpoint_selector_ (0) -{ -} - -TAO_FT_Endpoint_Selector_Factory::~TAO_FT_Endpoint_Selector_Factory (void) -{ - delete this->ft_endpoint_selector_; -} - - -TAO_Invocation_Endpoint_Selector * -TAO_FT_Endpoint_Selector_Factory::get_selector ( - ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->ft_endpoint_selector_ == 0) - { - ACE_MT (ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->mutex_, - 0)); - - // Double checked locking.. - if (this->ft_endpoint_selector_ == 0) - { - ACE_NEW_THROW_EX (ft_endpoint_selector_, - TAO_FT_Invocation_Endpoint_Selector (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - } - } - - return this->ft_endpoint_selector_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -ACE_STATIC_SVC_DEFINE (TAO_FT_Endpoint_Selector_Factory, - ACE_TEXT ("FT_Endpoint_Selector_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_FT_Endpoint_Selector_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_FT_ClientORB, TAO_FT_Endpoint_Selector_Factory) diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h deleted file mode 100644 index d2a6462b4e0..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_Endpoint_Selector_Factory.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= -#ifndef TAO_FT_ENDPOINT_SELECTOR_FACTORY_H -#define TAO_FT_ENDPOINT_SELECTOR_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Endpoint_Selector_Factory.h" -#include "tao/Basic_Types.h" -#include "tao/orbconf.h" - -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FT_Invocation_Endpoint_Selector; -/** - * @class TAO_FT_Endpoint_Selector_Factory - * - * @brief Factory for initializing and - * obtaining appropriate . - * - * This class is specifically for the FT_Service in TAO to return the - * right factory - */ - -class TAO_FT_ClientORB_Export TAO_FT_Endpoint_Selector_Factory - : public TAO_Endpoint_Selector_Factory -{ -public: - - /// Constructor. - TAO_FT_Endpoint_Selector_Factory (void); - - /// Destructor. - virtual ~TAO_FT_Endpoint_Selector_Factory (void); - - /// Get an Invocation's endpoint selection strategy and - /// initialize the endpoint selection state instance. - virtual TAO_Invocation_Endpoint_Selector *get_selector ( - ACE_ENV_SINGLE_ARG_DECL); - -private: - - /// The possible endpoint selector strategies that can be - /// returned by this factory - TAO_FT_Invocation_Endpoint_Selector *ft_endpoint_selector_; - - /// Mutex to prevent multiple initializations - TAO_SYNCH_MUTEX mutex_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -//extern TAO_FT_ClientORB_Export ACE_Static_Svc_Descriptor ace_svc_desc_TAO_FT_Endpoint_Selector_Factory; -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_FT_ClientORB, TAO_FT_Endpoint_Selector_Factory) -ACE_FACTORY_DECLARE (TAO_FT_ClientORB, TAO_FT_Endpoint_Selector_Factory) - -#include /**/ "ace/post.h" - -#endif /* TAO_DEFAULT_ENDPOINT_SELECTOR_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp deleted file mode 100644 index 413bce96aaf..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp +++ /dev/null @@ -1,428 +0,0 @@ -#include "orbsvcs/FaultTolerance/FT_IOGR_Property.h" - -#include "tao/MProfile.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/ORB_Core.h" -#include "tao/Tagged_Components.h" -#include "tao/CDR.h" - -#include "ace/Auto_Ptr.h" -#include "tao/debug.h" - - -ACE_RCSID (FaultTolerance, - TAO_FT_IOGR_Property, - "$Id$") - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/FaultTolerance/FT_IOGR_Property.inl" -#endif /* ! __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Boolean -TAO_FT_IOGR_Property::set_property ( - CORBA::Object_ptr &ior - ACE_ENV_ARG_DECL_NOT_USED /*ACE_ENV_SINGLE_ARG_PARAMETER*/) - ACE_THROW_SPEC ((CORBA::SystemException, - TAO_IOP::Invalid_IOR)) -{ - // We need to apply the property for every profile in the IOR - - // Make profiles from the sent - TAO_MProfile &tmp_pfiles = - ior->_stubobj ()->base_profiles (); - - // Get the profile count. - CORBA::ULong count = - ior->_stubobj ()->base_profiles ().profile_count (); - - // Make the output CDR stream - TAO_OutputCDR cdr; - CORBA::Boolean retval = 0; - retval = - cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER); - - IOP::TaggedComponent tagged_components; - tagged_components.tag = IOP::TAG_FT_GROUP; - - // Encode the property in to the tagged_components - retval = retval && - this->encode_properties (cdr, - tagged_components); - - if (retval == 0) - return retval; - - const IOP::TaggedComponent &tmp_tc = tagged_components; - - // Go through every profile and set the TaggedComponent field - for (CORBA::ULong i = 0; i < count ; i++) - { - // Get the tagged components in the profile - TAO_Tagged_Components &tag_comp = - tmp_pfiles.get_profile (i)->tagged_components (); - - // Finally set the in the - // - tag_comp.set_component (tmp_tc); - } - - // Success - return 1; - -} - - -CORBA::Boolean -TAO_FT_IOGR_Property::is_primary_set ( - CORBA::Object_ptr ior - ACE_ENV_ARG_DECL_NOT_USED /*ACE_ENV_SINGLE_ARG_PARAMETER*/) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - if (this->get_primary_profile (ior) != 0) - return 1; - - return 0; -} - - -CORBA::Object_ptr -TAO_FT_IOGR_Property::get_primary ( - CORBA::Object_ptr ior - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - TAO_IOP::NotFound - )) -{ - - TAO_Profile *pfile = - this->get_primary_profile (ior); - - if (pfile == 0) - ACE_THROW_RETURN (TAO_IOP::NotFound (), - CORBA::Object::_nil ()); - - // Search for the IOP::TAG_FT_PRIMARY in the tagged component of - // the profile - - // Get the repository id - CORBA::String_var id = - CORBA::string_dup (ior->_stubobj ()->type_id.in ()); - - TAO_ORB_Core *orb_core = TAO_ORB_Core_instance (); - - // Make a stub Object - TAO_Stub *stub = 0; - - // Make a MProfile object for the primary profile alone. So, the - // size is 1 - CORBA::ULong sz = 1; - TAO_MProfile mpfile (sz); - if (mpfile.add_profile (pfile) != -1) - { - ACE_NEW_THROW_EX (stub, - TAO_Stub (id._retn (), // give the id string to stub - mpfile, - orb_core), - CORBA::NO_MEMORY ()); - } - - // Make the stub memory allocation exception safe for - // the duration of this method. - TAO_Stub_Auto_Ptr safe_stub (stub); - - // Create the CORBA level proxy - CORBA::Object_ptr temp_obj = CORBA::Object::_nil (); - ACE_NEW_THROW_EX (temp_obj, - CORBA::Object (safe_stub.get ()), - CORBA::NO_MEMORY ()); - - CORBA::Object_var new_obj = temp_obj; - - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Clean up in case of errors. - if (CORBA::is_nil (new_obj.in ())) - { - ACE_THROW_RETURN (TAO_IOP::NotFound (), // ** Changed from Invalid_IOR () ** - CORBA::Object::_nil ()); - } - - // Release ownership of the pointers protected by the auto_ptrs since they - // no longer need to be protected by this point. - stub = safe_stub.release (); - - return new_obj._retn (); - -} - - -CORBA::Boolean -TAO_FT_IOGR_Property::set_primary ( - CORBA::Object_ptr &ior1, - CORBA::Object_ptr ior2 - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - TAO_IOP::NotFound, - TAO_IOP::Duplicate - )) -{ - // Check for primary in - IOP::TaggedComponent tagged_components; - tagged_components.tag = IOP::TAG_FT_PRIMARY; - - TAO_MProfile &mprofile = - ior2->_stubobj ()->base_profiles (); - - for (CORBA::ULong i = 0; - i < mprofile.profile_count (); - i++) - { - TAO_Tagged_Components &tag_comp = - mprofile.get_profile (i)->tagged_components (); - - if (tag_comp.get_component (tagged_components) == 1) - ACE_THROW_RETURN (TAO_IOP::Duplicate (), - 0); - } - - // Check whether ior1 exists in ior2 - CORBA::Long index = -1; - - // Even if it is a multi-profile (in case of multi-homed hosts we - // could get a multiple IOR profile), we are going to make the first one - // in that a primary - TAO_Profile *prim_profile = - ior1->_stubobj ()->base_profiles ().get_profile (0); - - CORBA::ULong count = - ior2->_stubobj ()->base_profiles ().profile_count (); - - - for (CORBA::ULong ctr = 0; - ctr < count; - ctr ++) - { - if (prim_profile->is_equivalent ( - ior2->_stubobj ()->base_profiles ().get_profile (ctr)) == 1) - { - // We know that exists in - // Take the index of that and break out of the loop - index = ctr; - break; - } - } - - // At the end of the loop check whether we have seen in - // - if (index == -1) - ACE_THROW_RETURN (TAO_IOP::NotFound (), - 0); - - CORBA::Boolean val = 1; - - TAO_OutputCDR cdr; - cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER); - cdr << ACE_OutputCDR::from_boolean (val); - - // Get the length of the CDR stream - CORBA::ULong length = static_cast (cdr.total_length ()); - - // Set the length - tagged_components.component_data.length (length); - - // Get the pointer to the underlying buffer - CORBA::Octet *buf = - tagged_components.component_data.get_buffer (); - - for (const ACE_Message_Block *mb = cdr.begin (); - mb != 0; - mb = mb->cont ()) - { - ACE_OS::memcpy (buf, mb->rd_ptr (), mb->length ()); - buf += mb->length (); - } - - // Set the - TAO_Tagged_Components &tagg = - ior2->_stubobj ()->base_profiles ().get_profile (index)->tagged_components (); - - tagg.set_component (tagged_components); - - return 1; -} - -CORBA::Boolean -TAO_FT_IOGR_Property::encode_properties ( - TAO_OutputCDR &cdr, - IOP::TaggedComponent &tagged_components) -{ - if (this->ft_group_tagged_component_ == 0) - { - if (TAO_debug_level > 2) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO-FT (%P|%t) - The group tagged component ", - "is null \n"), - 0); - } - - // the version info - CORBA::Boolean status = - cdr << this->ft_group_tagged_component_->component_version; - - // the domain id - status = status && - cdr << this->ft_group_tagged_component_->group_domain_id.in (); - - // Object group id - status = status && - cdr << this->ft_group_tagged_component_->object_group_id; - - // Object group reference version - status = status && - cdr << this->ft_group_tagged_component_->object_group_ref_version; - - // Get the length of the CDR stream - CORBA::ULong length = static_cast (cdr.total_length ()); - - // Set the length - tagged_components.component_data.length (length); - - // Get the pointer to the underlying buffer - CORBA::Octet *buf = - tagged_components.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 (); - } - - - return status; -} - - -TAO_Profile * -TAO_FT_IOGR_Property::get_primary_profile ( - CORBA::Object_ptr ior) -{ - // Get the MProfile - TAO_MProfile &mprofile = - ior->_stubobj ()->base_profiles (); - - // Looking for a tagged component with a PRIMARY flag. - IOP::TaggedComponent tagged_components; - tagged_components.tag = IOP::TAG_FT_PRIMARY; - - for (CORBA::ULong i = 0; - i < mprofile.profile_count (); - i++) - { - // Get the Tagged Components - const TAO_Tagged_Components &pfile_tagged = - mprofile.get_profile (i)->tagged_components (); - - // Look for the primary - if (pfile_tagged.get_component (tagged_components) == 1) - { - // If there is one return the pfile - return mprofile.get_profile (i); - } - } - return 0; -} - - -CORBA::Boolean -TAO_FT_IOGR_Property::get_tagged_component ( - const CORBA::Object_ptr iogr, - FT::TagFTGroupTaggedComponent &fgtc - ACE_ENV_ARG_DECL) const - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Stub *stub = - iogr->_stubobj (); - - if (stub == 0) - return 0; - - // Get the MProfile - TAO_MProfile &mprofile = - iogr->_stubobj ()->base_profiles (); - - // Looking for a tagged component with a TAG_FT_GROUP flag. - IOP::TaggedComponent tc; - tc.tag = IOP::TAG_FT_GROUP; - - for (CORBA::ULong i = 0; - i < mprofile.profile_count (); - i++) - { - - // Get the Tagged Components - const TAO_Tagged_Components &pfile_tagged = - mprofile.get_profile (i)->tagged_components (); - - // Look for the primary - if (pfile_tagged.get_component (tc) == 1) - { - TAO_InputCDR cdr (reinterpret_cast (tc.component_data.get_buffer ()), - tc.component_data.length ()); - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_THROW_RETURN (CORBA::MARSHAL (), - 0); - - cdr.reset_byte_order (static_cast (byte_order)); - - if ((cdr >> fgtc) == 1) - return 1; - else - ACE_THROW_RETURN (CORBA::MARSHAL (), - 0); - } - } - - return 0; -} - -CORBA::Boolean -TAO_FT_IOGR_Property::remove_primary_tag ( - CORBA::Object_ptr &iogr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Get the MProfile - TAO_MProfile &mprofile = - iogr->_stubobj ()->base_profiles (); - - for (CORBA::ULong i = 0; - i < mprofile.profile_count (); - ++i) - { - TAO_Profile* profile = mprofile.get_profile (i); - - // Get the Tagged Components - TAO_Tagged_Components &pfile_tagged = - profile->tagged_components (); - - if (pfile_tagged.remove_component (IOP::TAG_FT_PRIMARY)) - { - return 1; - } - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h deleted file mode 100644 index cc888e28e31..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h +++ /dev/null @@ -1,147 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_IOGR_Property.h - * - * $Id$ - * - * This class implements the IOGR properties for the FT service - * - * - * @author Bala Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_IOGR_PROPERTY_H -#define TAO_FT_IOGR_PROPERTY_H -#include /**/ "ace/pre.h" - -#include "tao/LocalObject.h" -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/IORManipulation/IORManip_Loader.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/IOPC.h" -#include "orbsvcs/FaultTolerance/FT_ORB_Utils_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Profile; - -/** - * @class TAO_FT_IOGR_Property - * - * @brief TAO_FT_IOGR_Property - * - * This class serves as the callback class for setting the - * TaggedComponent properties in the profiles of the IOGR. The - * user can make an instance of this class with the right - * properties and use the helper methods in the IORManipulation - * - * NOTE: This class is NOT thread safe. The range of services that - * use this class (like the RM) should use them in a thread safe - * manner. - */ -class TAO_FT_ORB_Utils_Export TAO_FT_IOGR_Property - : public virtual TAO_IOP::TAO_IOR_Property, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /// Our Constructor - TAO_FT_IOGR_Property (FT::TagFTGroupTaggedComponent &ft_group); - - TAO_FT_IOGR_Property (void); - - /// Destructor - ~TAO_FT_IOGR_Property (void); - - /// Set the property for the IOGR - virtual CORBA::Boolean set_property ( - CORBA::Object_ptr &ior - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException, - TAO_IOP::Invalid_IOR - )); - - /// Set as primary which is a part of - virtual CORBA::Boolean set_primary ( - CORBA::Object_ptr &ior1, - CORBA::Object_ptr ior2 - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException, - TAO_IOP::NotFound, - TAO_IOP::Duplicate - )); - - /// Get the primary member from the IOGR - virtual CORBA::Object_ptr get_primary ( - CORBA::Object_ptr ior - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException, - TAO_IOP::NotFound - )); - - /// Is there a primary available for - virtual CORBA::Boolean is_primary_set ( - CORBA::Object_ptr ior - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual CORBA::Boolean remove_primary_tag ( - CORBA::Object_ptr &iogr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Reset the underlying tagged components held by the class - CORBA::Boolean reset_tagged_components ( - FT::TagFTGroupTaggedComponent &ft_group); - - /// Extract the TagFTGroupTaggedComponent inside the - CORBA::Boolean get_tagged_component ( - const CORBA::Object_ptr iogr, - FT::TagFTGroupTaggedComponent &ft_group - ACE_ENV_ARG_DECL) const - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - /// An helper function that gets the primary profile from the - TAO_Profile *get_primary_profile (CORBA::Object_ptr ior); - - /// An helper method for encoding the proeprties - CORBA::Boolean encode_properties ( - TAO_OutputCDR &cdr, - IOP::TaggedComponent &tagged_components); - -private: - /// Hold the reference to the FT group tagged component - FT::TagFTGroupTaggedComponent *ft_group_tagged_component_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__ACE_INLINE__) -# include "orbsvcs/FaultTolerance/FT_IOGR_Property.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_FT_IOGR_PROPERTY_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.inl b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.inl deleted file mode 100644 index 5e3a8417714..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.inl +++ /dev/null @@ -1,35 +0,0 @@ -// -*- C++ -*- -// -//$Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_FT_IOGR_Property::TAO_FT_IOGR_Property ( - FT::TagFTGroupTaggedComponent &ft_group) - :ft_group_tagged_component_ (&ft_group) -{ -} - -ACE_INLINE -TAO_FT_IOGR_Property::TAO_FT_IOGR_Property (void) - :ft_group_tagged_component_ (0) -{ -} - -ACE_INLINE -TAO_FT_IOGR_Property::~TAO_FT_IOGR_Property (void) -{ -} - -ACE_INLINE CORBA::Boolean -TAO_FT_IOGR_Property::reset_tagged_components ( - FT::TagFTGroupTaggedComponent &ft_group) -{ - this->ft_group_tagged_component_ = - &ft_group; - - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp deleted file mode 100644 index 3243d7ea5fd..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp +++ /dev/null @@ -1,235 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h" - -#include "tao/Profile_Transport_Resolver.h" -#include "tao/Stub.h" -#include "tao/Profile.h" -#include "tao/Endpoint.h" -#include "tao/Base_Transport_Property.h" -#include "tao/Environment.h" -#include "tao/debug.h" -#include "ace/Log_Msg.h" - -ACE_RCSID (FaultTolerance, - FT_Invocation_Endpoint_Selectors, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FT_Invocation_Endpoint_Selector::TAO_FT_Invocation_Endpoint_Selector (void) - : TAO_Default_Endpoint_Selector () -{ -} - -TAO_FT_Invocation_Endpoint_Selector::~TAO_FT_Invocation_Endpoint_Selector (void) -{ -} - -void -TAO_FT_Invocation_Endpoint_Selector::select_endpoint ( - TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *val - ACE_ENV_ARG_DECL) -{ - bool retval = - this->select_primary (r, - val - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (retval) - return; - - retval = - this->select_secondary (r, - val - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (retval == false) - { - // If we get here, we completely failed to find an endpoint selector - // that we know how to use, so throw an exception. - ACE_THROW (CORBA::TRANSIENT (CORBA::OMGVMCID | 2, - CORBA::COMPLETED_NO)); - } - - return; -} - -bool -TAO_FT_Invocation_Endpoint_Selector::select_primary ( - TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *max_wait_time - ACE_ENV_ARG_DECL) -{ - // Grab the forwarded list - TAO_MProfile *prof_list = - const_cast (r->stub ()->forward_profiles ()); - - TAO_MProfile &basep = r->stub ()->base_profiles (); - - if (prof_list ==0) - prof_list = &basep; - - if (prof_list == 0) - return false; - - // Did not succeed. Try to look for primaries all over the place - CORBA::ULong sz = - prof_list->size (); - - // Iterate through the list in a circular fashion. Stop one before - // the list instead of trying the same thing again. - for (CORBA::ULong i = 0; - i != sz; - ++i) - { - TAO_Profile *tmp = prof_list->get_profile (i); - - bool retval = - this->check_profile_for_primary (tmp - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - // Choose a non-primary - if (retval == true && tmp != 0) - { - retval = - this->try_connect (r, - tmp, - max_wait_time - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - if (retval == true) - return true; - } - } - - return false; -} - -bool -TAO_FT_Invocation_Endpoint_Selector::select_secondary ( - TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *max_wait_time - ACE_ENV_ARG_DECL) -{ - // Grab the forwarded list - TAO_MProfile *prof_list = - const_cast (r->stub ()->forward_profiles ()); - - TAO_MProfile &basep = - r->stub ()->base_profiles (); - - if (prof_list ==0) - prof_list = &basep; - - if (prof_list == 0) - return false; - - CORBA::ULong sz = - prof_list->size (); - - for (CORBA::ULong i = 0; - i != sz; - ++i) - { - TAO_Profile *tmp = - prof_list->get_profile (i); - - bool retval = - this->check_profile_for_primary (tmp - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - // Choose a non-primary - if (retval == false && tmp != 0) - { - retval = - this->try_connect (r, - tmp, - max_wait_time - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - if (retval == true) - return true; - } - } - - return false; -} - -bool -TAO_FT_Invocation_Endpoint_Selector::try_connect ( - TAO::Profile_Transport_Resolver *r, - TAO_Profile *profile, - ACE_Time_Value *max_wait_time - ACE_ENV_ARG_DECL) -{ - r->profile (profile); - - size_t endpoint_count = - r->profile ()->endpoint_count (); - - TAO_Endpoint *ep = - r->profile ()->endpoint (); - - for (size_t i = 0; i < endpoint_count; ++i) - { - TAO_Base_Transport_Property desc (ep); - - bool retval = - r->try_connect (&desc, - max_wait_time - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - // @@ Good place to handle timeouts.. We can omit timeouts and - // go ahead looking for other things... There are some small - // issues that needs ironed out first in the invocation - // classes. - - // Check if the connect has completed. - if (retval) - return true; - - // Go to the next endpoint in this profile. - ep = ep->next (); - } - - return false; -} - -bool -TAO_FT_Invocation_Endpoint_Selector::check_profile_for_primary ( - TAO_Profile *pfile - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (pfile == 0) - return false; - - IOP::TaggedComponent tagged_component; - tagged_component.tag = IOP::TAG_FT_PRIMARY; - - // Get the tagged component from the profile - TAO_Tagged_Components &pfile_tagged = - pfile->tagged_components (); - - // Search for the TaggedComponent that we want - if (pfile_tagged.get_component (tagged_component) != 1) - return false; - - if (TAO_debug_level > 2) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - Got a primary component\n"))); - } - - return true; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h deleted file mode 100644 index ae3a473ea34..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h +++ /dev/null @@ -1,96 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_Invocation_Endpoint_Selectors.h - * - * $Id$ - * - * Strategies for selecting profile/endpoint from an IOR for making an - * invocation. - * - * @author Balachandran Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_INVOCATION_ENDPOINT_SELECTOR_H -#define TAO_FT_INVOCATION_ENDPOINT_SELECTOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Invocation_Endpoint_Selectors.h" -#include "tao/Basic_Types.h" -#include "tao/ORB_Constants.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Profile; - -/** - * @class TAO_FT_Invocation_Endpoint_Selector - * - * @brief Implementation specific for FT_Service. - * - * We inherit from the Default endpoint selector, as this would give - * us a chance to use the default endpoint selector options if - * needed. - * - */ - -class TAO_FT_ClientORB_Export TAO_FT_Invocation_Endpoint_Selector : - public TAO_Default_Endpoint_Selector -{ - -public: - /// Constructor. - TAO_FT_Invocation_Endpoint_Selector (void); - - /// Destructor. - virtual ~TAO_FT_Invocation_Endpoint_Selector (void); - - /// Implementation for FT. Please refer to - /// $TAO_ROOT/tao/Invocation_Endpoint_Selectors.h for details of - /// documentation. - virtual void select_endpoint (TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *val - ACE_ENV_ARG_DECL); - -protected: - /// Select the primary and try connecting to it. - bool select_primary (TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *val - ACE_ENV_ARG_DECL); - - /// Select the secondary and try connecting to it. Returns true if - /// successfull. - bool select_secondary (TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *val - ACE_ENV_ARG_DECL); - - /// Helper method that tries to establish connections with all the - /// endpoints in the profile. - bool try_connect (TAO::Profile_Transport_Resolver *r, - TAO_Profile *profile, - ACE_Time_Value *max_wait_time - ACE_ENV_ARG_DECL); - - /// Helper method that checks whether the profile is a primary or - /// not. - bool check_profile_for_primary (TAO_Profile * - ACE_ENV_ARG_DECL); - - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* FT_TAO_INVOCATION_ENDPOINT_SELECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp deleted file mode 100644 index 3e2a732dd62..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_ORBInitializer.h" -#include "orbsvcs/FaultTolerance/FT_PolicyFactory.h" -#include "orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h" -#include "orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/Exception.h" - - -ACE_RCSID (FaultTolerance, - FT_ORBInitializer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_FT_ORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_ORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->register_policy_factories (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->register_server_request_interceptors (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->register_client_request_interceptors (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_FT_ORBInitializer::register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Register the FTCORBA policy factories. - - PortableInterceptor::PolicyFactory_ptr temp_factory = - PortableInterceptor::PolicyFactory::_nil (); - PortableInterceptor::PolicyFactory_var policy_factory; - - // This policy factory is used for all FTCORBA related policies. - - ACE_NEW_THROW_EX (temp_factory, - TAO_FT_PolicyFactory, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - policy_factory = temp_factory; - - // Bind the same policy factory to all RTCORBA related policy - // types since a single policy factory is used to create each of - // the different types of RTCORBA policies. - - CORBA::PolicyType type = FT::REQUEST_DURATION_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = FT::HEARTBEAT_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = FT::HEARTBEAT_ENABLED_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Transfer ownership of the policy factory to the registry. - (void) policy_factory._retn (); -} - -void -TAO_FT_ORBInitializer::register_server_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableInterceptor::ServerRequestInterceptor_ptr sri = - PortableInterceptor::ServerRequestInterceptor::_nil (); - - ACE_NEW_THROW_EX (sri, - TAO::FT_ServerRequest_Interceptor, - CORBA::NO_MEMORY ()); - - PortableInterceptor::ServerRequestInterceptor_var - server_interceptor = sri; - - info->add_server_request_interceptor (server_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void -TAO_FT_ORBInitializer::register_client_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableInterceptor::ClientRequestInterceptor_ptr cri = - PortableInterceptor::ClientRequestInterceptor::_nil (); - - ACE_NEW_THROW_EX (cri, - TAO::FT_ClientRequest_Interceptor, - CORBA::NO_MEMORY ()); - - PortableInterceptor::ClientRequestInterceptor_var - client_interceptor = cri; - - info->add_client_request_interceptor (client_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h deleted file mode 100644 index 8493a77ddac..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ORBInitializer.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= -#ifndef TAO_FT_ORB_INITIALIZER_H -#define TAO_FT_ORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "tao/corbafwd.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" -#include "orbsvcs/FaultTolerance/fault_tol_export.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// RTCORBA ORB initializer. -class TAO_FT_ORBInitializer - : public virtual PortableInterceptor::ORBInitializer - , public virtual TAO_Local_RefCounted_Object -{ -public: - - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - /// Register FTCORBA policy factories. - void register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Register the necessary interceptors. - void register_server_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void register_client_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_FT_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h deleted file mode 100644 index f492009ae85..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ORB_Utils_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_FT_ORB_Utils -// ------------------------------ -#ifndef TAO_FT_ORB_UTILS_EXPORT_H -#define TAO_FT_ORB_UTILS_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FT_ORB_UTILS_HAS_DLL) -# define TAO_FT_ORB_UTILS_HAS_DLL 0 -# endif /* ! TAO_FT_ORB_UTILS_HAS_DLL */ -#else -# if !defined (TAO_FT_ORB_UTILS_HAS_DLL) -# define TAO_FT_ORB_UTILS_HAS_DLL 1 -# endif /* ! TAO_FT_ORB_UTILS_HAS_DLL */ -#endif - -#if defined (TAO_FT_ORB_UTILS_HAS_DLL) && (TAO_FT_ORB_UTILS_HAS_DLL == 1) -# if defined (TAO_FT_ORB_UTILS_BUILD_DLL) -# define TAO_FT_ORB_Utils_Export ACE_Proper_Export_Flag -# define TAO_FT_ORB_UTILS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_ORB_UTILS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_FT_ORB_UTILS_BUILD_DLL */ -# define TAO_FT_ORB_Utils_Export ACE_Proper_Import_Flag -# define TAO_FT_ORB_UTILS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_ORB_UTILS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_FT_ORB_UTILS_BUILD_DLL */ -#else /* TAO_FT_ORB_UTILS_HAS_DLL == 1 */ -# define TAO_FT_ORB_Utils_Export -# define TAO_FT_ORB_UTILS_SINGLETON_DECLARATION(T) -# define TAO_FT_ORB_UTILS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_FT_ORB_UTILS_HAS_DLL == 1 */ - -// Set TAO_FT_ORB_UTILS_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_FT_ORB_UTILS_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_FT_ORB_UTILS_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_FT_ORB_UTILS_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_FT_ORB_UTILS_NTRACE */ - -#if (TAO_FT_ORB_UTILS_NTRACE == 1) -# define TAO_FT_ORB_UTILS_TRACE(X) -#else /* (TAO_FT_ORB_UTILS_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_FT_ORB_UTILS_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_FT_ORB_UTILS_NTRACE == 1) */ - -#endif /* TAO_FT_ORB_UTILS_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp deleted file mode 100644 index 74758912067..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_PolicyFactory.h" -#include "orbsvcs/FaultTolerance/FT_Policy_i.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/PolicyC.h" - - -ACE_RCSID (FaultTolerance, FT_PolicyFactory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Policy_ptr -TAO_FT_PolicyFactory::create_policy ( - CORBA::PolicyType type, - const CORBA::Any &val - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)) -{ - - if (type == FT::REQUEST_DURATION_POLICY) - return TAO_FT_Request_Duration_Policy::create (val - ACE_ENV_ARG_PARAMETER); - else if (type == FT::HEARTBEAT_POLICY) - return TAO_FT_Heart_Beat_Policy::create (val - ACE_ENV_ARG_PARAMETER); - else if (type == FT::HEARTBEAT_ENABLED_POLICY) - return TAO_FT_Heart_Beat_Enabled_Policy::create (val - ACE_ENV_ARG_PARAMETER); - - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h deleted file mode 100644 index bb71603c077..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_PolicyFactory.h - * - * $Id$ - * - * @author Bala Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_POLICY_FACTORY_H -#define TAO_FT_POLICY_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "tao/corbafwd.h" - - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "orbsvcs/FaultTolerance/fault_tol_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Policy factory for all FTCORBA related policies. -class TAO_FT_PolicyFactory - : public PortableInterceptor::PolicyFactory - , public TAO_Local_RefCounted_Object -{ -public: - - virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type, - const CORBA::Any &value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - - -#include /**/ "ace/post.h" - -#endif /* TAO_FT_POLICY_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp deleted file mode 100644 index c24aa921d17..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp +++ /dev/null @@ -1,259 +0,0 @@ -//$Id$ -#include "orbsvcs/FaultTolerance/FT_Policy_i.h" - -#include "tao/debug.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/FaultTolerance/FT_Policy_i.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(FaultTolerance, FT_Policy_i, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TimeBase::TimeT -TAO_FT_Request_Duration_Policy::request_duration_policy_value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->request_duration_; -} - -CORBA::PolicyType -TAO_FT_Request_Duration_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return FT::REQUEST_DURATION_POLICY; -} - -CORBA::Policy_ptr -TAO_FT_Request_Duration_Policy::create (const CORBA::Any& val - ACE_ENV_ARG_DECL) -{ - TimeBase::TimeT value; - if ((val >>= value) == 0) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); - - TAO_FT_Request_Duration_Policy *tmp; - ACE_NEW_THROW_EX (tmp, - TAO_FT_Request_Duration_Policy (value), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -TAO_FT_Request_Duration_Policy * -TAO_FT_Request_Duration_Policy::clone (void) const -{ - TAO_FT_Request_Duration_Policy *copy = 0; - ACE_NEW_RETURN (copy, - TAO_FT_Request_Duration_Policy (*this), - 0); - return copy; -} - -CORBA::Policy_ptr -TAO_FT_Request_Duration_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Request_Duration_Policy* tmp; - ACE_NEW_THROW_EX (tmp, TAO_FT_Request_Duration_Policy (*this), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -void -TAO_FT_Request_Duration_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_Request_Duration_Policy::set_time_value (ACE_Time_Value &time_value) -{ - TimeBase::TimeT t = this->request_duration_; - TimeBase::TimeT seconds = t / 10000000u; - TimeBase::TimeT microseconds = (t % 10000000u) / 10; - time_value.set (ACE_U64_TO_U32 (seconds), - ACE_U64_TO_U32 (microseconds)); - - if (TAO_debug_level > 0) - { - CORBA::ULong msecs = - static_cast (microseconds / 1000); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - Timeout is <%u>\n"), - msecs)); - } -} - - -/*****************************************************************/ - -FT::HeartbeatPolicyValue -TAO_FT_Heart_Beat_Policy::heartbeat_policy_value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FT::HeartbeatPolicyValue val; - val.heartbeat = this->heartbeat_; - val.heartbeat_interval = this->heartbeat_interval_; - val.heartbeat_timeout = this->heartbeat_timeout_; - - return val; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Policy::create (const CORBA::Any& val - ACE_ENV_ARG_DECL) -{ - FT::HeartbeatPolicyValue *value; - if ((val >>= value) == 0) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); - - TAO_FT_Heart_Beat_Policy *tmp; - ACE_NEW_THROW_EX (tmp, - TAO_FT_Heart_Beat_Policy (value->heartbeat, - value->heartbeat_interval, - value->heartbeat_timeout), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - - -CORBA::PolicyType -TAO_FT_Heart_Beat_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return FT::HEARTBEAT_POLICY; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Heart_Beat_Policy * tmp; - ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Policy (*this), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -TAO_FT_Heart_Beat_Policy * -TAO_FT_Heart_Beat_Policy::clone (void) const -{ - TAO_FT_Heart_Beat_Policy *copy = 0; - ACE_NEW_RETURN (copy, - TAO_FT_Heart_Beat_Policy (*this), - 0); - return copy; -} - -void -TAO_FT_Heart_Beat_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_Heart_Beat_Policy::set_time_value (ACE_Time_Value &time_value, - const TimeBase::TimeT &timebase) -{ - TimeBase::TimeT t = timebase; - TimeBase::TimeT seconds = t / 10000000u; - TimeBase::TimeT microseconds = (t % 10000000u) / 10; - time_value.set (ACE_U64_TO_U32 (seconds), - ACE_U64_TO_U32 (microseconds)); - - if (TAO_debug_level > 0) - { - CORBA::ULong msecs = - static_cast (microseconds / 1000); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO_FT (%P|%t) - Timeout is <%u>\n"), - msecs)); - } -} - -/******************************************************************/ - -CORBA::Boolean -TAO_FT_Heart_Beat_Enabled_Policy::heartbeat_enabled_policy_value ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->heartbeat_enabled_value_; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Enabled_Policy::create (const CORBA::Any& val - ACE_ENV_ARG_DECL) -{ - CORBA::Boolean value; - - if ((val >>= CORBA::Any::to_boolean (value)) == 0) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); - - TAO_FT_Heart_Beat_Enabled_Policy *tmp; - ACE_NEW_THROW_EX (tmp, - TAO_FT_Heart_Beat_Enabled_Policy (value), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -CORBA::PolicyType -TAO_FT_Heart_Beat_Enabled_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return FT::HEARTBEAT_ENABLED_POLICY; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Enabled_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Heart_Beat_Enabled_Policy * tmp; - ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Enabled_Policy (*this), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -TAO_FT_Heart_Beat_Enabled_Policy * -TAO_FT_Heart_Beat_Enabled_Policy::clone (void) const -{ - TAO_FT_Heart_Beat_Enabled_Policy *copy = 0; - ACE_NEW_RETURN (copy, - TAO_FT_Heart_Beat_Enabled_Policy (*this), - 0); - return copy; -} - - -void -TAO_FT_Heart_Beat_Enabled_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h deleted file mode 100644 index 8fd5f3a1fc8..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h +++ /dev/null @@ -1,217 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_Policy_i.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_POLICY_I_H -#define TAO_FT_POLICY_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FT_CORBA_ORBC.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_FT_Request_Duration_Policy - * - * @brief FT::RequestDurationPolicy implementation - * - * This policy controls the request duration in the ORB. The - * semantics are like this. On the server side, the server should - * retain the details of the request from the client (and the - * reply sent to it too) atleast for the time period specified by - * this policy value. On the client side, the client uses this - * value to calculate the expiration_id in the RequestService - * context. The expiration_id is a sort of timeout for the client - * to keep trying to connect to server object groups under certain - * conditions. - */ -class TAO_FT_Request_Duration_Policy - : public FT::RequestDurationPolicy, - public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_FT_Request_Duration_Policy (const TimeBase::TimeT& relative_expiry); - - /// Copy constructor. - TAO_FT_Request_Duration_Policy (const TAO_FT_Request_Duration_Policy &rhs); - - /// Helper method for the implementation of - /// CORBA::ORB::create_policy. - static CORBA::Policy_ptr create (const CORBA::Any& val - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Returns a copy of . - virtual TAO_FT_Request_Duration_Policy *clone (void) const; - - // = The FT::RequestDurationPolicy methods - virtual TimeBase::TimeT request_duration_policy_value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Change the CORBA representation to the ACE representation. - void set_time_value (ACE_Time_Value &time_value); - -private: - /// The attribute - TimeBase::TimeT request_duration_; -}; - - -/** - * @class TAO_FT_Heart_Beat_Policy - * - * @brief FT::HeartBeatPolicy - * - * If this policy is set, it enables the client ORB to send - * heartbeats to the server ORB over the open connections. - */ -class TAO_FT_Export TAO_FT_Heart_Beat_Policy - : public FT::HeartbeatPolicy, - public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_FT_Heart_Beat_Policy (const CORBA::Boolean boolean, - const TimeBase::TimeT &interval, - const TimeBase::TimeT &timeout); - - /// Copy constructor. - TAO_FT_Heart_Beat_Policy (const TAO_FT_Heart_Beat_Policy &rhs); - - /// Helper method for the implementation of - /// CORBA::ORB::create_policy. - static CORBA::Policy_ptr create (const CORBA::Any& val - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Returns a copy of . - virtual TAO_FT_Heart_Beat_Policy *clone (void) const; - - // = The FT::HeartBeatPolicy methods - virtual FT::HeartbeatPolicyValue heartbeat_policy_value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Change the CORBA representation to the ACE representation. - void set_time_value (ACE_Time_Value &time_value, - const TimeBase::TimeT &timebase); - -private: - - // The attributes - /// indicates whether heartbeating is enabled or not. - CORBA::Boolean heartbeat_; - - /// Intervals in which heartbeat messages need to be sent - TimeBase::TimeT heartbeat_interval_; - - /// The timeouts for the heartbeats - TimeBase::TimeT heartbeat_timeout_; -}; - -/** - * @class TAO_FT_Heart_Beat_Enabled_Policy - * - * @brief FT::HeartBeatEnabledPolicy - * - * If this policy is set, it enables the server ORB to set - * the TAG_FT_HEARTBEAT_ENABLED component in the IOP profile of - * the IOR that it exposes - */ -class TAO_FT_Export TAO_FT_Heart_Beat_Enabled_Policy - : public FT::HeartbeatEnabledPolicy, - public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_FT_Heart_Beat_Enabled_Policy (const CORBA::Boolean boolean); - - /// Copy constructor. - TAO_FT_Heart_Beat_Enabled_Policy ( - const TAO_FT_Heart_Beat_Enabled_Policy &rhs); - - static CORBA::Policy_ptr create (const CORBA::Any& val - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - // Helper method for the implementation of - // CORBA::ORB::create_policy. - - /// Returns a copy of . - virtual TAO_FT_Heart_Beat_Enabled_Policy *clone (void) const; - - // = The FT::HeartBeatPolicy methods - virtual CORBA::Boolean heartbeat_enabled_policy_value ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - /// indicates whether heartbeating is enabled or not. - CORBA::Boolean heartbeat_enabled_value_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__ACE_INLINE__) -#include "orbsvcs/FaultTolerance/FT_Policy_i.inl" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" -#endif /* TAO_FT_POLICY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl deleted file mode 100644 index 3aa80e1b0a1..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl +++ /dev/null @@ -1,80 +0,0 @@ -// -*- C++ -*- -// -//$Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy (const TimeBase::TimeT &duration) - :ACE_NESTED_CLASS (CORBA, Object) () - , ACE_NESTED_CLASS (CORBA, Policy) () - , ACE_NESTED_CLASS (CORBA, LocalObject) () - , TAO_Local_RefCounted_Object () - , request_duration_ (duration) -{ -} - -ACE_INLINE -TAO_FT_Request_Duration_Policy::TAO_FT_Request_Duration_Policy (const TAO_FT_Request_Duration_Policy &rhs) - :ACE_NESTED_CLASS (CORBA, Object) () - , ACE_NESTED_CLASS (CORBA, Policy) () - , ACE_NESTED_CLASS (CORBA, LocalObject) () - , FT::RequestDurationPolicy () - , TAO_Local_RefCounted_Object () - , request_duration_ (rhs.request_duration_) -{ -} - -ACE_INLINE -TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy ( - const CORBA::Boolean heartbeat, - const TimeBase::TimeT &interval, - const TimeBase::TimeT &timeout) - : ACE_NESTED_CLASS (CORBA, Object) () - , ACE_NESTED_CLASS (CORBA, Policy) () - , ACE_NESTED_CLASS (CORBA, LocalObject) () - , TAO_Local_RefCounted_Object () - , heartbeat_ (heartbeat) - , heartbeat_interval_ (interval) - , heartbeat_timeout_ (timeout) -{ -} - -ACE_INLINE -TAO_FT_Heart_Beat_Policy::TAO_FT_Heart_Beat_Policy (const TAO_FT_Heart_Beat_Policy &rhs) - : ACE_NESTED_CLASS (CORBA, Object) () - , ACE_NESTED_CLASS (CORBA, Policy) () - , ACE_NESTED_CLASS (CORBA, LocalObject) () - , FT::HeartbeatPolicy () - , TAO_Local_RefCounted_Object () - , heartbeat_ (rhs.heartbeat_) - , heartbeat_interval_ (rhs.heartbeat_interval_) - , heartbeat_timeout_ (rhs.heartbeat_timeout_) -{ -} - - -ACE_INLINE -TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy ( - const CORBA::Boolean heartbeat) - : ACE_NESTED_CLASS (CORBA, Object) () - , ACE_NESTED_CLASS (CORBA, Policy) () - , ACE_NESTED_CLASS (CORBA, LocalObject) () - , TAO_Local_RefCounted_Object () - , heartbeat_enabled_value_ (heartbeat) -{ -} - -ACE_INLINE -TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy ( - const TAO_FT_Heart_Beat_Enabled_Policy &rhs) - : ACE_NESTED_CLASS (CORBA, Object) () - , ACE_NESTED_CLASS (CORBA, Policy) () - , ACE_NESTED_CLASS (CORBA, LocalObject) () - , FT::HeartbeatEnabledPolicy () - , TAO_Local_RefCounted_Object () - , heartbeat_enabled_value_ (rhs.heartbeat_enabled_value_) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp deleted file mode 100755 index 77b99f3035a..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_ServerORBInitializer.h" -#include "orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h" -#include "orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h" -#include "tao/ORB_Constants.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/Exception.h" - - -ACE_RCSID (FaultTolerance, - FT_ServerORBInitializer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_FT_ServerORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_FT_ServerORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->register_policy_factories (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->register_server_request_interceptors (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_FT_ServerORBInitializer::register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Register the FTCORBA policy factories. - - PortableInterceptor::PolicyFactory_ptr temp_factory = - PortableInterceptor::PolicyFactory::_nil (); - PortableInterceptor::PolicyFactory_var policy_factory; - - // This policy factory is used for all FTCORBA related policies. - - ACE_NEW_THROW_EX (temp_factory, - TAO_FT_ServerPolicyFactory, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - policy_factory = temp_factory; - - // Bind the same policy factory to all FTCORBA related policy - // types since a single policy factory is used to create each of - // the different types of FTCORBA policies. - - - CORBA::PolicyType type = FT::HEARTBEAT_ENABLED_POLICY; - info->register_policy_factory (type, - policy_factory.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void -TAO_FT_ServerORBInitializer::register_server_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableInterceptor::ServerRequestInterceptor_ptr sri = - PortableInterceptor::ServerRequestInterceptor::_nil (); - - ACE_NEW_THROW_EX (sri, - TAO::FT_ServerRequest_Interceptor, - CORBA::NO_MEMORY ()); - - PortableInterceptor::ServerRequestInterceptor_var - server_interceptor = sri; - - info->add_server_request_interceptor (server_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.h deleted file mode 100755 index 0e2711ed429..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.h +++ /dev/null @@ -1,74 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ServerORBInitializer.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= -#ifndef TAO_FT_SERVERORB_INITIALIZER_H -#define TAO_FT_SERVERORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" -#include "orbsvcs/FaultTolerance/FT_ServerORB_export.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// RTCORBA ORB initializer. -class TAO_FT_ServerORBInitializer - : public virtual PortableInterceptor::ORBInitializer - , public virtual TAO_Local_RefCounted_Object -{ -public: - - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - /// Register FTCORBA policy factories. - void register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Register the necessary interceptors. - void register_server_request_interceptors ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_FT_SERVERORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h deleted file mode 100644 index 565f0b73165..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerORB_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_FT_ServerORB -// ------------------------------ -#ifndef TAO_FT_SERVERORB_EXPORT_H -#define TAO_FT_SERVERORB_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FT_SERVERORB_HAS_DLL) -# define TAO_FT_SERVERORB_HAS_DLL 0 -# endif /* ! TAO_FT_SERVERORB_HAS_DLL */ -#else -# if !defined (TAO_FT_SERVERORB_HAS_DLL) -# define TAO_FT_SERVERORB_HAS_DLL 1 -# endif /* ! TAO_FT_SERVERORB_HAS_DLL */ -#endif - -#if defined (TAO_FT_SERVERORB_HAS_DLL) && (TAO_FT_SERVERORB_HAS_DLL == 1) -# if defined (TAO_FT_SERVERORB_BUILD_DLL) -# define TAO_FT_ServerORB_Export ACE_Proper_Export_Flag -# define TAO_FT_SERVERORB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_SERVERORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_FT_SERVERORB_BUILD_DLL */ -# define TAO_FT_ServerORB_Export ACE_Proper_Import_Flag -# define TAO_FT_SERVERORB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_SERVERORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_FT_SERVERORB_BUILD_DLL */ -#else /* TAO_FT_SERVERORB_HAS_DLL == 1 */ -# define TAO_FT_ServerORB_Export -# define TAO_FT_SERVERORB_SINGLETON_DECLARATION(T) -# define TAO_FT_SERVERORB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_FT_SERVERORB_HAS_DLL == 1 */ - -// Set TAO_FT_SERVERORB_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_FT_SERVERORB_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_FT_SERVERORB_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_FT_SERVERORB_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_FT_SERVERORB_NTRACE */ - -#if (TAO_FT_SERVERORB_NTRACE == 1) -# define TAO_FT_SERVERORB_TRACE(X) -#else /* (TAO_FT_SERVERORB_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_FT_SERVERORB_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_FT_SERVERORB_NTRACE == 1) */ - -#endif /* TAO_FT_SERVERORB_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp deleted file mode 100755 index e1c8fcea33b..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h" -#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/PolicyC.h" - - -ACE_RCSID (FaultTolerance, - FT_ServerPolicyFactory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Policy_ptr -TAO_FT_ServerPolicyFactory::create_policy ( - CORBA::PolicyType type, - const CORBA::Any &val - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)) -{ - - if (type == FT::HEARTBEAT_ENABLED_POLICY) - return TAO_FT_Heart_Beat_Enabled_Policy::create (val - ACE_ENV_ARG_PARAMETER); - - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h deleted file mode 100755 index 2ae22af9f48..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h +++ /dev/null @@ -1,60 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ServerPolicyFactory.h - * - * $Id$ - * - * @author Bala Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_SERVERPOLICY_FACTORY_H -#define TAO_FT_SERVERPOLICY_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "orbsvcs/FaultTolerance/FT_ServerORB_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Policy factory for all FTCORBA related policies. -class TAO_FT_ServerPolicyFactory - : public PortableInterceptor::PolicyFactory - , public TAO_Local_RefCounted_Object -{ -public: - - virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type, - const CORBA::Any &value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_FT_POLICY_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp deleted file mode 100644 index 25e079b7692..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp +++ /dev/null @@ -1,82 +0,0 @@ -//$Id$ -#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" -#include "tao/AnyTypeCode/Any.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(FaultTolerance, FT_ServerPolicy_i, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Boolean -TAO_FT_Heart_Beat_Enabled_Policy::heartbeat_enabled_policy_value ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->heartbeat_enabled_value_; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Enabled_Policy::create (const CORBA::Any& val - ACE_ENV_ARG_DECL) -{ - CORBA::Boolean value; - - if ((val >>= CORBA::Any::to_boolean (value)) == 0) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE), - CORBA::Policy::_nil ()); - - TAO_FT_Heart_Beat_Enabled_Policy *tmp; - ACE_NEW_THROW_EX (tmp, - TAO_FT_Heart_Beat_Enabled_Policy (value), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -CORBA::PolicyType -TAO_FT_Heart_Beat_Enabled_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return FT::HEARTBEAT_ENABLED_POLICY; -} - - -CORBA::Policy_ptr -TAO_FT_Heart_Beat_Enabled_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Heart_Beat_Enabled_Policy * tmp; - ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Enabled_Policy (*this), - CORBA::NO_MEMORY (TAO::VMCID, - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return tmp; -} - -TAO_FT_Heart_Beat_Enabled_Policy * -TAO_FT_Heart_Beat_Enabled_Policy::clone (void) const -{ - TAO_FT_Heart_Beat_Enabled_Policy *copy = 0; - ACE_NEW_RETURN (copy, - TAO_FT_Heart_Beat_Enabled_Policy (*this), - 0); - return copy; -} - -void -TAO_FT_Heart_Beat_Enabled_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.h deleted file mode 100755 index 6019cdc8f70..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.h +++ /dev/null @@ -1,96 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ServerPolicy_i.h - * - * $Id$ - * - * @author Balachandran Natarajan - */ -//============================================================================= - - -#ifndef TAO_FT_SERVERPOLICY_I_H -#define TAO_FT_SERVERPOLICY_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FT_CORBA_ORBC.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "orbsvcs/FaultTolerance/FT_ServerORB_export.h" -#include "tao/LocalObject.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_FT_Heart_Beat_Enabled_Policy - * - * @brief FT::HeartBeatEnabledPolicy - * - * If this policy is set, it enables the server ORB to set - * the TAG_FT_HEARTBEAT_ENABLED component in the IOP profile of - * the IOR that it exposes - */ -class TAO_FT_Heart_Beat_Enabled_Policy - : public FT::HeartbeatEnabledPolicy - , public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_FT_Heart_Beat_Enabled_Policy (const CORBA::Boolean boolean); - - /// Copy constructor. - TAO_FT_Heart_Beat_Enabled_Policy ( - const TAO_FT_Heart_Beat_Enabled_Policy &rhs); - - static CORBA::Policy_ptr create (const CORBA::Any& val - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - // Helper method for the implementation of - // CORBA::ORB::create_policy. - - /// Returns a copy of . - virtual TAO_FT_Heart_Beat_Enabled_Policy *clone (void) const; - - // = The FT::HeartBeatPolicy methods - virtual CORBA::Boolean heartbeat_enabled_policy_value ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - /// indicates whether heartbeating is enabled or not. - CORBA::Boolean heartbeat_enabled_value_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__ACE_INLINE__) -#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" -#endif /* TAO_FT_SERVERPOLICY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl deleted file mode 100755 index 21dfaed4af7..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl +++ /dev/null @@ -1,28 +0,0 @@ -// -*- C++ -*- -// -//$Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy ( - const CORBA::Boolean heartbeat - ) - : heartbeat_enabled_value_ (heartbeat) -{ -} - -ACE_INLINE -TAO_FT_Heart_Beat_Enabled_Policy::TAO_FT_Heart_Beat_Enabled_Policy ( - const TAO_FT_Heart_Beat_Enabled_Policy &rhs - ) - : CORBA::Object (), - CORBA::Policy (), - CORBA::LocalObject (), - FT::HeartbeatEnabledPolicy (), - TAO_Local_RefCounted_Object (), - heartbeat_enabled_value_ (rhs.heartbeat_enabled_value_) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp deleted file mode 100644 index 64866cc36ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp +++ /dev/null @@ -1,237 +0,0 @@ -#include "orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h" -#include "tao/IOP_IORC.h" -#include "tao/ORB_Constants.h" -#include "tao/AnyTypeCode/DynamicC.h" -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/CDR.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_string.h" - -ACE_RCSID (FaultTolerance, - FT_ServerRequest_Interceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - FT_ServerRequest_Interceptor::FT_ServerRequest_Interceptor (void) - : object_group_ref_version_ (0) - , is_primary_ (false) - , iogr_ (0) - , orb_ (0) - { - } - - FT_ServerRequest_Interceptor::~FT_ServerRequest_Interceptor (void) - { - } - - char * - FT_ServerRequest_Interceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - return CORBA::string_dup ("TAO_FT_ServerRequest_Interceptor"); - } - - void - FT_ServerRequest_Interceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - } - - void - FT_ServerRequest_Interceptor::receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - // Check for the group version service context - ACE_TRY - { - IOP::ServiceContext_var sc = - ri->get_request_service_context (IOP::FT_GROUP_VERSION - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->check_iogr_version (sc.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::BAD_PARAM, ex) - { - // No group version context, no problem just return. - return; - } - ACE_CATCHANY - { - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - - } - - void - FT_ServerRequest_Interceptor::receive_request ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - // Check for the group version service context - CORBA::String_var op = - ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (ACE_OS::strcmp (op.in (), - "tao_update_object_group") == 0) - { - this->update_iogr (ri - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // Else the world is fine - } - - void - FT_ServerRequest_Interceptor::send_reply ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - } - - void - FT_ServerRequest_Interceptor::send_exception ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - } - - void - FT_ServerRequest_Interceptor::send_other ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - } - - void - FT_ServerRequest_Interceptor::check_iogr_version ( - const IOP::ServiceContext &svc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - TAO_InputCDR cdr (reinterpret_cast (svc.context_data.get_buffer ()), - svc.context_data.length ()); - - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return; - - cdr.reset_byte_order (static_cast (byte_order)); - - FT::FTGroupVersionServiceContext fgvsc; - - if ((cdr >> fgvsc) == 0) - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28, - CORBA::COMPLETED_NO)); - - - if (fgvsc.object_group_ref_version > - this->object_group_ref_version_) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO_FT (%P|%t) - Wrong version information ") - ACE_TEXT ("within the interceptor (%u > %u)\n"), - fgvsc.object_group_ref_version, - this->object_group_ref_version_)); - } - else if (fgvsc.object_group_ref_version < - this->object_group_ref_version_) - { - // Notice that this is a permanent forward. - ACE_THROW (PortableInterceptor::ForwardRequest ( - this->iogr_.in())); - } - else if ((fgvsc.object_group_ref_version == - this->object_group_ref_version_) && - !this->is_primary_) - { - ACE_THROW (CORBA::TRANSIENT ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - else - { - // Everything is okay... - } - } - - void - FT_ServerRequest_Interceptor::update_iogr ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - if (this->orb_.in () == 0) - { - CORBA::String_var orb_id = - ri->orb_id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - int argc = 0; - char **argv = 0; - - this->orb_ = - CORBA::ORB_init (argc, - argv, - orb_id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - Dynamic::ParameterList_var param = - ri->arguments (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // this is only for checking the tao_update_object_group operation - // which accepts three parameters, i.e.,an iogr as a string, - // a version object and a boolean. - if (param->length () != 3 ) - ACE_THROW (CORBA::TRANSIENT ()); - - const char *str = 0; - - (*param)[0].argument >>= str; - (*param)[1].argument >>= this->object_group_ref_version_; - (*param)[2].argument >>= CORBA::Any::to_boolean(this->is_primary_); - - CORBA::String_var obj (str); - - this->iogr_ = - this->orb_->string_to_object (obj.in () - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK; - - // @@ This exception is a hack to let the RM know that we have - // received and updated the IOGR. We will add a special minor code - // soon. - if (this->iogr_.in ()) - ACE_THROW (CORBA::TRANSACTION_ROLLEDBACK ()); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h deleted file mode 100644 index 78c188d597d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h +++ /dev/null @@ -1,138 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ServerRequest_Interceptor.h - * - * $Id$ - * - * ServerRequest_Interceptor for the FTORB - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_FT_SERVER_REQUEST_INTERCEPTOR_H -#define TAO_FT_SERVER_REQUEST_INTERCEPTOR_H - -#include "orbsvcs/FaultTolerance/FT_ServerORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI_Server/PI_Server.h" - -#include "tao/LocalObject.h" -#include "tao/PortableInterceptorC.h" -#include "tao/ORB.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace IOP -{ - struct ServiceContext; -} -namespace TAO -{ - /** - * @class Server_Request_Interceptor - * - * @brief Simple concrete server request interceptor for FTORB - * - * - */ - class FT_ServerRequest_Interceptor - : public virtual PortableInterceptor::ServerRequestInterceptor - , public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor. - FT_ServerRequest_Interceptor (void); - - /// Destructor. - ~FT_ServerRequest_Interceptor (void); - - /** - * @name Methods Required by the Server Request Interceptor - * Interface - * - * These are methods that must be implemented since they are pure - * virtual in the abstract base class. They are the canonical - * methods required for all server request interceptors. - */ - //@{ - /// Return the name of this ServerRequestinterceptor. - virtual char * name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_request ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_reply ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_exception ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_other ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - //@} - private: - - void check_iogr_version (const IOP::ServiceContext &svc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - void update_iogr ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - - CORBA::ULong object_group_ref_version_; - - CORBA::Boolean is_primary_; - - CORBA::Object_var iogr_; - - CORBA::ORB_var orb_; - }; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_FT_SERVER_REQUEST_INTERCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.cpp deleted file mode 100755 index be4448486c8..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "orbsvcs/FaultTolerance/FT_ServerService_Activate.h" -#include "orbsvcs/FaultTolerance/FT_ServerORBInitializer.h" -#include "tao/ORB_Core.h" -#include "tao/Service_Callbacks.h" -#include "tao/ORBInitializer_Registry.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID(FaultTolerance, FT_ServerService_Activate, "$Id$") - -static bool initialized = false; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FT_ServerService_Activate::TAO_FT_ServerService_Activate (void) -{ -} - -TAO_FT_ServerService_Activate::~TAO_FT_ServerService_Activate (void) -{ -} - -int -TAO_FT_ServerService_Activate::Initializer (void) -{ - if (initialized == false) - { - PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = - PortableInterceptor::ORBInitializer::_nil (); - PortableInterceptor::ORBInitializer_var orb_initializer; - - // Register the FTCORBA ServerORBInitializer. - ACE_NEW_RETURN (temp_orb_initializer, - TAO_FT_ServerORBInitializer, - -1); - - orb_initializer = temp_orb_initializer; - - PortableInterceptor::register_orb_initializer (orb_initializer.in ()); - - initialized = true; - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_FT_ServerORB,TAO_FT_ServerService_Activate) - -ACE_STATIC_SVC_DEFINE (TAO_FT_ServerService_Activate, - ACE_TEXT ("FT_ServerService_Activate"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_FT_ServerService_Activate), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.h deleted file mode 100755 index 7c57a64a2c2..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ServerService_Activate.h - * - * $Id$ - * - * A concrete implementation of a service callback - * - * @author Bala Natarajan - */ -//============================================================================= - -#ifndef TAO_FT_SERVERACTIVATE_H -#define TAO_FT_SERVERACTIVATE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FaultTolerance/FT_ServerORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Services_Activate.h" -#include "ace/Service_Config.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Service_Callbacks; - -// Forward declarations -/** - * @class TAO_FT_ServerService_Activate - * - * @brief A class to dynamically load the FT callback implementations in - * to the ORB. - * - */ -class TAO_FT_ServerORB_Export TAO_FT_ServerService_Activate -: public ACE_Service_Object -{ - -public: - /// Constructor - TAO_FT_ServerService_Activate (void); - - /// The destructor - virtual ~TAO_FT_ServerService_Activate (void); - - /// Used to force the initialization. - static int Initializer (void); - -}; - -static int -TAO_FT_Requires_ServerService_Activate = TAO_FT_ServerService_Activate::Initializer (); - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_FT_ServerService_Activate) -ACE_FACTORY_DECLARE (TAO_FT_ServerORB, TAO_FT_ServerService_Activate) - -#include /**/ "ace/post.h" -#endif /*TAO_FT_ACTIVATE_H*/ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp deleted file mode 100644 index 9c0e8ed16a2..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp +++ /dev/null @@ -1,79 +0,0 @@ -#include "orbsvcs/FaultTolerance/FT_Service_Activate.h" -#include "orbsvcs/FaultTolerance/FT_Service_Callbacks.h" -#include "orbsvcs/FaultTolerance/FT_ORBInitializer.h" -#include "orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h" -#include "tao/ORB_Core.h" -#include "tao/Service_Callbacks.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID(FaultTolerance, FT_Service_Activate, "$Id$") - -static bool initialized = false; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FT_Service_Activate::TAO_FT_Service_Activate (void) -{ -} - -TAO_FT_Service_Activate::~TAO_FT_Service_Activate (void) -{ -} - -TAO_Service_Callbacks * -TAO_FT_Service_Activate::activate_services (TAO_ORB_Core *orb_core) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_FT_Service_Callbacks *ft_service_callback = 0; - - // Construct service callback object - ACE_NEW_RETURN (ft_service_callback, - TAO_FT_Service_Callbacks (orb_core), - 0); - - - return ft_service_callback; -} - - -int -TAO_FT_Service_Activate::Initializer (void) -{ - if (initialized == false) - { - ACE_Service_Config::static_svcs ()-> - insert (&ace_svc_desc_TAO_FT_Service_Activate); - - PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = - PortableInterceptor::ORBInitializer::_nil (); - PortableInterceptor::ORBInitializer_var orb_initializer; - - // Register the RTCORBA ORBInitializer. - ACE_NEW_RETURN (temp_orb_initializer, - TAO_FT_ORBInitializer, - -1); - - orb_initializer = temp_orb_initializer; - - PortableInterceptor::register_orb_initializer (orb_initializer.in ()); - - // Set the name of the endpoint selector factory - TAO_ORB_Core::set_endpoint_selector_factory ("FT_Endpoint_Selector_Factory"); - ACE_Service_Config::process_directive (ace_svc_desc_TAO_FT_Endpoint_Selector_Factory); - - initialized = true; - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_FT,TAO_FT_Service_Activate) - -ACE_STATIC_SVC_DEFINE (TAO_FT_Service_Activate, - ACE_TEXT ("FT_Service_Activate"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_FT_Service_Activate), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h deleted file mode 100644 index f6d261f2246..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================= -/** - * @file FT_Service_Activate.h - * - * $Id$ - * - * A concrete implementation of a service callback - * - * @author Bala Natarajan - */ -//============================================================================= - -#ifndef TAO_FT_ACTIVATE_H -#define TAO_FT_ACTIVATE_H - -#include "orbsvcs/FaultTolerance/FT_ClientService_Activate.h" -#include "orbsvcs/FaultTolerance/FT_ServerService_Activate.h" - -#endif /*TAO_FT_ACTIVATE_H*/ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp deleted file mode 100644 index 88dedebea60..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp +++ /dev/null @@ -1,325 +0,0 @@ -// $Id$ - -#include "orbsvcs/FaultTolerance/FT_Service_Callbacks.h" -#include "orbsvcs/FaultTolerance/FT_ClientPolicy_i.h" - -#include "ace/OS_NS_sys_time.h" - -#include "tao/MProfile.h" -#include "tao/Profile.h" -#include "tao/Tagged_Components.h" -#include "tao/Stub.h" -#include "tao/Invocation_Utils.h" -#include "tao/ORB_Core.h" -#include "tao/Client_Strategy_Factory.h" -#include "tao/CDR.h" - -ACE_RCSID (FaultTolerance, - FT_Service_Callbacks, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FT_Service_Callbacks::TAO_FT_Service_Callbacks ( - TAO_ORB_Core *orb_core) - - : orb_core_ (orb_core), - profile_lock_ (0) -{ - this->profile_lock_ = - this->orb_core_->client_factory ()->create_profile_lock (); -} - -TAO_FT_Service_Callbacks::~TAO_FT_Service_Callbacks (void) -{ - // Delete the memeory for the lock - delete this->profile_lock_; -} - -CORBA::Boolean -TAO_FT_Service_Callbacks::object_is_nil (CORBA::Object_ptr obj) -{ - // Get the count - CORBA::ULong count = - obj->_stubobj ()->base_profiles ().profile_count (); - - // If the profile count is zero then return true - if (count == 0) - return 1; - else - { - // else if each of the profile is nil - for (CORBA::ULong cnt = 0; - cnt < count; - cnt++) - { - TAO_Profile *pfile = - obj->_stubobj ()->base_profiles ().get_profile (cnt); - - if (pfile != 0) - return 0; - } - } - - // If it reaches here then it should be nill - return 1; - -} - -TAO_Service_Callbacks::Profile_Equivalence -TAO_FT_Service_Callbacks::is_profile_equivalent (const TAO_Profile *this_p, - const TAO_Profile *that_p) -{ - const TAO_Tagged_Components &this_comp = - this_p->tagged_components (); - - const TAO_Tagged_Components &that_comp = - that_p->tagged_components (); - - IOP::TaggedComponent this_tc, that_tc; - this_tc.tag = that_tc.tag = IOP::TAG_FT_GROUP; - - if (this_comp.get_component (this_tc) == 1) - { - if (that_comp.get_component (that_tc) == 1) - { - TAO_InputCDR this_cdr (reinterpret_cast (this_tc.component_data.get_buffer ()), - this_tc.component_data.length ()); - - TAO_InputCDR that_cdr (reinterpret_cast (that_tc.component_data.get_buffer ()), - that_tc.component_data.length ()); - - CORBA::Boolean this_byte_order; - CORBA::Boolean that_byte_order; - - if (this_cdr >> ACE_InputCDR::to_boolean (this_byte_order) == 0 || - that_cdr >> ACE_InputCDR::to_boolean (that_byte_order) == 0) - { - // Have tags but full of garbage - not equivalent - return TAO_Service_Callbacks::NOT_EQUIVALENT; - } - - this_cdr.reset_byte_order (static_cast (this_byte_order)); - that_cdr.reset_byte_order (static_cast (that_byte_order)); - - - FT::TagFTGroupTaggedComponent this_group_component; - FT::TagFTGroupTaggedComponent that_group_component; - - this_cdr >> this_group_component; - that_cdr >> that_group_component; - - // check if domain id and group id are the same - if ((ACE_OS::strcmp (this_group_component.group_domain_id, - that_group_component.group_domain_id) == 0) && - (this_group_component.object_group_id == - that_group_component.object_group_id)) - { - // Both have matching tags - true - return TAO_Service_Callbacks::EQUIVALENT; - } - } - - return TAO_Service_Callbacks::NOT_EQUIVALENT; - } - else - { - if (that_comp.get_component (that_tc) == 1) - { - return TAO_Service_Callbacks::NOT_EQUIVALENT; - } - } - - return TAO_Service_Callbacks::DONT_KNOW; -} - -CORBA::ULong -TAO_FT_Service_Callbacks::hash_ft (TAO_Profile *p, - CORBA::ULong max) -{ - // At this point we assume that all the checks for other things - // within the profiles have been satisfied - TAO_Tagged_Components &this_comp = - p->tagged_components (); - - IOP::TaggedComponent tc; - tc.tag = IOP::TAG_FT_GROUP; - - if (this_comp.get_component (tc) == 0) - return 0; - - // extract the group component - TAO_InputCDR cdr (reinterpret_cast (tc.component_data.get_buffer ()), - tc.component_data.length ()); - - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - { - return 0; - } - - cdr.reset_byte_order (static_cast (byte_order)); - - FT::TagFTGroupTaggedComponent group_component; - - cdr >> group_component; - - return (CORBA::ULong) group_component.object_group_id % max; -} - -CORBA::Boolean -TAO_FT_Service_Callbacks::is_permanent_forward_condition (const CORBA::Object_ptr obj, - const TAO_Service_Context &service_context) const -{ - // do as much as possible outside of lock - IOP::ServiceContext sc; - sc.context_id = IOP::FT_GROUP_VERSION; - - if (service_context.get_context (sc) == 0) - return false; /* false */ - - IOP::TaggedComponent tc; - tc.tag = IOP::TAG_FT_GROUP; - - const TAO_Stub * stub = obj->_stubobj (); - // check for forward_profiles, branching to speed up operation on base_profiles - if (stub->forward_profiles ()) - { - // set lock, as forward_profiles might be deleted concurrently - ACE_MT (ACE_GUARD_RETURN (ACE_Lock, - guard, - *stub->profile_lock (), - 0)); - - // even now, the forward profiles might have been deleted in the meanwhile - const TAO_MProfile &mprofile = stub->forward_profiles() - ? *(stub->forward_profiles()) - : stub->base_profiles(); - - if (mprofile.profile_count() == 0) - // releasing lock - return false; - - // assuming group-attributes are set for all profiles, check - // only the first profile - const TAO_Tagged_Components &tagged_components = - mprofile.get_profile (0)->tagged_components (); - - if (tagged_components.get_component (tc) == 0) - // releasing lock - return false; /* false */ - - return true; /* true */ - - // releasing lock - } - else /* operate on constant basic_profiles */ - { - const TAO_MProfile &mprofile = stub->base_profiles(); - - if (mprofile.profile_count() == 0) - return false; - - // assuming group-attributes are set for all profiles, check only the first profile - const TAO_Tagged_Components &tagged_components = - mprofile.get_profile (0)->tagged_components (); - - if (tagged_components.get_component (tc) == 0) - return false; /* false */ - - return true; /* true */ - } -} - - -TAO::Invocation_Status -TAO_FT_Service_Callbacks::raise_comm_failure ( - IOP::ServiceContextList &context_list, - TAO_Profile *profile - ACE_ENV_ARG_DECL) -{ - if (this->restart_policy_check (context_list, - profile)) - return TAO::TAO_INVOKE_RESTART; - - // As the right tags are not found close the connection and throw an - // exception - ACE_THROW_RETURN (CORBA::COMM_FAILURE ( - CORBA::SystemException::_tao_minor_code ( - TAO_INVOCATION_RECV_REQUEST_MINOR_CODE, - errno), - CORBA::COMPLETED_MAYBE), - TAO::TAO_INVOKE_SYSTEM_EXCEPTION); -} - -TAO::Invocation_Status -TAO_FT_Service_Callbacks::raise_transient_failure ( - IOP::ServiceContextList &service, - TAO_Profile *profile - ACE_ENV_ARG_DECL_NOT_USED) -{ - if (this->restart_policy_check (service, - profile)) - return TAO::TAO_INVOKE_RESTART; - - // Unlike COMM_FAILURE do not raise an exception since the - // completion status is not known and no assumption can be made. - return TAO::TAO_INVOKE_SYSTEM_EXCEPTION; -} - -CORBA::Boolean -TAO_FT_Service_Callbacks::restart_policy_check ( - IOP::ServiceContextList &service_list, - const TAO_Profile *profile) -{ - // Check whether the IOP::FT_REQUEST exists within the service - // context list and FT::FT_GROUP exists within the profile that we - // have - IOP::TaggedComponent tagged_component; - tagged_component.tag = IOP::TAG_FT_GROUP; - - if (profile->tagged_components ().get_component (tagged_component) - == 1) - { - // Look for the FT_REQUEST context id - for (CORBA::ULong i = 0; - i < service_list.length (); - i++) - { - if (service_list[i].context_id == IOP::FT_REQUEST) - { - // This would be a heck of a lot easier if we had the invocation - // here rather than just the contexts, but lemons -> lemonade I guess. - TAO_InputCDR cdr (reinterpret_cast (service_list[i].context_data.get_buffer ()), - service_list[i].context_data.length ()); - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return 0; - cdr.reset_byte_order (static_cast (byte_order)); - FT::FTRequestServiceContext ftsrc; - if ((cdr >> ftsrc) == 0) - return 0; - - return (ftsrc.expiration_time > now ()); - } - } - } - - // Failure - return 0; -} - -TimeBase::TimeT -TAO_FT_Service_Callbacks::now (void) -{ - // Grab the localtime on the machine where this is running - ACE_Time_Value time_val = ACE_OS::gettimeofday (); - TimeBase::TimeT sec_part = ((TimeBase::TimeT)time_val.sec ()) * 10000000; - TimeBase::TimeT usec_part = ((TimeBase::TimeT)time_val.usec ()) * 10; - - // Add the offset to convert from posix time. - return (sec_part + usec_part + ACE_UINT64_LITERAL (0x1B21DD213814000)); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h deleted file mode 100644 index b8f0b2a4d1f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h +++ /dev/null @@ -1,107 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_Service_Callbacks.h - * - * $Id$ - * - * A concrete FT service callback implementation - * - * @author Balachandran Natarajan - */ -//============================================================================= - -#ifndef TAO_FT_CALLBACKS_H -#define TAO_FT_CALLBACKS_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FaultTolerance/FT_ClientORB_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Service_Callbacks.h" -#include "orbsvcs/FT_CORBA_ORBC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Profile; -class TAO_MProfile; -class TAO_ORB_Core; - -/** - * @class TAO_FT_Service_Callbacks - * - * @brief A class to dynamically load the FT callback implementations in - * to the ORB. - * - * An implementation of the service callbacks that allows the - * loading of the FT ORB level library in to the ORB - */ -class TAO_FT_ClientORB_Export TAO_FT_Service_Callbacks : public TAO_Service_Callbacks -{ -public: - /// Constructor - TAO_FT_Service_Callbacks (TAO_ORB_Core *orb_core); - - /// Dtor - virtual ~TAO_FT_Service_Callbacks (void); - - /// Check whether is nil or not. FT spec suggests some - /// extensions for a CORBA::is_nil () operation. - virtual CORBA::Boolean object_is_nil (CORBA::Object_ptr obj); - - /// Check for equivalency of the two profiles - virtual TAO_Service_Callbacks::Profile_Equivalence is_profile_equivalent ( - const TAO_Profile *, - const TAO_Profile *); - /// Calculate the hash - virtual CORBA::ULong hash_ft (TAO_Profile *p, - CORBA::ULong m); - - - /// Verify condition for permanent forward is given, - /// both parameters must provide group attributes. - virtual CORBA::Boolean is_permanent_forward_condition - (const CORBA::Object_ptr obj, - const TAO_Service_Context &service_context) const; - - /// Check whether we need to raise an exception or go for a - /// reinvocaton. - virtual TAO::Invocation_Status raise_comm_failure ( - IOP::ServiceContextList &clist, - TAO_Profile *profile - ACE_ENV_ARG_DECL); - - /// Check whether we need to raise an exception or go for a - /// reinvocaton. - virtual TAO::Invocation_Status raise_transient_failure ( - IOP::ServiceContextList &clist, - TAO_Profile *profile - ACE_ENV_ARG_DECL); - - static TimeBase::TimeT now (void); - -private: - - /// Check whether the right flags are available so that we can issue a - /// restart. - CORBA::Boolean restart_policy_check (IOP::ServiceContextList &service_list, - const TAO_Profile *profile); - -private: - /// The ORB core in which we have been activated - TAO_ORB_Core *orb_core_; - - /// Mutex to protect access to the profile that gets passed along - /// @@ Lock needs to be removed... - ACE_Lock* profile_lock_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /*TAO_FT_CALLBACKS_H*/ diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/fault_tol_export.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/fault_tol_export.h deleted file mode 100644 index 2179965445a..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/fault_tol_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_FT_EXPORT_H -#define TAO_FT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FT_HAS_DLL) -# define TAO_FT_HAS_DLL 0 -# endif /* ! TAO_FT_HAS_DLL */ -#else -# if !defined (TAO_FT_HAS_DLL) -# define TAO_FT_HAS_DLL 1 -# endif /* ! TAO_FT_HAS_DLL */ -#endif - -#if defined (TAO_FT_HAS_DLL) && (TAO_FT_HAS_DLL == 1) -# if defined (TAO_FT_BUILD_DLL) -# define TAO_FT_Export ACE_Proper_Export_Flag -# define TAO_FT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_FT_BUILD_DLL */ -# define TAO_FT_Export ACE_Proper_Import_Flag -# define TAO_FT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_FT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_FT_BUILD_DLL */ -#else /* TAO_FT_HAS_DLL == 1 */ -# define TAO_FT_Export -# define TAO_FT_SINGLETON_DECLARATION(T) -# define TAO_FT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_FT_HAS_DLL == 1 */ - -#endif /* TAO_FT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/ftconf.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/ftconf.h deleted file mode 100644 index a1b6da98a8c..00000000000 --- a/TAO/orbsvcs/orbsvcs/FaultTolerance/ftconf.h +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ftconf.h - * - * $Id$ - * - * Build configuration file. - * - * @author Copyright 1995 by Sun Microsystems, Inc. - * @author Chris Cleeland - * @author Douglas C. Schmidt - */ -//============================================================================= - -#ifndef TAO_FTCONF_H -#define TAO_FTCONF_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// This is the version of the FT_CORBA spec that TAO supports. The -// exact use of this version has not been emphasised. But TAO would -// get TaggedComponents for a group with version number. So, for the -// present we will have this here and do a sanity check for our -// supported version and the one we receive -- raise an error if -// necessary. - -#if !defined (TAO_DEF_FT_CORBA_MAJOR) -#define TAO_DEF_FT_CORBA_MAJOR 1 -#endif /* TAO_DEF_FT_CORBA_MAJOR */ -#if !defined (TAO_DEF_FT_CORBA_MINOR) -#define TAO_DEF_FT_CORBA_MINOR 0 -#endif /* TAO_DEF_FT_CORBA_MINOR */ - -#include /**/ "ace/post.h" -#endif /*TAO_FTCONF_H*/ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent.mpc b/TAO/orbsvcs/orbsvcs/FtRtEvent.mpc deleted file mode 100644 index b510974a944..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent.mpc +++ /dev/null @@ -1,83 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project (FtRtEvent) : orbsvcslib, core, ftorbutils, rtevent_serv, naming, minimum_corba, pi_server, tao_versioning_idl_defaults { - sharedname = TAO_FtRtEvent - idlflags += -Wb,export_macro=TAO_FtRtEvent_Export -Wb,export_include=orbsvcs/FtRtEvent/Utils/ftrtevent_export.h - dynamicflags = TAO_FTRTEVENT_BUILD_DLL - tagchecks += FtRtEvent - - IDL_Files { - idlflags += -GC - FTRT.idl - FtRtecEventComm.idl - FTRT_GroupManager.idl - } - - IDL_Files { - FtRtecEventChannelAdmin.idl - } - - Source_Files (ORBSVCS_COMPONENTS) { - FtRtEvent { - FTRTC.cpp - FTRTS.cpp - FtRtecEventCommC.cpp - FtRtecEventCommS.cpp - FTRT_GroupManagerC.cpp - FTRT_GroupManagerS.cpp - FtRtecEventChannelAdminC.cpp - FtRtecEventChannelAdminS.cpp - FtRtEvent/Utils - } - } - - Template_Files { - } -} - -project (FTRT_ClientORB) : messaging, orbsvcslib, pi, core { - sharedname = TAO_FTRT_ClientORB - dynamicflags = TAO_FTRT_BUILD_DLL - tagchecks += FTRT_ClientORB - - IDL_Files { - } - - Source_Files (ORBSVCS_COMPONENTS) { - FTRT_ClientORB { - FtRtEvent/ClientORB - } - } - - Inline_Files { - } - - Template_Files { - } -} - -project (FTRT_EventChannel) : orbsvcslib, core, ftrtevent, rtevent_serv, utils, pi_server, corba_messaging { - sharedname = TAO_FTRT_EventChannel - dynamicflags = TAO_FTRTEC_BUILD_DLL - tagchecks += FTRT_EventChannel - after += FTORB_Utils - - IDL_Files { - } - - Source_Files (ORBSVCS_COMPONENTS) { - FTRT_EventChannel { - FtRtEvent/EventChannel - } - } - Template_Files { - FtRtEvent/EventChannel/ConnectionHandler_T.cpp - FtRtEvent/EventChannel/Fault_Detector_T.cpp - FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp - } - - Header_Files { - FtRtEvent/EventChannel/ftrtec_export.h - } -} diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.cpp deleted file mode 100644 index e4ee1d43f28..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h" -#include "orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h" - -ACE_RCSID (ClientORB, - FTRT_ClientORB_Initializer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -FTRT_ClientORB_Initializer::FTRT_ClientORB_Initializer (int transaction_depth) - : client_interceptor_ ( new FTRT_ClientORB_Interceptor(transaction_depth) ) -{ -} - -void -FTRT_ClientORB_Initializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -FTRT_ClientORB_Initializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - info->add_client_request_interceptor (client_interceptor_.in() - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h deleted file mode 100644 index 7bfd0791eb1..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTRT_ClientORB_Initializer.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - - -#ifndef FTRT_CLIENTORB_INITIALIZER_H -#define FTRT_CLIENTORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// RTCORBA ORB initializer. -class FTRT_ClientORB_Initializer - : public virtual PortableInterceptor::ORBInitializer, - public virtual TAO_Local_RefCounted_Object -{ -public: - /// Priority mapping types - FTRT_ClientORB_Initializer (int transaction_depth); - - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -private: - PortableInterceptor::ClientRequestInterceptor_var client_interceptor_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - - -#include /**/ "ace/post.h" - -#endif /* FTRT_CLIENTORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.cpp deleted file mode 100644 index 1cc5d2fd2de..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h" -#include "tao/MProfile.h" -#include "tao/Stub.h" -#include "tao/CDR.h" -#include "ace/Log_Msg.h" - -ACE_RCSID (ClientORB, - FTRT_ClientORB_Interceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTRT { - const unsigned FT_TRANSACTION_DEPTH = 30; - const unsigned FT_FORWARD = 32; -} - -FTRT_ClientORB_Interceptor:: -FTRT_ClientORB_Interceptor (CORBA::Long transaction_depth) - : myname_ ("FTRT_ClientORB_Interceptor") - , transaction_depth_(transaction_depth) -{ -} - -FTRT_ClientORB_Interceptor::~FTRT_ClientORB_Interceptor (void) -{ -} - -char * -FTRT_ClientORB_Interceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup (this->myname_); -} - -void -FTRT_ClientORB_Interceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -FTRT_ClientORB_Interceptor::send_poll ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -FTRT_ClientORB_Interceptor::send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - ACE_TRACE("FTRT_ClientORB_Interceptor::send_request"); - ACE_TRY - { - // Add FT_REQUEST context - IOP::ServiceContext sc; - TAO_OutputCDR cdr; - - if ((cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER)) ==0) - return; - - // Add Transaction Depth Context - if ((cdr << transaction_depth_) == 0) - return; - sc.context_id = FTRT::FT_TRANSACTION_DEPTH; - - ACE_Message_Block mb; - ACE_CDR::consolidate(&mb, cdr.begin()); -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - sc.context_data.replace(mb.length(), &mb); -#else - // If the replace method is not available, we will need - // to do the copy manually. First, set the octet sequence length. - CORBA::ULong length = mb.length (); - sc.context_data.length (length); - - // Now copy over each byte. - char* base = mb.data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - sc.context_data[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - ri->add_request_service_context (sc, 0 ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Not much can be done anyway. Just keep quiet - } - ACE_ENDTRY; - ACE_CHECK; -} - -void -FTRT_ClientORB_Interceptor::receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TRACE("FTRT_ClientORB_Interceptor::receive_reply"); - - - IOP::ServiceContext_var service_context; - ACE_TRY { - service_context = - ri->get_reply_service_context(FTRT::FT_FORWARD - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY { - return; - } - ACE_ENDTRY; - ACE_CHECK; - - - const char * buf = - reinterpret_cast (service_context->context_data.get_buffer ()); - - TAO_InputCDR cdr (buf, - service_context->context_data.length ()); - - - CORBA::Object_var obj; - - if (cdr >> obj) { - // update the target - CORBA::Object_var target = ri->target(ACE_ENV_SINGLE_ARG_PARAMETER); - target->_stubobj ()->base_profiles ( obj->_stubobj()->base_profiles() ); - ACE_DEBUG((LM_DEBUG, "target object updated\n")); - } -} - -void -FTRT_ClientORB_Interceptor::receive_other ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -FTRT_ClientORB_Interceptor::receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr /* ri */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h deleted file mode 100644 index 81512859796..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h +++ /dev/null @@ -1,90 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTRT_ClientORB_Interceptor.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - - -#ifndef TAO_FTRT_CLIENTORB_INTERCEPTOR_H -#define TAO_FTRT_CLIENTORB_INTERCEPTOR_H - -#include /**/ "ace/pre.h" - - -#include "tao/PI/PI.h" -#include "tao/PortableInterceptorC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class FTRT_ClientORB_Interceptor - : public virtual PortableInterceptor::ClientRequestInterceptor, - public virtual TAO_Local_RefCounted_Object -{ -public: - /// ctor. - FTRT_ClientORB_Interceptor (CORBA::Long transaction_depth); - - /// dtor. - virtual ~FTRT_ClientORB_Interceptor (); - - /// Canonical name of the interceptor. - virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); -private: - const char *myname_; - CORBA::Long transaction_depth_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp deleted file mode 100644 index adac1b323a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h" - -#include "orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" -#include "tao/ORBInitializer_Registry.h" -#include "ace/OS_NS_strings.h" - -ACE_RCSID (ClientORB, - FTRT_ClientORB_Loader, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRT { - FTRT_ClientORB_Loader::FTRT_ClientORB_Loader (void) - { - } - - FTRT_ClientORB_Loader::~FTRT_ClientORB_Loader (void) - { - } - - int FTRT_ClientORB_Loader::init (int argc, - ACE_TCHAR* argv[]) - { - static int initialized = 0; - - // Only allow initialization once. - if (initialized) - return 0; - - initialized = 1; - - // Set defaults. - int transaction_depth = 1; - int curarg = 0; - - // Parse any service configurator parameters. - for (curarg = 0; curarg < argc; curarg++) - if (ACE_OS::strcasecmp (argv[curarg], - ACE_TEXT("-ORBTransactionDepth")) == 0) - { - curarg++; - if (curarg < argc) - transaction_depth = atoi(argv[curarg]); - } - - - // Register the ORB initializer. - ACE_TRY_NEW_ENV - { - PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = - PortableInterceptor::ORBInitializer::_nil (); - PortableInterceptor::ORBInitializer_var orb_initializer; - - /// Register the RTCORBA ORBInitializer. - ACE_NEW_THROW_EX (temp_orb_initializer, - FTRT_ClientORB_Initializer(transaction_depth), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_TRY_CHECK; - orb_initializer = temp_orb_initializer; - - PortableInterceptor::register_orb_initializer (orb_initializer.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Unexpected exception caught while " - "initializing the TransactionDepth"); - return 1; - } - ACE_ENDTRY; - - return 0; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - ///////////////////////////////////////////////////////////////////// - -ACE_FACTORY_NAMESPACE_DEFINE ( - TAO_FTRT, - FTRT_ClientORB_Loader, - TAO_FTRT::FTRT_ClientORB_Loader) - -ACE_STATIC_SVC_DEFINE ( - FTRT_ClientORB_Loader, - ACE_TEXT ("FTRT_ClientORB_Service"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (FTRT_ClientORB_Loader), - ACE_Service_Type::DELETE_THIS - | ACE_Service_Type::DELETE_OBJ, - 0) - - diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h deleted file mode 100644 index e66f632a2e8..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h +++ /dev/null @@ -1,57 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTRT_ClientORB_Loader.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FTRT_CLIENTORB_LOADER_H -#define FTRT_CLIENTORB_LOADER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtEvent/ClientORB/ftrt_clientorb_export.h" - -#include "tao/orbconf.h" - -#include "ace/Service_Object.h" -#include "ace/Service_Config.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ORB_Core; - -namespace TAO_FTRT { - - class TAO_FTRT_Export FTRT_ClientORB_Loader : public ACE_Service_Object - { - public: - /// Constructor. - FTRT_ClientORB_Loader (void); - - /// Destructor. - virtual ~FTRT_ClientORB_Loader (void); - - /// Initialize the TransactionDepth loader hooks. - virtual int init (int argc, - ACE_TCHAR* []); - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_FTRT, FTRT_ClientORB_Loader) -ACE_STATIC_SVC_REQUIRE(FTRT_ClientORB_Loader) -ACE_FACTORY_DECLARE (TAO_FTRT, FTRT_ClientORB_Loader) - -#include /**/ "ace/post.h" -#endif //FTRT_CLIENTORB_LOADER_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/ftrt_clientorb_export.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/ftrt_clientorb_export.h deleted file mode 100644 index 9dad27d931a..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/ClientORB/ftrt_clientorb_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_FTRT -// ------------------------------ -#ifndef TAO_FTRT_EXPORT_H -#define TAO_FTRT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FTRT_HAS_DLL) -# define TAO_FTRT_HAS_DLL 0 -# endif /* ! TAO_FTRT_HAS_DLL */ -#else -# if !defined (TAO_FTRT_HAS_DLL) -# define TAO_FTRT_HAS_DLL 1 -# endif /* ! TAO_FTRT_HAS_DLL */ -#endif - -#if defined (TAO_FTRT_HAS_DLL) && (TAO_FTRT_HAS_DLL == 1) -# if defined (TAO_FTRT_BUILD_DLL) -# define TAO_FTRT_Export ACE_Proper_Export_Flag -# define TAO_FTRT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_FTRT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_FTRT_BUILD_DLL */ -# define TAO_FTRT_Export ACE_Proper_Import_Flag -# define TAO_FTRT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_FTRT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_FTRT_BUILD_DLL */ -#else /* TAO_FTRT_HAS_DLL == 1 */ -# define TAO_FTRT_Export -# define TAO_FTRT_SINGLETON_DECLARATION(T) -# define TAO_FTRT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_FTRT_HAS_DLL == 1 */ - -// Set TAO_FTRT_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_FTRT_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_FTRT_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_FTRT_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_FTRT_NTRACE */ - -#if (TAO_FTRT_NTRACE == 1) -# define TAO_FTRT_TRACE(X) -#else /* (TAO_FTRT_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_FTRT_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_FTRT_NTRACE == 1) */ - -#endif /* TAO_FTRT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp deleted file mode 100644 index 0bae38d051d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp +++ /dev/null @@ -1,222 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h" -#include "ace/Synch_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h" -#include "orbsvcs/FtRtEvent/EventChannel/Update_Manager.h" -#include "tao/Utils/PolicyList_Destroyer.h" -#include "orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h" -#include "tao/Utils/Implicit_Deactivator.h" -#include "../Utils/resolve_init.h" -#include "../Utils/ScopeGuard.h" -#include "../Utils/Log.h" - -ACE_RCSID (EventChannel, - AMI_Primary_Replication_Strategy, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -AMI_Primary_Replication_Strategy::AMI_Primary_Replication_Strategy(bool mt) - : handler_(this), - mutex_ (mt ? new ACE_SYNCH_RW_MUTEX : 0) -{ -} - -AMI_Primary_Replication_Strategy::~AMI_Primary_Replication_Strategy() -{ - running_= false; - this->wait(); -} - -int AMI_Primary_Replication_Strategy::acquire_read (void) -{ - return mutex_ ? mutex_->acquire_read() : 0; -} - -int AMI_Primary_Replication_Strategy::acquire_write (void) -{ - return mutex_ ? mutex_->acquire_write() : 0; -} - -int AMI_Primary_Replication_Strategy::release (void) -{ - return mutex_ ? mutex_->release() : 0; -} - -int AMI_Primary_Replication_Strategy::svc() -{ - ACE_TRY_NEW_ENV { - int argc = 0; - char** argv = 0; - orb_ = CORBA::ORB_init (argc, argv); - ACE_TRY_CHECK; - - root_poa_ = resolve_init(orb_.in(), "RootPOA" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // create POAManager - mgr_ = root_poa_->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - - mgr_->activate(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableServer::IdUniquenessPolicy_var id_uniqueness_policy = - root_poa_->create_id_uniqueness_policy(PortableServer::MULTIPLE_ID - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK - - TAO::Utils::PolicyList_Destroyer policy_list(3); - policy_list.length(1); - policy_list[0] = PortableServer::IdUniquenessPolicy::_duplicate( - id_uniqueness_policy.in() - ); - poa_ = create_persistent_poa(root_poa_, mgr_, "AMI_Update", policy_list - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - id_uniqueness_policy->destroy(); - - running_ = true; - while (running_) { - if (orb_->work_pending()) - orb_->perform_work(); - } - orb_->destroy(); - } - ACE_CATCHANY { - ACE_PRINT_EXCEPTION(ex, "AMI_Primary_Replication_Strategy::svc"); - running_ = false; - return -1; - } - ACE_ENDTRY; - running_ = false; - return 0; -} - -void -AMI_Primary_Replication_Strategy::replicate_request( - const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL) -{ - ACE_Auto_Event event; - Update_Manager* manager = 0; - bool success = false; - - FTRT::TransactionDepth transaction_depth = - Request_Context_Repository().get_transaction_depth(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - const FtRtecEventChannelAdmin::EventChannelList& backups = - GroupInfoPublisher::instance()->backups(); - - size_t num_backups = backups.length(); - - if ((size_t)transaction_depth > num_backups) { - TAO_FTRTEC::Log(3, "Throwing FTRT::TransactionDepthTooHigh\n"); - ACE_THROW(FTRT::TransactionDepthTooHigh()); - } - - ACE_NEW_THROW_EX(manager, - Update_Manager(event, backups.length(), transaction_depth-1, success), - CORBA::NO_MEMORY()); - - - Request_Context_Repository().set_transaction_depth(0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - for (size_t i = 0; i < num_backups; ++i) { - PortableServer::ObjectId oid; - ACE_TRY_EX(block1) { - FTRT::AMI_UpdateableHandler_ptr handler = handler_.activate(manager, i, oid - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK_EX(block1); - FtRtecEventChannelAdmin::EventChannel_ptr obj = backups[i]; - // send set_update request to all the backup replicas - - obj->sendc_set_update(handler, state - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - } - ACE_CATCHANY { - ACE_PRINT_EXCEPTION(ex, "AMI_Primary_Replication_Strategy::replicate_request : "); - manager->handle_exception(i); - if (oid.length()) - poa_->deactivate_object(oid); - } - ACE_ENDTRY; - } - // wait until the first transaction_depth replicas replied. - event.wait(); - - if (!success) { // replication failed, transaction depth too high - for (size_t i =0; i < num_backups; ++i) { - ACE_TRY_EX(block2) { - (backups[i]->*rollback)(oid ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block2); - } - ACE_CATCHALL { - } - ACE_ENDTRY; - } - TAO_FTRTEC::Log(3, "Throwing FTRT::TransactionDepthTooHigh\n"); - ACE_THROW(FTRT::TransactionDepthTooHigh()); - } - -} - -void -AMI_Primary_Replication_Strategy::add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - ACE_Auto_Event event; - const FtRtecEventChannelAdmin::EventChannelList& backups = - GroupInfoPublisher::instance()->backups(); - - size_t num_backups = backups.length(); - ObjectGroupManagerHandler add_member_handler(event, num_backups+1); - // The extra one is to prevent the event been signaled prematurely. - - PortableServer::ObjectId_var oid = - root_poa_->activate_object(&add_member_handler ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO::Utils::Implicit_Deactivator deactivator(&add_member_handler); - - CORBA::Object_var obj = - root_poa_->id_to_reference(oid.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - FTRT::AMI_ObjectGroupManagerHandler_var handler = - FTRT::AMI_ObjectGroupManagerHandler::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - - for (unsigned i = 0; i < num_backups; ++i) { - ACE_TRY { - backups[i]->sendc_add_member(handler.in(), - info, - object_group_ref_version - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - add_member_handler.add_member_excep(0 ACE_ENV_ARG_PARAMETER); - } - ACE_ENDTRY; - } - // decrement the number of members so the event can be signaled once - // all replys have been received. - add_member_handler.add_member_excep(0 ACE_ENV_ARG_PARAMETER); - - event.wait(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h deleted file mode 100644 index 24d44799505..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file AMI_Primary_Replication_Strategy.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef AMI_PRIMARY_REPLICATION_STRATEGY_H -#define AMI_PRIMARY_REPLICATION_STRATEGY_H - -#include "orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h" -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "ace/Task.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class AMI_Primary_Replication_Strategy. - * - * @brief Used by primary replicas when AMI calls are used for replicating requests. - */ - -class AMI_Primary_Replication_Strategy : public Replication_Strategy - , public ACE_Task_Base -{ -public: - /** - * @param mt Specifies whether multithreaded ORB is used. - */ - AMI_Primary_Replication_Strategy(bool mt); - virtual ~AMI_Primary_Replication_Strategy(); - virtual void replicate_request(const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL); - virtual void add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - virtual int acquire_read (void); - virtual int acquire_write (void); - virtual int release (void); - PortableServer::POA_ptr poa() { return poa_.in(); } - CORBA::ORB_ptr orb() { return orb_.in();} -private: - virtual int svc (void); - CORBA::ORB_var orb_; - PortableServer::POA_var root_poa_; - PortableServer::POA_var poa_; - PortableServer::POAManager_var mgr_; - bool running_; - UpdateableHandler handler_; - ACE_SYNCH_RW_MUTEX* mutex_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // AMI_PRIMARY_REPLICATION_STRATEGY_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp deleted file mode 100644 index b4073479419..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h" -#include "orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h" - -#include "ace/Auto_Ptr.h" - - -ACE_RCSID (EventChannel, - AMI_Replication_Strategy, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -AMI_Replication_Strategy::AMI_Replication_Strategy(bool mt) - : mt_(mt) -{ -} - -AMI_Replication_Strategy::~AMI_Replication_Strategy() -{ -} - -void -AMI_Replication_Strategy::replicate_request( - const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_UNUSED_ARG(state); - ACE_UNUSED_ARG(rollback); - ACE_UNUSED_ARG(oid); -} - -void -AMI_Replication_Strategy::add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_UNUSED_ARG(info); - ACE_UNUSED_ARG(object_group_ref_version); -} - -Replication_Strategy* -AMI_Replication_Strategy::make_primary_strategy() -{ - AMI_Primary_Replication_Strategy* result; - ACE_NEW_RETURN(result, AMI_Primary_Replication_Strategy(mt_), 0); - auto_ptr holder(result); - if (result->activate() == 0) - return holder.release(); - return 0; -} - -int AMI_Replication_Strategy::acquire_read (void) -{ - return 0; -} - -int AMI_Replication_Strategy::acquire_write (void) -{ - return 0; -} - -int AMI_Replication_Strategy::release (void) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h deleted file mode 100644 index 8c25f96305d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file AMI_Replication_Strategy.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef AMI_REPLICATION_STRATEGY_H -#define AMI_REPLICATION_STRATEGY_H - -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/FTRT_GroupManagerC.h" -#include "tao/PortableServer/PortableServer.h" -#include "ace/Task.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class AMI_Replication_Strategy. - * - * @brief Used by backup replicas when AMI calls are used for replicating requests. - */ -class AMI_Replication_Strategy : public Replication_Strategy -{ -public: - /** - * @param mt Specifies whether multithreaded ORB is used. - */ - AMI_Replication_Strategy(bool mt); - ~AMI_Replication_Strategy(); - virtual void replicate_request(const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL); - virtual void add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - virtual Replication_Strategy* make_primary_strategy(); - - virtual int acquire_read (void); - virtual int acquire_write (void); - virtual int release (void); -private: - bool mt_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.cpp deleted file mode 100644 index 50a4a5f4dff..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.cpp +++ /dev/null @@ -1,158 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h" -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "../Utils/Log.h" - -ACE_RCSID (EventChannel, - Basic_Replication_Strategy, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// The mutex has to be recursive; otherwise, if the second replicate_request() is -/// called while the first replicate_request() is waiting for reply, we will get -/// a deadlock. -Basic_Replication_Strategy::Basic_Replication_Strategy(bool mt) - : sequence_num_(0) - , mutex_(mt ? new ACE_SYNCH_RECURSIVE_MUTEX : 0) -{ -} - -Basic_Replication_Strategy::~Basic_Replication_Strategy() -{ - delete mutex_; -} - -void -Basic_Replication_Strategy::check_validity(ACE_ENV_SINGLE_ARG_DECL) -{ - FTRT::SequenceNumber seq_no = Request_Context_Repository().get_sequence_number(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_FTRTEC::Log(1 , "check_validity : sequence no = %d\n", sequence_num_); - - if (this->sequence_num_ == 0) { - // this is the first set_update received from the primary - // sync the sequence number with the primary - this->sequence_num_ = seq_no; - } - else if (seq_no != this->sequence_num_+1) { - // out of sync, we missed some set_update() request already - // throw exception - // client_interceptor_->sequence_num_--; - FTRT::OutOfSequence exception; - exception.current = this->sequence_num_; - TAO_FTRTEC::Log(3, "Throwing FTRT::OutOfSequence (old sequence_num_ = %d)\n", this->sequence_num_); - ACE_THROW(FTRT::OutOfSequence(exception)); - } - else - this->sequence_num_++; -} - -void twoway_set_update(FtRtecEventChannelAdmin::EventChannel_var successor, - const FTRT::State& state - ACE_ENV_ARG_DECL) -{ - bool finished = true; - do { - ACE_TRY { - successor->set_update(state ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH(CORBA::COMM_FAILURE, ex) { - if (ex.minor() == 6) finished = false; - else - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - } while(!finished); -} - -void -Basic_Replication_Strategy::replicate_request( - const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL) -{ - ACE_UNUSED_ARG(rollback); - ACE_UNUSED_ARG(oid); - - FTRT::TransactionDepth transaction_depth = - Request_Context_Repository().get_transaction_depth(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - GroupInfoPublisherBase * info_publisher = GroupInfoPublisher::instance(); - FtRtecEventChannelAdmin::EventChannel_var successor = info_publisher->successor(); - if (!CORBA::is_nil(successor.in())) { - if (info_publisher->is_primary()) - this->sequence_num_++; - - TAO_FTRTEC::Log(1, "replicate_request : sequence no = %d\n", sequence_num_); - Request_Context_Repository().set_sequence_number(sequence_num_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Request_Context_Repository().set_transaction_depth(transaction_depth-1 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (transaction_depth > 1) { - twoway_set_update(successor, state ACE_ENV_ARG_PARAMETER); - } - else { - ACE_TRY_EX(ONEWAY_SET_UPDATE) { - successor->oneway_set_update(state ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(ONEWAY_SET_UPDATE); - } - ACE_CATCHANY { - } - ACE_ENDTRY; - } - } - else if (transaction_depth > 1) { - TAO_FTRTEC::Log(3, "Throwing FTRT::TransactionDepthTooHigh\n"); - ACE_THROW(FTRT::TransactionDepthTooHigh()); - } -} - -void -Basic_Replication_Strategy::add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - FtRtecEventChannelAdmin::EventChannel_var successor = GroupInfoPublisher::instance()->successor(); - bool finished = true; - do { - ACE_TRY { - successor->add_member(info, object_group_ref_version ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH(CORBA::COMM_FAILURE, ex) { - if (ex.minor() == 6) finished = false; - else ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - } while (!finished); -} - -int Basic_Replication_Strategy::acquire_read (void) -{ - return mutex_ ? mutex_->acquire_read() : 0; -} - -int Basic_Replication_Strategy::acquire_write (void) -{ - return mutex_ ? mutex_->acquire_write() : 0; -} - -int Basic_Replication_Strategy::release (void) -{ - return mutex_ ? mutex_->release() : 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h deleted file mode 100644 index 50b18dd95ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Basic_Replication_Strategy.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef BASIC_REPLICATION_STRATEGY_H -#define BASIC_REPLICATION_STRATEGY_H -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h" -#include "ace/Synch.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class Basic_Replication_Strategy - * - * @brief Use two-way CORBA call to replicate the state to backup replicas. - */ - -class Basic_Replication_Strategy : public Replication_Strategy -{ -public: - /** - * @param mt Specifies whether multithreaded ORB is used. - */ - Basic_Replication_Strategy(bool mt); - ~Basic_Replication_Strategy(); - - virtual void check_validity(ACE_ENV_SINGLE_ARG_DECL); - - virtual void replicate_request(const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL); - virtual void add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - virtual int acquire_read (void); - virtual int acquire_write (void); - virtual int release (void); - -private: - FTRT::SequenceNumber sequence_num_; - ACE_SYNCH_RECURSIVE_MUTEX* mutex_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.cpp deleted file mode 100644 index a14d2c327eb..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.cpp +++ /dev/null @@ -1,96 +0,0 @@ -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -int ConnectionAcceptHandler::open (void * acceptor) -{ - - ACE_TRACE("ConnectionAcceptHandler::open\n"); - ACE_INET_Addr addr; - - if (this->peer ().get_remote_addr (addr) == -1) - return -1; - - reactor_ = static_cast (acceptor)->reactor(); - - if (reactor_->register_handler (this, - ACE_Event_Handler::READ_MASK) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) can't register with reactor\n"), - -1); - - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) connected with %s\n", - addr.get_host_name ())); - - return 0; -} - -template -void ConnectionAcceptHandler::destroy (void) -{ - // Remove ourselves from the reactor - reactor_->remove_handler - (this, - ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); - - // Shut down the connection to the client. - this->peer ().close (); - - // Free our memory. - delete this; -} - -// If somebody doesn't like us, they will close() us. Actually, if -// our open() method returns -1, the Acceptor<> will invoke close() -// on us for cleanup. -template -int ConnectionAcceptHandler::close (u_long flags) -{ - ACE_UNUSED_ARG (flags); - - this->destroy (); - return 0; -} - - -template -int ConnectionAcceptHandler::handle_input (ACE_HANDLE) -{ - char buf[8]; - if (this->peer().recv(buf, sizeof(buf))) - return -1; - return 0; -} - -// Clean ourselves up when handle_input() (or handle_timer()) returns -1 - -template -int ConnectionAcceptHandler::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - this->destroy (); - return 0; -} - - -template -int ConnectionDetectHandler::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - ACE_TRACE("ConnectionDetectHandler::handle_close\n"); - close(); - return 0; -} - -template -int ConnectionDetectHandler::close (u_long ) -{ - if (listener_) - listener_->connection_closed(); - delete this; - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h deleted file mode 100644 index 37a7597914d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ConnectionHandler_T.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef CONNECTIONACCEPTHANDLER_H -#define CONNECTIONACCEPTHANDLER_H - -#include "ace/Event_Handler.h" -#include "ace/Svc_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class ConnectionAcceptHandler : public ACE_Svc_Handler -{ -public: - virtual int open (void *); - virtual void destroy (void); - virtual int close (u_long flags = 0); -protected: - - virtual int handle_input (ACE_HANDLE); - virtual int handle_close (ACE_HANDLE, - ACE_Reactor_Mask); - ~ConnectionAcceptHandler(){} -private: - ACE_Reactor* reactor_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class ConnectionDetectHandler : public ACE_Svc_Handler -{ -public: - ConnectionDetectHandler(TAO_FTEC_Fault_Listener* listener = NULL) - : listener_(listener){} - - virtual int close (u_long flags = 0); - - virtual int handle_close (ACE_HANDLE, - ACE_Reactor_Mask); -private: - TAO_FTEC_Fault_Listener* listener_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ConnectionHandler_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif - diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.cpp deleted file mode 100644 index 264de9de473..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.cpp +++ /dev/null @@ -1,125 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h" -#include -#include - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl" -#endif /* __ACE_INLINE__ */ - -inline unsigned ceil(unsigned numerator, unsigned denominator) -{ - return numerator/denominator+ (numerator%denominator ? 1 : 0); -} - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -Dynamic_Bitset::Dynamic_Bitset(Dynamic_Bitset::size_type size) - : buffer_size_(ceil(size,BITS_PER_BLOCK)) - , bit_size_(size) - , buffer_(new block[buffer_size_]) -{ - memset(buffer_, 0, buffer_size_*BYTES_PER_BLOCK); -} - - -Dynamic_Bitset& Dynamic_Bitset::operator = (const Dynamic_Bitset& other) -{ - Dynamic_Bitset temp(other); - // swap buffer - block* tmp_blk = temp.buffer_; - temp.buffer_ = this->buffer_; - this->buffer_= tmp_blk; - - this->buffer_size_ = other.buffer_size_; - this->bit_size_ = other.bit_size_; - return *this; -} - -Dynamic_Bitset& Dynamic_Bitset::operator &=(const Dynamic_Bitset& other) -{ - assert(other.bit_size_ == this->bit_size_); - size_type len = ceil(bit_size_,BITS_PER_BLOCK); - for (size_type i = 0; i < len; ++i) - buffer_[i] &= other.buffer_[i]; - return *this; -} - -bool Dynamic_Bitset::test(Dynamic_Bitset::size_type bit) const -{ - size_type block_pos = bit/BITS_PER_BLOCK; - size_type bit_pos = bit%BITS_PER_BLOCK; - block mask = 1 << bit_pos; - return (buffer_[block_pos] & mask) !=0; -} - -void Dynamic_Bitset::set(Dynamic_Bitset::size_type bit, bool val) -{ - size_type block_pos = bit/BITS_PER_BLOCK; - size_type bit_pos = bit%BITS_PER_BLOCK; - block mask = 1 << bit_pos; - if (val == false) - mask ^= static_cast (-1); - buffer_[block_pos] |= mask; -} - -void Dynamic_Bitset::flip() -{ - size_type len = ceil(bit_size_,BITS_PER_BLOCK); - block mask = static_cast (-1); - for (size_type i = 0; i < len; ++i) - buffer_[i] ^= mask; -} - -void Dynamic_Bitset::resize(Dynamic_Bitset::size_type num_bits, bool value) -{ - size_type len = ceil(num_bits, BITS_PER_BLOCK); - if (len > this->buffer_size_) { - Dynamic_Bitset tmp(num_bits); - memcpy(tmp.buffer_, this->buffer_, this->buffer_size_*BYTES_PER_BLOCK); - block mask = static_cast (-1); - - size_type block_pos = this->bit_size_/BITS_PER_BLOCK; - size_type bit_pos = this->bit_size_%BITS_PER_BLOCK; - - if (value) { - mask <<= bit_pos; - tmp.buffer_[block_pos] |= mask; - } - else { - mask >>= (BITS_PER_BLOCK-bit_pos); - tmp.buffer_[block_pos] &= mask; - } - - - for (size_type i = block_pos +1; i < len; ++i) { - mask = value ? static_cast (-1) : 0; - tmp.buffer_[i] = mask; - } - - std::swap(tmp.buffer_, this->buffer_); - this->buffer_size_ = tmp.buffer_size_; - this->bit_size_ = tmp.bit_size_; - } - else - bit_size_ = num_bits; -} - -bool operator == (const Dynamic_Bitset& lhs, const Dynamic_Bitset& rhs) -{ - Dynamic_Bitset::size_type bit_size = lhs.size(); - if (bit_size != rhs.size()) - return false; - Dynamic_Bitset::size_type block_pos = bit_size/Dynamic_Bitset::BITS_PER_BLOCK; - Dynamic_Bitset::size_type bit_pos = bit_size%Dynamic_Bitset::BITS_PER_BLOCK; - Dynamic_Bitset::size_type i; - for (i = 0; i < block_pos; ++i) - if (lhs.buffer_[i] != rhs.buffer_[i]) - return false; - Dynamic_Bitset::block mask = static_cast (-1); - mask >>= (Dynamic_Bitset::BITS_PER_BLOCK-bit_pos); - return ((lhs.buffer_[i] ^ rhs.buffer_[i]) & mask ) == 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h deleted file mode 100644 index c4da90b00af..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Dynamic_Bitset.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef DYNAMIC_BITSET_H -#define DYNAMIC_BITSET_H - -#include "ace/config-all.h" - -#include "tao/Versioned_Namespace.h" -#include "ace/OS_NS_string.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * - */ -class Dynamic_Bitset -{ - typedef unsigned block; - typedef unsigned size_type; - enum { - BYTES_PER_BLOCK = sizeof(block), - BITS_PER_BLOCK = sizeof(block)*8 - }; -public: - class reference { - public: - typedef unsigned size_type; - reference(Dynamic_Bitset* bitset, size_type bit); - reference operator = (bool val); - operator bool () const; - private: - Dynamic_Bitset* bitset_; - size_type bit_; - }; - - Dynamic_Bitset(size_type size=0); - ~Dynamic_Bitset(); - Dynamic_Bitset(const Dynamic_Bitset& other); - Dynamic_Bitset& operator = (const Dynamic_Bitset& other); - Dynamic_Bitset& operator &=(const Dynamic_Bitset& other); - - reference operator[](size_type bit); - - size_type size() const; - bool test(size_type bit) const; - - void set(size_type bit, bool val = true); - void flip(); - void resize(size_type num_bits, bool value = false); - - friend bool operator == (const Dynamic_Bitset& lhs, const Dynamic_Bitset& rhs); -private: - size_type buffer_size_; - size_type bit_size_; - block* buffer_; -}; - -bool operator == (const Dynamic_Bitset& lhs, const Dynamic_Bitset& rhs); -Dynamic_Bitset operator & (const Dynamic_Bitset& lhs, const Dynamic_Bitset& rhs); - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl" -#endif /* __ACE_INLINE__ */ - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl deleted file mode 100644 index d9a1168d994..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl +++ /dev/null @@ -1,69 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Dynamic_Bitset.inl - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -Dynamic_Bitset::~Dynamic_Bitset() -{ - delete[] buffer_; -} - -ACE_INLINE -Dynamic_Bitset::Dynamic_Bitset(const Dynamic_Bitset& other) - : buffer_size_(other.buffer_size_) - , bit_size_(other.bit_size_) - , buffer_(new block[other.buffer_size_]) -{ - ACE_OS::memcpy(buffer_, other.buffer_, buffer_size_*BYTES_PER_BLOCK); -} - -ACE_INLINE -Dynamic_Bitset operator & (const Dynamic_Bitset& lhs, const Dynamic_Bitset& rhs) -{ - Dynamic_Bitset tmp(lhs); - tmp &= rhs; - return tmp; -} - -ACE_INLINE -Dynamic_Bitset::reference::reference(Dynamic_Bitset* bitset, Dynamic_Bitset::reference::size_type bit) -: bitset_(bitset), bit_(bit) -{ -} - -ACE_INLINE -Dynamic_Bitset::reference Dynamic_Bitset::reference::operator = (bool val) -{ - bitset_->set(bit_, val); - return *this; -} - -ACE_INLINE -Dynamic_Bitset::reference::operator bool () const -{ - return bitset_->test(bit_); -} - -ACE_INLINE -Dynamic_Bitset::size_type Dynamic_Bitset::size() const -{ - return bit_size_; -} - -ACE_INLINE -Dynamic_Bitset::reference Dynamic_Bitset::operator[](Dynamic_Bitset::size_type bit) -{ - return Dynamic_Bitset::reference(this, bit); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.cpp deleted file mode 100644 index 7f567ab80bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.cpp +++ /dev/null @@ -1,11 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FTEC_Become_Primary_Listener::~TAO_FTEC_Become_Primary_Listener() -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h deleted file mode 100644 index c2a056e29dc..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h +++ /dev/null @@ -1,31 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Become_Primary_Listener.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTEC_BECOME_PRIMARY_LISTENER_H -#define TAO_FTEC_BECOME_PRIMARY_LISTENER_H - -#include "orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h" - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTRTEC_Export TAO_FTEC_Become_Primary_Listener -{ -public: - virtual ~TAO_FTEC_Become_Primary_Listener(); - virtual void become_primary()=0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // TAO_FTEC_BECOME_PRIMARY_LISTENER_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp deleted file mode 100644 index 14ec7a5c533..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h" -#include "orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h" - -ACE_RCSID (EventChannel, - TAO_FTEC_ConsumerAdmin, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const FtRtecEventChannelAdmin::OperationType -TAO_FTEC_ConsumerAdmin::OBTAIN_ID = FtRtecEventChannelAdmin::OBTAIN_PUSH_SUPPLIER; - - -TAO_FTEC_ConsumerAdmin::TAO_FTEC_ConsumerAdmin (TAO_EC_Event_Channel_Base *ec) - : TAO_EC_ConsumerAdmin (ec) - , FT_Aspect(this, this->event_channel_->consumer_poa ()) -{ -} - -TAO_FTEC_ConsumerAdmin::~TAO_FTEC_ConsumerAdmin (void) -{ -} - - - -RtecEventChannelAdmin::ProxyPushSupplier_ptr -TAO_FTEC_ConsumerAdmin::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_DEBUG((LM_DEBUG,"obtain_push_supplier\n" )); - return obtain_proxy(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_FTEC_ConsumerAdmin::disconnect(RtecEventChannelAdmin::ProxyPushSupplier_ptr obj) -{ - ACE_TRY_NEW_ENV { - obj->disconnect_push_supplier(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h deleted file mode 100644 index 042172fc555..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_ConsumerAdmin.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef TAO_FTEC_CONSUMERADMIN_H -#define TAO_FTEC_CONSUMERADMIN_H -#include /**/ "ace/pre.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FtRtecEventChannelAdmin { - struct ConsumerAdminState; -} - - -class TAO_FTEC_Event_Channel_Impl; -class TAO_FTEC_ProxyPushSupplier; -/** - * @class TAO_FTEC_ConsumerAdmin - * - * @brief Implements the ConsumerAdmin interface, i.e. the factory for - * TAO_FTEC_ProxyPushSupplier objects. - * - */ -class TAO_FTEC_ConsumerAdmin - : public TAO_EC_ConsumerAdmin - , public FT_ProxyAdmin -{ -public: - static const FtRtecEventChannelAdmin::OperationType OBTAIN_ID ; - - typedef FT_ProxyAdmin - FT_Aspect; - - typedef ProxySupplierStateWorker StateWorker; - TAO_FTEC_ConsumerAdmin (TAO_EC_Event_Channel_Base* event_channel); - - /// destructor... - virtual ~TAO_FTEC_ConsumerAdmin (void); - - // = The RtecEventChannelAdmin::ConsumerAdmin methods... - virtual RtecEventChannelAdmin::ProxyPushSupplier_ptr - obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void disconnect(RtecEventChannelAdmin::ProxyPushSupplier_ptr obj); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_CONSUMERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.cpp deleted file mode 100644 index a2e2b7a29cd..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.cpp +++ /dev/null @@ -1,428 +0,0 @@ -// $Id$ - -#include "ace/Dynamic_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h" -#include "../Utils/activate_with_id.h" -#include "../Utils/resolve_init.h" -#include "../Utils/UUID.h" -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h" -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/Identification_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h" -#include "tao/Utils/PolicyList_Destroyer.h" -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" - -ACE_RCSID (EventChannel, - TAO_FTEC_Event_Channel, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FTEC_Event_Channel::TAO_FTEC_Event_Channel(CORBA::ORB_var orb, - PortableServer::POA_var poa) - : orb_(orb) - , poa_(poa) - , ec_impl_(NULL) -{ -} - -TAO_FTEC_Event_Channel::~TAO_FTEC_Event_Channel() -{ - delete ec_impl_; -} - - -void setup_object_group(TAO_FTEC_Event_Channel* es, - CosNaming::NamingContext_ptr naming_context, - TAO_FTEC_Event_Channel::MEMBERSHIP membership, - FtRtecEventChannelAdmin::EventChannel_ptr ec - ACE_ENV_ARG_DECL) -{ - if (membership != TAO_FTEC_Event_Channel::UNSPECIFIED) {// register to naming service - FTRT::ManagerInfoList member_list; - member_list.length(1); - member_list[0].the_location = Fault_Detector::instance()->my_location(); - member_list[0].ior = FTRT::ObjectGroupManager::_duplicate(ec); - - if (membership == TAO_FTEC_Event_Channel::PRIMARY) - es->create_group(member_list, 0 - ACE_ENV_ARG_PARAMETER); - - else { // BACKUP - FtRtecEventChannelAdmin::EventChannel_var primary = - resolve(naming_context, - FTRTEC::Identification_Service::instance()->name() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_DEBUG((LM_DEBUG, "Got Primary address from Naming Service\n")); - - primary->join_group(member_list[0] ACE_ENV_ARG_PARAMETER); - } - ACE_CHECK; - } -} - - -FtRtecEventChannelAdmin::EventChannel_ptr -TAO_FTEC_Event_Channel::activate(TAO_FTEC_Event_Channel::MEMBERSHIP membership - ACE_ENV_ARG_DECL) -{ - FTRTEC::Fault_Detector_Loader* detector_loader = - ACE_Dynamic_Service::instance("FTRTEC_Fault_Detector"); - - detector_loader->init(0, 0); - - if (FTRTEC::Identification_Service::instance() == 0) - ACE_ERROR_RETURN((LM_ERROR, "No Identification\n"), 0); - - // initialize naming_contex - CosNaming::NamingContext_var naming_context - = resolve_init(orb_.in(), "NameService" - ACE_ENV_ARG_PARAMETER); - // initialize group info publisher - GroupInfoPublisher::instance()->set_naming_context(naming_context); - - if (FTRTEC::Replication_Service::instance()->init(0,0) == -1) - return 0; - - GroupInfoPublisher::instance()->subscribe(FTRTEC::Replication_Service::instance()); - - Request_Context_Repository().init(orb_.in()); - - // get POAManager - PortableServer::POAManager_var mgr = poa_->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - TAO::Utils::PolicyList_Destroyer policy_list(2); - - persistent_poa_ = - create_persistent_poa(poa_, mgr, "FTEC_Persistant_POA", policy_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - // Activate the Event channel implementation - - TAO_EC_Event_Channel_Attributes attr (persistent_poa_.in (), - persistent_poa_.in ()); - - - TAO_FTEC_Event_Channel_Impl* ec; - ACE_NEW_THROW_EX (ec, - TAO_FTEC_Event_Channel_Impl (attr), - CORBA::NO_MEMORY()); - - this->ec_impl_ = ec; - - const FtRtecEventComm::ObjectId& object_id - = FTRTEC::Identification_Service::instance()->object_id(); - - FtRtecEventComm::ObjectId consumer_admin_object_id(object_id); - consumer_admin_object_id[9]++; - - FtRtecEventComm::ObjectId supplier_admin_object_id(consumer_admin_object_id); - supplier_admin_object_id[9]++; - - ec->activate_object(orb_, - supplier_admin_object_id, - consumer_admin_object_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - FtRtecEventChannelAdmin::EventChannel_var result; - activate_object_with_id(result.out(), persistent_poa_.in(), this, object_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - - setup_object_group(this, - naming_context.in(), - membership, - result.in() - ACE_ENV_ARG_PARAMETER); - return result._retn(); -} - - -void TAO_FTEC_Event_Channel::set_listener(TAO_FTEC_Become_Primary_Listener* listener) -{ - GroupInfoPublisher::instance()->subscribe(listener); -} - -void TAO_FTEC_Event_Channel::set_update ( - const FTRT::State & s - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , FTRT::InvalidUpdate - , FTRT::OutOfSequence - )) -{ - ec_impl_->set_update(s ACE_ENV_ARG_PARAMETER); -} - -void TAO_FTEC_Event_Channel::oneway_set_update ( - const FTRT::State & s - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->set_update(s ACE_ENV_ARG_PARAMETER); -} - - -RtecEventChannelAdmin::ConsumerAdmin_ptr -TAO_FTEC_Event_Channel::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return ec_impl_->for_consumers(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -RtecEventChannelAdmin::SupplierAdmin_ptr -TAO_FTEC_Event_Channel::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return ec_impl_->for_suppliers(ACE_ENV_SINGLE_ARG_PARAMETER); -} - - -void -TAO_FTEC_Event_Channel::set_state (const FTRT::State & s ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FTRT::InvalidState)) -{ - ACE_DEBUG((LM_DEBUG, "TAO_FTEC_Event_Channel::set_state\n")); - ec_impl_->set_state(s ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (Fault_Detector::instance()) - Fault_Detector::instance()->stop(); - - ec_impl_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->orb_->shutdown (); -} - -RtecEventChannelAdmin::Observer_Handle -TAO_FTEC_Event_Channel::append_observer (RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) -{ - /// we have yet to implement the replication of observers - /// throw an exception for the moment - ACE_THROW_RETURN(RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER(), 0); - - //return this->ec_impl_->append_observer (observer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::remove_observer (RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) -{ - /// we have yet to implement the replication of observers - /// throw an exception for the moment - ACE_THROW(RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER()); - - //ec_impl_->remove_observer (handle ACE_ENV_ARG_PARAMETER); -} - - - -CORBA::Boolean -TAO_FTEC_Event_Channel::start ( - FTRT::FaultListener_ptr listener, - FTRT::Location_out location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return ec_impl_->start(listener, location ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::create_group ( - const FTRT::ManagerInfoList & info_list, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , FTRT::PredecessorUnreachable - )) -{ - ec_impl_->create_group(info_list, object_group_ref_version ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::join_group ( - const FTRT::ManagerInfo & info - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->join_group(info ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::add_member ( - const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->add_member(info, object_group_ref_version ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::remove_member ( - const FTRT::Location & crashed_location, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->remove_member(crashed_location, - object_group_ref_version - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::replica_crashed ( - const FTRT::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->replica_crashed(location ACE_ENV_ARG_PARAMETER); -} - - - /// EventChannelFacade Interface - -::FtRtecEventChannelAdmin::ObjectId * -TAO_FTEC_Event_Channel::connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS & qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , RtecEventChannelAdmin::TypeError - )) -{ - return ec_impl_->connect_push_consumer(push_consumer, qos - ACE_ENV_ARG_PARAMETER); -} - - -::FtRtecEventChannelAdmin::ObjectId * -TAO_FTEC_Event_Channel::connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS & qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return ec_impl_->connect_push_supplier(push_supplier, qos - ACE_ENV_ARG_PARAMETER); - -} - -void -TAO_FTEC_Event_Channel::disconnect_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->disconnect_push_supplier(oid - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::disconnect_push_consumer ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ec_impl_->disconnect_push_consumer(oid - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::suspend_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , FtRtecEventComm::InvalidObjectID - )) -{ - ec_impl_->suspend_push_supplier(oid - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::resume_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , FtRtecEventComm::InvalidObjectID - )) -{ - ec_impl_->resume_push_supplier(oid - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FTEC_Event_Channel::push ( - const FtRtecEventChannelAdmin::ObjectId & oid, - const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , FtRtecEventComm::InvalidObjectID - )) -{ - ec_impl_->push(oid, - data - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h deleted file mode 100644 index 397aa0af43e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h +++ /dev/null @@ -1,184 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Event_Channel.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FTEC_EVENT_CHANNEL_H -#define FTEC_EVENT_CHANNEL_H - -#include "orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h" -#include "orbsvcs/FtRtecEventChannelAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Event_Channel_Impl; -class TAO_FTEC_Become_Primary_Listener; - -class TAO_FTRTEC_Export TAO_FTEC_Event_Channel - : public POA_FtRtecEventChannelAdmin::EventChannel -{ -public: - - - TAO_FTEC_Event_Channel(CORBA::ORB_var orb, - PortableServer::POA_var poa); - - ~TAO_FTEC_Event_Channel(); - - enum MEMBERSHIP { - UNSPECIFIED, - PRIMARY, - BACKUP - }; - - /** - * Activates the FT Event Channel. - * - * If the FT EC is activated as a primary, the EC will register itself to the NameService. - * If it is activated as a backup, it will try to look up the primary from the NameService - * and then join the object group. - * - * @param membership Specify the role the activated event channel in an object group. - * - */ - FtRtecEventChannelAdmin::EventChannel_ptr - activate(MEMBERSHIP membership ACE_ENV_ARG_DECL); - - /** - * Registers a listener to accept the notication when this object - * becomes the primary of the object group. - */ - void set_listener(TAO_FTEC_Become_Primary_Listener* listener); - - - /// RtecEventChannelAdmin::EventChannel Interface - - virtual RtecEventChannelAdmin::ConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual RtecEventChannelAdmin::SupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual RtecEventChannelAdmin::Observer_Handle - append_observer (RtecEventChannelAdmin::Observer_ptr observer ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)); - - virtual void remove_observer (RtecEventChannelAdmin::Observer_Handle ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException,RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)); - - /// EventChannelFacade Interface, used by FTEC gateway - - virtual ::FtRtecEventChannelAdmin::ObjectId * connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS & qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( CORBA::SystemException, RtecEventChannelAdmin::TypeError)) ; - - - virtual ::FtRtecEventChannelAdmin::ObjectId * connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS & qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) ; - - virtual void disconnect_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void disconnect_push_consumer ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) ; - - virtual void suspend_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FtRtecEventComm::InvalidObjectID)); - - virtual void resume_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FtRtecEventComm::InvalidObjectID)) ; - - virtual void push ( - const FtRtecEventChannelAdmin::ObjectId & oid, - const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FtRtecEventComm::InvalidObjectID)); - - /// FTRT::GroupManager Interfaces - /// These are used for inter-replica communications - - void set_state ( - const FTRT::State & s ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FTRT::InvalidState)); - - virtual void set_update (const FTRT::State & s ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FTRT::InvalidUpdate, FTRT::OutOfSequence)); - - virtual void oneway_set_update (const FTRT::State & s ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - virtual CORBA::Boolean start ( - FTRT::FaultListener_ptr listener, - FTRT::Location_out cur - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void create_group ( - const FTRT::ManagerInfoList & info_list, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FTRT::PredecessorUnreachable)) ; - - virtual void join_group ( - const FTRT::ManagerInfo & info - ACE_ENV_ARG_DECL - )ACE_THROW_SPEC ((CORBA::SystemException)) ; - - virtual void add_member ( - const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) ; - - virtual void remove_member ( - const FTRT::Location & crashed_location, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void replica_crashed ( - const FTRT::Location & location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) ; - - -private: - CORBA::ORB_var orb_; - PortableServer::POA_var poa_, persistent_poa_; - TAO_FTEC_Event_Channel_Impl* ec_impl_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.cpp deleted file mode 100644 index 0d85bbe8155..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.cpp +++ /dev/null @@ -1,582 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h" -#include "orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h" -#include "orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h" -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "../Utils/Safe_InputCDR.h" -#include "orbsvcs/FtRtecEventCommC.h" - - -ACE_RCSID (EventChannel, - FTEC_Event_Channel_Impl, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void obtain_push_supplier(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - ec->consumer_admin()->obtain_proxy(op ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void obtain_push_consumer(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - ec->supplier_admin()->obtain_proxy(op ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void obtain_push_consumer_and_connect(TAO_FTEC_Event_Channel_Impl* ec, - const FtRtecEventChannelAdmin::ObjectId& oid, - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS & qos - ACE_ENV_ARG_DECL) -{ - Request_Context_Repository().set_object_id(oid ACE_ENV_ARG_PARAMETER); - - RtecEventChannelAdmin::ProxyPushConsumer_var consumer = - ec->supplier_admin()->obtain(ACE_ENV_SINGLE_ARG_PARAMETER); - - ACE_CHECK; - - ACE_TRY { - consumer->connect_push_supplier(push_supplier, qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - ec->supplier_admin()->disconnect(consumer.in()); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - - -void connect_push_supplier(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var poa= ec->supplier_poa(); - ACE_CHECK; - FtRtecEventChannelAdmin::Connect_push_supplier_param& param - = op.param.connect_supplier_param(); - - TAO_FTEC_ProxyPushConsumer* proxy - = ec->find_proxy_push_consumer(op.object_id); - - if (proxy == NULL) { - obtain_push_consumer_and_connect(ec, - op.object_id, - param.push_supplier.in(), - param.qos - ACE_ENV_ARG_PARAMETER); - } - else { - proxy->connect_push_supplier(param.push_supplier.in(), - param.qos - ACE_ENV_ARG_PARAMETER); - } - ACE_CHECK; -} - -void obtain_push_supplier_and_connect(TAO_FTEC_Event_Channel_Impl* ec, - const FtRtecEventChannelAdmin::ObjectId& oid, - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS & qos - ACE_ENV_ARG_DECL) -{ - Request_Context_Repository().set_object_id(oid ACE_ENV_ARG_PARAMETER); - - RtecEventChannelAdmin::ProxyPushSupplier_var supplier = - ec->consumer_admin()->obtain(ACE_ENV_SINGLE_ARG_PARAMETER); - - ACE_CHECK; - - ACE_TRY { - supplier->connect_push_consumer(push_consumer, qos - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - ec->consumer_admin()->disconnect(supplier.in()); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - - -void connect_push_consumer(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var poa= ec->consumer_poa(); - ACE_CHECK; - FtRtecEventChannelAdmin::Connect_push_consumer_param& param - = op.param.connect_consumer_param(); - - TAO_FTEC_ProxyPushSupplier* proxy = ec->find_proxy_push_supplier(op.object_id); - - if (proxy == NULL){ - obtain_push_supplier_and_connect(ec, - op.object_id, - param.push_consumer.in(), - param.qos - ACE_ENV_ARG_PARAMETER); - } - else { - proxy->connect_push_consumer(param.push_consumer.in(), - param.qos - ACE_ENV_ARG_PARAMETER); - } - ACE_CHECK; -} - -void disconnect_push_supplier(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var poa= ec->consumer_poa(); - ACE_CHECK; - - TAO_FTEC_ProxyPushSupplier* proxy = ec->find_proxy_push_supplier(op.object_id); - - - if (proxy == NULL) // proxy not found - ACE_THROW(FTRT::InvalidUpdate()); - - ACE_CHECK; - proxy->disconnect_push_supplier(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void disconnect_push_consumer(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var poa= ec->supplier_poa(); - ACE_CHECK; - - TAO_FTEC_ProxyPushConsumer* proxy = ec->find_proxy_push_consumer(op.object_id); - - if (proxy == NULL) // proxy not found - ACE_THROW(FTRT::InvalidUpdate()); - - ACE_CHECK; - proxy->disconnect_push_consumer(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - - -void suspend_connection (TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var poa= ec->consumer_poa(); - ACE_CHECK; - - TAO_FTEC_ProxyPushSupplier* proxy = ec->find_proxy_push_supplier(op.object_id); - - - if (proxy == NULL) // proxy not found - ACE_THROW(FTRT::InvalidUpdate()); - - ACE_CHECK; - proxy->suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void resume_connection(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - TAO_FTEC_ProxyPushSupplier* proxy = ec->find_proxy_push_supplier(op.object_id); - - - if (proxy == NULL) // proxy not found - ACE_THROW(FTRT::InvalidUpdate()); - - ACE_CHECK; - proxy->resume_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - - -typedef void (*Set_update_fun)(TAO_FTEC_Event_Channel_Impl* ec, - FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL); - -Set_update_fun const update_table[] = { - &obtain_push_supplier, - &obtain_push_consumer, - &disconnect_push_supplier, - &disconnect_push_consumer, - &suspend_connection, - &resume_connection, - &connect_push_supplier, - &connect_push_consumer -}; - -TAO_FTEC_Event_Channel_Impl::TAO_FTEC_Event_Channel_Impl( - const TAO_EC_Event_Channel_Attributes& attributes) - : TAO_EC_Event_Channel_Base(attributes, new TAO_FTEC_Basic_Factory, false) -{ - this->scheduler_ = - CORBA::Object::_duplicate (attributes.scheduler); - - this->create_strategies (); - -} - -TAO_FTEC_Event_Channel_Impl::~TAO_FTEC_Event_Channel_Impl() -{ -} - - -TAO_FTEC_Basic_Factory* -TAO_FTEC_Event_Channel_Impl::factory() -{ - return static_cast (TAO_EC_Event_Channel_Base::factory()); -} - - -/// Start the internal threads (if any), etc. -/// After this call the EC can be used. -void -TAO_FTEC_Event_Channel_Impl::activate_object ( - CORBA::ORB_var orb, - const FtRtecEventComm::ObjectId& supplier_admin_oid, - const FtRtecEventComm::ObjectId& consumer_admin_oid - ACE_ENV_ARG_DECL) -{ - - iogr_maker_.init(orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_EC_Event_Channel_Base::activate(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - supplier_admin()->activate(supplier_admin_oid ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - consumer_admin()->activate(consumer_admin_oid ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - - -// = The RtecEventChannelAdmin::EventChannel methods... -/// The default implementation is: -/// this->consumer_admin ()->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -RtecEventChannelAdmin::ConsumerAdmin_ptr -TAO_FTEC_Event_Channel_Impl::for_consumers (ACE_ENV_SINGLE_ARG_DECL) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var obj = consumer_admin()->reference(ACE_ENV_SINGLE_ARG_PARAMETER); - obj = IOGR_Maker::instance()->forge_iogr(obj.in() - ACE_ENV_ARG_PARAMETER); - return RtecEventChannelAdmin::ConsumerAdmin::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); -} - - -/// The default implementation is: -/// this->supplier_admin ()->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -RtecEventChannelAdmin::SupplierAdmin_ptr -TAO_FTEC_Event_Channel_Impl::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var obj = supplier_admin()->reference(ACE_ENV_SINGLE_ARG_PARAMETER); - obj = IOGR_Maker::instance()->forge_iogr(obj.in() - ACE_ENV_ARG_PARAMETER); - return RtecEventChannelAdmin::SupplierAdmin::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); -} - - -::FtRtecEventChannelAdmin::ObjectId * -TAO_FTEC_Event_Channel_Impl::connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS & qos - ACE_ENV_ARG_DECL - ) -{ - CORBA::Any_var any - = Request_Context_Repository().get_cached_result(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - FtRtecEventChannelAdmin::ObjectId *oid; - - if (any.in() >>= oid) { - FtRtecEventChannelAdmin::ObjectId* result; - ACE_NEW_THROW_EX(result, - FtRtecEventChannelAdmin::ObjectId(*oid), - CORBA::NO_MEMORY()); - return result; - } - - - ACE_NEW_THROW_EX(oid, FtRtecEventChannelAdmin::ObjectId, CORBA::NO_MEMORY()); - - FtRtecEventChannelAdmin::ObjectId_var object_id = oid; - - Request_Context_Repository().generate_object_id(*oid ACE_ENV_ARG_PARAMETER); - - obtain_push_supplier_and_connect(this, - object_id.in(), - push_consumer, - qos - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN(0); - - return object_id._retn(); -} - - -::FtRtecEventChannelAdmin::ObjectId * -TAO_FTEC_Event_Channel_Impl::connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS & qos - ACE_ENV_ARG_DECL - ) -{ - CORBA::Any_var any - = Request_Context_Repository().get_cached_result(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - FtRtecEventChannelAdmin::ObjectId *oid; - - if (any.in() >>= oid) { - FtRtecEventChannelAdmin::ObjectId* result; - ACE_NEW_THROW_EX(result, - FtRtecEventChannelAdmin::ObjectId(*oid), - CORBA::NO_MEMORY()); - return result; - } - - - ACE_NEW_THROW_EX(oid, FtRtecEventChannelAdmin::ObjectId, CORBA::NO_MEMORY()); - FtRtecEventChannelAdmin::ObjectId_var object_id = oid; - - Request_Context_Repository().generate_object_id(*oid ACE_ENV_ARG_PARAMETER); - - obtain_push_consumer_and_connect(this, - object_id.in(), - push_supplier, - qos - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN(0); - - return object_id._retn(); - -} - -void TAO_FTEC_Event_Channel_Impl::disconnect_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - TAO_FTEC_ProxyPushSupplier* proxy = this->find_proxy_push_supplier(oid); - - if (proxy == NULL) // proxy not found - return; - - ACE_CHECK; - proxy->disconnect_push_supplier(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void TAO_FTEC_Event_Channel_Impl::disconnect_push_consumer ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - TAO_FTEC_ProxyPushConsumer* proxy = this->find_proxy_push_consumer(oid); - - if (proxy == NULL) // proxy not found - return; - - ACE_CHECK; - proxy->disconnect_push_consumer(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void TAO_FTEC_Event_Channel_Impl::suspend_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - TAO_FTEC_ProxyPushSupplier* proxy = this->find_proxy_push_supplier(oid); - - if (proxy == NULL) // proxy not found - ACE_THROW(FtRtecEventComm::InvalidObjectID()); - - ACE_CHECK; - proxy->suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - - -void TAO_FTEC_Event_Channel_Impl::resume_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - TAO_FTEC_ProxyPushSupplier* proxy = this->find_proxy_push_supplier(oid); - - if (proxy == NULL) // proxy not found - ACE_THROW(FtRtecEventComm::InvalidObjectID()); - - ACE_CHECK; - proxy->resume_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void TAO_FTEC_Event_Channel_Impl::push ( - const FtRtecEventChannelAdmin::ObjectId & oid, - const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL - ) -{ - TAO_FTEC_ProxyPushConsumer* proxy = this->find_proxy_push_consumer(oid); - - if (proxy == NULL) // proxy not found - ACE_THROW(FtRtecEventComm::InvalidObjectID()); - - proxy->push(data ACE_ENV_ARG_PARAMETER); -} - - - - -void TAO_FTEC_Event_Channel_Impl::get_state ( - FtRtecEventChannelAdmin::EventChannelState & state - ACE_ENV_ARG_DECL - ) -{ - FtEventServiceInterceptor::instance()->get_state(state.cached_operation_results); - this->supplier_admin()->get_state(state.supplier_admin_state ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->consumer_admin()->get_state(state.consumer_admin_state ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - - -void TAO_FTEC_Event_Channel_Impl::set_state (const FTRT::State & stat - ACE_ENV_ARG_DECL) -{ - FtRtecEventChannelAdmin::EventChannelState state; - - Safe_InputCDR cdr((const char*)stat.get_buffer(), stat.length()); - cdr >> state; - - FtEventServiceInterceptor::instance()->set_state(state.cached_operation_results); - this->supplier_admin()->set_state(state.supplier_admin_state ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->consumer_admin()->set_state(state.consumer_admin_state ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void TAO_FTEC_Event_Channel_Impl::set_update (const FTRT::State & s - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FTRT::InvalidUpdate)) -{ - FTRTEC::Replication_Service::instance()->check_validity(ACE_ENV_SINGLE_ARG_PARAMETER); - - if (!Request_Context_Repository().is_executed_request()) { - Safe_InputCDR cdr((const char*)s.get_buffer(), s.length()); - - FtRtecEventChannelAdmin::Operation_var op(new FtRtecEventChannelAdmin::Operation); - if (!(cdr >> *op)) { - ACE_THROW(FTRT::InvalidUpdate() ); - } - - (update_table[op->param._d()])(this, *op ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - } -} - - -TAO_FTEC_ConsumerAdmin* TAO_FTEC_Event_Channel_Impl::consumer_admin (void) const -{ - return static_cast (TAO_EC_Event_Channel_Base::consumer_admin()); -} - -/// Access the supplier admin implementation, useful for controlling -/// the activation... -TAO_FTEC_SupplierAdmin* TAO_FTEC_Event_Channel_Impl::supplier_admin (void) const -{ - return static_cast (TAO_EC_Event_Channel_Base::supplier_admin()); -} - - -TAO_FTEC_ProxyPushSupplier* -TAO_FTEC_Event_Channel_Impl::find_proxy_push_supplier(const FtRtecEventChannelAdmin::ObjectId& id) -{ - ACE_TRY_NEW_ENV { - PortableServer::POA_var poa = consumer_poa(); - - const PortableServer::Servant servant = poa->id_to_servant( - reinterpret_cast (id) - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - POA_RtecEventChannelAdmin::ProxyPushSupplier_ptr obj = - dynamic_cast (servant); - - return static_cast (obj); - } - ACE_CATCHALL { - } - ACE_ENDTRY; - return 0; -} - -TAO_FTEC_ProxyPushConsumer* -TAO_FTEC_Event_Channel_Impl::find_proxy_push_consumer(const FtRtecEventChannelAdmin::ObjectId& id) -{ - ACE_TRY_NEW_ENV { - PortableServer::POA_var poa= supplier_poa(); - - const PortableServer::Servant servant = poa->id_to_servant( - reinterpret_cast (id) - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - POA_RtecEventChannelAdmin::ProxyPushConsumer_ptr obj = - dynamic_cast (servant); - - return static_cast (obj); - } - ACE_CATCHALL { - } - ACE_ENDTRY; - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h deleted file mode 100644 index ba6c2e1bc0d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h +++ /dev/null @@ -1,135 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Event_Channel_Impl.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef TAO_FTEC_EVENT_CHANNEL_H -#define TAO_FTEC_EVENT_CHANNEL_H - -#include "ace/Synch_T.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h" -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_ProxyPushSupplier; -class TAO_FTEC_ProxyPushConsumer; -class TAO_FTEC_SupplierAdmin; -class TAO_FTEC_ConsumerAdmin; -class FT_ProxyAdmin_Base; - -class TAO_FTEC_Event_Channel_Impl : public TAO_EC_Event_Channel_Base - , public TAO_FTEC_Group_Manager -{ -public: - TAO_FTEC_Event_Channel_Impl(const TAO_EC_Event_Channel_Attributes& attributes); - - ~TAO_FTEC_Event_Channel_Impl(); - - /// Start the internal threads (if any), etc. - /// After this call the EC can be used. - virtual void activate_object ( - CORBA::ORB_var orb, - const FtRtecEventComm::ObjectId& supplier_admin_oid, - const FtRtecEventComm::ObjectId& consumer_admin_oid - ACE_ENV_ARG_DECL); - - - // = The RtecEventChannelAdmin::EventChannel methods... - virtual RtecEventChannelAdmin::ConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - virtual RtecEventChannelAdmin::SupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void get_state (FtRtecEventChannelAdmin::EventChannelState & s - ACE_ENV_ARG_DECL); - - void set_state (const FTRT::State & stat ACE_ENV_ARG_DECL); - - void set_update (const FTRT::State & s ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, FTRT::InvalidUpdate)); - - /// EventChannelFacade Interface - - virtual ::FtRtecEventChannelAdmin::ObjectId * connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS & qos - ACE_ENV_ARG_DECL - ); - - - virtual ::FtRtecEventChannelAdmin::ObjectId * connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS & qos - ACE_ENV_ARG_DECL - ); - - virtual void disconnect_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ); - - virtual void disconnect_push_consumer ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ); - - virtual void suspend_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ); - - virtual void resume_push_supplier ( - const FtRtecEventChannelAdmin::ObjectId & oid - ACE_ENV_ARG_DECL - ); - - virtual void push ( - const FtRtecEventChannelAdmin::ObjectId & oid, - const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL - ); - - //////////////////////////////////////////// - - /// Access the consumer admin implementation, useful for controlling - /// the activation... - TAO_FTEC_ConsumerAdmin* consumer_admin (void) const; - - /// Access the supplier admin implementation, useful for controlling - /// the activation... - TAO_FTEC_SupplierAdmin* supplier_admin (void) const; - - TAO_FTEC_ProxyPushSupplier* find_proxy_push_supplier(const FtRtecEventChannelAdmin::ObjectId& id); - TAO_FTEC_ProxyPushConsumer* find_proxy_push_consumer(const FtRtecEventChannelAdmin::ObjectId& id); - - - CORBA::Object_var make_iogr(CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - -protected: - TAO_FTEC_Basic_Factory* factory(); -private: - IOGR_Maker iogr_maker_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.cpp deleted file mode 100644 index c0bb7566afa..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h" - -ACE_RCSID (EventChannel, - FTEC_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FTEC_Basic_Factory::TAO_FTEC_Basic_Factory (void) -{ -} - -TAO_EC_ConsumerAdmin* -TAO_FTEC_Basic_Factory::create_consumer_admin (TAO_EC_Event_Channel_Base* ec) -{ - return new TAO_FTEC_ConsumerAdmin(ec); -} - -TAO_EC_SupplierAdmin* -TAO_FTEC_Basic_Factory::create_supplier_admin (TAO_EC_Event_Channel_Base* ec) -{ - return new TAO_FTEC_SupplierAdmin(ec); -} - -TAO_EC_ProxyPushSupplier* -TAO_FTEC_Basic_Factory::create_proxy_push_supplier (TAO_EC_Event_Channel_Base* ec) -{ - return new TAO_FTEC_ProxyPushSupplier(ec, consumer_validate_connection_); -} - -TAO_EC_ProxyPushConsumer* -TAO_FTEC_Basic_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel_Base* ec) -{ - return new TAO_FTEC_ProxyPushConsumer(ec); -} - -void -TAO_FTEC_Basic_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier* proxy) -{ - delete proxy; -} - -void -TAO_FTEC_Basic_Factory::destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer* proxy) -{ - delete proxy; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h deleted file mode 100644 index 5fd7cb8e131..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Factory.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FTEC_FACTORY_H -#define FTEC_FACTORY_H - -#include "orbsvcs/Event/EC_Default_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Basic_Factory : public TAO_EC_Default_Factory -{ -public: - /// Constructor - TAO_FTEC_Basic_Factory (void); - virtual TAO_EC_ConsumerAdmin* - create_consumer_admin (TAO_EC_Event_Channel_Base*); - virtual TAO_EC_SupplierAdmin* - create_supplier_admin (TAO_EC_Event_Channel_Base*); - - virtual TAO_EC_ProxyPushSupplier* - create_proxy_push_supplier (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*); - - /// Create and destroy a ProxyPushConsumer - virtual TAO_EC_ProxyPushConsumer* - create_proxy_push_consumer (TAO_EC_Event_Channel_Base*); - virtual void - destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif - diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h deleted file mode 100644 index c2eb737544e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h +++ /dev/null @@ -1,29 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Fault_Listener.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTEC_FAULT_LISTENER_H -#define TAO_FTEC_FAULT_LISTENER_H - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Fault_Listener -{ -public: - virtual ~TAO_FTEC_Fault_Listener(){}; - virtual void connection_closed()=0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.cpp deleted file mode 100644 index 80c7ba30a06..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.cpp +++ /dev/null @@ -1,378 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h" -#include "ace/Synch_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h" -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "../Utils/Log.h" -#include "tao/CDR.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" - -ACE_RCSID (EventChannel, - TAO_FTEC_Group_Manager, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int find_by_location(const FTRT::ManagerInfoList& list, - const FTRT::Location & location) -{ - unsigned i; - for (i = 0; i < list.length(); ++i) { - if (list[i].the_location == location) { - return i; - } - } - return i; -} - -/* -void print(const FTRT::Location& location) -{ - ACE_DEBUG((LM_DEBUG, "{")); - for (size_t i = 0; i < location.length(); ++i) { - ACE_DEBUG((LM_DEBUG, "<%s,%s>", location[i].id.in(), location[i].kind.in())); - } - ACE_DEBUG((LM_DEBUG, "}")); -} -*/ - -struct TAO_FTEC_Group_Manager_Impl -{ - FTRT::ManagerInfoList info_list; - unsigned my_position; -}; - -TAO_FTEC_Group_Manager::TAO_FTEC_Group_Manager() -: impl_(new TAO_FTEC_Group_Manager_Impl) -{ - Fault_Detector::instance()->set_listener(this); -} - -TAO_FTEC_Group_Manager::~TAO_FTEC_Group_Manager() -{ - delete impl_; -} - -CORBA::Boolean TAO_FTEC_Group_Manager::start ( - FTRT::FaultListener_ptr listener, - FTRT::Location_out cur - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - listener_ = listener; - ACE_NEW_RETURN(cur , FTRT::Location(Fault_Detector::instance()->my_location()), false); - return true; -} - - -void TAO_FTEC_Group_Manager::create_group ( - const FTRT::ManagerInfoList & info_list, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - TAO_FTRTEC::Log(1, "create_group\n"); - - impl_->info_list = info_list; - impl_->my_position = find_by_location(info_list, - Fault_Detector::instance()->my_location()); - - GroupInfoPublisherBase* publisher = GroupInfoPublisher::instance(); - GroupInfoPublisherBase::Info_ptr info ( - publisher->setup_info(impl_->info_list, - impl_->my_position, - object_group_ref_version - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK; - - publisher->update_info(info); - - IOGR_Maker::instance()->set_ref_version( object_group_ref_version ); - - if (impl_->my_position > 0) { - Fault_Detector* detector = Fault_Detector::instance(); - if ( detector->connect(impl_->info_list[impl_->my_position-1].the_location) == -1) { - ACE_DEBUG((LM_DEBUG, "Cannot connect to predecesor\n")); - ACE_THROW(FTRT::PredecessorUnreachable()); - } - } - - FtRtecEventChannelAdmin::EventChannel_var successor - = publisher->successor(); - - if (!CORBA::is_nil(successor.in())) { - successor->create_group(info_list, object_group_ref_version - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void TAO_FTEC_Group_Manager::join_group ( - const FTRT::ManagerInfo & info - ACE_ENV_ARG_DECL) -{ - TAO_FTRTEC::Log(1, "join group\n"); - if (impl_->my_position == 0) { - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_Write_Guard lock(*svc); - add_member(info, IOGR_Maker::instance()->get_ref_version()+1 - ACE_ENV_ARG_PARAMETER); - } -} - -void TAO_FTEC_Group_Manager::add_member ( - const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - TAO_FTRTEC::Log(1, "add_member location = <%s>\n", - (const char*)info.the_location[0].id); - - auto_ptr new_impl(new TAO_FTEC_Group_Manager_Impl); - - new_impl->my_position = impl_->my_position; - size_t pos = impl_->info_list.length(); - new_impl->info_list.length(pos+1); - for (size_t i = 0; i < pos; ++i) { - new_impl->info_list[i] = impl_->info_list[i]; - } - new_impl->info_list[pos] = info; - - GroupInfoPublisherBase* publisher = GroupInfoPublisher::instance(); - GroupInfoPublisherBase::Info_ptr group_info ( - publisher->setup_info(new_impl->info_list, - new_impl->my_position, - object_group_ref_version - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK; - - int last_one = (impl_->my_position == impl_->info_list.length()-1); - - if (!last_one) - { - // I am not the last of replica, tell my successor that - // a new member has joined in. - ACE_TRY_EX(block) { - FTRTEC::Replication_Service::instance()->add_member(info, object_group_ref_version - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block); - } - ACE_CATCHANY { - // Unable to send request to all the successors. - // Now this node become the last replica of the object group. - // update the info list again - new_impl->info_list.length(new_impl->my_position+2); - new_impl->info_list[new_impl->my_position+1] = info; - - /// group_info = publisher->set_info(..) should be enough. - /// However, GCC 2.96 is not happy with that. - - GroupInfoPublisherBase::Info_ptr group_info1 ( - publisher->setup_info(new_impl->info_list, - new_impl->my_position, - object_group_ref_version - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK; - ACE_AUTO_PTR_RESET(group_info, group_info1.release(), GroupInfoPublisherBase::Info); - - last_one = true; - } - ACE_ENDTRY; - ACE_CHECK; - } - - if (last_one) - { - // this is the last replica in the list - // synchornize the state with the newly joined replica. - FtRtecEventChannelAdmin::EventChannelState state; - get_state(state ACE_ENV_ARG_PARAMETER); - - TAO_OutputCDR cdr; - cdr << state; - - FTRT::State s; - if (cdr.begin()->cont()) { - ACE_Message_Block* blk; - ACE_NEW_THROW_EX(blk, ACE_Message_Block, CORBA::NO_MEMORY()); - ACE_CDR::consolidate(blk, cdr.begin()); -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - s.replace(blk->length(), blk); -#else - // If the replace method is not available, we will need - // to do the copy manually. First, set the octet sequence length. - CORBA::ULong length = blk->length (); - s.length (length); - - // Now copy over each byte. - char* base = blk->data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - s[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - blk->release(); - } - else { -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - s.replace(cdr.begin()->length(), cdr.begin()); -#else - // If the replace method is not available, we will need - // to do the copy manually. First, set the octet sequence length. - CORBA::ULong length = cdr.begin ()->length (); - s.length (length); - - // Now copy over each byte. - char* base = cdr.begin()->data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - s[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - } - - TAO_FTRTEC::Log(2, "Setting state\n"); - info.ior->set_state(s ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - info.ior->create_group(new_impl->info_list, - object_group_ref_version - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - TAO_FTRTEC::Log(2, "After create_group\n"); - } - - // commit the changes - IOGR_Maker::instance()->set_ref_version( object_group_ref_version ); - publisher->update_info(group_info); - delete impl_; - impl_ = new_impl.release(); -} - -template -void remove_item(SEQ & seq, int position) -{ - int i = position; - int len = seq.length()-1; - for (;i < len; ++i) - seq[i] = seq[i+1]; - seq.length(len); -} - -void TAO_FTEC_Group_Manager::replica_crashed ( - const FTRT::Location & location - ACE_ENV_ARG_DECL) -{ - TAO_FTRTEC::Log(1, "TAO_FTEC_Group_Manager::replica_crashed\n"); - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_Write_Guard lock(*svc); - remove_member(location, IOGR_Maker::instance()->get_ref_version()+1 - ACE_ENV_ARG_PARAMETER); -} - -void TAO_FTEC_Group_Manager::remove_member ( - const FTRT::Location & crashed_location, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - // find my position of this EventChannel in the group - unsigned crashed_pos = find_by_location(impl_->info_list, crashed_location); - if (crashed_pos >= impl_->info_list.length()) { - return; - } - - ACE_ASSERT(impl_->my_position != crashed_pos); - remove_item(impl_->info_list, crashed_pos); - - if (impl_->my_position > crashed_pos) - --impl_->my_position; - - GroupInfoPublisherBase* publisher = GroupInfoPublisher::instance(); - - GroupInfoPublisherBase::Info_ptr info ( - publisher->setup_info(impl_->info_list, - impl_->my_position, - object_group_ref_version - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK; - publisher->update_info(info); - - FtRtecEventChannelAdmin::EventChannel_var successor = - publisher->successor(); - - IOGR_Maker::instance()->set_ref_version(object_group_ref_version); - if (!CORBA::is_nil(successor.in())) { - ACE_TRY { - successor->remove_member(crashed_location, - object_group_ref_version - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - } - ACE_ENDTRY; - } - - TAO_FTRTEC::Log(3, "my_position = %d, crashed_pos = %d\n", impl_->my_position, crashed_pos); - if (impl_->my_position == crashed_pos && impl_->my_position > 0) - Fault_Detector::instance()->connect(impl_->info_list[impl_->my_position-1].the_location); -} - -void TAO_FTEC_Group_Manager::connection_closed() -{ - TAO_FTRTEC::Log(1, "TAO_FTEC_Group_Manager::connection_closed\n"); - ACE_ASSERT(impl_->my_position > 0); - - // do not use referere here, because the the value pointed by the pointer to - // crashed_location will be repliaced by its successor. - FTRT::Location crashed_location = impl_->info_list[impl_->my_position-1].the_location; - - ACE_DECLARE_NEW_CORBA_ENV; - - if (impl_->my_position > 1) { - // if I am not the new primary, tell the new primary - ACE_TRY_EX(block1) { - TAO_IOP::TAO_IOR_Manipulation::IORList iors; - iors.length(impl_->my_position-1); - for (size_t i = 0; i < impl_->my_position-1; ++i) - iors[i] = CORBA::Object::_duplicate(impl_->info_list[i].ior.in()); - - CORBA::Object_var obj = - IOGR_Maker::instance()->merge_iors(iors - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - - FtRtecEventChannelAdmin::EventChannel_var primary = - FtRtecEventChannelAdmin::EventChannel::_narrow(obj.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - primary->replica_crashed(crashed_location - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK_EX(block1); - return; - } - ACE_CATCHANY { - } - ACE_ENDTRY; - } - - ACE_TRY_EX(block2) { - remove_member(crashed_location, - IOGR_Maker::instance()->increment_ref_version() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block2); - } - ACE_CATCHANY { - } - ACE_ENDTRY; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h deleted file mode 100644 index 0d06c156bf5..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h +++ /dev/null @@ -1,80 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Group_Manager.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTEC_GROUP_MANAGER_H -#define TAO_FTEC_GROUP_MANAGER_H - -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -struct TAO_FTEC_Group_Manager_Impl; - -class TAO_FTEC_Group_Manager : private TAO_FTEC_Fault_Listener -{ -public: - TAO_FTEC_Group_Manager(); - virtual ~TAO_FTEC_Group_Manager(); - - bool init(CORBA::ORB_ptr orb); - - virtual CORBA::Boolean start ( - FTRT::FaultListener_ptr listener, - FTRT::Location_out cur - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void create_group ( - const FTRT::ManagerInfoList & info_list, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - void join_group ( - const FTRT::ManagerInfo & info - ACE_ENV_ARG_DECL); - - void add_member ( - const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - void remove_member ( - const FTRT::Location & crashed_location, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - void replica_crashed ( - const FTRT::Location & location - ACE_ENV_ARG_DECL); - -private: - virtual void get_state ( - FtRtecEventChannelAdmin::EventChannelState & s - ACE_ENV_ARG_DECL - )=0; - - virtual void connection_closed(); - -protected: - FTRT::FaultListener_var listener_; - TAO_FTEC_Group_Manager_Impl* impl_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // TAO_FTEC_GROUP_MANAGER_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp deleted file mode 100644 index 410377e8a80..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// $Id$ - - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h" -#include "orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h" -#include "orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h" -#include "orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" - -ACE_RCSID (EventChannel, - FTEC_ORBInitializer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -FTEC_ORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -FTEC_ORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - - Request_Context_Repository().allocate_slots(info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableInterceptor::ClientRequestInterceptor_var client_interceptor; - PortableInterceptor::ClientRequestInterceptor_ptr ctmp; - - ACE_NEW_THROW_EX(ctmp, - TAO_Set_Update_Interceptor, - CORBA::NO_MEMORY()); - ACE_CHECK; - - client_interceptor = ctmp; - - info->add_client_request_interceptor (client_interceptor.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableInterceptor::ServerRequestInterceptor_var server_interceptor; - PortableInterceptor::ServerRequestInterceptor_ptr stmp; - - ACE_NEW_THROW_EX(stmp, - ForwardCtrlServerInterceptor, - CORBA::NO_MEMORY()); - server_interceptor = stmp; - - info->add_server_request_interceptor (server_interceptor.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - ACE_NEW_THROW_EX(stmp, - FtEventServiceInterceptor, - CORBA::NO_MEMORY()); - server_interceptor = stmp; - - info->add_server_request_interceptor (server_interceptor.in() - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h deleted file mode 100644 index 07377cd40e1..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_ORBInitializer.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FTEC_ORBINITIALIZER__H_ -#define FTEC_ORBINITIALIZER__H_ -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class FTEC_ORBInitializer - : public virtual PortableInterceptor::ORBInitializer - , public virtual TAO_Local_RefCounted_Object -{ -public: - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* FTEC_ORBINITIALIZER__H_ */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp deleted file mode 100644 index 3f489f9540f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp +++ /dev/null @@ -1,134 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "../Utils/activate_with_id.h" - -ACE_RCSID (EventChannel, - TAO_FTEC_ProxyPushConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const TAO_FTEC_ProxyPushConsumer::RollbackOperation - TAO_FTEC_ProxyPushConsumer::rollback_obtain = - &FtRtecEventChannelAdmin::EventChannelFacade::disconnect_push_consumer; - -TAO_FTEC_ProxyPushConsumer::TAO_FTEC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel) -: Inherited(event_channel) -{ -} - - -const FtRtecEventChannelAdmin::ObjectId& -TAO_FTEC_ProxyPushConsumer::id() const -{ - return object_id_.in(); -} - - - /// Activate in the POA -void -TAO_FTEC_ProxyPushConsumer::activate ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr &result - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - result = RtecEventChannelAdmin::ProxyPushConsumer::_nil(); - ACE_TRY { - object_id_ = Request_Context_Repository().get_object_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::POA_var poa = _default_POA(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - activate_object_with_id(result, poa.in(), this, id() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, ""); - // ignore exceptions - } - ACE_ENDTRY; -} - - // = The RtecEventChannelAdmin::ProxyPushConsumer methods... -void TAO_FTEC_ProxyPushConsumer::connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected)) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - FtRtecEventChannelAdmin::Operation update; - update.object_id = this->id(); - FtRtecEventChannelAdmin::Connect_push_supplier_param param; - param.push_supplier = RtecEventComm::PushSupplier::_duplicate(push_supplier); - param.qos = qos; - update.param.connect_supplier_param(param); - - Inherited::connect_push_supplier(push_supplier, qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_TRY { - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_Read_Guard locker(*svc); - - svc->replicate_request(update, - &FtRtecEventChannelAdmin::EventChannelFacade::disconnect_push_consumer - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - this->disconnect_push_consumer(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - -void TAO_FTEC_ProxyPushConsumer::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (Request_Context_Repository().is_executed_request()) - return; - FtRtecEventChannelAdmin::Operation update; - update.object_id = id(); - update.param._d(FtRtecEventChannelAdmin::DISCONNECT_PUSH_CONSUMER); - - Inherited::disconnect_push_consumer(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_Read_Guard locker(*svc); - - svc->replicate_request(update, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void TAO_FTEC_ProxyPushConsumer::get_state(FtRtecEventChannelAdmin::ProxyPushConsumerStat& state) -{ - state.object_id = this->object_id_.in (); - if (this->is_connected()) { - FtRtecEventChannelAdmin::ProxyPushConsumerConnectionInfo info; - info.push_supplier = this->supplier(); - info.qos = this->publications(); - state.parameter.info(info); - } -} - -void TAO_FTEC_ProxyPushConsumer::set_state(const FtRtecEventChannelAdmin::ProxyPushConsumerStat& state - ACE_ENV_ARG_DECL) -{ - if (!CORBA::is_nil(state.parameter.info().push_supplier.in()) ) - { - Inherited::connect_push_supplier(state.parameter.info().push_supplier.in(), - state.parameter.info().qos - ACE_ENV_ARG_PARAMETER); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h deleted file mode 100644 index 518e4f73eb0..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_ProxyConsumer.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef TAO_FTEC_PROXYCONSUMER_H -#define TAO_FTEC_PROXYCONSUMER_H - -#include "orbsvcs/Event/EC_Default_ProxyConsumer.h" -#include "ace/SString.h" -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_ProxyPushConsumer : public TAO_EC_Default_ProxyPushConsumer -{ - typedef TAO_EC_Default_ProxyPushConsumer Inherited; -public: - typedef RtecEventChannelAdmin::ProxyPushConsumer Interface; - typedef FtRtecEventChannelAdmin::ProxyPushConsumerStat State; - typedef POA_RtecEventChannelAdmin::ProxyPushConsumer_ptr Skeleton; - - TAO_FTEC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel); - - virtual void activate ( - RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - // = The RtecEventChannelAdmin::ProxyPushConsumer methods... - virtual void connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected)); - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - const FtRtecEventChannelAdmin::ObjectId& id() const; - void get_state(FtRtecEventChannelAdmin::ProxyPushConsumerStat& state); - void set_state(const FtRtecEventChannelAdmin::ProxyPushConsumerStat& state - ACE_ENV_ARG_DECL); - - typedef void (FtRtecEventChannelAdmin::EventChannelFacade::*RollbackOperation) - (const FtRtecEventChannelAdmin::ObjectId& ACE_ENV_ARG_DECL); - - static const RollbackOperation rollback_obtain; -private: - FtRtecEventChannelAdmin::ObjectId_var object_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp deleted file mode 100644 index 62fad4ef9d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp +++ /dev/null @@ -1,202 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h" -#include "../Utils/activate_with_id.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" - -ACE_RCSID (EventChannel, - TAO_FTEC_ProxyPushSupplier, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const TAO_FTEC_ProxyPushSupplier::RollbackOperation - TAO_FTEC_ProxyPushSupplier::rollback_obtain = - &FtRtecEventChannelAdmin::EventChannelFacade::disconnect_push_supplier; - -TAO_FTEC_ProxyPushSupplier::TAO_FTEC_ProxyPushSupplier(TAO_EC_Event_Channel_Base* event_channel - ,int validate_connection) -: Inherited(event_channel, validate_connection) -{ -} - -const FtRtecEventChannelAdmin::ObjectId& -TAO_FTEC_ProxyPushSupplier::id() const -{ - return object_id_.in(); -} - - /// Activate in the POA -void -TAO_FTEC_ProxyPushSupplier::activate ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr &result - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - - result = - RtecEventChannelAdmin::ProxyPushSupplier::_nil(); - ACE_TRY { - object_id_ = Request_Context_Repository().get_object_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - PortableServer::POA_var poa = _default_POA(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - activate_object_with_id(result, poa.in(), this, id() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // ignore exceptions - } - ACE_ENDTRY; -} - - // = The RtecEventChannelAdmin::ProxyPushSupplier methods... -void TAO_FTEC_ProxyPushSupplier::connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - FtRtecEventChannelAdmin::Operation update; - FtRtecEventChannelAdmin::Connect_push_consumer_param param; - update.object_id = this->id(); - param.push_consumer = RtecEventComm::PushConsumer::_duplicate(push_consumer); - param.qos = qos; - update.param.connect_consumer_param(param); - - Inherited::connect_push_consumer(push_consumer, qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_TRY { - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - - ACE_Read_Guard locker(*svc); - - svc->replicate_request(update, - &FtRtecEventChannelAdmin::EventChannelFacade::disconnect_push_supplier - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - } - ACE_ENDTRY; -} - - -void TAO_FTEC_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - FtRtecEventChannelAdmin::Operation update; - update.object_id = id(); - update.param._d(FtRtecEventChannelAdmin::DISCONNECT_PUSH_SUPPLIER); - - Inherited::disconnect_push_supplier(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - FTRTEC::Replication_Service *svc = FTRTEC::Replication_Service::instance(); - - ACE_Read_Guard locker(*svc); - - svc->replicate_request(update, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void TAO_FTEC_ProxyPushSupplier::suspend_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - FtRtecEventChannelAdmin::Operation update; - update.object_id = id(); - update.param._d(FtRtecEventChannelAdmin::SUSPEND_CONNECTION); - - Inherited::suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TRY - { - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_Read_Guard locker(*svc); - - svc->replicate_request(update, - &FtRtecEventChannelAdmin::EventChannelFacade::resume_push_supplier - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - this->resume_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_RE_THROW; - } - ACE_ENDTRY; -} - -void TAO_FTEC_ProxyPushSupplier::resume_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (Request_Context_Repository().is_executed_request()) - return; - - Request_Context_Repository().set_object_id(id() ACE_ENV_ARG_PARAMETER); - FtRtecEventChannelAdmin::Operation update; - update.object_id = id(); - update.param._d(FtRtecEventChannelAdmin::RESUME_CONNECTION); - - Inherited::resume_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TRY { - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - - ACE_Read_Guard locker(*svc); - - svc->replicate_request(update, - &FtRtecEventChannelAdmin::EventChannelFacade::suspend_push_supplier - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - this->suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_RE_THROW; - } - ACE_ENDTRY; -} - - -void TAO_FTEC_ProxyPushSupplier::get_state(FtRtecEventChannelAdmin::ProxyPushSupplierStat& state) -{ - state.object_id = this->object_id_.in (); - state.suspended = this->is_suspended(); - if (this->is_connected()) { - FtRtecEventChannelAdmin::ProxyPushSupplierConnectionInfo info; - info.push_consumer = this->consumer(); - info.qos = this->subscriptions(); - state.parameter.info(info); - } -} - - -void TAO_FTEC_ProxyPushSupplier::set_state(const FtRtecEventChannelAdmin::ProxyPushSupplierStat& state - ACE_ENV_ARG_DECL) -{ - if (!CORBA::is_nil(state.parameter.info().push_consumer.in())) - { - Inherited::connect_push_consumer(state.parameter.info().push_consumer.in(), - state.parameter.info().qos - ACE_ENV_ARG_PARAMETER); - if (state.suspended) - Inherited::suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h deleted file mode 100644 index 34c38f96400..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_ProxySupplier.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTEC_PROXYSUPPLIER_H -#define TAO_FTEC_PROXYSUPPLIER_H -#include "orbsvcs/Event/EC_Default_ProxySupplier.h" -#include "ace/SString.h" -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_ProxyPushSupplier : public TAO_EC_Default_ProxyPushSupplier -{ - typedef TAO_EC_Default_ProxyPushSupplier Inherited; -public: - typedef RtecEventChannelAdmin::ProxyPushSupplier Interface; - typedef FtRtecEventChannelAdmin::ProxyPushSupplierStat State; - typedef POA_RtecEventChannelAdmin::ProxyPushSupplier_ptr Skeleton; - - TAO_FTEC_ProxyPushSupplier(TAO_EC_Event_Channel_Base* event_channel, - int validate_connection); - /// Activate in the POA - virtual void activate ( - RtecEventChannelAdmin::ProxyPushSupplier_ptr &proxy - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - // = The RtecEventChannelAdmin::ProxyPushSupplier methods... - virtual void connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)); - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void suspend_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void resume_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - const FtRtecEventChannelAdmin::ObjectId& id() const; - - void get_state(FtRtecEventChannelAdmin::ProxyPushSupplierStat& state); - void set_state(const FtRtecEventChannelAdmin::ProxyPushSupplierStat& state - ACE_ENV_ARG_DECL); - - typedef void (FtRtecEventChannelAdmin::EventChannelFacade::*RollbackOperation) - (const FtRtecEventChannelAdmin::ObjectId& ACE_ENV_ARG_DECL); - - static const RollbackOperation rollback_obtain; -private: - FtRtecEventChannelAdmin::ObjectId_var object_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp deleted file mode 100644 index 74a666746cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h" -#include "tao/Stub.h" - -ACE_RCSID (EventChannel, - TAO_FTEC_SupplierAdmin, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const FtRtecEventChannelAdmin::OperationType -TAO_FTEC_SupplierAdmin::OBTAIN_ID = FtRtecEventChannelAdmin::OBTAIN_PUSH_CONSUMER; - -TAO_FTEC_SupplierAdmin::TAO_FTEC_SupplierAdmin (TAO_EC_Event_Channel_Base *ec) - : TAO_EC_SupplierAdmin (ec) - , FT_Aspect(this, this->event_channel_->supplier_poa ()) -{ -} - -TAO_FTEC_SupplierAdmin::~TAO_FTEC_SupplierAdmin() -{ -} - - -RtecEventChannelAdmin::ProxyPushConsumer_ptr -TAO_FTEC_SupplierAdmin::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return obtain_proxy(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_FTEC_SupplierAdmin::disconnect(RtecEventChannelAdmin::ProxyPushConsumer_ptr obj) -{ - ACE_TRY_NEW_ENV { - obj->disconnect_push_consumer(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h deleted file mode 100644 index 814061c0263..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_SupplierAdmin.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTEC_SUPPLIERADMIN_H -#define TAO_FTEC_SUPPLIERADMIN_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h" -#include "orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h" - - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_SupplierAdmin.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Event_Channel_Impl; - -namespace FtRtecEventChannelAdmin { - struct SupplierAdminState; -} -/** - * @class TAO_FTEC_SupplierAdmin - * - * @brief Implement the RtecEventChannelAdmin::SupplierAdmin interface. - * - * - */ -class TAO_FTEC_SupplierAdmin - : public TAO_EC_SupplierAdmin - , public FT_ProxyAdmin -{ -public: - - static const FtRtecEventChannelAdmin::OperationType OBTAIN_ID; - - typedef FT_ProxyAdmin - FT_Aspect; - - typedef ProxyConsumerStateWorker StateWorker; - - /// constructor... - TAO_FTEC_SupplierAdmin (TAO_EC_Event_Channel_Base* event_channel); - - /// destructor... - virtual ~TAO_FTEC_SupplierAdmin (void); - - - // = The RtecEventChannelAdmin::SupplierAdmin methods... - virtual RtecEventChannelAdmin::ProxyPushConsumer_ptr - obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void disconnect(RtecEventChannelAdmin::ProxyPushConsumer_ptr obj); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_FTEC_SUPPLIERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTRTEC_ServiceActivate.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTRTEC_ServiceActivate.h deleted file mode 100644 index 9666d6e5480..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTRTEC_ServiceActivate.h +++ /dev/null @@ -1,11 +0,0 @@ -// $Id$ - -#ifndef FTRTEC_SERVICE_ACTIVATE_H -#define FTRTEC_SERVICE_ACTIVATE_H - -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h" -#include "orbsvcs/FtRtEvent/EventChannel/Identification_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" - -#endif - diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp deleted file mode 100644 index 5fb7d08ad06..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Base.h" -#include "tao/PortableServer/PortableServer.h" - - -ACE_RCSID (EventChannel, - FT_ProxyAdmin_Base, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -FT_ProxyAdmin_Base::FT_ProxyAdmin_Base(PortableServer::ServantBase* servant, - PortableServer::POA_var poa) - : servant_(servant), poa_(poa) -{ -} - -FT_ProxyAdmin_Base::~FT_ProxyAdmin_Base() -{ -} - -void -FT_ProxyAdmin_Base::activate(const FtRtecEventComm::ObjectId& oid - ACE_ENV_ARG_DECL) -{ - poa_->activate_object_with_id( - reinterpret_cast (oid), - servant_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - object_id_ = oid; -} - - -const FtRtecEventComm::ObjectId& -FT_ProxyAdmin_Base::object_id(ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const -{ - return object_id_; -} - - -CORBA::Object_var -FT_ProxyAdmin_Base::reference(ACE_ENV_SINGLE_ARG_DECL) const -{ - return poa_->servant_to_reference(servant_ - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h deleted file mode 100644 index 2c639c0ce6f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h +++ /dev/null @@ -1,53 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ProxyAdmin_Base.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FT_PROXYADMIN_BASE_H -#define FT_PROXYADMIN_BASE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtecEventCommC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/Servant_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class FT_ProxyAdmin_Base -{ -public: - FT_ProxyAdmin_Base(PortableServer::ServantBase* servant, - PortableServer::POA_var poa); - virtual ~FT_ProxyAdmin_Base(); - void activate(const FtRtecEventComm::ObjectId& oid - ACE_ENV_ARG_DECL); - - const FtRtecEventComm::ObjectId& object_id(ACE_ENV_SINGLE_ARG_DECL) const; - - /// Returns an CORBA object reference when the servant is activated - CORBA::Object_var reference(ACE_ENV_SINGLE_ARG_DECL) const; - -protected: - - PortableServer::ServantBase* servant_; - /// Store the default POA. - PortableServer::POA_var poa_; - /// store the object id - FtRtecEventComm::ObjectId object_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp deleted file mode 100644 index 00c658cef95..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp +++ /dev/null @@ -1,145 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "ace/Synch_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -FT_ProxyAdmin::FT_ProxyAdmin( - EC_PROXY_ADMIN* admin, PortableServer::POA_var poa) - : FT_ProxyAdmin_Base(admin, poa), admin_(admin) -{ -} - - -template -void -FT_ProxyAdmin::obtain_proxy ( - const FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL) -{ - Request_Context_Repository().set_object_id(op.object_id - ACE_ENV_ARG_PARAMETER); - - ProxyInterface_var result - = admin_->obtain(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_TRY { - ACE_Read_Guard locker(*svc); - - svc->replicate_request(op, - Proxy::rollback_obtain - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - admin_->disconnect(result.in()); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - -template -typename FT_ProxyAdmin::ProxyInterface_ptr -FT_ProxyAdmin::obtain_proxy (ACE_ENV_SINGLE_ARG_DECL) -{ - CORBA::Any_var any = Request_Context_Repository().get_cached_result(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - CORBA::Object_var obj; - if (any >>= CORBA::Any::to_object(obj)) - return ProxyInterface::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - - FtRtecEventChannelAdmin::ObjectId oid; - Request_Context_Repository().generate_object_id(oid - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - FtRtecEventChannelAdmin::Operation update; - - update.object_id = oid; - update.param._d(EC_PROXY_ADMIN::OBTAIN_ID); - - ProxyInterface_var result - = admin_->obtain(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - ACE_TRY { - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - ACE_Read_Guard locker(*svc); - obj = IOGR_Maker::instance()->forge_iogr(result.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - result = ProxyInterface::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - svc->replicate_request(update, - Proxy::rollback_obtain - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - admin_->disconnect(result.in()); - ACE_RE_THROW; - } - ACE_ENDTRY; - - return result._retn(); -} - - -template -void FT_ProxyAdmin::get_state( - State& state - ACE_ENV_ARG_DECL) -{ - typename EC_PROXY_ADMIN::StateWorker worker(state.proxies); - admin_->for_each(&worker ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -template -void FT_ProxyAdmin::set_state( - const State& state - ACE_ENV_ARG_DECL) -{ - for (size_t i =0; i < state.proxies.length(); ++i) - { - const typename Proxy::State& proxy_state - = state.proxies[i]; - - Request_Context_Repository().set_object_id(proxy_state.object_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ProxyInterface_var - proxy_ior = admin_->obtain(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - typedef typename Proxy::Skeleton Skeleton; - const PortableServer::Servant servant = poa_->id_to_servant( - reinterpret_cast (proxy_state.object_id) - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK; - Skeleton skeleton = dynamic_cast (servant); - ACE_CHECK; - - static_cast (skeleton)->set_state(proxy_state - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h deleted file mode 100644 index 92e2bf0ad6d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h +++ /dev/null @@ -1,58 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FT_ProxyAdmin_T.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FT_PROXYADMIN_H -#define FT_PROXYADMIN_H - -#include "orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h" -#include "../Utils/ScopeGuard.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class FT_ProxyAdmin : public FT_ProxyAdmin_Base -{ -public: - typedef typename ProxyInterface::_ptr_type ProxyInterface_ptr; - typedef typename ProxyInterface::_var_type ProxyInterface_var; - - FT_ProxyAdmin(EC_PROXY_ADMIN* admin, - PortableServer::POA_var poa); - - ProxyInterface_ptr obtain_proxy (ACE_ENV_SINGLE_ARG_DECL); - - /// this is used for updating the state - void obtain_proxy (const FtRtecEventChannelAdmin::Operation& op - ACE_ENV_ARG_DECL); - - void get_state(State& state ACE_ENV_ARG_DECL); - void set_state(const State& state ACE_ENV_ARG_DECL); -private: - EC_PROXY_ADMIN* admin_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("FT_ProxyAdmin_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.cpp deleted file mode 100644 index a7cc3c7a391..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.cpp +++ /dev/null @@ -1,75 +0,0 @@ -// $Id$ - -#include "ace/Reactor.h" -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h" -#include "ace/Select_Reactor.h" - -ACE_RCSID (EventChannel, - Fault_Detector, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -Fault_Detector::ReactorTask::ReactorTask() - : reactor_(new ACE_Select_Reactor, 1) -{ -} - -int -Fault_Detector::ReactorTask::svc (void) -{ - this->reactor_.owner(ACE_OS::thr_self()); - this->reactor_.run_reactor_event_loop(); - return 0; -} - - -Fault_Detector::~Fault_Detector() -{ -} - -const FTRT::Location& Fault_Detector::my_location() const -{ - return location_; -} - -namespace { - Fault_Detector* detector; -} - -Fault_Detector* Fault_Detector::instance() -{ - return detector; -} - -int Fault_Detector::init(int argc, char** argv) -{ - detector = this; - if (this->parse_conf(argc, argv)==0 && - this->init_acceptor() ==0) - { - if (!reactor_task_.thr_count() && - reactor_task_.activate (THR_NEW_LWP | THR_JOINABLE, 1) != 0) - ACE_ERROR_RETURN ((LM_ERROR,"Cannot activate reactor thread\n"), - -1); - return 0; - } - return -1; -} - -void Fault_Detector::stop() -{ - reactor_task_.reactor_.end_reactor_event_loop(); -} - -void Fault_Detector::set_listener(TAO_FTEC_Fault_Listener* listener) -{ - listener_ = listener; -} - -int Fault_Detector::parse_conf(int , char** ) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h deleted file mode 100644 index a10fdf62f8f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h +++ /dev/null @@ -1,64 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Fault_Detector.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FAULT_DETECTOR_H -#define FAULT_DETECTOR_H - -#include "ace/Task.h" -#include "ace/Reactor.h" - -#include "orbsvcs/FTRT_GroupManagerC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Fault_Listener; - -class Fault_Detector -{ -public: - virtual ~Fault_Detector(); - - static Fault_Detector* instance(); - - int init(int argc, ACE_TCHAR** argv); - void stop(); - void set_listener(TAO_FTEC_Fault_Listener*); - const FTRT::Location& my_location() const; - virtual int connect(const FTRT::Location& location)=0; - -private: - virtual int init_acceptor()=0; - virtual int parse_conf(int argc, ACE_TCHAR** argv); - -protected: - - class ReactorTask : public ACE_Task_Base - { - public: - // ctor - ReactorTask(); - virtual int svc (void); - ACE_Reactor reactor_; - }; - - FTRT::Location location_; - ReactorTask reactor_task_; - TAO_FTEC_Fault_Listener* listener_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif //FAULT_DETECTOR_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp deleted file mode 100644 index 56d8c25b846..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp +++ /dev/null @@ -1,90 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h" -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h" -#include "orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h" -#include "ace/SOCK_Acceptor.h" -#include "ace/SOCK_Connector.h" -#include "orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h" - -#include "ace/Acceptor.h" -#include "ace/OS_NS_strings.h" - -ACE_RCSID (EventChannel, - Fault_Detector_Loader, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTRTEC { - typedef Fault_Detector_T< - ACE_Acceptor , ACE_SOCK_ACCEPTOR>, - ACE_SOCK_Connector, ConnectionDetectHandler > - TCP_Fault_Detector; - - Fault_Detector_Loader::Fault_Detector_Loader (void) - { - } - - Fault_Detector_Loader::~Fault_Detector_Loader (void) - { - } - - int - Fault_Detector_Loader::init (int argc, - ACE_TCHAR* argv[]) - { - static int initialized = 0; - - // Only allow initialization once. - if (initialized) - return 0; - - initialized = 1; - - Fault_Detector* detector = 0; - - // Parse any service configurator parameters. - if (argc > 0 && ACE_OS::strcasecmp (argv[0], ACE_TEXT("sctp")) == 0) - { -#if (TAO_HAS_SCIOP == 1) - ACE_AUTO_PTR_RESET(detector_, detector, Fault_Detector); -#else - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) SCTP not enabled. ", - " Enable SCTP and rebuild ACE+TAO \n")); -#endif /* TAO_HAS_SCIOP */ - argc--; argv++; - } - else { - ACE_NEW_RETURN(detector, TCP_Fault_Detector, -1); - ACE_AUTO_PTR_RESET(detector_, detector, Fault_Detector); - } - return detector_->init(argc, argv); - } - - Fault_Detector* - Fault_Detector_Loader::detector() - { - return detector_.get(); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - ///////////////////////////////////////////////////////////////////// - -ACE_FACTORY_NAMESPACE_DEFINE ( - TAO_FTRTEC, - Fault_Detector_Loader, - FTRTEC::Fault_Detector_Loader) - -ACE_STATIC_SVC_DEFINE ( - Fault_Detector_Loader, - ACE_TEXT ("FTRTEC_Fault_Detector"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (Fault_Detector_Loader), - ACE_Service_Type::DELETE_THIS - | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h deleted file mode 100644 index dbe29fe82da..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Fault_Detector_Loader.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FAULT_DETECTOR_LOADER_H -#define FAULT_DETECTOR_LOADER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h" - -#include "tao/orbconf.h" - -#include "ace/Service_Object.h" -#include "ace/Service_Config.h" -#include "ace/Auto_Ptr.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class Fault_Detector; - -namespace FTRTEC { - class TAO_FTRTEC_Export Fault_Detector_Loader : public ACE_Service_Object - { - public: - /// Constructor. - Fault_Detector_Loader (void); - - /// Destructor. - virtual ~Fault_Detector_Loader (void); - - virtual int init (int argc, - ACE_TCHAR* []); - Fault_Detector* detector(); - private: - auto_ptr detector_; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_FTRTEC, Fault_Detector_Loader) -ACE_STATIC_SVC_REQUIRE(Fault_Detector_Loader) -ACE_FACTORY_DECLARE (TAO_FTRTEC, Fault_Detector_Loader) - -#include /**/ "ace/post.h" -#endif //FAULT_DETECTOR_LOADER_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.cpp deleted file mode 100644 index bcf68ca9e98..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.cpp +++ /dev/null @@ -1,65 +0,0 @@ - -// $Id$ - -#include "ace/INET_Addr.h" -#include "ace/os_include/os_netdb.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -Fault_Detector_T::Fault_Detector_T() -{ -} - -template -Fault_Detector_T::~Fault_Detector_T() -{ -} - - -template -int -Fault_Detector_T::init_acceptor() -{ - typename CONNECTOR::PEER_ADDR listen_addr; - if (acceptor_.open(listen_addr, &reactor_task_.reactor_) != 0) - ACE_ERROR_RETURN((LM_ERROR, "Connot open acceptor\n"), -1); - - if (acceptor_.acceptor().get_local_addr(listen_addr) !=0) - ACE_ERROR_RETURN((LM_ERROR, "Connot get local addr\n"), -1); - - ACE_DEBUG((LM_DEBUG, "listening at %s:%d\n", listen_addr.get_host_name(), - listen_addr.get_port_number())); - char* buf = CORBA::string_alloc(MAXHOSTNAMELEN); - listen_addr.addr_to_string(buf, MAXHOSTNAMELEN, 0); - location_.length(1); - location_[0].id = buf; - return 0; -} - -template -int -Fault_Detector_T::connect(const FTRT::Location& location) -{ - if (location.length() == 0) - return -1; - - typename CONNECTOR::PEER_ADDR prev_addr(location[0].id); - - DETECTION_HANDLER* handler; - ACE_NEW_RETURN(handler, DETECTION_HANDLER(listener_), 0) ; - - handler->reactor(&reactor_task_.reactor_); - ACE_DEBUG((LM_DEBUG, "connecting to %s\n", location[0].id.in())); - - int result = connector_.connect(handler->peer(), prev_addr); - - if (result == 0) - handler->open(this); - else - handler->close(); - - return result ; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h deleted file mode 100644 index 45be158a522..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Fault_Detector_T.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FAULT_DETECTOR_T_H -#define FAULT_DETECTOR_T_H - -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class Fault_Detector_T : public Fault_Detector -{ -public: - Fault_Detector_T(); - ~Fault_Detector_T(); - int connect(const FTRT::Location& addr); -protected: - ACCEPTOR acceptor_; - CONNECTOR connector_; -private: - virtual int init_acceptor(); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Fault_Detector_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Listener.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Listener.h deleted file mode 100644 index e66914b0c29..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Listener.h +++ /dev/null @@ -1,33 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Fault_Listener.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTEC_FAULT_LISTENER_H -#define TAO_FTEC_FAULT_LISTENER_H - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Fault_Listener -{ -public: - virtual ~TAO_FTEC_Fault_Listener(){}; - virtual void connection_closed()=0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp deleted file mode 100644 index ee750df8f22..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp +++ /dev/null @@ -1,260 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h" -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" -#include "tao/PortableServer/PortableServer.h" -#include "../Utils/resolve_init.h" -#include "../Utils/Safe_InputCDR.h" -#include "../Utils/Log.h" - -#include "tao/Object_KeyC.h" -#include "tao/ORB_Constants.h" - -#include "orbsvcs/FTRTC.h" - -ACE_RCSID (EventChannel, - ForwardCtrlServerInterceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Object_ptr get_target(PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - CORBA::String_var orb_id = ri->orb_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - int argc =0; - char** argv =0; - CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, orb_id.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - PortableServer::POA_var poa = - resolve_init(orb.in(), "RootPOA" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - PortableInterceptor::AdapterName_var adaptor_name = - ri->adapter_name(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - for (size_t i = 1; i < adaptor_name->length(); ++i) { - poa = poa->find_POA((*adaptor_name)[i] , false - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - } - - CORBA::OctetSeq_var oid = - ri->object_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - CORBA::Object_var obj = - poa->id_to_reference(oid.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - return obj._retn(); -} - -CORBA::Object_ptr get_forward(PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var target = - get_target(ri ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - TAO::ObjectKey_var key = - target->_key(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - CORBA::Object_var iogr = - GroupInfoPublisher::instance()->group_reference(); - - CORBA::Object_var forward = - IOGR_Maker::instance()->ior_replace_key(iogr.in(), key.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - return forward._retn(); -} - - -ForwardCtrlServerInterceptor::ForwardCtrlServerInterceptor() -{ -} - -ForwardCtrlServerInterceptor::~ForwardCtrlServerInterceptor() -{ -} - -char * ForwardCtrlServerInterceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup("ForwardCtrlServerInterceptor"); -} - -void ForwardCtrlServerInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void ForwardCtrlServerInterceptor::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - ACE_TRY { - IOP::ServiceContext_var service_context = - ri->get_request_service_context(IOP::FT_GROUP_VERSION - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY { - // not an FT call , continue to process the request - return; - } - ACE_ENDTRY; - ACE_CHECK; - - GroupInfoPublisherBase* publisher = GroupInfoPublisher::instance(); - if (!publisher->is_primary()) { - // I am not primary, forword the request to primary - CORBA::Object_var forward = get_forward(ri - ACE_ENV_ARG_PARAMETER); - - ACE_THROW (PortableInterceptor::ForwardRequest (forward.in())); - } -} - -void ForwardCtrlServerInterceptor::receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -FT::ObjectGroupRefVersion get_ft_group_version(IOP::ServiceContext_var service_context - ACE_ENV_ARG_DECL) -{ - Safe_InputCDR cdr (reinterpret_cast (service_context->context_data.get_buffer ()), - service_context->context_data.length ()); - - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28, CORBA::COMPLETED_NO), 0); - - cdr.reset_byte_order (static_cast (byte_order)); - - FT::FTGroupVersionServiceContext fgvsc; - - if ((cdr >> fgvsc) == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28, - CORBA::COMPLETED_NO), 0); - - return fgvsc.object_group_ref_version; -} - - - -void ForwardCtrlServerInterceptor::send_reply (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - IOP::ServiceContext_var service_context; - FT::ObjectGroupRefVersion version=0; - - ACE_TRY_EX(block1) - { - if (!ri->response_expected(ACE_ENV_SINGLE_ARG_PARAMETER)) - return; - ACE_TRY_CHECK_EX(block1); - - service_context = - ri->get_request_service_context(IOP::FT_GROUP_VERSION - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - // get the ref version service context - version = - get_ft_group_version(service_context - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - } - ACE_CATCHALL { - // not an FT call , continue to reply the request - return; - } - ACE_ENDTRY; - - // pass a new IOGR if the client use an outdated version - - IOGR_Maker* maker = IOGR_Maker::instance(); - TAO_FTRTEC::Log(3, "Current GROUP Version = %d, received version = %d\n", - maker->get_ref_version(), version); - - if (version < maker->get_ref_version()) { - ACE_DEBUG((LM_DEBUG, "Outdated IOGR version, passing new IOGR\n")); - - ACE_TRY_EX(block2) { - CORBA::Object_var forward = get_forward(ri - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block2); - - IOP::ServiceContext sc; - sc.context_id = FTRT::FT_FORWARD; - TAO_OutputCDR cdr; - - //if (!(cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER))) - //ACE_THROW (CORBA::MARSHAL ()); - - if ((cdr << forward.in() ) == 0 ) - ACE_THROW (CORBA::MARSHAL ()); - - ACE_Message_Block mb; - ACE_CDR::consolidate(&mb, cdr.begin()); -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - sc.context_data.replace(mb.length(), &mb); -#else - // If the replace method is not available, we will need - // to do the copy manually. First, set the octet sequence length. - CORBA::ULong length = mb.length (); - sc.context_data.length (length); - - // Now copy over each byte. - char* base = mb.data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - sc.context_data[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - ri->add_reply_service_context (sc, 0 ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block2); - - ACE_DEBUG((LM_DEBUG, "reply_service_context added\n")); - } - ACE_CATCHALL { - } - ACE_ENDTRY; - } - -} - -void ForwardCtrlServerInterceptor::send_exception (PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void ForwardCtrlServerInterceptor::send_other (PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h deleted file mode 100644 index d53dc682b0e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ForwardCtrlServerInterceptor.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FORWARDCTRLSERVERINTERCEPTOR_H -#define FORWARDCTRLSERVERINTERCEPTOR_H - -#include "tao/PI_Server/PI_Server.h" -#include "tao/PortableInterceptorC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class ForwardCtrlServerInterceptor - : public PortableInterceptor::ServerRequestInterceptor -{ -public: - ForwardCtrlServerInterceptor(); - ~ForwardCtrlServerInterceptor(); - - virtual char * name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_request (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_reply (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_exception (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_other (PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.cpp deleted file mode 100644 index 779396ce1ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.cpp +++ /dev/null @@ -1,340 +0,0 @@ -// $Id$ -#include "ace/OS_NS_string.h" -#include "ace/SString.h" -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "../Utils/Safe_InputCDR.h" -#include "../Utils/Log.h" - -ACE_RCSID (EventChannel, - FtEventServiceInterceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -bool -CachedRequestTable::is_new_request(const ACE_CString& client_id, CORBA::Long retention_id) -{ - TableImpl::ENTRY* entry = 0; - return table_.find(client_id, entry) !=0 || entry->int_id_.retention_id != retention_id; -} - -int -CachedRequestTable::update(const ACE_CString& client_id, - CORBA::Long retention_id, - const CORBA::Any& result) -{ - CachedRequestInfo info; - info.retention_id = retention_id; - TableImpl::ENTRY* entry=0; - if (table_.bind(client_id, info, entry)) - { - entry->int_id_.result = result; - return 0; - } - return -1; -} - - - -CORBA::Any -CachedRequestTable::get_result(const ACE_CString& client_id) -{ - TableImpl::ENTRY* entry = 0; - if (table_.find(client_id, entry)) { - return entry->int_id_.result; - } - return CORBA::Any(); -} - - -void -CachedRequestTable::get_state(FtRtecEventChannelAdmin::CachedOptionResults& state) -{ - state.length(table_.current_size()); - TableImpl::iterator last = table_.end(); - int i = 0; - - for (TableImpl::iterator first = table_.begin(); - first != last; - ++first) - { - TableImpl::ENTRY& entry = *first; - state[i].client_id = ACE_OS::strdup(entry.ext_id_.c_str()); - state[i].cached_result = entry.int_id_; - ++i; - } - -} - -void -CachedRequestTable::set_state(const FtRtecEventChannelAdmin::CachedOptionResults& state) -{ - for (size_t i = 0; i < state.length(); ++i) - { - table_.bind(state[i].client_id.in(), state[i].cached_result); - } -} - -void -retrieve_ft_request_context( - PortableInterceptor::ServerRequestInfo_ptr ri, - IOP::ServiceContext_var& service_context, - FT::FTRequestServiceContext& ft_request_service_context - ACE_ENV_ARG_DECL) -{ - service_context = ri->get_request_service_context(IOP::FT_REQUEST ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const char * buf = - reinterpret_cast (service_context->context_data.get_buffer ()); - - Safe_InputCDR cdr (buf, - service_context->context_data.length ()); - - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_THROW (CORBA::BAD_PARAM ()); - - cdr.reset_byte_order (static_cast (byte_order)); - - - if ((cdr >> ft_request_service_context) == 0) - ACE_THROW (CORBA::BAD_PARAM ()); - -} - -FTRT::TransactionDepth -get_transaction_depth_context( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - IOP::ServiceContext_var service_context; - ACE_TRY { - service_context = ri->get_request_service_context(FTRT::FT_TRANSACTION_DEPTH - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::BAD_PARAM, ex) - { - ACE_DEBUG((LM_DEBUG, "Received request without transaction depth context\n")); - return -1; - } - ACE_ENDTRY; - - const char * buf = - reinterpret_cast (service_context->context_data.get_buffer ()); - Safe_InputCDR cdr (buf, - service_context->context_data.length ()); - - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1); - - cdr.reset_byte_order (static_cast (byte_order)); - - FTRT::TransactionDepth result; - if ((cdr >> result) == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1); - - return result; -} - -FTRT::SequenceNumber -get_sequence_number_context( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - FTRT::SequenceNumber result; - IOP::ServiceContext_var service_context; - service_context = ri->get_request_service_context(FTRT::FT_SEQUENCE_NUMBER - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - const char * buf = - reinterpret_cast (service_context->context_data.get_buffer ()); - Safe_InputCDR cdr (buf, - service_context->context_data.length ()); - - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - cdr.reset_byte_order (static_cast (byte_order)); - - if ((cdr >> result) == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - return result; -} - - -namespace { -FtEventServiceInterceptor* interceptor; -} - -FtEventServiceInterceptor::FtEventServiceInterceptor () -{ - interceptor = this; -} - -FtEventServiceInterceptor::~FtEventServiceInterceptor () -{ -} - -FtEventServiceInterceptor* -FtEventServiceInterceptor::instance() -{ - return interceptor; -} - -char * -FtEventServiceInterceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("FtEventServiceInterceptor"); -} - -void -FtEventServiceInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -FtEventServiceInterceptor::receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - - -void -FtEventServiceInterceptor::receive_request (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - CORBA::String_var operation = ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if (ACE_OS::strcmp(operation.in(), "push") == 0) { - TAO_FTRTEC::Log(3, "Received push command\n"); - return; - } - - ACE_TRY_EX(block1) { - FT::FTRequestServiceContext ft_request_service_context; - IOP::ServiceContext_var service_context; - retrieve_ft_request_context(ri, - service_context, - ft_request_service_context - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - - bool is_new_request = request_table_.is_new_request( - ft_request_service_context.client_id.in(), - ft_request_service_context.retention_id); - - CORBA::Any cached_result; - if (!is_new_request) { - cached_result = - request_table_.get_result(ft_request_service_context.client_id.in()); - } - - Request_Context_Repository().set_cached_result(ri, cached_result - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - Request_Context_Repository().set_ft_request_service_context(ri, service_context - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - - ACE_TRY_EX(block2) { - - FTRT::TransactionDepth transaction_depth = - get_transaction_depth_context(ri - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block2); - - Request_Context_Repository().set_transaction_depth(ri, transaction_depth - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block2); - } - ACE_CATCH (CORBA::BAD_PARAM, ex) { - } - ACE_ENDTRY; - - FTRT::SequenceNumber sequence_no = - get_sequence_number_context(ri ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - - Request_Context_Repository().set_sequence_number(ri, sequence_no - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX(block1); - } - ACE_CATCH (CORBA::BAD_PARAM, ex) { - } - ACE_ENDTRY; -} - -void -FtEventServiceInterceptor::send_reply (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FT::FTRequestServiceContext ft_request_service_context; - IOP::ServiceContext_var service_context; - - ACE_TRY { - retrieve_ft_request_context(ri, - service_context, - ft_request_service_context - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::BAD_PARAM, ex) { - return; - } - ACE_ENDTRY; - - request_table_.update(ft_request_service_context.client_id.in(), - ft_request_service_context.retention_id, - *(ri->result()) ); -} - -void -FtEventServiceInterceptor::send_exception ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -FtEventServiceInterceptor::send_other (PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - - -void -FtEventServiceInterceptor::get_state(FtRtecEventChannelAdmin::CachedOptionResults& state) -{ - request_table_.get_state(state); -} - -void -FtEventServiceInterceptor::set_state(const FtRtecEventChannelAdmin::CachedOptionResults& state) -{ - request_table_.set_state(state); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h deleted file mode 100644 index 09a28a81257..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FtEventServiceInterceptor.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FTEVENTSERVICEINTERCEPTOR_H -#define FTEVENTSERVICEINTERCEPTOR_H -#include "ace/Hash_Map_Manager_T.h" -#include "ace/SString.h" -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" -#include "tao/ORB.h" -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "tao/PI_Server/PI_Server.h" -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Event_Channel_Impl; -typedef FtRtecEventChannelAdmin::CachedResult CachedRequestInfo; - -class CachedRequestTable -{ -public: - bool is_new_request(const ACE_CString& client_id, CORBA::Long retention_id); - int update(const ACE_CString& client_id, - CORBA::Long retention_id, - const CORBA::Any&); - CORBA::Any get_result(const ACE_CString& client_id); - void get_state(FtRtecEventChannelAdmin::CachedOptionResults& state); - void set_state(const FtRtecEventChannelAdmin::CachedOptionResults& state); -private: - typedef ACE_Hash_Map_Manager TableImpl; - TableImpl table_; -}; - - -class FtEventServiceInterceptor : - public PortableInterceptor::ServerRequestInterceptor -{ -public: - FtEventServiceInterceptor(); - ~FtEventServiceInterceptor(); - - static FtEventServiceInterceptor* instance(); - virtual char * name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_request (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_reply (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_exception (PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_other (PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - void get_state(FtRtecEventChannelAdmin::CachedOptionResults& state); - void set_state(const FtRtecEventChannelAdmin::CachedOptionResults& state); -private: - PortableInterceptor::Current_var pic(PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL); - - CORBA::ORB_var orb_; - CachedRequestTable request_table_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp deleted file mode 100644 index 63d7801689e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp +++ /dev/null @@ -1,175 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" -#include "../Utils/resolve_init.h" -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" -#include "orbsvcs/FtRtEvent/EventChannel/Identification_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h" -#include "../Utils/Log.h" - -//#include "../Utils/log_obj_endpoints.h" - -ACE_RCSID (EventChannel, - GroupInfoPublisher, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -GroupInfoPublisherBase::GroupInfoPublisherBase() - : info_(new Info) -{ - info_->primary = false; -} - - - -void -GroupInfoPublisherBase::subscribe(TAO_FTEC_Become_Primary_Listener* listener) -{ - subscribers_.push_back(listener); -} - -void GroupInfoPublisherBase::set_naming_context(CosNaming::NamingContext_var naming_context) -{ - naming_context_ = naming_context; -} - -bool -GroupInfoPublisherBase::is_primary() const -{ - return info_->primary; -} - -CORBA::Object_var -GroupInfoPublisherBase::group_reference() const -{ - return info_->iogr; -} - -FtRtecEventChannelAdmin::EventChannel_var -GroupInfoPublisherBase::successor() const -{ - return info_->successor; -} - - - -const GroupInfoPublisherBase::BackupList& -GroupInfoPublisherBase::backups() const -{ - return info_->backups; -} - - - -GroupInfoPublisherBase::Info* -GroupInfoPublisherBase::setup_info(const FTRT::ManagerInfoList & info_list, - int my_position, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - Info_ptr result(new Info); - - result->primary = (my_position == 0); - - /// create the object group - size_t len = info_list.length(); - - TAO_IOP::TAO_IOR_Manipulation::IORList iors; - iors.length(len); - - size_t i; - for (i = 0; i < len; ++i) { - iors[i] = CORBA::Object::_duplicate(info_list[i].ior.in()); - } - - CORBA::Object_var obj = - IOGR_Maker::instance()->make_iogr(iors,object_group_ref_version - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - result->iogr = - ::FtRtecEventChannelAdmin::EventChannel::_narrow(obj.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - ACE_DEBUG((LM_DEBUG, "In setup_info\n")); - //log_obj_endpoints(result->iogr.in()); - - /// check if sucessor changed - size_t successors_length = info_list.length() - my_position -1; - - if (successors_length /*!= info_->backups.length() */) { - // successor changed, update successor - iors.length(successors_length); - for (i = 0; i < successors_length; ++i) { - iors[i] = CORBA::Object::_duplicate(info_list[i+ my_position+1].ior.in()); - } - - obj = IOGR_Maker::instance()->merge_iors(iors - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - result->successor = - FtRtecEventChannelAdmin::EventChannel::_narrow(obj.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - /* - else { - result->successor = info_->successor; - } - - if (!CORBA::is_nil(result->successor.in())) - { - CORBA::PolicyList_var pols; - result->successor->_validate_connection (pols.out ()); - } - */ - - // update backups - result->backups.length(successors_length); - for (i = 0; i < successors_length; ++i) { - result->backups[i] = - FtRtecEventChannelAdmin::EventChannel::_narrow( - info_list[i+ my_position+1].ior.in() - ACE_ENV_ARG_PARAMETER); - //CORBA::PolicyList_var pols; - //result->backups[i]->_validate_connection (pols.out ()); - ACE_CHECK_RETURN(0); - } - return result.release(); -} - -void -GroupInfoPublisherBase::update_info(GroupInfoPublisherBase::Info_ptr& info) -{ - if (info->primary) { - if (!info_->primary) { - // now we become the primary, notify the subscribers - for (size_t i = 0; i < subscribers_.size(); ++i) - subscribers_[i]->become_primary(); - } - - if (!CORBA::is_nil(naming_context_.in())) { - TAO_FTRTEC::Log(1, "Registering to the Name Service\n"); - ACE_TRY_NEW_ENV { - naming_context_->rebind(FTRTEC::Identification_Service::instance()->name(), - info->iogr.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL { - /// there's nothing we can do if the naming service is down - } - ACE_ENDTRY; - } - } - info_ = info; -} - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton *ACE_Singleton::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h deleted file mode 100644 index 8268bb2dd89..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file GroupInfoPublisher.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef GROUPINFOPUBLISHER_H -#define GROUPINFOPUBLISHER_H - -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "tao/PortableServer/PortableServer.h" -#include "ace/Vector_T.h" -#include "ace/Singleton.h" -#include "ace/Synch.h" -#include "ace/Auto_Ptr.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Become_Primary_Listener; - -class GroupInfoPublisherBase -{ -public: - typedef FtRtecEventChannelAdmin::EventChannelList BackupList; - - struct Info { - bool primary; - CORBA::Object_var iogr; - FtRtecEventChannelAdmin::EventChannel_var successor; - BackupList backups; - }; - - typedef auto_ptr Info_ptr; - friend class ACE_Singleton; - - void subscribe(TAO_FTEC_Become_Primary_Listener* listener); - void set_naming_context(CosNaming::NamingContext_var naming_context); - bool is_primary() const; - CORBA::Object_var group_reference() const; - - FtRtecEventChannelAdmin::EventChannel_var successor() const; - - const BackupList& backups() const; - - Info* setup_info(const FTRT::ManagerInfoList & info_list, - int my_position, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - void update_info(Info_ptr& info); - - const PortableServer::ObjectId& object_id() const; - const CosNaming::Name& name() const; - - void object_id(const char* oid); - void name(const char* nam); - -private: - GroupInfoPublisherBase(); - - CosNaming::NamingContext_var naming_context_; - typedef ACE_Vector Subscribers; - Subscribers subscribers_; - PortableServer::ObjectId object_id_; - CosNaming::Name name_; - Info_ptr info_; -}; - -typedef ACE_Singleton GroupInfoPublisher; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp deleted file mode 100644 index e64501e5e18..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp +++ /dev/null @@ -1,269 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h" -#include "tao/MProfile.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/ORB_Core.h" -#include "tao/Object_KeyC.h" -#include "tao/Tagged_Components.h" -#include "../Utils/resolve_init.h" -#include "../Utils/Safe_InputCDR.h" -#include "orbsvcs/FaultTolerance/FT_IOGR_Property.h" -#include "orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h" - -ACE_RCSID (EventChannel, - IOGR_Maker, - "$Id$") - -static IOGR_Maker* maker; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -IOGR_Maker::IOGR_Maker() -{ -} - -void -IOGR_Maker::init(CORBA::ORB_ptr orb - ACE_ENV_ARG_DECL) -{ - iorm_ = resolve_init(orb, - TAO_OBJID_IORMANIPULATION - ACE_ENV_ARG_PARAMETER); - ft_tag_component_.group_domain_id = "ft_eventchannel"; - ft_tag_component_.object_group_id = 0; - ft_tag_component_.object_group_ref_version = 0; - maker = this; -} - - -IOGR_Maker* -IOGR_Maker::instance() -{ - return maker; -} - -CORBA::Object_ptr -IOGR_Maker::merge_iors(const TAO_IOP::TAO_IOR_Manipulation::IORList& list - ACE_ENV_ARG_DECL) -{ - CORBA::Object_var obj; - if (list.length() != 1) - obj = iorm_->merge_iors(list ACE_ENV_ARG_PARAMETER); - else - obj = CORBA::Object::_duplicate(list[0]); - return obj._retn(); -} - - -CORBA::Object_ptr -IOGR_Maker::make_iogr(const TAO_IOP::TAO_IOR_Manipulation::IORList& list, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) -{ - /// generate a new IOGR if the object group changes. - CORBA::Object_var obj = merge_iors(list ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - FT::TagFTGroupTaggedComponent ft_tag_component(ft_tag_component_); - /// the generated IOGR should use a new object_group_ref_version - ft_tag_component.object_group_ref_version = object_group_ref_version; - set_tag_components(obj.in(), list[0], ft_tag_component - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN(CORBA::Object::_nil()); - return obj._retn(); -} - -void replace_key(char* ior, char* end_ior, - const TAO::ObjectKey& oldkey, - const TAO::ObjectKey& newkey); -/// the definition of replace_key() is moved -/// to replace_key.cpp. - - -CORBA::Object_ptr -IOGR_Maker::forge_iogr(CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) -{ - /// forge an IOGR whose object_key is the same with that of \a obj. - CORBA::Object_var merged; - // make a copy of the object - FtRtecEventChannelAdmin::EventChannel_var successor - = GroupInfoPublisher::instance()->successor(); - if (! CORBA::is_nil(successor.in())) { - TAO::ObjectKey_var newkey = obj->_key(ACE_ENV_SINGLE_ARG_PARAMETER); - - CORBA::Object_var new_base = ior_replace_key(successor.in(), newkey.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil()); - - if (CORBA::is_nil( new_base.in() )) - return CORBA::Object::_nil(); - - TAO_MProfile& base_profiles = new_base->_stubobj ()->base_profiles (); - - TAO_ORB_Core *orb_core = TAO_ORB_Core_instance (); - - TAO_Stub *stub = orb_core->create_stub (CORBA::string_dup(obj->_stubobj ()->type_id.in ()), // give the id string - base_profiles - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Make the stub memory allocation exception safe for the duration - // of this method. - TAO_Stub_Auto_Ptr safe_stub (stub); - - // Create the CORBA level proxy - CORBA::Object_ptr temp_obj = CORBA::Object::_nil (); - ACE_NEW_THROW_EX (temp_obj, - CORBA::Object (safe_stub.get ()), - CORBA::NO_MEMORY ()); - - // Release ownership of the pointers protected by the auto_ptrs since they - // no longer need to be protected by this point. - stub = safe_stub.release (); - - - merged = - iorm_->add_profiles(obj, temp_obj - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - } - else - merged = CORBA::Object::_duplicate(obj); - - set_tag_components(merged.in(), obj, ft_tag_component_ - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN(CORBA::Object::_nil ()); - - return merged._retn(); -} - -CORBA::Object_ptr -IOGR_Maker::ior_replace_key(CORBA::Object_ptr obj, - const TAO::ObjectKey& key - ACE_ENV_ARG_DECL) -{ - TAO_OutputCDR out_cdr; - if (!(out_cdr << obj)) - return CORBA::Object::_nil(); - - ACE_Message_Block mb; - - ACE_CDR::consolidate(&mb, out_cdr.begin()); - - TAO::ObjectKey_var old_key = obj->_key(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(CORBA::Object::_nil ()); - - replace_key(mb.base(), mb.end(), - old_key.in(), key); - - CORBA::Object_var new_obj; - TAO_InputCDR in_cdr(&mb); - if (!(in_cdr >> new_obj)) - return CORBA::Object::_nil(); - return new_obj._retn(); -} - -bool -IOGR_Maker::copy_ft_group_component(CORBA::Object_ptr ior) -{ - // Get the MProfile - TAO_MProfile &mprofile = - ior->_stubobj ()->base_profiles (); - - // Looking for a tagged component with a GROUP flag. - IOP::TaggedComponent tagged_components; - tagged_components.tag = IOP::TAG_FT_GROUP; - - if (mprofile.profile_count () > 0) - { - // Get the Tagged Components - const TAO_Tagged_Components &pfile_tagged = - mprofile.get_profile (0)->tagged_components (); - - if (pfile_tagged.get_component (tagged_components) == 1) - { - - // Grab the object group version - // @@ NOTE: This involves an allocation and a dellocation. This is - // really bad. - Safe_InputCDR cdr ( - reinterpret_cast (tagged_components.component_data.get_buffer ()), - tagged_components.component_data.length ()); - CORBA::Boolean byte_order; - - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return false; - - cdr.reset_byte_order (static_cast (byte_order)); - - return (cdr >> ft_tag_component_) != 0; - } - } - - return false; -} - -void -IOGR_Maker::set_ft_domain_id(const char* domain_id) -{ - ft_tag_component_.group_domain_id = domain_id; -} - -void -IOGR_Maker::set_group_id(CORBA::ULongLong id) -{ - ft_tag_component_.object_group_id = id; -} - -void -IOGR_Maker::set_ref_version(CORBA::ULong version) -{ - ft_tag_component_.object_group_ref_version = version; -} - -CORBA::ULong -IOGR_Maker::increment_ref_version() -{ - ACE_DEBUG((LM_DEBUG, "new object_group_ref_version = %d\n", ft_tag_component_. object_group_ref_version+1)); - return ++ft_tag_component_.object_group_ref_version; -} - -CORBA::ULong -IOGR_Maker::get_ref_version() const -{ - return ft_tag_component_.object_group_ref_version; -} - - -void -IOGR_Maker::set_tag_components( - CORBA::Object_ptr merged, - CORBA::Object_ptr primary, - FT::TagFTGroupTaggedComponent& ft_tag_component - ACE_ENV_ARG_DECL) -{ - // set the primary - TAO_FT_IOGR_Property prop (ft_tag_component); - - - prop.remove_primary_tag(merged - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - iorm_->set_primary (&prop, merged, primary - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - // Set the property - iorm_->set_property (&prop, - merged - ACE_ENV_ARG_PARAMETER); - - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h deleted file mode 100644 index cbc933a61c8..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IOGR_Maker.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef IOGR_MAKER_H -#define IOGR_MAKER_H - -#include "orbsvcs/FT_CORBA_ORBC.h" -#include "tao/IORManipulation/IORManipulation.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class IOGR_Maker -{ -public: - IOGR_Maker(); - - void init(CORBA::ORB_ptr orb - ACE_ENV_ARG_DECL); - - /// instance() will only return a valid object after an - /// instance is explicitly created by client and init() is called. - static IOGR_Maker* instance(); - - /// Create a new object reference by merging the profiles lists in the - /// supplied list of one or more object references. - CORBA::Object_ptr merge_iors(const TAO_IOP::TAO_IOR_Manipulation::IORList& - ACE_ENV_ARG_DECL); - - /// Create a new IOGR (with FT_PRIMARY and FT_GROUP components) by merging - /// the profiles lists in the supplied list of one or more object references. - CORBA::Object_ptr make_iogr(const TAO_IOP::TAO_IOR_Manipulation::IORList&, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - /// Make an new IOGR with obj as primary. - CORBA::Object_ptr forge_iogr(CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - CORBA::Object_ptr ior_replace_key(CORBA::Object_ptr obj, - const TAO::ObjectKey& key - ACE_ENV_ARG_DECL); - - bool copy_ft_group_component(CORBA::Object_ptr obj); - - void set_ft_domain_id(const char*); - void set_group_id(CORBA::ULongLong); - void set_ref_version(CORBA::ULong); - CORBA::ULong increment_ref_version(); - CORBA::ULong get_ref_version() const; - -private: - void set_tag_components(CORBA::Object_ptr merged, - CORBA::Object_ptr primary, - FT::TagFTGroupTaggedComponent& ft_tag_component - ACE_ENV_ARG_DECL); - TAO_IOP::TAO_IOR_Manipulation_var iorm_; - FT::TagFTGroupTaggedComponent ft_tag_component_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp deleted file mode 100644 index 7b356e36f4d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Identification_Service.h" -#include "../Utils/UUID.h" - -ACE_RCSID (EventChannel, - Identification_Service, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTRTEC { - - namespace { - Identification_Service* service; - const char oid[] = "\xF8\xB3\xB1\xFE\xAC\xC6\x07\x11\x02\x0C\x02\x50\xEB\x05\x77\xD0"; - } - - Identification_Service::Identification_Service() - { - } - - Identification_Service::~Identification_Service() - { - } - - - Identification_Service* Identification_Service::instance() - { - return service; - } - - int Identification_Service::init(int argc, ACE_TCHAR* argv[]) - { - if (service != 0) - return 0; - name_.length(1); - name_[0].id = CORBA::string_dup("FT_EventService"); - - while (argc > 1) { - if ( ACE_OS::strcasecmp (argv[0], ACE_TEXT("-Object_ID")) == 0) { - --argc; ++argv; - if (argv[0][0] == '-') continue; - else if (argv[0][0] != '$') { - UUID uuid(argv[0]); - if (!uuid.is_valid()) - ACE_ERROR_RETURN((LM_ERROR, "Invalid Object_ID\n"), -1); - object_id_.length(16); - uuid.to_binary(&object_id_[0]); - } - --argc; ++argv; - } - else if (ACE_OS::strcasecmp (argv[0], ACE_TEXT("-Name")) ==0) { - --argc; ++argv; - if (argv[0][0] == '-') continue; - else if (argv[0][0] != '$') { - name_[0].id = CORBA::string_dup(argv[0]); - } - --argc; ++argv; - } - } - - if (object_id_.length() == 0) { - // assign an default value for object id - object_id_.length(16); - memcpy(&object_id_[0], oid, 16); - } - service = this; - return 0; - } - - - const FtRtecEventComm::ObjectId& Identification_Service::object_id() const - { - return object_id_; - } - - - const CosNaming::Name& Identification_Service::name() const - { - return name_; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_NAMESPACE_DEFINE ( - TAO_FTRTEC, - Identification_Service, - FTRTEC::Identification_Service) - -ACE_STATIC_SVC_DEFINE ( - Identification_Service, - ACE_TEXT ("FTRTEC_Identification"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (Identification_Service), - ACE_Service_Type::DELETE_THIS - | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.h deleted file mode 100644 index a932c92b789..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.h +++ /dev/null @@ -1,57 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Identification_Service.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef IDENTIFICATION_SERVICE_H -#define IDENTIFICATION_SERVICE_H - -#include "ace/Service_Object.h" -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/FTRTC.h" -#include "orbsvcs/FtRtecEventCommC.h" -#include "orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTRTEC -{ - class Identification_Service : public ACE_Service_Object - { - public: - Identification_Service(); - ~Identification_Service(); - - /** - * This function returns 0 when init is not called yet. - */ - static Identification_Service* instance(); - - int init(int argc, ACE_TCHAR* argv[]); - - const FtRtecEventComm::ObjectId& object_id() const; - const CosNaming::Name& name() const; - private: - FtRtecEventComm::ObjectId object_id_; - CosNaming::Name name_; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_FTRTEC, Identification_Service) -ACE_STATIC_SVC_REQUIRE(Identification_Service) -ACE_FACTORY_DECLARE (TAO_FTRTEC, Identification_Service) - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp deleted file mode 100644 index fbb8c4166a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// $Id$ -#include "orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ObjectGroupManagerHandler::ObjectGroupManagerHandler( - ACE_Auto_Event& evt, int num_backups) -: evt_(evt), num_backups_(num_backups) -{ -} - -void -ObjectGroupManagerHandler::start (CORBA::Boolean ami_return_val, - const FTRT::Location & the_location - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_UNUSED_ARG(ami_return_val); - ACE_UNUSED_ARG(the_location); -} - -void -ObjectGroupManagerHandler::start_excep (::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void ObjectGroupManagerHandler::create_group (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - - -void -ObjectGroupManagerHandler::create_group_excep (::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -ObjectGroupManagerHandler::add_member (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (--num_backups_ ==0) - evt_.signal(); -} - -void -ObjectGroupManagerHandler::add_member_excep (::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->add_member(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -ObjectGroupManagerHandler::set_state (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -ObjectGroupManagerHandler::set_state_excep (::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h deleted file mode 100644 index 8a3938a6c65..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ObjectGroupManagerHandler.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef OBJECTGROUPMANAGERHANDLER_H -#define OBJECTGROUPMANAGERHANDLER_H - -#include "orbsvcs/FTRT_GroupManagerS.h" -#include "ace/Auto_Event.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class ObjectGroupManagerHandler - : public POA_FTRT::AMI_ObjectGroupManagerHandler -{ -public: - ObjectGroupManagerHandler(ACE_Auto_Event& evt, int num_backups); - virtual void start (CORBA::Boolean ami_return_val, - const FTRT::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void start_excep (::Messaging::ExceptionHolder * excep_holder - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void create_group (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void create_group_excep (::Messaging::ExceptionHolder * excep_holder - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void add_member (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void add_member_excep (::Messaging::ExceptionHolder * excep_holder - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void set_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void set_state_excep (::Messaging::ExceptionHolder * excep_holder - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -private: - ACE_Auto_Event& evt_; - ACE_Atomic_Op< ACE_SYNCH_MUTEX, int > num_backups_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp deleted file mode 100644 index 8708b6a33d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" - -ACE_RCSID (EventChannel, - ProxyConsumerStateWorker, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ProxyConsumerStateWorker::ProxyConsumerStateWorker ( - FtRtecEventChannelAdmin::ProxyConsumerStates& states) - : consumerStates_(states) -{ -} - -ProxyConsumerStateWorker::~ProxyConsumerStateWorker() -{ -} - -void ProxyConsumerStateWorker::set_size(size_t size) -{ - consumerStates_.length(size); - index_ = 0; -} - -void ProxyConsumerStateWorker::work(TAO_EC_ProxyPushConsumer* object - ACE_ENV_ARG_DECL_NOT_USED) -{ - TAO_FTEC_ProxyPushConsumer* proxy = - static_cast (object); - proxy->get_state(consumerStates_[index_++]); - -TAO_END_VERSIONED_NAMESPACE_DECL} diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h deleted file mode 100644 index 1610cd90ef1..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h +++ /dev/null @@ -1,43 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ProxyConsumerStateWorker.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef PROXYCONSUMERSTATEWORKER_H -#define PROXYCONSUMERSTATEWORKER_H - -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class ProxyConsumerStateWorker - : public TAO_ESF_Worker -{ -public: - ProxyConsumerStateWorker(FtRtecEventChannelAdmin::ProxyConsumerStates& states); - ~ProxyConsumerStateWorker(); - - virtual void set_size(size_t size); - virtual void work(TAO_EC_ProxyPushConsumer* object - ACE_ENV_ARG_DECL); -private: - int index_; - FtRtecEventChannelAdmin::ProxyConsumerStates& consumerStates_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp deleted file mode 100644 index 5618c2d373f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h" -#include "orbsvcs/Event/EC_Event_Channel_Base.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" - -ACE_RCSID (EventChannel, - ProxySupplierStateWorker, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ProxySupplierStateWorker::ProxySupplierStateWorker ( - FtRtecEventChannelAdmin::ProxySupplierStates& states) - : supplierStates_(states) -{ -} - -ProxySupplierStateWorker::~ProxySupplierStateWorker() -{ -} - -void ProxySupplierStateWorker::set_size(size_t size) -{ - supplierStates_.length(size); - index_ = 0; -} - -void ProxySupplierStateWorker::work(TAO_EC_ProxyPushSupplier* object - ACE_ENV_ARG_DECL_NOT_USED) -{ - TAO_FTEC_ProxyPushSupplier* proxy = - static_cast (object); - proxy->get_state(supplierStates_[index_++]); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h deleted file mode 100644 index cf9516d100d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h +++ /dev/null @@ -1,43 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ProxySupplierStateWorker.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef PROXYSUPPLIERSTATEWORKER_H -#define PROXYSUPPLIERSTATEWORKER_H - -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class ProxySupplierStateWorker - : public TAO_ESF_Worker -{ -public: - ProxySupplierStateWorker(FtRtecEventChannelAdmin::ProxySupplierStates& states); - ~ProxySupplierStateWorker(); - - virtual void set_size(size_t size); - virtual void work(TAO_EC_ProxyPushSupplier* object - ACE_ENV_ARG_DECL); -private: - int index_; - FtRtecEventChannelAdmin::ProxySupplierStates& supplierStates_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp deleted file mode 100644 index 753cd359248..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp +++ /dev/null @@ -1,210 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Service.h" -#include "orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h" -#include "orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h" -#include "../Utils/Log.h" - -#include "tao/ORBInitializer_Registry.h" -#include "tao/CDR.h" - -#include "ace/Auto_Ptr.h" -#include "ace/OS_NS_strings.h" - - -ACE_RCSID (EventChannel, - Replication_Service, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTRTEC -{ - namespace { - auto_ptr replication_strategy; - int threads = 1; - Replication_Service* service; - } - - Replication_Service* Replication_Service::instance() - { - return service; - } - - Replication_Service::Replication_Service() - { - service = this; - } - - Replication_Service::~Replication_Service() - { - } - - int Replication_Service::init (int argc, ACE_TCHAR* argv[]) - { - static int initialized = 0; - - // Only allow initialization once. - if (initialized) - return 0; - - initialized = 1; - bool ami = false; - - // Parse any service configurator parameters. - while (argc > 0) { - if (ACE_OS::strcasecmp (argv[0], ACE_TEXT("AMI")) ==0 ) - ami = true; - if (ACE_OS::strcasecmp (argv[0], ACE_TEXT("-threads")) ==0 && argc > 1) { - FTRTEC::threads = ACE_OS::atoi(argv[1]); - if (FTRTEC::threads ==0 ) - FTRTEC::threads = 1; - ++argv; --argc; - } - ++argv; --argc; - } - - Replication_Strategy* strategy; - if (ami) { - ACE_NEW_RETURN (strategy, AMI_Replication_Strategy(threads() > 1), -1); - TAO_FTRTEC::Log(3, "AMI replication strategy\n"); - } - else { - ACE_NEW_RETURN (strategy, Basic_Replication_Strategy(threads() > 1), -1); - TAO_FTRTEC::Log(3, "Basic replication strategy\n"); - } - - ACE_AUTO_PTR_RESET (replication_strategy, strategy, Replication_Strategy); - - ACE_TRY_NEW_ENV - { - PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = - PortableInterceptor::ORBInitializer::_nil (); - PortableInterceptor::ORBInitializer_var orb_initializer; - - /// Register the RTCORBA ORBInitializer. - ACE_NEW_THROW_EX (temp_orb_initializer, - FTEC_ORBInitializer, - CORBA::NO_MEMORY ()); - ACE_TRY_CHECK; - orb_initializer = temp_orb_initializer; - - PortableInterceptor::register_orb_initializer (orb_initializer.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Unexpected exception caught while " - "initializing the TransactionDepth"); - return -1; - } - ACE_ENDTRY; - return 0; - } - - - void Replication_Service::become_primary() - { - TAO_FTRTEC::Log(3, "become_primary\n"); - - Replication_Strategy* strategy = - replication_strategy->make_primary_strategy(); - - ACE_ASSERT(strategy); - - if (replication_strategy.get() != strategy) { - ACE_AUTO_PTR_RESET(replication_strategy, strategy, Replication_Strategy); - } - } - - void Replication_Service::check_validity(ACE_ENV_SINGLE_ARG_DECL) - { - replication_strategy->check_validity(ACE_ENV_SINGLE_ARG_PARAMETER); - } - - - void Replication_Service::replicate_request(const FtRtecEventChannelAdmin::Operation& update, - RollbackOperation rollback - ACE_ENV_ARG_DECL) - { - TAO_OutputCDR cdr; - cdr << update; - - ACE_Message_Block mb; - ACE_CDR::consolidate(&mb, cdr.begin()); -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - FTRT::State state(mb.length(), &mb); -#else - // If the form of the constructor is not available, we will need - // to do the copy manually. First, set the octet sequence length. - FTRT::State state; - CORBA::ULong length = mb.length (); - state.length (length); - - // Now copy over each byte. - char* base = mb.data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - state[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - - replication_strategy->replicate_request( - state, - rollback, - update.object_id - ACE_ENV_ARG_PARAMETER); - } - - void Replication_Service::add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL) - { - replication_strategy->add_member(info, object_group_ref_version ACE_ENV_ARG_PARAMETER); - } - - int Replication_Service::acquire_read (void) - { - int r = replication_strategy->acquire_read(); - TAO_FTRTEC::Log(3, "Read Lock acquired %d\n", r); - return r; - } - - int Replication_Service::acquire_write (void) - { - int r= replication_strategy->acquire_write(); - TAO_FTRTEC::Log(3, "Write Lock acqured %d\n", r); - return r; - } - - int Replication_Service::release (void) - { - int r= replication_strategy->release(); - TAO_FTRTEC::Log(3, "Lock Released %d\n", r); - return r; - } - - int Replication_Service::threads() const { - return FTRTEC::threads; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_NAMESPACE_DEFINE ( - TAO_FTRTEC, - Replication_Service, - FTRTEC::Replication_Service) - -ACE_STATIC_SVC_DEFINE ( - Replication_Service, - ACE_TEXT ("FTRTEC_Replication"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (Replication_Service), - ACE_Service_Type::DELETE_THIS - | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.h deleted file mode 100644 index e1deca2f103..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Replication_Service.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef REPLCATION_SERVICE_H -#define REPLCATION_SERVICE_H - -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h" -#include "tao/PortableInterceptorC.h" -#include "ace/Service_Object.h" -#include "orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTRTEC -{ - class TAO_FTRTEC_Export Replication_Service - : public TAO_FTEC_Become_Primary_Listener - , public ACE_Service_Object - { - public: - static Replication_Service* instance(); - - Replication_Service(); - ~Replication_Service(); - - virtual int init (int argc, - ACE_TCHAR* []); - - virtual void become_primary(); - - /** - * Used for checking if the incoming replication message is out of sequence. - */ - void check_validity(ACE_ENV_SINGLE_ARG_DECL); - - typedef void (FtRtecEventChannelAdmin::EventChannelFacade::*RollbackOperation) - (const FtRtecEventChannelAdmin::ObjectId& ACE_ENV_ARG_DECL); - - /** - * Replicate a request. - * - * @param state The request to be replicated. - * @param rollback The rollback operation when the replication failed. - */ - void replicate_request(const FtRtecEventChannelAdmin::Operation& update, - RollbackOperation rollback - ACE_ENV_ARG_DECL); - - /** - * Inform the backup replicas that a new replica has joined the object - * group. - */ - void add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL); - - int acquire_read (void); - int acquire_write (void); - int release (void); - - int threads() const; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_FTRTEC, Replication_Service) -ACE_STATIC_SVC_REQUIRE(Replication_Service) -ACE_FACTORY_DECLARE (TAO_FTRTEC, Replication_Service) - -#endif //REPLCATION_SERVICE_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.cpp deleted file mode 100644 index f7cc5f524f7..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h" -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h" - -ACE_RCSID (EventChannel, - Replication_Strategy, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -Replication_Strategy::Replication_Strategy() -{ -} - - -Replication_Strategy::~Replication_Strategy() -{ -} - - -void -Replication_Strategy::check_validity(ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ -} - - -Replication_Strategy* -Replication_Strategy::make_primary_strategy() -{ - return this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h deleted file mode 100644 index 8c661ee0ee8..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Replication_Strategy.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef REPLICATION_STRATEGY_H -#define REPLICATION_STRATEGY_H -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "tao/PortableInterceptorC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace FTEC { - struct ManagerInfo; -} - -class TAO_FTEC_Event_Channel_Impl; -class Replication_Strategy -{ -public: - Replication_Strategy(); - virtual ~Replication_Strategy(); - - /** - * Check if the incoming set_update() request is out of sequence. This is only - * used for basic replication strategy. It throws FTRT::OutOfSequence when the - * incoming request is not valid. - */ - virtual void check_validity(ACE_ENV_SINGLE_ARG_DECL); - - typedef void (FtRtecEventChannelAdmin::EventChannelFacade::*RollbackOperation) - (const FtRtecEventChannelAdmin::ObjectId& ACE_ENV_ARG_DECL); - - /** - * Replicate a request. - * - * @param state The request to be replicated. - * @param rollback The rollback operation when the replication failed. - * @param oid The object id used for rollback operation. - */ - virtual void replicate_request(const FTRT::State& state, - RollbackOperation rollback, - const FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL)=0; - - /** - * Inform the backup replicas that a new replica has joined the object - * group. - */ - virtual void add_member(const FTRT::ManagerInfo & info, - CORBA::ULong object_group_ref_version - ACE_ENV_ARG_DECL)=0; - - virtual Replication_Strategy* make_primary_strategy(); - - virtual int acquire_read (void)=0; - virtual int acquire_write (void)=0; - virtual int release (void)=0; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif - diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp deleted file mode 100644 index f04af729152..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp +++ /dev/null @@ -1,316 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" -#include "../Utils/resolve_init.h" -#include "../Utils/UUID.h" - -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/PI/PI.h" -#include "tao/PI_Server/PI_Server.h" -#include "tao/IOP_IORC.h" -#include "ace/TSS_T.h" - -ACE_RCSID (EventChannel, - Request_Context_Repository, - "$Id$") - -namespace { -PortableInterceptor::SlotId object_id_slot; -PortableInterceptor::SlotId cached_result_slot; -PortableInterceptor::SlotId seq_num_slot; -PortableInterceptor::SlotId ft_request_service_context_slot; -PortableInterceptor::SlotId transaction_depth_slot; -CORBA::ORB_ptr orb; -ACE_TSS oid; -} - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -Request_Context_Repository::allocate_slots(PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) -{ - object_id_slot = info->allocate_slot_id(ACE_ENV_SINGLE_ARG_PARAMETER); - cached_result_slot = info->allocate_slot_id(ACE_ENV_SINGLE_ARG_PARAMETER); - seq_num_slot = info->allocate_slot_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ft_request_service_context_slot = info->allocate_slot_id(ACE_ENV_SINGLE_ARG_PARAMETER); - transaction_depth_slot = info->allocate_slot_id(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -Request_Context_Repository::init(CORBA::ORB_ptr the_orb) -{ - orb = the_orb; -} - -void Request_Context_Repository::generate_object_id( - FtRtecEventChannelAdmin::ObjectId& oid - ACE_ENV_ARG_DECL) -{ - oid.length(sizeof(UUID)); - UUID::create(oid.get_buffer()); - set_object_id(oid - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -Request_Context_Repository::set_object_id( - const FtRtecEventChannelAdmin::ObjectId& object_id - ACE_ENV_ARG_DECL_NOT_USED) -{ - /* - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Any a; - a <<= object_id; - pic->set_slot(object_id_slot, a - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK; - */ - *oid = object_id; -} - -FtRtecEventChannelAdmin::ObjectId_var -get_object_id(CORBA::Any_var a - ACE_ENV_ARG_DECL) -{ - FtRtecEventChannelAdmin::ObjectId *object_id, *r; - FtRtecEventChannelAdmin::ObjectId_var result; - - if ((a.in() >>= object_id) ==0) - ACE_THROW_RETURN(CORBA::NO_MEMORY(), result); - - ACE_NEW_THROW_EX(r, - FtRtecEventChannelAdmin::ObjectId(*object_id), - CORBA::NO_MEMORY()); - - result = r; - return result; -} - - -FtRtecEventChannelAdmin::ObjectId_var -Request_Context_Repository::get_object_id(ACE_ENV_SINGLE_ARG_DECL) -{ - /* - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(FtRtecEventChannelAdmin::ObjectId_var()); - - CORBA::Any_var a = pic->get_slot(object_id_slot - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(FtRtecEventChannelAdmin::ObjectId_var()); - - return ::get_object_id(a - ACE_ENV_ARG_PARAMETER); - */ - FtRtecEventChannelAdmin::ObjectId *object_id; - ACE_NEW_THROW_EX(object_id, - FtRtecEventChannelAdmin::ObjectId(*oid), - CORBA::NO_MEMORY()); - return FtRtecEventChannelAdmin::ObjectId_var(*object_id); -} - -FtRtecEventChannelAdmin::ObjectId_var -Request_Context_Repository::get_object_id( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - CORBA::Any_var a = ri->get_slot(object_id_slot - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(FtRtecEventChannelAdmin::ObjectId_var()); - - return ::get_object_id(a - ACE_ENV_ARG_PARAMETER); - -} - -void -Request_Context_Repository::set_cached_result( - PortableInterceptor::ServerRequestInfo_ptr ri, - const CORBA::Any& result - ACE_ENV_ARG_DECL) -{ - ri->set_slot(cached_result_slot, - result ACE_ENV_ARG_PARAMETER); -} - -CORBA::Any_ptr -Request_Context_Repository::get_cached_result(ACE_ENV_SINGLE_ARG_DECL) -{ - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - CORBA::Any_var a = pic->get_slot(cached_result_slot - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - return a._retn(); -} - -bool Request_Context_Repository::is_executed_request() -{ - ACE_TRY_NEW_ENV { - CORBA::Any_var any = get_cached_result(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - CORBA::TypeCode_var type = any->type(); - CORBA::TCKind const kind = type->kind(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - return kind != CORBA::tk_null; - } - ACE_CATCHALL { - } - ACE_ENDTRY; - return false; -} - -void -Request_Context_Repository::set_sequence_number( - PortableInterceptor::ServerRequestInfo_ptr ri, - FTRT::SequenceNumber seq_num - ACE_ENV_ARG_DECL) -{ - CORBA::Any a; - - a <<= seq_num; - - ri->set_slot(seq_num_slot, a ACE_ENV_ARG_PARAMETER); -} - -void -Request_Context_Repository::set_sequence_number( - FTRT::SequenceNumber seq_num - ACE_ENV_ARG_DECL) -{ - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Any a; - - a <<= seq_num; - - pic->set_slot(seq_num_slot, a ACE_ENV_ARG_PARAMETER); -} - - -FTRT::SequenceNumber -Request_Context_Repository::get_sequence_number(ACE_ENV_SINGLE_ARG_DECL) -{ - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - CORBA::Any_var a = pic->get_slot(seq_num_slot ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - FTRT::SequenceNumber result = 0; - a >>= result; - return result; -} - -FTRT::SequenceNumber -Request_Context_Repository::get_sequence_number( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - CORBA::Any_var a = ri->get_slot(seq_num_slot ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - FTRT::SequenceNumber result = 0; - a >>= result; - return result; -} - -void -Request_Context_Repository::set_ft_request_service_context( - PortableInterceptor::ServerRequestInfo_ptr ri, - IOP::ServiceContext_var service_context - ACE_ENV_ARG_DECL) -{ - CORBA::Any a; - a <<= service_context.in(); - ri->set_slot(ft_request_service_context_slot,a - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Any_var -Request_Context_Repository::get_ft_request_service_context( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - return ri->get_slot(ft_request_service_context_slot - ACE_ENV_ARG_PARAMETER); -} - -void -Request_Context_Repository::set_transaction_depth( - PortableInterceptor::ServerRequestInfo_ptr ri, - FTRT::TransactionDepth depth - ACE_ENV_ARG_DECL) -{ - CORBA::Any a; - a <<= depth; - ri->set_slot(transaction_depth_slot,a - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -Request_Context_Repository::set_transaction_depth( - FTRT::TransactionDepth depth - ACE_ENV_ARG_DECL) -{ - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Any a; - a <<= depth; - pic->set_slot(transaction_depth_slot,a - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -FTRT::TransactionDepth -Request_Context_Repository::get_transaction_depth( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) -{ - CORBA::Any_var a = ri->get_slot(transaction_depth_slot - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - FTRT::TransactionDepth result=0; - a >>= result; - return result; - -} - -FTRT::TransactionDepth -Request_Context_Repository::get_transaction_depth( - ACE_ENV_SINGLE_ARG_DECL) -{ - PortableInterceptor::Current_var pic = - resolve_init(orb, "PICurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - CORBA::Any_var a = pic->get_slot(transaction_depth_slot - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - FTRT::TransactionDepth result=0; - a >>= result; - return result; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h deleted file mode 100644 index 542f58937ea..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h +++ /dev/null @@ -1,116 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Request_Context_Repository.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef REQUEST_CONTEXT_REPOSITORY_H -#define REQUEST_CONTEXT_REPOSITORY_H - -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "tao/PortableInterceptorC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FTEC_Event_Channel_Impl; - -namespace PortableInterceptor -{ - class ORBInitInfo; - typedef ORBInitInfo *ORBInitInfo_ptr; - - class ServerRequestInfo; - typedef ServerRequestInfo *ServerRequestInfo_ptr; - - class ClientRequestInfo; - typedef ClientRequestInfo *ClientRequestInfo_ptr; -} - -/** - * @class Request_Context_Repository - * - * @brief This class is used to transfer the information between thread context - * information and the request context in the portable interceptors. It - * encapulates the PICurrent to provide a type safe way for the transfer of - * FTEC specific information inside and outside protable interceptors. - */ -class Request_Context_Repository -{ -public: - - void init(CORBA::ORB_ptr orb); - - /** - * Used by ORBInitializer to allocate required slots for - * FTEC. - */ - void allocate_slots(PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL); - - - void generate_object_id(FtRtecEventChannelAdmin::ObjectId& object_id - ACE_ENV_ARG_DECL); - void set_object_id(const FtRtecEventChannelAdmin::ObjectId& object_id - ACE_ENV_ARG_DECL); - FtRtecEventChannelAdmin::ObjectId_var get_object_id(ACE_ENV_SINGLE_ARG_DECL); - FtRtecEventChannelAdmin::ObjectId_var - get_object_id(PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL); - - void set_cached_result(PortableInterceptor::ServerRequestInfo_ptr ri, - const CORBA::Any& result - ACE_ENV_ARG_DECL); - - CORBA::Any_ptr get_cached_result(ACE_ENV_SINGLE_ARG_DECL); - bool is_executed_request(); - - void set_sequence_number(PortableInterceptor::ServerRequestInfo_ptr ri, - FTRT::SequenceNumber - ACE_ENV_ARG_DECL); - - void set_sequence_number(FTRT::SequenceNumber - ACE_ENV_ARG_DECL); - FTRT::SequenceNumber get_sequence_number(PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL); - - FTRT::SequenceNumber get_sequence_number(ACE_ENV_SINGLE_ARG_DECL); - - void set_ft_request_service_context( - PortableInterceptor::ServerRequestInfo_ptr ri, - IOP::ServiceContext_var service_context - ACE_ENV_ARG_DECL); - - CORBA::Any_var get_ft_request_service_context( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL); - - void set_transaction_depth( - PortableInterceptor::ServerRequestInfo_ptr ri, - FTRT::TransactionDepth depth - ACE_ENV_ARG_DECL); - - void set_transaction_depth( - FTRT::TransactionDepth depth - ACE_ENV_ARG_DECL); - - FTRT::TransactionDepth get_transaction_depth( - ACE_ENV_SINGLE_ARG_DECL); - - FTRT::TransactionDepth get_transaction_depth( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /// REQUEST_CONTEXT_REPOSITORY_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp deleted file mode 100644 index 222d5daa3fb..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp +++ /dev/null @@ -1,96 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h" - -#if (TAO_HAS_SCIOP == 1) - -#include "orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h" - -#include "ace/OS_NS_strings.h" -#include "ace/OS_NS_sys_socket.h" - -ACE_RCSID (EventChannel, - SCTP_Fault_Detector, - "$Id$") - -#ifndef SCTP_HEARTBEAT_ITVL -#define SCTP_HEARTBEAT_ITVL 19 -#endif -#ifndef SOL_SCTP -#define SOL_SCTP 132 -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -SCTP_Connector::SCTP_Connector() -: heart_beat_(0) -{ -} - -int -SCTP_Connector::connect (ACE_SOCK_SEQPACK_Association &new_association, - const ACE_Addr &remote_sap, - const ACE_Time_Value *timeout, - const ACE_Addr &local_sap, - int reuse_addr, - int /* flags */, - int /* perms */, - int protocol) -{ - ACE_TRACE ("SCTP_Connector::connect"); - - if (this->shared_open (new_association, - remote_sap.get_type (), - protocol, - reuse_addr) == -1) - return -1; - else if (this->shared_connect_start (new_association, - timeout, - local_sap) == -1) - return -1; - - if (new_association.set_option(SOL_SCTP, - SCTP_HEARTBEAT_ITVL, - &heart_beat_, - sizeof(heart_beat_)) == -1) - return -1; - - int result = ACE_OS::connect (new_association.get_handle (), - reinterpret_cast (remote_sap.get_addr ()), - remote_sap.get_size ()); - - return this->shared_connect_finish (new_association, - timeout, - result); -} - - -inline void SCTP_Connector::set_heart_beat(int hb) -{ - heart_beat_ = hb; -} - - -SCTP_Fault_Detector::~SCTP_Fault_Detector() -{ -} - - -int SCTP_Fault_Detector::parse_conf(int argc, char** argv) -{ - ACE_TRACE ("SCTP_Fault_Detector::parse_conf"); - - for (int curarg = 0; curarg < argc; curarg++) - if (ACE_OS::strcasecmp (argv[curarg], - ACE_TEXT("-HeartBeat")) == 0) - { - curarg++; - if (curarg < argc) - connector_.set_heart_beat(atoi(argv[curarg])); - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_HAS_SCTP == 1 */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h deleted file mode 100644 index 4e9978afa7f..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SCTP_Fault_Detector.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef SCTP_FAULT_DETECTOR_H -#define SCTP_FAULT_DETECTOR_H - -#include "tao/orbconf.h" - -// make sure that the code compiles cleanly even if SCTP is not -// available. If SCTP is not installed, program will exit early in -// main() with an error message -#if (TAO_HAS_SCIOP == 1) - -#include "ace/Acceptor.h" -#include "ace/Connector.h" -#include "ace/SOCK_SEQPACK_Association.h" -#include "ace/SOCK_SEQPACK_Acceptor.h" -#include "ace/SOCK_SEQPACK_Connector.h" -#include "ace/Multihomed_INET_Addr.h" -#include "orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -extern "C" { -#include -}; - -#ifndef IPPROTO_SCTP -#define IPPROTO_SCTP 132 -#endif // !IPPROTO_SCTP -#ifndef SCTP_NODELAY -#define SCTP_NODELAY 1 -#endif // SCTP_NODELAY - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef ACE_Acceptor, ACE_SOCK_SEQPACK_ACCEPTOR> - SCTP_ConnectionAcceptHandler; -typedef ConnectionDetectHandler SCTP_ConnectionDetectHandler; - -class SCTP_Connector : public ACE_SOCK_SEQPACK_Connector -{ -public: - SCTP_Connector(); - int connect (ACE_SOCK_SEQPACK_Association &new_association, - const ACE_Addr &remote_sap, - const ACE_Time_Value *timeout = 0, - const ACE_Addr &local_sap = ACE_Addr::sap_any, - int reuse_addr = 0, - int flags = 0, - int perms = 0, - int protocol = 132); - void set_heart_beat(int hb); -private: - int heart_beat_; -}; - -class SCTP_Fault_Detector : public Fault_Detector_T< - SCTP_ConnectionAcceptHandler, - SCTP_Connector, - SCTP_ConnectionDetectHandler > -{ -public: - virtual ~SCTP_Fault_Detector(); -private: - virtual int parse_conf(int argc, char** argv); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_SCIOP */ - -#endif /* SCTP_FAULT_DETECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.cpp deleted file mode 100644 index 58e96befd06..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.cpp +++ /dev/null @@ -1,168 +0,0 @@ -// $Id$ - -#include "tao/CDR.h" -#include "orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h" -#include "orbsvcs/FTRTC.h" -#include "orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h" - -ACE_RCSID (EventChannel, - Set_Update_Intercetpor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Set_Update_Interceptor::TAO_Set_Update_Interceptor () -: myname_ ("TAO_Set_Update_Interceptor") -{ -} - -TAO_Set_Update_Interceptor::~TAO_Set_Update_Interceptor (void) -{ -} - -char * -TAO_Set_Update_Interceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup (this->myname_); -} - -void -TAO_Set_Update_Interceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_Set_Update_Interceptor::send_poll ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Do Nothing -} - -void -TAO_Set_Update_Interceptor::send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - CORBA::String_var operation = ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (strcmp(operation.in(), "set_update")==0 || - strcmp(operation.in(), "oneway_set_update") ==0) { - CORBA::Any_var a = Request_Context_Repository().get_ft_request_service_context(ri - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - IOP::ServiceContext* sc; - - if ((a.in() >>= sc) ==0) - return; - - ri->add_request_service_context (*sc, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - FTRT::TransactionDepth transaction_depth = - Request_Context_Repository().get_transaction_depth(ri ACE_ENV_ARG_PARAMETER); - TAO_OutputCDR cdr; - ACE_Message_Block mb; - - if (transaction_depth) { - if (!(cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER))) - ACE_THROW (CORBA::MARSHAL ()); - - // Add Transaction Depth Context - if ((cdr << transaction_depth) == 0) - ACE_THROW (CORBA::MARSHAL ()); - sc->context_id = FTRT::FT_TRANSACTION_DEPTH; - - ACE_CDR::consolidate(&mb, cdr.begin()); -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - sc->context_data.replace(mb.length(), &mb); -#else - // If the replace method is not available, we will need - // to do the copy manually. First, set the octet sequence length. - CORBA::ULong length = mb.length (); - sc->context_data.length (length); - - // Now copy over each byte. - char* base = mb.data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - sc->context_data[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - ri->add_request_service_context (*sc, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - cdr.reset(); - } - - // Add Sequence Number Context - - FTRT::SequenceNumber sequence_number = - Request_Context_Repository().get_sequence_number(ri ACE_ENV_ARG_PARAMETER); - - ACE_DEBUG((LM_DEBUG, "send_request : sequence_number = %d\n", sequence_number)); - if (sequence_number != 0) { - if (!(cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER))) - ACE_THROW (CORBA::MARSHAL ()); - if ((cdr << sequence_number) == 0) - ACE_THROW (CORBA::MARSHAL ()); - sc->context_id = FTRT::FT_SEQUENCE_NUMBER; - - ACE_CDR::consolidate(&mb, cdr.begin()); -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - sc->context_data.replace(mb.length(), &mb); -#else - // If the replace method is not available, we will need - // to do the copy manually. First, set the octet sequence length. - CORBA::ULong length = mb.length (); - sc->context_data.length (length); - - // Now copy over each byte. - char* base = mb.data_block ()->base (); - for(CORBA::ULong i = 0; i < length; i++) - { - sc->context_data[i] = base[i]; - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - ri->add_request_service_context (*sc, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -void -TAO_Set_Update_Interceptor::receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_Set_Update_Interceptor::receive_other ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -TAO_Set_Update_Interceptor::receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h deleted file mode 100644 index c164c238281..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Set_Update_Interceptor.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_SET_UPDATE_INTERCEPTOR_H -#define TAO_SET_UPDATE_INTERCEPTOR_H - -#include "tao/PI/PI.h" -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" -#include "ace/Atomic_Op.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// This is to remove "inherits via dominance" warnings from MSVC. -#if defined (_MSC_VER) -# pragma warning (disable : 4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Set_Update_Interceptor - * - * @brief Interceptors for adding service context to set_update() and - * oneway_set_update() methods. - * - */ -class TAO_Set_Update_Interceptor - : public virtual PortableInterceptor::ClientRequestInterceptor, - public virtual TAO_Local_RefCounted_Object -{ -public: - TAO_Set_Update_Interceptor (); - // ctor. - - virtual ~TAO_Set_Update_Interceptor (); - // dtor. - - virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Canonical name of the interceptor. - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - -private: - const char *myname_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // TAO_SET_UPDATE_INTERCEPTOR_H diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.cpp deleted file mode 100644 index c207baefd16..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/Update_Manager.h" - -ACE_RCSID (EventChannel, - Update_Manager, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -Update_Manager::Update_Manager(ACE_Auto_Event& evt, - int num_backups, - int transaction_depth, - bool& success) - : evt_(evt) - , replied_(num_backups) - , suicide_condition_(num_backups) - , num_backups_(num_backups) - , transaction_level_(transaction_depth) - , success_(success) -{ - suicide_condition_.flip(); - signal_condition_.resize(transaction_depth, true); - signal_condition_.resize(num_backups); -} - -Update_Manager::~Update_Manager() -{ -} - -void Update_Manager::handle_reply(int id) -{ - ACE_Guard guard(mutex_); - replied_[id] = true; - - if ((replied_ & signal_condition_) == signal_condition_) { - success_ = true; - evt_.signal(); - } - if (replied_ == suicide_condition_) - delete this; -} - -void Update_Manager::handle_exception(int id) -{ - ACE_Guard guard(mutex_); - replied_[id] = true; - ++transaction_level_; - - if (num_backups_ > transaction_level_) { - signal_condition_[transaction_level_]=true; - } - else { - success_ = false; - evt_.signal(); - } - if (replied_ == suicide_condition_) - delete this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.h deleted file mode 100644 index caacd63fffe..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.h +++ /dev/null @@ -1,52 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Update_Manager.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef UPDATE_MANAGER_H -#define UPDATE_MANAGER_H - -#include "ace/Synch_T.h" -#include "orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef Dynamic_Bitset bit_vector; - -class Update_Manager -{ -public: - Update_Manager(ACE_Auto_Event& evt, - int num_backups, - int transaction_depth, - bool& success); - ~Update_Manager(); - - void handle_reply(int id); - void handle_exception(int id); - -private: - ACE_Auto_Event& evt_; - bit_vector replied_; - bit_vector signal_condition_; - bit_vector suicide_condition_; - int num_backups_; - int transaction_level_; - bool& success_; - ACE_SYNCH_MUTEX mutex_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.cpp deleted file mode 100644 index fadeb16f0e0..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h" -#include "orbsvcs/FtRtEvent/EventChannel/Update_Manager.h" -#include "orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h" -#include "../Utils/resolve_init.h" - -ACE_RCSID (EventChannel, - UpdateableHandler, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -UpdateableHandler::UpdateableHandler(AMI_Primary_Replication_Strategy* strategy) - : strategy_(strategy) -{ -} - -UpdateableHandler::~UpdateableHandler() -{ -} - -FTRT::AMI_UpdateableHandler_ptr UpdateableHandler::activate( - Update_Manager* mgr, int id, - PortableServer::ObjectId& object_id - ACE_ENV_ARG_DECL) -{ - object_id.length(sizeof(mgr) + sizeof(id)); - memcpy(object_id.get_buffer(), &mgr, sizeof(mgr)); - memcpy(object_id.get_buffer() + sizeof(mgr), &id, sizeof(id)); - strategy_->poa()->activate_object_with_id(object_id, - this - ACE_ENV_ARG_PARAMETER); - CORBA::Object_var object = strategy_->poa()->id_to_reference( - object_id - ACE_ENV_ARG_PARAMETER); - - return FTRT::AMI_UpdateableHandler::_narrow(object.in() ACE_ENV_ARG_PARAMETER); -} - - - -void UpdateableHandler::dispatch(UpdateableHandler::Handler handler ACE_ENV_ARG_DECL) -{ - PortableServer::Current_var current = - resolve_init(strategy_->orb(), - "POACurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::ObjectId_var object_id = - current->get_object_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - Update_Manager* mgr; - int id; - - memcpy(&mgr, object_id->get_buffer(), sizeof(mgr)); - memcpy(&id, object_id->get_buffer()+sizeof(mgr), sizeof(id)); - - ACE_DEBUG((LM_DEBUG, "%d\n", id)); - - (mgr->*handler)(id); - - strategy_->poa()->deactivate_object(object_id.in()); -} - -void UpdateableHandler::set_update ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_DEBUG((LM_DEBUG,"Received reply from ")); - dispatch(&Update_Manager::handle_reply ACE_ENV_ARG_PARAMETER); -} -void UpdateableHandler::set_update_excep ( - ::Messaging::ExceptionHolder * excep_holder - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_DEBUG((LM_DEBUG, "Received Exception from")); - ACE_TRY { - excep_holder->raise_exception(); - ACE_TRY_CHECK; - } - ACE_CATCHANY { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, "A corba exception\n"); - } - ACE_ENDTRY; - - dispatch(&Update_Manager::handle_exception ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h deleted file mode 100644 index 48f621bc1ef..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h +++ /dev/null @@ -1,60 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UpdateableHandler.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef UPDATEABLEHANDLER_H -#define UPDATEABLEHANDLER_H -#include "orbsvcs/FTRTS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class AMI_Primary_Replication_Strategy; -class Update_Manager; - -class UpdateableHandler : public POA_FTRT::AMI_UpdateableHandler -{ -public: - UpdateableHandler(AMI_Primary_Replication_Strategy* strategy); - ~UpdateableHandler(); - - FTRT::AMI_UpdateableHandler_ptr activate( - Update_Manager* mgr, int id, - PortableServer::ObjectId& oid - ACE_ENV_ARG_DECL); - typedef void (Update_Manager::*Handler)(int); - - void dispatch(Handler handler ACE_ENV_ARG_DECL) ; - - virtual void set_update ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - virtual void set_update_excep ( - ::Messaging::ExceptionHolder * excep_holder - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - AMI_Primary_Replication_Strategy* strategy_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.cpp deleted file mode 100644 index fe5cd5dbe41..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ - -#include "orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h" - -ACE_RCSID (EventChannel, - create_persistent_poa, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -PortableServer::POA_var create_persistent_poa(PortableServer::POA_var root_poa, - PortableServer::POAManager_var mgr, - const char* name, - CORBA::PolicyList& policy_list - ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var result; - PortableServer::LifespanPolicy_var lifespan = - root_poa->create_lifespan_policy(PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(result); - - // create a USER_ID IdAssignmentPolicy object - PortableServer::IdAssignmentPolicy_var assign = - root_poa->create_id_assignment_policy(PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(result); - - // create PolicyList. - size_t orig_len = policy_list.length(); - policy_list.length(orig_len+2); - ACE_CHECK_RETURN(result); - policy_list[orig_len+0]= - PortableServer::LifespanPolicy::_duplicate(lifespan.in()); - ACE_CHECK_RETURN(result); - policy_list[orig_len+1]= - PortableServer::IdAssignmentPolicy::_duplicate(assign.in()); - ACE_CHECK_RETURN(result); - - // create the child POA - result = root_poa->create_POA(name, mgr.in(), policy_list - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN(result); - - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h deleted file mode 100644 index cd41683ea61..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h +++ /dev/null @@ -1,30 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file create_persistent_poa.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef CREATE_PERSISTENT_POA_H -#define CREATE_PERSISTENT_POA_H -#include "tao/PortableServer/PortableServer.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -PortableServer::POA_var create_persistent_poa(PortableServer::POA_var root_poa, - PortableServer::POAManager_var mgr, - const char* name, - CORBA::PolicyList& policy_list - ACE_ENV_ARG_DECL); - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h deleted file mode 100644 index 2c404b4a134..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ftrtec_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_FTRTEC -// ------------------------------ -#ifndef TAO_FTRTEC_EXPORT_H -#define TAO_FTRTEC_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FTRTEC_HAS_DLL) -# define TAO_FTRTEC_HAS_DLL 0 -# endif /* ! TAO_FTRTEC_HAS_DLL */ -#else -# if !defined (TAO_FTRTEC_HAS_DLL) -# define TAO_FTRTEC_HAS_DLL 1 -# endif /* ! TAO_FTRTEC_HAS_DLL */ -#endif - -#if defined (TAO_FTRTEC_HAS_DLL) && (TAO_FTRTEC_HAS_DLL == 1) -# if defined (TAO_FTRTEC_BUILD_DLL) -# define TAO_FTRTEC_Export ACE_Proper_Export_Flag -# define TAO_FTRTEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_FTRTEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_FTRTEC_BUILD_DLL */ -# define TAO_FTRTEC_Export ACE_Proper_Import_Flag -# define TAO_FTRTEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_FTRTEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_FTRTEC_BUILD_DLL */ -#else /* TAO_FTRTEC_HAS_DLL == 1 */ -# define TAO_FTRTEC_Export -# define TAO_FTRTEC_SINGLETON_DECLARATION(T) -# define TAO_FTRTEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_FTRTEC_HAS_DLL == 1 */ - -// Set TAO_FTRTEC_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_FTRTEC_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_FTRTEC_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_FTRTEC_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_FTRTEC_NTRACE */ - -#if (TAO_FTRTEC_NTRACE == 1) -# define TAO_FTRTEC_TRACE(X) -#else /* (TAO_FTRTEC_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_FTRTEC_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_FTRTEC_NTRACE == 1) */ - -#endif /* TAO_FTRTEC_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/replace_key.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/replace_key.cpp deleted file mode 100644 index 8b902ac91bc..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/replace_key.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "ace/OS_NS_string.h" -#include "ace/Log_Msg.h" -#include "tao/Object_KeyC.h" -#include - -ACE_RCSID (EventChannel, - replace_key, - "$Id$") - - -/// This function was defined in IOGR_Maker.cpp. It is moved -/// here because the use of header -/// file conflicts with the use of auto_ptr in the -/// VxWorks5.5.1_PPC85XX_DIAB platform. - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void replace_key(char* ior, char* end_ior, - const TAO::ObjectKey& oldkey, - const TAO::ObjectKey& newkey) -{ - size_t keylen = oldkey.length(); - ACE_ASSERT(keylen == newkey.length()); - - char* pos = ior; - const char* oldkey_begin = (const char*)oldkey.get_buffer(); - const char* oldkey_end = oldkey_begin + keylen; - - while ((pos = std::search(pos, end_ior,oldkey_begin, oldkey_end)) != end_ior) { - ACE_OS::memcpy(pos, newkey.get_buffer(), keylen); - pos+= keylen; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp deleted file mode 100644 index afbbaf3d051..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp +++ /dev/null @@ -1,523 +0,0 @@ -#include "orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h" -#include "orbsvcs/FtRtEvent/Utils/activate_with_id.h" -#include "orbsvcs/FtRtEvent/Utils/UUID.h" -#include "orbsvcs/FtRtEvent/Utils/resolve_init.h" -#include "orbsvcs/FtRtecEventCommS.h" -#include "tao/ORB_Core.h" - -ACE_RCSID (Utils, - FTEC_Gateway, - "$Id$") - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRTEC { -class FTEC_Gateway_ConsumerAdmin - : public POA_RtecEventChannelAdmin::ConsumerAdmin -{ -public: - FTEC_Gateway_ConsumerAdmin(FTEC_Gateway_Impl* impl); - ~FTEC_Gateway_ConsumerAdmin(); - // = The RtecEventChannelAdmin::ConsumerAdmin methods... - virtual RtecEventChannelAdmin::ProxyPushSupplier_ptr - obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - FTEC_Gateway_Impl* impl_; -}; - -class FTEC_Gateway_SupplierAdmin - : public POA_RtecEventChannelAdmin::SupplierAdmin -{ -public: - FTEC_Gateway_SupplierAdmin(FTEC_Gateway_Impl* impl); - ~FTEC_Gateway_SupplierAdmin(); - // = The RtecEventChannelAdmin::SupplierAdmin methods... - virtual RtecEventChannelAdmin::ProxyPushConsumer_ptr - obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - FTEC_Gateway_Impl* impl_; -}; - -class FTEC_Gateway_ProxyPushSupplier - : public POA_RtecEventChannelAdmin::ProxyPushSupplier -{ -public: - FTEC_Gateway_ProxyPushSupplier(FTEC_Gateway_Impl* impl); - ~FTEC_Gateway_ProxyPushSupplier(); - // = The RtecEventChannelAdmin::ProxyPushSupplier methods... - virtual void connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)); - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void suspend_connection (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - virtual void resume_connection (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - FTEC_Gateway_Impl* impl_; -}; - -class FTEC_Gateway_ProxyPushConsumer - : public POA_RtecEventChannelAdmin::ProxyPushConsumer -{ -public: - FTEC_Gateway_ProxyPushConsumer(FTEC_Gateway_Impl* impl); - ~FTEC_Gateway_ProxyPushConsumer(); - - virtual void push (const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // = The RtecEventChannelAdmin::ProxyPushConsumer methods... - virtual void connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS& qos - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected)); - virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - - FTEC_Gateway_Impl* impl_; -}; - -class PushConsumerHandler : public POA_FtRtecEventComm::AMI_PushConsumerHandler -{ -public: - PushConsumerHandler(); - ~PushConsumerHandler(); - virtual void push (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void push_excep (::Messaging::ExceptionHolder * excep_holder ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -/** - * This is used for remove the interceptors registered in the ORB. - */ -class Interceptor_Destoryer : public TAO_ORB_Core -{ -public: - inline static void execute(CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) { - static_cast (orb->orb_core())->do_it(ACE_ENV_SINGLE_ARG_PARAMETER); - } -private: - Interceptor_Destoryer(); - inline void do_it(ACE_ENV_SINGLE_ARG_DECL) { - destroy_interceptors(ACE_ENV_SINGLE_ARG_PARAMETER); - }; -}; - -struct FTEC_Gateway_Impl -{ - CORBA::ORB_var orb; - PortableServer::POA_var poa; - FtRtecEventChannelAdmin::EventChannel_var ftec; - RtecEventChannelAdmin::ConsumerAdmin_var consumer_admin; - RtecEventChannelAdmin::SupplierAdmin_var supplier_admin; - FTEC_Gateway_ConsumerAdmin consumer_admin_servant; - FTEC_Gateway_SupplierAdmin supplier_admin_servant; - FTEC_Gateway_ProxyPushSupplier proxy_supplier_servant; - FTEC_Gateway_ProxyPushConsumer proxy_consumer_servant; - PushConsumerHandler push_handler_servant; - FtRtecEventComm::AMI_PushConsumerHandler_var push_handler; - bool local_orb; - FTEC_Gateway_Impl(); -}; - -FTEC_Gateway_Impl::FTEC_Gateway_Impl() -: consumer_admin_servant(this), - supplier_admin_servant(this), - proxy_supplier_servant(this), - proxy_consumer_servant(this) -{ -} - -FTEC_Gateway::FTEC_Gateway(CORBA::ORB_ptr orb, FtRtecEventChannelAdmin::EventChannel_ptr ftec) -: impl_(new FTEC_Gateway_Impl) -{ - impl_->local_orb = CORBA::is_nil(orb); - if (!impl_->local_orb) - impl_->orb = CORBA::ORB::_duplicate(orb); - impl_->ftec = FtRtecEventChannelAdmin::EventChannel::_duplicate(ftec); -} - -FTEC_Gateway::~FTEC_Gateway() -{ - if (impl_->local_orb) - impl_->orb->shutdown(); - delete impl_; -} - -RtecEventChannelAdmin::EventChannel_ptr -FTEC_Gateway::activate(PortableServer::POA_ptr root_poa ACE_ENV_ARG_DECL) -{ - PortableServer::POA_var poa; - PortableServer::POAManager_var mgr; - - if (impl_->local_orb) { - int argc = 0; - char** argv = 0; - impl_->orb = CORBA::ORB_init(argc, argv, "FTEC_GatewayORB" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - Interceptor_Destoryer::execute(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - - poa = resolve_init(impl_->orb.in(), "RootPOA" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - mgr = poa->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - mgr->activate(ACE_ENV_SINGLE_ARG_PARAMETER); - } - else { - poa = PortableServer::POA::_duplicate(root_poa); - mgr = poa->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER); - } - ACE_CHECK_RETURN(0); - - PortableServer::IdUniquenessPolicy_var id_uniqueness_policy = - poa->create_id_uniqueness_policy(PortableServer::MULTIPLE_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - PortableServer::LifespanPolicy_var lifespan = - poa->create_lifespan_policy(PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - // create a USER_ID IdAssignmentPolicy object - PortableServer::IdAssignmentPolicy_var assign = - poa->create_id_assignment_policy(PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - CORBA::PolicyList policy_list; - policy_list.length(3); - - policy_list[0] = PortableServer::IdUniquenessPolicy::_duplicate( - id_uniqueness_policy.in()); - policy_list[1]= - PortableServer::LifespanPolicy::_duplicate(lifespan.in()); - policy_list[2]= - PortableServer::IdAssignmentPolicy::_duplicate(assign.in()); - - impl_->poa = poa->create_POA("gateway_poa", mgr.in(), policy_list - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - id_uniqueness_policy->destroy(); - lifespan->destroy(); - assign->destroy(); - - FtRtecEventComm::ObjectId oid; - oid.length(16); - UUID::create(oid.get_buffer()); - - RtecEventChannelAdmin::EventChannel_var gateway; - - activate_object_with_id(gateway.out(), impl_->poa.in(), this, oid ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - ++oid[9]; - activate_object_with_id(impl_->consumer_admin.out(), - impl_->poa.in(), - &impl_->consumer_admin_servant, - oid ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - ++oid[9]; - activate_object_with_id(impl_->supplier_admin.out(), - impl_->poa.in(), - &impl_->supplier_admin_servant, - oid ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - return gateway._retn(); -} - -//= The RtecEventChannelAdmin::EventChannel methods -RtecEventChannelAdmin::ConsumerAdmin_ptr -FTEC_Gateway::for_consumers (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return RtecEventChannelAdmin::ConsumerAdmin::_duplicate(impl_->consumer_admin.in()); -} - -RtecEventChannelAdmin::SupplierAdmin_ptr -FTEC_Gateway::for_suppliers (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_DEBUG((LM_DEBUG, "FTEC_Gateway::for_suppliers\n")); - return RtecEventChannelAdmin::SupplierAdmin::_duplicate(impl_->supplier_admin.in()); -} - -void FTEC_Gateway::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - impl_->ftec->destroy(); -} - -RtecEventChannelAdmin::Observer_Handle -FTEC_Gateway::append_observer (RtecEventChannelAdmin::Observer_ptr observer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) -{ - return impl_->ftec->append_observer(observer ACE_ENV_ARG_PARAMETER); -} - -void FTEC_Gateway::remove_observer (RtecEventChannelAdmin::Observer_Handle handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) -{ - impl_->ftec->remove_observer(handle ACE_ENV_ARG_PARAMETER); -} - -void FTEC_Gateway::push(RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy_consumer, - const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL) -{ - PortableServer::ObjectId_var object_id = - impl_->poa->reference_to_id(proxy_consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - FtRtecEventComm::ObjectId** result; - memcpy(&result, &object_id[0], sizeof(FtRtecEventComm::ObjectId**)); - - impl_->ftec->push(**result, data ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -/// FTEC_Gateway_ConsumerAdmin - -FTEC_Gateway_ConsumerAdmin::FTEC_Gateway_ConsumerAdmin(FTEC_Gateway_Impl* impl) -: impl_(impl) -{ -} - -FTEC_Gateway_ConsumerAdmin::~FTEC_Gateway_ConsumerAdmin() -{ -} - -RtecEventChannelAdmin::ProxyPushSupplier_ptr -FTEC_Gateway_ConsumerAdmin::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - - FtRtecEventComm::ObjectId** remote_proxy_oid_ptr; - ACE_NEW_THROW_EX(remote_proxy_oid_ptr, FtRtecEventComm::ObjectId*, CORBA::NO_MEMORY()); - - FtRtecEventComm::ObjectId local_oid; - local_oid.length(sizeof(remote_proxy_oid_ptr)); - memcpy(&local_oid[0], &remote_proxy_oid_ptr, sizeof(remote_proxy_oid_ptr)); - - RtecEventChannelAdmin::ProxyPushSupplier_ptr result; - activate_object_with_id(result, impl_->poa.in(), - &impl_->proxy_supplier_servant, - local_oid ACE_ENV_ARG_PARAMETER); - return result; -} - -/// FTEC_Gateway_SupplierAdmin - -FTEC_Gateway_SupplierAdmin::FTEC_Gateway_SupplierAdmin(FTEC_Gateway_Impl* impl) -: impl_(impl) -{ -} - -FTEC_Gateway_SupplierAdmin::~FTEC_Gateway_SupplierAdmin() -{ -} - -// = The RtecEventChannelAdmin::SupplierAdmin methods... -RtecEventChannelAdmin::ProxyPushConsumer_ptr -FTEC_Gateway_SupplierAdmin::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FtRtecEventComm::ObjectId** remote_proxy_oid_ptr; - ACE_NEW_THROW_EX(remote_proxy_oid_ptr, FtRtecEventComm::ObjectId*, CORBA::NO_MEMORY()); - - FtRtecEventComm::ObjectId local_oid; - local_oid.length(sizeof(remote_proxy_oid_ptr)); - memcpy(&local_oid[0], &remote_proxy_oid_ptr, sizeof(remote_proxy_oid_ptr)); - - RtecEventChannelAdmin::ProxyPushConsumer_ptr result; - activate_object_with_id(result, impl_->poa.in(), - &impl_->proxy_consumer_servant, - local_oid ACE_ENV_ARG_PARAMETER); - return result; -} - - -FtRtecEventComm::ObjectId** -get_remote_oid_ptr(CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) -{ - PortableServer::Current_var current = - resolve_init(orb, - "POACurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - PortableServer::ObjectId_var object_id = - current->get_object_id(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - FtRtecEventComm::ObjectId** result; - memcpy(&result, &object_id[0], sizeof(FtRtecEventComm::ObjectId**)); - return result; -} - -/// FTEC_Gateway_ProxyPushSupplier - -FTEC_Gateway_ProxyPushSupplier::FTEC_Gateway_ProxyPushSupplier(FTEC_Gateway_Impl* impl) -: impl_(impl) -{ -} - -FTEC_Gateway_ProxyPushSupplier::~FTEC_Gateway_ProxyPushSupplier() -{ -} - - -// = The RtecEventChannelAdmin::ProxyPushSupplier methods... -void FTEC_Gateway_ProxyPushSupplier::connect_push_consumer ( - RtecEventComm::PushConsumer_ptr push_consumer, - const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected, - RtecEventChannelAdmin::TypeError)) -{ - - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - *oid_ptr = impl_->ftec->connect_push_consumer(push_consumer, qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void FTEC_Gateway_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - impl_->ftec->disconnect_push_supplier(**oid_ptr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - delete *oid_ptr; - delete oid_ptr; -} - -void FTEC_Gateway_ProxyPushSupplier::suspend_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - impl_->ftec->suspend_push_supplier(**oid_ptr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void FTEC_Gateway_ProxyPushSupplier::resume_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - impl_->ftec->resume_push_supplier(**oid_ptr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -/// FTEC_Gateway_ProxyPushConsumer - -FTEC_Gateway_ProxyPushConsumer::FTEC_Gateway_ProxyPushConsumer(FTEC_Gateway_Impl* impl) -: impl_(impl) -{ -} - -FTEC_Gateway_ProxyPushConsumer::~FTEC_Gateway_ProxyPushConsumer() -{ -} - - -// = The RtecEventChannelAdmin::ProxyPushConsumer methods... - -void FTEC_Gateway_ProxyPushConsumer::push (const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - /* - if (CORBA::is_nil(impl_->push_handler.in())) { - impl_->push_handler = impl_->push_handler_servant._this(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - impl_->ftec->sendc_push (impl_->push_handler.in(), - **oid_ptr, - data ACE_ENV_ARG_PARAMETER); - */ - impl_->ftec->push(**oid_ptr, data ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void FTEC_Gateway_ProxyPushConsumer::connect_push_supplier ( - RtecEventComm::PushSupplier_ptr push_supplier, - const RtecEventChannelAdmin::SupplierQOS& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecEventChannelAdmin::AlreadyConnected)) -{ - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - *oid_ptr = impl_->ftec->connect_push_supplier(push_supplier, qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void FTEC_Gateway_ProxyPushConsumer::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - FtRtecEventComm::ObjectId** oid_ptr = get_remote_oid_ptr(impl_->orb.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - impl_->ftec->disconnect_push_consumer(**oid_ptr ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - delete *oid_ptr; - delete oid_ptr; -} - -PushConsumerHandler::PushConsumerHandler() -{ -} - -PushConsumerHandler::~PushConsumerHandler() -{ -} - -void PushConsumerHandler::push (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void PushConsumerHandler::push_excep (::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -} // TAO_FTRTEC - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h deleted file mode 100644 index 3db7660c7ad..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h +++ /dev/null @@ -1,82 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FTEC_Gateway.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FTEC_GATEWAY_H -#define FTEC_GATEWAY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtecEventChannelAdminC.h" -#include "orbsvcs/RtecEventChannelAdminS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRTEC -{ - struct FTEC_Gateway_Impl; - class TAO_FtRtEvent_Export FTEC_Gateway : - public POA_RtecEventChannelAdmin::EventChannel - { - public: - FTEC_Gateway(CORBA::ORB_ptr orb, - FtRtecEventChannelAdmin::EventChannel_ptr ftec); - ~FTEC_Gateway(); - - RtecEventChannelAdmin::EventChannel_ptr activate - (PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - RtecEventChannelAdmin::EventChannel_ptr - _this(ACE_ENV_SINGLE_ARG_DECL); - - //= The RtecEventChannelAdmin::EventChannel methods - virtual RtecEventChannelAdmin::ConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException)); - - virtual RtecEventChannelAdmin::SupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC((CORBA::SystemException)); - - virtual RtecEventChannelAdmin::Observer_Handle - append_observer - (RtecEventChannelAdmin::Observer_ptr observer - ACE_ENV_ARG_DECL) ACE_THROW_SPEC(( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)); - - virtual void remove_observer - (RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) ACE_THROW_SPEC(( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)); - - void push(RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy_consumer, - const RtecEventComm::EventSet & data - ACE_ENV_ARG_DECL); - private: - struct FTEC_Gateway_Impl *impl_; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl deleted file mode 100644 index 4a4869aece4..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl +++ /dev/null @@ -1,16 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRTEC { - ACE_INLINE RtecEventChannelAdmin::EventChannel_ptr - FTEC_Gateway::_this(ACE_ENV_SINGLE_ARG_DECL) - { - PortableServer::POA_var poa = _default_POA(); - return activate(poa.in() ACE_ENV_ARG_PARAMETER); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.cpp deleted file mode 100644 index 6319f696946..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//$Id$ -#include "orbsvcs/FtRtEvent/Utils/Log.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/Log.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRTEC { - -unsigned int Log::log_level_; - -#ifndef NDEBUG - Log::Log (unsigned int log_level, const ACE_TCHAR* format, ...) - { - if (log_level_ >= log_level) { - va_list p; - va_start(p, format); - char str[1024]; - ACE_OS::vsprintf(str, format, p); - ACE_DEBUG((LM_DEBUG, str)); - va_end(p); - } - } -#endif -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.h deleted file mode 100644 index 71b95a8a28e..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.h +++ /dev/null @@ -1,48 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef FTRTEC_LOG_H -#define FTRTEC_LOG_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/FtRtEvent/Utils/ftrtevent_export.h" -#include "tao/Versioned_Namespace.h" -#include "ace/OS.h" -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRTEC { - - /** - * A utility class for logging messages. - */ - class TAO_FtRtEvent_Export Log - { - public: - Log (unsigned int log_level, const ACE_TCHAR* format, ...); - static void level(unsigned int log_level); - static unsigned int level(); - static void hexdump(unsigned int log_level, const char* buf, size_t len, const char* msg); - private: - friend class Trace; - static unsigned log_level_; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/Log.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.inl b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.inl deleted file mode 100644 index 120a88f6557..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Log.inl +++ /dev/null @@ -1,51 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_FTRTEC { -#ifndef NDEBUG - ACE_INLINE - void Log::level(unsigned int log_level) - { - log_level_ = log_level; - } - - ACE_INLINE - unsigned int Log::level() - { - return log_level_; - } - - ACE_INLINE - void Log::hexdump(unsigned int level, const char* buf, size_t len, const char* msg) - { - if (Log::log_level_ >= level) - ACE_HEX_DUMP((LM_DEBUG, buf, len, msg)); - } -#else // NDEBUG - ACE_INLINE - Log::Log (unsigned int, const ACE_TCHAR*, ...) - { - } - - ACE_INLINE - void Log::level(unsigned int ) - { - } - - ACE_INLINE - unsigned int Log::level() - { - return 0; - } - - ACE_INLINE - void Log::hexdump(unsigned int, const char*, size_t, const char*) - { - } -#endif -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.cpp deleted file mode 100644 index 96f0abfbad5..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h" - -ACE_RCSID (Utils, - Safe_InputCDR, - "$Id$") - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl" -#endif /* __ACE_INLINE__ */ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h deleted file mode 100644 index b4aede7f570..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h +++ /dev/null @@ -1,40 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file Safe_InputCDR.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef SAFE_INPUTCDR_H -#define SAFE_INPUTCDR_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtEvent/Utils/ftrtevent_export.h" -#include "tao/CDR.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_FtRtEvent_Export Safe_InputCDR : public TAO_InputCDR -{ -public: - /** - * Create an input stream from an arbitrary buffer. - * - * This contructor will work no matter the buffer is aligned properly - * or not. If the buffer is not properly aligned, it will make a copy - * of the buffer. - */ - Safe_InputCDR(const char* buf, int size); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl deleted file mode 100644 index a4712c153f5..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl +++ /dev/null @@ -1,23 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/OS_Memory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -Safe_InputCDR::Safe_InputCDR(const char* buf, int size) -: TAO_InputCDR((ACE_Message_Block*)0) -{ - if (ACE_ptr_align_binary(buf, ACE_CDR::MAX_ALIGNMENT) != buf) { - ACE_CDR::grow(&start_,size); - this->start_.copy(buf, size); - } - else { - this->start_.init(buf,size); - this->start_.wr_ptr(size); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ScopeGuard.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ScopeGuard.h deleted file mode 100644 index 1b0dc0bc02d..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ScopeGuard.h +++ /dev/null @@ -1,300 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file ScopeGuard.h - * - * $Id$ - * - * @brief This is the code published at - * http://www.cuj.com/documents/s=8000/cujcexp1812alexandr/alexandr.htm - */ -//============================================================================= - -#ifndef SCOPEGUARD_H_ -#define SCOPEGUARD_H_ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class RefHolder -{ - T& ref_; -public: - RefHolder(T& ref) : ref_(ref) {} - operator T& () const - { - return ref_; - } -private: - // Disable assignment - not implemented - RefHolder& operator=(const RefHolder&); -}; - -template -inline RefHolder ByRef(T& t) -{ - return RefHolder(t); -} - -class ScopeGuardImplBase -{ - ScopeGuardImplBase& operator =(const ScopeGuardImplBase&); -protected: - ~ScopeGuardImplBase() - { - } - ScopeGuardImplBase(const ScopeGuardImplBase& other) throw() - : dismissed_(other.dismissed_) - { - other.Dismiss(); - } - template - static void SafeExecute(J& j) throw() - { - if (!j.dismissed_) - try - { - j.Execute(); - } - catch(...) - { - } - } - - mutable bool dismissed_; -public: - ScopeGuardImplBase() throw() : dismissed_(false) - { - } - void Dismiss() const throw() - { - dismissed_ = true; - } -}; - -typedef const ScopeGuardImplBase& ScopeGuard; - -template -class ScopeGuardImpl0 : public ScopeGuardImplBase -{ -public: - static ScopeGuardImpl0 MakeGuard(F fun) - { - return ScopeGuardImpl0(fun); - } - ~ScopeGuardImpl0() throw() - { - SafeExecute(*this); - } - void Execute() - { - fun_(); - } -protected: - ScopeGuardImpl0(F fun) : fun_(fun) - { - } - F fun_; -}; - -template -inline ScopeGuardImpl0 MakeGuard(F fun) -{ - return ScopeGuardImpl0::MakeGuard(fun); -} - -template -class ScopeGuardImpl1 : public ScopeGuardImplBase -{ -public: - static ScopeGuardImpl1 MakeGuard(F fun, P1 p1) - { - return ScopeGuardImpl1(fun, p1); - } - ~ScopeGuardImpl1() throw() - { - SafeExecute(*this); - } - void Execute() - { - fun_(p1_); - } -protected: - ScopeGuardImpl1(F fun, P1 p1) : fun_(fun), p1_(p1) - { - } - F fun_; - const P1 p1_; -}; - -template -inline ScopeGuardImpl1 MakeGuard(F fun, P1 p1) -{ - return ScopeGuardImpl1::MakeGuard(fun, p1); -} - -template -class ScopeGuardImpl2: public ScopeGuardImplBase -{ -public: - static ScopeGuardImpl2 MakeGuard(F fun, P1 p1, P2 p2) - { - return ScopeGuardImpl2(fun, p1, p2); - } - ~ScopeGuardImpl2() throw() - { - SafeExecute(*this); - } - void Execute() - { - fun_(p1_, p2_); - } -protected: - ScopeGuardImpl2(F fun, P1 p1, P2 p2) : fun_(fun), p1_(p1), p2_(p2) - { - } - F fun_; - const P1 p1_; - const P2 p2_; -}; - -template -inline ScopeGuardImpl2 MakeGuard(F fun, P1 p1, P2 p2) -{ - return ScopeGuardImpl2::MakeGuard(fun, p1, p2); -} - -template -class ScopeGuardImpl3 : public ScopeGuardImplBase -{ -public: - static ScopeGuardImpl3 MakeGuard(F fun, P1 p1, P2 p2, P3 p3) - { - return ScopeGuardImpl3(fun, p1, p2, p3); - } - ~ScopeGuardImpl3() throw() - { - SafeExecute(*this); - } - void Execute() - { - fun_(p1_, p2_, p3_); - } -protected: - ScopeGuardImpl3(F fun, P1 p1, P2 p2, P3 p3) : fun_(fun), p1_(p1), p2_(p2), p3_(p3) - { - } - F fun_; - const P1 p1_; - const P2 p2_; - const P3 p3_; -}; - -template -inline ScopeGuardImpl3 MakeGuard(F fun, P1 p1, P2 p2, P3 p3) -{ - return ScopeGuardImpl3::MakeGuard(fun, p1, p2, p3); -} - -//************************************************************ - -template -class ObjScopeGuardImpl0 : public ScopeGuardImplBase -{ -public: - static ObjScopeGuardImpl0 MakeObjGuard(Obj& obj, MemFun memFun) - { - return ObjScopeGuardImpl0(obj, memFun); - } - ~ObjScopeGuardImpl0() throw() - { - SafeExecute(*this); - } - void Execute() - { - (obj_.*memFun_)(); - } -protected: - ObjScopeGuardImpl0(Obj& obj, MemFun memFun) - : obj_(obj), memFun_(memFun) {} - Obj& obj_; - MemFun memFun_; -}; - -template -inline ObjScopeGuardImpl0 MakeObjGuard(Obj& obj, MemFun memFun) -{ - return ObjScopeGuardImpl0::MakeObjGuard(obj, memFun); -} - -template -class ObjScopeGuardImpl1 : public ScopeGuardImplBase -{ -public: - static ObjScopeGuardImpl1 MakeObjGuard(Obj& obj, MemFun memFun, P1 p1) - { - return ObjScopeGuardImpl1(obj, memFun, p1); - } - ~ObjScopeGuardImpl1() throw() - { - SafeExecute(*this); - } - void Execute() - { - (obj_.*memFun_)(p1_); - } -protected: - ObjScopeGuardImpl1(Obj& obj, MemFun memFun, P1 p1) - : obj_(obj), memFun_(memFun), p1_(p1) {} - Obj& obj_; - MemFun memFun_; - const P1 p1_; -}; - -template -inline ObjScopeGuardImpl1 MakeObjGuard(Obj& obj, MemFun memFun, P1 p1) -{ - return ObjScopeGuardImpl1::MakeObjGuard(obj, memFun, p1); -} - -template -class ObjScopeGuardImpl2 : public ScopeGuardImplBase -{ -public: - static ObjScopeGuardImpl2 MakeObjGuard(Obj& obj, MemFun memFun, P1 p1, P2 p2) - { - return ObjScopeGuardImpl2(obj, memFun, p1, p2); - } - ~ObjScopeGuardImpl2() throw() - { - SafeExecute(*this); - } - void Execute() - { - (obj_.*memFun_)(p1_, p2_); - } -protected: - ObjScopeGuardImpl2(Obj& obj, MemFun memFun, P1 p1, P2 p2) - : obj_(obj), memFun_(memFun), p1_(p1), p2_(p2) {} - Obj& obj_; - MemFun memFun_; - const P1 p1_; - const P2 p2_; -}; - -template -inline ObjScopeGuardImpl2 MakeObjGuard(Obj& obj, MemFun memFun, P1 p1, P2 p2) -{ - return ObjScopeGuardImpl2::MakeObjGuard(obj, memFun, p1, p2); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#define CONCATENATE_DIRECT(s1, s2) s1##s2 -#define CONCATENATE(s1, s2) CONCATENATE_DIRECT(s1, s2) -#define ANONYMOUS_VARIABLE(str) CONCATENATE(str, __LINE__) - -#define ON_BLOCK_EXIT ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = MakeGuard -#define ON_BLOCK_EXIT_OBJ ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = MakeObjGuard - -#endif //SCOPEGUARD_H_ diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.cpp deleted file mode 100644 index 6a34e95164b..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.cpp +++ /dev/null @@ -1,167 +0,0 @@ -//$Id$ -#include "orbsvcs/FtRtEvent/Utils/UUID.h" - -ACE_RCSID (Utils, - UUID, - "$Id$") -#if !defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/UUID.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -static union -{ - struct - { - ACE_UINT32 rand1; - ACE_UINT16 rand2; - } rand_node; - ACE_OS::macaddr_node_t mac_address; -} node; - -int -hex_to_byte (char h) -{ - if (h >= '0' && h <= '9') return h - '0'; - if (h >= 'A' && h <= 'F') return h - 'A' + 10; - if (h >= 'a' && h <= 'f') return h - 'a' + 10; - return -1; -} - -int -hexbyte_to_byte (const char *hexbyte) -{ - int hi = hex_to_byte(*hexbyte); - if (hi == -1) return -1; - ++hexbyte; - - int low = hex_to_byte(*hexbyte); - if (low == -1) return -1; - return (hi << 4) | low; -} - -static const int counts[] = { 4, 2, 2, 2, 6 }; -static const char *seperators = "----"; - -/** - * construct an UUID from the string representation - */ -UUID::UUID (const char *string_rep) -{ - if (this->from_string(string_rep) == false) - rep_.timestamp.hi = 0; -} - -bool -UUID::from_string (const char *string_rep) -{ - int offset = 0; - - for (int i = 0; i < 5; ++i) - { - for (int j = 0; j < counts[i]; ++j) - { - int r = hexbyte_to_byte(string_rep); - if (r == -1) - { - return false; - } - - rep_.uuid[offset++] = static_cast (r); - string_rep += 2; - } - - if (*string_rep++ != seperators[i]) - { - return false; - } - } - - return true; -} - -static const char *table = "0123456789abcdef"; - -inline char * -bytes_to_hex (const unsigned char *bytes, - char *dest, - int len) -{ - for (int i = 0; i < len; ++i) - { - *dest++ = table[bytes[i] >> 4]; - *dest++ = table[bytes[i] & 0x0f]; - } - - return dest; -} - -/** - * convert to a string representation - */ -void -UUID::to_string (char *string_rep) const -{ - for (int i = 0; i < 5; ++i) - { - string_rep = bytes_to_hex(rep_.uuid, - string_rep, - counts[i]); - *string_rep++ = seperators[i]; - } -} - -void -UUID::create (unsigned char *buffer) -{ - static ACE_RANDR_TYPE seed; - - if (seed == 0) seed = ACE_OS::getpid(); - - // test if node is properly initialized - if (node.rand_node.rand1 == 0) - { - // initialize the node - if (ACE_OS::getmacaddress(&node.mac_address) == -1) - { - node.rand_node.rand1 = ACE_OS::rand_r(seed); - node.rand_node.rand2 = (unsigned short) ACE_OS::rand_r(seed); - } - } - - // Days in years - static ACE_UINT64 SecondsToJan1970 = - (static_cast (365)*(1970-1583) // Days in years - + (1970-1583)/4 // Leap days - - 3 // Allow for 1700, 1800, 1900 not leap years - + 31 // Days in December 1583 - + 30 // Days in November 1583 - + 16)*60*60*24; // Days from 15th October - - - ACE_Time_Value now = ACE_OS::gettimeofday(); - ACE_UINT64 timestamp = (SecondsToJan1970 + now.sec()) * 10000000 + now.usec() * 10; - - buffer[0] = (unsigned char) (timestamp & 0xff); - buffer[1] = (unsigned char) ((timestamp >> 8) & 0xff); - buffer[2] = (unsigned char) ((timestamp >> 16) & 0xff); - buffer[3] = (unsigned char) ((timestamp >> 24) & 0xff); - buffer[4] = (unsigned char) ((timestamp >> 32) & 0xff); - buffer[5] = (unsigned char) ((timestamp >> 40) & 0xff); - - // multiplex timestamp with thread id to ensure the uniqueness between thread - buffer[6] = (unsigned char) ((timestamp >> 48) & 0xff); - // Version number is 1 - buffer[7] = (unsigned char) (((timestamp >> 56) & 0x0f) + 0x10); - - ACE_UINT16 clockSequence = static_cast< - ACE_UINT16> (ACE_OS::rand_r(seed) & 0x2ff); - - buffer[8] = (unsigned char) ((clockSequence >> 8) & 0x1f); - buffer[9] = (unsigned char) (clockSequence & 0x1f); - - memcpy(buffer + 10, &node, 6); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.h deleted file mode 100644 index 19b81c44354..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.h +++ /dev/null @@ -1,123 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file UUID.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef UUID_H -#define UUID_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/FtRtEvent/Utils/ftrtevent_export.h" -#include "tao/Versioned_Namespace.h" -#include "ace/OS.h" -#include "ace/SString.h" - -#if defined(TAO_EXPORT_MACRO) -#undef TAO_EXPORT_MACRO -#endif -#define TAO_EXPORT_MACRO FtRtEvent_Export - -#if defined(TAO_EXPORT_NESTED_CLASSES) -#if defined(TAO_EXPORT_NESTED_MACRO) -#undef TAO_EXPORT_NESTED_MACRO -#endif /* defined (TAO_EXPORT_NESTED_MACRO) */ -#define TAO_EXPORT_NESTED_MACRO FtRtEvent_Export -#endif /* TAO_EXPORT_NESTED_CLASSES */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * This is an implementation of Global Unique Identifier - * which follows the document draft-leach-uuids-guids-01.txt. The - * class layout is compatible with the binary representation of - * UUID specified by that document. The default constructor - * is used to create an new global unique id, not a NULL UUID. - * This class does not use dynamic memory allocation and does - * not throw any exception except to_string(ACE_CString&). - */ -class TAO_FtRtEvent_Export UUID -{ - public: - enum - { - BINRARY_LENGTH= 16, - - // the required length for the string representation including the termination '\0' - STRING_LENGTH = 37 - }; - - /* Construct an Global Unique Identifier. */ - UUID(void); - - /* This is used to create an uninitialized UUID. */ - UUID(int); - - /* - * Construct an UUID from the binary represetation. If you want to avoid a memory - * copy operation for this constructor. You can safely reinterpret_cast the 16 - * bytes buffer into the UUID object and use all the member functions provided in - * this class except is_valid() which is only useful if a UUID object is - * constructed from the string representation. - */ - UUID(const unsigned char *buffer); - - /* - * Construct an UUID from the string representation. Use is_valid() to test if the - * construction is successful or not. - */ - UUID(const char *); - - /* Construct an uuid from the string representation. */ - bool from_string(const char *string_rep); - - bool operator==(const UUID &other) const; - bool operator!=(const UUID &other) const; - - /* - * Test if the UUID is valid. Used after constructing an UUID from an string - * representation. This is done by testing whether the time_hi and time_mid fields - * of the timestamp are 0. By current time, those two field shouldn't be 0 at all. - */ - bool is_valid(void) const; - - /* - * convert to a string representation the buffer size provided must be at least - * STRING_LENGTH - */ - void to_string(char *string_rep) const; - - void to_string(ACE_CString &string) const; - - /* - * convert to a string representation the buffer size provided must be at least - * BINRARY_LENGTH - */ - void to_binary(unsigned char *binary_rep) const; - - /* create an UUID in the specified buffer */ - static void create(unsigned char *buffer); - private: - union - { - struct - { - ACE_UINT32 low; - ACE_UINT32 hi; - } timestamp; - unsigned char uuid[BINRARY_LENGTH]; - } rep_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/FtRtEvent/Utils/UUID.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.inl b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.inl deleted file mode 100644 index e1238a12ff1..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.inl +++ /dev/null @@ -1,58 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -UUID::UUID() -{ - create(rep_.uuid); -} - -ACE_INLINE -UUID::UUID(int) -{ -} - -/// construct an UUID from the binary represetation -ACE_INLINE -UUID::UUID(const unsigned char* id) -{ - memcpy(rep_.uuid, id, 16); -} - -ACE_INLINE -bool UUID::operator == (const UUID& other) const -{ - return memcmp(this->rep_.uuid, other.rep_.uuid, BINRARY_LENGTH) == 0; -} - -ACE_INLINE -bool UUID::operator != (const UUID& other) const -{ - return !(*this == other); -} - - -ACE_INLINE -bool UUID::is_valid() const -{ - return !this->rep_.timestamp.hi; -} - - -ACE_INLINE -void UUID::to_binary(unsigned char* binary_rep) const -{ - memcpy(binary_rep, rep_.uuid, 16); -} - -ACE_INLINE -void UUID::to_string(ACE_CString& string) const -{ - string.resize(STRING_LENGTH-1); - this->to_string(&string[0]); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/activate_with_id.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/activate_with_id.h deleted file mode 100644 index 9913cc8c8c9..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/activate_with_id.h +++ /dev/null @@ -1,43 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file activate_with_id.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef ACTIVATE_WITH_ID_H -#define ACTIVATE_WITH_ID_H - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -void -activate_object_with_id (T * &result, - PortableServer::POA_ptr poa, - PortableServer::ServantBase *servant, - const FtRtecEventComm::ObjectId &oid - ACE_ENV_ARG_DECL) -{ - const PortableServer::ObjectId& id = - reinterpret_cast (oid); - poa->activate_object_with_id(id, - servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Object_var object = - poa->id_to_reference(id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - result = T::_narrow(object.in() ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ftrtevent_export.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ftrtevent_export.h deleted file mode 100644 index f3133e01cbe..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/ftrtevent_export.h +++ /dev/null @@ -1,73 +0,0 @@ - - // -*- C++ -*- - -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_FtRtEvent -// ------------------------------ -#ifndef TAO_FTRTEVENT_EXPORT_H -#define TAO_FTRTEVENT_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_FTRTEVENT_HAS_DLL) -# define TAO_FTRTEVENT_HAS_DLL 0 -# endif /* ! TAO_FTRTEVENT_HAS_DLL */ -#else -# if !defined (TAO_FTRTEVENT_HAS_DLL) -# define TAO_FTRTEVENT_HAS_DLL 1 -# endif /* ! TAO_FTRTEVENT_HAS_DLL */ -#endif - -#if defined(TAO_FTRTEVENT_HAS_DLL) \ -&& (TAO_FTRTEVENT_HAS_DLL == 1) -#if defined(TAO_FTRTEVENT_BUILD_DLL) -#define TAO_FtRtEvent_Export \ - ACE_Proper_Export_Flag -#define TAO_FTRTEVENT_SINGLETON_DECLARATION (T) ACE_EXPORT_SINGLETON_DECLARATION(T) -#define TAO_FTRTEVENT_SINGLETON_DECLARE (SINGLETON_TYPE, \ - CLASS, \ - LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, \ - CLASS, \ - LOCK) -#else /* TAO_FTRTEVENT_BUILD_DLL */ -#define TAO_FtRtEvent_Export \ - ACE_Proper_Import_Flag -#define TAO_FTRTEVENT_SINGLETON_DECLARATION (T) ACE_IMPORT_SINGLETON_DECLARATION(T) -#define TAO_FTRTEVENT_SINGLETON_DECLARE (SINGLETON_TYPE, \ - CLASS, \ - LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, \ - CLASS, \ - LOCK) -#endif /* TAO_FTRTEVENT_BUILD_DLL */ -#else /* TAO_FTRTEVENT_HAS_DLL == 1 */ -#define TAO_FtRtEvent_Export -#define TAO_FTRTEVENT_SINGLETON_DECLARATION(T) -#define TAO_FTRTEVENT_SINGLETON_DECLARE (SINGLETON_TYPE, \ - CLASS, \ - LOCK) -#endif /* TAO_FTRTEVENT_HAS_DLL == 1 */ - -// Set TAO_FTRTEVENT_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined(TAO_FTRTEVENT_NTRACE) -#if (ACE_NTRACE == 1) -#define TAO_FTRTEVENT_NTRACE 1 -#else /* (ACE_NTRACE == 1) */ -#define TAO_FTRTEVENT_NTRACE 0 -#endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_FTRTEVENT_NTRACE */ - -#if (TAO_FTRTEVENT_NTRACE == 1) -#define TAO_FTRTEVENT_TRACE(X) -#else /* (TAO_FTRTEVENT_NTRACE == 1) */ -#if !defined(ACE_HAS_TRACE) -#define ACE_HAS_TRACE -#endif /* ACE_HAS_TRACE */ -#define TAO_FTRTEVENT_TRACE(X) ACE_TRACE_IMPL(X) -#include "ace/Trace.h" -#endif /* (TAO_FTRTEVENT_NTRACE == 1) */ -#endif /* TAO_FTRTEVENT_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/resolve_init.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/resolve_init.h deleted file mode 100644 index c489912d527..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/resolve_init.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file resolve_init.h - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= -#ifndef RESOVLE_INIT_H -#define RESOVLE_INIT_H - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -typename T::_ptr_type -resolve_init (CORBA::ORB_ptr orb, - const char *id ACE_ENV_ARG_DECL_WITH_DEFAULTS) -{ - typename T::_var_type ref; - CORBA::Object_var obj; - ACE_TRY - { - CORBA::Object_var obj; - obj = orb->resolve_initial_references(id ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ref = T::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - } - - ACE_CATCHANY - { - ACE_ERROR(( - LM_ERROR, - " (%P|%t) Unable to initialize %s.\n", - id - )); - if (!CORBA::is_nil(obj.in())) - ACE_ERROR(( - LM_ERROR, - " due to narrowing problem\n" - )); - ACE_RE_THROW; - } - - ACE_ENDTRY; - return ref._retn(); -} - -#ifdef TAO_Naming_Export -template -typename T::_ptr_type -resolve (CosNaming::NamingContext_ptr context, - const CosNaming::Name &id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) -{ - CORBA::Object_var obj; - obj = context->resolve(id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(T::_nil()); - - ACE_ASSERT(!CORBA::is_nil(obj.in())); - - typename T::_var_type ref = T::_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - return ref._retn(); -} -#endif - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/FtRtecEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/FtRtecEventChannelAdmin.idl deleted file mode 100644 index 866640ef114..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtecEventChannelAdmin.idl +++ /dev/null @@ -1,194 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file FtRtecEventChannelAdmin.idl - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef TAO_FTRTEC_EVENTCHANNELADMIN_IDL -#define TAO_FTRTEC_EVENTCHANNELADMIN_IDL - -#include "orbsvcs/RtecEventChannelAdmin.idl" -#include "FTRT.idl" -#include "FTRT_GroupManager.idl" -#include "FtRtecEventComm.idl" - -module FtRtecEventChannelAdmin -{ - typedef FtRtecEventComm::ObjectId ObjectId; - - struct ProxyPushConsumerConnectionInfo - { - RtecEventComm::PushSupplier push_supplier; - RtecEventChannelAdmin::SupplierQOS qos; - }; - - union ProxyPushConsumerConnectionParamter switch (boolean) - { - case FALSE: - case TRUE: - ProxyPushConsumerConnectionInfo info; - }; - - struct ProxyPushConsumerStat - { - ObjectId object_id; - ProxyPushConsumerConnectionParamter parameter; - }; - - - struct ProxyPushSupplierConnectionInfo - { - RtecEventComm::PushConsumer push_consumer; - RtecEventChannelAdmin::ConsumerQOS qos; - }; - - union ProxyPushSupplierConnectionParamter switch (boolean) - { - case FALSE: - case TRUE: - ProxyPushSupplierConnectionInfo info; - }; - - struct ProxyPushSupplierStat - { - ObjectId object_id; - boolean suspended; - ProxyPushSupplierConnectionParamter parameter; - }; - - typedef sequence ProxyConsumerStates; - typedef sequence ProxySupplierStates; - - struct ConsumerAdminState - { - ProxySupplierStates proxies; - }; - - struct SupplierAdminState - { - ProxyConsumerStates proxies; - }; - - struct CachedResult - { - long retention_id; - any result; - }; - - - struct CacheEntry - { - string client_id; - CachedResult cached_result; - }; - - typedef sequence CachedOptionResults; - - struct EventChannelState - { - CachedOptionResults cached_operation_results; - SupplierAdminState supplier_admin_state; - ConsumerAdminState consumer_admin_state; - }; - - struct Connect_push_consumer_param - { - RtecEventComm::PushConsumer push_consumer; - RtecEventChannelAdmin::ConsumerQOS qos; - }; - - struct Connect_push_supplier_param - { - RtecEventComm::PushSupplier push_supplier; - RtecEventChannelAdmin::SupplierQOS qos; - }; - - enum OperationType { - OBTAIN_PUSH_SUPPLIER, - OBTAIN_PUSH_CONSUMER, - DISCONNECT_PUSH_SUPPLIER, - DISCONNECT_PUSH_CONSUMER, - SUSPEND_CONNECTION, - RESUME_CONNECTION, - CONNECT_PUSH_SUPPLIER, - CONNECT_PUSH_CONSUMER - }; - - union OperationParam switch(OperationType) { - case CONNECT_PUSH_SUPPLIER: - Connect_push_supplier_param connect_supplier_param; - case CONNECT_PUSH_CONSUMER: - Connect_push_consumer_param connect_consumer_param; - }; - - - struct Operation { - ObjectId object_id; - OperationParam param; - }; - - interface EventChannelFacade : FtRtecEventComm::PushConsumer { - /** - * Directly connect to push consumer. This method is - * equivalent to the effect of executing the following - * 3 methods. - * - * consumer_admin = ec->for_consumers(); - * proxy_supplier = consumer_admin->obtain_push_supplier(); - * proxy_supplier->connect_push_consumer(push_consumer, - * qos); - * - * @returns the ObjectId of proxy_push_supplier - */ - ObjectId connect_push_consumer( - in RtecEventComm::PushConsumer push_consumer, - in RtecEventChannelAdmin::ConsumerQOS qos) - raises(RtecEventChannelAdmin::TypeError); - - /** - * Directly connect to push supplier. This method is - * equivalent to the effect of executing the following - * 3 methods. - * - * supplier_admin = ec->for_suppliers(); - * push_consumer = supplier_admin->obtain_push_supplier(); - * push_consumer->connect_push_consumer(proxy_supplier, - * qos); - * - * @returns the ObjectId of proxy_push_consumer - */ - ObjectId connect_push_supplier( - in RtecEventComm::PushSupplier push_supplier, - in RtecEventChannelAdmin::SupplierQOS qos); - - void disconnect_push_supplier(in ObjectId oid) - raises(FtRtecEventComm::InvalidObjectID); - void disconnect_push_consumer(in ObjectId oid) - raises(FtRtecEventComm::InvalidObjectID); - void suspend_push_supplier(in ObjectId oid) - raises(FtRtecEventComm::InvalidObjectID); - void resume_push_supplier(in ObjectId oid) - raises(FtRtecEventComm::InvalidObjectID); - }; - - exception InvalidState{}; - - interface EventChannel : RtecEventChannelAdmin::EventChannel - , EventChannelFacade - , FTRT::Updateable - , FTRT::ObjectGroupManager - { - }; - - typedef sequence EventChannelList; - -}; - -#endif - diff --git a/TAO/orbsvcs/orbsvcs/FtRtecEventComm.idl b/TAO/orbsvcs/orbsvcs/FtRtecEventComm.idl deleted file mode 100644 index a1406158952..00000000000 --- a/TAO/orbsvcs/orbsvcs/FtRtecEventComm.idl +++ /dev/null @@ -1,32 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file FtRtecEventComm.idl - * - * $Id$ - * - * @author Huang-Ming Huang - */ -//============================================================================= - -#ifndef FTRTECEVNETCOMM_H -#define FTRTECEVNETCOMM_H - -#include "orbsvcs/RtecEventComm.idl" - -module FtRtecEventComm { - - typedef sequence ObjectId; - - exception InvalidObjectID { - }; - - interface PushConsumer { - void push(in ObjectId oid, in RtecEventComm::EventSet data) - raises(InvalidObjectID); - }; - -}; - -#endif diff --git a/TAO/orbsvcs/orbsvcs/GSSUP.idl b/TAO/orbsvcs/orbsvcs/GSSUP.idl deleted file mode 100644 index 4bb8ed232bc..00000000000 --- a/TAO/orbsvcs/orbsvcs/GSSUP.idl +++ /dev/null @@ -1,63 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file GSSUP.idl - * - * $Id$ - * - * @author Object Management Group - */ -//============================================================================= - -#ifndef _GSSUP_IDL_ -#define _GSSUP_IDL_ - -#include -//import ::CSI; - -module GSSUP { - typeprefix GSSUP "omg.org"; - // The GSS Object Identifier allocated for the - // username/password mechanism is defined below. - // - // { iso-itu-t (2) international-organization (23) omg (130) - // security (1) authentication (1) gssup-mechanism (1) } - const CSI::StringOID GSSUPMechOID = "oid:2.23.130.1.1.1"; - - // The following structure defines the inner contents of the - // username password initial context token. This structure is - // CDR encapsulated and appended at the end of the - // username/password GSS (initial context) Token. - struct InitialContextToken { - CSI::UTF8String username; - CSI::UTF8String password; - CSI::GSS_NT_ExportedName target_name; - }; - - typedef unsigned long ErrorCode; - - // GSSUP Mechanism-Specific Error Token - struct ErrorToken { - ErrorCode error_code; - }; - - // The context validator has chosen not to reveal the GSSUP - // specific cause of the failure. - const ErrorCode GSS_UP_S_G_UNSPECIFIED = 1; - - // The user identified in the username field of the - // GSSUP::InitialContextToken is unknown to the target. - const ErrorCode GSS_UP_S_G_NOUSER = 2; - - // The password supplied in the GSSUP::InitialContextToken was - // incorrect. - const ErrorCode GSS_UP_S_G_BAD_PASSWORD = 3; - - // The target_name supplied in the GSSUP::InitialContextToken does - // not match a target_name in a mechanism definition of the target. - const ErrorCode GSS_UP_S_G_BAD_TARGET = 4; - -}; // GSSUP - -#endif diff --git a/TAO/orbsvcs/orbsvcs/HTIOP.idl b/TAO/orbsvcs/orbsvcs/HTIOP.idl deleted file mode 100644 index 5dc61ec8cbf..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP.idl +++ /dev/null @@ -1,30 +0,0 @@ -// -*- IDL -*- -// -// $Id$ - -#ifndef HTIOP_IDL -#define HTIOP_IDL - -// This is a OMG specified IDL. When HTIOP modules start getting -// complicated we may want to have them here. -#pragma prefix "omg.org" - - -module HTIOP -{ - struct ListenPoint - { - string host; - unsigned short port; - string htid; - }; - - typedef sequence ListenPointList; - - struct BiDirHTIOPServiceContext - { - ListenPointList listen_points; - }; -}; - -#endif /* TAO_IIOP_PIDL */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP.mpc b/TAO/orbsvcs/orbsvcs/HTIOP.mpc deleted file mode 100644 index 5494d71ef4f..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP.mpc +++ /dev/null @@ -1,29 +0,0 @@ -// -*- MPC -*- -// -// $Id$ - -project : htbp, orbsvcslib, core, tao_versioning_idl_defaults { - sharedname = TAO_HTIOP - idlflags += -Wb,export_macro=HTIOP_Export -Wb,export_include=orbsvcs/HTIOP/HTIOP_Export.h -SS - dynamicflags = HTIOP_BUILD_DLL - tagchecks += HTIOP - pch_header = - pch_source = - - IDL_FILES { - HTIOP.idl - } - - IDL_Files { - idlflags += -Sci -Gp -Gd -Ge 1 -Sc -Sa -Sorb \ - -o HTIOP - idlflags -= -St - HTIOP/htiop_endpoints.pidl - } - - Source_Files(ORBSVCS_COMPONENTS) { - HTIOP { - HTIOP - } - } -} diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp deleted file mode 100644 index 4d0bed9f1f8..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp +++ /dev/null @@ -1,889 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Acceptor.h" -#include "orbsvcs/HTIOP/HTIOP_Profile.h" -#include "ace/HTBP/HTBP_Environment.h" -#include "ace/HTBP/HTBP_ID_Requestor.h" - -#include "tao/MProfile.h" -#include "tao/ORB_Core.h" -#include "tao/Server_Strategy_Factory.h" -#include "tao/debug.h" -#include "tao/CDR.h" -#include "tao/Codeset_Manager.h" - -#include "ace/Auto_Ptr.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/HTIOP/HTIOP_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(HTIOP, - TAO_HTIOP_Acceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Acceptor::Acceptor (ACE::HTBP::Environment *ht_env, - int is_inside) - : TAO_Acceptor (OCI_TAG_HTIOP_PROFILE), - addrs_ (0), - hosts_ (0), - endpoint_count_ (0), - hostname_in_ior_ (0), - version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), - orb_core_ (0), - base_acceptor_ (), - creation_strategy_ (0), - concurrency_strategy_ (0), - accept_strategy_ (0), - ht_env_ (ht_env), - inside_ (is_inside) -{ -} - -TAO::HTIOP::Acceptor::~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_; - - delete [] this->addrs_; - - for (CORBA::ULong i = 0; i < this->endpoint_count_; ++i) - CORBA::string_free (this->hosts_[i]); - - delete [] this->hosts_; -} - -// TODO = -// 2) For V1.[1,2] there are tagged components -int -TAO::HTIOP::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 - /* && this->orb_core_->orb_params()->shared_profile () == 0 */) - - return this->create_new_profile (object_key, - mprofile, - priority); - else - return this->create_shared_profile (object_key, - mprofile, - priority); -} - -int -TAO::HTIOP::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 (CORBA::ULong i = 0; i < this->endpoint_count_; ++i) - { - TAO::HTIOP::Profile *pfile = 0; - ACE_NEW_RETURN (pfile, - TAO::HTIOP::Profile (this->hosts_[i], - this->addrs_[i].get_port_number (), - this->addrs_[i].get_htid(), - object_key, - this->addrs_[i], - this->version_, - this->orb_core_), - -1); - pfile->endpoint ()->priority (priority); - - if (mprofile.give_profile (pfile) == -1) - { - pfile->_decr_refcnt (); - pfile = 0; - return -1; - } - - // Do not add any tagged components to the profile if configured - // by the user not to do so, or if an TAO_HTIOP 1.0 endpoint is being - // created (TAO_HTIOP 1.0 did not support tagged components). - if (this->orb_core_->orb_params ()->std_profile_components () == 0 - || (this->version_.major == 1 && this->version_.minor == 0)) - continue; - - pfile->tagged_components ().set_orb_type (TAO_ORB_TYPE); - - TAO_Codeset_Manager *csm = this->orb_core_->codeset_manager(); - if (csm) - csm->set_codeset(pfile->tagged_components()); - } - - return 0; -} - -int -TAO::HTIOP::Acceptor::create_shared_profile (const TAO::ObjectKey &object_key, - TAO_MProfile &mprofile, - CORBA::Short priority) -{ - CORBA::ULong index = 0; - TAO_Profile *pfile = 0; - TAO::HTIOP::Profile *htiop_profile = 0; - - // First see if already contains a TAO_HTIOP profile. - for (TAO_PHandle i = 0; i != mprofile.profile_count (); ++i) - { - pfile = mprofile.get_profile (i); - if (pfile->tag () == OCI_TAG_HTIOP_PROFILE) - { - htiop_profile = dynamic_cast (pfile); - break; - } - } - - // If doesn't contain a TAO::HTIOP::Profile, we need to create - // one. - if (htiop_profile == 0) - { - ACE_NEW_RETURN (htiop_profile, - TAO::HTIOP::Profile (this->hosts_[0], - this->addrs_[0].get_port_number (), - this->addrs_[0].get_htid(), - object_key, - this->addrs_[0], - this->version_, - this->orb_core_), - -1); - htiop_profile->endpoint ()->priority (priority); - - if (mprofile.give_profile (htiop_profile) == -1) - { - htiop_profile->_decr_refcnt (); - htiop_profile = 0; - return -1; - } - - // Do not add any tagged components to the profile if configured - // by the user not to do so, or if an HTIOP 1.0 endpoint is being - // created (HTIOP 1.0 did not support tagged components). - if (this->orb_core_->orb_params ()->std_profile_components () != 0 - && (this->version_.major >= 1 && this->version_.minor >= 1)) - { - htiop_profile->tagged_components ().set_orb_type (TAO_ORB_TYPE); - TAO_Codeset_Manager *csm = this->orb_core_->codeset_manager(); - if (csm) - csm->set_codeset(htiop_profile->tagged_components()); - } - - index = 1; - } - - // Add any remaining acceptor endpoints to the TAO::HTIOP::Profile. - for (; - index < this->endpoint_count_; - ++index) - { - TAO::HTIOP::Endpoint *endpoint = 0; - ACE_NEW_RETURN (endpoint, - TAO::HTIOP::Endpoint (this->hosts_[index], - this->addrs_[index].get_port_number (), - this->addrs_[index].get_htid(), - this->addrs_[index]), - -1); - endpoint->priority (priority); - htiop_profile->add_endpoint (endpoint); - } - - return 0; -} - -int -TAO::HTIOP::Acceptor::is_collocated (const TAO_Endpoint *endpoint) -{ - const TAO::HTIOP::Endpoint *endp = - dynamic_cast (endpoint); - - // Make sure the dynamically cast pointer is valid. - if (endp == 0) - return 0; - - for (CORBA::ULong i = 0; i < this->endpoint_count_; ++i) - { - // compare the port and host name. Please do *NOT* optimize - // this code by comparing the IP address instead. That would - // trigger the following bug: - // - // http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1220 - // - if (endp->port() == this->addrs_[i].get_port_number()) - if (endp->port() == 0) - return (ACE_OS::strcmp (endp->htid(), - this->addrs_[i].get_htid()) == 0); - else - return (ACE_OS::strcmp(endp->host(), this->hosts_[i]) == 0); - // return 1; - } - - return 0; -} - -int -TAO::HTIOP::Acceptor::close (void) -{ - return this->base_acceptor_.close (); -} - -int -TAO::HTIOP::Acceptor::open (TAO_ORB_Core *orb_core, - ACE_Reactor *reactor, - int major, - int minor, - const char *address, - const char *options) -{ - this->orb_core_ = orb_core; - - if (this->hosts_ != 0) - { - // The hostname cache has already been set! - // This is bad mojo, i.e. an internal TAO error. - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("TAO::HTIOP::Acceptor::open - ") - ACE_TEXT ("hostname already set\n\n")), - -1); - } - - ACE_CString proxy_host; - unsigned proxy_port = 0; - - int rp = this->ht_env_->get_proxy_port(proxy_port); - if (rp == 0 && proxy_port != 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("TAO::HTIOP::Acceptor::open - ") - ACE_TEXT ("explicit endpoint inside proxy, port %d\n"), - proxy_port), - -1); - - if (address == 0) - return -1; - - if (major >=0 && minor >= 0) - this->version_.set_version (static_cast (major), - static_cast (minor)); - // Parse options - if (this->parse_options (options) == -1) - return -1; - - ACE::HTBP::Addr addr; - - // @ Mostly the address is just a host:port but in case it is - // host:port#token, remove the #token before this is processed - // - priyanka - address = ACE_OS::strtok (const_cast (address), "#"); - - // In the common scenario, Acceptor is in the server that is - // outside the firewall. It means the address that is sent to - // us can be a ACE::HTBP::Outside_Addr which is of the form - // host:port:token. The last :token has to be taken into - // consideration. - const char *port_separator_loc = ACE_OS::strchr (address, ':'); - - const char *specified_hostname = 0; - char tmp_host[MAXHOSTNAMELEN + 1]; - - if (port_separator_loc == address) - { - // The address is a port number or port name. No hostname was - // specified. The hostname for each network interface and the - // fully qualified domain name must be obtained. - - // ie. the address can be :port:token or just :port: - - // Check for multiple network interfaces. - if (this->probe_interfaces (orb_core) == -1) - return -1; - - // First convert the port into a usable form. - if (addr.ACE_INET_Addr::set (address + sizeof (':')) != 0) - return -1; - - // Now reset the port and set the host. - if (addr.ACE_INET_Addr::set (addr.get_port_number (), - static_cast (INADDR_ANY), - 1) != 0) - return -1; - else - { - return this->open_i (addr, - reactor); - } - } - else if (port_separator_loc == 0) - { - // The address is a hostname. No port was specified, so assume - // port zero (port will be chosen for us). - if (addr.ACE_INET_Addr::set ((unsigned short) 0, address) != 0) - return -1; - - specified_hostname = address; - } - else - { - // Host and port were specified. - if (addr.ACE_INET_Addr::set (address) != 0) - return -1; - - // Extract out just the host part of the address. - size_t len = port_separator_loc - address; - ACE_OS::memcpy (tmp_host, address, len); - tmp_host[len] = '\0'; - - specified_hostname = tmp_host; - } - - this->endpoint_count_ = 1; // Only one hostname to store - - ACE_NEW_RETURN (this->addrs_, - ACE::HTBP::Addr[this->endpoint_count_], - -1); - - ACE_NEW_RETURN (this->hosts_, - char *[this->endpoint_count_], - -1); - - this->hosts_[0] = 0; - - if (this->hostname_in_ior_ != 0) - { - if (TAO_debug_level > 2) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Overriding address in IOR with %s\n"), - this->hostname_in_ior_)); - } - - if (this->hostname (orb_core, - addr, - this->hosts_[0], - this->hostname_in_ior_) != 0) - return -1; - } - else - { - if (this->hostname (orb_core, - addr, - this->hosts_[0], - specified_hostname) != 0) - return -1; - } - - // Copy the addr. The port is (re)set in - // TAO::HTIOP::Acceptor::open_i(). - if (this->addrs_[0].ACE_INET_Addr::set (addr) != 0) - return -1; - - return this->open_i (addr, - reactor); -} - -int -TAO::HTIOP::Acceptor::open_default (TAO_ORB_Core *orb_core, - ACE_Reactor *reactor, - int major, - int minor, - const char *options) -{ - this->orb_core_ = orb_core; - - if (this->hosts_ != 0) - { - // The hostname cache has already been set! - // This is bad mojo, i.e. an internal TAO error. - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("TAO::HTIOP::Acceptor::open_default - ") - ACE_TEXT ("hostname already set\n\n")), - -1); - } - - if (major >=0 && minor >= 0) - this->version_.set_version (static_cast (major), - static_cast (minor)); - - // Parse options - if (this->parse_options (options) == -1) - return -1; - - - unsigned proxy_port = 0; - if (this->inside_ == 1 || - (this->inside_ == -1 && - this->ht_env_->get_proxy_port(proxy_port) == 0 && - proxy_port != 0)) - { - this->endpoint_count_ = 1; - ACE_NEW_RETURN (this->addrs_, - ACE::HTBP::Addr[this->endpoint_count_], - -1); - - ACE_NEW_RETURN (this->hosts_, - char *[this->endpoint_count_], - -1); - - ACE_OS::memset (this->hosts_, 0, - sizeof (char*) * this->endpoint_count_); - - ACE::HTBP::ID_Requestor req(ht_env_); - this->addrs_[0] = req.get_HTID(); - return 0; - - } - - // Check for multiple network interfaces. - if (this->probe_interfaces (orb_core) == -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::HTBP::Addr addr; - - if (addr.ACE_INET_Addr::set (static_cast (0), - static_cast (INADDR_ANY), - 1) != 0) - return -1; - - return this->open_i (addr, - reactor); -} - -int -TAO::HTIOP::Acceptor::open_i (const ACE::HTBP::Addr& addr, - ACE_Reactor *reactor) -{ - ACE_NEW_RETURN (this->creation_strategy_, - CREATION_STRATEGY (this->orb_core_,0), - -1); - - ACE_NEW_RETURN (this->concurrency_strategy_, - CONCURRENCY_STRATEGY (), - -1); - - ACE_NEW_RETURN (this->accept_strategy_, - ACCEPT_STRATEGY (this->orb_core_), - -1); - - if (this->base_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 ("(%P|%t) TAO::HTIOP::Acceptor::open_i ") - ACE_TEXT ("- %p"), - ACE_TEXT ("cannot open acceptor"))); - return -1; - } - - ACE::HTBP::Addr address; - - // We do this make sure the port number the endpoint is listening on - // gets set in the addr. - if (this->accept_strategy_->acceptor ().get_local_addr (address) != 0) - { - // @@ Should this be a catastrophic error??? - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) TAO::HTIOP::Acceptor::open_i ") - ACE_TEXT ("- %p\n\n"), - ACE_TEXT ("cannot get local addr"))); - return -1; - } - - // Set the port for each addr. If there is more than one network - // interface then the endpoint created on each interface will be on - // the same port. This is how a wildcard socket bind() is supposed - // to work. - u_short port = address.get_port_number (); - - for (CORBA::ULong j = 0; j < this->endpoint_count_; ++j) - this->addrs_[j].set_port_number (port, 1); - - (void) this->accept_strategy_->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 (CORBA::ULong i = 0; i < this->endpoint_count_; ++i) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) TAO::HTIOP::Acceptor::open_i - ") - ACE_TEXT ("listening on: <%s:%u>\n"), - ACE_TEXT_CHAR_TO_TCHAR(this->hosts_[i]), - this->addrs_[i].get_port_number ())); - } - } - - return 0; -} - -int -TAO::HTIOP::Acceptor::hostname (TAO_ORB_Core *orb_core, - ACE_INET_Addr &addr, - char *&host, - const char *specified_hostname) -{ - if (orb_core->orb_params ()->use_dotted_decimal_addresses ()) - { - // If dotted decimal addresses are enabled, - // just return ours. - return this->dotted_decimal_address (addr, host); - } - else if (specified_hostname != 0) - { - // If the user specified a hostname, pass it back - // blindly as it overrides our choice of hostname. - host = CORBA::string_dup (specified_hostname); - } - else - { - char tmp_host[MAXHOSTNAMELEN + 1]; - - // Get the hostname associated with our address - if (addr.get_host_name (tmp_host, sizeof (tmp_host)) != 0) - { - // On failure, just return the decimal address. - return this->dotted_decimal_address (addr, host); - } - else - { - host = CORBA::string_dup (tmp_host); - } - } - - return 0; -} - -int -TAO::HTIOP::Acceptor::dotted_decimal_address (ACE_INET_Addr &addr, - char *&host) -{ - int result = 0; - const char *tmp = 0; - - // If the IP address in the INET_Addr is the INADDR_ANY address, - // then force the actual IP address to be used by initializing a new - // INET_Addr with the hostname from the original one. If that fails - // then something is seriously wrong with the systems networking - // setup. - if (addr.get_ip_address () == INADDR_ANY) - { - ACE::HTBP::Addr new_addr; - result = new_addr.ACE_INET_Addr::set (addr.get_port_number (), - addr.get_host_name ()); - tmp = new_addr.get_host_addr (); - } - else - tmp = addr.get_host_addr (); - - if (tmp == 0 || result != 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n\nTAO (%P|%t) ") - ACE_TEXT ("TAO::HTIOP::Acceptor::dotted_decimal_address ") - ACE_TEXT ("- %p\n\n"), - ACE_TEXT ("cannot determine hostname"))); - return -1; - } - - host = CORBA::string_dup (tmp); - return 0; -} - - -int -TAO::HTIOP::Acceptor::probe_interfaces (TAO_ORB_Core *orb_core) -{ - // Extract the hostname for each network interface, and then cache - // it. The hostnames will then be used when creating a - // TAO::HTIOP::Profile for each endpoint setup on the probed - // network interfaces. - size_t if_cnt = 0; - - ACE_INET_Addr *inet_addrs = 0; - - if (ACE::get_ip_interfaces (if_cnt, - inet_addrs) != 0 - && errno != ENOTSUP) - { - // In the case where errno == ENOTSUP, if_cnt and if_addrs will - // not be modified, and will each remain equal to zero. This - // causes the default interface to be used. - return -1; - } - - if (if_cnt == 0 || inet_addrs == 0) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_WARNING, - ACE_TEXT ("TAO (%P|%t) Unable to probe network ") - ACE_TEXT ("interfaces. Using default.\n"))); - } - - if_cnt = 1; // Force the network interface count to be one. - delete [] inet_addrs; - ACE_NEW_RETURN (inet_addrs, - ACE_INET_Addr[if_cnt], - -1); - } - - // Scan for the loopback interface since it shouldn't be included in - // the list of cached hostnames unless it is the only interface. - size_t lo_cnt = 0; // Loopback interface count - for (size_t j = 0; j < if_cnt; ++j) - if (inet_addrs[j].get_ip_address () == INADDR_LOOPBACK) - lo_cnt++; - - // The instantiation for this template is in - // HTIOP/HTIOP_Connector.cpp. - ACE_Auto_Basic_Array_Ptr safe_if_addrs (inet_addrs); - - // If the loopback interface is the only interface then include it - // in the list of interfaces to query for a hostname, otherwise - // exclude it from the list. - if (if_cnt == lo_cnt) - this->endpoint_count_ = static_cast (if_cnt); - else - this->endpoint_count_ = static_cast (if_cnt - lo_cnt); - - ACE_NEW_RETURN (this->addrs_, - ACE::HTBP::Addr[this->endpoint_count_], - -1); - - ACE_NEW_RETURN (this->hosts_, - char *[this->endpoint_count_], - -1); - - ACE_OS::memset (this->hosts_, 0, sizeof (char*) * this->endpoint_count_); - - // The number of hosts/interfaces we want to cache may not be the - // same as the number of detected interfaces so keep a separate - // count. - size_t host_cnt = 0; - - for (size_t i = 0; i < if_cnt; ++i) - { - // Ignore any loopback interface if there are other - // non-loopback interfaces. - if (if_cnt != lo_cnt && - inet_addrs[i].get_ip_address() == INADDR_LOOPBACK) - continue; - - if (this->hostname_in_ior_ != 0) - { - if (TAO_debug_level > 2) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Overriding address in IOR with %s\n"), - this->hostname_in_ior_)); - } - if (this->hostname (orb_core, - inet_addrs[i], - this->hosts_[host_cnt], - this->hostname_in_ior_) != 0) - return -1; - } - else - { - if (this->hostname (orb_core, - inet_addrs[i], - this->hosts_[host_cnt]) != 0) - return -1; - } - - // Copy the addr. The port is (re)set in - // HTIOP_Acceptor::open_i(). - if (this->addrs_[host_cnt].ACE_INET_Addr::set (inet_addrs[i]) != 0) - return -1; - - host_cnt++; - } - - return 0; -} - -CORBA::ULong -TAO::HTIOP::Acceptor::endpoint_count (void) -{ - return this->endpoint_count_; -} - -int -TAO::HTIOP::Acceptor::object_key (IOP::TaggedProfile &profile, - TAO::ObjectKey &object_key) -{ - // Create the decoding stream from the encapsulation in the buffer, -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - TAO_InputCDR cdr (profile.profile_data.mb ()); -#else - TAO_InputCDR cdr (reinterpret_cast (profile.profile_data.get_buffer ()), - profile.profile_data.length ()); -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - CORBA::Octet major; - CORBA::Octet minor = CORBA::Octet(); - - // Read the version. We just read it here. We don't*do any* - // processing. - if (!(cdr.read_octet (major) - && cdr.read_octet (minor))) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) TAO::HTIOP::Acceptor::object_key") - ACE_TEXT (" - v%d.%d\n"), - major, - minor)); - } - return -1; - } - - CORBA::String_var host; - CORBA::UShort port = 0; - - // Get host and port. No processing here too.. - if (cdr.read_string (host.out ()) == 0 - || cdr.read_ushort (port) == 0) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) TAO::HTIOP::Acceptor::object_key - ") - ACE_TEXT ("error while decoding host/port"))); - } - return -1; - } - - // ... and object key. - if ((cdr >> object_key) == 0) - return -1; - - // We are NOT bothered about the rest. - - return 1; -} - - -int -TAO::HTIOP::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' - - ACE_CString::size_type begin = 0; - ACE_CString::size_type end = 0; - - for (CORBA::ULong j = 0; j < option_count; ++j) - { - if (j < option_count - 1) - end = options.find (option_delimiter, begin); - else - end = len; - - if (end == begin) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Zero length HTIOP option.\n")), - -1); - else if (end != ACE_CString::npos) - { - ACE_CString opt = options.substring (begin, end); - - ACE_CString::size_type const slot = opt.find ("="); - - if (slot == len - 1 - || slot == ACE_CString::npos) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) HTIOP 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, - ACE_TEXT ("(%P|%t) Zero length HTIOP ") - ACE_TEXT ("option name.\n")), - -1); - else if (name == "hostname_in_ior") - { - this->hostname_in_ior_ = value.rep (); - } - else - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("(%P|%t) Invalid HTIOP option: <%s>\n"), - name.c_str ()), - -1); - - begin = end + 1; - } - else - break; // No other options. - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h deleted file mode 100644 index 6abbb6f23e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h +++ /dev/null @@ -1,239 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HTIOP_Acceptor.h - * - * $Id$ - * - * HTIOP specific acceptor processing - * - * - * @author Priyanka Gontla - */ -//============================================================================= - - -#ifndef HTIOP_ACCEPTOR_H -#define HTIOP_ACCEPTOR_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/HTIOP/HTIOP_Completion_Handler.h" -#include "orbsvcs/HTIOP/HTIOP_Connection_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/HTBP/HTBP_Addr.h" - -#include "tao/Acceptor_Impl.h" -#include "tao/Transport_Acceptor.h" -#include "tao/GIOP_Message_Version.h" -#include "tao/Object_KeyC.h" - -#include "ace/SOCK_Acceptor.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -namespace ACE -{ - namespace HTBP - { - class Environment; - } -} -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace HTIOP - { - - // TAO HTIOP_Acceptor concrete call definition - - /** - * @class HTIOP_Acceptor - * - * @brief HTIOP_Acceptor - * - * The HTIOP-specific bridge class for the concrete acceptor. - * Based on IIOP_Acceptor - */ - class HTIOP_Export Acceptor : public TAO_Acceptor - { - public: - /// Constructor. - Acceptor (ACE::HTBP::Environment *ht_env, - int is_inside); - - /// Destructor. - ~Acceptor (void); - - /// @@ Helper method for the implementation repository, should go - /// away - const ACE::HTBP::Addr& address (void) const; - - /// Returns the array of endpoints in this acceptor - const ACE::HTBP::Addr *endpoints (void); - - typedef ACE_Strategy_Acceptor BASE_ACCEPTOR; - typedef TAO_Creation_Strategy CREATION_STRATEGY; - typedef ACE_Concurrency_Strategy CONCURRENCY_STRATEGY; - typedef TAO_Accept_Strategy ACCEPT_STRATEGY; - - /** - * The TAO::Acceptor methods, check the documentation in - * Transport_Acceptor.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); - - virtual CORBA::ULong endpoint_count (void); - - virtual int object_key (IOP::TaggedProfile &profile, - TAO::ObjectKey &key); - - /** - * Set the host name for the given addr. - * A hostname may be forced by using specified_hostname. This - * is useful if the given address corresponds to more than one - * hostname and the desired one cannot be determined in any - * other way. - */ - int hostname (TAO_ORB_Core *orb_core, - ACE_INET_Addr &addr, - char *&host, - const char *specified_hostname = 0); - - /** - * Set the host name for the given address using the dotted decimal - * format. - */ - int dotted_decimal_address (ACE_INET_Addr &addr, - char *&host); - - protected: - - /** - * Implement the common part of the open*() methods. This method is - * virtual to allow a derived class implementation to be invoked - * instead. - */ - virtual int open_i (const ACE::HTBP::Addr &addr, - ACE_Reactor *reactor); - - /** - * Probe the system for available network interfaces, and initialize - * the array with an ACE::HTBP::Addr for each network - * interface. The port for each initialized ACE::HTBP::Addr will be - * set in the open_i() method. This method only gets invoked when - * no explicit hostname is provided in the specified endpoint. - */ - int probe_interfaces (TAO_ORB_Core *orb_core); - - /** - * Parse protocol specific options. - * - * Currently supported: hostname_in_ior -- Provides the means to add - * in an alternative hostname in the object reference, such as that - * of the outside of a firewall. - */ - virtual int parse_options (const char *options); - - /// 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); - - - protected: - - /// Array of ACE::HTBP::Addr instances, each one corresponding to a - /// given network interface. - ACE::HTBP::Addr *addrs_; - - /** - * Cache the information about the endpoints serviced by this - * acceptor. - * There may in fact be multiple hostnames for this endpoint. For - * example, if the IP address is INADDR_ANY (0.0.0.0) then there - * will be possibly a different hostname for each interface. - */ - char **hosts_; - - /// The number of host names cached in the hosts_ array (equivalent - /// to the number of endpoints opened by this Acceptor). - CORBA::ULong endpoint_count_; - - /** - * Override the hostname used in the ORBEndPoint. - */ - char *hostname_in_ior_; - - /** - * The GIOP version for this endpoint - * @@ Theoretically they shouldn't be here!! We need to look at a - * way to move this out - */ - TAO_GIOP_Message_Version version_; - - /// ORB Core. - TAO_ORB_Core *orb_core_; - - private: - - /// the concrete acceptor, as a pointer to it's base class. - BASE_ACCEPTOR base_acceptor_; - - /// Acceptor strategies. - CREATION_STRATEGY *creation_strategy_; - CONCURRENCY_STRATEGY *concurrency_strategy_; - ACCEPT_STRATEGY *accept_strategy_; - - ACE::HTBP::Environment *ht_env_; - - /// Flag used to determine if an acceptor should use an "inside" - /// local address, or try to compose an "outside" address. - /// If the value is 1, then always use an HTID for local addr, - /// otherwise use host:port if 0, or guess based on proxy config - /// if -1. - int inside_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/HTIOP/HTIOP_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* HTIOP_ACCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.i b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.i deleted file mode 100644 index 6b3279c0c04..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.i +++ /dev/null @@ -1,28 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const ACE::HTBP::Addr& -TAO::HTIOP::Acceptor::address (void) const -{ - ACE_ASSERT (this->addrs_ != 0); - - // @@ This is busted. - // The Implementation Repository will have to start supporting - // IORs with multiple profiles. For now, we just return the - // first addr. - // -Ossama - return this->addrs_[0]; -} - -ACE_INLINE const ACE::HTBP::Addr * -TAO::HTIOP::Acceptor::endpoints (void) -{ - ACE_ASSERT (this->addrs_ != 0); - - return this->addrs_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp deleted file mode 100644 index f990f16ce1b..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp +++ /dev/null @@ -1,322 +0,0 @@ -// $Id$ - -#ifndef HTIOP_ACCEPTOR_IMPL_CPP -#define HTIOP_ACCEPTOR_IMPL_CPP - -#include "orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h" -#include "orbsvcs/HTIOP/HTIOP_Completion_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/HTBP/HTBP_Stream.h" -#include "ace/HTBP/HTBP_Session.h" - -#include "tao/ORB_Core.h" -#include "tao/ORB_Table.h" -#include "tao/Server_Strategy_Factory.h" -#include "tao/Connector_Registry.h" -#include "tao/Transport_Cache_Manager.h" -#include "tao/Thread_Lane_Resources.h" - -#include "ace/Object_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//////////////////////////////////////////////////////////////////////////////// - -template -TAO::HTIOP::Creation_Strategy::Creation_Strategy (TAO_ORB_Core *orb_core, - CORBA::Boolean flag) - : orb_core_ (orb_core), - lite_flag_ (flag) -{ -} - -template int -TAO::HTIOP::Creation_Strategy::make_svc_handler (SVC_HANDLER *&sh) -{ - if (sh == 0) - { - ACE_DEBUG ((LM_DEBUG, "Make Svc Handler\n")); - ACE_NEW_RETURN (sh, - SVC_HANDLER (this->orb_core_), - -1); - } - - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -template -TAO::HTIOP::Accept_Strategy::Accept_Strategy (TAO_ORB_Core *orb_core) - : orb_core_ (orb_core) -{ -} - -template int -TAO::HTIOP::Accept_Strategy::open ( - const ACE_PEER_ACCEPTOR_ADDR &local_addr, - int restart) -{ - if (this->peer_acceptor_.open (local_addr, restart) == -1) - return -1; - - this->peer_acceptor_.enable (ACE_NONBLOCK); - - return 0; -} - - -/// Returns the underlying PEER_ACCEPTOR object -template ACE_PEER_ACCEPTOR & -TAO::HTIOP::Accept_Strategy::acceptor (void) const -{ - return (ACE_PEER_ACCEPTOR &) this->peer_acceptor_; -} - -/// Returns the underlying PEER_ACCEPTOR object -template ACE_HANDLE -TAO::HTIOP::Accept_Strategy::get_handle (void) const -{ - return this->peer_acceptor_.get_handle (); -} - -template int -TAO::HTIOP::Accept_Strategy::accept_svc_handler (SVC_HANDLER *svc_handler) -{ - ACE_DEBUG ((LM_DEBUG, "accept_svc_handler\n")); - if (this->peer_acceptor_.accept (svc_handler->peer (), - 0, - 0, - 1, - 0 /* reset_new_handle */) == -1) - { - svc_handler->close (0); - - return -1; - } - - ACE_DEBUG ((LM_DEBUG, "Accept_svc_handler, skipping first_recv\n")); - return 0; -} - -template -TAO::HTIOP::Strategy_Acceptor:: -Strategy_Acceptor (const ACE_TCHAR service_name[], - const ACE_TCHAR service_description[], - int use_select, - int reuse_addr) - -{ - ACE_UNUSED_ARG (service_name); - ACE_UNUSED_ARG (service_description); - ACE_UNUSED_ARG (use_select); - ACE_UNUSED_ARG (reuse_addr); -} - -template int -TAO::HTIOP::Strategy_Acceptor::shared_open ( - const ACE_PEER_ACCEPTOR_ADDR &local_addr, - int protocol_family, - int backlog) -{ - int error = 0; -#if defined (ACE_HAS_IPV6) - ACE_ASSERT (protocol_family == PF_INET || protocol_family == PF_INET6); - - if (protocol_family == PF_INET6) - { - sockaddr_in6 local_inet6_addr; - ACE_OS::memset (reinterpret_cast (&local_inet6_addr), - 0, - sizeof local_inet6_addr); - - if (local_addr == ACE_Addr::sap_any) - { - local_inet6_addr.sin6_family = AF_INET6; - local_inet6_addr.sin6_port = 0; - local_inet6_addr.sin6_addr = in6addr_any; - } - else - local_inet6_addr = *reinterpret_cast (local_addr.get_addr ()); - - // We probably don't need a bind_port written here. - // There are currently no supported OS's that define - // ACE_LACKS_WILDCARD_BIND. - if (ACE_OS::bind (this->get_handle (), - reinterpret_cast (&local_inet6_addr), - sizeof local_inet6_addr) == -1) - error = 1; - } - else -#endif - if (protocol_family == PF_INET) - { - sockaddr_in local_inet_addr; - ACE_OS::memset (reinterpret_cast (&local_inet_addr), - 0, - sizeof local_inet_addr); - - if (local_addr == ACE_Addr::sap_any) - { - local_inet_addr.sin_port = 0; - } - else - local_inet_addr = *reinterpret_cast (local_addr.get_addr ()); - if (local_inet_addr.sin_port == 0) - { - if (ACE::bind_port (this->get_handle ()) == -1) - error = 1; - } - else if (ACE_OS::bind (this->get_handle (), - reinterpret_cast (&local_inet_addr), - sizeof local_inet_addr) == -1) - error = 1; - } - else if (ACE_OS::bind (this->get_handle (), - (sockaddr *) local_addr.get_addr (), - local_addr.get_size ()) == -1) - error = 1; - - if (error != 0 - || ACE_OS::listen (this->get_handle (), - backlog) == -1) - { - error = 1; - this->close (); - } - - return error ? -1 : 0; -} - -template int -TAO::HTIOP::Strategy_Acceptor::open( - const ACE_PEER_ACCEPTOR_ADDR &local_addr, - ACE_Reactor *reactor, - TAO::HTIOP::Creation_Strategy * cre_s, - TAO::HTIOP::Accept_Strategy *acc_s, - ACE_Concurrency_Strategy *con_s, - int reuse_addr) -{ - this->reactor (reactor); - - this->accept_strategy_ = acc_s; - this->concurrency_strategy_ = con_s; - this->creation_strategy_ = cre_s; - - if (this->accept_strategy_->open (local_addr, reuse_addr) == -1) - return -1; - - if (this->accept_strategy_->acceptor ().enable (ACE_NONBLOCK) != 0) - return -1; - - int result = - reactor->register_handler (this, - ACE_Event_Handler::ACCEPT_MASK); - - - return result; -} - -template int -TAO::HTIOP::Strategy_Acceptor::close () -{ - ACE_TRACE ("TAO::HTIOP::Strategy_Acceptor::close"); - - // Guard against multiple closes. - if (this->reactor () != 0) - { - ACE_HANDLE handle = this->get_handle (); - - this->reactor ()->remove_handler - (handle, - // We must pass the DONT_CALL flag here to avoid infinite - // recursion. - ACE_Event_Handler::ACCEPT_MASK | ACE_Event_Handler::DONT_CALL); - - // Shut down the listen socket to recycle the handles. - if (this->accept_strategy_->acceptor ().close () == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("close\n"))); - // Set the Reactor to 0 so that we don't try to close down - // again. - this->reactor (0); - } - return 0; -} - -template ACE_HANDLE -TAO::HTIOP::Strategy_Acceptor::get_handle () const -{ - return this->accept_strategy_->get_handle (); -} - -template int -TAO::HTIOP::Strategy_Acceptor::handle_input (ACE_HANDLE listener) -{ - ACE_Handle_Set conn_handle; - - ACE_Time_Value timeout; - - # if defined (ACE_WIN64) - // This arg is ignored on Windows and causes pointer truncation - // warnings on 64-bit compiles. - int select_width = 0; -# else - int select_width = int (listener) + 1; -# endif /* ACE_WIN64 */ - - // TAO_HTIOP connections cannot be attached to sessions or anything else until - // after the HTTP request header is read. So the acceptor here just creates - // completion handler that gets the header data and then creates the - // association between the connection handler and the session, or - // re-establishes an existing session. - do - { - TAO::HTIOP::Completion_Handler *sh = 0; - if (this->make_svc_handler(sh) == -1 || - this->accept_svc_handler (sh) == -1 || - this->activate_svc_handler (sh) == -1) - return -1; - } - - // Now, check to see if there is another connection pending and - // break out of the loop if there is none. - - //int use_select = 1; - while (1 - && ACE_OS::select (select_width, - conn_handle, - 0, - 0, - &timeout) == 1); - return 0; -} - - -template int -TAO::HTIOP::Strategy_Acceptor::activate_svc_handler (SVC_HANDLER *svc_handler) -{ - return this->concurrency_strategy_->activate_svc_handler (svc_handler, - (void *) this); -} - - -template int -TAO::HTIOP::Strategy_Acceptor::accept_svc_handler (SVC_HANDLER *svc_handler) -{ - return this->accept_strategy_->accept_svc_handler (svc_handler); -} - -template int -TAO::HTIOP::Strategy_Acceptor::make_svc_handler (SVC_HANDLER *&sh) -{ - return this->creation_strategy_->make_svc_handler (sh); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* HTIOP_ACCEPTOR_IMPL_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h deleted file mode 100644 index 9bfc69280c4..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h +++ /dev/null @@ -1,156 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HTIOP_Acceptor_Impl.h - * - * $Id$ - * - * @author Priyanka Gontla - */ -//============================================================================= - - -#ifndef HTIOP_ACCEPTOR_IMPL_H -#define HTIOP_ACCEPTOR_IMPL_H -#include /**/ "ace/pre.h" - -#include "ace/Acceptor.h" -#include "ace/SOCK_Acceptor.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/corbafwd.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations. -class TAO_ORB_Core; - -namespace TAO -{ - namespace HTIOP - { - /** - * @class Creation_Strategy - * - * @brief Creates a Svc_Handler and set the ORB_Core pointer on it. - */ - template - class Creation_Strategy : public ACE_Creation_Strategy - { - public: - /** - * Constructor. parameter is used to pass any special - * state/info to the service handler upon creation. - - */ - Creation_Strategy (TAO_ORB_Core *orb_core, - CORBA::Boolean flag = 0); - - /// Create a SVC_HANDLER and set the ORB_Core pointer on it. - int make_svc_handler (SVC_HANDLER *&sh); - - protected: - /// Pointer to the ORB Core. - TAO_ORB_Core *orb_core_; - - /// Should we use the Lite version for any protocol? - CORBA::Boolean lite_flag_; - }; - - template - class Accept_Strategy - { - public: - - /// Constructor. - Accept_Strategy (TAO_ORB_Core *orb_core); - - /// Initialize the with . If the - /// process runs out of handles, purge some "old" connections. - int open (const ACE_PEER_ACCEPTOR_ADDR &local_addr, - int restart = 0); - - /// Returns the underlying PEER_ACCEPTOR object - ACE_PEER_ACCEPTOR &acceptor (void) const; - - /// Delegates to the method of the PEER_ACCEPTOR. If the - /// process runs out of handles, purge some "old" connections. - int accept_svc_handler (SVC_HANDLER *svc_handler); - - ACE_HANDLE get_handle (void) const; - - protected: - - /// Pointer to the ORB Core. - TAO_ORB_Core *orb_core_; - - private: - - /// Factory that establishes connections passively - ACE_PEER_ACCEPTOR peer_acceptor_; - }; - - - template - class Strategy_Acceptor : public ACE_Service_Object - { - public: - - /// Default constructor. - Strategy_Acceptor (const ACE_TCHAR service_name[] = 0, - const ACE_TCHAR service_description[] = 0, - int use_select = 1, - int reuse_addr = 1); - - int open (const ACE_PEER_ACCEPTOR_ADDR &, - ACE_Reactor * = ACE_Reactor::instance (), - Creation_Strategy * = 0, - Accept_Strategy * =0, - ACE_Concurrency_Strategy * = 0, - int reuse_addr = 1); - - int close (); - - virtual ACE_HANDLE get_handle (void) const; - - - private: - - int handle_input (ACE_HANDLE); - - int activate_svc_handler (SVC_HANDLER *svc_handler); - - int accept_svc_handler (SVC_HANDLER *svc_handler); - - int make_svc_handler (SVC_HANDLER *&sh); - - int shared_open (const ACE_PEER_ACCEPTOR_ADDR &, - int protocol_family, - int backlog); - - Accept_Strategy *accept_strategy_; - - Creation_Strategy * creation_strategy_; - - ACE_Concurrency_Strategy * concurrency_strategy_; - }; - - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("HTIOP_Acceptor_Impl.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* HTIOP_AccePTOR_IMPL_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp deleted file mode 100644 index de9b6a14cd2..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp +++ /dev/null @@ -1,181 +0,0 @@ -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Completion_Handler.h" - -#include "orbsvcs/HTIOP/HTIOP_Transport.h" -#include "orbsvcs/HTIOP/HTIOP_Endpoint.h" - -#include "ace/HTBP/HTBP_Stream.h" -#include "ace/HTBP/HTBP_Session.h" - -#include "tao/Timeprobe.h" -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "tao/Server_Strategy_Factory.h" -#include "tao/Transport_Cache_Manager.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/Acceptor_Impl.h" - -ACE_RCSID (HTIOP, - TAO_HTIOP_Completion_Handler, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Completion_Handler::Completion_Handler (ACE_Thread_Manager *t) - : COMPLETION_BASE(t,0,0), - orb_core_ (0), - channel_(0), - concurrency_strategy_ (0) -{ - // This constructor should *never* get called, it is just here to - // make the compiler happy: the default implementation of the - // Creation_Strategy requires a constructor with that signature, we - // don't use that implementation, but some (most?) compilers - // instantiate it anyway. - ACE_ASSERT (this->orb_core_ != 0); -} - -TAO::HTIOP::Completion_Handler::Completion_Handler (TAO_ORB_Core *orb_core, - CORBA::Boolean ) - : COMPLETION_BASE(orb_core->thr_mgr(),0,0), - orb_core_ (orb_core), - channel_(0), - concurrency_strategy_ (0) -{ -} - - -TAO::HTIOP::Completion_Handler::~Completion_Handler (void) -{ -} - -int -TAO::HTIOP::Completion_Handler::open (void*) -{ - this->orb_core_->reactor()->register_handler(this, - ACE_Event_Handler::READ_MASK); - - ACE_NEW_RETURN (concurrency_strategy_, - TAO::HTIOP::CONCURRENCY_STRATEGY2 (this->orb_core_), - -1); - return 0; -} - -int -TAO::HTIOP::Completion_Handler::resume_handler (void) -{ - return ACE_Event_Handler::ACE_APPLICATION_RESUMES_HANDLER; -} - -int -TAO::HTIOP::Completion_Handler::handle_input (ACE_HANDLE h) -{ - // Create a service handler, using the appropriate creation - // strategy. - if (this->channel_ == 0) - ACE_NEW_RETURN (this->channel_, - ACE::HTBP::Channel (h), - -1); - - if (this->channel_->pre_recv() != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO::HTIOP::Completion_Handler: pre_recv not done, " - "channel state = %d\n", - this->channel_->state()), - 0); - - this->reactor()->remove_handler (this, - ACE_Event_Handler::READ_MASK | - ACE_Event_Handler::DONT_CALL); - - this->channel_->register_notifier(this->reactor()); - - // look up session related to the channel. - // Do we already have a handler for it? - // If so, get the connection handler, otherwise create it new. - - ACE::HTBP::Session *session = this->channel_->session(); - ACE_Event_Handler *handler = session->handler(); - - if (handler == 0) - { - TAO::HTIOP::Connection_Handler *svc_handler = 0; - if (this->make_svc_handler (svc_handler) == -1) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO::HTIOP::Completion_Handler %p\n"), - ACE_TEXT ("make_svc_handler"))); - return -1; - } - - svc_handler->peer().session(session); - session->handler (svc_handler); - - svc_handler->transport()->register_handler(); - svc_handler->open(0); -#if 0 - // *** I am not yet sure how to reconsile the notification strategy - // with TPC concurrency. - - // Activate the using the designated concurrency - // strategy (note that this method becomes responsible for - // handling errors and freeing up the memory if things go - // awry...). - if (this->concurrency_strategy_-> - activate_svc_handler (svc_handler,this->arg_) == -1) - { - // Note that closes the - // on failure. - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("%p\n"), - ACE_TEXT ("activate_svc_handler"))); - return -1; - } -#endif /* 0 */ - } - - if (this->channel_->state() == ACE::HTBP::Channel::Data_Queued) - { - this->reactor()->notify (session->handler(), - ACE_Event_Handler::READ_MASK); - } - return 0; -} - -int -TAO::HTIOP::Completion_Handler::make_svc_handler (TAO::HTIOP::Connection_Handler *&sh) -{ - if (sh == 0) - { - // Purge connections (if necessary) - this->orb_core_->lane_resources ().transport_cache ().purge (); - ACE_NEW_RETURN (sh, - TAO::HTIOP::Connection_Handler (this->orb_core_, - 0), - -1); - } - - return 0; -} - -int -TAO::HTIOP::Completion_Handler::add_transport_to_cache (void) -{ - return 0; -} - -int -TAO::HTIOP::Completion_Handler::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - //commit suicide - delete this; - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.h deleted file mode 100644 index 63ba0a96b34..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file HTIOP_Completion_Handler.h - * - * $Id$ - * - * @author Priyanka Gontla - */ -// =================================================================== - -#ifndef HTIOP_COMPLETION_HANDLER_H -#define HTIOP_COMPLETION_HANDLER_H -#include /**/ "ace/pre.h" - -#include "ace/Acceptor.h" -#include "ace/Reactor.h" -#include "ace/Svc_Handler.h" -#include "ace/SOCK_Stream.h" -#include "tao/Acceptor_Impl.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/HTIOP/HTIOP_Export.h" -#include "orbsvcs/HTIOP/HTIOP_Connection_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ORB_Core; -// **************************************************************** - -namespace TAO -{ - namespace HTIOP - { - - /** - * @class Completion_Handler - * - * @brief Helps the HTIOP Acceptor complete a connection. - * - * The Completion Handler owns a newly accepted connection until the - * first data read. At that point, the session and data flow direction - * are known so the stream may be handed off to either an existing - * session, or to a newly created one. - */ - - typedef TAO_Concurrency_Strategy CONCURRENCY_STRATEGY2; - - typedef ACE_Svc_Handler COMPLETION_BASE; - - class HTIOP_Export Completion_Handler : public COMPLETION_BASE - { - - public: - Completion_Handler (ACE_Thread_Manager* t = 0); - /// Constructor. parameter is used by the Acceptor to pass the - /// protocol configuration properties for this connection. - Completion_Handler (TAO_ORB_Core *orb_core, - CORBA::Boolean = 0 ); - - /// Destructor. - ~Completion_Handler (void); - - /// Called by the when the handler is completely - /// connected. Argument is unused. - virtual int open (void *); - - //@{ - /** @name Event Handler overloads - */ - virtual int handle_input (ACE_HANDLE); - - virtual int resume_handler (void); - virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask); - //@} - - // this does nothing, but satisfies a requirement for the TAO_Accept_stratgy. - int add_transport_to_cache (void); - - private: - int make_svc_handler (Connection_Handler *&sh); - int activate_svc_handler (Connection_Handler *sh); - - TAO_ORB_Core *orb_core_; - ACE::HTBP::Channel *channel_; - - CONCURRENCY_STRATEGY2 *concurrency_strategy_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* HTIOP_COMPLETION_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp deleted file mode 100644 index 00a99a84351..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp +++ /dev/null @@ -1,289 +0,0 @@ -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Connection_Handler.h" - -#include "orbsvcs/HTIOP/HTIOP_Transport.h" -#include "orbsvcs/HTIOP/HTIOP_Endpoint.h" - -#include "ace/HTBP/HTBP_Stream.h" -#include "ace/HTBP/HTBP_Session.h" - -#include "tao/Timeprobe.h" -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "tao/ORB.h" -#include "tao/CDR.h" -#include "tao/Server_Strategy_Factory.h" - -#include "tao/Transport_Cache_Manager.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/Base_Transport_Property.h" -#include "tao/Resume_Handle.h" -#include "tao/Protocols_Hooks.h" - -ACE_RCSID (HTIOP, - TAO_HTIOP_Connection_Handler, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Connection_Handler::Connection_Handler (ACE_Thread_Manager *t) - : SVC_HANDLER (t,0,0), - TAO_Connection_Handler (0) -{ - // This constructor should *never* get called, it is just here to - // make the compiler happy: the default implementation of the - // Creation_Strategy requires a constructor with that signature, we - // don't use that implementation, but some (most?) compilers - // instantiate it anyway. - ACE_ASSERT (this->orb_core () != 0); -} - -TAO::HTIOP::Connection_Handler::Connection_Handler (TAO_ORB_Core *orb_core, - CORBA::Boolean flag) - : SVC_HANDLER (orb_core->thr_mgr (), 0, 0), - TAO_Connection_Handler (orb_core) -{ - TAO::HTIOP::Transport* specific_transport = 0; - ACE_NEW(specific_transport, - TAO::HTIOP::Transport (this, orb_core, flag)); - - this->transport (specific_transport); -} - -TAO::HTIOP::Connection_Handler::~Connection_Handler (void) -{ -} - -int -TAO::HTIOP::Connection_Handler::open_handler (void *v) -{ - return this->open (v); -} - -int -TAO::HTIOP::Connection_Handler::open (void*) -{ - if (this->transport ()->wait_strategy ()->non_blocking ()) - { - if (this->peer ().enable (ACE_NONBLOCK) == -1) - return -1; - } - - // Called by the when the handler is - // completely connected. - - ACE::HTBP::Addr remote_addr; - if (this->peer ().get_remote_addr (remote_addr) == -1) - return -1; - - ACE::HTBP::Addr local_addr; - if (this->peer ().get_local_addr (local_addr) == -1) - return -1; - - if (local_addr.get_ip_address () == remote_addr.get_ip_address () - && local_addr.get_port_number () == remote_addr.get_port_number ()) - { - - if (TAO_debug_level > 0) - { - ACE_TCHAR remote_as_string[MAXHOSTNAMELEN + 16]; - ACE_TCHAR local_as_string[MAXHOSTNAMELEN + 16]; - - (void) remote_addr.addr_to_string (remote_as_string, - sizeof(remote_as_string), - 0); - (void) local_addr.addr_to_string (local_as_string, - sizeof(local_as_string), - 0); - ACE_ERROR ((LM_ERROR, - ACE_TEXT("TAO(%P|%t) - TAO::HTIOP::Connection_Handler::open, ") - ACE_TEXT("Holy Cow! The remote addr and ") - ACE_TEXT("local addr are identical (%s == %s)\n"), - remote_as_string, local_as_string)); - } - return -1; - } - - if (TAO_debug_level > 0) - { - ACE_TCHAR client[MAXHOSTNAMELEN + 16]; - - // Verify that we can resolve the peer hostname. - if (remote_addr.addr_to_string (client, sizeof (client), 0) == -1) - return -1; - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) TAO_HTIOP connection to peer ") - ACE_TEXT ("<%s> on %d\n"), - client, this->peer ().get_handle ())); - } - - // Set the id in the transport now that we're active. - // Use C-style cast b/c otherwise we get warnings on lots of compilers - if (!this->transport ()->post_open ((size_t) this->get_handle ())) - return -1; - - this->state_changed (TAO_LF_Event::LFS_SUCCESS, - this->orb_core ()->leader_follower ()); - - return 0; -} - -int -TAO::HTIOP::Connection_Handler::resume_handler (void) -{ - return ACE_Event_Handler::ACE_APPLICATION_RESUMES_HANDLER; -} - -int -TAO::HTIOP::Connection_Handler::close_connection (void) -{ - return this->close_connection_eh (this); -} - -int -TAO::HTIOP::Connection_Handler::handle_input (ACE_HANDLE h) -{ - // Figure out if the peer is associated with an identified session. - // If not, do whatever is necessary to complete the linkage. - ACE::HTBP::Session *session = peer().session(); - if (session == 0) - { - int result = this->handle_input_eh (h,this); - - if (result != -1 && peer().session()) - { - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("TAO::HTIOP::Connection_Handler::handle_input: ") - ACE_TEXT("now binding to %d\n"), - peer().get_handle())); - } - return result; - } - return this->handle_input_eh (h, this); -} - -int -TAO::HTIOP::Connection_Handler::handle_output (ACE_HANDLE handle) -{ - int result = - this->handle_output_eh (handle, this); - - if (result == -1) - { - this->close_connection (); - return 0; - } - - return result; -} - -int -TAO::HTIOP::Connection_Handler::handle_close (ACE_HANDLE , - ACE_Reactor_Mask ) -{ - ACE_ASSERT (0); - return 0; -} - -int -TAO::HTIOP::Connection_Handler::close (u_long) -{ - this->state_changed (TAO_LF_Event::LFS_CONNECTION_CLOSED, - this->orb_core ()->leader_follower ()); - this->transport ()->remove_reference (); - return 0; -} - -int -TAO::HTIOP::Connection_Handler::release_os_resources (void) -{ - int result = this->peer().close (); - return result; -} - -int -TAO::HTIOP::Connection_Handler::add_transport_to_cache (void) -{ - ACE::HTBP::Addr addr; - - // Get the peername. - if (this->peer ().get_remote_addr (addr) == -1) - return -1; - - // Construct an TAO::HTIOP::Endpoint object - TAO::HTIOP::Endpoint endpoint (addr, - this->orb_core()-> - orb_params()->use_dotted_decimal_addresses ()); - - // Construct a property object - TAO_Base_Transport_Property prop (&endpoint); - - TAO::Transport_Cache_Manager &cache = - this->orb_core ()->lane_resources ().transport_cache (); - - // Idle the transport.. - return cache.cache_idle_transport (&prop, - this->transport ()); -} - -int -TAO::HTIOP::Connection_Handler::process_listen_point_list -(::HTIOP::ListenPointList &listen_list) -{ - // Get the size of the list - CORBA::ULong len = listen_list.length (); - - for (CORBA::ULong i = 0; i < len; ++ i) - { - ::HTIOP::ListenPoint listen_point = listen_list[i]; - ACE::HTBP::Addr addr; - if (listen_point.port) - addr.ACE_INET_Addr::set (listen_point.port, - listen_point.host.in ()); - else - addr.set_htid (listen_point.htid); - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("(%P|%t) Listening port [%d] on [%s],[%s]\n"), - listen_point.port, - ACE_TEXT_CHAR_TO_TCHAR(listen_point.host.in ()), - ACE_TEXT_CHAR_TO_TCHAR(listen_point.htid.in()))); - } - - // Construct an TAO::HTIOP::Endpoint object - TAO::HTIOP::Endpoint endpoint (addr, - this->orb_core()->orb_params()->use_dotted_decimal_addresses ()); - - // Construct a property object - TAO_Base_Transport_Property prop (&endpoint); - - // Mark the connection as bidirectional - prop.set_bidir_flag (1); - - // The property for this handler has changed. Recache the - // handler with this property - int retval = this->transport ()->recache_transport (&prop); - if (retval == -1) - return retval; - - // Make the handler idle and ready for use - this->transport ()->make_idle (); - } - - return 0; -} - -int -TAO::HTIOP::Connection_Handler::set_dscp_codepoint ( - CORBA::Boolean /*enable_network_priority*/) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.h deleted file mode 100644 index 2651dafebd0..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.h +++ /dev/null @@ -1,135 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file HTIOP_Connection_Handler.h - * - * $Id$ - * - * @author Priyanka Gontla - */ -// =================================================================== - -#ifndef HTIOP_CONNECTION_HANDLER_H -#define HTIOP_CONNECTION_HANDLER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/HTIOP/HTIOP_Transport.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "tao/corbafwd.h" -#include "tao/Wait_Strategy.h" -#include "tao/Connection_Handler.h" - -#include "ace/Acceptor.h" -#include "ace/Reactor.h" -#include "ace/Svc_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward Decls -class TAO_Pluggable_Messaging; - -// **************************************************************** - -namespace TAO -{ - namespace HTIOP - { - - /** - * @class HTIOP_Connection_Handler - * - * @brief Handles requests on a single connection. - * - * The Connection handler which is common for the Acceptor and - * the Connector - */ - - - class HTIOP_Export Connection_Handler : public SVC_HANDLER, - public TAO_Connection_Handler - { - - public: - - Connection_Handler (ACE_Thread_Manager* t = 0); - - /// Constructor. parameter is used by the Acceptor to pass the - /// protocol configuration properties for this connection. - Connection_Handler (TAO_ORB_Core *orb_core, - CORBA::Boolean flag); - - /// Destructor. - ~Connection_Handler (void); - - /// Called by the when the handler is completely - /// connected. Argument is unused. - virtual int open (void *); - - virtual int open_handler (void *); - -#if 0 // for now, an active version of HTIOP is not defined, but the - // methods are kept here as a place-holder. - - /// = Active object activation method. - virtual int activate (long flags = THR_NEW_LWP, - int n_threads = 1, - int force_active = 0, - long priority = ACE_DEFAULT_THREAD_PRIORITY, - int grp_id = -1, - ACE_Task_Base *task = 0, - ACE_hthread_t thread_handles[] = 0, - void *stack[] = 0, - size_t stack_size[] = 0, - ACE_thread_t thread_names[] = 0); - - - /// Only used when the handler is turned into an active object by - /// calling . This serves as the event loop in such cases. - virtual int svc (void); -#endif /* 0 */ - - //@{ - /** @name Event Handler overloads - */ - virtual int resume_handler (void); - virtual int close_connection (void); - virtual int handle_input (ACE_HANDLE); - virtual int handle_output (ACE_HANDLE); - virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask); - virtual int close (u_long = 0); - //@} - - /// Add ourselves to Cache. - int add_transport_to_cache (void); - - /// Process the - int process_listen_point_list (::HTIOP::ListenPointList &listen_list); - - ///Set the Diff-Serv codepoint if the Policy dicates the setting of - ///Network Priority This method is a no-op, but implemented to - ///satisfy the base class interface. - int set_dscp_codepoint (CORBA::Boolean set_network_priority); - - - //@{ - /** - * @name TAO_Connection Handler overloads - */ - virtual int release_os_resources (void); - //@} - - private: - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* HTIOP_CONNECTION_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp deleted file mode 100644 index c2a2dde9735..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp +++ /dev/null @@ -1,420 +0,0 @@ -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Connector.h" -#include "orbsvcs/HTIOP/HTIOP_Profile.h" - -#include "ace/HTBP/HTBP_Session.h" -#include "ace/HTBP/HTBP_ID_Requestor.h" -#include "ace/HTBP/HTBP_Environment.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/Connect_Strategy.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/Profile_Transport_Resolver.h" -#include "ace/Strategies_T.h" - -ACE_RCSID (HTIOP, - TAO_HTIOP_Connector, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Connector::Connector (ACE::HTBP::Environment *ht_env) - : TAO_Connector (OCI_TAG_HTIOP_PROFILE), - connect_creation_strategy_ (), - concurrency_strategy_ (), - ht_env_ (ht_env) -{ -} - -TAO::HTIOP::Connector::~Connector (void) -{ -} - -int -TAO::HTIOP::Connector::open (TAO_ORB_Core *orb_core) -{ - // Set the ORB Core - this->orb_core (orb_core); - - // Create our connect strategy - if (this->create_connect_strategy () == -1) - return -1; - - /// Our connect creation strategy - ACE_NEW_RETURN (this->connect_creation_strategy_, - CONNECT_CREATION_STRATEGY - (orb_core->thr_mgr (), - orb_core, - 0), - -1); - - - ACE_NEW_RETURN (this->concurrency_strategy_, - CONNECT_CONCURRENCY_STRATEGY (orb_core), - -1); - - return 0; -} - -int -TAO::HTIOP::Connector::close (void) -{ - delete this->concurrency_strategy_; - delete this->connect_creation_strategy_; - - return 0; -} - -int -TAO::HTIOP::Connector::set_validate_endpoint (TAO_Endpoint *endpoint) -{ - // Set and validate endpoint. We need to do this to initialize our - // remote *_Addr's which have not been done during IOR decode. - - /** - * @note The above comments talk about initialization. But, based on - * code reading, this is more of a validation of the endpoint rather - * than setting anything. So, nothing here needs to be modified for - * TAO_HTIOP case. - */ - TAO::HTIOP::Endpoint *htiop_endpoint = - this->remote_endpoint (endpoint); - - if (htiop_endpoint == 0) - return -1; - - const ACE::HTBP::Addr &remote_address = - htiop_endpoint->object_addr (); - - // Verify that the remote ACE::HTBP::Addr was initialized properly. - // Failure can occur if hostname lookup failed when initializing the - // remote ACE::HTBP::Addr. - if (remote_address.get_type () != AF_INET && - (remote_address.get_htid() == 0 || - ACE_OS::strlen(remote_address.get_htid()) == 0)) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) TAO_HTIOP 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; -} - -TAO_Transport * -TAO::HTIOP::Connector::make_connection (TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface &desc, - ACE_Time_Value *timeout) -{ - - /** - * \par - * Connector is used only in the processes inside the firewall - * This can connect to the remote address as it does always. - * If it is needed that the client first connect to the firewall - * and the firewall connects to the remote address, the code here - * should be modified to accomodate the requirement. And this would - * mean that we need to know the firewall address as well in this - * method. - * Probable checks would be - * 1. Check if the endpoint is outside the firewall - * 2. If so, connect to the firewall - * 3. Make the firewall connect to the outside server. - * - * \par Dated Oct 15: - */ - - TAO::HTIOP::Endpoint *htiop_endpoint = - this->remote_endpoint (desc.endpoint ()); - - if (htiop_endpoint == 0) - return 0; - - - ACE::HTBP::Session_Id_t session_id; - ACE_INET_Addr *proxy; - ACE_CString proxy_host; - unsigned proxy_port; - - int port_set = this->ht_env_->get_proxy_port(proxy_port); - int host_set = this->ht_env_->get_proxy_host(proxy_host); - if (port_set != 0 || - host_set != 0) - { - proxy_port = htiop_endpoint->port(); - proxy_host = htiop_endpoint->host(); - } - else - { - ACE::HTBP::ID_Requestor req(ht_env_); - session_id.local_ = req.get_HTID(); - } - - if (proxy_port == 0) - return 0; - - ACE_NEW_RETURN (proxy, - ACE_INET_Addr(static_cast (proxy_port),proxy_host.c_str()), - 0); - - session_id.peer_ = htiop_endpoint->object_addr (); - session_id.id_ = ACE::HTBP::Session::next_session_id(); - - if (TAO_debug_level > 2) - { - char buffer[BUFSIZ]; - htiop_endpoint->addr_to_string(buffer,BUFSIZ); - ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - TAO::HTIOP::Connector::make_connection, " - "to <%s>\n", - buffer)); - } - - // Get the right synch options - ACE_Synch_Options synch_options; - - this->active_connect_strategy_->synch_options (timeout, - synch_options); - - // If we don't need to block for a transport just set the timeout to - // be zero. - ACE_Time_Value tmp_zero (ACE_Time_Value::zero); - if (!r->blocked_connect ()) - { - synch_options.timeout (ACE_Time_Value::zero); - timeout = &tmp_zero; - } - - // This is where we need to set the ACE::HTBP::Stream to the connection - // handler. - TAO::HTIOP::Connection_Handler *svc_handler = 0; - - // In more traditional connectors, the following code would be part of a - // strategized connector's connect() method. This include making the - // handler, attaching the session, and activating the handler. - - // Instantiate a ACE::HTBP::Session - ACE::HTBP::Session *session = 0; - if (ACE::HTBP::Session::find_session (session_id, session) == -1) - { - ACE_NEW_RETURN (session, ACE::HTBP::Session (session_id,proxy, 1), 0); - if (ACE::HTBP::Session::add_session (session) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "ACE::HTBP::Initial_Filter::recv_data_header %p", - "add_session"), - 0); - } - - // Make the svc_handler - this->connect_creation_strategy_->make_svc_handler (svc_handler); - // we now have a connection handler that has an unconnected stream - - svc_handler->peer().session(session); - session->handler(svc_handler); - ACE::HTBP::Channel *outbound = session->outbound(); - ACE_UNUSED_ARG (outbound); - - // Activate immediately if we are connected. - this->concurrency_strategy_->activate_svc_handler (svc_handler,0); - - // The above code is a rendering of connect() that allows the session to - // reacquire a stream rather than opening a new one. - - int closed = svc_handler->is_closed(); - // At this point, the IIOP Connector has a result from an asynch connect - // strategy, which does not apply here. Therefore the whole bit of logic - // of dealing with a failed wait but an unclosed svc_handler is skipped. - - - // Regardless of success or failure, remove the extra #REFCOUNT#. - svc_handler->remove_reference (); - - if (closed) // would be result == -1 in IIOP_Connector - { - if (TAO_debug_level) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("(%P|%t) - TAO::HTIOP::Connector::make_connection, ") - ACE_TEXT("connection to <%s:%d> failed (%p)\n"), - htiop_endpoint->host (), htiop_endpoint->port (), - "errno")); - } - return 0; - } - - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("(%P|%t) - TAO::HTIOP::Connector::make_connection, ") - ACE_TEXT("new connection to <%s:%d> on Transport[%d]\n"), - htiop_endpoint->host (), htiop_endpoint->port (), - svc_handler->peer ().get_handle ())); - - TAO_Transport *transport = svc_handler->transport (); - - // Add the handler to Cache - // @todo several other things need to be done regarding the following - // code. - // @note The cache_transport would probably need to cache the session id - // with the local and remote addresses. - int retval = - this->orb_core ()->lane_resources (). - transport_cache ().cache_transport (&desc, transport); - - if (retval != 0) - { - svc_handler->close(); - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("(%P|%t) - TAO::HTIOP::Connector::make_connection, ") - ACE_TEXT("could not add the new") - ACE_TEXT(" connection to cache\n"))); - } - return 0; - } - - // If the wait strategy wants us to be registered with the reactor - // then we do so. - retval = transport->wait_strategy ()->register_handler (); - if (retval != 0) - { - transport->purge_entry (); - transport->close_connection(); - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("(%P|%t) - TAO::HTIOP::Connector::make_connection, ") - ACE_TEXT("could not register the new connection") - ACE_TEXT(" in the reactor\n"))); - } - return 0; - } - - return transport; -} - - -int -TAO::HTIOP::Connector::cancel_svc_handler ( - TAO_Connection_Handler * svc_handler) -{ - TAO::HTIOP::Connection_Handler* handler= - dynamic_cast (svc_handler); - - if (handler) - // Cancel from the connector - // this->base_connector_.cancel (handler); - return 0; - - return -1; - -} - - -/** - * @brief Create a profile and initialize it based on the - * encapsulation in - */ -TAO_Profile * -TAO::HTIOP::Connector::create_profile (TAO_InputCDR& cdr) -{ - TAO_Profile *pfile; - ACE_NEW_RETURN (pfile, - TAO::HTIOP::Profile (this->orb_core ()), - 0); - - int r = pfile->decode (cdr); - if (r == -1) - { - pfile->_decr_refcnt (); - pfile = 0; - } - - return pfile; -} - -/** - * @brief Create a profile with a given endpoint. - */ -TAO_Profile * -TAO::HTIOP::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::HTIOP::Profile (this->orb_core ()), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return profile; -} - -int -TAO::HTIOP::Connector::check_prefix (const char *endpoint) -{ - // Check for a valid string - if (!endpoint || !*endpoint) - return -1; // Failure - - const char *protocol[] = { "htiop" }; - - size_t slot = ACE_OS::strchr (endpoint, ':') - endpoint; - - size_t len0 = ACE_OS::strlen (protocol[0]); - - // Check for the proper prefix in the IOR. If the proper prefix - // isn't in the IOR then it is not an IOR we can use. - if (slot == len0 - && ACE_OS::strncasecmp (endpoint, protocol[0], len0) == 0) - return 0; - - return -1; - // Failure: not an TAO_HTIOP IOR - // DO NOT throw an exception here. -} - -char -TAO::HTIOP::Connector::object_key_delimiter (void) const -{ - return TAO::HTIOP::Profile::object_key_delimiter_; -} - -TAO::HTIOP::Endpoint * -TAO::HTIOP::Connector::remote_endpoint (TAO_Endpoint *endpoint) -{ - if (endpoint->tag () != OCI_TAG_HTIOP_PROFILE) - return 0; - - TAO::HTIOP::Endpoint *htiop_endpoint = - dynamic_cast (endpoint ); - - if (htiop_endpoint == 0) - return 0; - - return htiop_endpoint; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h deleted file mode 100644 index 62e06d6a988..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h +++ /dev/null @@ -1,137 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HTIOP_Connector.h - * - * $Id$ - * - * HTIOP specific connector processing - * - * - * @author Priyanka Gontla - */ -//============================================================================= - - -#ifndef HTIOP_CONNECTOR_H -#define HTIOP_CONNECTOR_H -#include /**/ "ace/pre.h" - -#include "tao/Connector_Impl.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/HTIOP/HTIOP_Connection_Handler.h" - -#include "tao/Transport_Connector.h" - -#include "ace/SOCK_Connector.h" -#include "ace/Connector.h" -#include "ace/OS.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -namespace ACE -{ - namespace HTBP - { - class Environment; - } -} -ACE_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace HTIOP - { - class Endpoint; - - /** - * @class HTIOP_Connector - * - * @brief HTIOP-specific Connector bridge for pluggable protocols. - * - * Concrete instance of the TAO_Connector class. Responsible - * for establishing a connection with a server and is called from the - * Connector_Registory. - */ - class HTIOP_Export Connector : public TAO_Connector - { - public: - typedef TAO_Connect_Concurrency_Strategy - CONNECT_CONCURRENCY_STRATEGY; - - typedef TAO_Connect_Creation_Strategy - CONNECT_CREATION_STRATEGY; - - /// Initialization and termination methods. - /// Constructor. - /// {@ - Connector (ACE::HTBP::Environment *ht_env); - - /// Destructor. - ~Connector (void); - - /// @} - - - /// The TAO_Connector methods, please check the documentation on - /// Transport_Connector.h - /// {@ - int open (TAO_ORB_Core *orb_core); - int close (void); - - TAO_Profile *create_profile (TAO_InputCDR& cdr); - - virtual int check_prefix (const char *endpoint); - - virtual char object_key_delimiter (void) const; - /// @} - - protected: - - // = The TAO_Connector methods, please check the documentation on - // Transport_Connector.h - int set_validate_endpoint (TAO_Endpoint *ep); - - TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface &desc, - ACE_Time_Value *timeout = 0); - - - /// More TAO_Connector methods, please check the documentation on - /// Transport_Connector.h - virtual TAO_Profile *make_profile (ACE_ENV_SINGLE_ARG_DECL); - - /// Cancel the passed cvs handler from the connector - /// Its not clear what it means to cancel in HTIOP, since there's no - /// base connector. - virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler); - - private: - - /// Return the remote endpoint, a helper function - Endpoint *remote_endpoint (TAO_Endpoint *ep); - - /// Our creation strategy - CONNECT_CREATION_STRATEGY *connect_creation_strategy_; - - /// Our activation strategy - CONNECT_CONCURRENCY_STRATEGY *concurrency_strategy_; - - /// reference to the configuration parameters - ACE::HTBP::Environment *ht_env_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* HTIOP_CONNECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp deleted file mode 100644 index 8c891ddaf38..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#ifndef HTIOP_CONNECTOR_IMPL_CPP -#define HTIOP_CONNECTOR_IMPL_CPP - -#include "orbsvcs/HTIOP/HTIOP_Connector_Impl.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO::HTIOP::Connect_Creation_Strategy:: -Connect_Creation_Strategy (ACE_Thread_Manager* t, - TAO_ORB_Core *orb_core, - void *arg, - CORBA::Boolean flag) - : ACE_Creation_Strategy (t), - orb_core_ (orb_core), - arg_ (arg), - lite_flag_ (flag) -{ - -} - -template int -TAO::HTIOP::Connect_Creation_Strategy::make_svc_handler (SVC_HANDLER *&sh) -{ - if (sh == 0) - ACE_NEW_RETURN (sh, - SVC_HANDLER (this->orb_core_, - this->lite_flag_, - this->arg_), - -1); - - // We add to the #REFCOUNT# since the Connector needs this. See - // Connector::make_connection() for details. - sh->add_reference (); - - return 0; -} - - -//////////////////////////////////////////////////////////////// - -template -TAO::HTIOP::Connect_Concurrency_Strategy:: -Connect_Concurrency_Strategy (TAO_ORB_Core *orb_core) - : orb_core_ (orb_core) -{ -} - -template int -TAO::HTIOP::Connect_Concurrency_Strategy:: -activate_svc_handler (SVC_HANDLER *sh, - void *arg) -{ - return ACE_Concurrency_Strategy::activate_svc_handler (sh, - arg); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* HTIOP_CONNECTOR_IMPL_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h deleted file mode 100644 index 5658b346919..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h +++ /dev/null @@ -1,128 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file HTIOP_Connector_Impl.h - * - * $Id$ - * - * @author Priyanka Gontla - */ -// =================================================================== - -#ifndef HTIOP_CONNECTOR_IMPL_H -#define HTIOP_CONNECTOR_IMPL_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/HTIOP/HTIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/corbafwd.h" -#include "ace/Strategies_T.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Thread_Manager; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ORB_Core; - -namespace TAO -{ - namespace HTIOP - { - - /** - * @class HTIOP_Connect_Creation_Strategy - * - * @brief Creation strategy helper - * - * Creates the HTIOP_*_Connection_Handler object for the HTIOP_Connector - * objects. This template class can now be used by all the Connector - * objects instead of having to duplicate code. This class can be used - * to set any required properties on the connection handlers at - * creation time. - * - */ - - template - class Connect_Creation_Strategy : public ACE_Creation_Strategy - { - public: - - /// Constructor. parameter is used to pass any special - /// state/info to the service handler upon creation. Currently used - /// by HTIOP to pass protocol configuration properties. - Connect_Creation_Strategy (ACE_Thread_Manager * = 0, - TAO_ORB_Core* orb_core = 0, - void *arg = 0, - CORBA::Boolean flag = 0); - - /// Makes HTIOP_Client_Connection_Handlers - virtual int make_svc_handler (SVC_HANDLER *&sh); - - - private: - - /// Pointer to the ORB_Core on which we are activated - TAO_ORB_Core* orb_core_; - - /// Some info/state to be passed to the service handler we create. - void *arg_; - - /// Are we using GIOP lite? - CORBA::Boolean lite_flag_; - }; - - - - /** - * @class HTIOP_Connect_Concurrency_Strategy - * - * @brief Concurrency strategy helper - * - * Activates the Svc_Handler, and then if the correct wait strategy is - * in use registers the handler with the reactor. - * - */ - - template - class Connect_Concurrency_Strategy : - public ACE_Concurrency_Strategy - { - public: - - /// Constructor. - Connect_Concurrency_Strategy (TAO_ORB_Core *orb_core); - - - /// Activates the Svc_Handler, and if the right wait strategy is in - /// use, registers the handle with the reactor. - int activate_svc_handler (SVC_HANDLER *svc_handler, - void *arg); - - private: - - /// Pointer to the ORB Core. - TAO_ORB_Core *orb_core_; - - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("HTIOP_Connector_Impl.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /*HTIOP_CONNECTOR_IMPL_H*/ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp deleted file mode 100644 index 2d3e6da6299..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp +++ /dev/null @@ -1,225 +0,0 @@ -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Endpoint.h" -#include "orbsvcs/HTIOP/HTIOP_Profile.h" - -#include "ace/os_include/os_netdb.h" -#include "ace/Log_Msg.h" - -#include "tao/IOPC.h" -#include "tao/debug.h" - - -ACE_RCSID (HTIOP, - TAO_HTIOP_Endpoint, - "$Id$") - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/HTIOP/HTIOP_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Endpoint::Endpoint (const ACE::HTBP::Addr &addr, - int use_dotted_decimal_addresses) - : TAO_Endpoint (OCI_TAG_HTIOP_PROFILE), - host_ (), - port_ (0), - htid_ (), - object_addr_ (addr), - object_addr_set_ (0), - next_ (0) -{ - this->set (addr, use_dotted_decimal_addresses); -} - -TAO::HTIOP::Endpoint::Endpoint (const char *host, - CORBA::UShort port, - const char *htid, - const ACE::HTBP::Addr &addr) - : TAO_Endpoint (OCI_TAG_HTIOP_PROFILE), - host_ (), - port_ (port), - htid_ (), - object_addr_ (addr), - object_addr_set_ (0), - next_ (0) -{ - if (host != 0) - this->host_ = host; - if (htid != 0) - this->htid_ = htid; -} - -TAO::HTIOP::Endpoint::Endpoint (void) - : TAO_Endpoint (OCI_TAG_HTIOP_PROFILE), - host_ (), - port_ (0), - htid_ (), - object_addr_ (), - object_addr_set_ (0), - next_ (0) -{ -} - -TAO::HTIOP::Endpoint::Endpoint (const char *host, - CORBA::UShort port, - const char *htid) - : TAO_Endpoint (OCI_TAG_HTIOP_PROFILE), - host_ (), - port_ (port), - htid_ (), - object_addr_ (), - object_addr_set_ (0), - next_ (0) -{ - if (host != 0) - this->host_ = host; - if (htid != 0) - this->htid_ = htid; -} - -TAO::HTIOP::Endpoint::~Endpoint (void) -{ -} - -int -TAO::HTIOP::Endpoint::set (const ACE::HTBP::Addr &addr, - int use_dotted_decimal_addresses) -{ - char tmp_host[MAXHOSTNAMELEN + 1]; - - if (use_dotted_decimal_addresses - || addr.get_host_name (tmp_host, sizeof (tmp_host)) != 0) - { - const char *tmp = addr.get_host_addr (); - if (tmp == 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n\nTAO (%P|%t) ") - ACE_TEXT ("TAO::HTIOP::Endpoint::set ") - ACE_TEXT ("- %p\n\n"), - ACE_TEXT ("cannot determine hostname"))); - return -1; - } - else - this->host_ = tmp; - } - else - this->host_ = CORBA::string_dup (tmp_host); - - this->port_ = addr.get_port_number(); - this->htid_ = addr.get_htid(); - return 0; -} - -int -TAO::HTIOP::Endpoint::addr_to_string (char *buffer, size_t length) -{ - if (this->port_ != 0) - { - size_t actual_len = - ACE_OS::strlen (this->host_.in ()) // chars in host name - + sizeof (':') // delimiter - + ACE_OS::strlen ("65536") // max port - + sizeof ('\0'); - - if (length < actual_len) - return -1; - - ACE_OS::sprintf (buffer, "%s:%d", - this->host_.in (), this->port_); - } - else - { - if (length < ACE_OS::strlen (this->htid_.in())+1) - return -1; - ACE_OS::strcpy (buffer,this->htid_.in()); - } - return 0; -} - -const char * -TAO::HTIOP::Endpoint::host (const char *h) -{ - this->host_ = h; - - return this->host_.in (); -} - -const char * -TAO::HTIOP::Endpoint::htid (const char *h) -{ - this->htid_ = h; - - return this->htid_.in (); -} - -void -TAO::HTIOP::Endpoint::reset_hint (void) -{ - // Commented out for the time being.... - /* if (this->hint_) - this->hint_->cleanup_hint ((void **) &this->hint_); */ -} - -TAO_Endpoint * -TAO::HTIOP::Endpoint::next (void) -{ - return this->next_; -} - -TAO_Endpoint * -TAO::HTIOP::Endpoint::duplicate (void) -{ - // @@ Bala, we probably need to make sure that the duplicate has the - // same priority as the original. Although it does not matter in - // the context this method is currently used, if somebody ends up - // using this method for some other purpose later, this will be a - // seed for bugs. - - TAO::HTIOP::Endpoint *endpoint = 0; - - ACE_NEW_RETURN (endpoint, - TAO::HTIOP::Endpoint (this->host_.in (), - this->port_, - this->htid_.in(), - this->object_addr_), - 0); - - return endpoint; -} - -CORBA::Boolean -TAO::HTIOP::Endpoint::is_equivalent (const TAO_Endpoint *other_endpoint) -{ - TAO_Endpoint *endpt = - const_cast (other_endpoint); - - TAO::HTIOP::Endpoint *endpoint = - dynamic_cast (endpt); - if (endpoint == 0) - return 0; - - if (this->htid_.in() && ACE_OS::strlen (this->htid_.in())) - return (endpoint->htid() && - ACE_OS::strcmp (this->htid_.in(),endpoint->htid()) == 0); - - return (this->port_ == endpoint->port_ - && (ACE_OS::strcmp(this->host(), endpoint->host()) == 0)); -} - -CORBA::ULong -TAO::HTIOP::Endpoint::hash (void) -{ - // We could call ACE::HTBP::Addr::hash() since it does much the same - // thing except that it converts the port from network byte order to - // host byte order. As such, this implementation is actually less - // costly. - if (this->htid_.in() && ACE_OS::strlen (this->htid_.in())) - return ACE::hash_pjw(this->htid_.in()); - return this->object_addr ().get_ip_address () + this->port (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.h deleted file mode 100644 index 2fa800fd7a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.h +++ /dev/null @@ -1,162 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HTIOP_Endpoint.h - * - * $Id$ - * - * HTIOP implementation of PP Framework Endpoint interface. - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef HTIOP_ENDPOINT_H -#define HTIOP_ENDPOINT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/HTIOP/HTIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/HTBP/HTBP_Addr.h" - -#include "tao/Endpoint.h" -#include "tao/ORB.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace HTIOP - { - - class Connection_Handler; - - /** - * @class Endpoint - * - * @brief Endpoint - * - * HTIOP-specific implementation of PP Framework Endpoint interface. - */ - class HTIOP_Export Endpoint : public TAO_Endpoint - { - public: - - friend class Profile; - friend class TAO_SSLIOP_Profile; - - // = Initialization and termination methods. - - /// Default constructor. - Endpoint (void); - - /// Constructor. This is the most efficient constructor since it - /// does not require any address resolution processing. - Endpoint (const char *host, - CORBA::UShort port, - const char *htid, - const ACE::HTBP::Addr &addr); - - /// Constructor. - Endpoint (const ACE::HTBP::Addr &addr, - int use_dotted_decimal_addresses); - - /// Constructor. This constructor is used when decoding endpoints. - Endpoint (const char *host, - CORBA::UShort port, - const char *htid); - - /// Destructor. - ~Endpoint (void); - - // = Implementation of abstract TAO_Endpoint methods. See - // Endpoint.h for their documentation. - - virtual TAO_Endpoint *next (void); - virtual int addr_to_string (char *buffer, size_t length); - virtual void reset_hint (void); - - /// Makes a copy of - virtual TAO_Endpoint *duplicate (void); - - /// Return true if this endpoint is equivalent to . Two - /// endpoints are equivalent iff their port and host are the same. - CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint); - - /// Return a hash value for this object. - CORBA::ULong hash (void); - - // Allocates memory and returns a copy of - - // = HTIOP_Endpoint-specific methods. - - /// Return a reference to the . - const ACE::HTBP::Addr &object_addr (void) const; - - /// Return a pointer to the host string. This object maintains - /// ownership of this string. - const char *host (void) const; - - /// Copy the string into and return the resulting pointer. - /// This object maintains ownership of this string. - const char *host (const char *h); - - /// Return the port number. - CORBA::UShort port (void) const; - - /// Set the port number. - CORBA::UShort port (CORBA::UShort p); - - /// Return a pointer to the host string. This object maintains - /// ownership of this string. - const char *htid (void) const; - - /// Copy the string into and return the resulting pointer. - /// This object maintains ownership of this string. - const char *htid (const char *h); - - //Connection_Handler *&hint (void); - // Access to our . - - private: - - /// Helper method for setting INET_Addr. - int set (const ACE::HTBP::Addr &addr, - int use_dotted_decimal_addresses); - - /// String representing the host name. - CORBA::String_var host_; - - /// TCP port number. - CORBA::UShort port_; - - CORBA::String_var htid_; - - /// Cached instance of for use in making - /// invocations, etc. - ACE::HTBP::Addr object_addr_; - - /// Flag to indicate if the address has been resolved and set. - int object_addr_set_; - - /// HTIOP Endpoints can be stringed into a list. Return the next - /// endpoint in the list, if any. - Endpoint *next_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/HTIOP/HTIOP_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* HTIOP_PROFILE_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.i b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.i deleted file mode 100644 index dffd4f6705b..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.i +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const ACE::HTBP::Addr & -TAO::HTIOP::Endpoint::object_addr (void) const -{ - // The object_addr_ is initialized here, rather than at IOR decode - // time for several reasons: - // 1. A request on the object may never be invoked. - // 2. The DNS setup may have changed dynamically. - // ...etc.. - - // Double checked locking optimization. - if (!this->object_addr_set_) - { - // We need to modify the object_addr_ in this method. Do so - // using a non-const copy of the pointer. - TAO::HTIOP::Endpoint *endpoint = - const_cast (this); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - endpoint->addr_lookup_lock_, - this->object_addr_ ); - - if (!this->object_addr_set_) - { - if (endpoint->object_addr_.set (this->port_, - this->host_.in (), - this->htid_.in ()) == -1) - { - // If this call fails, it most likely due a hostname - // lookup failure caused by a DNS misconfiguration. If - // a request is made to the object at the given host and - // port, then a CORBA::TRANSIENT() exception should be - // thrown. - - // Invalidate the ACE::HTBP::Addr. This is used as a flag - // to denote that ACE::HTBP::Addr initialization failed. - endpoint->object_addr_.set_type (-1); - } - else - { - endpoint->object_addr_set_ = 1; - } - } - } - - return this->object_addr_; -} - -ACE_INLINE const char * -TAO::HTIOP::Endpoint::host (void) const -{ - return this->host_.in (); -} - -ACE_INLINE const char * -TAO::HTIOP::Endpoint::htid (void) const -{ - return this->htid_.in (); -} - -ACE_INLINE CORBA::UShort -TAO::HTIOP::Endpoint::port (void) const -{ - return this->port_; -} - -ACE_INLINE CORBA::UShort -TAO::HTIOP::Endpoint::port (CORBA::UShort p) -{ - return this->port_ = p; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Export.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Export.h deleted file mode 100644 index 858abf88a1a..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -s HTIOP -// ------------------------------ -#ifndef HTIOP_EXPORT_H -#define HTIOP_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (HTIOP_HAS_DLL) -# define HTIOP_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && HTIOP_HAS_DLL */ - -#if !defined (HTIOP_HAS_DLL) -# define HTIOP_HAS_DLL 1 -#endif /* ! HTIOP_HAS_DLL */ - -#if defined (HTIOP_HAS_DLL) && (HTIOP_HAS_DLL == 1) -# if defined (HTIOP_BUILD_DLL) -# define HTIOP_Export ACE_Proper_Export_Flag -# define HTIOP_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define HTIOP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* HTIOP_BUILD_DLL */ -# define HTIOP_Export ACE_Proper_Import_Flag -# define HTIOP_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define HTIOP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* HTIOP_BUILD_DLL */ -#else /* HTIOP_HAS_DLL == 1 */ -# define HTIOP_Export -# define HTIOP_SINGLETON_DECLARATION(T) -# define HTIOP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* HTIOP_HAS_DLL == 1 */ - -// Set HTIOP_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (HTIOP_NTRACE) -# if (ACE_NTRACE == 1) -# define HTIOP_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define HTIOP_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !HTIOP_NTRACE */ - -#if (HTIOP_NTRACE == 1) -# define HTIOP_TRACE(X) -#else /* (HTIOP_NTRACE == 1) */ -# define HTIOP_TRACE(X) ACE_TRACE_IMPL(X) -#endif /* (HTIOP_NTRACE == 1) */ - -#endif /* HTIOP_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp deleted file mode 100644 index 8542907269b..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp +++ /dev/null @@ -1,146 +0,0 @@ -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Factory.h" -#include "orbsvcs/HTIOP/HTIOP_Acceptor.h" -#include "orbsvcs/HTIOP/HTIOP_Connector.h" -#include "orbsvcs/HTIOP/HTIOP_Profile.h" - -#include "ace/HTBP/HTBP_Environment.h" -#include "tao/IOPC.h" - -ACE_RCSID (HTIOP, - TAOHTIOP_Factory, - "$Id$") - -static const char the_prefix[] = "htiop"; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Protocol_Factory::Protocol_Factory (void) - : TAO_Protocol_Factory (OCI_TAG_HTIOP_PROFILE), - major_ (TAO_DEF_GIOP_MAJOR), - minor_ (TAO_DEF_GIOP_MINOR), - ht_env_ (0), - inside_ (-1) -{ -} - -TAO::HTIOP::Protocol_Factory::~Protocol_Factory (void) -{ - delete this->ht_env_; -} - -int -TAO::HTIOP::Protocol_Factory::match_prefix (const ACE_CString &prefix) -{ - // Check for the proper prefix for this protocol. - return (ACE_OS::strcasecmp (prefix.c_str (), ::the_prefix) == 0); -} - -const char * -TAO::HTIOP::Protocol_Factory::prefix (void) const -{ - return ::the_prefix; -} - -char -TAO::HTIOP::Protocol_Factory::options_delimiter (void) const -{ - return '/'; -} - -int -TAO::HTIOP::Protocol_Factory::init (int argc, - ACE_TCHAR* argv[]) -{ - const ACE_TCHAR * config_file = 0; - const ACE_TCHAR * persist_file = 0; - - ACE_stat statbuf; - int use_registry = 0; - - for (int i = 0; i < argc; i++) - { - if (ACE_OS::strcasecmp(argv[i], ACE_TEXT("-config")) == 0) - { - if (++i < argc) - if (ACE_OS::stat (argv[i],&statbuf) != -1) - config_file = argv[i]; - } - else if (ACE_OS::strcasecmp(argv[i], ACE_TEXT("-env_persist")) == 0) - { - if (++i < argc) - if (ACE_OS::stat (argv[i],&statbuf) != -1) - persist_file = argv[i]; - } - else if (ACE_OS::strcasecmp(argv[i], ACE_TEXT("-win32_reg")) == 0) - { - use_registry = 1; - } - else if (ACE_OS::strcasecmp(argv[i], ACE_TEXT("-inside")) == 0) - { - if (++i < argc) - this->inside_ = ::atoi (ACE_TEXT_ALWAYS_CHAR(argv[i])); - } - } - - ACE_NEW_RETURN (this->ht_env_, - ACE::HTBP::Environment(0, - use_registry, - persist_file), - -1); - - if (config_file != 0) - this->ht_env_->import_config (config_file); - - return 0; -} - -TAO_Acceptor * -TAO::HTIOP::Protocol_Factory::make_acceptor (void) -{ - TAO_Acceptor *acceptor = 0; - - ACE_NEW_RETURN (acceptor, - TAO::HTIOP::Acceptor (this->ht_env_, - this->inside_), - 0); - return acceptor; -} - -TAO_Connector * -TAO::HTIOP::Protocol_Factory::make_connector (void) -{ - TAO_Connector *connector = 0; - ACE_NEW_RETURN (connector, - TAO::HTIOP::Connector (this->ht_env_), - 0); - return connector; -} - -int -TAO::HTIOP::Protocol_Factory::requires_explicit_endpoint (void) const -{ - return 0; -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_HTIOP_Protocol_Factory, - ACE_TEXT ("HTIOP_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_HTIOP_Protocol_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - - -// Since the actual class instantiated by the factory is scoped inside a -// namespace, this macro is used in place of ACE_FACTORY_DEFINE, athough -// the declaration macro is the same. Note that the second argument must -// match the name class name used in the ACE_FACTORY_DECLARE, and the -// third argument is the fully scoped class to be instantiated. -ACE_FACTORY_NAMESPACE_DEFINE (HTIOP, - TAO_HTIOP_Protocol_Factory, - TAO::HTIOP::Protocol_Factory) diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h deleted file mode 100644 index 276d0f1199e..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HTIOP_Factory.h - * - * $Id$ - * - * @author Fred Kuhns - */ -//============================================================================= - - -#ifndef HTIOP_FACTORY_H -#define HTIOP_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/HTIOP/HTIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Protocol_Factory.h" -#include "ace/Service_Config.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -namespace ACE -{ - namespace HTBP - { - class Environment; - } -} -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace HTIOP - { - - class HTIOP_Export Protocol_Factory : public TAO_Protocol_Factory - { - public: - Protocol_Factory (void); - virtual ~Protocol_Factory (void); - - // = Service Configurator hooks. - /// Dynamic linking hook - virtual int init (int argc, ACE_TCHAR* argv[]); - - /// Verify prefix is a match - virtual int match_prefix (const ACE_CString &prefix); - - /// Returns the prefix used by the protocol. - virtual const char *prefix (void) const; - - /// Return the character used to mark where an endpoint ends and - /// where its options begin. - virtual char options_delimiter (void) const; - - // = 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_; - - /// Configuration reference - ACE::HTBP::Environment *ht_env_; - - /// Flag used to determine if an acceptor should use an "inside" - /// local address, or try to compose an "outside" address. - /// If the value is 1, then always use an HTID for local addr, - /// otherwise use host:port if 0, or guess based on proxy config - /// if -1. The default is -1. - int inside_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// Note that these declarations are placed outside of the scope of the -// namespace. The generated functions use a C style signature which does -// not accomodate namespaces, so assuming namespace concatination is an -// error. The service class name should be composed of a flattened class -// name, with the namespaces preceeding the class name with '_'. -ACE_STATIC_SVC_DECLARE_EXPORT (HTIOP, TAO_HTIOP_Protocol_Factory) -ACE_FACTORY_DECLARE (HTIOP, TAO_HTIOP_Protocol_Factory) - -#include /**/ "ace/post.h" -#endif /* HTIOP_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.cpp deleted file mode 100644 index 63d4a82db22..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.cpp +++ /dev/null @@ -1,473 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Profile.h" -#include "orbsvcs/HTIOP/htiop_endpointsC.h" - -#include "ace/os_include/os_netdb.h" - -#include "tao/CDR.h" -#include "tao/Environment.h" -#include "tao/ORB.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" - -ACE_RCSID(HTIOP, - TAO_HTIOP_Profile, - "$Id$") - -static const char the_prefix[] = "htiop"; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const char TAO::HTIOP::Profile::object_key_delimiter_ = '/'; - -char -TAO::HTIOP::Profile::object_key_delimiter (void) const -{ - return TAO::HTIOP::Profile::object_key_delimiter_; -} - -TAO::HTIOP::Profile::Profile (const ACE::HTBP::Addr &addr, - const TAO::ObjectKey &object_key, - const TAO_GIOP_Message_Version &version, - TAO_ORB_Core *orb_core) - : TAO_Profile (OCI_TAG_HTIOP_PROFILE, - orb_core, - object_key, - version), - endpoint_ (addr, - orb_core->orb_params ()->use_dotted_decimal_addresses ()), - count_ (1) -{ -} - -TAO::HTIOP::Profile::Profile (const char* host, - CORBA::UShort port, - const char* htid, - const TAO::ObjectKey &object_key, - const ACE::HTBP::Addr &addr, - const TAO_GIOP_Message_Version &version, - TAO_ORB_Core *orb_core) - : TAO_Profile (OCI_TAG_HTIOP_PROFILE, - orb_core, - object_key, - version), - endpoint_ (host, port, htid, addr), - count_ (1) -{ -} - -TAO::HTIOP::Profile::Profile (TAO_ORB_Core *orb_core) - : TAO_Profile (OCI_TAG_HTIOP_PROFILE, - orb_core, - TAO_GIOP_Message_Version (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR)), - endpoint_ (), - count_ (1) -{ -} - -TAO::HTIOP::Profile::~Profile (void) -{ - // Clean up the list of endpoints since we own it. - // Skip the head, since it is not dynamically allocated. - TAO_Endpoint *tmp = 0; - - for (TAO_Endpoint *next = this->endpoint ()->next (); - next != 0; - next = tmp) - { - tmp = next->next (); - delete next; - } -} - -// return codes: -// -1 -> error -// 0 -> can't understand this version -// 1 -> success. - -int -TAO::HTIOP::Profile::decode_profile (TAO_InputCDR& cdr) -{ - - // Decode host and port into the . - if (cdr.read_string (this->endpoint_.host_.out ()) == 0 - || cdr.read_ushort (this->endpoint_.port_) == 0 - || cdr.read_string (this->endpoint_.htid_.out()) == 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) TAO::HTIOP::Profile::decode - ") - ACE_TEXT ("error while decoding host/port"))); - return -1; - } - - if (cdr.good_bit ()) - { - // Invalidate the object_addr_ until first access. - this->endpoint_.object_addr_.set_type (-1); - - return 1; - } - return -1; -} - -void -TAO::HTIOP::Profile::parse_string_i (const char *ior - ACE_ENV_ARG_DECL) -{ - // Pull off the "hostname:port#token/" part of the objref - // Copy the string because we are going to modify it... - - const char *okd = ACE_OS::strchr (ior, this->object_key_delimiter_); - - if (okd == 0 || okd == ior) - { - // No object key delimiter or no hostname specified. - ACE_THROW (CORBA::INV_OBJREF - (CORBA::SystemException::_tao_minor_code - (TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - // Length of host string. - CORBA::ULong length_host = 0; - - const char *cp_pos = ACE_OS::strchr (ior, ':'); // Look for a port - - if (cp_pos == ior) - { - // No hostname specified! It is required by the spec. - ACE_THROW (CORBA::INV_OBJREF - (CORBA::SystemException::_tao_minor_code - (TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - else if (cp_pos != 0) - { - // A port number or port name was specified. - CORBA::ULong length_port = okd - cp_pos - 1; - - CORBA::String_var tmp = CORBA::string_alloc (length_port); - - ACE_OS::strncpy (tmp.inout (), cp_pos + 1, length_port); - tmp[length_port] = '\0'; - - this->endpoint_.port_ = - static_cast (ACE_OS::atoi (tmp.in ())); - - length_host = cp_pos - ior; - } - else - length_host = okd - ior; - - CORBA::String_var tmp = CORBA::string_alloc (length_host); - - // Skip the trailing '/' - ACE_OS::strncpy (tmp.inout (), ior, length_host); - tmp[length_host] = '\0'; - - this->endpoint_.host_ = tmp._retn (); - - if (ACE_OS::strcmp (this->endpoint_.host_.in (), "") == 0) - { - ACE::HTBP::Addr host_addr; - - char tmp_host [MAXHOSTNAMELEN + 1]; - - // If no host is specified: assign the default host, i.e. the - // local host. - if (host_addr.get_host_name (tmp_host, - sizeof (tmp_host)) != 0) - { - // Can't get the IP address since the INET_Addr wasn't - // initialized. Just throw an exception. - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n\nTAO (%P|%t) ") - ACE_TEXT ("TAO::HTIOP::Profile::parse_string ") - ACE_TEXT ("- %p\n\n"), - ACE_TEXT ("cannot determine hostname"))); - - // @@ What's the right exception to throw here? - ACE_THROW (CORBA::INV_OBJREF - (CORBA::SystemException::_tao_minor_code - (TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - else - this->endpoint_.host_ = CORBA::string_dup (tmp_host); - } - - TAO::ObjectKey ok; - TAO::ObjectKey::decode_string_to_sequence (ok, okd + 1); - - (void) this->orb_core ()->object_key_table ().bind (ok, - this->ref_object_key_); -} - -CORBA::Boolean -TAO::HTIOP::Profile::do_is_equivalent (const TAO_Profile *other_profile) -{ - const TAO::HTIOP::Profile *op = - dynamic_cast (other_profile); - - if (op == 0) - return 0; - - // Check endpoints equivalence. - const TAO::HTIOP::Endpoint *other_endp = &op->endpoint_; - for (TAO::HTIOP::Endpoint *endp = &this->endpoint_; - endp != 0; - endp = endp->next_) - { - if (endp->is_equivalent (other_endp)) - other_endp = other_endp->next_; - else - return 0; - } - - return 1; -} - -CORBA::ULong -TAO::HTIOP::Profile::hash (CORBA::ULong max - ACE_ENV_ARG_DECL_NOT_USED) -{ - // Get the hashvalue for all endpoints. - CORBA::ULong hashval = 0; - for (TAO::HTIOP::Endpoint *endp = &this->endpoint_; - endp != 0; - endp = endp->next_) - { - hashval += endp->hash (); - } - - hashval += this->version_.minor; - hashval += this->tag (); - - const TAO::ObjectKey &ok = - this->ref_object_key_->object_key (); - - if (ok.length () >= 4) - { - hashval += ok[1]; - hashval += ok[3]; - } - - return hashval % max; -} - -TAO_Endpoint* -TAO::HTIOP::Profile::endpoint (void) -{ - return &this->endpoint_; -} - -CORBA::ULong -TAO::HTIOP::Profile::endpoint_count (void) const -{ - return this->count_; -} - -void -TAO::HTIOP::Profile::add_endpoint (TAO::HTIOP::Endpoint *endp) -{ - endp->next_ = this->endpoint_.next_; - this->endpoint_.next_ = endp; - - this->count_++; -} - -char * -TAO::HTIOP::Profile::to_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - CORBA::String_var key; - TAO::ObjectKey::encode_sequence_to_string (key.inout(), - this->ref_object_key_->object_key ()); - - size_t buflen = (8 /* "corbaloc" */ + - 1 /* colon separator */ + - ACE_OS::strlen (::the_prefix) + - 1 /* colon separator */ + - 1 /* major version */ + - 1 /* decimal point */ + - 1 /* minor version */ + - 1 /* `@' character */ + - ACE_OS::strlen (this->endpoint_.host ()) + - 1 /* colon separator */ + - 5 /* port number */ + - 1 /* object key separator */ + - ACE_OS::strlen (key.in ())); - - char * buf = CORBA::string_alloc (static_cast (buflen)); - - static const char digits [] = "0123456789"; - - ACE_OS::sprintf (buf, - "corbaloc:%s:%c.%c@%s:%d%c%s", - ::the_prefix, - digits [this->version_.major], - digits [this->version_.minor], - this->endpoint_.host (), - this->endpoint_.port (), - this->object_key_delimiter_, - key.in ()); - - return buf; -} - - - -const char * -TAO::HTIOP::Profile::prefix (void) -{ - return ::the_prefix; -} - -void -TAO::HTIOP::Profile::create_profile_body (TAO_OutputCDR &encap) const -{ - encap.write_octet (TAO_ENCAP_BYTE_ORDER); - - // The GIOP version - encap.write_octet (this->version_.major); - encap.write_octet (this->version_.minor); - - // STRING hostname from profile - encap.write_string (this->endpoint_.host ()); - - // UNSIGNED SHORT port number - encap.write_ushort (this->endpoint_.port ()); - - // STRING htid - encap.write_string (this->endpoint_.htid ()); - - // OCTET SEQUENCE for object key - if (this->ref_object_key_) - encap << this->ref_object_key_->object_key (); - else - { - ACE_ERROR ((LM_ERROR, - "(%P|%t) TAO - IIOP_Profile::create_profile_body " - "no object key marshalled \n")); - } - - if (this->version_.major > 1 - || this->version_.minor > 0) - this->tagged_components ().encode (encap); -} - -int -TAO::HTIOP::Profile::encode_endpoints () -{ - // Create a data structure and fill it with endpoint info for wire - // transfer. - // We include information for the head of the list - // together with other endpoints because even though its addressing - // info is transmitted using standard ProfileBody components, its - // priority is not! - - HTIOPEndpointSequence endpoints; - endpoints.length (this->count_); - - const TAO::HTIOP::Endpoint *endpoint = &this->endpoint_; - for (CORBA::ULong i = 0; - i < this->count_; - ++i) - { - endpoints[i].host = endpoint->host (); - endpoints[i].port = endpoint->port (); - endpoints[i].htid = endpoint->htid (); - - endpoint = endpoint->next_; - } - - // Encode the data structure. - TAO_OutputCDR out_cdr; - if ((out_cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER) - == 0) - || (out_cdr << endpoints) == 0) - return -1; - size_t length = out_cdr.total_length (); - - IOP::TaggedComponent tagged_component; - tagged_component.tag = TAO_TAG_ENDPOINTS; - tagged_component.component_data.length (static_cast (length)); - CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - for (const ACE_Message_Block *iterator = out_cdr.begin (); - iterator != 0; - iterator = iterator->cont ()) - { - size_t i_length = iterator->length (); - ACE_OS::memcpy (buf, iterator->rd_ptr (), i_length); - - buf += i_length; - } - - // Add component with encoded endpoint data to this profile's - // TaggedComponents. - tagged_components_.set_component (tagged_component); - - return 0; -} - -int -TAO::HTIOP::Profile::decode_endpoints (void) -{ - IOP::TaggedComponent tagged_component; - tagged_component.tag = TAO_TAG_ENDPOINTS; - - if (this->tagged_components_.get_component (tagged_component)) - { - const CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - TAO_InputCDR in_cdr (reinterpret_cast (buf), - tagged_component.component_data.length ()); - - // Extract the Byte Order. - CORBA::Boolean byte_order; - if ((in_cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_ERROR_RETURN ((LM_ERROR,"boolean byte_order extraction failed\n"), - -1); - in_cdr.reset_byte_order (static_cast (byte_order)); - - // Extract endpoints sequence. - HTIOPEndpointSequence endpoints; - - if ((in_cdr >> endpoints) == 0) - ACE_ERROR_RETURN ((LM_ERROR,"endpoint sequence extraction failed\n"), - -1); - - // Use information extracted from the tagged component to - // populate the profile. Skip the first endpoint, since it is - // always extracted through standard profile body. Also, begin - // from the end of the sequence to preserve endpoint order, - // since method reverses the order of endpoints - // in the list. - for (CORBA::ULong i = endpoints.length() -1; - i > 0; - --i) - { - TAO::HTIOP::Endpoint *endpoint = 0; - ACE_NEW_RETURN (endpoint, - TAO::HTIOP::Endpoint (endpoints[i].host, - endpoints[i].port, - endpoints[i].htid), - -1); - this->add_endpoint (endpoint); - } - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.h deleted file mode 100644 index 938666a6bfc..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.h +++ /dev/null @@ -1,151 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HTIOP_Profile.h - * - * $Id$ - * - * HTIOP profile specific processing - * - * - * @author Fred Kuhns - */ -//============================================================================= - - -#ifndef HTIOP_PROFILE_H -#define HTIOP_PROFILE_H -#include /**/ "ace/pre.h" - -#include "tao/Profile.h" -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Object_KeyC.h" -#include "orbsvcs/HTIOP/HTIOP_Endpoint.h" - -#include "ace/Synch.h" - -#if !defined (OCI_TAG_HTIOP_PROFILE) -# define OCI_TAG_HTIOP_PROFILE 0x4f434902U -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace HTIOP - { - - // TAO HTIOP_Profile concrete Profile definitions - /** - * @class HTIOP_Profile - * - * @brief This class defines the protocol specific attributes required - * for locating ORBs over a TCP/IP network. - * - * This class defines the HTIOP profile as specified in the CORBA - * specification. - */ - class HTIOP_Export Profile : public TAO_Profile - { - public: - /// The object key delimiter that HTIOP uses or expects. - static const char object_key_delimiter_; - virtual char object_key_delimiter (void) const; - - /// Return the char string prefix. - static const char *prefix (void); - - /// Profile constructor, same as above except the object_key has - /// already been marshaled. - Profile (const ACE::HTBP::Addr &addr, - const TAO::ObjectKey &object_key, - const TAO_GIOP_Message_Version &version, - TAO_ORB_Core *orb_core); - - /// Profile constructor, this is the most efficient since it - /// doesn't require any address resolution processing. - Profile (const char *host, - CORBA::UShort port, - const char *htid, - const TAO::ObjectKey &object_key, - const ACE::HTBP::Addr &addr, - const TAO_GIOP_Message_Version &version, - TAO_ORB_Core *orb_core); - - /// Profile constructor, default. - Profile (TAO_ORB_Core *orb_core); - - /// Destructor is to be called only through <_decr_refcnt>. - ~Profile (void); - - /** - * Return a string representation for this profile. - * client must deallocate memory. - * This is used to create url-style reference. Only one - * endpoint is included into the string. - */ - virtual char * to_string (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Endpoints are transmitted using TAO-proprietory tagged component. - * Component tag is TAO_TAG_ENDPOINTS and component data is an - * encapsulation of a sequence of structs, each representing a - * single endpoint. Data format is specified in iiop_endpoins.pidl. - */ - virtual int encode_endpoints (void); - - /// Return pointer to the head of this profile's endpoints list. - virtual TAO_Endpoint *endpoint (void); - - /// Return how many endpoints this profile contains. - virtual CORBA::ULong endpoint_count (void) const; - - /** - * Add to this profile's list of endpoints (it is inserted - * next to the head of the list). This profiles takes ownership of - * . - */ - void add_endpoint (Endpoint *endp); - - /// Return a hash value for this object. - virtual CORBA::ULong hash (CORBA::ULong max - ACE_ENV_ARG_DECL); - - protected: - - /// Template methods. Please see Profile.h for the documentation. - virtual int decode_profile (TAO_InputCDR &cdr); - virtual int decode_endpoints (void); - virtual void parse_string_i (const char *string - ACE_ENV_ARG_DECL); - virtual void create_profile_body (TAO_OutputCDR &cdr) const; - virtual CORBA::Boolean do_is_equivalent (const TAO_Profile *other_profile); - - protected: - - /** - * Head of this profile's list of endpoints. This endpoint is not - * dynamically allocated because a profile always contains at least - * one endpoint. - * - * Addressing info of the default endpoint, i.e., head of the list, - * is transmitted using standard HTIOP ProfileBody components. See - * method documentation above for how the rest of - * the endpoint list is transmitted. - */ - Endpoint endpoint_; - - /// Number of endpoints in the list headed by . - CORBA::ULong count_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* HTIOP_PROFILE_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp deleted file mode 100644 index 6325f6920dd..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp +++ /dev/null @@ -1,456 +0,0 @@ -// $Id$ - -#include "orbsvcs/HTIOP/HTIOP_Transport.h" - -#include "orbsvcs/HTIOP/HTIOP_Connection_Handler.h" -#include "orbsvcs/HTIOP/HTIOP_Acceptor.h" -#include "orbsvcs/HTIOP/HTIOP_Profile.h" -#include "ace/HTBP/HTBP_Session.h" - -#include "tao/Acceptor_Registry.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/operation_details.h" -#include "tao/Timeprobe.h" -#include "tao/CDR.h" -#include "tao/Transport_Mux_Strategy.h" -#include "tao/Wait_Strategy.h" -#include "tao/Stub.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "tao/GIOP_Message_Base.h" -#include "tao/GIOP_Message_Lite.h" -#include "tao/Protocols_Hooks.h" -#include "tao/Adapter.h" - -ACE_RCSID (HTIOP, - TAO_HTIOP_Transport, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::HTIOP::Transport::Transport (TAO::HTIOP::Connection_Handler *h, - TAO_ORB_Core *orb_core, - CORBA::Boolean flag) - : TAO_Transport (OCI_TAG_HTIOP_PROFILE, orb_core), - connection_handler_ (h), - messaging_object_ (0) -{ - if (flag) - { - // Use the lite version of the protocol - ACE_NEW (this->messaging_object_, - TAO_GIOP_Message_Lite (orb_core)); - } - else - { - // Use the normal GIOP object - ACE_NEW (this->messaging_object_, - TAO_GIOP_Message_Base (orb_core, this)); - } -} - -TAO::HTIOP::Transport::~Transport (void) -{ - delete this->messaging_object_; -} - -ACE_Event_Handler * -TAO::HTIOP::Transport::event_handler_i (void) -{ - return this->connection_handler_; -} - -TAO_Connection_Handler * -TAO::HTIOP::Transport::connection_handler_i (void) -{ - return this->connection_handler_; -} - -TAO_Pluggable_Messaging * -TAO::HTIOP::Transport::messaging_object (void) -{ - return this->messaging_object_; -} - -ssize_t -TAO::HTIOP::Transport::send (iovec *iov, int iovcnt, - size_t &bytes_transferred, - const ACE_Time_Value *max_wait_time) -{ - ACE_UNUSED_ARG (max_wait_time); - ssize_t retval = this->connection_handler_->peer ().sendv (iov, iovcnt, - max_wait_time); - if (retval > 0) - { - bytes_transferred = retval; - } - - return retval; -} - -ssize_t -TAO::HTIOP::Transport::recv (char *buf, - size_t len, - const ACE_Time_Value *max_wait_time) -{ - ssize_t n = this->connection_handler_->peer ().recv (buf, - len, - max_wait_time); - - // Do not print the error message if it is a timeout, which could - // occur in thread-per-connection. - if (n == -1 && - TAO_debug_level > 4 && - errno != ETIME) - { - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - TAO::HTIOP::Transport[%d]::recv_i, ") - ACE_TEXT ("read failure - %m"), - this->id ())); - } - - // Error handling - if (n == -1) - { - if (errno == EWOULDBLOCK) - return 0; - - - return -1; - } - - // Most of the errors handling is common for - // Now the message has been read - - // @@ What are the other error handling here?? - else if (n == 0) - { - return -1; - } - - return n; -} - -int -TAO::HTIOP::Transport::register_handler (void) -{ - if (TAO_debug_level > 4) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("TAO (%P|%t) - TAO::HTIOP::Transport[%d]::register_handler\n"), - this->id ())); - } - - ACE_Reactor *r = this->orb_core_->reactor (); - if (r == this->connection_handler_->reactor ()) - return 0; - - // Set the flag in the Connection Handler and in the Wait Strategy - // @@Maybe we should set these flags after registering with the - // reactor. What if the registration fails??? - this->ws_->is_registered (1); - - ACE::HTBP::Session *s = this->connection_handler_->peer().session(); - if (s) - s->reactor(r); - ACE::HTBP::Channel *ch = s->inbound(); - return r->register_handler (ch->notifier(), - ACE_Event_Handler::READ_MASK); -} - - -int -TAO::HTIOP::Transport::send_request (TAO_Stub *stub, - TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int message_semantics, - ACE_Time_Value *max_wait_time) -{ - if (this->ws_->sending_request (orb_core, - message_semantics) == -1) - - return -1; - - if (this->send_message (stream, - stub, - message_semantics, - max_wait_time) == -1) - return -1; - - this->first_request_sent(); - - return this->idle_after_send (); -} - -int -TAO::HTIOP::Transport::send_message (TAO_OutputCDR &stream, - TAO_Stub *stub, - int message_semantics, - ACE_Time_Value *max_wait_time) -{ - // Format the message in the stream first - if (this->messaging_object_->format_message (stream) != 0) - return -1; - - // This guarantees to send all data (bytes) or return an error. - ssize_t n = this->send_message_shared (stub, - message_semantics, - stream.begin (), - max_wait_time); - - if (n == -1) - { - // Dont try to be smart and request for %p in the debug - // statement. If the event handler is destroyed the transport - // would return -1 with errno set to ENOENT. %p then would dump - // a core. %m would then be softer on this. - if (TAO_debug_level) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - TAO::HTIOP::Transport[%d]::send_message, ") - ACE_TEXT (" write failure - %m\n"), - this->id ())); - return -1; - } - - return 1; -} - -int -TAO::HTIOP::Transport::send_message_shared (TAO_Stub *stub, - int message_semantics, - const ACE_Message_Block *message_block, - ACE_Time_Value *max_wait_time) -{ - int r; - { - ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->handler_lock_, -1); - - r = this->send_message_shared_i (stub, message_semantics, - message_block, max_wait_time); - } - - if (r == -1) - { - this->close_connection (); - } - - return r; -} - -int -TAO::HTIOP::Transport::generate_request_header (TAO_Operation_Details &opdetails, - TAO_Target_Specification &spec, - TAO_OutputCDR &msg) -{ - // Check whether we have a Bi Dir HTIOP policy set, whether the - // messaging objects are ready to handle bidirectional connections - // and also make sure that we have not recd. or sent any information - // regarding this before... - if (this->orb_core ()->bidir_giop_policy () && - this->messaging_object_->is_ready_for_bidirectional (msg) && - this->bidirectional_flag () < 0) - { - this->set_bidir_context_info (opdetails); - - // Set the flag to 1 (i.e., originating side) - this->bidirectional_flag (1); - - // At the moment we enable BiDIR giop we have to get a new - // request id to make sure that we follow the even/odd rule - // for request id's. We only need to do this when enabled - // it, after that the Transport Mux Strategy will make sure - // that the rule is followed - opdetails.request_id (this->tms ()->request_id ()); - } - - return TAO_Transport::generate_request_header (opdetails, - spec, - msg); -} - - -int -TAO::HTIOP::Transport::messaging_init (CORBA::Octet major, - CORBA::Octet minor) -{ - this->messaging_object_->init (major, - minor); - return 1; -} - -int -TAO::HTIOP::Transport::tear_listen_point_list (TAO_InputCDR &cdr) -{ - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - - cdr.reset_byte_order (static_cast (byte_order)); - - ::HTIOP::ListenPointList listen_list; - if ((cdr >> listen_list) == 0) - ACE_ERROR_RETURN ((LM_ERROR,"tear_listen_point_list: no list\n"),-1); - //return -1; - - // As we have received a bidirectional information, set the flag to - // 1 (i.e., non-originating side) - this->bidirectional_flag (0); - - // Just make sure that the connection handler is sane before we go - // head and do anything with it. - ACE_GUARD_RETURN (ACE_Lock, - ace_mon, - *this->handler_lock_, - -1); - - return this->connection_handler_->process_listen_point_list (listen_list); -} - -void -TAO::HTIOP::Transport::set_bidir_context_info (TAO_Operation_Details &opdetails) -{ - ACE_UNUSED_ARG (opdetails); - - // Get a handle to the acceptor registry - TAO_Acceptor_Registry &ar = - this->orb_core ()->lane_resources ().acceptor_registry (); - - // Get the first acceptor in the registry - TAO_AcceptorSetIterator acceptor = ar.begin (); - - ::HTIOP::ListenPointList listen_point_list; - - for (; - acceptor != ar.end (); - acceptor++) - { - // Check whether it is a HTIOP acceptor - if ((*acceptor)->tag () == OCI_TAG_HTIOP_PROFILE) - { - if (this->get_listen_point (listen_point_list, - *acceptor) == -1) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("TAO (%P|%t) - TAO::HTIOP::Transport::set_bidir_info, "), - ACE_TEXT("error getting listen_point \n"))); - - return; - } - } - } - - // We have the ListenPointList at this point. Create a output CDR - // stream at this point - TAO_OutputCDR cdr; - - // Marshall the information into the stream - if ((cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER) == 0) - || (cdr << listen_point_list) == 0) - return; - - // Add this info in to the svc_list - opdetails.request_service_context ().set_context (IOP::BI_DIR_IIOP, - cdr); - - return; -} - -int -TAO::HTIOP::Transport::get_listen_point (::HTIOP::ListenPointList &lp_list, - TAO_Acceptor *acceptor) -{ - TAO::HTIOP::Acceptor *htiop_acceptor = - dynamic_cast (acceptor ); - - // Get the array of endpoints serviced by TAO::HTIOP::Acceptor - const ACE::HTBP::Addr *endpoint_addr = - htiop_acceptor->endpoints (); - - // Get the endpoint count - size_t count = - htiop_acceptor->endpoint_count (); - - // Get the local address of the connection - ACE::HTBP::Addr local_addr; - { - // Just make sure that the connection handler is sane before we go - // head and do anything with it. - ACE_GUARD_RETURN (ACE_Lock, - ace_mon, - *this->handler_lock_, - -1); - - if (this->connection_handler_->peer ().get_local_addr (local_addr) - == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("(%P|%t) Could not resolve local ") - ACE_TEXT ("host address in ") - ACE_TEXT ("get_listen_point()\n")), - -1); - } - } - - if (local_addr.get_port_number() != 0) - { - - // Note: Looks like there is no point in sending the list of - // endpoints on interfaces on which this connection has not - // been established. If this is wrong, please correct me. - CORBA::String_var local_interface; - - // Get the hostname for the local address - if (htiop_acceptor->hostname (this->orb_core_, - local_addr, - local_interface.out ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("(%P|%t) Could not resolve local host") - ACE_TEXT (" name \n")), - -1); - } - - for (size_t index = 0; - index != count; - index++) - { - if (local_addr.get_ip_address() - == endpoint_addr[index].get_ip_address()) - { - // Get the count of the number of elements - CORBA::ULong len = lp_list.length (); - - // Increase the length by 1 - lp_list.length (len + 1); - - // We have the connection and the acceptor endpoint on the - // same interface - ::HTIOP::ListenPoint &point = lp_list[len]; - point.host = CORBA::string_dup (local_interface.in ()); - point.port = endpoint_addr[index].get_port_number (); - } - } - } - else - { - // Only add a single listen point based on the htid in the addr - lp_list.length (1); - ::HTIOP::ListenPoint &point = lp_list[0]; - point.host = CORBA::string_dup (""); - point.port = 0; - point.htid = endpoint_addr[0].get_htid(); - } - return 1; -} - - -TAO_Connection_Handler * -TAO::HTIOP::Transport::invalidate_event_handler_i (void) -{ - TAO_Connection_Handler * eh = this->connection_handler_; - this->connection_handler_ = 0; - return eh; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h b/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h deleted file mode 100644 index 6db9ca8dcfc..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h +++ /dev/null @@ -1,168 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file HTIOP_Transport.h - * - * $Id$ - * - * @author Originally by Fred Kuhns - * @author Modified by Balachandran Natarajan - */ -// =================================================================== - -#ifndef TAO_HTIOP_TRANSPORT_H -#define TAO_HTIOP_TRANSPORT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/HTIOP/HTIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/HTIOPC.h" - -#include "ace/HTBP/HTBP_Stream.h" - -#include "tao/Transport.h" - -#include "ace/Synch.h" -#include "ace/Svc_Handler.h" -//#include "HTIOP/HTIOPC.h" - -# if defined (ACE_HAS_TEMPLATE_TYPEDEFS) -# define ACE_HTBP_STREAM ACE::HTBP::Stream -# else /* If TEMPLATES are broken in some form or another */ -# define ACE_HTBP_STREAM ACE::HTBP::Stream, ACE::HTBP::Addr -#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward decls. -class TAO_ORB_Core; -class TAO_Operation_Details; -class TAO_Pluggable_Messaging; -class TAO_Acceptor; -class TAO_Adapter; - -namespace TAO -{ - namespace HTIOP - { - class Connection_Handler; - - // Service Handler for this transport - typedef ACE_Svc_Handler - SVC_HANDLER; - - /** - * @class Transport - * - * @brief Specialization of the base Transport class to handle the - * HTIOP protocol. - * - * - * - */ - - class HTIOP_Export Transport : public TAO_Transport - { - public: - - /// Constructor. - Transport (Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean flag); - - /// Default destructor. - ~Transport (void); - - protected: - - /** @name Overridden Template Methods - * - * Please check the documentation in "tao/Transport.h" for more - * details. - */ - //@{ - - virtual ACE_Event_Handler * event_handler_i (void); - virtual TAO_Connection_Handler * invalidate_event_handler_i (void); - - /// Access the underlying messaging object - virtual TAO_Pluggable_Messaging *messaging_object (void); - - virtual ssize_t send (iovec *iov, int iovcnt, - size_t &bytes_transferred, - const ACE_Time_Value *timeout = 0); - - virtual ssize_t recv (char *buf, - size_t len, - const ACE_Time_Value *s = 0); - - virtual int register_handler (void); - - virtual int send_message_shared (TAO_Stub *stub, - int message_semantics, - const ACE_Message_Block *message_block, - ACE_Time_Value *max_wait_time); - - - public: - /// @@TODO: These methods IMHO should have more meaningful - /// names. The names seem to indicate nothing. - virtual int send_request (TAO_Stub *stub, - TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int message_semantics, - ACE_Time_Value *max_wait_time); - - virtual int send_message (TAO_OutputCDR &stream, - TAO_Stub *stub = 0, - int message_semantics = - Transport::TAO_TWOWAY_REQUEST, - ACE_Time_Value *max_time_wait = 0); - - // @@ This is probably not needed - Priyanka - // This is needed because we want to send additional information - // such as session id etc. in the header. - virtual int generate_request_header (TAO_Operation_Details &opdetails, - TAO_Target_Specification &spec, - TAO_OutputCDR &msg); - - - virtual int messaging_init (CORBA::Octet major, - CORBA::Octet minor); - - virtual int tear_listen_point_list (TAO_InputCDR &cdr); - - virtual TAO_Connection_Handler * connection_handler_i (void); - - //@} - - private: - - /// Set the Bidirectional context info in the service context list - void set_bidir_context_info (TAO_Operation_Details &opdetails); - - /// Add the listen points in to the - /// if this connection is in the same interface as that of the - /// endpoints in the - int get_listen_point (::HTIOP::ListenPointList &listen_point_list, - TAO_Acceptor *acceptor); - - /// The connection service handler used for accessing lower layer - /// communication protocols. - Connection_Handler *connection_handler_; - - /// Our messaging object. - TAO_Pluggable_Messaging *messaging_object_; - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TRANSPORT_H */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/README.txt b/TAO/orbsvcs/orbsvcs/HTIOP/README.txt deleted file mode 100644 index 567e302009e..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/README.txt +++ /dev/null @@ -1,154 +0,0 @@ - HTTP Tunneling Inter-ORB Protocol - -Introduction -Components -HTTP Tunneling Protocol -HTTP Tunneling Inter-ORB Protocol - -Introduction - - - -1.Terminology - -Inside - This refers to any peer that is inside a firewall protected -enclave, and must forward requests to services through a proxy. It is -assumed with this protocol that the proxy restricts traffic to HTTP -requests/replies. - -Outside - This refers to any peer is outside of the firewall -protecting inside peers. The outside peer advertises an endpoint that -is reachable from the inside peer's proxy. - -Proxy - The gateway through which HTTP requests may flow. It is -assumed that no configuration changes to the proxy are permitted. For -now, Squid is the only HTTP proxy that is supported by HTIOP, although -others may also work. - -HTID - A unique identifier for peers inside the firewall. This may be -a self-generated UUID, or it may be an externally generated -domain-specific identity. This identity is important to allow outside -peers to identify many different clients, which may reside on locally -similar or non-routable networks, such as 10.*.*.* or 192.168.*.*. - -HTIOP_Factory - This is the service configuration class used to load -the pluggable protocol via the ACE Service Configuratior. The -HTIOP_Factory takes the following initialization arguments: - --config Specifies the text file containing HTBP specific - configuration. This value is optional. --env_persist Specifies the name of a flat file containing - a previously persisted configuration, or to which - new configuration will be persisted. If both - -config and -env_persist are specified, the memory - mapped file will be loaded first, then the text - file interpreted. The new configuration will then - be persisted in the flat file. --win32_reg If set, then the windows' registry will be used - rather than the memory mapped file. This feature - is available only on windows. --inside [-1|0|1] Explicitly declare that the endpoint is inside or - outside the firewall. When set to the default -1, - the HTIOP_Factory uses the ACE_HTBP_Environment - proxy_host setting to determine if it is inside or - outside the firewall. It is only important to be - explicit about inside/outside definition when - testing without a real proxy. HTIOP is an - asymmetric protocol, peers outside the firewall - cannot initiate connections to inside peers, and - only an inside peer can talk to an outside peer. - -2. Components - -The HTTP tunneling protocol support consists of two libraries. - -. libACE_HTBP is the library that implements the low level HTBP -Protocol. This allows the the communication between the inside and the -outside peers through a firewall proxy. It supports direct connections -as well though the default is the use of a proxy. This library should -be linked into code that wishes to support such communication. - -. libTAO_HTIOP implements an Inter-ORB Protocol, HTIOP, that allows -TAO to utilize the HTBP Protocol. - -3. Directory Structure - -. $ACE_ROOT/ace/HTBP - Files used for implementing the low level HTBP Protocol. - -. $TAO_ROOT/orbsvcs/orbsvcs/HTIOP - Files that implements HTIOP protocol. - -. $ACE_ROOT/tests/HTBP - Tests for the low level HTBP Protocol. - -. $TAO_ROOT/orbsvcs/tests/HTIOP - Tests for the HTIOP protocol. - -4. Requirements for using HTBP Protocol - Refer to ace/HTBP/README for details on configuring HTBP clients - -5. Using HTIOP in applications - - HTIOP is an Asymmetric protocol. This means that applications inside - the firewall must be configured differently than applications on the - outside. Inside peers are the only ones which may initiate - connections. If a peer to peer relationship is desired, where CORBA - invocations flow in either direction, then Bidirectional GIOP must - be used. - - One of the challenges imposed by the use of a proxy is that if a - connection is idle for long enough the connection may be - closed. This means the inside peer must reopen it by sending another - request. Since the outside peer cannot reopen the connection, it - will queue messages until the inside peer re-establishes a - connection, at which time all queued messages are sent. - - A second challenge is that while a proxy will open multiple TCP/IP - connections to a server (the outside peer), when faced with multiple - simultanious HTTP requests, it will reuse those connections at will - to forward any subsequent requests. This means that a socket is - associated with a particular HTIOP session for only one HTTP - request/reply. - - Apart from loading the protocol, and declaring an endpoint, no - modifications to application code are required in order to use - HTIOP. - -5a. Loading the protocol. - - HTIOP is loaded via svc.conf. See the list of initialization options - shown above for details. Here is a sample svc.conf file for loading - HTIOP, as it would be used in a server. - -dynamic HTIOP_Factory Service_Object * - TAO_HTIOP:_make_TAO_HTIOP_Protocol_Factory () "" - -static Resource_Factory "-ORBProtocolFactory HTIOP_Factory" - - This example is specifically for a server since no configuration - file is specified meaning no proxy host value is set. The following - examples could be used to configure a client. - -#used on the inside, but no proxy configured -dynamic HTIOP_Factory Service_Object * - TAO_HTIOP:_make_TAO_HTIOP_Protocol_Factory () - "-inside 1" - -#used on the inside, with proxy configuration supplied -dynamic HTIOP_Factory Service_Object * - TAO_HTIOP:_make_TAO_HTIOP_Protocol_Factory () - "-config HTBP_Config.txt" - -static Resource_Factory "-ORBProtocolFactory HTIOP_Factory" - -5b. Declaring an endpoint. - - Since most HTTP proxies restrict outgoing connections only to port - 80, it is a requirement that an explicit endpoint be set for - HTIOP. The signature is very similar to that of IIOP: - - -ORBEndpoint HTIOP://hostname:80[/hostname_in_ior=www.mybiz.com] - - The optional hostname_in_ior allows HTIOP to be used behind a NAT - firewall. diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpoints.pidl b/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpoints.pidl deleted file mode 100644 index 91ec7acef3a..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpoints.pidl +++ /dev/null @@ -1,42 +0,0 @@ -// -*- IDL -*- -// -// $Id$ - -/* - * This file contains idl definition for data structures used to - * encapsulate data in TAO_TAG_ENDPOINTS tagged component. This - * TAO-specific component is used for transmission of multiple - * endpoints per single profile. Data structures defined here are - * used for transmission of htiop Endpoints. See HTIOP_Profile.* - * for more details. - * - * This file was used to generate the code in - * htiop_endpoints.* The command used to generate code - * is: - * - * tao_idl - * -Gp -Gd -Ge 1 -Sc -Sa -DCORBA3 -Sci \ - * -Wb,export_macro=HTIOP_Export \ - * -Wb,export_include="HTIOP_Export.h" \ - * -Wb,pre_include="ace/pre.h" \ - * -Wb,post_include="ace/post.h" \ - * htiop_endpoints.pidl - */ - -#ifndef _HTIOP_ENDPOINTS_IDL_ -#define _HTIOP_ENDPOINTS_IDL_ - -// Stores information for a single HTIOP endpoint. -struct HTIOP_Endpoint_Info -{ - string host; - short port; - string htid; -}; - -// Stores information for a collection of HTIOP endpoints. -typedef sequence HTIOPEndpointSequence; - -#pragma prefix "" - -#endif /* _HTIOP_ENDPOINTS_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp b/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp deleted file mode 100644 index e0db9e121f9..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp +++ /dev/null @@ -1,222 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:291 - - -#include "tao/AnyTypeCode/Null_RefCount_Policy.h" -#include "tao/AnyTypeCode/TypeCode_Constants.h" -#include "tao/AnyTypeCode/Alias_TypeCode_Static.h" -#include "tao/AnyTypeCode/Sequence_TypeCode_Static.h" -#include "tao/AnyTypeCode/String_TypeCode_Static.h" -#include "tao/AnyTypeCode/Struct_TypeCode_Static.h" -#include "tao/AnyTypeCode/TypeCode_Struct_Field.h" -#include "orbsvcs/HTIOP/htiop_endpointsC.h" -#include "tao/CDR.h" - -#if defined (__BORLANDC__) -#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig -#endif /* __BORLANDC__ */ - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:69 - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Arg traits specializations. -namespace TAO -{ -} - - -// TAO_IDL - Generated from -// be\be_visitor_typecode/struct_typecode.cpp:74 - -static TAO::TypeCode::Struct_Field const _tao_fields_HTIOP_Endpoint_Info[] = - { - { "host", &CORBA::_tc_string }, - { "port", &CORBA::_tc_short }, - { "htid", &CORBA::_tc_string } - - }; -static TAO::TypeCode::Struct const *, - TAO::Null_RefCount_Policy> - _tao_tc_HTIOP_Endpoint_Info ( - CORBA::tk_struct, - "IDL:HTIOP_Endpoint_Info:1.0", - "HTIOP_Endpoint_Info", - _tao_fields_HTIOP_Endpoint_Info, - 3); - -::CORBA::TypeCode_ptr const _tc_HTIOP_Endpoint_Info = - &_tao_tc_HTIOP_Endpoint_Info; - -// TAO_IDL - Generated from -// be\be_visitor_structure/structure_cs.cpp:66 - - - -// TAO_IDL - Generated from -// be\be_visitor_sequence/sequence_cs.cpp:65 - -#if !defined (_HTIOPENDPOINTSEQUENCE_CS_) -#define _HTIOPENDPOINTSEQUENCE_CS_ - -HTIOPEndpointSequence::HTIOPEndpointSequence (void) -{} - -HTIOPEndpointSequence::HTIOPEndpointSequence ( - CORBA::ULong max - ) - : TAO::unbounded_value_sequence< - HTIOP_Endpoint_Info - > - (max) -{} - -HTIOPEndpointSequence::HTIOPEndpointSequence ( - CORBA::ULong max, - CORBA::ULong length, - HTIOP_Endpoint_Info * buffer, - CORBA::Boolean release - ) - : TAO::unbounded_value_sequence< - HTIOP_Endpoint_Info - > - (max, length, buffer, release) -{} - -HTIOPEndpointSequence::HTIOPEndpointSequence ( - const HTIOPEndpointSequence &seq - ) - : TAO::unbounded_value_sequence< - HTIOP_Endpoint_Info - > - (seq) -{} - -HTIOPEndpointSequence::~HTIOPEndpointSequence (void) -{} - -#endif /* end #if !defined */ - -// TAO_IDL - Generated from -// be\be_visitor_typecode/alias_typecode.cpp:31 - - - -// TAO_IDL - Generated from -// be\be_visitor_typecode/typecode_defn.cpp:925 - - -#ifndef _TAO_TYPECODE_HTIOPEndpointSequence_GUARD -#define _TAO_TYPECODE_HTIOPEndpointSequence_GUARD -namespace TAO -{ - namespace TypeCode - { - TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *, - TAO::Null_RefCount_Policy> - HTIOPEndpointSequence_0 ( - CORBA::tk_sequence, - &_tc_HTIOP_Endpoint_Info, - 0U); - - ::CORBA::TypeCode_ptr const tc_HTIOPEndpointSequence_0 = - &HTIOPEndpointSequence_0; - - } -} - - -#endif /* _TAO_TYPECODE_HTIOPEndpointSequence_GUARD */ -static TAO::TypeCode::Alias - _tao_tc_HTIOPEndpointSequence ( - CORBA::tk_alias, - "IDL:HTIOPEndpointSequence:1.0", - "HTIOPEndpointSequence", - &TAO::TypeCode::tc_HTIOPEndpointSequence_0); - -::CORBA::TypeCode_ptr const _tc_HTIOPEndpointSequence = - &_tao_tc_HTIOPEndpointSequence; - -// TAO_IDL - Generated from -// be\be_visitor_structure/cdr_op_cs.cpp:61 - -CORBA::Boolean operator<< ( - TAO_OutputCDR &strm, - const HTIOP_Endpoint_Info &_tao_aggregate - ) -{ - return - (strm << _tao_aggregate.host.in ()) && - (strm << _tao_aggregate.port) && - (strm << _tao_aggregate.htid.in ()); -} - -CORBA::Boolean operator>> ( - TAO_InputCDR &strm, - HTIOP_Endpoint_Info &_tao_aggregate - ) -{ - return - (strm >> _tao_aggregate.host.out ()) && - (strm >> _tao_aggregate.port) && - (strm >> _tao_aggregate.htid.out ()); -} - -// TAO_IDL - Generated from -// be\be_visitor_sequence/cdr_op_cs.cpp:96 - -#if !defined _TAO_CDR_OP_HTIOPEndpointSequence_CPP_ -#define _TAO_CDR_OP_HTIOPEndpointSequence_CPP_ - -CORBA::Boolean operator<< ( - TAO_OutputCDR &strm, - const HTIOPEndpointSequence &_tao_sequence - ) -{ - return TAO::marshal_sequence(strm, _tao_sequence); -} - -CORBA::Boolean operator>> ( - TAO_InputCDR &strm, - HTIOPEndpointSequence &_tao_sequence - ) -{ - return TAO::demarshal_sequence(strm, _tao_sequence); -} - -#endif /* _TAO_CDR_OP_HTIOPEndpointSequence_CPP_ */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h b/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h deleted file mode 100644 index e8a22b50479..00000000000 --- a/TAO/orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h +++ /dev/null @@ -1,199 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:153 - -#ifndef _TAO_IDL_ORIG_HTIOP_ENDPOINTSC_H_ -#define _TAO_IDL_ORIG_HTIOP_ENDPOINTSC_H_ - -#include /**/ "ace/pre.h" - - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/HTIOP/HTIOP_Export.h" -#include "tao/ORB.h" -#include "tao/Environment.h" -#include "tao/Sequence_T.h" -#include "tao/Seq_Var_T.h" -#include "tao/Seq_Out_T.h" -#include "tao/VarOut_T.h" -#include "tao/String_Manager_T.h" - -#if defined (TAO_EXPORT_MACRO) -#undef TAO_EXPORT_MACRO -#endif -#define TAO_EXPORT_MACRO HTIOP_Export - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option push -w-rvl -w-rch -w-ccc -w-inl -#endif /* __BORLANDC__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO_IDL - Generated from -// be\be_type.cpp:258 - -struct HTIOP_Endpoint_Info; - -typedef - TAO_Var_Var_T< - HTIOP_Endpoint_Info - > - HTIOP_Endpoint_Info_var; - -typedef - TAO_Out_T< - HTIOP_Endpoint_Info - > - HTIOP_Endpoint_Info_out; - -// TAO_IDL - Generated from -// be\be_visitor_structure/structure_ch.cpp:52 - -struct HTIOP_Export HTIOP_Endpoint_Info -{ - typedef HTIOP_Endpoint_Info_var _var_type; - - - TAO::String_Manager host; - CORBA::Short port; - TAO::String_Manager htid; -}; - -// TAO_IDL - Generated from -// be\be_visitor_typecode/typecode_decl.cpp:44 - -extern HTIOP_Export ::CORBA::TypeCode_ptr const _tc_HTIOP_Endpoint_Info; - -// TAO_IDL - Generated from -// be\be_visitor_sequence/sequence_ch.cpp:101 - -#if !defined (_HTIOPENDPOINTSEQUENCE_CH_) -#define _HTIOPENDPOINTSEQUENCE_CH_ - -class HTIOPEndpointSequence; - -typedef - TAO_VarSeq_Var_T< - HTIOPEndpointSequence - > - HTIOPEndpointSequence_var; - -typedef - TAO_Seq_Out_T< - HTIOPEndpointSequence - > - HTIOPEndpointSequence_out; - -class HTIOP_Export HTIOPEndpointSequence - : public - TAO::unbounded_value_sequence< - HTIOP_Endpoint_Info - > -{ -public: - HTIOPEndpointSequence (void); - HTIOPEndpointSequence (CORBA::ULong max); - HTIOPEndpointSequence ( - CORBA::ULong max, - CORBA::ULong length, - HTIOP_Endpoint_Info* buffer, - CORBA::Boolean release = false - ); - HTIOPEndpointSequence (const HTIOPEndpointSequence &); - ~HTIOPEndpointSequence (void); - - typedef HTIOPEndpointSequence_var _var_type; -}; - -#endif /* end #if !defined */ - -// TAO_IDL - Generated from -// be\be_visitor_typecode/typecode_decl.cpp:44 - -extern HTIOP_Export ::CORBA::TypeCode_ptr const _tc_HTIOPEndpointSequence; - -// TAO_IDL - Generated from -// be\be_visitor_traits.cpp:61 - -// Traits specializations. -namespace TAO -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_structure/cdr_op_ch.cpp:54 - -HTIOP_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const HTIOP_Endpoint_Info &); -HTIOP_Export CORBA::Boolean operator>> (TAO_InputCDR &, HTIOP_Endpoint_Info &); - -// TAO_IDL - Generated from -// be\be_visitor_sequence/cdr_op_ch.cpp:71 - -#if !defined _TAO_CDR_OP_HTIOPEndpointSequence_H_ -#define _TAO_CDR_OP_HTIOPEndpointSequence_H_ - -HTIOP_Export CORBA::Boolean operator<< ( - TAO_OutputCDR &, - const HTIOPEndpointSequence & - ); -HTIOP_Export CORBA::Boolean operator>> ( - TAO_InputCDR &, - HTIOPEndpointSequence & - ); - -#endif /* _TAO_CDR_OP_HTIOPEndpointSequence_H_ */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -// TAO_IDL - Generated from -// be\be_codegen.cpp:955 - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option pop -#endif /* __BORLANDC__ */ - -#include /**/ "ace/post.h" - -#endif /* ifndef */ - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService.mpc b/TAO/orbsvcs/orbsvcs/IFRService.mpc deleted file mode 100644 index e0c158052da..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService.mpc +++ /dev/null @@ -1,21 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(IFRService) : orbsvcslib, core, typecodefactory, svc_utils, iortable, minimum_corba { - avoids += ace_for_tao // Requires ace/Configuration - sharedname = TAO_IFRService - dynamicflags = TAO_IFRSERVICE_BUILD_DLL - tagchecks += IFRService - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - IFRService { - IFRService - } - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/IFRService.rc b/TAO/orbsvcs/orbsvcs/IFRService.rc deleted file mode 100644 index fd74244fa4f..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "IFRService\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "IFRServiceDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "IFRService.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.cpp deleted file mode 100644 index 9c7831e7387..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/AbstractInterfaceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - AbstractInterfaceDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_AbstractInterfaceDef_i::TAO_AbstractInterfaceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo) -{ -} - -TAO_AbstractInterfaceDef_i::~TAO_AbstractInterfaceDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_AbstractInterfaceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_AbstractInterface; -} - -CORBA::Boolean -TAO_AbstractInterfaceDef_i::is_a (const char *interface_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_a_i (interface_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_AbstractInterfaceDef_i::is_a_i (const char *interface_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (ACE_OS::strcmp (interface_id, "IDL:omg.org/CORBA/AbstractBase:1.0") == 0) - { - return 1; - } - - return this->TAO_InterfaceDef_i::is_a_i (interface_id - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.h deleted file mode 100644 index b753a1afa16..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// AbstractInterfaceDef_i.h -// -// = DESCRIPTION -// AbstractInterfaceDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_ABSTRACTINTERFACEDEF_I_H -#define TAO_ABSTRACTINTERFACEDEF_I_H - -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_AbstractInterfaceDef_i - : public virtual TAO_InterfaceDef_i -{ - // = TITLE - // TAO_AbstractInterfaceDef_i - // - // = DESCRIPTION - // Represents an abstract interface definition. - // -public: - TAO_AbstractInterfaceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_AbstractInterfaceDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Boolean is_a ( - const char *interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_a_i ( - const char *interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_ABSTRACTINTERFACEDEF_I_H */ - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp deleted file mode 100644 index 308a637d9ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp +++ /dev/null @@ -1,141 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/AliasDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - AliasDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_AliasDef_i::TAO_AliasDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_TypedefDef_i (repo) -{ -} - -TAO_AliasDef_i::~TAO_AliasDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_AliasDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Alias; -} - -CORBA::TypeCode_ptr -TAO_AliasDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_AliasDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - ACE_TString original_type; - this->repo_->config ()->get_string_value (this->section_key_, - "original_type", - original_type); - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (original_type, - this->repo_); - if (0 == impl) - { - ACE_THROW_RETURN ( CORBA::OBJECT_NOT_EXIST(), CORBA::TypeCode::_nil () ); - } - - CORBA::TypeCode_var tc = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_alias_tc (id.c_str (), - name.c_str (), - tc.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_AliasDef_i::original_type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_AliasDef_i::original_type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString original_type; - this->repo_->config ()->get_string_value (this->section_key_, - "original_type", - original_type); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (original_type, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_AliasDef_i::original_type_def (CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->original_type_def_i (original_type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_AliasDef_i::original_type_def_i (CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *original_type = - TAO_IFR_Service_Utils::reference_to_path (original_type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "original_type", - original_type); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.h deleted file mode 100644 index 7cc9c8826ca..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// AliasDef_i.h -// -// = DESCRIPTION -// AliasDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_ALIASDEF_I_H -#define TAO_ALIASDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_AliasDef_i : public virtual TAO_TypedefDef_i -{ -public: - // = TITLE - // TAO_AliasDef_i - // - // = DESCRIPTION - // Represents an OMG IDL typedef that aliases another definition. - // -public: - TAO_AliasDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_AliasDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::IDLType_ptr original_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr original_type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void original_type_def ( - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void original_type_def_i ( - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_ALIASDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp deleted file mode 100644 index 70022598977..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp +++ /dev/null @@ -1,279 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ArrayDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ArrayDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ArrayDef_i::TAO_ArrayDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_ArrayDef_i::~TAO_ArrayDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ArrayDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Array; -} - -void -TAO_ArrayDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ArrayDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Only if it is (w)string, fixed, array or sequence. - this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - this->repo_->config ()->remove_section (this->repo_->arrays_key (), - name.c_str (), - 0); -} - -CORBA::TypeCode_ptr -TAO_ArrayDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ArrayDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::TypeCode_var element_typecode = - this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::ULong length = this->length_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_array_tc ( - length, - element_typecode.in () - ACE_ENV_ARG_PARAMETER - ); -} - -CORBA::ULong -TAO_ArrayDef_i::length (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->length_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ULong -TAO_ArrayDef_i::length_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int length = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "length", - length); - - return static_cast (length); -} - -void -TAO_ArrayDef_i::length (CORBA::ULong length - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->length_i (length - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ArrayDef_i::length_i (CORBA::ULong length - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "length", - length); -} - -CORBA::TypeCode_ptr -TAO_ArrayDef_i::element_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ArrayDef_i::element_type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString element_path; - this->repo_->config ()->get_string_value (this->section_key_, - "element_path", - element_path); - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (element_path, - this->repo_); - - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ArrayDef_i::element_type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->element_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ArrayDef_i::element_type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString element_path; - this->repo_->config ()->get_string_value (this->section_key_, - "element_path", - element_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (element_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ArrayDef_i::element_type_def (CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->element_type_def_i (element_type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ArrayDef_i::element_type_def_i (CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - char *new_element_path = - TAO_IFR_Service_Utils::reference_to_path (element_type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "element_path", - new_element_path); -} - -void -TAO_ArrayDef_i::destroy_element_type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString element_path; - this->repo_->config ()->get_string_value (this->section_key_, - "element_path", - element_path); - - ACE_Configuration_Section_Key element_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - element_path, - element_key, - 0); - - u_int kind = 0; - this->repo_->config ()->get_integer_value (element_key, - "def_kind", - kind); - - CORBA::DefinitionKind def_kind = - TAO_IFR_Service_Utils::path_to_def_kind (element_path, - this->repo_); - - switch (def_kind) - { - // These exist only as our elements, so the type should - // be destroyed when we are destroyed, or when our element type - // is mutated. - case CORBA::dk_String: - case CORBA::dk_Wstring: - case CORBA::dk_Fixed: - case CORBA::dk_Array: - case CORBA::dk_Sequence: - { - TAO_IDLType_i *impl = this->repo_->select_idltype (def_kind); - impl->section_key (element_key); - - impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - break; - } - default: - break; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.h deleted file mode 100644 index ec0d6966f8d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ArrayDef_i.h +++ /dev/null @@ -1,148 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ArrayDef_i.h -// -// = DESCRIPTION -// ArrayDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_ARRAYDEF_I_H -#define TAO_ARRAYDEF_I_H - -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ArrayDef_i : public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_ArrayDef_i - // - // = DESCRIPTION - // Represents an IDL array type. - // -public: - TAO_ArrayDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ArrayDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ULong length ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ULong length_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void length ( - CORBA::ULong length - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void length_i ( - CORBA::ULong length - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr element_type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr element_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr element_type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void element_type_def ( - CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void element_type_def_i ( - CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - void destroy_element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Destroys an anonymous non-primitive element type. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_ARRAYDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp deleted file mode 100644 index 0d9ce3b6a42..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp +++ /dev/null @@ -1,397 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - AttributeDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_AttributeDef_i::TAO_AttributeDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_AttributeDef_i::~TAO_AttributeDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_AttributeDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Attribute; -} - -CORBA::Contained::Description * -TAO_AttributeDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_AttributeDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = CORBA::dk_Attribute; - - CORBA::AttributeDescription *ad = 0; - ACE_NEW_RETURN (ad, - CORBA::AttributeDescription, - 0); - - this->make_description (*ad - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval->value <<= ad; - return retval._retn (); -} - -CORBA::TypeCode_ptr -TAO_AttributeDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_AttributeDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString type_path; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - type_path); - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (type_path, - this->repo_); - - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_AttributeDef_i::type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_AttributeDef_i::type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString type_path; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - type_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (type_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - CORBA::IDLType_var retval = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return retval._retn (); -} - -void -TAO_AttributeDef_i::type_def (CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->type_def_i (type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_AttributeDef_i::type_def_i (CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *type_path = - TAO_IFR_Service_Utils::reference_to_path (type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "type_path", - type_path); -} - -CORBA::AttributeMode -TAO_AttributeDef_i::mode (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ATTR_NORMAL); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ATTR_NORMAL); - - return this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::AttributeMode -TAO_AttributeDef_i::mode_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int mode = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "mode", - mode); - - return static_cast (mode); -} - -void -TAO_AttributeDef_i::mode (CORBA::AttributeMode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->mode_i (mode - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_AttributeDef_i::mode_i (CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "mode", - mode); -} - -void -TAO_AttributeDef_i::make_description ( - CORBA::AttributeDescription &ad - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ad.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ad.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString container_id; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - ad.defined_in = container_id.c_str (); - - ad.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ad.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ad.mode = this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::ExceptionDefSeq * -TAO_AttributeDef_i::get_exceptions (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue path_queue; - int index = 0; - ACE_Configuration::VALUETYPE type; - ACE_TString field_name; - - ACE_Configuration_Section_Key get_excepts_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "get_excepts", - 0, - get_excepts_key); - - // This section may not have been created. - if (status == 0) - { - ACE_TString get_except_path; - ACE_Configuration_Section_Key dummy; - - while (this->repo_->config ()->enumerate_values (get_excepts_key, - index++, - field_name, - type) - == 0) - { - this->repo_->config ()->get_string_value (get_excepts_key, - field_name.c_str (), - get_except_path); - - // This exception may have been destroyed - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - get_except_path, - dummy, - 0); - - if (status == 0) - { - path_queue.enqueue_tail (get_except_path); - } - } - } - - CORBA::ULong size = static_cast (path_queue.size ()); - - CORBA::ExceptionDefSeq *get_ed_seq = 0; - ACE_NEW_THROW_EX (get_ed_seq, - CORBA::ExceptionDefSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - get_ed_seq->length (size); - CORBA::ExceptionDefSeq_var retval = get_ed_seq; - - for (CORBA::ULong i = 0; i < size; ++i) - { - ACE_TString path; - path_queue.dequeue_head (path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Exception, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::ExceptionDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -CORBA::ExceptionDefSeq * -TAO_AttributeDef_i::put_exceptions (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue path_queue; - int index = 0; - ACE_Configuration::VALUETYPE type; - ACE_TString field_name; - - ACE_Configuration_Section_Key put_excepts_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "put_excepts", - 0, - put_excepts_key); - - // This section may not have been created. - if (status == 0) - { - ACE_TString put_except_path; - ACE_Configuration_Section_Key dummy; - - while (this->repo_->config ()->enumerate_values (put_excepts_key, - index++, - field_name, - type) - == 0) - { - this->repo_->config ()->get_string_value (put_excepts_key, - field_name.c_str (), - put_except_path); - - // This exception may have been destroyed - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - put_except_path, - dummy, - 0); - - if (status == 0) - { - path_queue.enqueue_tail (put_except_path); - } - } - } - - CORBA::ULong size = static_cast (path_queue.size ()); - - CORBA::ExceptionDefSeq *put_ed_seq = 0; - ACE_NEW_THROW_EX (put_ed_seq, - CORBA::ExceptionDefSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - put_ed_seq->length (size); - CORBA::ExceptionDefSeq_var retval = put_ed_seq; - - for (CORBA::ULong i = 0; i < size; ++i) - { - ACE_TString path; - path_queue.dequeue_head (path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Exception, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::ExceptionDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.h deleted file mode 100644 index d08b3dfa119..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/AttributeDef_i.h +++ /dev/null @@ -1,152 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// AttributeDef_i.h -// -// = DESCRIPTION -// AttributeDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_ATTRIBUTEDEF_I_H -#define TAO_ATTRIBUTEDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_AttributeDef_i : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_AttributeDef_i - // - // = DESCRIPTION - // Represents the information that describes an attribute - // of an interface. - // -public: - TAO_AttributeDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_AttributeDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void type_def ( - CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void type_def_i ( - CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::AttributeMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::AttributeMode mode_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void mode ( - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void mode_i ( - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void make_description ( - CORBA::AttributeDescription &ad - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Common code for InterfaceDef to call in - // making its own description. - - // These two are called by Contained::move(). - CORBA::ExceptionDefSeq *get_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExceptionDefSeq *put_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_ATTRIBUTEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.cpp deleted file mode 100644 index 43e5f4b3ffa..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.cpp +++ /dev/null @@ -1,569 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "orbsvcs/IFRService/ComponentContainer_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/ComponentDef_i.h" -#include "orbsvcs/IFRService/ValueDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/SString.h" - -ACE_RCSID (IFRService, - ComponentContainer_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const char *TAO_ComponentContainer_i::tmp_name_holder_ = 0; - -TAO_ComponentContainer_i::TAO_ComponentContainer_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Container_i (repo) -{ -} - -TAO_ComponentContainer_i::~TAO_ComponentContainer_i (void) -{ -} - -CORBA::ComponentIR::ComponentDef_ptr -TAO_ComponentContainer_i::create_component ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::ComponentDef_ptr base_component, - const CORBA::InterfaceDefSeq &supports_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - return this->create_component_i (id, - name, - version, - base_component, - supports_interfaces - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::ComponentDef_ptr -TAO_ComponentContainer_i::create_component_i ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::ComponentDef_ptr base_component, - const CORBA::InterfaceDefSeq &supports_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ComponentContainer_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common ( - this->def_kind (), - CORBA::dk_Component, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_ComponentContainer_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - if (! CORBA::is_nil (base_component)) - { - const char *base_path = - TAO_IFR_Service_Utils::reference_to_path (base_component); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base valuetypes is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ComponentDef_i::name_clash, - new_key, - this->repo_, - CORBA::dk_Component - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - // Store the id for this - that's what ComponentDescription takes. - ACE_TString base_id; - this->repo_->config ()->get_string_value (TAO_IFR_Service_Utils::tmp_key_, - "id", - base_id); - this->repo_->config ()->set_string_value (new_key, - "base_component", - base_id); - } - - CORBA::ULong count = supports_interfaces.length (); - CORBA::ULong i = 0; - - if (count > 0) - { - ACE_Configuration_Section_Key supports_key; - this->repo_->config ()->open_section (new_key, - "supported", - 1, - supports_key); - - this->repo_->config ()->set_integer_value (supports_key, - "count", - count); - - const char *supported_path = 0; - char *stringified = 0; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - supported_path = - TAO_IFR_Service_Utils::reference_to_path ( - supports_interfaces[i] - ); - this->repo_->config ()->set_string_value (supports_key, - stringified, - supported_path); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Component, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - return CORBA::ComponentIR::ComponentDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::HomeDef_ptr -TAO_ComponentContainer_i::create_home ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::HomeDef_ptr base_home, - CORBA::ComponentIR::ComponentDef_ptr managed_component, - const CORBA::InterfaceDefSeq &supports_interfaces, - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - return this->create_home_i (id, - name, - version, - base_home, - managed_component, - supports_interfaces, - primary_key - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::HomeDef_ptr -TAO_ComponentContainer_i::create_home_i ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::HomeDef_ptr base_home, - CORBA::ComponentIR::ComponentDef_ptr managed_component, - const CORBA::InterfaceDefSeq &supports_interfaces, - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ComponentContainer_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common ( - this->def_kind (), - CORBA::dk_Home, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_ComponentContainer_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - char *base_path = 0; - - if (! CORBA::is_nil (base_home)) - { - base_path = TAO_IFR_Service_Utils::reference_to_path (base_home); - this->repo_->config ()->set_string_value (new_key, - "base_home", - base_path); - } - - if (! CORBA::is_nil (managed_component)) - { - base_path = - TAO_IFR_Service_Utils::reference_to_path (managed_component); - this->repo_->config ()->set_string_value (new_key, - "managed", - base_path); - } - - CORBA::ULong length = supports_interfaces.length (); - CORBA::ULong i = 0; - - if (length > 0) - { - ACE_Configuration_Section_Key supports_key; - this->repo_->config ()->open_section (new_key, - "supported", - 1, - supports_key); - this->repo_->config ()->set_integer_value (supports_key, - "count", - length); - - char *supported_path = 0; - char *stringified = 0; - - for (i = 0; i < length; ++i) - { - supported_path = - TAO_IFR_Service_Utils::reference_to_path ( - supports_interfaces[i] - ); - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (supports_key, - stringified, - supported_path); - } - } - - if (! CORBA::is_nil (primary_key)) - { - char *primary_key_path = - TAO_IFR_Service_Utils::reference_to_path (primary_key); - this->repo_->config ()->set_string_value (new_key, - "primary_key", - primary_key_path); - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Home, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - return CORBA::ComponentIR::HomeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::EventDef_ptr -TAO_ComponentContainer_i::create_event ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - return this->create_event_i (id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::EventDef_ptr -TAO_ComponentContainer_i::create_event_i ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ComponentContainer_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common ( - this->def_kind (), - CORBA::dk_Event, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_ComponentContainer_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - this->repo_->config ()->set_integer_value (new_key, - "is_custom", - (CORBA::ULong) is_custom); - - this->repo_->config ()->set_integer_value (new_key, - "is_abstract", - (CORBA::ULong) is_abstract); - - this->repo_->config ()->set_integer_value (new_key, - "is_truncatable", - (CORBA::ULong) is_truncatable); - - if (!CORBA::is_nil (base_value)) - { - const char *base_path = - TAO_IFR_Service_Utils::reference_to_path (base_value); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base valuetypes is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - new_key, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - ACE_TString base_value_id; - this->repo_->config ()->get_string_value (TAO_IFR_Service_Utils::tmp_key_, - "id", - base_value_id); - - this->repo_->config ()->set_string_value (new_key, - "base_value", - base_value_id); - } - - CORBA::ULong length = abstract_base_values.length (); - CORBA::ULong i = 0; - - if (length > 0) - { - ACE_Configuration_Section_Key bases_key; - this->repo_->config ()->open_section (new_key, - "abstract_bases", - 1, - bases_key); - - char *base_path = 0; - - for (i = 0; i < length; ++i) - { - base_path = - TAO_IFR_Service_Utils::reference_to_path ( - abstract_base_values[i] - ); - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (bases_key, - stringified, - base_path); - } - } - - length = supported_interfaces.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key supported_key; - this->repo_->config ()->open_section (new_key, - "supported", - 1, - supported_key); - - this->repo_->config ()->set_integer_value (supported_key, - "count", - length); - char *supported_path = 0; - - for (i = 0; i < length; ++i) - { - supported_path = - TAO_IFR_Service_Utils::reference_to_path ( - supported_interfaces[i] - ); - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (supported_key, - stringified, - supported_path); - } - } - - length = initializers.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key initializers_key; - this->repo_->config ()->open_section (new_key, - "initializers", - 1, - initializers_key); - - CORBA::ULong count = 0; - char *path = 0; - char *stringified = 0; - ACE_Configuration_Section_Key initializer_key; - ACE_Configuration_Section_Key outer_key; - ACE_Configuration_Section_Key inner_key; - ACE_TString excep_path; - - for (i = 0; i < length; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 1, - initializer_key); - this->repo_->config ()->set_string_value ( - initializer_key, - "name", - initializers[i].name.in () - ); - - count = initializers[i].members.length (); - - if (count > 0) - { - this->repo_->config ()->open_section (initializer_key, - "params", - 1, - outer_key); - - this->repo_->config ()->set_integer_value (outer_key, - "count", - count); - - for (CORBA::ULong j = 0; j < count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (outer_key, - stringified, - 1, - inner_key); - - this->repo_->config ()->set_string_value ( - inner_key, - "arg_name", - initializers[i].members[j].name.in () - ); - - path = - TAO_IFR_Service_Utils::reference_to_path ( - initializers[i].members[j].type_def.in () - ); - - this->repo_->config ()->set_string_value (inner_key, - "arg_path", - path); - } - } - - count = initializers[i].exceptions.length (); - - if (count > 0) - { - this->repo_->config ()->open_section (initializer_key, - "excepts", - 1, - outer_key); - - this->repo_->config ()->set_integer_value (outer_key, - "count", - count); - - for (CORBA::ULong k = 0; k < count; ++k) - { - this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - initializers[i].exceptions[k].id.in (), - excep_path - ); - - stringified = TAO_IFR_Service_Utils::int_to_string (k); - this->repo_->config ()->set_string_value (outer_key, - stringified, - excep_path); - } - } - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Event, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - return CORBA::ComponentIR::EventDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -int -TAO_ComponentContainer_i::same_as_tmp_name (const char *name) -{ - return - ACE_OS::strcmp (TAO_ComponentContainer_i::tmp_name_holder_, name) == 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.h deleted file mode 100644 index bc1c9e9fec6..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentContainer_i.h +++ /dev/null @@ -1,144 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ComponentContainer_i.h -// -// = DESCRIPTION -// ComponentContainer_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_COMPONENTCONTAINER_I_H -#define TAO_COMPONENTCONTAINER_I_H - -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/IFR_ComponentsS.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ComponentContainer_i - : public virtual TAO_Container_i -{ - // = TITLE - // TAO_ComponentContainer_i - // - // = DESCRIPTION - // Base class used to form a containment hierarchy - // for component-related types in the Interface Repository. - // Defines the relevant create_* methods. - // -public: - TAO_ComponentContainer_i (TAO_Repository_i *repo); - - virtual ~TAO_ComponentContainer_i (void); - - virtual CORBA::ComponentIR::ComponentDef_ptr create_component ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::ComponentDef_ptr base_component, - const CORBA::InterfaceDefSeq &supports_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::ComponentDef_ptr create_component_i ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::ComponentDef_ptr base_component, - const CORBA::InterfaceDefSeq &supports_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::HomeDef_ptr create_home ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::HomeDef_ptr base_home, - CORBA::ComponentIR::ComponentDef_ptr managed_component, - const CORBA::InterfaceDefSeq &supports_interfaces, - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::HomeDef_ptr create_home_i ( - const char *id, - const char *name, - const char *version, - CORBA::ComponentIR::HomeDef_ptr base_home, - CORBA::ComponentIR::ComponentDef_ptr managed_component, - const CORBA::InterfaceDefSeq &supports_interfaces, - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::EventDef_ptr create_event ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::EventDef_ptr create_event_i ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - static int same_as_tmp_name (const char *name); - // Called from TAO_IFR_Service_Utils::name_exisits. - -protected: - static const char *tmp_name_holder_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_COMPONENTCONTAINER_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp deleted file mode 100644 index eb42f8bb52b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp +++ /dev/null @@ -1,794 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ComponentDef_i.h" -#include "orbsvcs/IFRService/ProvidesDef_i.h" -#include "orbsvcs/IFRService/UsesDef_i.h" -#include "orbsvcs/IFRService/EmitsDef_i.h" -#include "orbsvcs/IFRService/PublishesDef_i.h" -#include "orbsvcs/IFRService/ConsumesDef_i.h" -#include "orbsvcs/IFRService/ExtAttributeDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ComponentDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Specialization. -template<> -void -TAO_Port_Desc_Seq_Utils::get_is_multiple ( - CORBA::ComponentIR::UsesDescriptionSeq &desc_seq, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - CORBA::ULong index - ) -{ - CORBA::ULong is_multiple = 0; - config->get_integer_value (key, - "is_multiple", - is_multiple); - desc_seq[index].is_multiple = - static_cast (is_multiple); -} - -// Specialization. -template<> -void -TAO_Port_Desc_Seq_Utils::port_base_type ( - CORBA::ComponentIR::EventPortDescriptionSeq &desc_seq, - ACE_TString &holder, - CORBA::ULong index - ) -{ - desc_seq[index].event = holder.fast_rep (); -} - -/// Specialization. -template<> -void -TAO_Port_Utils::set_is_multiple ( - CORBA::Boolean is_multiple, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key - ) -{ - config->set_integer_value (key, - "is_multiple", - is_multiple); -} - -// ============================================================== - -TAO_ComponentDef_i::TAO_ComponentDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo), - TAO_InterfaceAttrExtension_i (repo), - TAO_ExtInterfaceDef_i (repo) -{ -} - -TAO_ComponentDef_i::~TAO_ComponentDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ComponentDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Component; -} - -void -TAO_ComponentDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ComponentDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our special subsections first, then call destroy_i - // on our base class. - - TAO_IFR_Generic_Utils::destroy_special ( - "provides", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "uses", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "emits", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "publishes", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "consumes", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - this->TAO_ExtInterfaceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ComponentDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ComponentDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ComponentIR::ComponentDescription cd; - TAO_IFR_Desc_Utils::fill_desc_begin ( - cd, - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "base_component", - holder); - cd.base_component = holder.fast_rep (); - - CORBA::ULong count = 0; - ACE_Configuration_Section_Key supports_key; - int status = this->repo_->config ()->open_section (this->section_key_, - "supported", - 0, - supports_key); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (supports_key, - "count", - count); - } - - cd.supported_interfaces.length (count); - char *stringified = 0; - CORBA::ULong i = 0; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (supports_key, - stringified, - holder); - - cd.supported_interfaces[i] = holder.c_str (); - } - - TAO_Port_Desc_Seq_Utils< - CORBA::ComponentIR::ProvidesDescriptionSeq - >::port_descriptions (cd.provided_interfaces, - this->repo_->config (), - this->section_key_, - "provides"); - - TAO_Port_Desc_Seq_Utils< - CORBA::ComponentIR::UsesDescriptionSeq - >::port_descriptions (cd.used_interfaces, - this->repo_->config (), - this->section_key_, - "uses"); - - TAO_Port_Desc_Seq_Utils< - CORBA::ComponentIR::EventPortDescriptionSeq - >::port_descriptions (cd.emits_events, - this->repo_->config (), - this->section_key_, - "emits"); - - TAO_Port_Desc_Seq_Utils< - CORBA::ComponentIR::EventPortDescriptionSeq - >::port_descriptions (cd.publishes_events, - this->repo_->config (), - this->section_key_, - "publishes"); - - TAO_Port_Desc_Seq_Utils< - CORBA::ComponentIR::EventPortDescriptionSeq - >::port_descriptions (cd.consumes_events, - this->repo_->config (), - this->section_key_, - "consumes"); - - count = 0; - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - if (status == 0) - { - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - } - - cd.attributes.length (count); - ACE_Configuration_Section_Key attr_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (attrs_key, - stringified, - 0, - attr_key); - - TAO_ExtAttributeDef_i impl (this->repo_); - impl.section_key (attr_key); - impl.fill_description (cd.attributes[i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - cd.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description *cont_desc_ptr = 0; - ACE_NEW_THROW_EX (cont_desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - CORBA::Contained::Description_var retval = cont_desc_ptr; - - cont_desc_ptr->kind = CORBA::dk_Component; - - cont_desc_ptr->value <<= cd; - return retval._retn (); -} - -CORBA::TypeCode_ptr -TAO_ComponentDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ComponentDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - return this->repo_->tc_factory ()->create_component_tc ( - id.c_str (), - name.c_str () - ACE_ENV_ARG_PARAMETER - ); -} - -CORBA::InterfaceDefSeq * -TAO_ComponentDef_i::supported_interfaces (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->supported_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDefSeq * -TAO_ComponentDef_i::supported_interfaces_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::InterfaceDefSeq *seq = 0; - ACE_NEW_RETURN (seq, - CORBA::InterfaceDefSeq (0), - 0); - CORBA::InterfaceDefSeq_var retval = seq; - retval->length (0); - - CORBA::ULong count = 0; - ACE_Configuration_Section_Key supported_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "supported", - 0, - supported_key); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (supported_key, - "count", - count); - retval->length (count); - char *stringified = 0; - ACE_TString path; - CORBA::Object_var tmp; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (supported_key, - stringified, - path); - tmp = - TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::InterfaceDef::_narrow (tmp.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - return retval._retn (); -} - -void -TAO_ComponentDef_i::supported_interfaces ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->supported_interfaces_i (supported_interfaces - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ComponentDef_i::supported_interfaces_i ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Remove the old supported interfaces. - this->repo_->config ()->remove_section (this->section_key_, - "supported", - 0); - - CORBA::ULong length = supported_interfaces.length (); - ACE_Configuration_Section_Key inherited_key; - this->repo_->config ()->open_section (this->section_key_, - "supported", - 1, - inherited_key); - - CORBA::String_var name; - char *supported_path = 0; - ACE_Configuration_Section_Key supported_key; - - for (CORBA::ULong i = 0; i < length; ++i) - { - supported_path = - TAO_IFR_Service_Utils::reference_to_path ( - supported_interfaces[i] - ); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base interfaces is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path (this->repo_->root_key (), - supported_path, - TAO_IFR_Service_Utils::tmp_key_, - 0); - TAO_IFR_Service_Utils::name_exists (&TAO_InterfaceDef_i::name_clash, - this->section_key_, - this->repo_, - this->def_kind () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (supported_key, - stringified, - supported_path); - } -} - -CORBA::ComponentIR::ComponentDef_ptr -TAO_ComponentDef_i::base_component (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - return this->base_component_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ComponentIR::ComponentDef_ptr -TAO_ComponentDef_i::base_component_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString base_id; - int status = - this->repo_->config ()->get_string_value (this->section_key_, - "base_component", - base_id); - - if (status != 0) - { - return CORBA::ComponentIR::ComponentDef::_nil (); - } - - CORBA::Contained_var obj = this->repo_->lookup_id (base_id.fast_rep () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - return CORBA::ComponentIR::ComponentDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ComponentDef_i::base_component ( - CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->base_component_i (base_component - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ComponentDef_i::base_component_i ( - CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (base_component)) - { - this->repo_->config ()->remove_value (this->section_key_, - "base_component"); - return; - } - - const char *base_path = - TAO_IFR_Service_Utils::reference_to_path (base_component); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base valuetypes is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ComponentDef_i::name_clash, - this->section_key_, - this->repo_, - CORBA::dk_Component - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->repo_->config ()->set_string_value ( - this->section_key_, - "base_component", - base_component->_interface_repository_id () - ); -} - -CORBA::ComponentIR::ProvidesDef_ptr -TAO_ComponentDef_i::create_provides ( - const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::ProvidesDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ProvidesDef::_nil ()); - - return this->create_provides_i (id, - name, - version, - interface_type - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::ProvidesDef_ptr -TAO_ComponentDef_i::create_provides_i ( - const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - TAO_Port_Utils< - CORBA::ComponentIR::ProvidesDef - >::create_entry (id, - name, - version, - "provides", - interface_type, - 0, - this->repo_, - CORBA::dk_Provides, - this->section_key_ - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::UsesDef_ptr -TAO_ComponentDef_i::create_uses (const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::UsesDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::UsesDef::_nil ()); - - return this->create_uses_i (id, - name, - version, - interface_type, - is_multiple - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::UsesDef_ptr -TAO_ComponentDef_i::create_uses_i (const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - TAO_Port_Utils< - CORBA::ComponentIR::UsesDef - >::create_entry (id, - name, - version, - "uses", - interface_type, - is_multiple, - this->repo_, - CORBA::dk_Uses, - this->section_key_ - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::EmitsDef_ptr -TAO_ComponentDef_i::create_emits (const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::EmitsDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::EmitsDef::_nil ()); - - return this->create_emits_i (id, - name, - version, - value - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::EmitsDef_ptr -TAO_ComponentDef_i::create_emits_i (const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - TAO_Port_Utils< - CORBA::ComponentIR::EmitsDef - >::create_entry (id, - name, - version, - "emits", - value, - 0, - this->repo_, - CORBA::dk_Emits, - this->section_key_ - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::PublishesDef_ptr -TAO_ComponentDef_i::create_publishes (const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::PublishesDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::PublishesDef::_nil ()); - - return this->create_publishes_i (id, - name, - version, - value - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::PublishesDef_ptr -TAO_ComponentDef_i::create_publishes_i (const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - TAO_Port_Utils< - CORBA::ComponentIR::PublishesDef - >::create_entry (id, - name, - version, - "publishes", - value, - 0, - this->repo_, - CORBA::dk_Publishes, - this->section_key_ - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::ConsumesDef_ptr -TAO_ComponentDef_i::create_consumes (const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::ConsumesDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ConsumesDef::_nil ()); - - return this->create_consumes_i (id, - name, - version, - value - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::ConsumesDef_ptr -TAO_ComponentDef_i::create_consumes_i (const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - TAO_Port_Utils< - CORBA::ComponentIR::ConsumesDef - >::create_entry (id, - name, - version, - "consumes", - value, - 0, - this->repo_, - CORBA::dk_Consumes, - this->section_key_ - ACE_ENV_ARG_PARAMETER); -} - -int -TAO_ComponentDef_i::name_clash (const char *name) -{ - ACE_TRY_NEW_ENV - { - TAO_Container_i::tmp_name_holder_ = name; - TAO_IFR_Service_Utils::name_exists (&TAO_Container_i::same_as_tmp_name, - TAO_IFR_Service_Utils::tmp_key_, - TAO_IFR_Service_Utils::repo_, - CORBA::dk_Component - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - return 1; - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.h deleted file mode 100644 index 0c05918d563..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.h +++ /dev/null @@ -1,249 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ComponentDef_i.h -// -// = DESCRIPTION -// ComponentDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_COMPONENTDEF_I_H -#define TAO_COMPONENTDEF_I_H - -#include "orbsvcs/IFRService/ExtInterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/IFR_ComponentsS.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ComponentDef_i - : public virtual TAO_ExtInterfaceDef_i -{ - // = TITLE - // TAO_ComponentDef_i - // - // = DESCRIPTION - // Represents a component definition. - // -public: - TAO_ComponentDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ComponentDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::InterfaceDefSeq *supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDefSeq *supported_interfaces_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void supported_interfaces ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void supported_interfaces_i ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::ComponentDef_ptr base_component ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::ComponentDef_ptr base_component_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void base_component ( - CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void base_component_i ( - CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::ProvidesDef_ptr create_provides ( - const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::ProvidesDef_ptr create_provides_i ( - const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::UsesDef_ptr create_uses ( - const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::UsesDef_ptr create_uses_i ( - const char *id, - const char *name, - const char *version, - CORBA::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::EmitsDef_ptr create_emits ( - const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::EmitsDef_ptr create_emits_i ( - const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::PublishesDef_ptr create_publishes ( - const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::PublishesDef_ptr create_publishes_i ( - const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::ConsumesDef_ptr create_consumes ( - const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::ConsumesDef_ptr create_consumes_i ( - const char *id, - const char *name, - const char *version, - CORBA::ValueDef_ptr value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - static int name_clash (const char *name); - // Called from TAO_IFR_Service_Utils::name_exists() when we - // are a base component. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_COMPONENTDEF_I_H */ - - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.cpp deleted file mode 100644 index 474f85baf57..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ComponentModuleDef_i.h" - -ACE_RCSID (IFRService, - ComponentModuleDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ComponentModuleDef_i::TAO_ComponentModuleDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_ComponentContainer_i (repo) -{ -} - -TAO_ComponentModuleDef_i::~TAO_ComponentModuleDef_i (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.h deleted file mode 100644 index 6556910861c..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ComponentModuleDef_i.h -// -// = DESCRIPTION -// ComponentModuleDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_COMPONENTMODULEDEF_I_H -#define TAO_COMPONENTMODULEDEF_I_H - -#include "orbsvcs/IFRService/ComponentContainer_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ComponentModuleDef_i - : public virtual TAO_ComponentContainer_i -{ - // = TITLE - // TAO_ComponentModuleDef_i - // - // = DESCRIPTION - // Represents a module definition that may contain Component-related - // types. - // -public: - TAO_ComponentModuleDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ComponentModuleDef_i (void); - // Destructor -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_MODULEDEF_I_H */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.cpp deleted file mode 100644 index f0efb71adb1..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.cpp +++ /dev/null @@ -1,245 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "orbsvcs/IFRService/ComponentRepository_i.h" -#include "orbsvcs/IFRService/ModuleDef_i.h" -#include "orbsvcs/IFRService/ComponentDef_i.h" -#include "orbsvcs/IFRService/HomeDef_i.h" -#include "orbsvcs/IFRService/EventDef_i.h" -#include "orbsvcs/IFRService/FinderDef_i.h" -#include "orbsvcs/IFRService/FactoryDef_i.h" -#include "orbsvcs/IFRService/EmitsDef_i.h" -#include "orbsvcs/IFRService/PublishesDef_i.h" -#include "orbsvcs/IFRService/ConsumesDef_i.h" -#include "orbsvcs/IFRService/ProvidesDef_i.h" -#include "orbsvcs/IFRService/UsesDef_i.h" - -ACE_RCSID (IFRService, - ComponentRepository_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ComponentRepository_i::TAO_ComponentRepository_i ( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - ACE_Configuration *config - ) - : TAO_IRObject_i (0), - TAO_Container_i (0), - TAO_Repository_i (orb, - poa, - config), - TAO_ComponentContainer_i (0) -{ -} - -TAO_ComponentRepository_i::~TAO_ComponentRepository_i (void) -{ -} - -int -TAO_ComponentRepository_i::create_servants_and_poas ( - ACE_ENV_SINGLE_ARG_DECL - ) -{ - int status = - this->TAO_Repository_i::create_servants_and_poas ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - if (status != 0) - { - return -1; - } - - CORBA::PolicyList policies (5); - policies.length (5); - - // ID Assignment Policy. - policies[0] = - this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Lifespan Policy. - policies[1] = - this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Request Processing Policy. - policies[2] = - this->root_poa_->create_request_processing_policy ( - PortableServer::USE_DEFAULT_SERVANT - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - // Servant Retention Policy. - policies[3] = - this->root_poa_->create_servant_retention_policy ( - PortableServer::NON_RETAIN - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - // Id Uniqueness Policy. - policies[4] = - this->root_poa_->create_id_uniqueness_policy ( - PortableServer::MULTIPLE_ID - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - PortableServer::POAManager_var poa_manager = - this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - -#define GEN_IR_OBJECT(name) \ - this-> name ## _poa_ = \ - this->root_poa_->create_POA (#name "_poa", \ - poa_manager.in (), \ - policies \ - ACE_ENV_ARG_PARAMETER); \ - ACE_CHECK_RETURN (-1); \ - TAO_ ## name ## _i * name ## _impl = 0; \ - ACE_NEW_RETURN (name ## _impl, \ - TAO_ ## name ## _i (this), \ - -1); \ - ACE_NEW_RETURN (this-> name ## _servant_, \ - POA_CORBA::ComponentIR:: name ## _tie ( \ - name ## _impl, \ - this-> name ## _poa_.in (), \ - 1 \ - ), \ - -1); \ - PortableServer::ServantBase_var name ## _safety ( \ - this-> name ## _servant_ \ - ); \ - this-> name ## _poa_->set_servant (this-> name ## _servant_ \ - ACE_ENV_ARG_PARAMETER); \ - ACE_CHECK_RETURN (-1); - - CONCRETE_IR_OBJECT_TYPES - -#undef GEN_IR_OBJECT -#undef CONCRETE_IR_OBJECT_TYPES - - CORBA::ULong length = policies.length (); - - for (CORBA::ULong i = 0; i < length; ++i) - { - CORBA::Policy_ptr policy = policies[i]; - policy->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - } - - return 0; -} - -TAO_IDLType_i * -TAO_ComponentRepository_i::select_idltype ( - CORBA::DefinitionKind def_kind - ) const -{ - switch (def_kind) - { - case CORBA::dk_Component: - return this->ComponentDef_servant_->_tied_object (); - case CORBA::dk_Home: - return this->HomeDef_servant_->_tied_object (); - default: - return this->TAO_Repository_i::select_idltype (def_kind); - } -} - -TAO_Container_i * -TAO_ComponentRepository_i::select_container ( - CORBA::DefinitionKind def_kind - ) const -{ - switch (def_kind) - { - case CORBA::dk_Module: - return this->ModuleDef_servant_->_tied_object (); - case CORBA::dk_Component: - return this->ComponentDef_servant_->_tied_object (); - case CORBA::dk_Home: - return this->HomeDef_servant_->_tied_object (); - default: - return this->TAO_Repository_i::select_container (def_kind); - } -} - -TAO_Contained_i * -TAO_ComponentRepository_i::select_contained ( - CORBA::DefinitionKind def_kind - ) const -{ - switch (def_kind) - { - case CORBA::dk_Module: - return this->ModuleDef_servant_->_tied_object (); - case CORBA::dk_Component: - return this->ComponentDef_servant_->_tied_object (); - case CORBA::dk_Home: - return this->HomeDef_servant_->_tied_object (); - case CORBA::dk_Finder: - return this->FinderDef_servant_->_tied_object (); - case CORBA::dk_Factory: - return this->FactoryDef_servant_->_tied_object (); - case CORBA::dk_Event: - return this->EventDef_servant_->_tied_object (); - case CORBA::dk_Emits: - return this->EmitsDef_servant_->_tied_object (); - case CORBA::dk_Publishes: - return this->PublishesDef_servant_->_tied_object (); - case CORBA::dk_Consumes: - return this->ConsumesDef_servant_->_tied_object (); - case CORBA::dk_Provides: - return this->ProvidesDef_servant_->_tied_object (); - case CORBA::dk_Uses: - return this->UsesDef_servant_->_tied_object (); - default: - return this->TAO_Repository_i::select_contained (def_kind); - } -} - -PortableServer::POA_ptr -TAO_ComponentRepository_i::select_poa ( - CORBA::DefinitionKind def_kind - ) const -{ - switch (def_kind) - { - case CORBA::dk_Module: - return this->ModuleDef_poa_.in (); - case CORBA::dk_Component: - return this->ComponentDef_poa_.in (); - case CORBA::dk_Home: - return this->HomeDef_poa_.in (); - case CORBA::dk_Finder: - return this->FinderDef_poa_.in (); - case CORBA::dk_Factory: - return this->FactoryDef_poa_.in (); - case CORBA::dk_Event: - return this->EventDef_poa_.in (); - case CORBA::dk_Emits: - return this->EmitsDef_poa_.in (); - case CORBA::dk_Publishes: - return this->PublishesDef_poa_.in (); - case CORBA::dk_Consumes: - return this->ConsumesDef_poa_.in (); - case CORBA::dk_Provides: - return this->ProvidesDef_poa_.in (); - case CORBA::dk_Uses: - return this->UsesDef_poa_.in (); - default: - return this->TAO_Repository_i::select_poa (def_kind); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.h deleted file mode 100644 index 7690ee20edc..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentRepository_i.h +++ /dev/null @@ -1,129 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ComponentRepository_i.h -// -// = DESCRIPTION -// ComponentRepository servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_COMPONENTREPOSITORY_I_H -#define TAO_COMPONENTREPOSITORY_I_H - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/ComponentContainer_i.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ModuleDef_i; -class TAO_ComponentDef_i; -class TAO_HomeDef_i; -class TAO_FinderDef_i; -class TAO_FactoryDef_i; -class TAO_EventDef_i; -class TAO_EmitsDef_i; -class TAO_PublishesDef_i; -class TAO_ConsumesDef_i; -class TAO_ProvidesDef_i; -class TAO_UsesDef_i; - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -class TAO_IFRService_Export TAO_ComponentRepository_i - : public virtual TAO_Repository_i, - public virtual TAO_ComponentContainer_i -{ - // = TITLE - // TAO_ComponentRepository_i - // - // = DESCRIPTION - // Provides global access to the Interface Repository, - // including access to information related to - // CORBA Components. - // -public: - TAO_ComponentRepository_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - ACE_Configuration *config); - // Constructor. - - virtual ~TAO_ComponentRepository_i (void); - // Destructor. - - virtual int create_servants_and_poas (ACE_ENV_SINGLE_ARG_DECL); - // We create a default servant servant for each IR Object - // type and its corresponding POA. - - virtual TAO_IDLType_i *select_idltype ( - CORBA::DefinitionKind def_kind - ) const; - virtual TAO_Container_i *select_container ( - CORBA::DefinitionKind def_kind - ) const; - virtual TAO_Contained_i *select_contained ( - CORBA::DefinitionKind def_kind - ) const; - // Return one of our servants for internal use. - - virtual PortableServer::POA_ptr select_poa ( - CORBA::DefinitionKind def_kind - ) const; - // Select the right POA for object creation. - -protected: - -#ifdef CONCRETE_IR_OBJECT_TYPES -#undef CONCRETE_IR_OBJECT_TYPES -#endif - -#define CONCRETE_IR_OBJECT_TYPES \ - GEN_IR_OBJECT (ModuleDef) \ - GEN_IR_OBJECT (ComponentDef) \ - GEN_IR_OBJECT (HomeDef) \ - GEN_IR_OBJECT (FinderDef) \ - GEN_IR_OBJECT (FactoryDef) \ - GEN_IR_OBJECT (EventDef) \ - GEN_IR_OBJECT (EmitsDef) \ - GEN_IR_OBJECT (PublishesDef) \ - GEN_IR_OBJECT (ConsumesDef) \ - GEN_IR_OBJECT (ProvidesDef) \ - GEN_IR_OBJECT (UsesDef) - -#define GEN_IR_OBJECT(name) \ - POA_CORBA::ComponentIR:: name ## _tie * name ## _servant_; \ - PortableServer::POA_var name ## _poa_; - - CONCRETE_IR_OBJECT_TYPES - -#undef GEN_IR_OBJECT - // Servants for each IR Object type, created at startup. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_COMPONENTREPOSITORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp deleted file mode 100644 index 3ca04650d04..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp +++ /dev/null @@ -1,313 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ConstantDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/IDLType_i.h" - -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ConstantDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ConstantDef_i::TAO_ConstantDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_ConstantDef_i::~TAO_ConstantDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ConstantDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Constant; -} - -CORBA::Contained::Description * -TAO_ConstantDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ConstantDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ConstantDescription cd; - - cd.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - cd.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TString container_id; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - cd.defined_in = container_id.c_str (); - - cd.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - cd.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Any_var val = this->value_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - cd.value = val.in (); - - retval->value <<= cd; - return retval._retn (); -} - -CORBA::TypeCode_ptr -TAO_ConstantDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ConstantDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString type_path; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - type_path); - - TAO_IDLType_i *impl = TAO_IFR_Service_Utils::path_to_idltype (type_path, - this->repo_); - - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ConstantDef_i::type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ConstantDef_i::type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString type_path; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - type_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (type_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ConstantDef_i::type_def (CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->type_def_i (type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ConstantDef_i::type_def_i (CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "type_path", - type_path); -} - -CORBA::Any * -TAO_ConstantDef_i::value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->value_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Any * -TAO_ConstantDef_i::value_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::TypeCode_var tc = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - void *ref = 0; - size_t length = 0; - - this->repo_->config ()->get_binary_value ( - this->section_key_, - "value", - ref, - length - ); - - char *data = static_cast (ref); - ACE_Auto_Basic_Array_Ptr safety (data); - - ACE_Message_Block mb (data, - length); - mb.length (length); - TAO_InputCDR in_cdr (&mb); - - CORBA::Any *retval = 0; - ACE_NEW_THROW_EX (retval, - CORBA::Any, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - TAO::Unknown_IDL_Type *impl = 0; - ACE_NEW_THROW_EX (impl, - TAO::Unknown_IDL_Type (tc.in (), - in_cdr), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - retval->replace (impl); - safety.release (); - return retval; -} - -void -TAO_ConstantDef_i::value (const CORBA::Any &value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->value_i (value - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ConstantDef_i::value_i (const CORBA::Any &value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::TypeCode_var my_tc = - this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::TypeCode_var val_tc = value.type (); - - CORBA::Boolean const equal_tc = - my_tc.in ()->equal (val_tc.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (!equal_tc) - { - return; - } - - ACE_Message_Block *mb = 0; - TAO::Any_Impl *impl = value.impl (); - - if (impl->encoded ()) - { - TAO::Unknown_IDL_Type *unk = - dynamic_cast (impl); - - mb = unk->_tao_get_cdr ().steal_contents (); - } - else - { - TAO_OutputCDR out; - impl->marshal_value (out); - TAO_InputCDR in (out); - mb = in.steal_contents (); - } - - CORBA::TCKind kind = val_tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - switch (kind) - { - // The data for these types will be aligned to an 8-byte - // boundary, while the rd_ptr may not. - case CORBA::tk_double: - case CORBA::tk_ulonglong: - case CORBA::tk_longlong: - case CORBA::tk_longdouble: - mb->rd_ptr (ACE_ptr_align_binary (mb->rd_ptr (), - ACE_CDR::MAX_ALIGNMENT)); - break; - default: - break; - } - - mb->crunch (); - this->repo_->config ()->set_binary_value (this->section_key_, - "value", - mb->base (), - mb->length ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.h deleted file mode 100644 index f9243f6d58c..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ConstantDef_i.h +++ /dev/null @@ -1,132 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ConstantDef_i.h -// -// = DESCRIPTION -// ConstantDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_CONSTANTDEF_I_H -#define TAO_CONSTANTDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ConstantDef_i : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_ConstantDef_i - // - // = DESCRIPTION - // Represents a named constant. - // -public: - TAO_ConstantDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ConstantDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void type_def ( - CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void type_def_i ( - CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any *value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Any *value_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void value ( - const CORBA::Any &value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void value_i ( - const CORBA::Any &value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_CONSTANTDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.cpp deleted file mode 100644 index 0b6b8311b7e..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ConsumesDef_i.h" - -ACE_RCSID (IFRService, - ConsumesDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ConsumesDef_i::TAO_ConsumesDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_EventPortDef_i (repo) -{ -} - -TAO_ConsumesDef_i::~TAO_ConsumesDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ConsumesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Consumes; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.h deleted file mode 100644 index 2bbbef43916..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ConsumesDef_i.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ConsumesDef_i.h -// -// = DESCRIPTION -// ConsumesDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_CONSUMESDEF_I_H -#define TAO_CONSUMESDEF_I_H - -#include "orbsvcs/IFRService/EventPortDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ConsumesDef_i - : public virtual TAO_EventPortDef_i -{ - // = TITLE - // TAO_ConsumesDef_i - // - // = DESCRIPTION - // Represents the definition of an event that is consumed - // by a component. - // -public: - TAO_ConsumesDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ConsumesDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_CONSUMESDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp deleted file mode 100644 index b61b34ea4a1..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.cpp +++ /dev/null @@ -1,1259 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/concrete_classes.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - Contained_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const char *TAO_Contained_i::tmp_name_holder_ = 0; - -TAO_Contained_i::TAO_Contained_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo) -{ -} - -TAO_Contained_i::~TAO_Contained_i (void) -{ -} - -void -TAO_Contained_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - // We'll get the last segment of this below. - ACE_TString path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - id.c_str (), - path); - - // Remove the repo id. - this->repo_->config ()->remove_value (this->repo_->repo_ids_key (), - id.c_str ()); - - // Remove the database entry. - ACE_TString container_id; - ACE_Configuration_Section_Key parent_key; - - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - if (container_id == "") - { - parent_key = this->repo_->root_key (); - } - else - { - ACE_TString parent_path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - container_id.c_str (), - parent_path); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - parent_path, - parent_key, - 0); - } - - ACE_Configuration_Section_Key defns_key; - this->repo_->config ()->open_section (parent_key, - "defns", - 0, - defns_key); - - ACE_TString last_seg = path.substr (path.rfind ('\\') + 1); - this->repo_->config ()->remove_section (defns_key, - last_seg.c_str (), - 1); -} - -char * -TAO_Contained_i::id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -char * -TAO_Contained_i::id_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString retval; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - retval); - - return CORBA::string_dup (retval.c_str ()); -} - -void -TAO_Contained_i::id (const char *id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->id_i (id - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Contained_i::id_i (const char *id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString tmp; - if (this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - id, - tmp - ) - == 0) - { - // Repository id already exists. - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 2, - CORBA::COMPLETED_NO)); - } - - // Get the old id. - ACE_TString old_id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - old_id); - - ACE_TString path; - - // Fetch our path. - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - old_id.c_str (), - path); - - // Remove the old id. - this->repo_->config ()->remove_value (this->repo_->repo_ids_key (), - old_id.c_str ()); - - // Save our path under the new id. - this->repo_->config ()->set_string_value (this->repo_->repo_ids_key (), - id, - path); - - // Store the new id locally as well. - this->repo_->config ()->set_string_value (this->section_key_, - "id", - id); -} - -char * -TAO_Contained_i::name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -char * -TAO_Contained_i::name_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString retval; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - retval); - - return CORBA::string_dup (retval.c_str ()); -} - -char * -TAO_Contained_i::version (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -char * -TAO_Contained_i::version_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString retval; - this->repo_->config ()->get_string_value (this->section_key_, - "version", - retval); - - return CORBA::string_dup (retval.c_str ()); -} - -void -TAO_Contained_i::name (const char *name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->name_i (name - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Contained_i::name_i (const char *name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Check if name already exists in this container. - CORBA::Boolean exists = this->name_exists (name - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (exists) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 3, - CORBA::COMPLETED_NO)); - } - - // Reset the local name. - this->repo_->config ()->set_string_value (this->section_key_, - "name", - name); - - // Update the absolute name. - ACE_TString absolute_name; - this->repo_->config ()->get_string_value (this->section_key_, - "absolute_name", - absolute_name); - - absolute_name = absolute_name.substr (0, absolute_name.rfind (':') + 1); - absolute_name += name; - - this->repo_->config ()->set_string_value (this->section_key_, - "absolute_name", - absolute_name); - - this->contents_name_update (absolute_name, - this->section_key_); -} - -void -TAO_Contained_i::version (const char *version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->version_i (version - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Contained_i::version_i (const char *version - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_string_value (this->section_key_, - "version", - version); -} - -CORBA::Container_ptr -TAO_Contained_i::defined_in (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::Container::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Container::_nil ()); - - return this->defined_in_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Container_ptr -TAO_Contained_i::defined_in_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString container_id; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - if (container_id == "") - { - // The repository itself is our container. - return this->repo_->repo_objref (); - } - - ACE_TString container_path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - container_id.c_str (), - container_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (container_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Container::_nil ()); - - CORBA::Container_var retval = CORBA::Container::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Container::_nil ()); - - return retval._retn (); -} - -char * -TAO_Contained_i::absolute_name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->absolute_name_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -char * -TAO_Contained_i::absolute_name_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString absolute_name; - this->repo_->config ()->get_string_value (this->section_key_, - "absolute_name", - absolute_name); - - return CORBA::string_dup (absolute_name.c_str ()); -} - -CORBA::Repository_ptr -TAO_Contained_i::containing_repository (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->repo_->repo_objref (); -} - -CORBA::Contained::Description * -TAO_Contained_i::describe ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // This will always be overridden by derived classes. - return 0; -} - -CORBA::Contained::Description * -TAO_Contained_i::describe_i ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // This will always be overridden by derived classes. - return 0; -} - -void -TAO_Contained_i::move (CORBA::Container_ptr new_container, - const char *new_name, - const char *new_version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->move_i (new_container, - new_name, - new_version, - 1 - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_Contained_i::name_exists (const char *name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString container_id; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - if (container_id == "") - { - TAO_Contained_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key root_key = this->repo_->root_key (); - TAO_IFR_Service_Utils::name_exists (&TAO_Contained_i::same_as_tmp_name, - root_key, - this->repo_, - CORBA::dk_Repository - ACE_ENV_ARG_PARAMETER); - return 0; - } - - ACE_TString container_path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - container_id.c_str (), - container_path); - - ACE_Configuration_Section_Key container_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - container_path, - container_key, - 0); - - ACE_Configuration_Section_Key defns_key; - this->repo_->config ()->open_section (container_key, - "defns", - 0, - defns_key); - - ACE_TString section_name; - int index = 0; - - while (this->repo_->config ()->enumerate_sections (defns_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key defn_key; - this->repo_->config ()->open_section (defns_key, - section_name.c_str (), - 0, - defn_key); - - ACE_TString defn_name; - this->repo_->config ()->get_string_value (defn_key, - "name", - defn_name); - - if (defn_name == name) - { - return 1; - } - } - - return 0; -} - -void -TAO_Contained_i::contents_name_update (ACE_TString stem, - ACE_Configuration_Section_Key key) -{ - ACE_Configuration_Section_Key defns_key; - if (this->repo_->config ()->open_section (key, - "defns", - 0, - defns_key) - != 0) - { - return; - } - - int index = 0; - ACE_TString sub_section; - while (this->repo_->config ()->enumerate_sections (defns_key, - index++, - sub_section) - == 0) - { - ACE_Configuration_Section_Key defn_key; - - this->repo_->config ()->open_section (defns_key, - sub_section.c_str (), - 0, - defn_key); - - ACE_TString name; - this->repo_->config ()->get_string_value (defn_key, - "name", - name); - - ACE_TString absolute_name = stem + "::" + name; - this->repo_->config ()->set_string_value (defn_key, - "absolute_name", - absolute_name); - - this->contents_name_update (absolute_name, - defn_key); - } -} - -int -TAO_Contained_i::same_as_tmp_name (const char *name) -{ - return ACE_OS::strcmp (TAO_Contained_i::tmp_name_holder_, name) == 0; -} - -void -TAO_Contained_i::move_i (CORBA::Container_ptr new_container, - const char *new_name, - const char *new_version, - CORBA::Boolean cleanup - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Repository_var my_repo = this->repo_->repo_objref (); - - CORBA::DefinitionKind container_dk = - TAO_IFR_Service_Utils::reference_to_def_kind (new_container, - this->repo_); - - ACE_Configuration_Section_Key container_key; - - // Check that we're not trying to move to a different repository, - // and set the container impl, used in each switch case below. - if (container_dk == CORBA::dk_Repository) - { - container_key = this->repo_->root_key (); - } - else - { - ACE_TString container_path ( - TAO_IFR_Service_Utils::reference_to_path (new_container) - ); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - container_path, - container_key, - 0); - } - - CORBA::DefinitionKind my_dk = - this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::String_var id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // If an exception is thrown, this must be restored. - ACE_TString my_path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - id.in (), - my_path); - - // Remove the repo id, because the create_* function call will add it - // again with a different path value. - this->repo_->config ()->remove_value (this->repo_->repo_ids_key (), - id.in ()); - - // Used for cleanup at the end of this function. - ACE_Configuration_Section_Key old_section_key = this->section_key_; - - TAO_Contained_i as_contained (this->repo_); - as_contained.section_key (container_key); - - CORBA::String_var container_id = - as_contained.id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString new_id (container_id.in ()); - new_id = - new_id.substr (0, new_id.rfind (':')) + "/" + new_name + ":" + new_version; - - TAO_Container_i container_impl (this->repo_); - container_impl.section_key (container_key); - - ACE_TRY - { - // Call the appropriate create function. - switch (my_dk) - { - case CORBA::dk_Enum: - { - TAO_EnumDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::EnumMemberSeq_var members = - impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (container_dk == CORBA::dk_Struct - || container_dk == CORBA::dk_Union - || container_dk == CORBA::dk_Exception) - { - this->move_pre_process (new_container, - my_path.c_str (), - new_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - CORBA::EnumDef_var new_defn = - container_impl.create_enum_i (new_id.c_str (), - new_name, - new_version, - members.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TString new_path = - TAO_IFR_Service_Utils::reference_to_path (new_defn.in ()); - container_impl.update_refs (new_path.c_str ()); - - break; - } - case CORBA::dk_Alias: - { - TAO_AliasDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::IDLType_var otype = - impl.original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::AliasDef_var new_defn = - container_impl.create_alias_i (new_id.c_str (), - new_name, - new_version, - otype.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TString new_path = - TAO_IFR_Service_Utils::reference_to_path (new_defn.in ()); - container_impl.update_refs (new_path.c_str ()); - - break; - } - case CORBA::dk_Native: - { - container_impl.create_native_i (new_id.c_str (), - new_name, - new_version - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - break; - } - case CORBA::dk_ValueBox: - { - TAO_ValueBoxDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::IDLType_var otype = - impl.original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::ValueBoxDef_var new_defn = - container_impl.create_value_box_i (new_id.c_str (), - new_name, - new_version, - otype.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TString new_path = - TAO_IFR_Service_Utils::reference_to_path (new_defn.in ()); - container_impl.update_refs (new_path.c_str ()); - - break; - } - case CORBA::dk_Struct: - { - TAO_StructDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::StructMemberSeq_var members = - impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (container_dk == CORBA::dk_Struct - || container_dk == CORBA::dk_Union - || container_dk == CORBA::dk_Exception) - { - this->move_pre_process (new_container, - my_path.c_str (), - new_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - CORBA::StructDef_var new_defn = - container_impl.create_struct_i (new_id.c_str (), - new_name, - new_version, - members.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TString new_path = - TAO_IFR_Service_Utils::reference_to_path (new_defn.in ()); - container_impl.update_refs (new_path.c_str ()); - - this->move_contents (new_defn.in () - ACE_ENV_ARG_PARAMETER); - - break; - } - case CORBA::dk_Union: - { - TAO_UnionDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::IDLType_var disc_type = - impl.discriminator_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::UnionMemberSeq_var members = - impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (container_dk == CORBA::dk_Struct - || container_dk == CORBA::dk_Union - || container_dk == CORBA::dk_Exception) - { - this->move_pre_process (new_container, - my_path.c_str (), - new_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - CORBA::UnionDef_var new_defn = - container_impl.create_union_i (new_id.c_str (), - new_name, - new_version, - disc_type.in (), - members.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TString new_path = - TAO_IFR_Service_Utils::reference_to_path (new_defn.in ()); - container_impl.update_refs (new_path.c_str ()); - - this->move_contents (new_defn.in () - ACE_ENV_ARG_PARAMETER); - - break; - } - case CORBA::dk_Module: - { - CORBA::ModuleDef_var new_defn = - container_impl.create_module_i (new_id.c_str (), - new_name, - new_version - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->move_contents (new_defn.in () - ACE_ENV_ARG_PARAMETER); - - break; - } - case CORBA::dk_Exception: - { - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::StructMemberSeq_var members = - impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::ExceptionDef_var new_defn = - container_impl.create_exception_i (new_id.c_str (), - new_name, - new_version, - members.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->move_contents (new_defn.in () - ACE_ENV_ARG_PARAMETER); - - break; - } - case CORBA::dk_Interface: - { - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::InterfaceDefSeq_var bases = - impl.base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::InterfaceDef_var new_defn = - container_impl.create_interface_i (new_id.c_str (), - new_name, - new_version, - bases.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TString new_path = - TAO_IFR_Service_Utils::reference_to_path (new_defn.in ()); - container_impl.update_refs (new_path.c_str ()); - - this->move_contents (new_defn.in () - ACE_ENV_ARG_PARAMETER); - - break; - } - case CORBA::dk_Constant: - { - TAO_ConstantDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::IDLType_var type_def = - impl.type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Any_var value = impl.value_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - container_impl.create_constant_i (new_id.c_str (), - new_name, - new_version, - type_def.in (), - value.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - break; - } - case CORBA::dk_Attribute: - { - TAO_AttributeDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::IDLType_var type_def = - impl.type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::AttributeMode mode = - impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (container_dk == CORBA::dk_Interface) - { - TAO_InterfaceDef_i idef (this->repo_); - idef.section_key (container_key); - - idef.create_attribute_i (new_id.c_str (), - new_name, - new_version, - type_def.in (), - mode - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - break; - } - else if (container_dk == CORBA::dk_Value) - { - TAO_ValueDef_i vdef (this->repo_); - vdef.section_key (container_key); - - vdef.create_attribute_i (new_id.c_str (), - new_name, - new_version, - type_def.in (), - mode - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - break; - } - else - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 4, - CORBA::COMPLETED_NO)); - } - } - case CORBA::dk_Operation: - { - TAO_OperationDef_i impl (this->repo_); - impl.section_key (this->section_key_); - - CORBA::IDLType_var result = - impl.result_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::OperationMode mode = - impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::ParDescriptionSeq_var params = - impl.params_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::ExceptionDefSeq_var exceptions = - impl.exceptions_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::ContextIdSeq_var contexts = - impl.contexts_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (container_dk == CORBA::dk_Interface) - { - TAO_InterfaceDef_i idef (this->repo_); - idef.section_key (container_key); - - idef.create_operation_i (new_id.c_str (), - new_name, - new_version, - result.in (), - mode, - params.in (), - exceptions.in (), - contexts.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - break; - } - else if (container_dk == CORBA::dk_Value) - { - TAO_ValueDef_i vdef (this->repo_); - impl.section_key (container_key); - - vdef.create_operation_i (new_id.c_str (), - new_name, - new_version, - result.in (), - mode, - params.in (), - exceptions.in (), - contexts.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - break; - } - else - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 4, - CORBA::COMPLETED_NO)); - } - } - case CORBA::dk_Value: - case CORBA::dk_Home: - case CORBA::dk_Component: - case CORBA::dk_Factory: - case CORBA::dk_Finder: - case CORBA::dk_Provides: - case CORBA::dk_Uses: - case CORBA::dk_Emits: - case CORBA::dk_Publishes: - case CORBA::dk_Consumes: - case CORBA::dk_ValueMember: - case CORBA::dk_Event: - // TODO - default: - break; - } - } - ACE_CATCHANY - { - // If the move was not successful, we must restore this. - this->repo_->config ()->set_string_value ( - this->repo_->repo_ids_key (), - id.in (), - my_path - ); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - - if (cleanup) - { - // Remove the old database entry. - ACE_TString container_id; - ACE_Configuration_Section_Key parent_key; - - this->repo_->config ()->get_string_value (old_section_key, - "container_id", - container_id); - - if (container_id == "") - { - parent_key = this->repo_->root_key (); - } - else - { - ACE_TString parent_path; - this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - container_id.c_str (), - parent_path - ); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - parent_path, - parent_key, - 0); - } - - ACE_Configuration_Section_Key defns_key; - this->repo_->config ()->open_section (parent_key, - "defns", - 0, - defns_key); - - ACE_TString last_seg = my_path.substr (my_path.rfind ('\\') + 1); - this->repo_->config ()->remove_section (defns_key, - last_seg.c_str (), - 1); - } -} - -void -TAO_Contained_i::move_pre_process (CORBA::Container_ptr container, - const char *contained_path, - const char *name - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *container_path = - TAO_IFR_Service_Utils::reference_to_path (container); - - ACE_Configuration_Section_Key container_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - container_path, - container_key, - 0); - - ACE_Configuration_Section_Key refs_key; - this->repo_->config ()->open_section (container_key, - "refs", - 0, - refs_key); - - int index = 0; - ACE_TString section_name; - while (this->repo_->config ()->enumerate_sections (refs_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key ref_key; - this->repo_->config ()->open_section (refs_key, - section_name.c_str (), - 0, - ref_key); - - ACE_TString ref_name; - this->repo_->config ()->get_string_value (ref_key, - "name", - ref_name); - - ACE_TString path; - this->repo_->config ()->get_string_value (ref_key, - "path", - path); - - if (ref_name == name && path == contained_path) - { - ref_name += this->repo_->extension (); - this->repo_->config ()->set_string_value (ref_key, - "name", - ref_name); - - break; - } - } -} - -void -TAO_Contained_i::move_contents (CORBA::Container_ptr new_container - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString name; - ACE_TString version; - - ACE_Configuration_Section_Key defns_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "defns", - 0, - defns_key); - - if (status == 0) - { - u_int count = 0; - this->repo_->config ()->get_integer_value (defns_key, - "count", - count); - - for (u_int i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key defn_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - status = - this->repo_->config ()->open_section (defns_key, - stringified, - 0, - defn_key); - - if (status == 0) - { - this->repo_->config ()->get_string_value (defn_key, - "name", - name); - - this->repo_->config ()->get_string_value (defn_key, - "version", - version); - u_int kind = 0; - this->repo_->config ()->get_integer_value (defn_key, - "def_kind", - kind); - CORBA::DefinitionKind def_kind = - static_cast (kind); - - TAO_Contained_i *impl = this->repo_->select_contained (def_kind); - impl->section_key (defn_key); - - impl->move_i (new_container, - name.c_str (), - version.c_str (), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - } - - CORBA::DefinitionKind kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Specific to InterfaceDef_i and ValueDef_i - if (kind == CORBA::dk_Interface || kind == CORBA::dk_Value) - { - int index = 0; - ACE_TString section_name; - - // Attributes - ACE_Configuration_Section_Key attrs_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (attrs_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key attr_key; - this->repo_->config ()->open_section (attrs_key, - section_name.c_str (), - 0, - attr_key); - - this->repo_->config ()->get_string_value (attr_key, - "name", - name); - - this->repo_->config ()->get_string_value (attr_key, - "version", - version); - - TAO_AttributeDef_i impl (this->repo_); - impl.section_key (attr_key); - - impl.move_i (new_container, - name.c_str (), - version.c_str (), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - - index = 0; - - // Operations - ACE_Configuration_Section_Key ops_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - ops_key); - - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (ops_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key op_key; - this->repo_->config ()->open_section (ops_key, - section_name.c_str (), - 0, - op_key); - - this->repo_->config ()->get_string_value (op_key, - "name", - name); - - this->repo_->config ()->get_string_value (op_key, - "version", - version); - - TAO_OperationDef_i impl (this->repo_); - impl.section_key (op_key); - - impl.move_i (new_container, - name.c_str (), - version.c_str (), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.h b/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.h deleted file mode 100644 index 5729837ce3b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Contained_i.h +++ /dev/null @@ -1,236 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// Contained_i.h -// -// = DESCRIPTION -// Contained servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_CONTAINED_I_H -#define TAO_CONTAINED_I_H - -#include "orbsvcs/IFRService/IRObject_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_Contained_i : public virtual TAO_IRObject_i -{ - // = TITLE - // TAO_Contained_i - // - // = DESCRIPTION - // Abstract base class for all IR objects that are contained - // by other IR objects. - // -public: - TAO_Contained_i (TAO_Repository_i *repo); - // Constructor. - - virtual ~TAO_Contained_i (void); - // Destructor. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char *id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - char *id_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void id ( - const char *id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void id_i ( - const char *id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char *name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - char *name_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void name ( - const char *name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void name_i ( - const char *name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char *version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - char *version_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void version ( - const char *version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void version_i ( - const char *version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Container_ptr defined_in_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char *absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - char *absolute_name_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void move ( - CORBA::Container_ptr new_container, - const char *new_name, - const char *new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - static int same_as_tmp_name (const char *name); - // Called from TAO_IFR_Service_Utils::name_exists. - -protected: - void move_i ( - CORBA::Container_ptr new_container, - const char *new_name, - const char *new_version, - CORBA::Boolean cleanup - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Engine for move() with an extra 'cleanup' - // parameter. Since a section removal can be - // recursive, this need be done only at the top - // level. - -private: - CORBA::Boolean name_exists ( - const char *name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Check if already exists in our container - - void contents_name_update ( - ACE_TString stem, - ACE_Configuration_Section_Key key - ); - // Recursively update the scoped name of our contents. - - void move_pre_process ( - CORBA::Container_ptr container, - const char *contained_path, - const char *name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Mangle the names of references that are also - // defined in the scope, so a name clash will - // not occur when create_* is called. Create_* - // unmangles the names. - - void move_contents ( - CORBA::Container_ptr new_container - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Recursively calls move_i for definitions, - // as well as operations and attributes if - // applicable. - -private: - static const char *tmp_name_holder_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_CONTAINED_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp deleted file mode 100644 index b729699e35e..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.cpp +++ /dev/null @@ -1,2684 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/ValueDef_i.h" -#include "orbsvcs/IFRService/ExtValueDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" - -#include "tao/IFR_Client/IFR_ComponentsC.h" - -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - Container_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const char *TAO_Container_i::tmp_name_holder_ = 0; - -TAO_Container_i::TAO_Container_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo) -{ -} - -TAO_Container_i::~TAO_Container_i (void) -{ -} - -void -TAO_Container_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - int index = 0; - int status; - ACE_TString section_name; - - // Destroy and/or remove references. - - ACE_Configuration_Section_Key refs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "refs", - 0, - refs_key); - // This section may not have been created. - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (refs_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key member_key; - this->repo_->config ()->open_section (refs_key, - section_name.c_str (), - 0, - member_key); - - ACE_TString path; - this->repo_->config ()->get_string_value (member_key, - "path", - path); - - ACE_Configuration_Section_Key entry_key; - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - entry_key, - 0); - - // This entry may already have been destroyed. - if (status == 0) - { - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (path, - this->repo_); - - CORBA::DefinitionKind def_kind = - impl->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - switch (def_kind) - { - // These anonymous types were defined in IDL inside this - // struct and have no 'contained-in' info of their own, - // so they must be destroyed here. - case CORBA::dk_String: - case CORBA::dk_Wstring: - case CORBA::dk_Fixed: - case CORBA::dk_Array: - case CORBA::dk_Sequence: - impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - break; - default: - // No other types can be defined in this section of the struct. - break; - } - } - } - - this->repo_->config ()->remove_section (this->section_key_, - "refs", - 1); - } - - // Destroy definitions. - - ACE_Configuration_Section_Key defns_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "defns", - 0, - defns_key); - - // Store our section key for later in case this method is - // called recursively - ACE_Configuration_Section_Key holder = this->section_key_; - - // This section may not have been created. - if (status == 0) - { - index = 0; - - while (this->repo_->config ()->enumerate_sections (defns_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key defn_key; - this->repo_->config ()->open_section (defns_key, - section_name.c_str (), - 0, - defn_key); - u_int kind = 0; - this->repo_->config ()->get_integer_value (defn_key, - "def_kind", - kind); - CORBA::DefinitionKind def_kind = - static_cast (kind); - - TAO_Contained_i *impl = this->repo_->select_contained (def_kind); - impl->section_key (defn_key); - - impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - // Restore our original section key, in case this method was - // called recursively. - this->section_key (holder); - - this->repo_->config ()->remove_section (this->section_key_, - "defns", - 1); - } -} - -CORBA::Contained_ptr -TAO_Container_i::lookup (const char *search_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Contained::_nil ()); - - return this->lookup_i (search_name - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Contained_ptr -TAO_Container_i::lookup_i (const char *search_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration_Section_Key iter_key; - ACE_Configuration_Section_Key work_key; - ACE_TString work_string; - ACE_TString section_name; - int status = 0; - int index = 0; - ACE_TString::size_type pos = 0; - int so_far_so_good = 0; - u_int kind = 0; - CORBA::DefinitionKind def_kind = CORBA::dk_none; - - - if (ACE_OS::strncmp (search_name, "::", 2) == 0) - { - // We were given an absolute scoped name. - work_string = search_name + 2; - iter_key = this->repo_->root_key (); - } - else - { - // We were given a relative scoped name. - work_string = search_name; - iter_key = this->section_key_; - } - - while (1) - { - pos = work_string.find ("::"); - so_far_so_good = 0; - - ACE_Configuration_Section_Key defns_key; - status = - this->repo_->config ()->open_section (iter_key, - "defns", - 0, - defns_key); - if (status == 0) - { - index = 0; - - while (this->repo_->config ()->enumerate_sections (defns_key, - index++, - section_name) - == 0) - { - this->repo_->config ()->open_section (defns_key, - section_name.c_str (), - 0, - work_key); - - ACE_TString defn_name; - this->repo_->config ()->get_string_value (work_key, - "name", - defn_name); - - if (defn_name == work_string.substr (0, pos)) - { - iter_key = work_key; - so_far_so_good = 1; - break; - } - } - } - - if (so_far_so_good) - { - if (pos != ACE_TString::npos) - { - work_string = work_string.substr (pos + 2); - continue; - } - else - { - break; - } - } - else - { - // Check for attributes and operations, but only if we - // are on the last segment of the scoped name. - if (pos == ACE_TString::npos) - { - this->repo_->config ()->get_integer_value (iter_key, - "def_kind", - kind); - - def_kind = static_cast (kind); - - if (def_kind == CORBA::dk_Interface - || def_kind == CORBA::dk_Value) - { - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (iter_key, - "attrs", - 0, - attrs_key); - - if (status == 0) - { - index = 0; - while (this->repo_->config ()->enumerate_sections ( - attrs_key, - index++, - section_name - ) - == 0) - { - this->repo_->config ()->open_section ( - attrs_key, - section_name.c_str (), - 0, - work_key - ); - - ACE_TString attr_name; - this->repo_->config ()->get_string_value ( - work_key, - "name", - attr_name - ); - - // If we're here, working name has only one segment. - if (attr_name == work_string) - { - so_far_so_good = 1; - break; - } - } - } - - if (so_far_so_good) - { - break; - } - else - { - ACE_Configuration_Section_Key ops_key; - status = - this->repo_->config ()->open_section (iter_key, - "ops", - 0, - ops_key); - - if (status == 0) - { - index = 0; - - while (this->repo_->config ()->enumerate_sections ( - ops_key, - index++, - section_name - ) - == 0) - { - this->repo_->config ()->open_section ( - ops_key, - section_name.c_str (), - 0, - work_key - ); - - ACE_TString op_name; - this->repo_->config ()->get_string_value ( - work_key, - "name", - op_name - ); - - // If we're here, name has only one segment. - if (op_name == work_string) - { - so_far_so_good = 1; - break; - } - } - - if (so_far_so_good) - { - break; - } - } - } - } - } - } - - return CORBA::Contained::_nil (); - } - - ACE_TString id; - this->repo_->config ()->get_string_value (work_key, - "id", - id); - - ACE_TString path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - id.c_str (), - path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Contained::_nil ()); - - return CORBA::Contained::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ContainedSeq * -TAO_Container_i::contents (CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->contents_i (limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ContainedSeq * -TAO_Container_i::contents_i (CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ContainedSeq *contents = 0; - ACE_NEW_THROW_EX (contents, - CORBA::ContainedSeq, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::ContainedSeq_var retval = contents; - retval->length (0); - - if (limit_type == CORBA::dk_none) - { - return retval._retn (); - } - - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - - // Definitions - - ACE_Configuration_Section_Key defns_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "defns", - 0, - defns_key); - - // If there are no contents (other than possible attributes or - // operations), skip this part. - if (status == 0) - { - u_int count = 0; - this->repo_->config ()->get_integer_value (defns_key, - "count", - count); - - for (u_int i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key defn_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - status = - this->repo_->config ()->open_section (defns_key, - stringified, - 0, - defn_key); - - if (status == 0) - { - u_int kind = 0; - this->repo_->config ()->get_integer_value (defn_key, - "def_kind", - kind); - - CORBA::DefinitionKind def_kind = - static_cast (kind); - - if (limit_type == CORBA::dk_all - || limit_type == def_kind) - { - kind_queue.enqueue_tail (def_kind); - - ACE_TString id; - this->repo_->config ()->get_string_value (defn_key, - "id", - id); - - ACE_TString path; - this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - id.c_str (), - path - ); - - path_queue.enqueue_tail (path); - } - } - } - } - - // Base interfaces - - CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (def_kind == CORBA::dk_Interface) - { - if (limit_type == CORBA::dk_Operation - || limit_type == CORBA::dk_Attribute - || limit_type == CORBA::dk_all) - { - TAO_InterfaceDef_i iface (this->repo_); - iface.section_key (this->section_key_); - - iface.interface_contents (kind_queue, - path_queue, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - CORBA::ULong size = static_cast (kind_queue.size ()); - retval->length (size); - - for (CORBA::ULong j = 0; j < size; ++j) - { - CORBA::DefinitionKind next_kind = CORBA::dk_none; - kind_queue.dequeue_head (next_kind); - - ACE_TString next_path; - path_queue.dequeue_head (next_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (next_kind, - next_path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Contained_var next_cont = - CORBA::Contained::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[j] = next_cont._retn (); - } - - return retval._retn (); -} - -CORBA::ContainedSeq * -TAO_Container_i::lookup_name (const char *search_name, - CORBA::Long levels_to_search, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->lookup_name_i (search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ContainedSeq * -TAO_Container_i::lookup_name_i (const char *search_name, - CORBA::Long levels_to_search, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - - this->lookup_name_recursive (kind_queue, - path_queue, - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); - - CORBA::ULong size = static_cast (kind_queue.size ()); - - CORBA::ContainedSeq *holder; - ACE_NEW_THROW_EX (holder, - CORBA::ContainedSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::ContainedSeq_var retval = holder; - retval->length (size); - - for (CORBA::ULong i = 0; i < size; ++i) - { - CORBA::DefinitionKind next_kind = CORBA::dk_none; - kind_queue.dequeue_head (next_kind); - - ACE_TString next_path; - path_queue.dequeue_head (next_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (next_kind, - next_path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Contained_var next_cont = - CORBA::Contained::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = next_cont._retn (); - } - - return retval._retn (); -} - -CORBA::Container::DescriptionSeq * -TAO_Container_i::describe_contents (CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_contents_i (limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Container::DescriptionSeq * -TAO_Container_i::describe_contents_i (CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ContainedSeq_var contents = this->contents_i (limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong length = contents->length (); - CORBA::ULong ret_len = 0; - - if (max_returned_objs == -1) - { - ret_len = length; - } - else - { - ret_len = length < static_cast (max_returned_objs) - ? length - : max_returned_objs; - } - - CORBA::Container::DescriptionSeq *desc_seq; - ACE_NEW_THROW_EX (desc_seq, - CORBA::Container::DescriptionSeq (ret_len), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - desc_seq->length (ret_len); - CORBA::Container::DescriptionSeq_var retval = desc_seq; - CORBA::Contained::Description_var desc; - - ACE_Configuration_Section_Key contained_key; - PortableServer::ObjectId_var oid; - CORBA::String_var tmp; - TAO_Contained_i *impl = 0; - - for (CORBA::ULong i = 0; i < ret_len; ++i) - { - ACE_TString contained_path ( - TAO_IFR_Service_Utils::reference_to_path (contents[i]) - ); - impl = TAO_IFR_Service_Utils::path_to_contained (contained_path, - this->repo_); - - desc = impl->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i].contained_object = CORBA::Contained::_duplicate (contents[i]); - - retval[i].kind = desc->kind; - retval[i].value = desc->value; - } - - return retval._retn (); -} - -CORBA::ModuleDef_ptr -TAO_Container_i::create_module (const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ModuleDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ModuleDef::_nil ()); - - return this->create_module_i (id, - name, - version - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ModuleDef_ptr -TAO_Container_i::create_module_i (const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // new_key is not needed when creating a module, but it is needed - // by most of the other creation methods, so a blank one gets passed in. - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Module, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ModuleDef::_nil ()); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Module, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ModuleDef::_nil ()); - - return CORBA::ComponentIR::ModuleDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ConstantDef_ptr -TAO_Container_i::create_constant (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - const CORBA::Any &value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ConstantDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ConstantDef::_nil ()); - - return this->create_constant_i (id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ConstantDef_ptr -TAO_Container_i::create_constant_i (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - const CORBA::Any &value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Constant, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ConstantDef::_nil ()); - - // Get the path to our type and store it. - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type); - - this->repo_->config ()->set_string_value (new_key, - "type_path", - type_path); - - // Store the value. - ACE_Message_Block *mb = 0; - TAO::Any_Impl *impl = value.impl (); - - if (impl->encoded ()) - { - TAO::Unknown_IDL_Type *unk = - dynamic_cast (impl); - - mb = unk->_tao_get_cdr ().steal_contents (); - } - else - { - TAO_OutputCDR out; - impl->marshal_value (out); - TAO_InputCDR in (out); - mb = in.steal_contents (); - } - - CORBA::TypeCode_var val_tc = value.type (); - - CORBA::TCKind kind = val_tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ConstantDef::_nil ()); - - switch (kind) - { - // The data for these types requires alignment to an 8-byte - // boundary - the default for TAO CDR streams is 4. - case CORBA::tk_double: - case CORBA::tk_ulonglong: - case CORBA::tk_longlong: - case CORBA::tk_longdouble: - mb->rd_ptr (ACE_ptr_align_binary (mb->rd_ptr (), - ACE_CDR::MAX_ALIGNMENT)); - break; - default: - break; - } - - // Align the read pointer with the base, so mb->length() - // will be meaningful. - mb->crunch (); - - this->repo_->config ()->set_binary_value (new_key, - "value", - mb->base (), - mb->length ()); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Constant, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ConstantDef::_nil ()); - - return CORBA::ConstantDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::StructDef_ptr -TAO_Container_i::create_struct (const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::StructDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::StructDef::_nil ()); - - return this->create_struct_i (id, - name, - version, - members - ACE_ENV_ARG_PARAMETER); -} - -CORBA::StructDef_ptr -TAO_Container_i::create_struct_i (const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Struct, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::StructDef::_nil ()); - - // Open a section for the struct's members. - ACE_Configuration_Section_Key refs_key; - this->repo_->config ()->open_section (new_key, - "refs", - 1, - refs_key); - - CORBA::ULong count = members.length (); - this->repo_->config ()->set_integer_value (refs_key, - "count", - count); - char *member_path = 0; - - // Create a section for each member. We just store the - // member name and the path to its database entry. - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - member_key); - - this->repo_->config ()->set_string_value (member_key, - "name", - members[i].name.in ()); - - member_path = - TAO_IFR_Service_Utils::reference_to_path (members[i].type_def.in ()); - - this->repo_->config ()->set_string_value (member_key, - "path", - member_path); - } - - CORBA::DefinitionKind def_kind = - this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::StructDef::_nil ()); - - if (def_kind == CORBA::dk_Struct - || def_kind == CORBA::dk_Union - || def_kind == CORBA::dk_Exception) - { - this->update_refs (path.c_str (), - name); - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Struct, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::StructDef::_nil ()); - - return CORBA::StructDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::UnionDef_ptr -TAO_Container_i::create_union (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr discriminator_type, - const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::UnionDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::UnionDef::_nil ()); - - return this->create_union_i (id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER); -} - -CORBA::UnionDef_ptr -TAO_Container_i::create_union_i (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr discriminator_type, - const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Union, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::UnionDef::_nil ()); - - // Add a field to hold the path to the discriminator type. - char *disc_path = - TAO_IFR_Service_Utils::reference_to_path (discriminator_type); - - this->repo_->config ()->set_string_value (new_key, - "disc_path", - disc_path); - - ACE_Configuration_Section_Key refs_key; - - // For the union's members. - this->repo_->config ()->open_section (new_key, - "refs", - 1, - refs_key); - - CORBA::ULong count = members.length (); - this->repo_->config ()->set_integer_value (refs_key, - "count", - count); - char *member_path = 0; - - // Create a section for each member. We store the member - // name, its label value, and the path to its database entry. - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - member_key); - - this->repo_->config ()->set_string_value (member_key, - "name", - members[i].name.in ()); - - member_path = - TAO_IFR_Service_Utils::reference_to_path (members[i].type_def.in ()); - - this->repo_->config ()->set_string_value (member_key, - "path", - member_path); - - this->store_label (member_key, - members[i].label - ACE_ENV_ARG_PARAMETER); - } - - CORBA::DefinitionKind def_kind = - this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::UnionDef::_nil ()); - - if (def_kind == CORBA::dk_Struct - || def_kind == CORBA::dk_Union - || def_kind == CORBA::dk_Exception) - { - this->update_refs (path.c_str (), - name); - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Union, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::UnionDef::_nil ()); - - return CORBA::UnionDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::EnumDef_ptr -TAO_Container_i::create_enum (const char *id, - const char *name, - const char *version, - const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::EnumDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::EnumDef::_nil ()); - - return this->create_enum_i (id, - name, - version, - members - ACE_ENV_ARG_PARAMETER); -} - -CORBA::EnumDef_ptr -TAO_Container_i::create_enum_i (const char *id, - const char *name, - const char *version, - const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Enum, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::EnumDef::_nil ()); - - // Store the member count of the enum. - CORBA::ULong count = members.length (); - this->repo_->config ()->set_integer_value (new_key, - "count", - count); - - // Create a section for each member, named for - // its ordinal position in the enum, - for (CORBA::ULong i = 0; i < count; i++) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (new_key, - stringified, - 1, - member_key); - - this->repo_->config ()->set_string_value (member_key, - "name", - members[i]); - } - - CORBA::DefinitionKind def_kind = - this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::EnumDef::_nil ()); - - if (def_kind == CORBA::dk_Struct - || def_kind == CORBA::dk_Union - || def_kind == CORBA::dk_Exception) - { - this->update_refs (path.c_str (), - name); - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Enum, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::EnumDef::_nil ()); - - return CORBA::EnumDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::AliasDef_ptr -TAO_Container_i::create_alias (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::AliasDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AliasDef::_nil ()); - - return this->create_alias_i (id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER); -} - -CORBA::AliasDef_ptr -TAO_Container_i::create_alias_i (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Alias, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AliasDef::_nil ()); - - // Get the path to our original type and store it. - char *unalias_path = - TAO_IFR_Service_Utils::reference_to_path (original_type); - - this->repo_->config ()->set_string_value (new_key, - "original_type", - unalias_path); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Alias, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AliasDef::_nil ()); - - return CORBA::AliasDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::InterfaceDef_ptr -TAO_Container_i::create_interface (const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::InterfaceDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - return this->create_interface_i (id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER); -} - -CORBA::InterfaceDef_ptr -TAO_Container_i::create_interface_i (const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Interface, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - CORBA::ULong length = base_interfaces.length (); - - if (length > 0) - { - // Open a section for the base interfaces. - ACE_Configuration_Section_Key inherited_key; - this->repo_->config ()->open_section (new_key, - "inherited", - 1, - inherited_key); - char *inherited_path = 0; - - // Store the path to each base interface. - for (CORBA::ULong i = 0; i < length; ++i) - { - inherited_path = - TAO_IFR_Service_Utils::reference_to_path ( - base_interfaces[i] - ); - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (inherited_key, - stringified, - inherited_path); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Interface, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - return CORBA::InterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ValueDef_ptr -TAO_Container_i::create_value ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::InitializerSeq &initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ValueDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - return this->create_value_i (id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ValueDef_ptr -TAO_Container_i::create_value_i ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::InitializerSeq &initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration_Section_Key new_key; - ACE_TString path = - this->create_value_common (this->def_kind (), - this->section_key_, - new_key, - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - TAO_IFR_Generic_Utils::set_initializers ( - initializers, - this->repo_->config (), - new_key - ); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Value, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - return CORBA::ValueDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ValueBoxDef_ptr -TAO_Container_i::create_value_box (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ValueBoxDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueBoxDef::_nil ()); - - return this->create_value_box_i (id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ValueBoxDef_ptr -TAO_Container_i::create_value_box_i (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_ValueBox, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueBoxDef::_nil ()); - - // Get the path to our original type and store it. - char *boxed_path = - TAO_IFR_Service_Utils::reference_to_path (original_type_def); - - this->repo_->config ()->set_string_value (new_key, - "boxed_type", - boxed_path); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_ValueBox, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueBoxDef::_nil ()); - - return CORBA::ValueBoxDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ExceptionDef_ptr -TAO_Container_i::create_exception (const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ExceptionDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExceptionDef::_nil ()); - - return this->create_exception_i (id, - name, - version, - members - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ExceptionDef_ptr -TAO_Container_i::create_exception_i (const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Exception, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExceptionDef::_nil ()); - - ACE_Configuration_Section_Key refs_key; - this->repo_->config ()->open_section (new_key, - "refs", - 1, - refs_key); - - CORBA::ULong count = members.length (); - this->repo_->config ()->set_integer_value (refs_key, - "count", - count); - char *member_path = 0; - - // Create a section for each member. We just store the - // member name and the path to its database entry. - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - member_key); - - this->repo_->config ()->set_string_value (member_key, - "name", - members[i].name.in ()); - - member_path = - TAO_IFR_Service_Utils::reference_to_path (members[i].type_def.in ()); - - this->repo_->config ()->set_string_value (member_key, - "path", - member_path); - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Exception, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExceptionDef::_nil ()); - - return CORBA::ExceptionDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::NativeDef_ptr -TAO_Container_i::create_native (const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::NativeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::NativeDef::_nil ()); - - return this->create_native_i (id, - name, - version - ACE_ENV_ARG_PARAMETER); -} - -CORBA::NativeDef_ptr -TAO_Container_i::create_native_i (const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_Native, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::NativeDef::_nil ()); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Native, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::NativeDef::_nil ()); - - return CORBA::NativeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::AbstractInterfaceDef_ptr -TAO_Container_i::create_abstract_interface ( - const char *id, - const char *name, - const char *version, - const CORBA::AbstractInterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::AbstractInterfaceDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AbstractInterfaceDef::_nil ()); - - return this->create_abstract_interface_i (id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER); -} - -CORBA::AbstractInterfaceDef_ptr -TAO_Container_i::create_abstract_interface_i ( - const char *id, - const char *name, - const char *version, - const CORBA::AbstractInterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_AbstractInterface, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AbstractInterfaceDef::_nil ()); - - CORBA::ULong length = base_interfaces.length (); - - if (length > 0) - { - // Open a section for the base interfaces. - ACE_Configuration_Section_Key inherited_key; - - this->repo_->config ()->open_section (new_key, - "inherited", - 1, - inherited_key); - char *inherited_path = 0; - - // Store the path to each base interface. - for (CORBA::ULong i = 0; i < length; ++i) - { - inherited_path = - TAO_IFR_Service_Utils::reference_to_path (base_interfaces[i]); - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (inherited_key, - stringified, - inherited_path); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_AbstractInterface, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AbstractInterfaceDef::_nil ()); - - return CORBA::AbstractInterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::LocalInterfaceDef_ptr -TAO_Container_i::create_local_interface ( - const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::LocalInterfaceDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::LocalInterfaceDef::_nil ()); - - return this->create_local_interface_i (id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER); -} - -CORBA::LocalInterfaceDef_ptr -TAO_Container_i::create_local_interface_i ( - const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (this->def_kind (), - CORBA::dk_LocalInterface, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::LocalInterfaceDef::_nil ()); - - CORBA::ULong length = base_interfaces.length (); - - if (length > 0) - { - // Open a section for the base interfaces. - ACE_Configuration_Section_Key inherited_key; - - this->repo_->config ()->open_section (new_key, - "inherited", - 1, - inherited_key); - char *inherited_path = 0; - - // Store the path to each base interface. - for (CORBA::ULong i = 0; i < length; ++i) - { - inherited_path = - TAO_IFR_Service_Utils::reference_to_path (base_interfaces[i]); - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (inherited_key, - stringified, - inherited_path); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_LocalInterface, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::LocalInterfaceDef::_nil ()); - - return CORBA::LocalInterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ExtValueDef_ptr -TAO_Container_i::create_ext_value ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ExtValueDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtValueDef::_nil ()); - - return this->create_ext_value_i (id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ExtValueDef_ptr -TAO_Container_i::create_ext_value_i ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration_Section_Key new_key; - ACE_TString path = - this->create_value_common (this->def_kind (), - this->section_key_, - new_key, - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtValueDef::_nil ()); - - /// This does not handle the initializer exceptions, so we do that below. - TAO_IFR_Generic_Utils::set_initializers ( - initializers, - this->repo_->config (), - new_key - ); - - CORBA::ULong length = initializers.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key initializers_key, initializer_key; - char *stringified = 0; - - this->repo_->config ()->open_section (new_key, - "initializers", - 0, - initializers_key); - - for (CORBA::ULong i = 0; i < length; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 0, - initializer_key); - - TAO_ExtValueDef_i impl (this->repo_); - impl.section_key (new_key); - impl.exceptions (initializer_key, - "excepts", - initializers[i].exceptions); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Value, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtValueDef::_nil ()); - - return CORBA::ExtValueDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -int -TAO_Container_i::same_as_tmp_name (const char *name) -{ - return ACE_OS::strcmp (TAO_Container_i::tmp_name_holder_, name) == 0; -} - -void -TAO_Container_i::tmp_name_holder (const char *name) -{ - TAO_Container_i::tmp_name_holder_ = name; -} - -void -TAO_Container_i::lookup_name_recursive ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - const char *search_name, - CORBA::Long levels_to_search, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) -{ - ACE_Configuration_Section_Key defns_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "defns", - 0, - defns_key); - - if (status == 0) - { - int index = 0; - ACE_TString section_name; - while (this->repo_->config ()->enumerate_sections (defns_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key defn_key; - this->repo_->config ()->open_section (defns_key, - section_name.c_str (), - 0, - defn_key); - - u_int kind = 0; - this->repo_->config ()->get_integer_value (defn_key, - "def_kind", - kind); - - CORBA::DefinitionKind def_kind = - static_cast (kind); - - ACE_TString id; - this->repo_->config ()->get_string_value (defn_key, - "id", - id); - - ACE_TString path; - this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - id.c_str (), - path - ); - - if (limit_type == CORBA::dk_all || limit_type == def_kind) - { - ACE_TString name; - this->repo_->config ()->get_string_value (defn_key, - "name", - name); - - if (ACE_OS::strcmp (name.c_str (), search_name) == 0) - { - kind_queue.enqueue_tail (def_kind); - - path_queue.enqueue_tail (path); - } - } - - if (levels_to_search == -1 || levels_to_search > 1) - { - TAO_Container_i *impl = - TAO_IFR_Service_Utils::path_to_container (path, - this->repo_); - - // This member may not be a container. - if (impl == 0) - { - continue; - } - - impl->lookup_name_recursive (kind_queue, - path_queue, - search_name, - levels_to_search == -1 - ? -1 - : levels_to_search - 1, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - } - - CORBA::DefinitionKind kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (kind == CORBA::dk_Interface || kind == CORBA::dk_Value) - { - if (limit_type == CORBA::dk_all || limit_type == CORBA::dk_Attribute) - { - this->lookup_attr (kind_queue, - path_queue, - search_name, - exclude_inherited); - } - - if (limit_type == CORBA::dk_all || limit_type == CORBA::dk_Operation) - { - this->lookup_op (kind_queue, - path_queue, - search_name, - exclude_inherited); - } - } -} - -void -TAO_Container_i:: lookup_attr ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - const char *search_name, - CORBA::Boolean exclude_inherited - ) -{ - int index = 0; - ACE_TString section_name; - - ACE_Configuration_Section_Key sub_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - sub_key); - - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (sub_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key member_key; - this->repo_->config ()->open_section (sub_key, - section_name.c_str (), - 0, - member_key); - - ACE_TString name; - this->repo_->config ()->get_string_value (member_key, - "name", - name); - - if (name == search_name) - { - kind_queue.enqueue_tail (CORBA::dk_Attribute); - - ACE_TString id; - this->repo_->config ()->get_string_value (member_key, - "id", - id); - - ACE_TString path; - this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - id.c_str (), - path - ); - - path_queue.enqueue_tail (path); - } - } - } - - if (exclude_inherited == 0) - { - ACE_Configuration_Section_Key bases_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "inherited", - 0, - bases_key); - - if (status == 0) - { - ACE_Configuration::VALUETYPE type; - index = 0; - while (this->repo_->config ()->enumerate_values ( - bases_key, - index++, - section_name, - type - ) - == 0) - { - ACE_TString path; - this->repo_->config ()->get_string_value ( - bases_key, - section_name.c_str (), - path); - - ACE_Configuration_Section_Key base_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - base_key, - 0); - - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (base_key); - - impl.lookup_attr (kind_queue, - path_queue, - search_name, - exclude_inherited); - } - } - } -} - -void -TAO_Container_i::lookup_op ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - const char *search_name, - CORBA::Boolean exclude_inherited - ) -{ - int index = 0; - ACE_TString section_name; - - ACE_Configuration_Section_Key sub_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - sub_key); - - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (sub_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key member_key; - this->repo_->config ()->open_section (sub_key, - section_name.c_str (), - 0, - member_key); - - ACE_TString name; - this->repo_->config ()->get_string_value (member_key, - "name", - name); - - if (name == search_name) - { - kind_queue.enqueue_tail (CORBA::dk_Operation); - - ACE_TString id; - this->repo_->config ()->get_string_value (member_key, - "id", - id); - - ACE_TString path; - this->repo_->config ()->get_string_value ( - this->repo_->repo_ids_key (), - id.c_str (), - path - ); - - path_queue.enqueue_tail (path); - } - } - } - - if (exclude_inherited == 0) - { - ACE_Configuration_Section_Key bases_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "inherited", - 0, - bases_key); - - if (status == 0) - { - ACE_Configuration::VALUETYPE type; - index = 0; - - while (this->repo_->config ()->enumerate_values ( - bases_key, - index++, - section_name, - type - ) - == 0) - { - ACE_TString path; - this->repo_->config ()->get_string_value ( - bases_key, - section_name.c_str (), - path); - - ACE_Configuration_Section_Key base_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - base_key, - 0); - - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (base_key); - - impl.lookup_op (kind_queue, - path_queue, - search_name, - exclude_inherited); - } - } - } -} - -void -TAO_Container_i::store_label (ACE_Configuration_Section_Key key, - const CORBA::Any &value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::TypeCode_var tc = value.type (); - - CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - u_int result = 0; - int default_label = 0; - - switch (kind) - { - case CORBA::tk_octet: - default_label = 1; - break; - case CORBA::tk_char: - { - CORBA::Char x; - value >>= CORBA::Any::to_char (x); - result = static_cast (x); - break; - } - case CORBA::tk_wchar: - { - CORBA::WChar x; - value >>= CORBA::Any::to_wchar (x); - result = static_cast (x); - break; - } - case CORBA::tk_boolean: - { - CORBA::Boolean x; - value >>= CORBA::Any::to_boolean (x); - result = static_cast (x); - break; - } - case CORBA::tk_short: - { - CORBA::Short x; - value >>= x; - result = static_cast (x); - break; - } - case CORBA::tk_ushort: - { - CORBA::UShort x; - value >>= x; - result = static_cast (x); - break; - } - case CORBA::tk_long: - { - CORBA::Long x; - value >>= x; - result = static_cast (x); - break; - } - case CORBA::tk_ulong: - { - CORBA::ULong x; - value >>= x; - result = static_cast (x); - break; - } -#if !defined (ACE_LACKS_LONGLONG_T) - case CORBA::tk_longlong: - { - CORBA::LongLong x; - value >>= x; - // We could lose data here. - result = static_cast (x); - break; - } -#endif /* ACE_LACKS_LONGLONG_T */ -#if !(defined (ACE_LACKS_LONGLONG_T) || defined (ACE_LACKS_UNSIGNEDLONGLONG_T)) - case CORBA::tk_ulonglong: - { - CORBA::ULongLong x; - value >>= x; - // We could lose data here. - result = static_cast (x); - break; - } -#endif - case CORBA::tk_enum: - { - CORBA::ULong x; - TAO::Any_Impl *impl = value.impl (); - TAO_InputCDR in (static_cast (0)); - - if (impl->encoded ()) - { - TAO::Unknown_IDL_Type *unk = - dynamic_cast (impl); - - in = unk->_tao_get_cdr (); - } - else - { - TAO_OutputCDR out; - impl->marshal_value (out); - TAO_InputCDR tmp (out); - in = tmp; - } - - in.read_ulong (x); - result = static_cast (x); - break; - } - default: - break; - } - - if (default_label == 1) - { - this->repo_->config ()->set_string_value (key, - "label", - "default"); - } - else - { - this->repo_->config ()->set_integer_value (key, - "label", - result); - } -} - -void -TAO_Container_i::update_refs (const char *path, - const char *name) -{ - ACE_Configuration_Section_Key refs_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "refs", - 0, - refs_key); - - // If this container has no "refs" section, there is nothing to do. - if (status != 0) - { - return; - } - - u_int count = 0; - this->repo_->config ()->get_integer_value (refs_key, - "count", - count); - - int index = 0; - ACE_TString section_name; - while (this->repo_->config ()->enumerate_sections (refs_key, - index++, - section_name) - == 0) - { - ACE_Configuration_Section_Key ref_key; - this->repo_->config ()->open_section (refs_key, - section_name.c_str (), - 0, - ref_key); - - ACE_TString ref_name; - this->repo_->config ()->get_string_value (ref_key, - "name", - ref_name); - - ACE_TString::size_type pos = ref_name.find (this->repo_->extension ()); - - // If one of the names has been mangled by move(), fix it. - if (pos != ACE_TString::npos) - { - // If we're just changing the path after doing a 'move', - // we don't want to change the name, so we've passed in 0. - if (name != 0) - { - this->repo_->config ()->set_string_value (ref_key, - "name", - name); - } - else - { - this->repo_->config ()->set_string_value (ref_key, - "name", - ref_name.substr (0, pos)); - } - - this->repo_->config ()->set_string_value (ref_key, - "path", - path); - - return; - } - } - - // If we're just changing the path after doing a 'move', we're done. - if (name == 0) - { - return; - } - - // Add a new reference. - ACE_Configuration_Section_Key new_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (count); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - new_key); - - this->repo_->config ()->set_string_value (new_key, - "name", - name); - - this->repo_->config ()->set_string_value (new_key, - "path", - path); - - this->repo_->config ()->set_integer_value (refs_key, - "count", - count + 1); -} - -ACE_TString -TAO_Container_i::create_value_common ( - CORBA::DefinitionKind container_kind, - ACE_Configuration_Section_Key &container_key, - ACE_Configuration_Section_Key &new_key, - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_TString path; - path = - TAO_IFR_Service_Utils::create_common (container_kind, - CORBA::dk_Value, - container_key, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "defns" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (path); - - this->repo_->config ()->set_integer_value (new_key, - "is_custom", - (CORBA::ULong) is_custom); - - this->repo_->config ()->set_integer_value (new_key, - "is_abstract", - (CORBA::ULong) is_abstract); - - this->repo_->config ()->set_integer_value (new_key, - "is_truncatable", - (CORBA::ULong) is_truncatable); - if (!CORBA::is_nil (base_value)) - { - const char *base_path = - TAO_IFR_Service_Utils::reference_to_path (base_value); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base valuetypes is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - new_key, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (path); - - ACE_TString base_value_id; - this->repo_->config ()->get_string_value (TAO_IFR_Service_Utils::tmp_key_, - "id", - base_value_id); - - this->repo_->config ()->set_string_value (new_key, - "base_value", - base_value_id); - } - - CORBA::ULong length = abstract_base_values.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key bases_key; - this->repo_->config ()->open_section (this->section_key_, - "abstract_bases", - 1, - bases_key); - this->repo_->config ()->set_integer_value (bases_key, - "count", - length); - - ACE_TString base_id; - const char *base_path = 0; - char *stringified = 0; - - for (CORBA::ULong i = 0; i < length; ++i) - { - base_path = - TAO_IFR_Service_Utils::reference_to_path ( - abstract_base_values[i] - ); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base interfaces is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - new_key, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (path); - - this->repo_->config ()->get_string_value ( - TAO_IFR_Service_Utils::tmp_key_, - "id", - base_id - ); - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (bases_key, - stringified, - base_id); - } - } - - length = supported_interfaces.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key supported_key; - this->repo_->config ()->open_section (new_key, - "supported", - 1, - supported_key); - this->repo_->config ()->set_integer_value (supported_key, - "count", - length); - ACE_TString supported_id; - const char *supported_path = 0; - CORBA::ULong kind = 0; - CORBA::Boolean concrete_seen = 0; - CORBA::DefinitionKind def_kind; - - for (CORBA::ULong i = 0; i < length; ++i) - { - supported_path = - TAO_IFR_Service_Utils::reference_to_path ( - supported_interfaces[i] - ); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base interfaces is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path (this->repo_->root_key (), - supported_path, - TAO_IFR_Service_Utils::tmp_key_, - 0); - this->repo_->config ()->get_integer_value ( - TAO_IFR_Service_Utils::tmp_key_, - "def_kind", - kind); - def_kind = static_cast (kind); - - if (def_kind == CORBA::dk_Interface) - { - if (concrete_seen == 0) - { - concrete_seen = 1; - } - else - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 12, - CORBA::COMPLETED_NO), - path); - } - } - - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - new_key, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (path); - - this->repo_->config ()->get_string_value ( - TAO_IFR_Service_Utils::tmp_key_, - "id", - supported_id - ); - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (supported_key, - stringified, - supported_id); - } - } - - return path; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.h b/TAO/orbsvcs/orbsvcs/IFRService/Container_i.h deleted file mode 100644 index ab8e833579b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Container_i.h +++ /dev/null @@ -1,479 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// Container_i.h -// -// = DESCRIPTION -// Container servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_CONTAINER_I_H -#define TAO_CONTAINER_I_H - -#include "orbsvcs/IFRService/IRObject_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Repository_i; - -class TAO_IFRService_Export TAO_Container_i : public virtual TAO_IRObject_i -{ - // = TITLE - // TAO_Container_i - // - // = DESCRIPTION - // Abstract base class used to form a containment hierarchy - // in the Interface Repository, by containing objects - // derived from the Contained interface. - // -public: -// template -// friend class TAO_Port_Utils; - - TAO_Container_i (TAO_Repository_i *repo); - // Constructor. - - virtual ~TAO_Container_i (void); - // Destructor. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove our contents. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained_ptr lookup ( - const char *search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Contained_ptr lookup_i ( - const char *search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ContainedSeq *contents ( - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ContainedSeq *contents_i ( - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ContainedSeq *lookup_name ( - const char *search_name, - CORBA::Long levels_to_search, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ContainedSeq *lookup_name_i ( - const char *search_name, - CORBA::Long levels_to_search, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Container::DescriptionSeq *describe_contents ( - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Container::DescriptionSeq *describe_contents_i ( - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ModuleDef_ptr create_module ( - const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ModuleDef_ptr create_module_i ( - const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ConstantDef_ptr create_constant ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - const CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ConstantDef_ptr create_constant_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - const CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::StructDef_ptr create_struct ( - const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::StructDef_ptr create_struct_i ( - const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::UnionDef_ptr create_union ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr discriminator_type, - const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::UnionDef_ptr create_union_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr discriminator_type, - const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::EnumDef_ptr create_enum ( - const char *id, - const char *name, - const char *version, - const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::EnumDef_ptr create_enum_i ( - const char *id, - const char *name, - const char *version, - const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::AliasDef_ptr create_alias ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::AliasDef_ptr create_alias_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::InterfaceDef_ptr create_interface ( - const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDef_ptr create_interface_i ( - const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueDef_ptr create_value ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq & supported_interfaces, - const CORBA::InitializerSeq &initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueDef_ptr create_value_i ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq & supported_interfaces, - const CORBA::InitializerSeq &initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueBoxDef_ptr create_value_box ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueBoxDef_ptr create_value_box_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExceptionDef_ptr create_exception ( - const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExceptionDef_ptr create_exception_i ( - const char *id, - const char *name, - const char *version, - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::NativeDef_ptr create_native ( - const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::NativeDef_ptr create_native_i ( - const char *id, - const char *name, - const char *version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char *id, - const char *name, - const char *version, - const CORBA::AbstractInterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::AbstractInterfaceDef_ptr create_abstract_interface_i ( - const char *id, - const char *name, - const char *version, - const CORBA::AbstractInterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::LocalInterfaceDef_ptr create_local_interface_i ( - const char *id, - const char *name, - const char *version, - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::CORBA::ExtValueDef_ptr create_ext_value ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExtValueDef_ptr create_ext_value_i ( - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces, - const CORBA::ExtInitializerSeq &initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - static int same_as_tmp_name (const char *name); - // Called from TAO_IFR_Service_Utils::name_exisits. - - static void tmp_name_holder (const char *name); - // Accesses the static member. - - void update_refs ( - const char *path, - const char *name = 0 - ); - // Used with structs, unions and exceptions. - -protected: - void store_label ( - ACE_Configuration_Section_Key key, - const CORBA::Any &value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Store a union member's label value. - - void lookup_attr ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - const char *search_name, - CORBA::Boolean exclude_inherited - ); - - void lookup_op ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - const char *search_name, - CORBA::Boolean exclude_inherited - ); - -private: - void lookup_name_recursive ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - const char *search_name, - CORBA::Long levels_to_search, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - ACE_TString create_value_common ( - CORBA::DefinitionKind container_kind, - ACE_Configuration_Section_Key &container_key, - ACE_Configuration_Section_Key &new_key, - const char *id, - const char *name, - const char *version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - CORBA::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const CORBA::ValueDefSeq &abstract_base_values, - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ); - // Common code for create_value_i and create_ext_value_i. - -protected: - static const char *tmp_name_holder_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_CONTAINER_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.cpp deleted file mode 100644 index 0cbe4a4093d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/EmitsDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - EmitsDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EmitsDef_i::TAO_EmitsDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_EventPortDef_i (repo) -{ -} - -TAO_EmitsDef_i::~TAO_EmitsDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_EmitsDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Emits; -} - - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.h deleted file mode 100644 index 5d8e93fdeba..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EmitsDef_i.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// EmitsDef_i.h -// -// = DESCRIPTION -// EmitsDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EMITSDEF_I_H -#define TAO_EMITSDEF_I_H - -#include "orbsvcs/IFRService/EventPortDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_EmitsDef_i - : public virtual TAO_EventPortDef_i -{ - // = TITLE - // TAO_EmitsDef_i - // - // = DESCRIPTION - // Represents the definition of an event that is emitted - // by a component. - // -public: - TAO_EmitsDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_EmitsDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EMITSDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp deleted file mode 100644 index 5273788b6de..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp +++ /dev/null @@ -1,163 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/EnumDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - EnumDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EnumDef_i::TAO_EnumDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_TypedefDef_i (repo) -{ -} - -TAO_EnumDef_i::~TAO_EnumDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_EnumDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Enum; -} - -CORBA::TypeCode_ptr -TAO_EnumDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_EnumDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - CORBA::EnumMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_enum_tc (id.c_str (), - name.c_str (), - members.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::EnumMemberSeq * -TAO_EnumDef_i::members (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::EnumMemberSeq * -TAO_EnumDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int count = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "count", - count); - - CORBA::EnumMemberSeq *retval = 0; - ACE_NEW_THROW_EX (retval, - CORBA::EnumMemberSeq (count), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - retval->length (count); - - for (u_int i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (this->section_key_, - stringified, - 0, - member_key); - - ACE_TString member_name; - this->repo_->config ()->get_string_value (member_key, - "name", - member_name); - - (*retval)[i] = member_name.c_str (); - } - - return retval; -} - -void -TAO_EnumDef_i::members (const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->members_i (members - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EnumDef_i::members_i (const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "members", - 1); - - CORBA::ULong count = members.length (); - this->repo_->config ()->set_integer_value (this->section_key_, - "count", - count); - - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (this->section_key_, - stringified, - 1, - member_key); - - ACE_TString member_name (members[i]); - this->repo_->config ()->set_string_value (member_key, - "name", - member_name); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.h deleted file mode 100644 index 0bd5b265451..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EnumDef_i.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// EnumDef_i.h -// -// = DESCRIPTION -// EnumDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_ENUMDEF_I_H -#define TAO_ENUMDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_EnumDef_i : public virtual TAO_TypedefDef_i -{ -public: - // = TITLE - // TAO_EnumDef_i - // - // = DESCRIPTION - // Represents an OMG IDL enumeration definition. - // -public: - TAO_EnumDef_i (TAO_Repository_i *repoy); - // Constructor - - virtual ~TAO_EnumDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::EnumMemberSeq *members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::EnumMemberSeq *members_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void members ( - const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void members_i ( - const CORBA::EnumMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_ENUMDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.cpp deleted file mode 100644 index cd62666f25d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.cpp +++ /dev/null @@ -1,101 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/EventDef_i.h" - -ACE_RCSID (IFRService, - EventDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EventDef_i::TAO_EventDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_ValueDef_i (repo), - TAO_ExtValueDef_i (repo) -{ -} - -TAO_EventDef_i::~TAO_EventDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_EventDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Event; -} - -void -TAO_EventDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_EventDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // An event type is a restriction of a value type, not an extension. - this->TAO_ExtValueDef_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_EventDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_EventDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->TAO_ValueDef_i::describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_EventDef_i::is_a (const char *event_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_a_i (event_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_EventDef_i::is_a_i (const char *event_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (ACE_OS::strcmp (event_id, "IDL:omg.org/CORBA/EventBase:1.0") == 0) - { - return 1; - } - - return this->TAO_ValueDef_i::is_a_i (event_id - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.h deleted file mode 100644 index a1e280a2882..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EventDef_i.h +++ /dev/null @@ -1,102 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// EventDef_i.h -// -// = DESCRIPTION -// EventDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EVENTDEF_I_H -#define TAO_EVENTDEF_I_H - -#include "orbsvcs/IFRService/ExtValueDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_EventDef_i : public virtual TAO_ExtValueDef_i -{ - // = TITLE - // TAO_EventDef_i - // - // = DESCRIPTION - // Represents an event definition. It refers to a ValueDef - // object that contains information about the event. - // -public: - TAO_EventDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_EventDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Boolean is_a ( - const char *event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_a_i ( - const char *event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EVENTDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp deleted file mode 100644 index f3d1a44a8f4..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp +++ /dev/null @@ -1,200 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/EventPortDef_i.h" -#include "orbsvcs/IFRService/EventDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - EventPortDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EventPortDef_i::TAO_EventPortDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_EventPortDef_i::~TAO_EventPortDef_i (void) -{ -} - -CORBA::ComponentIR::EventDef_ptr -TAO_EventPortDef_i::event ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - return this->event_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ComponentIR::EventDef_ptr -TAO_EventPortDef_i::event_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - holder); - CORBA::Contained_var obj = this->repo_->lookup_id (holder.fast_rep () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::EventDef::_nil ()); - - return CORBA::ComponentIR::EventDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EventPortDef_i::event ( - CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->event_i (event - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_EventPortDef_i::event_i ( - CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_value (this->section_key_, - "base_type"); - - if (CORBA::is_nil (event)) - { - return; - } - - const char *tmp = - TAO_IFR_Service_Utils::reference_to_path (event); - - ACE_Configuration_Section_Key new_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - tmp, - new_key, - 0); - - ACE_TString holder; - this->repo_->config ()->get_string_value (new_key, - "id", - holder); - - this->repo_->config ()->set_string_value (this->section_key_, - "base_type", - holder); -} - -CORBA::Boolean -TAO_EventPortDef_i::is_a ( - const char *event_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_a_i (event_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_EventPortDef_i::is_a_i ( - const char *event_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - holder); - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - ACE_Configuration_Section_Key key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - key, - 0); - TAO_EventDef_i impl (this->repo_); - impl.section_key (key); - return impl.is_a_i (event_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_EventPortDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_EventPortDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ComponentIR::EventPortDescription epd; - TAO_IFR_Desc_Utils::fill_desc_begin ( - epd, - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - holder); - epd.event = holder.fast_rep (); - - CORBA::Contained::Description *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::Contained::Description, - 0); - - retval->kind = this->def_kind (); - retval->value <<= epd; - return retval; -} - -CORBA::DefinitionKind -TAO_EventPortDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_none; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.h deleted file mode 100644 index dc84527d41f..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/EventPortDef_i.h +++ /dev/null @@ -1,123 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// EventPortDef_i.h -// -// = DESCRIPTION -// EventPortDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EVENTPORTDEF_I_H -#define TAO_EVENTPORTDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/IFR_ComponentsS.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_EventPortDef_i - : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_EventPortDef_i - // - // = DESCRIPTION - // Represents an event port definition. EmitsDef_i, PublishesDef_i, - // and ConsumesDef_i inherit from this. - // -public: - TAO_EventPortDef_i (TAO_Repository_i *repo); - /// Constructor - - virtual ~TAO_EventPortDef_i (void); - /// Destructor - - virtual CORBA::ComponentIR::EventDef_ptr event ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::EventDef_ptr event_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void event ( - CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void event_i ( - CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_a ( - const char *event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_a_i ( - const char *event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This can be the same for the three derived classes, so it is - /// implemented here. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - -private: - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Dummy method so we can consolidate derived class methods - // in this 'abstract' base class. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EVENTPORTDEF_I_H */ - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp deleted file mode 100644 index 33b7c9eee99..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp +++ /dev/null @@ -1,351 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - -ACE_RCSID (IFRService, - ExceptionDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ExceptionDef_i::TAO_ExceptionDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_Container_i (repo) -{ -} - -TAO_ExceptionDef_i::~TAO_ExceptionDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ExceptionDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Exception; -} - -void -TAO_ExceptionDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ExceptionDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our members. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Destroy ourself. - TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::Contained::Description * -TAO_ExceptionDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ExceptionDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ExceptionDescription ed; - - ed.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ed.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TString container_id; - - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - ed.defined_in = container_id.c_str (); - - ed.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ed.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval->value <<= ed; - - return retval._retn (); -} - -CORBA::TypeCode_ptr -TAO_ExceptionDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ExceptionDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - CORBA::StructMemberSeq_var members = - this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_exception_tc ( - id.c_str (), - name.c_str (), - members.in () - ACE_ENV_ARG_PARAMETER - ); -} - -CORBA::StructMemberSeq * -TAO_ExceptionDef_i::members (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::StructMemberSeq * -TAO_ExceptionDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - ACE_Unbounded_Queue name_queue; - - ACE_Configuration_Section_Key refs_key; - this->repo_->config ()->open_section (this->section_key_, - "refs", - 0, - refs_key); - - u_int count = 0; - this->repo_->config ()->get_integer_value (refs_key, - "count", - count); - - for (u_int i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 0, - member_key); - - ACE_TString path; - this->repo_->config ()->get_string_value (member_key, - "path", - path); - - ACE_Configuration_Section_Key entry_key; - int status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - entry_key, - 0); - - // This entry may have been removed. - if (status == 0) - { - path_queue.enqueue_tail (path); - - ACE_TString name; - this->repo_->config ()->get_string_value (member_key, - "name", - name); - - name_queue.enqueue_tail (name); - - u_int kind = 0; - this->repo_->config ()->get_integer_value (entry_key, - "def_kind", - kind); - - CORBA::DefinitionKind def_kind = - static_cast (kind); - - kind_queue.enqueue_tail (def_kind); - } - } - - CORBA::ULong size = static_cast (kind_queue.size ()); - - CORBA::StructMemberSeq *members = 0; - ACE_NEW_THROW_EX (members, - CORBA::StructMemberSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - members->length (size); - - CORBA::StructMemberSeq_var retval = members; - - ACE_TString name; - ACE_TString path; - CORBA::DefinitionKind kind = CORBA::dk_none; - CORBA::Object_var obj; - ACE_Configuration_Section_Key member_key; - TAO_IDLType_i *impl = 0; - - for (CORBA::ULong k = 0; k < size; ++k) - { - name_queue.dequeue_head (name); - retval[k].name = name.c_str (); - - kind_queue.dequeue_head (kind); - path_queue.dequeue_head (path); - - obj = - TAO_IFR_Service_Utils::create_objref (kind, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[k].type_def = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - member_key, - 0); - - impl = TAO_IFR_Service_Utils::path_to_idltype (path, - this->repo_); - - retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_ExceptionDef_i::members (const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->members_i (members - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ExceptionDef_i::members_i (const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our old members, both refs and defns. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULong count = members.length (); - - // Exceptions can be empty. - if (count > 0) - { - ACE_TString section_name; - ACE_Configuration_Section_Key refs_key; - - this->repo_->config ()->open_section (this->section_key_, - "refs", - 1, - refs_key); - char *path = 0; - - // Create a section for each new member. We just store the - // member name and the path to its database entry. - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - member_key); - - ACE_TString name (members[i].name); - this->repo_->config ()->set_string_value (member_key, - "name", - name); - - path = - TAO_IFR_Service_Utils::reference_to_path ( - members[i].type_def.in () - ); - - this->repo_->config ()->set_string_value (member_key, - "path", - path); - } - - this->repo_->config ()->set_integer_value (refs_key, - "count", - count); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.h deleted file mode 100644 index 88dd3e8bbd5..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExceptionDef_i.h +++ /dev/null @@ -1,124 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ExceptionDef_i.h -// -// = DESCRIPTION -// ExceptionDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EXCEPTIONDEF_I_H -#define TAO_EXCEPTIONDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ExceptionDef_i : public virtual TAO_Contained_i, - public virtual TAO_Container_i -{ - // = TITLE - // TAO_ExceptionDef_i - // - // = DESCRIPTION - // Represents an exception definition. - // -public: - TAO_ExceptionDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ExceptionDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::StructMemberSeq *members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::StructMemberSeq *members_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void members ( - const CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void members_i ( - const CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EXCEPTIONDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.cpp deleted file mode 100644 index 82ffce83d05..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - ExtAbstractInterfaceDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ExtAbstractInterfaceDef_i::TAO_ExtAbstractInterfaceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo), - TAO_AbstractInterfaceDef_i (repo), - TAO_InterfaceAttrExtension_i (repo) -{ -} - -TAO_ExtAbstractInterfaceDef_i::~TAO_ExtAbstractInterfaceDef_i (void) -{ -} - -// Just call the base class version, this is here only to -// disambiguate multiple inheritance. -void -TAO_ExtAbstractInterfaceDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_AbstractInterfaceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h deleted file mode 100644 index e79471d8e11..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ExtAbstractInterfaceDef_i.h -// -// = DESCRIPTION -// ExtAbstractInterfaceDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EXTABSTRACTINTERFACEDEF_I_H -#define TAO_EXTABSTRACTINTERFACEDEF_I_H - -#include "orbsvcs/IFRService/AbstractInterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/InterfaceAttrExtension_i.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ExtAbstractInterfaceDef_i - : public virtual TAO_AbstractInterfaceDef_i, - public virtual TAO_InterfaceAttrExtension_i -{ - // = TITLE - // TAO_ExtAbstractInterfaceDef_i - // - // = DESCRIPTION - // Mixes in IDL3 attribute exceptions. - // -public: - TAO_ExtAbstractInterfaceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ExtAbstractInterfaceDef_i (void); - // Destructor - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EXTABSTRACTINTERFACEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.cpp deleted file mode 100644 index 62405fe8393..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.cpp +++ /dev/null @@ -1,315 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ExtAttributeDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ExtAttributeDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ExtAttributeDef_i::TAO_ExtAttributeDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_AttributeDef_i (repo) -{ -} - -TAO_ExtAttributeDef_i::~TAO_ExtAttributeDef_i (void) -{ -} - -CORBA::ExcDescriptionSeq * -TAO_ExtAttributeDef_i::get_exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->get_exceptions_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ExcDescriptionSeq * -TAO_ExtAttributeDef_i::get_exceptions_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ExcDescriptionSeq *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::ExcDescriptionSeq, - 0); - CORBA::ExcDescriptionSeq_var safe_retval = retval; - - this->fill_exceptions (*retval, - "get_excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return safe_retval._retn (); -} - -void -TAO_ExtAttributeDef_i::get_exceptions ( - const CORBA::ExcDescriptionSeq &get_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->get_exceptions_i (get_exceptions - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ExtAttributeDef_i::get_exceptions_i ( - const CORBA::ExcDescriptionSeq &get_exceptions - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->exceptions ("get_excepts", - get_exceptions); -} - -CORBA::ExcDescriptionSeq * -TAO_ExtAttributeDef_i::set_exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->set_exceptions_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ExcDescriptionSeq * -TAO_ExtAttributeDef_i::set_exceptions_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ExcDescriptionSeq *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::ExcDescriptionSeq, - 0); - CORBA::ExcDescriptionSeq_var safe_retval = retval; - - this->fill_exceptions (*retval, - "put_excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return safe_retval._retn (); -} - -void -TAO_ExtAttributeDef_i::set_exceptions ( - const CORBA::ExcDescriptionSeq &set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->set_exceptions_i (set_exceptions - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ExtAttributeDef_i::set_exceptions_i ( - const CORBA::ExcDescriptionSeq &set_exceptions - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->exceptions ("put_excepts", - set_exceptions); -} - -CORBA::ExtAttributeDescription * -TAO_ExtAttributeDef_i::describe_attribute ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_attribute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ExtAttributeDescription * -TAO_ExtAttributeDef_i::describe_attribute_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ExtAttributeDescription *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::ExtAttributeDescription, - 0); - CORBA::ExtAttributeDescription_var safe_retval = retval; - - this->fill_description (*retval - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return safe_retval._retn (); -} - -void -TAO_ExtAttributeDef_i::fill_description ( - CORBA::ExtAttributeDescription &desc - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - desc.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - desc.defined_in = holder.fast_rep (); - - desc.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.mode = this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->fill_exceptions (desc.get_exceptions, - "get_excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->fill_exceptions (desc.put_exceptions, - "put_excepts" - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ExtAttributeDef_i::fill_exceptions (CORBA::ExcDescriptionSeq &exceptions, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ACE_Configuration_Section_Key excepts_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - sub_section, - 0, - excepts_key); - - if (status != 0) - { - exceptions.length (0); - return; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (excepts_key, - "count", - count); - exceptions.length (count); - char *stringified = 0; - ACE_TString holder; - ACE_Configuration_Section_Key except_key; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (excepts_key, - stringified, - holder); - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - except_key, - 0); - this->repo_->config ()->get_string_value (except_key, - "name", - holder); - exceptions[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (except_key, - "id", - holder); - exceptions[i].id = holder.fast_rep (); - - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (except_key); - exceptions[i].type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->repo_->config ()->get_string_value (except_key, - "container_id", - holder); - exceptions[i].defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (except_key, - "version", - holder); - exceptions[i].version = holder.fast_rep (); - } -} - -void -TAO_ExtAttributeDef_i::exceptions (const char *sub_section, - const CORBA::ExcDescriptionSeq &exceptions) -{ - this->repo_->config ()->remove_section (this->section_key_, - sub_section, - 0); - ACE_Configuration_Section_Key new_key; - this->repo_->config ()->open_section (this->section_key_, - sub_section, - 1, - new_key); - CORBA::ULong count = exceptions.length (); - this->repo_->config ()->set_integer_value (new_key, - "count", - count); - char *stringified = 0; - ACE_TString path; - - for (CORBA::ULong i = 0; i < count; ++i) - { - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - exceptions[i].id.in (), - path); - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (new_key, - stringified, - path); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h deleted file mode 100644 index f4d9e54b665..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h +++ /dev/null @@ -1,133 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ExtAttributeDef_i.h -// -// = DESCRIPTION -// ExtAttributeDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EXTATTRIBUTEDEF_I_H -#define TAO_EXTATTRIBUTEDEF_I_H - -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ExtAttributeDef_i - : public virtual TAO_AttributeDef_i -{ - // = TITLE - // TAO_ExtAttributeDef_i - // - // = DESCRIPTION - // Adds IDL3 extensions to AttributeDef. - // -public: - TAO_ExtAttributeDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ExtAttributeDef_i (void); - // Destructor - - virtual CORBA::ExcDescriptionSeq *get_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExcDescriptionSeq *get_exceptions_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void get_exceptions ( - const CORBA::ExcDescriptionSeq &get_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void get_exceptions_i ( - const CORBA::ExcDescriptionSeq &get_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExcDescriptionSeq *set_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExcDescriptionSeq *set_exceptions_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void set_exceptions ( - const CORBA::ExcDescriptionSeq &set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void set_exceptions_i ( - const CORBA::ExcDescriptionSeq &set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExtAttributeDescription *describe_attribute ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExtAttributeDescription *describe_attribute_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Utility function that fills sequence elements for a - // ComponentDescription. - void fill_description ( - CORBA::ExtAttributeDescription &desc - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - /// Common code for the set and get varieties. - - void fill_exceptions (CORBA::ExcDescriptionSeq &exceptions, - const char *sub_section - ACE_ENV_ARG_DECL); - - void exceptions (const char *sub_section, - const CORBA::ExcDescriptionSeq &exceptions); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EXTATTRIBUTEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.cpp deleted file mode 100644 index 30f003136b2..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ExtInterfaceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - ExtInterfaceDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ExtInterfaceDef_i::TAO_ExtInterfaceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo), - TAO_InterfaceAttrExtension_i (repo) -{ -} - -TAO_ExtInterfaceDef_i::~TAO_ExtInterfaceDef_i (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.h deleted file mode 100644 index 11fecc1e6a5..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ExtInterfaceDef_i.h -// -// = DESCRIPTION -// ExtInterfaceDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EXTINTERFACEDEF_I_H -#define TAO_EXTINTERFACEDEF_I_H - -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/InterfaceAttrExtension_i.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ExtInterfaceDef_i - : public virtual TAO_InterfaceDef_i, - public virtual TAO_InterfaceAttrExtension_i -{ - // = TITLE - // TAO_ExtInterfaceDef_i - // - // = DESCRIPTION - // Mixes in TAO_InterfaceAttrExtension_i to get attribute exceptions. - // -public: - TAO_ExtInterfaceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ExtInterfaceDef_i (void); - // Destructor -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EXTINTERFACEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.cpp deleted file mode 100644 index 3b802bcb762..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ExtLocalInterfaceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - ExtLocalInterfaceDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ExtLocalInterfaceDef_i::TAO_ExtLocalInterfaceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo), - TAO_LocalInterfaceDef_i (repo), - TAO_InterfaceAttrExtension_i (repo) -{ -} - -TAO_ExtLocalInterfaceDef_i::~TAO_ExtLocalInterfaceDef_i (void) -{ -} - -// Just call the base class version, this is here only to -// disambiguate multiple inheritance. -void -TAO_ExtLocalInterfaceDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_LocalInterfaceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.h deleted file mode 100644 index 1e5eec3bcf2..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ExtLocalInterfaceDef_i.h -// -// = DESCRIPTION -// ExtLocalInterfaceDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EXTLOCALINTERFACEDEF_I_H -#define TAO_EXTLOCALINTERFACEDEF_I_H - -#include "orbsvcs/IFRService/LocalInterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/InterfaceAttrExtension_i.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ExtLocalInterfaceDef_i - : public virtual TAO_LocalInterfaceDef_i, - public virtual TAO_InterfaceAttrExtension_i -{ - // = TITLE - // TAO_ExtLocaltInterfaceDef_i - // - // = DESCRIPTION - // Mixes in IDL3 attribute exceptions. - // -public: - TAO_ExtLocalInterfaceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ExtLocalInterfaceDef_i (void); - // Destructor - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EXTLOCALINTERFACEDEF_I_H */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp deleted file mode 100644 index 410fd91c7d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp +++ /dev/null @@ -1,975 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ExtValueDef_i.h" -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ExtValueDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ExtValueDef_i::TAO_ExtValueDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_ValueDef_i (repo) -{ -} - -TAO_ExtValueDef_i::~TAO_ExtValueDef_i (void) -{ -} - -CORBA::ExtInitializerSeq * -TAO_ExtValueDef_i::ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->ext_initializers_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ExtInitializerSeq * -TAO_ExtValueDef_i::ext_initializers_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ExtInitializerSeq *iseq = 0; - ACE_NEW_RETURN (iseq, - CORBA::ExtInitializerSeq, - 0); - CORBA::ExtInitializerSeq_var retval = iseq; - - ACE_Configuration_Section_Key initializers_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "initializers", - 0, - initializers_key); - - if (status != 0) - { - iseq->length (0); - return retval._retn (); - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (initializers_key, - "count", - count); - iseq->length (count); - char *stringified = 0; - ACE_Configuration_Section_Key initializer_key, params_key, arg_key; - ACE_TString holder; - CORBA::ULong arg_count = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 0, - initializer_key); - this->repo_->config ()->get_string_value (initializer_key, - "name", - holder); - retval[i].name = holder.fast_rep (); - status = - this->repo_->config ()->open_section (initializer_key, - "params", - 0, - params_key); - - if (status != 0) - { - retval[i].members.length (0); - continue; - } - - this->repo_->config ()->get_integer_value (params_key, - "count", - arg_count); - retval[i].members.length (arg_count); - CORBA::Object_var obj; - - for (CORBA::ULong j = 0; j < arg_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (params_key, - stringified, - 0, - arg_key); - this->repo_->config ()->get_string_value (arg_key, - "arg_name", - holder); - retval[i].members[j].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (arg_key, - "arg_path", - holder); - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - retval[i].members[j].type = - impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i].members[j].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - this->fill_exceptions (retval[i].exceptions, - initializer_key, - "excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_ExtValueDef_i::ext_initializers ( - const CORBA::ExtInitializerSeq &ext_initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->ext_initializers_i (ext_initializers - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ExtValueDef_i::ext_initializers_i ( - const CORBA::ExtInitializerSeq &ext_initializers - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration *config = this->repo_->config (); - config->remove_section (this->section_key_, - "initializers", - 1); - - /// This does not handle the initializer exceptions, so we do that below. - TAO_IFR_Generic_Utils::set_initializers ( - ext_initializers, - this->repo_->config (), - this->section_key_ - ); - - CORBA::ULong length = ext_initializers.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key initializers_key, initializer_key; - char *stringified = 0; - - this->repo_->config ()->open_section (this->section_key_, - "initializers", - 0, - initializers_key); - - for (CORBA::ULong i = 0; i < length; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 0, - initializer_key); - - this->exceptions (initializer_key, - "excepts", - ext_initializers[i].exceptions); - } - } -} - -CORBA::ExtValueDef::ExtFullValueDescription * -TAO_ExtValueDef_i::describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_ext_value_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ExtValueDef::ExtFullValueDescription * -TAO_ExtValueDef_i::describe_ext_value_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ExtValueDef::ExtFullValueDescription *fv_desc = 0; - ACE_NEW_RETURN (fv_desc, - CORBA::ExtValueDef::ExtFullValueDescription, - 0); - CORBA::ExtValueDef::ExtFullValueDescription_var retval = fv_desc; - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - holder); - fv_desc->name = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - fv_desc->id = holder.fast_rep (); - - CORBA::ULong val = 0; - - this->repo_->config ()->get_integer_value (this->section_key_, - "is_abstract", - val); - fv_desc->is_abstract = static_cast (val); - this->repo_->config ()->get_integer_value (this->section_key_, - "is_custom", - val); - fv_desc->is_custom = static_cast (val); - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - fv_desc->defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "version", - holder); - fv_desc->version = holder.fast_rep (); - - // Operations. - - fv_desc->operations.length (0); - - ACE_Configuration_Section_Key ops_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - ops_key); - CORBA::ULong count = 0; - CORBA::ULong param_count = 0; - char *stringified = 0; - CORBA::ULong i = 0; - CORBA::ULong j = 0; - TAO_IDLType_i *idl_type = 0; - CORBA::Object_var obj; - ACE_Configuration_Section_Key params_key, excepts_key, except_def_key; - - if (status == 0) - { - this->repo_->config ()->get_integer_value (ops_key, - "count", - count); - fv_desc->operations.length (count); - ACE_Configuration_Section_Key op_key, result_key, contexts_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (ops_key, - stringified, - 0, - op_key); - this->repo_->config ()->get_string_value (op_key, - "name", - holder); - fv_desc->operations[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (op_key, - "id", - holder); - fv_desc->operations[i].id = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - fv_desc->operations[i].defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (op_key, - "result", - holder); - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->operations[i].result = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->get_integer_value (op_key, - "mode", - val); - fv_desc->operations[i].mode = static_cast (val); - CORBA::TCKind kind = - fv_desc->operations[i].result->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (fv_desc->operations[i].mode == CORBA::OP_ONEWAY - && kind != CORBA::tk_void) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - 0); - } - - // Operation contexts. - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "contexts", - this->repo_->config (), - op_key, - fv_desc->operations[i].contexts - ); - - // Operation parameters. - - fv_desc->operations[i].parameters.length (0); - status = - this->repo_->config ()->open_section (op_key, - "params", - 0, - params_key); - if (status == 0) - { - ACE_Configuration_Section_Key param_key; - this->repo_->config ()->get_integer_value (params_key, - "count", - param_count); - fv_desc->operations[i].parameters.length (param_count); - - for (j = 0; j < param_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (params_key, - stringified, - 0, - param_key); - this->repo_->config ()->get_string_value (param_key, - "name", - holder); - fv_desc->operations[i].parameters[j].name = - holder.fast_rep (); - this->repo_->config ()->get_string_value (param_key, - "type_path", - holder); - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->operations[i].parameters[j].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object ( - holder, - this->repo_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - fv_desc->operations[i].parameters[j].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->get_integer_value (param_key, - "mode", - val); - fv_desc->operations[i].parameters[j].mode = - static_cast (val); - } - } - - // Operation exceptions. - - status = - this->repo_->config ()->open_section (op_key, - "excepts", - 0, - excepts_key); - fv_desc->operations[i].exceptions.length (0); - - if (status == 0) - { - CORBA::ULong excep_count = 0; - this->repo_->config ()->get_integer_value (excepts_key, - "count", - excep_count); - fv_desc->operations[i].exceptions.length (excep_count); - ACE_Configuration_Section_Key except_def_key; - - for (j = 0; j < excep_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->get_string_value (excepts_key, - stringified, - holder); - - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - holder, - except_def_key, - 0 - ); - this->repo_->config ()->get_string_value (except_def_key, - "name", - holder); - fv_desc->operations[i].exceptions[j].name = - holder.fast_rep (); - this->repo_->config ()->get_string_value (except_def_key, - "id", - holder); - fv_desc->operations[i].exceptions[j].id = - holder.fast_rep (); - this->repo_->config ()->get_string_value (except_def_key, - "container_id", - holder); - fv_desc->operations[i].exceptions[j].defined_in = - holder.fast_rep (); - this->repo_->config ()->get_string_value (except_def_key, - "version", - holder); - fv_desc->operations[i].exceptions[j].version = - holder.fast_rep (); - - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (except_def_key); - fv_desc->operations[i].exceptions[j].type = - impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - } - } - - // Attributes.. - - fv_desc->attributes.length (0); - - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - if (status == 0) - { - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - fv_desc->attributes.length (count); - ACE_Configuration_Section_Key attr_key, attr_def_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (attrs_key, - stringified, - 0, - attr_key); - this->repo_->config ()->get_string_value (attr_key, - "name", - holder); - fv_desc->attributes[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (attr_key, - "id", - holder); - fv_desc->attributes[i].id = holder.fast_rep (); - this->repo_->config ()->get_string_value (attr_key, - "version", - holder); - fv_desc->attributes[i].version = holder.fast_rep (); - this->repo_->config ()->get_integer_value (attr_key, - "mode", - val); - fv_desc->attributes[i].mode = - static_cast (val); - this->repo_->config ()->get_string_value (attr_key, - "type_path", - holder); - - // Use the type path for 'defined_in' and 'type'. - - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->attributes[i].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - attr_def_key, - 0); - this->repo_->config ()->get_string_value (attr_def_key, - "container_id", - holder); - fv_desc->attributes[i].defined_in = holder.fast_rep (); - - - this->fill_exceptions (fv_desc->attributes[i].get_exceptions, - attr_key, - "get_excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - - this->fill_exceptions (fv_desc->attributes[i].put_exceptions, - attr_key, - "put_excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - // Members.. - - fv_desc->members.length (0); - - ACE_Configuration_Section_Key members_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "members", - 0, - members_key); - if (status == 0) - { - this->repo_->config ()->get_integer_value (members_key, - "count", - count); - fv_desc->members.length (count); - ACE_Configuration_Section_Key member_key, member_def_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (members_key, - stringified, - 0, - member_key); - this->repo_->config ()->get_string_value (member_key, - "name", - holder); - fv_desc->members[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (member_key, - "id", - holder); - fv_desc->members[i].id = holder.fast_rep (); - this->repo_->config ()->get_string_value (member_key, - "container_id", - holder); - fv_desc->members[i].defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (member_key, - "version", - holder); - fv_desc->members[i].version = holder.fast_rep (); - - this->repo_->config ()->get_integer_value (member_key, - "access", - val); - fv_desc->members[i].access = - static_cast (val); - - // Use type path for 'type' and 'type_def', - - this->repo_->config ()->get_string_value (member_key, - "type_path", - holder); - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->members[i].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - fv_desc->members[i].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - // Initializers - - fv_desc->initializers.length (0); - - ACE_Configuration_Section_Key initializers_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "initializers", - 0, - initializers_key); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (initializers_key, - "count", - count); - fv_desc->initializers.length (count); - ACE_Configuration_Section_Key initializer_key, - params_key, - arg_key, - excepts_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 0, - initializer_key); - this->repo_->config ()->get_string_value (initializer_key, - "name", - holder); - fv_desc->initializers[i].name = holder.fast_rep (); - - fv_desc->initializers[i].members.length (0); - - status = - this->repo_->config ()->open_section (initializer_key, - "params", - 0, - params_key); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (params_key, - "count", - param_count); - fv_desc->initializers[i].members.length (param_count); - - for (j = 0; j < param_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (params_key, - stringified, - 0, - arg_key); - this->repo_->config ()->get_string_value (arg_key, - "arg_name", - holder); - fv_desc->initializers[i].members[j].name = - holder.fast_rep (); - this->repo_->config ()->get_string_value (arg_key, - "arg_path", - holder); - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->initializers[i].members[j].type = - impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object ( - holder, - this->repo_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - fv_desc->initializers[i].members[j].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - this->fill_exceptions (fv_desc->initializers[i].exceptions, - initializer_key, - "excepts" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "supported", - this->repo_->config (), - this->section_key_, - fv_desc->supported_interfaces - ); - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "abstract_bases", - this->repo_->config (), - this->section_key_, - fv_desc->abstract_base_values - ); - - this->repo_->config ()->get_integer_value (this->section_key_, - "is_truncatable", - val); - fv_desc->is_truncatable = static_cast (val); - this->repo_->config ()->get_string_value (this->section_key_, - "base_value", - holder); - fv_desc->base_value = holder.fast_rep (); - fv_desc->type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return retval._retn (); -} - -CORBA::ExtAttributeDef_ptr -TAO_ExtValueDef_i::create_ext_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ExtAttributeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - return this->create_ext_attribute_i (id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ExtAttributeDef_ptr -TAO_ExtValueDef_i::create_ext_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Value, - CORBA::dk_Attribute, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "attrs" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - // Store the path to the attribute's type definition. - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type); - - this->repo_->config ()->set_string_value (new_key, - "type_path", - type_path); - - // Store the attribute's mode. - this->repo_->config ()->set_integer_value (new_key, - "mode", - mode); - - this->exceptions (new_key, - "get_excepts", - get_exceptions); - - this->exceptions (new_key, - "put_excepts", - set_exceptions); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Attribute, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - CORBA::ExtAttributeDef_var retval = - CORBA::ExtAttributeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - return retval._retn (); -} - -void -TAO_ExtValueDef_i::fill_exceptions (CORBA::ExcDescriptionSeq &exceptions, - ACE_Configuration_Section_Key &key, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ACE_Configuration_Section_Key excepts_key; - int status = - this->repo_->config ()->open_section (key, - sub_section, - 0, - excepts_key); - - if (status != 0) - { - exceptions.length (0); - return; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (excepts_key, - "count", - count); - exceptions.length (count); - char *stringified = 0; - ACE_TString holder; - ACE_Configuration_Section_Key except_key; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (excepts_key, - stringified, - holder); - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - except_key, - 0); - this->repo_->config ()->get_string_value (except_key, - "name", - holder); - exceptions[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (except_key, - "id", - holder); - exceptions[i].id = holder.fast_rep (); - - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (except_key); - exceptions[i].type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->repo_->config ()->get_string_value (except_key, - "container_id", - holder); - exceptions[i].defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (except_key, - "version", - holder); - exceptions[i].version = holder.fast_rep (); - } -} - -void -TAO_ExtValueDef_i::exceptions (ACE_Configuration_Section_Key &key, - const char *sub_section, - const CORBA::ExcDescriptionSeq &exceptions) -{ - CORBA::ULong length = exceptions.length (); - - if (length == 0) - { - return; - } - - ACE_Configuration_Section_Key new_key; - this->repo_->config ()->open_section (key, - sub_section, - 1, - new_key); - this->repo_->config ()->set_integer_value (new_key, - "count", - length); - char *stringified = 0; - ACE_TString path; - - for (CORBA::ULong i = 0; i < length; ++i) - { - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - exceptions[i].id.in (), - path); - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (new_key, - stringified, - path); - } -} - -void -TAO_ExtValueDef_i::exceptions (ACE_Configuration_Section_Key &key, - const char *sub_section, - const CORBA::ExceptionDefSeq &exceptions) -{ - CORBA::ULong length = exceptions.length (); - - if (length == 0) - { - return; - } - - ACE_Configuration_Section_Key excepts_key; - this->repo_->config ()->open_section (key, - sub_section, - 1, - excepts_key); - - this->repo_->config ()->set_integer_value (excepts_key, - "count", - length); - char *stringified = 0; - char *type_path = 0; - - for (CORBA::ULong i = 0; i < length; ++i) - { - type_path = - TAO_IFR_Service_Utils::reference_to_path (exceptions[i]); - - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (excepts_key, - stringified, - type_path); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.h deleted file mode 100644 index d2390a47c4a..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ExtValueDef_i.h +++ /dev/null @@ -1,135 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ExtValueDef_i.h -// -// = DESCRIPTION -// ExtValueDef_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_EXTVALUEDEF_I_H -#define TAO_EXTVALUEDEF_I_H - -#include "orbsvcs/IFRService/ValueDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ExtValueDef_i : public virtual TAO_ValueDef_i -{ - // = TITLE - // TAO_ExtValueDef_i - // - // = DESCRIPTION - // Adds member and methods to TAO_ValueDef_i to get IDL3 - // attribute exceptions. - // -public: - TAO_ExtValueDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ExtValueDef_i (void); - // Destructor - - virtual CORBA::ExtInitializerSeq *ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExtInitializerSeq *ext_initializers_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void ext_initializers ( - const CORBA::ExtInitializerSeq &ext_initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void ext_initializers_i ( - const CORBA::ExtInitializerSeq &ext_initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExtValueDef::ExtFullValueDescription *describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExtValueDef::ExtFullValueDescription *describe_ext_value_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExtAttributeDef_ptr create_ext_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void exceptions (ACE_Configuration_Section_Key &key, - const char *sub_section, - const CORBA::ExcDescriptionSeq &exceptions); - /// Public because it's also called from - /// TAO_Container_i::create_ext_value_i. - -private: - /// Common code for the set/get operations with attributes and initializers. - - void fill_exceptions (CORBA::ExcDescriptionSeq &exceptions, - ACE_Configuration_Section_Key &key, - const char *sub_section - ACE_ENV_ARG_DECL); - - void exceptions (ACE_Configuration_Section_Key &key, - const char *sub_section, - const CORBA::ExceptionDefSeq &exceptions); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_EXTVALUEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.cpp deleted file mode 100644 index f1fd5ae8157..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/FactoryDef_i.h" - -ACE_RCSID (IFRService, - FactoryDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FactoryDef_i::TAO_FactoryDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_OperationDef_i (repo) -{ -} - -TAO_FactoryDef_i::~TAO_FactoryDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_FactoryDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Factory; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.h deleted file mode 100644 index 38a366914ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/FactoryDef_i.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// FactoryDef_i.h -// -// = DESCRIPTION -// FactoryDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_FACTORYDEF_I_H -#define TAO_FACTORYDEF_I_H - -#include "orbsvcs/IFRService/OperationDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_FactoryDef_i : public virtual TAO_OperationDef_i -{ - // = TITLE - // TAO_FactoryDef_i - // - // = DESCRIPTION - // Represents the definition of a factory operation in a home. - // -public: - TAO_FactoryDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_FactoryDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_FACTORYDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.cpp deleted file mode 100644 index 6fffd784ad3..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/FinderDef_i.h" - -ACE_RCSID (IFRService, - FinderDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FinderDef_i::TAO_FinderDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_OperationDef_i (repo) -{ -} - -TAO_FinderDef_i::~TAO_FinderDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_FinderDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Finder; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.h deleted file mode 100644 index e8ad0a283d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/FinderDef_i.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// FinderDef_i.h -// -// = DESCRIPTION -// FinderDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_FINDERDEF_I_H -#define TAO_FINDERDEF_I_H - -#include "orbsvcs/IFRService/OperationDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_FinderDef_i : public virtual TAO_OperationDef_i -{ - // = TITLE - // TAO_FinderDef_i - // - // = DESCRIPTION - // Represents the definition of a finder operation in a home. - // -public: - TAO_FinderDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_FinderDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_FINDERDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.cpp deleted file mode 100644 index f8fdc472f04..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.cpp +++ /dev/null @@ -1,152 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/FixedDef_i.h" - -ACE_RCSID (IFRService, - FixedDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_FixedDef_i::TAO_FixedDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_FixedDef_i::~TAO_FixedDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_FixedDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Fixed; -} - -void -TAO_FixedDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_FixedDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TODO -} - -CORBA::TypeCode_ptr -TAO_FixedDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_FixedDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TODO - return CORBA::TypeCode::_nil (); -} - -CORBA::UShort -TAO_FixedDef_i::digits (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->digits_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::UShort -TAO_FixedDef_i::digits_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TODO - return 0; -} - -void -TAO_FixedDef_i::digits (CORBA::UShort digits - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->digits_i (digits - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FixedDef_i::digits_i (CORBA::UShort /* digits */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TODO -} - -CORBA::Short -TAO_FixedDef_i::scale (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->scale_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Short -TAO_FixedDef_i::scale_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TODO - return 0; -} - -void -TAO_FixedDef_i::scale (CORBA::Short scale - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->scale_i (scale - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_FixedDef_i::scale_i (CORBA::Short /* scale */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TODO -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.h deleted file mode 100644 index 326bc90185b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/FixedDef_i.h +++ /dev/null @@ -1,133 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// FixedDef_i.h -// -// = DESCRIPTION -// FixedDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_FIXEDDEF_I_H -#define TAO_FIXEDDEF_I_H - -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_FixedDef_i : public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_FixedDef_i - // - // = DESCRIPTION - // Represents an IDL fixed type. - // -public: - TAO_FixedDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_FixedDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::UShort digits ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::UShort digits_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void digits ( - CORBA::UShort digits - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void digits_i ( - CORBA::UShort digits - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Short scale ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Short scale_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void scale ( - CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void scale_i ( - CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_FIXEDDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp deleted file mode 100644 index 4e8a1741f56..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp +++ /dev/null @@ -1,1058 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/HomeDef_i.h" -#include "orbsvcs/IFRService/FactoryDef_i.h" -#include "orbsvcs/IFRService/FinderDef_i.h" -#include "orbsvcs/IFRService/ValueDef_i.h" -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - HomeDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_HomeDef_i::TAO_HomeDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo), - TAO_InterfaceAttrExtension_i (repo), - TAO_ExtInterfaceDef_i (repo) -{ -} - -TAO_HomeDef_i::~TAO_HomeDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_HomeDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Home; -} - -void -TAO_HomeDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our special subsections first, then call destroy_i - // on our base class. - - TAO_IFR_Generic_Utils::destroy_special ( - "factories", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "finders", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - this->TAO_ExtInterfaceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_HomeDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_HomeDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ComponentIR::HomeDescription home_desc; - - TAO_IFR_Desc_Utils::fill_desc_begin (home_desc, - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TString holder; - int status = - this->repo_->config ()->get_string_value (this->section_key_, - "base_home", - holder); - - ACE_Configuration_Section_Key tmp_key; - - if (status == 0) - { - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - tmp_key, - 0); - this->repo_->config ()->get_string_value (tmp_key, - "id", - holder); - home_desc.base_home = holder.fast_rep (); - } - - // No need to check the status - this one is required. - this->repo_->config ()->get_string_value (this->section_key_, - "managed", - holder); - home_desc.managed_component = holder.fast_rep (); - status = - this->repo_->config ()->get_string_value (this->section_key_, - "primary_key", - holder); - - if (status == 0) - { - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - tmp_key, - 0); - TAO_ValueDef_i impl (this->repo_); - impl.section_key (tmp_key); - impl.fill_value_description (home_desc.primary_key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - this->fill_op_desc_seq (this->section_key_, - home_desc.factories, - "factories" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->fill_op_desc_seq (this->section_key_, - home_desc.finders, - "finders" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->fill_op_desc_seq (this->section_key_, - home_desc.operations, - "ops" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - home_desc.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::Contained::Description, - 0); - - retval->kind = CORBA::dk_Home; - retval->value <<= home_desc; - return retval; -} - -CORBA::TypeCode_ptr -TAO_HomeDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_HomeDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - return this->repo_->tc_factory ()->create_home_tc (id.fast_rep (), - name.fast_rep () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::HomeDef_ptr -TAO_HomeDef_i::base_home (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - return this->base_home_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ComponentIR::HomeDef_ptr -TAO_HomeDef_i::base_home_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString path; - int status = - this->repo_->config ()->get_string_value (this->section_key_, - "base_home", - path); - - if (status != 0) - { - return CORBA::ComponentIR::HomeDef::_nil (); - } - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::HomeDef::_nil ()); - - return CORBA::ComponentIR::HomeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::base_home ( - CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->base_home_i (base_home - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::base_home_i ( - CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *path = TAO_IFR_Service_Utils::reference_to_path (base_home); - this->repo_->config ()->set_string_value (this->section_key_, - "base_home", - path); -} - -CORBA::InterfaceDefSeq * -TAO_HomeDef_i::supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->supported_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDefSeq * -TAO_HomeDef_i::supported_interfaces_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::InterfaceDefSeq *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::InterfaceDefSeq, - 0); - CORBA::InterfaceDefSeq_var safe_retval = retval; - retval->length (0); - ACE_Configuration_Section_Key supported_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "supported", - 0, - supported_key); - - if (status != 0) - { - return retval; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (supported_key, - "count", - count); - retval->length (count); - char *stringified = 0; - ACE_TString holder; - CORBA::Object_var obj; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (supported_key, - stringified, - holder); - obj = TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - safe_retval[i] = CORBA::InterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return safe_retval._retn (); -} - -void -TAO_HomeDef_i::supported_interfaces ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->supported_interfaces_i (supported_interfaces - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::supported_interfaces_i ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "supported", - 1); - CORBA::ULong length = supported_interfaces.length (); - - if (length == 0) - { - return; - } - - ACE_Configuration_Section_Key supported_key; - this->repo_->config ()->open_section (this->section_key_, - "supported", - 1, - supported_key); - char *stringified = 0; - char *path = 0; - - for (CORBA::ULong i = 0; i < length; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - path = - TAO_IFR_Service_Utils::reference_to_path ( - supported_interfaces[i] - ); - this->repo_->config ()->set_string_value (supported_key, - stringified, - path); - } -} - -CORBA::ComponentIR::ComponentDef_ptr -TAO_HomeDef_i::managed_component (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - return this->managed_component_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ComponentIR::ComponentDef_ptr -TAO_HomeDef_i::managed_component_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString path; - this->repo_->config ()->get_string_value (this->section_key_, - "managed", - path); - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::ComponentDef::_nil ()); - - return CORBA::ComponentIR::ComponentDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::managed_component ( - CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->managed_component_i (managed_component - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::managed_component_i ( - CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *path = TAO_IFR_Service_Utils::reference_to_path (managed_component); - this->repo_->config ()->set_string_value (this->section_key_, - "managed", - path); -} - -CORBA::ValueDef_ptr -TAO_HomeDef_i::primary_key (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ValueDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - return this->primary_key_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ValueDef_ptr -TAO_HomeDef_i::primary_key_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString path; - int status = - this->repo_->config ()->get_string_value (this->section_key_, - "primary_key", - path); - - if (status != 0) - { - return CORBA::ValueDef::_nil (); - } - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - return CORBA::ValueDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::primary_key ( - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->primary_key_i (primary_key - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::primary_key_i ( - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (primary_key)) - { - this->repo_->config ()->remove_value (this->section_key_, - "primary_key"); - return; - } - - char *path = TAO_IFR_Service_Utils::reference_to_path (primary_key); - this->repo_->config ()->set_string_value (this->section_key_, - "primary_key", - path); -} - -CORBA::ComponentIR::FactoryDef_ptr -TAO_HomeDef_i::create_factory (const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::FactoryDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::FactoryDef::_nil ()); - - return this->create_factory_i (id, - name, - version, - params, - exceptions - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::FactoryDef_ptr -TAO_HomeDef_i::create_factory_i ( - const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var obj = this->create_common (CORBA::dk_Factory, - id, - name, - version, - "factories", - params, - exceptions - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::FactoryDef::_nil ()); - - return CORBA::ComponentIR::FactoryDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::FinderDef_ptr -TAO_HomeDef_i::create_finder (const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ComponentIR::FinderDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::FinderDef::_nil ()); - - return this->create_finder_i (id, - name, - version, - params, - exceptions - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ComponentIR::FinderDef_ptr -TAO_HomeDef_i::create_finder_i ( - const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var obj = this->create_common (CORBA::dk_Finder, - id, - name, - version, - "finders", - params, - exceptions - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ComponentIR::FinderDef::_nil ()); - - return CORBA::ComponentIR::FinderDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_HomeDef_i::create_common (CORBA::DefinitionKind created_kind, - const char *id, - const char *name, - const char *version, - const char *sub_section, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString result_path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Home, - created_kind, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - sub_section - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Set the 'result' field with the path of our managed component. - ACE_TString managed_path; - this->repo_->config ()->get_string_value (this->section_key_, - "managed", - managed_path); - this->repo_->config ()->set_string_value (new_key, - "result", - managed_path); - - // Always OP_NORMAL for factories. - this->repo_->config ()->set_integer_value (new_key, - "mode", - CORBA::OP_NORMAL); - - CORBA::ULong i = 0; - - // Store the operation's parameter info. - CORBA::ULong length = params.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key params_key; - this->repo_->config ()->open_section (new_key, - "params", - 1, - params_key); - - this->repo_->config ()->set_integer_value (params_key, - "count", - length); - char *type_path = 0; - char *stringified = 0; - ACE_Configuration_Section_Key param_key; - - for (i = 0; i < length; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (params_key, - stringified, - 1, - param_key); - - this->repo_->config ()->set_string_value (param_key, - "name", - params[i].name.in ()); - type_path = - TAO_IFR_Service_Utils::reference_to_path ( - params[i].type_def.in () - ); - - this->repo_->config ()->set_string_value (param_key, - "type_path", - type_path); - - if (params[i].mode != CORBA::PARAM_IN) - { - // @@@ (JP) No OMG-defined exception for this, but maybe there - // will be. - } - - this->repo_->config ()->set_integer_value (param_key, - "mode", - CORBA::PARAM_IN); - } - } - - // Store the operation's exception info. - length = exceptions.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key excepts_key; - this->repo_->config ()->open_section (new_key, - "excepts", - 1, - excepts_key); - - this->repo_->config ()->set_integer_value (excepts_key, - "count", - length); - char *type_path = 0; - - for (i = 0; i < length; ++i) - { - type_path = - TAO_IFR_Service_Utils::reference_to_path (exceptions[i]); - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (excepts_key, - stringified, - type_path); - } - } - - // Create the object reference. - return - TAO_IFR_Service_Utils::create_objref (created_kind, - result_path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::fill_op_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::OpDescriptionSeq &ods, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ods.length (0); - ACE_Configuration_Section_Key sub_key; - int status = - this->repo_->config ()->open_section (key, - sub_section, - 0, - sub_key); - - if (status != 0) - { - return; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (sub_key, - "count", - count); - ods.length (count); - char *stringified = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->fill_op_desc (sub_key, - ods[i], - stringified - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_HomeDef_i::fill_op_desc (ACE_Configuration_Section_Key &key, - CORBA::OperationDescription &od, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ACE_Configuration_Section_Key op_key; - this->repo_->config ()->open_section (key, - sub_section, - 0, - op_key); - TAO_IFR_Desc_Utils::fill_desc_begin ( - od, - this->repo_, - op_key - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - ACE_TString result_path; - this->repo_->config ()->get_string_value (key, - "result", - result_path); - TAO_IDLType_i *result = - TAO_IFR_Service_Utils::path_to_idltype (result_path, - this->repo_); - od.result = result->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_OperationDef_i impl (this->repo_); - impl.section_key (op_key); - od.mode = impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "contexts", - this->repo_->config (), - op_key, - od.contexts - ); - - this->fill_param_desc_seq (op_key, - od.parameters, - "params" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->fill_exc_desc_seq (op_key, - od.exceptions, - "excepts" - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::fill_param_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::ParDescriptionSeq &pds, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - pds.length (0); - ACE_Configuration_Section_Key params_key; - int status = - this->repo_->config ()->open_section (key, - sub_section, - 0, - params_key); - - if (status != 0) - { - return; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (params_key, - "count", - count); - pds.length (count); - char *stringified = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->fill_param_desc (params_key, - pds[i], - stringified - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_HomeDef_i::fill_param_desc (ACE_Configuration_Section_Key &key, - CORBA::ParameterDescription &pd, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ACE_Configuration_Section_Key param_key; - this->repo_->config ()->open_section (key, - sub_section, - 0, - param_key); - ACE_TString holder; - this->repo_->config ()->get_string_value (param_key, - "name", - holder); - pd.name = holder.fast_rep (); - this->repo_->config ()->get_string_value (param_key, - "type_path", - holder); - TAO_IDLType_i *impl = TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - pd.type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - pd.type_def = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULong val; - this->repo_->config ()->get_integer_value (param_key, - "mode", - val); - pd.mode = static_cast (val); -} - -void -TAO_HomeDef_i::fill_exc_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::ExcDescriptionSeq &eds, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - eds.length (0); - ACE_Configuration_Section_Key excepts_key; - int status = - this->repo_->config ()->open_section (key, - sub_section, - 0, - excepts_key); - - if (status != 0) - { - return; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (excepts_key, - "count", - count); - eds.length (count); - char *stringified = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->fill_exc_desc (excepts_key, - eds[i], - stringified - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_HomeDef_i::fill_exc_desc (ACE_Configuration_Section_Key &key, - CORBA::ExceptionDescription &ed, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ACE_TString path; - this->repo_->config ()->get_string_value (key, - sub_section, - path); - - // Description information for exceptions refers to the definition, not - // the reference, so we need the extra step to get - // the key of the exception's definition. - ACE_Configuration_Section_Key except_def_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - except_def_key, - 0); - TAO_IFR_Desc_Utils::fill_desc_begin ( - ed, - this->repo_, - except_def_key - ACE_ENV_ARG_PARAMETER - ); - - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (except_def_key); - ed.type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_HomeDef_i::fill_attr_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::ExtAttrDescriptionSeq &eads, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - eads.length (0); - ACE_Configuration_Section_Key attrs_key; - int status = - this->repo_->config ()->open_section (key, - sub_section, - 0, - attrs_key); - - if (status != 0) - { - return; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - eads.length (count); - char *stringified = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->fill_attr_desc (attrs_key, - eads[i], - stringified - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_HomeDef_i::fill_attr_desc (ACE_Configuration_Section_Key &key, - CORBA::ExtAttributeDescription &ead, - const char *sub_section - ACE_ENV_ARG_DECL) -{ - ACE_Configuration_Section_Key attr_key; - this->repo_->config ()->open_section (key, - sub_section, - 0, - attr_key); - TAO_IFR_Desc_Utils::fill_desc_begin ( - ead, - this->repo_, - attr_key - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_AttributeDef_i impl (this->repo_); - impl.section_key (attr_key); - ead.type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ead.mode = impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.h deleted file mode 100644 index 7436829cb68..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/HomeDef_i.h +++ /dev/null @@ -1,286 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// HomeDef_i.h -// -// = DESCRIPTION -// HomeDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_HOMEDEF_I_H -#define TAO_HOMEDEF_I_H - -#include "orbsvcs/IFRService/ExtInterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/IFR_ComponentsS.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_HomeDef_i - : public virtual TAO_ExtInterfaceDef_i -{ - // = TITLE - // HomTAO_HomeDef_ieDef_i - // - // = DESCRIPTION - // Represents a home definition, containing factory and finder. - // -public: - TAO_HomeDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_HomeDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::ComponentIR::HomeDef_ptr base_home ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::HomeDef_ptr base_home_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void base_home ( - CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void base_home_i ( - CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::InterfaceDefSeq *supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDefSeq *supported_interfaces_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void supported_interfaces ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void supported_interfaces_i ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::ComponentDef_ptr managed_component ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::ComponentDef_ptr managed_component_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void managed_component ( - CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void managed_component_i ( - CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueDef_ptr primary_key ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueDef_ptr primary_key_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void primary_key ( - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void primary_key_i ( - CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::FactoryDef_ptr create_factory ( - const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::FactoryDef_ptr create_factory_i ( - const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ComponentIR::FinderDef_ptr create_finder ( - const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ComponentIR::FinderDef_ptr create_finder_i ( - const char *id, - const char *name, - const char *version, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - // Common code for create_factory_i and create_finder_i. - CORBA::Object_ptr create_common ( - CORBA::DefinitionKind created_kind, - const char *id, - const char *name, - const char *version, - const char *sub_section, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL - ); - - void fill_op_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::OpDescriptionSeq &ods, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_op_desc (ACE_Configuration_Section_Key &key, - CORBA::OperationDescription &od, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_param_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::ParDescriptionSeq &pds, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_param_desc (ACE_Configuration_Section_Key &key, - CORBA::ParameterDescription &pd, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_exc_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::ExcDescriptionSeq &eds, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_exc_desc (ACE_Configuration_Section_Key &key, - CORBA::ExceptionDescription &ed, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_attr_desc_seq (ACE_Configuration_Section_Key &key, - CORBA::ExtAttrDescriptionSeq &eads, - const char *sub_section - ACE_ENV_ARG_DECL); - - void fill_attr_desc (ACE_Configuration_Section_Key &key, - CORBA::ExtAttributeDescription &ead, - const char *sub_section - ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_HOMEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.cpp deleted file mode 100644 index 83c64aff90e..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/IDLType_i.h" - -ACE_RCSID (IFRService, - IDLType_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_IDLType_i::TAO_IDLType_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo) -{ -} - -TAO_IDLType_i::~TAO_IDLType_i (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.h b/TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.h deleted file mode 100644 index 8935d63aae6..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IDLType_i.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- C++ -*- -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// IDLType_i.h -// -// = DESCRIPTION -// IDLType servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_IDLTYPE_I_H -#define TAO_IDLTYPE_I_H - -#include "orbsvcs/IFRService/IRObject_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Repository_i; - -class TAO_IFRService_Export TAO_IDLType_i : public virtual TAO_IRObject_i -{ - // = TITLE - // TAO_IDLType_i - // - // = DESCRIPTION - // Abstract base class for all IR objects that represent - // OMG IDL types. Provides access to the TypeCode describing - // the type. - // -public: - TAO_IDLType_i (TAO_Repository_i *repo); - // Constructor. - - virtual ~TAO_IDLType_i (void); - // Destructor. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - // Defined in concrete classes. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - // Defined in concrete classes. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_IDLTYPE_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp deleted file mode 100644 index 3395db49bd8..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp +++ /dev/null @@ -1,7987 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -// TAO_IDL - Generated from -// be\be_codegen.cpp:603 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_CPP_ - - -#include "IFR_BaseS.h" -#include "tao/PortableServer/Operation_Table_Perfect_Hash.h" -#include "tao/PortableServer/Upcall_Command.h" -#include "tao/PortableServer/Upcall_Wrapper.h" -#include "tao/TAO_Server_Request.h" -#include "tao/ORB_Core.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/IFR_Client_Adapter.h" -#include "tao/Object_T.h" -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/AnyTypeCode/DynamicC.h" -#include "tao/CDR.h" -#include "tao/operation_details.h" -#include "tao/PortableInterceptor.h" -#include "tao/PortableServer/Basic_SArguments.h" -#include "tao/PortableServer/Object_SArgument_T.h" -#include "tao/PortableServer/Special_Basic_SArguments.h" -#include "tao/PortableServer/UB_String_SArguments.h" -#include "tao/PortableServer/Var_Size_SArgument_T.h" -#include "tao/PortableServer/Any_SArg_Traits.h" -#include "tao/PortableServer/TypeCode_SArg_Traits.h" -#include "tao/PortableServer/Object_SArg_Traits.h" -#include "tao/PortableServer/get_arg.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Basic_Arguments.h" -#include "tao/Object_Argument_T.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Var_Size_Argument_T.h" -#include "tao/AnyTypeCode/Any_Arg_Traits.h" -#include "ace/Dynamic_Service.h" -#include "ace/Malloc_Allocator.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_BaseS.inl" -#endif /* !defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__SARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINED__SARG_TRAITS_) -#define _CORBA_CONTAINED__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Contained_ptr, - CORBA::Contained_var, - CORBA::Contained_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_CONTAINED_DESCRIPTION__SARG_TRAITS_) -#define _CORBA_CONTAINED_DESCRIPTION__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::Contained::Description, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__SARG_TRAITS_) -#define _CORBA_REPOSITORY__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__SARG_TRAITS_) -#define _CORBA_CONTAINER__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTAINER_DESCRIPTIONSEQ__SARG_TRAITS_) -#define _CORBA_CONTAINER_DESCRIPTIONSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::Container::DescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_MODULEDEF__SARG_TRAITS_) -#define _CORBA_MODULEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ModuleDef_ptr, - CORBA::ModuleDef_var, - CORBA::ModuleDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONSTANTDEF__SARG_TRAITS_) -#define _CORBA_CONSTANTDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ConstantDef_ptr, - CORBA::ConstantDef_var, - CORBA::ConstantDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__SARG_TRAITS_) -#define _CORBA_IDLTYPE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_STRUCTDEF__SARG_TRAITS_) -#define _CORBA_STRUCTDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::StructDef_ptr, - CORBA::StructDef_var, - CORBA::StructDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_UNIONDEF__SARG_TRAITS_) -#define _CORBA_UNIONDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::UnionDef_ptr, - CORBA::UnionDef_var, - CORBA::UnionDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ENUMDEF__SARG_TRAITS_) -#define _CORBA_ENUMDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::EnumDef_ptr, - CORBA::EnumDef_var, - CORBA::EnumDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ALIASDEF__SARG_TRAITS_) -#define _CORBA_ALIASDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::AliasDef_ptr, - CORBA::AliasDef_var, - CORBA::AliasDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_INTERFACEDEF__SARG_TRAITS_) -#define _CORBA_INTERFACEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::InterfaceDef_ptr, - CORBA::InterfaceDef_var, - CORBA::InterfaceDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__SARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXCEPTIONDEF__SARG_TRAITS_) -#define _CORBA_EXCEPTIONDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ExceptionDef_ptr, - CORBA::ExceptionDef_var, - CORBA::ExceptionDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_NATIVEDEF__SARG_TRAITS_) -#define _CORBA_NATIVEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::NativeDef_ptr, - CORBA::NativeDef_var, - CORBA::NativeDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEDEF__SARG_TRAITS_) -#define _CORBA_VALUEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ValueDef_ptr, - CORBA::ValueDef_var, - CORBA::ValueDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_VALUEDEFSEQ__SARG_TRAITS_) -#define _CORBA_VALUEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ValueDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEBOXDEF__SARG_TRAITS_) -#define _CORBA_VALUEBOXDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ValueBoxDef_ptr, - CORBA::ValueBoxDef_var, - CORBA::ValueBoxDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ABSTRACTINTERFACEDEF__SARG_TRAITS_) -#define _CORBA_ABSTRACTINTERFACEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::AbstractInterfaceDef_ptr, - CORBA::AbstractInterfaceDef_var, - CORBA::AbstractInterfaceDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_ABSTRACTINTERFACEDEFSEQ__SARG_TRAITS_) -#define _CORBA_ABSTRACTINTERFACEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::AbstractInterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_LOCALINTERFACEDEF__SARG_TRAITS_) -#define _CORBA_LOCALINTERFACEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::LocalInterfaceDef_ptr, - CORBA::LocalInterfaceDef_var, - CORBA::LocalInterfaceDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXTVALUEDEF__SARG_TRAITS_) -#define _CORBA_EXTVALUEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ExtValueDef_ptr, - CORBA::ExtValueDef_var, - CORBA::ExtValueDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTAINEDSEQ__SARG_TRAITS_) -#define _CORBA_CONTAINEDSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ContainedSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_STRUCTMEMBERSEQ__SARG_TRAITS_) -#define _CORBA_STRUCTMEMBERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::StructMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INITIALIZERSEQ__SARG_TRAITS_) -#define _CORBA_INITIALIZERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXTINITIALIZERSEQ__SARG_TRAITS_) -#define _CORBA_EXTINITIALIZERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExtInitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_UNIONMEMBERSEQ__SARG_TRAITS_) -#define _CORBA_UNIONMEMBERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::UnionMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_ENUMMEMBERSEQ__SARG_TRAITS_) -#define _CORBA_ENUMMEMBERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::EnumMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINED__ARG_TRAITS_) -#define _CORBA_CONTAINED__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Contained_ptr, - CORBA::Contained_var, - CORBA::Contained_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_CONTAINED_DESCRIPTION__ARG_TRAITS_) -#define _CORBA_CONTAINED_DESCRIPTION__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::Contained::Description, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__ARG_TRAITS_) -#define _CORBA_REPOSITORY__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__ARG_TRAITS_) -#define _CORBA_CONTAINER__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTAINER_DESCRIPTIONSEQ__ARG_TRAITS_) -#define _CORBA_CONTAINER_DESCRIPTIONSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::Container::DescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_MODULEDEF__ARG_TRAITS_) -#define _CORBA_MODULEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ModuleDef_ptr, - CORBA::ModuleDef_var, - CORBA::ModuleDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONSTANTDEF__ARG_TRAITS_) -#define _CORBA_CONSTANTDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ConstantDef_ptr, - CORBA::ConstantDef_var, - CORBA::ConstantDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_) -#define _CORBA_IDLTYPE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_STRUCTDEF__ARG_TRAITS_) -#define _CORBA_STRUCTDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::StructDef_ptr, - CORBA::StructDef_var, - CORBA::StructDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_UNIONDEF__ARG_TRAITS_) -#define _CORBA_UNIONDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::UnionDef_ptr, - CORBA::UnionDef_var, - CORBA::UnionDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ENUMDEF__ARG_TRAITS_) -#define _CORBA_ENUMDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::EnumDef_ptr, - CORBA::EnumDef_var, - CORBA::EnumDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ALIASDEF__ARG_TRAITS_) -#define _CORBA_ALIASDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::AliasDef_ptr, - CORBA::AliasDef_var, - CORBA::AliasDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_INTERFACEDEF__ARG_TRAITS_) -#define _CORBA_INTERFACEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::InterfaceDef_ptr, - CORBA::InterfaceDef_var, - CORBA::InterfaceDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXCEPTIONDEF__ARG_TRAITS_) -#define _CORBA_EXCEPTIONDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ExceptionDef_ptr, - CORBA::ExceptionDef_var, - CORBA::ExceptionDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_NATIVEDEF__ARG_TRAITS_) -#define _CORBA_NATIVEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::NativeDef_ptr, - CORBA::NativeDef_var, - CORBA::NativeDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_) -#define _CORBA_VALUEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ValueDef_ptr, - CORBA::ValueDef_var, - CORBA::ValueDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_VALUEDEFSEQ__ARG_TRAITS_) -#define _CORBA_VALUEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ValueDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEBOXDEF__ARG_TRAITS_) -#define _CORBA_VALUEBOXDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ValueBoxDef_ptr, - CORBA::ValueBoxDef_var, - CORBA::ValueBoxDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ABSTRACTINTERFACEDEF__ARG_TRAITS_) -#define _CORBA_ABSTRACTINTERFACEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::AbstractInterfaceDef_ptr, - CORBA::AbstractInterfaceDef_var, - CORBA::AbstractInterfaceDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_ABSTRACTINTERFACEDEFSEQ__ARG_TRAITS_) -#define _CORBA_ABSTRACTINTERFACEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::AbstractInterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_LOCALINTERFACEDEF__ARG_TRAITS_) -#define _CORBA_LOCALINTERFACEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::LocalInterfaceDef_ptr, - CORBA::LocalInterfaceDef_var, - CORBA::LocalInterfaceDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXTVALUEDEF__ARG_TRAITS_) -#define _CORBA_EXTVALUEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ExtValueDef_ptr, - CORBA::ExtValueDef_var, - CORBA::ExtValueDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTAINEDSEQ__ARG_TRAITS_) -#define _CORBA_CONTAINEDSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ContainedSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_) -#define _CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::StructMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INITIALIZERSEQ__ARG_TRAITS_) -#define _CORBA_INITIALIZERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_) -#define _CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExtInitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_UNIONMEMBERSEQ__ARG_TRAITS_) -#define _CORBA_UNIONMEMBERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::UnionMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_ENUMMEMBERSEQ__ARG_TRAITS_) -#define _CORBA_ENUMMEMBERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::EnumMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_IRObject_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_IRObject_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_IRObject_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, - 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 5, 19, 19, 19, 19, 0, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, -#else - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 0, 19, 0, 19, 19, - 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, - 19, 0, 19, 19, 19, 19, 19, 19, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_IRObject_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 7, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 18, - HASH_VALUE_RANGE = 14, - DUPLICATES = 0, - WORDLIST_SIZE = 12 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::IRObject::_is_a_skel, 0}, - {"",0,0}, - {"destroy", &POA_CORBA::IRObject::destroy_skel, 0}, - {"",0,0},{"",0,0}, - {"_interface", &POA_CORBA::IRObject::_interface_skel, 0}, - {"",0,0},{"",0,0}, - {"_get_def_kind", &POA_CORBA::IRObject::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::IRObject::_repository_id_skel, 0}, - {"_component", &POA_CORBA::IRObject::_component_skel, 0}, - {"",0,0},{"",0,0}, - {"_non_existent", &POA_CORBA::IRObject::_non_existent_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - const char *s = wordlist[key].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[key]; - } - } - return 0; -} - -static TAO_CORBA_IRObject_Perfect_Hash_OpTable tao_CORBA_IRObject_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_IRObject_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_IRObject_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_IRObject_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_IRObject_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_IRObject_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_IRObject_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_IRObject_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::IRObject::IRObject (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_IRObject_optable; -} - -POA_CORBA::IRObject::IRObject (const IRObject& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs) -{ -} - -POA_CORBA::IRObject::~IRObject (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_def_kind_IRObject - : public TAO::Upcall_Command - { - public: - inline _get_def_kind_IRObject ( - POA_CORBA::IRObject * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::DefinitionKind>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::DefinitionKind> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IRObject * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::IRObject::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::DefinitionKind>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IRObject * const impl = - static_cast (servant); - - _get_def_kind_IRObject command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class destroy_IRObject - : public TAO::Upcall_Command - { - public: - inline destroy_IRObject ( - POA_CORBA::IRObject * servant) - : servant_ (servant) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - this->servant_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IRObject * const servant_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::IRObject::destroy_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IRObject * const impl = - static_cast (servant); - - destroy_IRObject command ( - impl); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_IRObject_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_IRObject_Upcall_Command ( - POA_CORBA::IRObject * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IRObject * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IRObject::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::IRObject * const impl = - static_cast (servant); - - _is_a_IRObject_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_IRObject_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_IRObject_Upcall_Command ( - POA_CORBA::IRObject * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IRObject * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IRObject::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IRObject * const impl = - static_cast (servant); - - _non_existent_IRObject_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_IRObject_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_IRObject_Upcall_Command ( - POA_CORBA::IRObject * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IRObject * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IRObject::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IRObject * const impl = - static_cast (servant); - - _repository_id_IRObject_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::IRObject::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::IRObject * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_IRObject_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_IRObject_Upcall_Command ( - POA_CORBA::IRObject * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IRObject * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IRObject::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IRObject * const impl = - static_cast (servant); - - _get_component_IRObject_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::IRObject::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::IRObject::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/IRObject:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::IRObject::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::IRObject * -POA_CORBA::IRObject::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::IRObject STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_IRObject_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_Contained_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_Contained_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_Contained_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_Contained_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 18, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 4, - WORDLIST_SIZE = 22 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::Contained::move_skel, 0}, - {"_is_a", &POA_CORBA::Contained::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::Contained::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::Contained::_set_id_skel, 0}, - {"describe", &POA_CORBA::Contained::describe_skel, 0}, - {"_get_name", &POA_CORBA::Contained::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::Contained::_set_name_skel, 0}, - {"_interface", &POA_CORBA::Contained::_interface_skel, 0}, - {"_get_version", &POA_CORBA::Contained::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::Contained::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::Contained::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::Contained::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::Contained::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::Contained::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::Contained::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::Contained::_component_skel, 0}, - {"_non_existent", &POA_CORBA::Contained::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::Contained::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -9, -2, -12, -2, 4, 5, -1, 50, 8, -45, 11, -1, -46, 14, - 15, 16, -1, 17, 18, -1, 19, -6, -2, 20, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 21, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_Contained_Perfect_Hash_OpTable tao_CORBA_Contained_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_Contained_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_Contained_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_Contained_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_Contained_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_Contained_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_Contained_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_Contained_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::Contained::Contained (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_Contained_optable; -} - -POA_CORBA::Contained::Contained (const Contained& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs) -{ -} - -POA_CORBA::Contained::~Contained (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_id_Contained - : public TAO::Upcall_Command - { - public: - inline _get_id_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::RepositoryId>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_get_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::RepositoryId>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_id_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_id_Contained - : public TAO::Upcall_Command - { - public: - inline _set_id_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->id ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_set_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id - }; - - static size_t const nargs = 2; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _set_id_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_name_Contained - : public TAO::Upcall_Command - { - public: - inline _get_name_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Identifier>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_get_name_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Identifier>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_name_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_name_Contained - : public TAO::Upcall_Command - { - public: - inline _set_name_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->name ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_set_name_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - - TAO::Argument * const args[] = - { - &retval, - &_tao_name - }; - - static size_t const nargs = 2; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _set_name_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_version_Contained - : public TAO::Upcall_Command - { - public: - inline _get_version_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::VersionSpec>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_get_version_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::VersionSpec>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_version_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_version_Contained - : public TAO::Upcall_Command - { - public: - inline _set_version_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->version ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_set_version_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - - TAO::Argument * const args[] = - { - &retval, - &_tao_version - }; - - static size_t const nargs = 2; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _set_version_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_defined_in_Contained - : public TAO::Upcall_Command - { - public: - inline _get_defined_in_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Container>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Container> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Container>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_defined_in_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_absolute_name_Contained - : public TAO::Upcall_Command - { - public: - inline _get_absolute_name_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ScopedName>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ScopedName> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ScopedName>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_absolute_name_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_containing_repository_Contained - : public TAO::Upcall_Command - { - public: - inline _get_containing_repository_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Repository>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Repository> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Repository>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_containing_repository_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_Contained - : public TAO::Upcall_Command - { - public: - inline describe_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Contained::Description>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Contained::Description> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::describe_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Contained::Description>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - describe_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class move_Contained - : public TAO::Upcall_Command - { - public: - inline move_Contained ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Container>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Container> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - this->servant_->move ( - arg_1 - , arg_2 - , arg_3 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Contained::move_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Container>::in_arg_val _tao_new_container; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_new_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_new_version; - - TAO::Argument * const args[] = - { - &retval, - &_tao_new_container, - &_tao_new_name, - &_tao_new_version - }; - - static size_t const nargs = 4; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - move_Contained command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_Contained_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_Contained_Upcall_Command ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Contained::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _is_a_Contained_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_Contained_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_Contained_Upcall_Command ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Contained::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _non_existent_Contained_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_Contained_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_Contained_Upcall_Command ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Contained::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _repository_id_Contained_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::Contained::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::Contained * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_Contained_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_Contained_Upcall_Command ( - POA_CORBA::Contained * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Contained * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Contained::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Contained * const impl = - static_cast (servant); - - _get_component_Contained_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::Contained::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::Contained::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/Contained:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::Contained::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::Contained * -POA_CORBA::Contained::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::Contained STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_Contained_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_Container_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_Container_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_Container_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 20, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 15, - 41, 0, 0, 0, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 0, 20, 5, - 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 15, 5, 41, 41, 41, 10, 0, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, -#else - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 20, 41, 15, 41, 0, - 0, 0, 41, 41, 41, 41, 41, 41, 0, 20, - 5, 41, 0, 41, 41, 15, 5, 41, 41, 41, - 10, 0, 41, 41, 41, 41, 41, 41, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_Container_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 25, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 25, - MIN_HASH_VALUE = 6, - MAX_HASH_VALUE = 40, - HASH_VALUE_RANGE = 35, - DUPLICATES = 3, - WORDLIST_SIZE = 31 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"lookup", &POA_CORBA::Container::lookup_skel, 0}, - {"destroy", &POA_CORBA::Container::destroy_skel, 0}, - {"lookup_name", &POA_CORBA::Container::lookup_name_skel, 0}, - {"create_value", &POA_CORBA::Container::create_value_skel, 0}, - {"create_module", &POA_CORBA::Container::create_module_skel, 0}, - {"create_native", &POA_CORBA::Container::create_native_skel, 0}, - {"create_interface", &POA_CORBA::Container::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::Container::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::Container::create_union_skel, 0}, - {"create_struct", &POA_CORBA::Container::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::Container::create_constant_skel, 0}, - {"create_exception", &POA_CORBA::Container::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::Container::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::Container::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::Container::create_abstract_interface_skel, 0}, - {"create_value_box", &POA_CORBA::Container::create_value_box_skel, 0}, - {"create_alias", &POA_CORBA::Container::create_alias_skel, 0}, - {"_interface", &POA_CORBA::Container::_interface_skel, 0}, - {"create_enum", &POA_CORBA::Container::create_enum_skel, 0}, - {"describe_contents", &POA_CORBA::Container::describe_contents_skel, 0}, - {"_get_def_kind", &POA_CORBA::Container::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::Container::_repository_id_skel, 0}, - {"_component", &POA_CORBA::Container::_component_skel, 0}, - {"_non_existent", &POA_CORBA::Container::_non_existent_skel, 0}, - {"_is_a", &POA_CORBA::Container::_is_a_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, -1, 6, 7, -1, -10, -2, 8, 9, -44, - -12, -2, -42, 14, 15, -1, 16, 17, 18, 19, -1, 20, 21, 22, - -1, -1, 23, 24, 25, 26, 27, 28, -1, -1, 29, -1, 30, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_Container_Perfect_Hash_OpTable tao_CORBA_Container_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_Container_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_Container_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_Container_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_Container_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_Container_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_Container_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_Container_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::Container::Container (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_Container_optable; -} - -POA_CORBA::Container::Container (const Container& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs) -{ -} - -POA_CORBA::Container::~Container (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class lookup_Container - : public TAO::Upcall_Command - { - public: - inline lookup_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Contained>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Contained> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::ScopedName>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ScopedName> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->lookup ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::lookup_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Contained>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ScopedName>::in_arg_val _tao_search_name; - - TAO::Argument * const args[] = - { - &retval, - &_tao_search_name - }; - - static size_t const nargs = 2; - - POA_CORBA::Container * const impl = - static_cast (servant); - - lookup_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class contents_Container - : public TAO::Upcall_Command - { - public: - inline contents_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ContainedSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ContainedSeq> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::DefinitionKind>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::DefinitionKind> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 2); - - retval = - this->servant_->contents ( - arg_1 - , arg_2 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::contents_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ContainedSeq>::ret_val retval; - TAO::SArg_Traits< ::CORBA::DefinitionKind>::in_arg_val _tao_limit_type; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_exclude_inherited; - - TAO::Argument * const args[] = - { - &retval, - &_tao_limit_type, - &_tao_exclude_inherited - }; - - static size_t const nargs = 3; - - POA_CORBA::Container * const impl = - static_cast (servant); - - contents_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class lookup_name_Container - : public TAO::Upcall_Command - { - public: - inline lookup_name_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ContainedSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ContainedSeq> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Long>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Long> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::DefinitionKind>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::DefinitionKind> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->lookup_name ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ContainedSeq>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_search_name; - TAO::SArg_Traits< ::CORBA::Long>::in_arg_val _tao_levels_to_search; - TAO::SArg_Traits< ::CORBA::DefinitionKind>::in_arg_val _tao_limit_type; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_exclude_inherited; - - TAO::Argument * const args[] = - { - &retval, - &_tao_search_name, - &_tao_levels_to_search, - &_tao_limit_type, - &_tao_exclude_inherited - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - lookup_name_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_contents_Container - : public TAO::Upcall_Command - { - public: - inline describe_contents_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Container::DescriptionSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Container::DescriptionSeq> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::DefinitionKind>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::DefinitionKind> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::Long>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::Long> ( - this->operation_details_, - this->args_, - 3); - - retval = - this->servant_->describe_contents ( - arg_1 - , arg_2 - , arg_3 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Container::DescriptionSeq>::ret_val retval; - TAO::SArg_Traits< ::CORBA::DefinitionKind>::in_arg_val _tao_limit_type; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_exclude_inherited; - TAO::SArg_Traits< ::CORBA::Long>::in_arg_val _tao_max_returned_objs; - - TAO::Argument * const args[] = - { - &retval, - &_tao_limit_type, - &_tao_exclude_inherited, - &_tao_max_returned_objs - }; - - static size_t const nargs = 4; - - POA_CORBA::Container * const impl = - static_cast (servant); - - describe_contents_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_module_Container - : public TAO::Upcall_Command - { - public: - inline create_module_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ModuleDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ModuleDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - retval = - this->servant_->create_module ( - arg_1 - , arg_2 - , arg_3 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_module_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ModuleDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version - }; - - static size_t const nargs = 4; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_module_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_constant_Container - : public TAO::Upcall_Command - { - public: - inline create_constant_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ConstantDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ConstantDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::Any>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::Any> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_constant ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_constant_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ConstantDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type; - TAO::SArg_Traits< ::CORBA::Any>::in_arg_val _tao_value; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_type, - &_tao_value - }; - - static size_t const nargs = 6; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_constant_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_struct_Container - : public TAO::Upcall_Command - { - public: - inline create_struct_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::StructDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::StructDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::StructMemberSeq> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_struct ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_struct_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::StructDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_members - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_struct_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_union_Container - : public TAO::Upcall_Command - { - public: - inline create_union_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::UnionDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::UnionDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::UnionMemberSeq>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::UnionMemberSeq> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_union ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_union_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::UnionDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_discriminator_type; - TAO::SArg_Traits< ::CORBA::UnionMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_discriminator_type, - &_tao_members - }; - - static size_t const nargs = 6; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_union_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_enum_Container - : public TAO::Upcall_Command - { - public: - inline create_enum_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::EnumDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::EnumDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::EnumMemberSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::EnumMemberSeq> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_enum ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_enum_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::EnumDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::EnumMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_members - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_enum_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_alias_Container - : public TAO::Upcall_Command - { - public: - inline create_alias_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::AliasDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::AliasDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_alias ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_alias_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::AliasDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_original_type; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_original_type - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_alias_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_interface_Container - : public TAO::Upcall_Command - { - public: - inline create_interface_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_interface ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_interface_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_base_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_base_interfaces - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_interface_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_value_Container - : public TAO::Upcall_Command - { - public: - inline create_value_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 7); - - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_type arg_8 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDefSeq> ( - this->operation_details_, - this->args_, - 8); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_9 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 9); - - TAO::SArg_Traits< ::CORBA::InitializerSeq>::in_arg_type arg_10 = - TAO::Portable_Server::get_in_arg< ::CORBA::InitializerSeq> ( - this->operation_details_, - this->args_, - 10); - - retval = - this->servant_->create_value ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - , arg_8 - , arg_9 - , arg_10 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_custom; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_abstract; - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_val _tao_base_value; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_truncatable; - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_val _tao_abstract_base_values; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces; - TAO::SArg_Traits< ::CORBA::InitializerSeq>::in_arg_val _tao_initializers; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_is_custom, - &_tao_is_abstract, - &_tao_base_value, - &_tao_is_truncatable, - &_tao_abstract_base_values, - &_tao_supported_interfaces, - &_tao_initializers - }; - - static size_t const nargs = 11; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_value_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_value_box_Container - : public TAO::Upcall_Command - { - public: - inline create_value_box_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueBoxDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueBoxDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_value_box ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueBoxDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_original_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_original_type_def - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_value_box_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_exception_Container - : public TAO::Upcall_Command - { - public: - inline create_exception_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExceptionDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExceptionDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::StructMemberSeq> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_exception ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_exception_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExceptionDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_members - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_exception_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_native_Container - : public TAO::Upcall_Command - { - public: - inline create_native_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::NativeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::NativeDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - retval = - this->servant_->create_native ( - arg_1 - , arg_2 - , arg_3 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_native_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::NativeDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version - }; - - static size_t const nargs = 4; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_native_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_abstract_interface_Container - : public TAO::Upcall_Command - { - public: - inline create_abstract_interface_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::AbstractInterfaceDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::AbstractInterfaceDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::AbstractInterfaceDefSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::AbstractInterfaceDefSeq> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_abstract_interface ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::AbstractInterfaceDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::AbstractInterfaceDefSeq>::in_arg_val _tao_base_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_base_interfaces - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_abstract_interface_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_local_interface_Container - : public TAO::Upcall_Command - { - public: - inline create_local_interface_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::LocalInterfaceDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::LocalInterfaceDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_local_interface ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::LocalInterfaceDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_base_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_base_interfaces - }; - - static size_t const nargs = 5; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_local_interface_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_ext_value_Container - : public TAO::Upcall_Command - { - public: - inline create_ext_value_Container ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtValueDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExtValueDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 7); - - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_type arg_8 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDefSeq> ( - this->operation_details_, - this->args_, - 8); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_9 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 9); - - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::in_arg_type arg_10 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExtInitializerSeq> ( - this->operation_details_, - this->args_, - 10); - - retval = - this->servant_->create_ext_value ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - , arg_8 - , arg_9 - , arg_10 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Container::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExtValueDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_custom; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_abstract; - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_val _tao_base_value; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_truncatable; - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_val _tao_abstract_base_values; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces; - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::in_arg_val _tao_initializers; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_is_custom, - &_tao_is_abstract, - &_tao_base_value, - &_tao_is_truncatable, - &_tao_abstract_base_values, - &_tao_supported_interfaces, - &_tao_initializers - }; - - static size_t const nargs = 11; - - POA_CORBA::Container * const impl = - static_cast (servant); - - create_ext_value_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_Container_Upcall_Command ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Container::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::Container * const impl = - static_cast (servant); - - _is_a_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_Container_Upcall_Command ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Container::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Container * const impl = - static_cast (servant); - - _non_existent_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_Container_Upcall_Command ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Container::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Container * const impl = - static_cast (servant); - - _repository_id_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::Container::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::Container * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_Container_Upcall_Command ( - POA_CORBA::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Container::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Container * const impl = - static_cast (servant); - - _get_component_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::Container::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::Container::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/Container:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::Container::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::Container * -POA_CORBA::Container::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::Container STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_Container_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_IDLType_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_IDLType_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_IDLType_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, - 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 5, 19, 19, 19, 19, 0, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, -#else - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 0, 19, 0, 19, 19, - 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, - 19, 0, 19, 19, 19, 19, 19, 19, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_IDLType_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 8, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 18, - HASH_VALUE_RANGE = 14, - DUPLICATES = 0, - WORDLIST_SIZE = 13 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::IDLType::_is_a_skel, 0}, - {"",0,0}, - {"destroy", &POA_CORBA::IDLType::destroy_skel, 0}, - {"",0,0}, - {"_get_type", &POA_CORBA::IDLType::_get_type_skel, 0}, - {"_interface", &POA_CORBA::IDLType::_interface_skel, 0}, - {"",0,0},{"",0,0}, - {"_get_def_kind", &POA_CORBA::IDLType::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::IDLType::_repository_id_skel, 0}, - {"_component", &POA_CORBA::IDLType::_component_skel, 0}, - {"",0,0},{"",0,0}, - {"_non_existent", &POA_CORBA::IDLType::_non_existent_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - const char *s = wordlist[key].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[key]; - } - } - return 0; -} - -static TAO_CORBA_IDLType_Perfect_Hash_OpTable tao_CORBA_IDLType_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_IDLType_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_IDLType_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_IDLType_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_IDLType_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_IDLType_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_IDLType_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_IDLType_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::IDLType::IDLType (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_IDLType_optable; -} - -POA_CORBA::IDLType::IDLType (const IDLType& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs) -{ -} - -POA_CORBA::IDLType::~IDLType (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_IDLType - : public TAO::Upcall_Command - { - public: - inline _get_type_IDLType ( - POA_CORBA::IDLType * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IDLType * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::IDLType::_get_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IDLType * const impl = - static_cast (servant); - - _get_type_IDLType command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_IDLType_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_IDLType_Upcall_Command ( - POA_CORBA::IDLType * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IDLType * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IDLType::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::IDLType * const impl = - static_cast (servant); - - _is_a_IDLType_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_IDLType_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_IDLType_Upcall_Command ( - POA_CORBA::IDLType * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IDLType * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IDLType::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IDLType * const impl = - static_cast (servant); - - _non_existent_IDLType_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_IDLType_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_IDLType_Upcall_Command ( - POA_CORBA::IDLType * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IDLType * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IDLType::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IDLType * const impl = - static_cast (servant); - - _repository_id_IDLType_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::IDLType::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::IDLType * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_IDLType_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_IDLType_Upcall_Command ( - POA_CORBA::IDLType * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::IDLType * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::IDLType::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::IDLType * const impl = - static_cast (servant); - - _get_component_IDLType_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::IDLType::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::IDLType::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/IDLType:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::IDLType::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::IDLType * -POA_CORBA::IDLType::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::IDLType STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_IDLType_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_TypedefDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_TypedefDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_TypedefDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_TypedefDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 19, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 5, - WORDLIST_SIZE = 23 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::TypedefDef::move_skel, 0}, - {"_is_a", &POA_CORBA::TypedefDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::TypedefDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::TypedefDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::TypedefDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::TypedefDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::TypedefDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::TypedefDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::TypedefDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::TypedefDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::TypedefDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::TypedefDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::TypedefDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::TypedefDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::TypedefDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::TypedefDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::TypedefDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::TypedefDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::TypedefDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -9, -3, -13, -2, 4, 5, -1, 50, 8, -45, 12, -1, -46, 15, - 16, 17, -1, 18, 19, -1, 20, -6, -2, 21, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_TypedefDef_Perfect_Hash_OpTable tao_CORBA_TypedefDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_TypedefDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_TypedefDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_TypedefDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_TypedefDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_TypedefDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_TypedefDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_TypedefDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::TypedefDef::TypedefDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_TypedefDef_optable; -} - -POA_CORBA::TypedefDef::TypedefDef (const TypedefDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::TypedefDef::~TypedefDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_TypedefDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_TypedefDef_Upcall_Command ( - POA_CORBA::TypedefDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::TypedefDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::TypedefDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::TypedefDef * const impl = - static_cast (servant); - - _is_a_TypedefDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_TypedefDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_TypedefDef_Upcall_Command ( - POA_CORBA::TypedefDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::TypedefDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::TypedefDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::TypedefDef * const impl = - static_cast (servant); - - _non_existent_TypedefDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_TypedefDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_TypedefDef_Upcall_Command ( - POA_CORBA::TypedefDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::TypedefDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::TypedefDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::TypedefDef * const impl = - static_cast (servant); - - _repository_id_TypedefDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::TypedefDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::TypedefDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_TypedefDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_TypedefDef_Upcall_Command ( - POA_CORBA::TypedefDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::TypedefDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::TypedefDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::TypedefDef * const impl = - static_cast (servant); - - _get_component_TypedefDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::TypedefDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::TypedefDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/TypedefDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::TypedefDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::TypedefDef * -POA_CORBA::TypedefDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::TypedefDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_TypedefDef_Proxy_Broker_Factory_function_pointer - ); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - - -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.h deleted file mode 100644 index 21a0ef54637..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.h +++ /dev/null @@ -1,1261 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:409 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_H_ - -#include /**/ "ace/pre.h" - -#include "tao/IFR_Client/IFR_BaseC.h" -#include "tao/orb_typesS.h" -#include "tao/Typecode_typesS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Collocation_Proxy_Broker.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:49 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class IRObject; - typedef IRObject *IRObject_ptr; - - class IRObject - : public virtual PortableServer::ServantBase - { - protected: - IRObject (void); - - public: - // Useful for template programming. - typedef ::CORBA::IRObject _stub_type; - typedef ::CORBA::IRObject_ptr _stub_ptr_type; - typedef ::CORBA::IRObject_var _stub_var_type; - - IRObject (const IRObject& rhs); - virtual ~IRObject (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::IRObject *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class Contained; - typedef Contained *Contained_ptr; - - class Contained - : public virtual POA_CORBA::IRObject - { - protected: - Contained (void); - - public: - // Useful for template programming. - typedef ::CORBA::Contained _stub_type; - typedef ::CORBA::Contained_ptr _stub_ptr_type; - typedef ::CORBA::Contained_var _stub_var_type; - - Contained (const Contained& rhs); - virtual ~Contained (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::Contained *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class Container; - typedef Container *Container_ptr; - - class Container - : public virtual POA_CORBA::IRObject - { - protected: - Container (void); - - public: - // Useful for template programming. - typedef ::CORBA::Container _stub_type; - typedef ::CORBA::Container_ptr _stub_ptr_type; - typedef ::CORBA::Container_var _stub_var_type; - - Container (const Container& rhs); - virtual ~Container (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::Container *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class IDLType; - typedef IDLType *IDLType_ptr; - - class IDLType - : public virtual POA_CORBA::IRObject - { - protected: - IDLType (void); - - public: - // Useful for template programming. - typedef ::CORBA::IDLType _stub_type; - typedef ::CORBA::IDLType_ptr _stub_ptr_type; - typedef ::CORBA::IDLType_var _stub_var_type; - - IDLType (const IDLType& rhs); - virtual ~IDLType (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::IDLType *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class TypedefDef; - typedef TypedefDef *TypedefDef_ptr; - - class TypedefDef - : public virtual POA_CORBA::Contained, - public virtual POA_CORBA::IDLType - { - protected: - TypedefDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::TypedefDef _stub_type; - typedef ::CORBA::TypedefDef_ptr _stub_ptr_type; - typedef ::CORBA::TypedefDef_var _stub_var_type; - - TypedefDef (const TypedefDef& rhs); - virtual ~TypedefDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::TypedefDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:80 - -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1219 - - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "IFR_BaseS_T.h" - -#if defined (__ACE_INLINE__) -#include "IFR_BaseS.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl deleted file mode 100644 index b1c86bdf5b9..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl +++ /dev/null @@ -1,414 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -ACE_INLINE -void -POA_CORBA::Contained::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Contained::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::Container::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Container::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::IDLType::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::IDLType::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::TypedefDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::TypedefDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::TypedefDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::TypedefDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.cpp deleted file mode 100644 index eb850447fe4..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:683 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_T_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_T_CPP_ - -#include "IFR_BaseS_T.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_BaseS_T.inl" -#endif /* !defined INLINE */ - - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#endif /* ifndef */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h deleted file mode 100644 index cf226a5d3c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h +++ /dev/null @@ -1,927 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:545 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_T_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASES_T_H_ - -#include /**/ "ace/pre.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_root/root_sth.cpp:116 - -namespace POA_CORBA -{ - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class IRObject_tie : public IRObject - { - public: - /// the T& ctor - IRObject_tie (T &t); - /// ctor taking a POA - IRObject_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - IRObject_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - IRObject_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~IRObject_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - IRObject_tie (const IRObject_tie &); - void operator= (const IRObject_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class Contained_tie : public Contained - { - public: - /// the T& ctor - Contained_tie (T &t); - /// ctor taking a POA - Contained_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - Contained_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - Contained_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~Contained_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - Contained_tie (const Contained_tie &); - void operator= (const Contained_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class Container_tie : public Container - { - public: - /// the T& ctor - Container_tie (T &t); - /// ctor taking a POA - Container_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - Container_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - Container_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~Container_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - Container_tie (const Container_tie &); - void operator= (const Container_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class IDLType_tie : public IDLType - { - public: - /// the T& ctor - IDLType_tie (T &t); - /// ctor taking a POA - IDLType_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - IDLType_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - IDLType_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~IDLType_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - IDLType_tie (const IDLType_tie &); - void operator= (const IDLType_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class TypedefDef_tie : public TypedefDef - { - public: - /// the T& ctor - TypedefDef_tie (T &t); - /// ctor taking a POA - TypedefDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - TypedefDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - TypedefDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~TypedefDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - TypedefDef_tie (const TypedefDef_tie &); - void operator= (const TypedefDef_tie &); - }; -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1322 - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "IFR_BaseS_T.inl" -#endif /* defined INLINE */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "IFR_BaseS_T.cpp" -#endif /* defined REQUIRED SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("IFR_BaseS_T.cpp") -#endif /* defined REQUIRED PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl deleted file mode 100644 index 9a0772db14d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl +++ /dev/null @@ -1,1512 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::IRObject_tie::IRObject_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::IRObject_tie::IRObject_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::IRObject_tie::IRObject_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::IRObject_tie::IRObject_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::IRObject_tie::~IRObject_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::IRObject_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::IRObject_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::IRObject_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::IRObject_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::IRObject_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::IRObject_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->IRObject::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::IRObject_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::IRObject_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::Contained_tie::Contained_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::Contained_tie::Contained_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::Contained_tie::Contained_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::Contained_tie::Contained_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::Contained_tie::~Contained_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::Contained_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::Contained_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::Contained_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::Contained_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::Contained_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::Contained_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->Contained::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::Contained_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Contained_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::Contained_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Contained_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::Contained_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Contained_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::Contained_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Contained_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::Contained_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::Contained_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::Contained_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::Contained_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Contained_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::Container_tie::Container_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::Container_tie::Container_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::Container_tie::Container_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::Container_tie::Container_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::Container_tie::~Container_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::Container_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::Container_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::Container_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::Container_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::Container_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::Container_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->Container::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::Container_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Container_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::Container_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::Container_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::Container_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::Container_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::Container_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::Container_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::Container_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::Container_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::Container_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::Container_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::Container_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::Container_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::Container_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::Container_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::Container_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::Container_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::Container_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::Container_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::IDLType_tie::IDLType_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::IDLType_tie::IDLType_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::IDLType_tie::IDLType_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::IDLType_tie::IDLType_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::IDLType_tie::~IDLType_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::IDLType_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::IDLType_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::IDLType_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::IDLType_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::IDLType_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::IDLType_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->IDLType::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::IDLType_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::IDLType_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::IDLType_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::TypedefDef_tie::TypedefDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::TypedefDef_tie::TypedefDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::TypedefDef_tie::TypedefDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::TypedefDef_tie::TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::TypedefDef_tie::~TypedefDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::TypedefDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::TypedefDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::TypedefDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::TypedefDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::TypedefDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::TypedefDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->TypedefDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::TypedefDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::TypedefDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::TypedefDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::TypedefDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::TypedefDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::TypedefDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::TypedefDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::TypedefDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::TypedefDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::TypedefDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::TypedefDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::TypedefDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::TypedefDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::TypedefDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp deleted file mode 100644 index 119645a9727..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp +++ /dev/null @@ -1,23928 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -// TAO_IDL - Generated from -// be\be_codegen.cpp:603 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_CPP_ - - -#include "IFR_BasicS.h" -#include "tao/PortableServer/Operation_Table_Perfect_Hash.h" -#include "tao/PortableServer/Upcall_Command.h" -#include "tao/PortableServer/Upcall_Wrapper.h" -#include "tao/TAO_Server_Request.h" -#include "tao/ORB_Core.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/IFR_Client_Adapter.h" -#include "tao/Object_T.h" -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/AnyTypeCode/DynamicC.h" -#include "tao/CDR.h" -#include "tao/operation_details.h" -#include "tao/PortableInterceptor.h" -#include "tao/PortableServer/Basic_SArguments.h" -#include "tao/PortableServer/Object_SArgument_T.h" -#include "tao/PortableServer/Special_Basic_SArguments.h" -#include "tao/PortableServer/UB_String_SArguments.h" -#include "tao/PortableServer/Var_Size_SArgument_T.h" -#include "tao/PortableServer/Any_SArg_Traits.h" -#include "tao/PortableServer/TypeCode_SArg_Traits.h" -#include "tao/PortableServer/Object_SArg_Traits.h" -#include "tao/PortableServer/get_arg.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Basic_Arguments.h" -#include "tao/Object_Argument_T.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Var_Size_Argument_T.h" -#include "tao/AnyTypeCode/Any_Arg_Traits.h" -#include "ace/Dynamic_Service.h" -#include "ace/Malloc_Allocator.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_BasicS.inl" -#endif /* !defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__SARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINED__SARG_TRAITS_) -#define _CORBA_CONTAINED__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Contained_ptr, - CORBA::Contained_var, - CORBA::Contained_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__SARG_TRAITS_) -#define _CORBA_REPOSITORY__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__SARG_TRAITS_) -#define _CORBA_CONTAINER__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__SARG_TRAITS_) -#define _CORBA_IDLTYPE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__SARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_STRUCTMEMBERSEQ__SARG_TRAITS_) -#define _CORBA_STRUCTMEMBERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::StructMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCDESCRIPTIONSEQ__SARG_TRAITS_) -#define _CORBA_EXCDESCRIPTIONSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExcDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_UNIONMEMBERSEQ__SARG_TRAITS_) -#define _CORBA_UNIONMEMBERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::UnionMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_ENUMMEMBERSEQ__SARG_TRAITS_) -#define _CORBA_ENUMMEMBERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::EnumMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_PRIMITIVEDEF__SARG_TRAITS_) -#define _CORBA_PRIMITIVEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::PrimitiveDef_ptr, - CORBA::PrimitiveDef_var, - CORBA::PrimitiveDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_STRINGDEF__SARG_TRAITS_) -#define _CORBA_STRINGDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::StringDef_ptr, - CORBA::StringDef_var, - CORBA::StringDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_SEQUENCEDEF__SARG_TRAITS_) -#define _CORBA_SEQUENCEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::SequenceDef_ptr, - CORBA::SequenceDef_var, - CORBA::SequenceDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ARRAYDEF__SARG_TRAITS_) -#define _CORBA_ARRAYDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ArrayDef_ptr, - CORBA::ArrayDef_var, - CORBA::ArrayDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_WSTRINGDEF__SARG_TRAITS_) -#define _CORBA_WSTRINGDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::WstringDef_ptr, - CORBA::WstringDef_var, - CORBA::WstringDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_FIXEDDEF__SARG_TRAITS_) -#define _CORBA_FIXEDDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::FixedDef_ptr, - CORBA::FixedDef_var, - CORBA::FixedDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_PRIMITIVEKIND__SARG_TRAITS_) -#define _CORBA_PRIMITIVEKIND__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::PrimitiveKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCEPTIONDEFSEQ__SARG_TRAITS_) -#define _CORBA_EXCEPTIONDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExceptionDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_ATTRIBUTEMODE__SARG_TRAITS_) -#define _CORBA_ATTRIBUTEMODE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::AttributeMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ATTRIBUTEDEF__SARG_TRAITS_) -#define _CORBA_ATTRIBUTEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::AttributeDef_ptr, - CORBA::AttributeDef_var, - CORBA::AttributeDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_EXTATTRIBUTEDESCRIPTION__SARG_TRAITS_) -#define _CORBA_EXTATTRIBUTEDESCRIPTION__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExtAttributeDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXTATTRIBUTEDEF__SARG_TRAITS_) -#define _CORBA_EXTATTRIBUTEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ExtAttributeDef_ptr, - CORBA::ExtAttributeDef_var, - CORBA::ExtAttributeDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_OPERATIONMODE__SARG_TRAITS_) -#define _CORBA_OPERATIONMODE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::OperationMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_PARDESCRIPTIONSEQ__SARG_TRAITS_) -#define _CORBA_PARDESCRIPTIONSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ParDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTEXTIDSEQ__SARG_TRAITS_) -#define _CORBA_CONTEXTIDSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ContextIdSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_OPERATIONDEF__SARG_TRAITS_) -#define _CORBA_OPERATIONDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::OperationDef_ptr, - CORBA::OperationDef_var, - CORBA::OperationDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_INTERFACEDEF_FULLINTERFACEDESCRIPTION__SARG_TRAITS_) -#define _CORBA_INTERFACEDEF_FULLINTERFACEDESCRIPTION__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InterfaceDef::FullInterfaceDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_INTERFACEATTREXTENSION_EXTFULLINTERFACEDESCRIPTION__SARG_TRAITS_) -#define _CORBA_INTERFACEATTREXTENSION_EXTFULLINTERFACEDESCRIPTION__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINED__ARG_TRAITS_) -#define _CORBA_CONTAINED__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Contained_ptr, - CORBA::Contained_var, - CORBA::Contained_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__ARG_TRAITS_) -#define _CORBA_REPOSITORY__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__ARG_TRAITS_) -#define _CORBA_CONTAINER__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_) -#define _CORBA_IDLTYPE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_) -#define _CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::StructMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCDESCRIPTIONSEQ__ARG_TRAITS_) -#define _CORBA_EXCDESCRIPTIONSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExcDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_UNIONMEMBERSEQ__ARG_TRAITS_) -#define _CORBA_UNIONMEMBERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::UnionMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_ENUMMEMBERSEQ__ARG_TRAITS_) -#define _CORBA_ENUMMEMBERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::EnumMemberSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_PRIMITIVEDEF__ARG_TRAITS_) -#define _CORBA_PRIMITIVEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::PrimitiveDef_ptr, - CORBA::PrimitiveDef_var, - CORBA::PrimitiveDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_STRINGDEF__ARG_TRAITS_) -#define _CORBA_STRINGDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::StringDef_ptr, - CORBA::StringDef_var, - CORBA::StringDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_SEQUENCEDEF__ARG_TRAITS_) -#define _CORBA_SEQUENCEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::SequenceDef_ptr, - CORBA::SequenceDef_var, - CORBA::SequenceDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ARRAYDEF__ARG_TRAITS_) -#define _CORBA_ARRAYDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ArrayDef_ptr, - CORBA::ArrayDef_var, - CORBA::ArrayDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_WSTRINGDEF__ARG_TRAITS_) -#define _CORBA_WSTRINGDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::WstringDef_ptr, - CORBA::WstringDef_var, - CORBA::WstringDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_FIXEDDEF__ARG_TRAITS_) -#define _CORBA_FIXEDDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::FixedDef_ptr, - CORBA::FixedDef_var, - CORBA::FixedDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_) -#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::PrimitiveKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_) -#define _CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExceptionDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_) -#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::AttributeMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ATTRIBUTEDEF__ARG_TRAITS_) -#define _CORBA_ATTRIBUTEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::AttributeDef_ptr, - CORBA::AttributeDef_var, - CORBA::AttributeDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_EXTATTRIBUTEDESCRIPTION__ARG_TRAITS_) -#define _CORBA_EXTATTRIBUTEDESCRIPTION__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExtAttributeDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_) -#define _CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ExtAttributeDef_ptr, - CORBA::ExtAttributeDef_var, - CORBA::ExtAttributeDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_) -#define _CORBA_OPERATIONMODE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::OperationMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_) -#define _CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ParDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTEXTIDSEQ__ARG_TRAITS_) -#define _CORBA_CONTEXTIDSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ContextIdSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_OPERATIONDEF__ARG_TRAITS_) -#define _CORBA_OPERATIONDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::OperationDef_ptr, - CORBA::OperationDef_var, - CORBA::OperationDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_INTERFACEDEF_FULLINTERFACEDESCRIPTION__ARG_TRAITS_) -#define _CORBA_INTERFACEDEF_FULLINTERFACEDESCRIPTION__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InterfaceDef::FullInterfaceDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_INTERFACEATTREXTENSION_EXTFULLINTERFACEDESCRIPTION__ARG_TRAITS_) -#define _CORBA_INTERFACEATTREXTENSION_EXTFULLINTERFACEDESCRIPTION__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_Repository_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_Repository_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_Repository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 27, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 25, - 58, 0, 4, 10, 58, 20, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 8, 25, 15, - 58, 0, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 30, 0, 58, 58, 58, 25, 0, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, -#else - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 27, 58, 25, 58, 0, - 4, 10, 58, 20, 58, 58, 58, 58, 8, 25, - 15, 58, 0, 58, 58, 30, 0, 58, 58, 58, - 25, 0, 58, 58, 58, 58, 58, 58, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_Repository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 33, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 25, - MIN_HASH_VALUE = 11, - MAX_HASH_VALUE = 57, - HASH_VALUE_RANGE = 47, - DUPLICATES = 3, - WORDLIST_SIZE = 44 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"",0,0},{"",0,0}, - {"destroy", &POA_CORBA::Repository::destroy_skel, 0}, - {"create_array", &POA_CORBA::Repository::create_array_skel, 0}, - {"create_struct", &POA_CORBA::Repository::create_struct_skel, 0}, - {"lookup", &POA_CORBA::Repository::lookup_skel, 0}, - {"create_constant", &POA_CORBA::Repository::create_constant_skel, 0}, - {"create_fixed", &POA_CORBA::Repository::create_fixed_skel, 0}, - {"lookup_id", &POA_CORBA::Repository::lookup_id_skel, 0}, - {"create_value", &POA_CORBA::Repository::create_value_skel, 0}, - {"create_module", &POA_CORBA::Repository::create_module_skel, 0}, - {"create_native", &POA_CORBA::Repository::create_native_skel, 0}, - {"create_sequence", &POA_CORBA::Repository::create_sequence_skel, 0}, - {"create_interface", &POA_CORBA::Repository::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::Repository::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::Repository::create_union_skel, 0}, - {"lookup_name", &POA_CORBA::Repository::lookup_name_skel, 0}, - {"create_exception", &POA_CORBA::Repository::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::Repository::create_local_interface_skel, 0}, - {"create_string", &POA_CORBA::Repository::create_string_skel, 0}, - {"create_wstring", &POA_CORBA::Repository::create_wstring_skel, 0}, - {"create_abstract_interface", &POA_CORBA::Repository::create_abstract_interface_skel, 0}, - {"create_enum", &POA_CORBA::Repository::create_enum_skel, 0}, - {"_component", &POA_CORBA::Repository::_component_skel, 0}, - {"contents", &POA_CORBA::Repository::contents_skel, 0}, - {"_non_existent", &POA_CORBA::Repository::_non_existent_skel, 0}, - {"create_value_box", &POA_CORBA::Repository::create_value_box_skel, 0}, - {"create_alias", &POA_CORBA::Repository::create_alias_skel, 0}, - {"get_primitive", &POA_CORBA::Repository::get_primitive_skel, 0}, - {"_get_def_kind", &POA_CORBA::Repository::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::Repository::_repository_id_skel, 0}, - {"_interface", &POA_CORBA::Repository::_interface_skel, 0}, - {"describe_contents", &POA_CORBA::Repository::describe_contents_skel, 0}, - {"get_canonical_typecode", &POA_CORBA::Repository::get_canonical_typecode_skel, 0}, - {"_is_a", &POA_CORBA::Repository::_is_a_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, - 14, 15, 16, -19, -2, -22, -2, 17, 18, -63, -1, 21, -64, 24, - -1, 25, -1, 26, 27, 28, 29, 30, 31, 32, 33, -1, 34, 35, - 36, 37, 38, 39, -1, 40, -1, -1, -1, 41, 42, -1, -1, -1, - -1, 43, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_Repository_Perfect_Hash_OpTable tao_CORBA_Repository_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_Repository_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_Repository_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_Repository_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_Repository_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_Repository_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_Repository_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_Repository_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::Repository::Repository (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_Repository_optable; -} - -POA_CORBA::Repository::Repository (const Repository& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs) -{ -} - -POA_CORBA::Repository::~Repository (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class lookup_id_Repository - : public TAO::Upcall_Command - { - public: - inline lookup_id_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Contained>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Contained> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->lookup_id ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::lookup_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Contained>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_search_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_search_id - }; - - static size_t const nargs = 2; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - lookup_id_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class get_canonical_typecode_Repository - : public TAO::Upcall_Command - { - public: - inline get_canonical_typecode_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::TypeCode>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->get_canonical_typecode ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::get_canonical_typecode_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - TAO::SArg_Traits< ::CORBA::TypeCode>::in_arg_val _tao_tc; - - TAO::Argument * const args[] = - { - &retval, - &_tao_tc - }; - - static size_t const nargs = 2; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - get_canonical_typecode_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class get_primitive_Repository - : public TAO::Upcall_Command - { - public: - inline get_primitive_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::PrimitiveDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::PrimitiveDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::PrimitiveKind>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::PrimitiveKind> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->get_primitive ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::get_primitive_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::PrimitiveDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::PrimitiveKind>::in_arg_val _tao_kind; - - TAO::Argument * const args[] = - { - &retval, - &_tao_kind - }; - - static size_t const nargs = 2; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - get_primitive_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_string_Repository - : public TAO::Upcall_Command - { - public: - inline create_string_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::StringDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::StringDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->create_string ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::create_string_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::StringDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_bound; - - TAO::Argument * const args[] = - { - &retval, - &_tao_bound - }; - - static size_t const nargs = 2; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - create_string_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_wstring_Repository - : public TAO::Upcall_Command - { - public: - inline create_wstring_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::WstringDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::WstringDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->create_wstring ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::create_wstring_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::WstringDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_bound; - - TAO::Argument * const args[] = - { - &retval, - &_tao_bound - }; - - static size_t const nargs = 2; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - create_wstring_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_sequence_Repository - : public TAO::Upcall_Command - { - public: - inline create_sequence_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::SequenceDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::SequenceDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 2); - - retval = - this->servant_->create_sequence ( - arg_1 - , arg_2 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::create_sequence_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::SequenceDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_bound; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_element_type; - - TAO::Argument * const args[] = - { - &retval, - &_tao_bound, - &_tao_element_type - }; - - static size_t const nargs = 3; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - create_sequence_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_array_Repository - : public TAO::Upcall_Command - { - public: - inline create_array_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ArrayDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ArrayDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 2); - - retval = - this->servant_->create_array ( - arg_1 - , arg_2 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::create_array_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ArrayDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_length; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_element_type; - - TAO::Argument * const args[] = - { - &retval, - &_tao_length, - &_tao_element_type - }; - - static size_t const nargs = 3; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - create_array_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_fixed_Repository - : public TAO::Upcall_Command - { - public: - inline create_fixed_Repository ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::FixedDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::FixedDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::UShort>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::UShort> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Short> ( - this->operation_details_, - this->args_, - 2); - - retval = - this->servant_->create_fixed ( - arg_1 - , arg_2 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::Repository::create_fixed_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::FixedDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::UShort>::in_arg_val _tao_digits; - TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_scale; - - TAO::Argument * const args[] = - { - &retval, - &_tao_digits, - &_tao_scale - }; - - static size_t const nargs = 3; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - create_fixed_Repository command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_Repository_Upcall_Command ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Repository::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - _is_a_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_Repository_Upcall_Command ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Repository::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - _non_existent_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_Repository_Upcall_Command ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Repository::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - _repository_id_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::Repository::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::Repository * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_Repository_Upcall_Command ( - POA_CORBA::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::Repository::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::Repository * const impl = - static_cast (servant); - - _get_component_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::Repository::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Repository:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::Repository::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/Repository:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::Repository::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::Repository * -POA_CORBA::Repository::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::Repository STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_Repository_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ModuleDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ModuleDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ModuleDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 20, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 10, - 64, 0, 20, 0, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 20, 0, 5, - 64, 10, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 15, 30, 64, 64, 64, 10, 5, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, -#else - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 20, 64, 10, 64, 0, - 20, 0, 64, 64, 64, 64, 64, 64, 20, 0, - 5, 64, 10, 64, 64, 15, 30, 64, 64, 64, - 10, 5, 64, 64, 64, 64, 64, 64, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ModuleDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 36, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 63, - HASH_VALUE_RANGE = 60, - DUPLICATES = 6, - WORDLIST_SIZE = 40 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ModuleDef::move_skel, 0}, - {"create_enum", &POA_CORBA::ModuleDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::ModuleDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ModuleDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ModuleDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ModuleDef::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::ModuleDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ModuleDef::create_union_skel, 0}, - {"create_exception", &POA_CORBA::ModuleDef::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::ModuleDef::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::ModuleDef::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ModuleDef::create_abstract_interface_skel, 0}, - {"create_value_box", &POA_CORBA::ModuleDef::create_value_box_skel, 0}, - {"create_alias", &POA_CORBA::ModuleDef::create_alias_skel, 0}, - {"describe", &POA_CORBA::ModuleDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ModuleDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ModuleDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ModuleDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ModuleDef::lookup_name_skel, 0}, - {"destroy", &POA_CORBA::ModuleDef::destroy_skel, 0}, - {"_is_a", &POA_CORBA::ModuleDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ModuleDef::lookup_skel, 0}, - {"_get_version", &POA_CORBA::ModuleDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ModuleDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ModuleDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ModuleDef::_get_defined_in_skel, 0}, - {"create_struct", &POA_CORBA::ModuleDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ModuleDef::create_constant_skel, 0}, - {"_get_id", &POA_CORBA::ModuleDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ModuleDef::_set_id_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ModuleDef::_get_containing_repository_skel, 0}, - {"describe_contents", &POA_CORBA::ModuleDef::describe_contents_skel, 0}, - {"_get_def_kind", &POA_CORBA::ModuleDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ModuleDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::ModuleDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ModuleDef::_non_existent_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, -1, -1, -1, -1, -7, -2, 5, 6, -67, - -9, -2, -65, 11, -1, -19, -2, 12, 13, 14, -1, 15, 16, 17, - 18, -73, 21, 22, 23, -26, -2, 24, 25, -67, 28, -1, 29, -32, - -2, 30, -1, 31, -1, -69, -1, -1, -1, 34, 35, 36, 37, -1, - -1, -1, -1, -1, 38, -1, -1, 39, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ModuleDef_Perfect_Hash_OpTable tao_CORBA_ModuleDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ModuleDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ModuleDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ModuleDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ModuleDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ModuleDef::ModuleDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ModuleDef_optable; -} - -POA_CORBA::ModuleDef::ModuleDef (const ModuleDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::ModuleDef::~ModuleDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ModuleDef_Upcall_Command ( - POA_CORBA::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ModuleDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ModuleDef * const impl = - static_cast (servant); - - _is_a_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ModuleDef_Upcall_Command ( - POA_CORBA::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ModuleDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ModuleDef * const impl = - static_cast (servant); - - _non_existent_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ModuleDef_Upcall_Command ( - POA_CORBA::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ModuleDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ModuleDef * const impl = - static_cast (servant); - - _repository_id_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ModuleDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ModuleDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ModuleDef_Upcall_Command ( - POA_CORBA::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ModuleDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ModuleDef * const impl = - static_cast (servant); - - _get_component_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ModuleDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ModuleDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ModuleDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ModuleDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ModuleDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ModuleDef * -POA_CORBA::ModuleDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ModuleDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ConstantDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ConstantDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ConstantDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 15, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 15, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ConstantDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 23, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 8, - WORDLIST_SIZE = 27 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ConstantDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ConstantDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ConstantDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ConstantDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ConstantDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ConstantDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ConstantDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ConstantDef::_set_name_skel, 0}, - {"_get_value", &POA_CORBA::ConstantDef::_get_value_skel, 0}, - {"_interface", &POA_CORBA::ConstantDef::_interface_skel, 0}, - {"_set_value", &POA_CORBA::ConstantDef::_set_value_skel, 0}, - {"_get_version", &POA_CORBA::ConstantDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ConstantDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ConstantDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ConstantDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ConstantDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ConstantDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ConstantDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::ConstantDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ConstantDef::_non_existent_skel, 0}, - {"_get_type_def", &POA_CORBA::ConstantDef::_get_type_def_skel, 0}, - {"_set_type_def", &POA_CORBA::ConstantDef::_set_type_def_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ConstantDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -12, -3, -15, -2, 4, 5, -1, 53, 8, 48, -46, -1, -46, 17, - 18, 19, -1, 20, 21, -1, 22, -9, -3, 23, -6, -2, -24, -2, - -38, -1, -1, -1, -1, -1, -1, -1, 26, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ConstantDef_Perfect_Hash_OpTable tao_CORBA_ConstantDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ConstantDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ConstantDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ConstantDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ConstantDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ConstantDef::ConstantDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ConstantDef_optable; -} - -POA_CORBA::ConstantDef::ConstantDef (const ConstantDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::ConstantDef::~ConstantDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_ConstantDef - : public TAO::Upcall_Command - { - public: - inline _get_type_ConstantDef ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ConstantDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _get_type_ConstantDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_def_ConstantDef - : public TAO::Upcall_Command - { - public: - inline _get_type_def_ConstantDef ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ConstantDef::_get_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _get_type_def_ConstantDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_type_def_ConstantDef - : public TAO::Upcall_Command - { - public: - inline _set_type_def_ConstantDef ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ConstantDef::_set_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _set_type_def_ConstantDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_value_ConstantDef - : public TAO::Upcall_Command - { - public: - inline _get_value_ConstantDef ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Any>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Any> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->value ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ConstantDef::_get_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Any>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _get_value_ConstantDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_value_ConstantDef - : public TAO::Upcall_Command - { - public: - inline _set_value_ConstantDef ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Any>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Any> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->value ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ConstantDef::_set_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Any>::in_arg_val _tao_value; - - TAO::Argument * const args[] = - { - &retval, - &_tao_value - }; - - static size_t const nargs = 2; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _set_value_ConstantDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ConstantDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ConstantDef_Upcall_Command ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ConstantDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _is_a_ConstantDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ConstantDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ConstantDef_Upcall_Command ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ConstantDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _non_existent_ConstantDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ConstantDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ConstantDef_Upcall_Command ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ConstantDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _repository_id_ConstantDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ConstantDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ConstantDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ConstantDef_Upcall_Command ( - POA_CORBA::ConstantDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ConstantDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ConstantDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ConstantDef * const impl = - static_cast (servant); - - _get_component_ConstantDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ConstantDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ConstantDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ConstantDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ConstantDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ConstantDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ConstantDef * -POA_CORBA::ConstantDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ConstantDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ConstantDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_StructDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_StructDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_StructDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, - 61, 25, 8, 0, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 0, 15, 5, - 61, 0, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 20, 20, 61, 61, 61, 15, 10, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, -#else - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 0, 61, 0, 61, 25, - 8, 0, 61, 61, 61, 61, 61, 61, 0, 15, - 5, 61, 0, 61, 61, 20, 20, 61, 61, 61, - 15, 10, 61, 61, 61, 61, 61, 61, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_StructDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 39, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 60, - HASH_VALUE_RANGE = 56, - DUPLICATES = 8, - WORDLIST_SIZE = 44 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::StructDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::StructDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::StructDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::StructDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::StructDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::StructDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::StructDef::lookup_name_skel, 0}, - {"_get_id", &POA_CORBA::StructDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::StructDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::StructDef::describe_skel, 0}, - {"_get_version", &POA_CORBA::StructDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::StructDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::StructDef::_get_absolute_name_skel, 0}, - {"move", &POA_CORBA::StructDef::move_skel, 0}, - {"_get_defined_in", &POA_CORBA::StructDef::_get_defined_in_skel, 0}, - {"_get_def_kind", &POA_CORBA::StructDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::StructDef::_repository_id_skel, 0}, - {"destroy", &POA_CORBA::StructDef::destroy_skel, 0}, - {"_component", &POA_CORBA::StructDef::_component_skel, 0}, - {"_get_members", &POA_CORBA::StructDef::_get_members_skel, 0}, - {"_set_members", &POA_CORBA::StructDef::_set_members_skel, 0}, - {"_non_existent", &POA_CORBA::StructDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::StructDef::_get_containing_repository_skel, 0}, - {"create_value", &POA_CORBA::StructDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::StructDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::StructDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::StructDef::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::StructDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::StructDef::create_union_skel, 0}, - {"describe_contents", &POA_CORBA::StructDef::describe_contents_skel, 0}, - {"create_exception", &POA_CORBA::StructDef::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::StructDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::StructDef::create_abstract_interface_skel, 0}, - {"create_enum", &POA_CORBA::StructDef::create_enum_skel, 0}, - {"contents", &POA_CORBA::StructDef::contents_skel, 0}, - {"create_value_box", &POA_CORBA::StructDef::create_value_box_skel, 0}, - {"create_alias", &POA_CORBA::StructDef::create_alias_skel, 0}, - {"create_struct", &POA_CORBA::StructDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::StructDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -7, -3, 5, 6, -12, -2, -66, 10, 11, -1, -15, - -2, -68, 14, -64, 17, 18, 19, 20, 21, -1, -1, 22, -1, -1, - -24, -2, 23, -1, -64, 26, -29, -2, 27, 28, -64, -31, -2, -62, - 33, -1, -1, 34, 35, 36, -1, -1, 37, 38, -1, 39, -1, -1, - 40, 41, 42, -1, 43, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_StructDef_Perfect_Hash_OpTable tao_CORBA_StructDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_StructDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_StructDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_StructDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_StructDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_StructDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_StructDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_StructDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::StructDef::StructDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_StructDef_optable; -} - -POA_CORBA::StructDef::StructDef (const StructDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::TypedefDef (rhs), - POA_CORBA::Container (rhs) -{ -} - -POA_CORBA::StructDef::~StructDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_members_StructDef - : public TAO::Upcall_Command - { - public: - inline _get_members_StructDef ( - POA_CORBA::StructDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::StructMemberSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StructDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::StructDef::_get_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StructDef * const impl = - static_cast (servant); - - _get_members_StructDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_members_StructDef - : public TAO::Upcall_Command - { - public: - inline _set_members_StructDef ( - POA_CORBA::StructDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::StructMemberSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->members ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StructDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::StructDef::_set_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_members - }; - - static size_t const nargs = 2; - - POA_CORBA::StructDef * const impl = - static_cast (servant); - - _set_members_StructDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_StructDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_StructDef_Upcall_Command ( - POA_CORBA::StructDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StructDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StructDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::StructDef * const impl = - static_cast (servant); - - _is_a_StructDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_StructDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_StructDef_Upcall_Command ( - POA_CORBA::StructDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StructDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StructDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StructDef * const impl = - static_cast (servant); - - _non_existent_StructDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_StructDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_StructDef_Upcall_Command ( - POA_CORBA::StructDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StructDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StructDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StructDef * const impl = - static_cast (servant); - - _repository_id_StructDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::StructDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::StructDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_StructDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_StructDef_Upcall_Command ( - POA_CORBA::StructDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StructDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StructDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StructDef * const impl = - static_cast (servant); - - _get_component_StructDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::StructDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/StructDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::StructDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/StructDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::StructDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::StructDef * -POA_CORBA::StructDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::StructDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_StructDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_UnionDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_UnionDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_UnionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, - 86, 25, 35, 0, 35, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 0, 0, 15, - 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 20, 45, 86, 86, 86, 5, 25, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, -#else - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 0, 86, 0, 86, 25, - 35, 0, 35, 86, 86, 86, 86, 86, 0, 0, - 15, 86, 0, 86, 86, 20, 45, 86, 86, 86, - 5, 25, 86, 86, 86, 86, 86, 86, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_UnionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 42, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 27, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 85, - HASH_VALUE_RANGE = 82, - DUPLICATES = 9, - WORDLIST_SIZE = 46 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::UnionDef::move_skel, 0}, - {"_is_a", &POA_CORBA::UnionDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::UnionDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::UnionDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::UnionDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::UnionDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::UnionDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::UnionDef::lookup_name_skel, 0}, - {"_get_absolute_name", &POA_CORBA::UnionDef::_get_absolute_name_skel, 0}, - {"_get_discriminator_type", &POA_CORBA::UnionDef::_get_discriminator_type_skel, 0}, - {"_get_version", &POA_CORBA::UnionDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::UnionDef::_set_version_skel, 0}, - {"_get_defined_in", &POA_CORBA::UnionDef::_get_defined_in_skel, 0}, - {"_get_members", &POA_CORBA::UnionDef::_get_members_skel, 0}, - {"_set_members", &POA_CORBA::UnionDef::_set_members_skel, 0}, - {"create_enum", &POA_CORBA::UnionDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::UnionDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::UnionDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::UnionDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::UnionDef::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::UnionDef::create_ext_value_skel, 0}, - {"_get_id", &POA_CORBA::UnionDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::UnionDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::UnionDef::describe_skel, 0}, - {"create_value_box", &POA_CORBA::UnionDef::create_value_box_skel, 0}, - {"create_local_interface", &POA_CORBA::UnionDef::create_local_interface_skel, 0}, - {"_get_def_kind", &POA_CORBA::UnionDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::UnionDef::_repository_id_skel, 0}, - {"create_abstract_interface", &POA_CORBA::UnionDef::create_abstract_interface_skel, 0}, - {"_get_containing_repository", &POA_CORBA::UnionDef::_get_containing_repository_skel, 0}, - {"create_union", &POA_CORBA::UnionDef::create_union_skel, 0}, - {"contents", &POA_CORBA::UnionDef::contents_skel, 0}, - {"_component", &POA_CORBA::UnionDef::_component_skel, 0}, - {"create_exception", &POA_CORBA::UnionDef::create_exception_skel, 0}, - {"create_alias", &POA_CORBA::UnionDef::create_alias_skel, 0}, - {"_non_existent", &POA_CORBA::UnionDef::_non_existent_skel, 0}, - {"_get_discriminator_type_def", &POA_CORBA::UnionDef::_get_discriminator_type_def_skel, 0}, - {"_set_discriminator_type_def", &POA_CORBA::UnionDef::_set_discriminator_type_def_skel, 0}, - {"destroy", &POA_CORBA::UnionDef::destroy_skel, 0}, - {"describe_contents", &POA_CORBA::UnionDef::describe_contents_skel, 0}, - {"create_struct", &POA_CORBA::UnionDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::UnionDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, 5, 6, -7, -3, -87, 10, 11, -1, -1, - -1, -1, -1, -1, 12, -1, -1, -14, -2, 13, -1, -17, -2, -91, - -21, -2, 16, -1, -92, -1, -23, -2, 19, 20, -95, -25, -2, -92, - -88, 27, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, -1, 36, - 37, 38, 39, -1, -40, -2, -87, -1, -1, -1, -1, 42, -1, -1, - -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, - -1, 45, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_UnionDef_Perfect_Hash_OpTable tao_CORBA_UnionDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_UnionDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_UnionDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_UnionDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_UnionDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_UnionDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_UnionDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_UnionDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::UnionDef::UnionDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_UnionDef_optable; -} - -POA_CORBA::UnionDef::UnionDef (const UnionDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::TypedefDef (rhs), - POA_CORBA::Container (rhs) -{ -} - -POA_CORBA::UnionDef::~UnionDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_discriminator_type_UnionDef - : public TAO::Upcall_Command - { - public: - inline _get_discriminator_type_UnionDef ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->discriminator_type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::UnionDef::_get_discriminator_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _get_discriminator_type_UnionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_discriminator_type_def_UnionDef - : public TAO::Upcall_Command - { - public: - inline _get_discriminator_type_def_UnionDef ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->discriminator_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::UnionDef::_get_discriminator_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _get_discriminator_type_def_UnionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_discriminator_type_def_UnionDef - : public TAO::Upcall_Command - { - public: - inline _set_discriminator_type_def_UnionDef ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->discriminator_type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::UnionDef::_set_discriminator_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_discriminator_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_discriminator_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _set_discriminator_type_def_UnionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_members_UnionDef - : public TAO::Upcall_Command - { - public: - inline _get_members_UnionDef ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::UnionMemberSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::UnionMemberSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::UnionDef::_get_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::UnionMemberSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _get_members_UnionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_members_UnionDef - : public TAO::Upcall_Command - { - public: - inline _set_members_UnionDef ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::UnionMemberSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::UnionMemberSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->members ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::UnionDef::_set_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::UnionMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_members - }; - - static size_t const nargs = 2; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _set_members_UnionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_UnionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_UnionDef_Upcall_Command ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::UnionDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _is_a_UnionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_UnionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_UnionDef_Upcall_Command ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::UnionDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _non_existent_UnionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_UnionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_UnionDef_Upcall_Command ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::UnionDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _repository_id_UnionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::UnionDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_UnionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_UnionDef_Upcall_Command ( - POA_CORBA::UnionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::UnionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::UnionDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::UnionDef * const impl = - static_cast (servant); - - _get_component_UnionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::UnionDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/UnionDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::UnionDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/UnionDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::UnionDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::UnionDef * -POA_CORBA::UnionDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::UnionDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_UnionDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_EnumDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_EnumDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_EnumDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 10, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 10, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_EnumDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::EnumDef::move_skel, 0}, - {"_is_a", &POA_CORBA::EnumDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::EnumDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::EnumDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::EnumDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::EnumDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::EnumDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::EnumDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::EnumDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::EnumDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::EnumDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::EnumDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::EnumDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::EnumDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::EnumDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::EnumDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::EnumDef::_component_skel, 0}, - {"_get_members", &POA_CORBA::EnumDef::_get_members_skel, 0}, - {"_set_members", &POA_CORBA::EnumDef::_set_members_skel, 0}, - {"_non_existent", &POA_CORBA::EnumDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::EnumDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -13, -2, -21, -2, 4, 5, -1, 55, 8, 51, 12, -1, -48, 15, - 16, 17, -1, 18, 19, -1, 20, -1, -56, 23, -9, -3, -6, -2, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_EnumDef_Perfect_Hash_OpTable tao_CORBA_EnumDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_EnumDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_EnumDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_EnumDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_EnumDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_EnumDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_EnumDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_EnumDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::EnumDef::EnumDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_EnumDef_optable; -} - -POA_CORBA::EnumDef::EnumDef (const EnumDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::TypedefDef (rhs) -{ -} - -POA_CORBA::EnumDef::~EnumDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_members_EnumDef - : public TAO::Upcall_Command - { - public: - inline _get_members_EnumDef ( - POA_CORBA::EnumDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::EnumMemberSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::EnumMemberSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::EnumDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::EnumDef::_get_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::EnumMemberSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - - _get_members_EnumDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_members_EnumDef - : public TAO::Upcall_Command - { - public: - inline _set_members_EnumDef ( - POA_CORBA::EnumDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::EnumMemberSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::EnumMemberSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->members ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::EnumDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::EnumDef::_set_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::EnumMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_members - }; - - static size_t const nargs = 2; - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - - _set_members_EnumDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_EnumDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_EnumDef_Upcall_Command ( - POA_CORBA::EnumDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::EnumDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::EnumDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - - _is_a_EnumDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_EnumDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_EnumDef_Upcall_Command ( - POA_CORBA::EnumDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::EnumDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::EnumDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - - _non_existent_EnumDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_EnumDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_EnumDef_Upcall_Command ( - POA_CORBA::EnumDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::EnumDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::EnumDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - - _repository_id_EnumDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::EnumDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_EnumDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_EnumDef_Upcall_Command ( - POA_CORBA::EnumDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::EnumDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::EnumDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::EnumDef * const impl = - static_cast (servant); - - _get_component_EnumDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::EnumDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/EnumDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::EnumDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/EnumDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::EnumDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::EnumDef * -POA_CORBA::EnumDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::EnumDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_EnumDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_AliasDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_AliasDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_AliasDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 0, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 0, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_AliasDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::AliasDef::move_skel, 0}, - {"_is_a", &POA_CORBA::AliasDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::AliasDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::AliasDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::AliasDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::AliasDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::AliasDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::AliasDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::AliasDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::AliasDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::AliasDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::AliasDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::AliasDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::AliasDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::AliasDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::AliasDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::AliasDef::_component_skel, 0}, - {"_get_original_type_def", &POA_CORBA::AliasDef::_get_original_type_def_skel, 0}, - {"_set_original_type_def", &POA_CORBA::AliasDef::_set_original_type_def_skel, 0}, - {"_non_existent", &POA_CORBA::AliasDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::AliasDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -13, -2, -21, -2, 4, 5, -1, 55, 8, 51, 12, -1, -48, 15, - 16, 17, -1, 18, 19, -1, 20, -1, -56, 23, -9, -3, -6, -2, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_AliasDef_Perfect_Hash_OpTable tao_CORBA_AliasDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_AliasDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_AliasDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_AliasDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_AliasDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_AliasDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_AliasDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_AliasDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::AliasDef::AliasDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_AliasDef_optable; -} - -POA_CORBA::AliasDef::AliasDef (const AliasDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::TypedefDef (rhs) -{ -} - -POA_CORBA::AliasDef::~AliasDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_original_type_def_AliasDef - : public TAO::Upcall_Command - { - public: - inline _get_original_type_def_AliasDef ( - POA_CORBA::AliasDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->original_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AliasDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AliasDef::_get_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - - _get_original_type_def_AliasDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_original_type_def_AliasDef - : public TAO::Upcall_Command - { - public: - inline _set_original_type_def_AliasDef ( - POA_CORBA::AliasDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->original_type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AliasDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AliasDef::_set_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_original_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_original_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - - _set_original_type_def_AliasDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_AliasDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_AliasDef_Upcall_Command ( - POA_CORBA::AliasDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AliasDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AliasDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - - _is_a_AliasDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_AliasDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_AliasDef_Upcall_Command ( - POA_CORBA::AliasDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AliasDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AliasDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - - _non_existent_AliasDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_AliasDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_AliasDef_Upcall_Command ( - POA_CORBA::AliasDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AliasDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AliasDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - - _repository_id_AliasDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::AliasDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_AliasDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_AliasDef_Upcall_Command ( - POA_CORBA::AliasDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AliasDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AliasDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AliasDef * const impl = - static_cast (servant); - - _get_component_AliasDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::AliasDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/AliasDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::AliasDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/AliasDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::AliasDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::AliasDef * -POA_CORBA::AliasDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::AliasDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_AliasDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_NativeDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_NativeDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_NativeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_NativeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 19, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 5, - WORDLIST_SIZE = 23 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::NativeDef::move_skel, 0}, - {"_is_a", &POA_CORBA::NativeDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::NativeDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::NativeDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::NativeDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::NativeDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::NativeDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::NativeDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::NativeDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::NativeDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::NativeDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::NativeDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::NativeDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::NativeDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::NativeDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::NativeDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::NativeDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::NativeDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::NativeDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -9, -3, -13, -2, 4, 5, -1, 50, 8, -45, 12, -1, -46, 15, - 16, 17, -1, 18, 19, -1, 20, -6, -2, 21, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_NativeDef_Perfect_Hash_OpTable tao_CORBA_NativeDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_NativeDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_NativeDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_NativeDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_NativeDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_NativeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_NativeDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_NativeDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::NativeDef::NativeDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_NativeDef_optable; -} - -POA_CORBA::NativeDef::NativeDef (const NativeDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::TypedefDef (rhs) -{ -} - -POA_CORBA::NativeDef::~NativeDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_NativeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_NativeDef_Upcall_Command ( - POA_CORBA::NativeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::NativeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::NativeDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::NativeDef * const impl = - static_cast (servant); - - _is_a_NativeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_NativeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_NativeDef_Upcall_Command ( - POA_CORBA::NativeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::NativeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::NativeDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::NativeDef * const impl = - static_cast (servant); - - _non_existent_NativeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_NativeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_NativeDef_Upcall_Command ( - POA_CORBA::NativeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::NativeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::NativeDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::NativeDef * const impl = - static_cast (servant); - - _repository_id_NativeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::NativeDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::NativeDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_NativeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_NativeDef_Upcall_Command ( - POA_CORBA::NativeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::NativeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::NativeDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::NativeDef * const impl = - static_cast (servant); - - _get_component_NativeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::NativeDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/NativeDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::NativeDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/NativeDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::NativeDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::NativeDef * -POA_CORBA::NativeDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::NativeDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_NativeDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 21, 21, 0, 10, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 5, 21, 21, 21, 21, 0, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, -#else - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 0, 21, 0, 21, 21, - 0, 10, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 5, 21, 21, 21, - 21, 0, 21, 21, 21, 21, 21, 21, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 9, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 20, - HASH_VALUE_RANGE = 16, - DUPLICATES = 0, - WORDLIST_SIZE = 14 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::PrimitiveDef::_is_a_skel, 0}, - {"",0,0}, - {"destroy", &POA_CORBA::PrimitiveDef::destroy_skel, 0}, - {"",0,0}, - {"_get_kind", &POA_CORBA::PrimitiveDef::_get_kind_skel, 0}, - {"",0,0},{"",0,0},{"",0,0}, - {"_get_def_kind", &POA_CORBA::PrimitiveDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::PrimitiveDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::PrimitiveDef::_component_skel, 0}, - {"",0,0},{"",0,0}, - {"_non_existent", &POA_CORBA::PrimitiveDef::_non_existent_skel, 0}, - {"_get_type", &POA_CORBA::PrimitiveDef::_get_type_skel, 0}, - {"_interface", &POA_CORBA::PrimitiveDef::_interface_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - const char *s = wordlist[key].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[key]; - } - } - return 0; -} - -static TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable tao_CORBA_PrimitiveDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_PrimitiveDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::PrimitiveDef::PrimitiveDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_PrimitiveDef_optable; -} - -POA_CORBA::PrimitiveDef::PrimitiveDef (const PrimitiveDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::PrimitiveDef::~PrimitiveDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_kind_PrimitiveDef - : public TAO::Upcall_Command - { - public: - inline _get_kind_PrimitiveDef ( - POA_CORBA::PrimitiveDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::PrimitiveKind>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::PrimitiveKind> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->kind ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::PrimitiveDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::PrimitiveDef::_get_kind_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::PrimitiveKind>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::PrimitiveDef * const impl = - static_cast (servant); - - _get_kind_PrimitiveDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_PrimitiveDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_PrimitiveDef_Upcall_Command ( - POA_CORBA::PrimitiveDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::PrimitiveDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::PrimitiveDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::PrimitiveDef * const impl = - static_cast (servant); - - _is_a_PrimitiveDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_PrimitiveDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_PrimitiveDef_Upcall_Command ( - POA_CORBA::PrimitiveDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::PrimitiveDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::PrimitiveDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::PrimitiveDef * const impl = - static_cast (servant); - - _non_existent_PrimitiveDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_PrimitiveDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_PrimitiveDef_Upcall_Command ( - POA_CORBA::PrimitiveDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::PrimitiveDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::PrimitiveDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::PrimitiveDef * const impl = - static_cast (servant); - - _repository_id_PrimitiveDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::PrimitiveDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::PrimitiveDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_PrimitiveDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_PrimitiveDef_Upcall_Command ( - POA_CORBA::PrimitiveDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::PrimitiveDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::PrimitiveDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::PrimitiveDef * const impl = - static_cast (servant); - - _get_component_PrimitiveDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::PrimitiveDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/PrimitiveDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::PrimitiveDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/PrimitiveDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::PrimitiveDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::PrimitiveDef * -POA_CORBA::PrimitiveDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::PrimitiveDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_PrimitiveDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_StringDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_StringDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_StringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 21, 21, 0, 10, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 5, 21, 21, 21, 21, 0, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, -#else - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 0, 21, 0, 21, 21, - 0, 10, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 5, 21, 21, 21, - 21, 0, 21, 21, 21, 21, 21, 21, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_StringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 10, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 20, - HASH_VALUE_RANGE = 16, - DUPLICATES = 2, - WORDLIST_SIZE = 15 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::StringDef::_is_a_skel, 0}, - {"destroy", &POA_CORBA::StringDef::destroy_skel, 0}, - {"_get_bound", &POA_CORBA::StringDef::_get_bound_skel, 0}, - {"_set_bound", &POA_CORBA::StringDef::_set_bound_skel, 0}, - {"_get_def_kind", &POA_CORBA::StringDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::StringDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::StringDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::StringDef::_non_existent_skel, 0}, - {"_get_type", &POA_CORBA::StringDef::_get_type_skel, 0}, - {"_interface", &POA_CORBA::StringDef::_interface_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, 5, -1, 6, -7, -2, -22, -1, -1, 9, - 10, 11, -1, -1, 12, 13, 14, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_StringDef_Perfect_Hash_OpTable tao_CORBA_StringDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_StringDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_StringDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_StringDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_StringDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_StringDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_StringDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_StringDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::StringDef::StringDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_StringDef_optable; -} - -POA_CORBA::StringDef::StringDef (const StringDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::StringDef::~StringDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_bound_StringDef - : public TAO::Upcall_Command - { - public: - inline _get_bound_StringDef ( - POA_CORBA::StringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->bound ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::StringDef::_get_bound_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ULong>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StringDef * const impl = - static_cast (servant); - - _get_bound_StringDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_bound_StringDef - : public TAO::Upcall_Command - { - public: - inline _set_bound_StringDef ( - POA_CORBA::StringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->bound ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::StringDef::_set_bound_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_bound; - - TAO::Argument * const args[] = - { - &retval, - &_tao_bound - }; - - static size_t const nargs = 2; - - POA_CORBA::StringDef * const impl = - static_cast (servant); - - _set_bound_StringDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_StringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_StringDef_Upcall_Command ( - POA_CORBA::StringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StringDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::StringDef * const impl = - static_cast (servant); - - _is_a_StringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_StringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_StringDef_Upcall_Command ( - POA_CORBA::StringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StringDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StringDef * const impl = - static_cast (servant); - - _non_existent_StringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_StringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_StringDef_Upcall_Command ( - POA_CORBA::StringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StringDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StringDef * const impl = - static_cast (servant); - - _repository_id_StringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::StringDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::StringDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_StringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_StringDef_Upcall_Command ( - POA_CORBA::StringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::StringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::StringDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::StringDef * const impl = - static_cast (servant); - - _get_component_StringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::StringDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/StringDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::StringDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/StringDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::StringDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::StringDef * -POA_CORBA::StringDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::StringDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_StringDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_WstringDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_WstringDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_WstringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 21, 21, 0, 10, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 5, 21, 21, 21, 21, 0, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, -#else - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 0, 21, 0, 21, 21, - 0, 10, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 5, 21, 21, 21, - 21, 0, 21, 21, 21, 21, 21, 21, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_WstringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 10, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 20, - HASH_VALUE_RANGE = 16, - DUPLICATES = 2, - WORDLIST_SIZE = 15 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::WstringDef::_is_a_skel, 0}, - {"destroy", &POA_CORBA::WstringDef::destroy_skel, 0}, - {"_get_bound", &POA_CORBA::WstringDef::_get_bound_skel, 0}, - {"_set_bound", &POA_CORBA::WstringDef::_set_bound_skel, 0}, - {"_get_def_kind", &POA_CORBA::WstringDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::WstringDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::WstringDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::WstringDef::_non_existent_skel, 0}, - {"_get_type", &POA_CORBA::WstringDef::_get_type_skel, 0}, - {"_interface", &POA_CORBA::WstringDef::_interface_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, 5, -1, 6, -7, -2, -22, -1, -1, 9, - 10, 11, -1, -1, 12, 13, 14, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_WstringDef_Perfect_Hash_OpTable tao_CORBA_WstringDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_WstringDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_WstringDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_WstringDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_WstringDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_WstringDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_WstringDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_WstringDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::WstringDef::WstringDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_WstringDef_optable; -} - -POA_CORBA::WstringDef::WstringDef (const WstringDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::WstringDef::~WstringDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_bound_WstringDef - : public TAO::Upcall_Command - { - public: - inline _get_bound_WstringDef ( - POA_CORBA::WstringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->bound ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::WstringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::WstringDef::_get_bound_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ULong>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - - _get_bound_WstringDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_bound_WstringDef - : public TAO::Upcall_Command - { - public: - inline _set_bound_WstringDef ( - POA_CORBA::WstringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->bound ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::WstringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::WstringDef::_set_bound_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_bound; - - TAO::Argument * const args[] = - { - &retval, - &_tao_bound - }; - - static size_t const nargs = 2; - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - - _set_bound_WstringDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_WstringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_WstringDef_Upcall_Command ( - POA_CORBA::WstringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::WstringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::WstringDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - - _is_a_WstringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_WstringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_WstringDef_Upcall_Command ( - POA_CORBA::WstringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::WstringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::WstringDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - - _non_existent_WstringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_WstringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_WstringDef_Upcall_Command ( - POA_CORBA::WstringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::WstringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::WstringDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - - _repository_id_WstringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::WstringDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_WstringDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_WstringDef_Upcall_Command ( - POA_CORBA::WstringDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::WstringDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::WstringDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::WstringDef * const impl = - static_cast (servant); - - _get_component_WstringDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::WstringDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/WstringDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::WstringDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/WstringDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::WstringDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::WstringDef * -POA_CORBA::WstringDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::WstringDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_WstringDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_SequenceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_SequenceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_SequenceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, - 28, 28, 0, 10, 0, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 5, 28, 28, 28, 28, 0, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, -#else - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 0, 28, 0, 28, 28, - 0, 10, 0, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 5, 28, 28, 28, - 28, 0, 28, 28, 28, 28, 28, 28, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_SequenceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 13, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 21, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 27, - HASH_VALUE_RANGE = 23, - DUPLICATES = 3, - WORDLIST_SIZE = 18 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::SequenceDef::_is_a_skel, 0}, - {"destroy", &POA_CORBA::SequenceDef::destroy_skel, 0}, - {"_get_bound", &POA_CORBA::SequenceDef::_get_bound_skel, 0}, - {"_set_bound", &POA_CORBA::SequenceDef::_set_bound_skel, 0}, - {"_get_def_kind", &POA_CORBA::SequenceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::SequenceDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::SequenceDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::SequenceDef::_non_existent_skel, 0}, - {"_get_type", &POA_CORBA::SequenceDef::_get_type_skel, 0}, - {"_interface", &POA_CORBA::SequenceDef::_interface_skel, 0}, - {"_get_element_type_def", &POA_CORBA::SequenceDef::_get_element_type_def_skel, 0}, - {"_set_element_type_def", &POA_CORBA::SequenceDef::_set_element_type_def_skel, 0}, - {"_get_element_type", &POA_CORBA::SequenceDef::_get_element_type_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, 5, -1, 6, -7, -2, -29, -1, -1, 9, - 10, 11, -15, -2, 12, 13, 14, -32, -1, -1, -1, -1, -1, 17, - - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_SequenceDef_Perfect_Hash_OpTable tao_CORBA_SequenceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_SequenceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_SequenceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_SequenceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_SequenceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::SequenceDef::SequenceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_SequenceDef_optable; -} - -POA_CORBA::SequenceDef::SequenceDef (const SequenceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::SequenceDef::~SequenceDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_bound_SequenceDef - : public TAO::Upcall_Command - { - public: - inline _get_bound_SequenceDef ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->bound ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::SequenceDef::_get_bound_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ULong>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _get_bound_SequenceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_bound_SequenceDef - : public TAO::Upcall_Command - { - public: - inline _set_bound_SequenceDef ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->bound ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::SequenceDef::_set_bound_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_bound; - - TAO::Argument * const args[] = - { - &retval, - &_tao_bound - }; - - static size_t const nargs = 2; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _set_bound_SequenceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_element_type_SequenceDef - : public TAO::Upcall_Command - { - public: - inline _get_element_type_SequenceDef ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->element_type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::SequenceDef::_get_element_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _get_element_type_SequenceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_element_type_def_SequenceDef - : public TAO::Upcall_Command - { - public: - inline _get_element_type_def_SequenceDef ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->element_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::SequenceDef::_get_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _get_element_type_def_SequenceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_element_type_def_SequenceDef - : public TAO::Upcall_Command - { - public: - inline _set_element_type_def_SequenceDef ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->element_type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::SequenceDef::_set_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_element_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_element_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _set_element_type_def_SequenceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_SequenceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_SequenceDef_Upcall_Command ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::SequenceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _is_a_SequenceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_SequenceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_SequenceDef_Upcall_Command ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::SequenceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _non_existent_SequenceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_SequenceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_SequenceDef_Upcall_Command ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::SequenceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _repository_id_SequenceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::SequenceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_SequenceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_SequenceDef_Upcall_Command ( - POA_CORBA::SequenceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::SequenceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::SequenceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::SequenceDef * const impl = - static_cast (servant); - - _get_component_SequenceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::SequenceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/SequenceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::SequenceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/SequenceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::SequenceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::SequenceDef * -POA_CORBA::SequenceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::SequenceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_SequenceDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ArrayDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ArrayDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ArrayDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, - 22, 22, 0, 0, 0, 22, 0, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 5, 22, 22, 22, 22, 0, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, -#else - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 0, 22, 0, 22, 22, - 0, 0, 0, 22, 0, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 5, 22, 22, 22, - 22, 0, 22, 22, 22, 22, 22, 22, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ArrayDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 13, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 21, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 21, - HASH_VALUE_RANGE = 17, - DUPLICATES = 3, - WORDLIST_SIZE = 18 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::ArrayDef::_is_a_skel, 0}, - {"destroy", &POA_CORBA::ArrayDef::destroy_skel, 0}, - {"_get_type", &POA_CORBA::ArrayDef::_get_type_skel, 0}, - {"_interface", &POA_CORBA::ArrayDef::_interface_skel, 0}, - {"_get_length", &POA_CORBA::ArrayDef::_get_length_skel, 0}, - {"_set_length", &POA_CORBA::ArrayDef::_set_length_skel, 0}, - {"_get_def_kind", &POA_CORBA::ArrayDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ArrayDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::ArrayDef::_component_skel, 0}, - {"_get_element_type", &POA_CORBA::ArrayDef::_get_element_type_skel, 0}, - {"_non_existent", &POA_CORBA::ArrayDef::_non_existent_skel, 0}, - {"_get_element_type_def", &POA_CORBA::ArrayDef::_get_element_type_def_skel, 0}, - {"_set_element_type_def", &POA_CORBA::ArrayDef::_set_element_type_def_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -9, -2, 5, -1, 6, -1, 7, 8, -29, -1, 11, - 12, 13, -1, 14, 15, -16, -2, -23, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ArrayDef_Perfect_Hash_OpTable tao_CORBA_ArrayDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ArrayDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ArrayDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ArrayDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ArrayDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ArrayDef::ArrayDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ArrayDef_optable; -} - -POA_CORBA::ArrayDef::ArrayDef (const ArrayDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::ArrayDef::~ArrayDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_length_ArrayDef - : public TAO::Upcall_Command - { - public: - inline _get_length_ArrayDef ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->length ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ArrayDef::_get_length_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ULong>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _get_length_ArrayDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_length_ArrayDef - : public TAO::Upcall_Command - { - public: - inline _set_length_ArrayDef ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ULong> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->length ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ArrayDef::_set_length_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_length; - - TAO::Argument * const args[] = - { - &retval, - &_tao_length - }; - - static size_t const nargs = 2; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _set_length_ArrayDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_element_type_ArrayDef - : public TAO::Upcall_Command - { - public: - inline _get_element_type_ArrayDef ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->element_type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ArrayDef::_get_element_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _get_element_type_ArrayDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_element_type_def_ArrayDef - : public TAO::Upcall_Command - { - public: - inline _get_element_type_def_ArrayDef ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->element_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ArrayDef::_get_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _get_element_type_def_ArrayDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_element_type_def_ArrayDef - : public TAO::Upcall_Command - { - public: - inline _set_element_type_def_ArrayDef ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->element_type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ArrayDef::_set_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_element_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_element_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _set_element_type_def_ArrayDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ArrayDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ArrayDef_Upcall_Command ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ArrayDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _is_a_ArrayDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ArrayDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ArrayDef_Upcall_Command ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ArrayDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _non_existent_ArrayDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ArrayDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ArrayDef_Upcall_Command ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ArrayDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _repository_id_ArrayDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ArrayDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ArrayDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ArrayDef_Upcall_Command ( - POA_CORBA::ArrayDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ArrayDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ArrayDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ArrayDef * const impl = - static_cast (servant); - - _get_component_ArrayDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ArrayDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ArrayDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ArrayDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ArrayDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ArrayDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ArrayDef * -POA_CORBA::ArrayDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ArrayDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ArrayDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, - 61, 25, 8, 0, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 0, 15, 5, - 61, 0, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 20, 20, 61, 61, 61, 15, 10, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, -#else - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 0, 61, 0, 61, 25, - 8, 0, 61, 61, 61, 61, 61, 61, 0, 15, - 5, 61, 0, 61, 61, 20, 20, 61, 61, 61, - 15, 10, 61, 61, 61, 61, 61, 61, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 39, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 60, - HASH_VALUE_RANGE = 56, - DUPLICATES = 8, - WORDLIST_SIZE = 44 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::ExceptionDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ExceptionDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::ExceptionDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ExceptionDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ExceptionDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ExceptionDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ExceptionDef::lookup_name_skel, 0}, - {"_get_id", &POA_CORBA::ExceptionDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ExceptionDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ExceptionDef::describe_skel, 0}, - {"_get_version", &POA_CORBA::ExceptionDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ExceptionDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ExceptionDef::_get_absolute_name_skel, 0}, - {"move", &POA_CORBA::ExceptionDef::move_skel, 0}, - {"_get_defined_in", &POA_CORBA::ExceptionDef::_get_defined_in_skel, 0}, - {"_get_def_kind", &POA_CORBA::ExceptionDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ExceptionDef::_repository_id_skel, 0}, - {"destroy", &POA_CORBA::ExceptionDef::destroy_skel, 0}, - {"_component", &POA_CORBA::ExceptionDef::_component_skel, 0}, - {"_get_members", &POA_CORBA::ExceptionDef::_get_members_skel, 0}, - {"_set_members", &POA_CORBA::ExceptionDef::_set_members_skel, 0}, - {"_non_existent", &POA_CORBA::ExceptionDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ExceptionDef::_get_containing_repository_skel, 0}, - {"create_value", &POA_CORBA::ExceptionDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ExceptionDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ExceptionDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ExceptionDef::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::ExceptionDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ExceptionDef::create_union_skel, 0}, - {"describe_contents", &POA_CORBA::ExceptionDef::describe_contents_skel, 0}, - {"create_exception", &POA_CORBA::ExceptionDef::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::ExceptionDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ExceptionDef::create_abstract_interface_skel, 0}, - {"create_enum", &POA_CORBA::ExceptionDef::create_enum_skel, 0}, - {"contents", &POA_CORBA::ExceptionDef::contents_skel, 0}, - {"create_value_box", &POA_CORBA::ExceptionDef::create_value_box_skel, 0}, - {"create_alias", &POA_CORBA::ExceptionDef::create_alias_skel, 0}, - {"create_struct", &POA_CORBA::ExceptionDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ExceptionDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -7, -3, 5, 6, -12, -2, -66, 10, 11, -1, -15, - -2, -68, 14, -64, 17, 18, 19, 20, 21, -1, -1, 22, -1, -1, - -24, -2, 23, -1, -64, 26, -29, -2, 27, 28, -64, -31, -2, -62, - 33, -1, -1, 34, 35, 36, -1, -1, 37, 38, -1, 39, -1, -1, - 40, 41, 42, -1, 43, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable tao_CORBA_ExceptionDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ExceptionDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ExceptionDef::ExceptionDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ExceptionDef_optable; -} - -POA_CORBA::ExceptionDef::ExceptionDef (const ExceptionDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::Container (rhs) -{ -} - -POA_CORBA::ExceptionDef::~ExceptionDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_ExceptionDef - : public TAO::Upcall_Command - { - public: - inline _get_type_ExceptionDef ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExceptionDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _get_type_ExceptionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_members_ExceptionDef - : public TAO::Upcall_Command - { - public: - inline _get_members_ExceptionDef ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::StructMemberSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExceptionDef::_get_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _get_members_ExceptionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_members_ExceptionDef - : public TAO::Upcall_Command - { - public: - inline _set_members_ExceptionDef ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::StructMemberSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->members ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExceptionDef::_set_members_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::StructMemberSeq>::in_arg_val _tao_members; - - TAO::Argument * const args[] = - { - &retval, - &_tao_members - }; - - static size_t const nargs = 2; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _set_members_ExceptionDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ExceptionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ExceptionDef_Upcall_Command ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExceptionDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _is_a_ExceptionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ExceptionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ExceptionDef_Upcall_Command ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExceptionDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _non_existent_ExceptionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ExceptionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ExceptionDef_Upcall_Command ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExceptionDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _repository_id_ExceptionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ExceptionDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ExceptionDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ExceptionDef_Upcall_Command ( - POA_CORBA::ExceptionDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExceptionDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExceptionDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExceptionDef * const impl = - static_cast (servant); - - _get_component_ExceptionDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ExceptionDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExceptionDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ExceptionDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ExceptionDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ExceptionDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ExceptionDef * -POA_CORBA::ExceptionDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ExceptionDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ExceptionDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_AttributeDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_AttributeDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_AttributeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 15, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 15, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_AttributeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 23, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 8, - WORDLIST_SIZE = 27 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::AttributeDef::move_skel, 0}, - {"_is_a", &POA_CORBA::AttributeDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::AttributeDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::AttributeDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::AttributeDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::AttributeDef::_get_name_skel, 0}, - {"_set_mode", &POA_CORBA::AttributeDef::_set_mode_skel, 0}, - {"_get_mode", &POA_CORBA::AttributeDef::_get_mode_skel, 0}, - {"_get_type", &POA_CORBA::AttributeDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::AttributeDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::AttributeDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::AttributeDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::AttributeDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::AttributeDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::AttributeDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::AttributeDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::AttributeDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::AttributeDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::AttributeDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::AttributeDef::_non_existent_skel, 0}, - {"_get_type_def", &POA_CORBA::AttributeDef::_get_type_def_skel, 0}, - {"_set_type_def", &POA_CORBA::AttributeDef::_set_type_def_skel, 0}, - {"_get_containing_repository", &POA_CORBA::AttributeDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -9, -5, -15, -2, 4, 5, -1, 50, 8, -45, 14, -1, -46, 17, - 18, 19, -1, 20, 21, -1, 22, -6, -2, 23, -1, -1, -24, -2, - -38, -1, -1, -1, -1, -1, -1, -1, 26, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_AttributeDef_Perfect_Hash_OpTable tao_CORBA_AttributeDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_AttributeDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_AttributeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_AttributeDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_AttributeDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::AttributeDef::AttributeDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_AttributeDef_optable; -} - -POA_CORBA::AttributeDef::AttributeDef (const AttributeDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::AttributeDef::~AttributeDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_AttributeDef - : public TAO::Upcall_Command - { - public: - inline _get_type_AttributeDef ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AttributeDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _get_type_AttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_def_AttributeDef - : public TAO::Upcall_Command - { - public: - inline _get_type_def_AttributeDef ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AttributeDef::_get_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _get_type_def_AttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_type_def_AttributeDef - : public TAO::Upcall_Command - { - public: - inline _set_type_def_AttributeDef ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AttributeDef::_set_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _set_type_def_AttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_mode_AttributeDef - : public TAO::Upcall_Command - { - public: - inline _get_mode_AttributeDef ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::AttributeMode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::AttributeMode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AttributeDef::_get_mode_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::AttributeMode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _get_mode_AttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_mode_AttributeDef - : public TAO::Upcall_Command - { - public: - inline _set_mode_AttributeDef ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::AttributeMode> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->mode ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::AttributeDef::_set_mode_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_val _tao_mode; - - TAO::Argument * const args[] = - { - &retval, - &_tao_mode - }; - - static size_t const nargs = 2; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _set_mode_AttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_AttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_AttributeDef_Upcall_Command ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AttributeDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _is_a_AttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_AttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_AttributeDef_Upcall_Command ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AttributeDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _non_existent_AttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_AttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_AttributeDef_Upcall_Command ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AttributeDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _repository_id_AttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::AttributeDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_AttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_AttributeDef_Upcall_Command ( - POA_CORBA::AttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AttributeDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AttributeDef * const impl = - static_cast (servant); - - _get_component_AttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::AttributeDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/AttributeDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::AttributeDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/AttributeDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::AttributeDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::AttributeDef * -POA_CORBA::AttributeDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::AttributeDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_AttributeDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ExtAttributeDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ExtAttributeDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ExtAttributeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, - 44, 44, 15, 0, 25, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 0, 30, 44, 44, 44, 44, 5, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, -#else - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 0, 44, 0, 44, 44, - 15, 0, 25, 44, 44, 44, 44, 44, 44, 0, - 0, 44, 44, 44, 44, 0, 30, 44, 44, 44, - 44, 5, 44, 44, 44, 44, 44, 44, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ExtAttributeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 28, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 43, - HASH_VALUE_RANGE = 40, - DUPLICATES = 11, - WORDLIST_SIZE = 32 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ExtAttributeDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ExtAttributeDef::_is_a_skel, 0}, - {"_get_name", &POA_CORBA::ExtAttributeDef::_get_name_skel, 0}, - {"_set_mode", &POA_CORBA::ExtAttributeDef::_set_mode_skel, 0}, - {"_get_mode", &POA_CORBA::ExtAttributeDef::_get_mode_skel, 0}, - {"_get_type", &POA_CORBA::ExtAttributeDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ExtAttributeDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ExtAttributeDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ExtAttributeDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ExtAttributeDef::_set_version_skel, 0}, - {"_get_defined_in", &POA_CORBA::ExtAttributeDef::_get_defined_in_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ExtAttributeDef::_get_absolute_name_skel, 0}, - {"_get_get_exceptions", &POA_CORBA::ExtAttributeDef::_get_get_exceptions_skel, 0}, - {"_set_set_exceptions", &POA_CORBA::ExtAttributeDef::_set_set_exceptions_skel, 0}, - {"_get_set_exceptions", &POA_CORBA::ExtAttributeDef::_get_set_exceptions_skel, 0}, - {"_set_get_exceptions", &POA_CORBA::ExtAttributeDef::_set_get_exceptions_skel, 0}, - {"_get_id", &POA_CORBA::ExtAttributeDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ExtAttributeDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ExtAttributeDef::describe_skel, 0}, - {"destroy", &POA_CORBA::ExtAttributeDef::destroy_skel, 0}, - {"_get_def_kind", &POA_CORBA::ExtAttributeDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ExtAttributeDef::_repository_id_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ExtAttributeDef::_get_containing_repository_skel, 0}, - {"describe_attribute", &POA_CORBA::ExtAttributeDef::describe_attribute_skel, 0}, - {"_get_type_def", &POA_CORBA::ExtAttributeDef::_get_type_def_skel, 0}, - {"_set_type_def", &POA_CORBA::ExtAttributeDef::_set_type_def_skel, 0}, - {"_component", &POA_CORBA::ExtAttributeDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ExtAttributeDef::_non_existent_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -6, -5, 4, 5, -1, -12, -2, -50, 11, -1, -48, -1, - -1, 14, -16, -4, 15, -46, -20, -2, -45, 22, -1, -1, -1, 23, - 24, 25, -1, 26, -1, 27, -1, -1, -28, -2, -45, -1, 30, -1, - -1, 31, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ExtAttributeDef_Perfect_Hash_OpTable tao_CORBA_ExtAttributeDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ExtAttributeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ExtAttributeDef::ExtAttributeDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ExtAttributeDef_optable; -} - -POA_CORBA::ExtAttributeDef::ExtAttributeDef (const ExtAttributeDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::AttributeDef (rhs) -{ -} - -POA_CORBA::ExtAttributeDef::~ExtAttributeDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_get_exceptions_ExtAttributeDef - : public TAO::Upcall_Command - { - public: - inline _get_get_exceptions_ExtAttributeDef ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExcDescriptionSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->get_exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtAttributeDef::_get_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _get_get_exceptions_ExtAttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_get_exceptions_ExtAttributeDef - : public TAO::Upcall_Command - { - public: - inline _set_get_exceptions_ExtAttributeDef ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExcDescriptionSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->get_exceptions ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtAttributeDef::_set_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::in_arg_val _tao_get_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_get_exceptions - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _set_get_exceptions_ExtAttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_set_exceptions_ExtAttributeDef - : public TAO::Upcall_Command - { - public: - inline _get_set_exceptions_ExtAttributeDef ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExcDescriptionSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->set_exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtAttributeDef::_get_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _get_set_exceptions_ExtAttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_set_exceptions_ExtAttributeDef - : public TAO::Upcall_Command - { - public: - inline _set_set_exceptions_ExtAttributeDef ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExcDescriptionSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->set_exceptions ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtAttributeDef::_set_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ExcDescriptionSeq>::in_arg_val _tao_set_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_set_exceptions - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _set_set_exceptions_ExtAttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_attribute_ExtAttributeDef - : public TAO::Upcall_Command - { - public: - inline describe_attribute_ExtAttributeDef ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtAttributeDescription>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExtAttributeDescription> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->describe_attribute ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtAttributeDef::describe_attribute_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExtAttributeDescription>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - describe_attribute_ExtAttributeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ExtAttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ExtAttributeDef_Upcall_Command ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAttributeDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _is_a_ExtAttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ExtAttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ExtAttributeDef_Upcall_Command ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAttributeDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _non_existent_ExtAttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ExtAttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ExtAttributeDef_Upcall_Command ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAttributeDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _repository_id_ExtAttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ExtAttributeDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ExtAttributeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ExtAttributeDef_Upcall_Command ( - POA_CORBA::ExtAttributeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAttributeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAttributeDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAttributeDef * const impl = - static_cast (servant); - - _get_component_ExtAttributeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ExtAttributeDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/AttributeDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtAttributeDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ExtAttributeDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ExtAttributeDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ExtAttributeDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ExtAttributeDef * -POA_CORBA::ExtAttributeDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ExtAttributeDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ExtAttributeDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_OperationDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_OperationDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_OperationDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 15, 0, 10, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 5, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 0, 20, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 15, 0, 10, 37, 37, 37, 37, 37, 37, 0, - 5, 37, 37, 37, 37, 0, 20, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_OperationDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 29, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 10, - WORDLIST_SIZE = 33 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::OperationDef::move_skel, 0}, - {"_is_a", &POA_CORBA::OperationDef::_is_a_skel, 0}, - {"_get_name", &POA_CORBA::OperationDef::_get_name_skel, 0}, - {"_set_mode", &POA_CORBA::OperationDef::_set_mode_skel, 0}, - {"_get_mode", &POA_CORBA::OperationDef::_get_mode_skel, 0}, - {"_set_name", &POA_CORBA::OperationDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::OperationDef::_interface_skel, 0}, - {"_get_params", &POA_CORBA::OperationDef::_get_params_skel, 0}, - {"_set_params", &POA_CORBA::OperationDef::_set_params_skel, 0}, - {"_get_contexts", &POA_CORBA::OperationDef::_get_contexts_skel, 0}, - {"_set_contexts", &POA_CORBA::OperationDef::_set_contexts_skel, 0}, - {"_get_exceptions", &POA_CORBA::OperationDef::_get_exceptions_skel, 0}, - {"_set_exceptions", &POA_CORBA::OperationDef::_set_exceptions_skel, 0}, - {"_get_version", &POA_CORBA::OperationDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::OperationDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::OperationDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::OperationDef::_get_defined_in_skel, 0}, - {"_get_id", &POA_CORBA::OperationDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::OperationDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::OperationDef::describe_skel, 0}, - {"_get_result_def", &POA_CORBA::OperationDef::_get_result_def_skel, 0}, - {"_set_result_def", &POA_CORBA::OperationDef::_set_result_def_skel, 0}, - {"_get_def_kind", &POA_CORBA::OperationDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::OperationDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::OperationDef::_component_skel, 0}, - {"_get_result", &POA_CORBA::OperationDef::_get_result_skel, 0}, - {"destroy", &POA_CORBA::OperationDef::destroy_skel, 0}, - {"_non_existent", &POA_CORBA::OperationDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::OperationDef::_get_containing_repository_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - { - const TAO_operation_db_entry *resword; - - switch (key) - { - case 4: - resword = &wordlist[4]; break; - case 5: - resword = &wordlist[5]; break; - case 9: - resword = &wordlist[6]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[7]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[8]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[9]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 10: - resword = &wordlist[10]; break; - case 11: - resword = &wordlist[11]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[12]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 13: - resword = &wordlist[13]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[14]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 15: - resword = &wordlist[15]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[16]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 17: - resword = &wordlist[17]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[18]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 18: - resword = &wordlist[19]; break; - case 20: - resword = &wordlist[20]; break; - case 22: - resword = &wordlist[21]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[22]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 23: - resword = &wordlist[23]; break; - case 25: - resword = &wordlist[24]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[25]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 28: - resword = &wordlist[26]; break; - case 29: - resword = &wordlist[27]; break; - case 30: - resword = &wordlist[28]; break; - case 31: - resword = &wordlist[29]; break; - case 32: - resword = &wordlist[30]; break; - case 33: - resword = &wordlist[31]; break; - case 36: - resword = &wordlist[32]; break; - default: return 0; - } - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) - return resword; - return 0; - } - } - } - return 0; -} - -static TAO_CORBA_OperationDef_Perfect_Hash_OpTable tao_CORBA_OperationDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_OperationDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_OperationDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_OperationDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_OperationDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_OperationDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_OperationDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_OperationDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::OperationDef::OperationDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_OperationDef_optable; -} - -POA_CORBA::OperationDef::OperationDef (const OperationDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::OperationDef::~OperationDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_result_OperationDef - : public TAO::Upcall_Command - { - public: - inline _get_result_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->result ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_get_result_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_result_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_result_def_OperationDef - : public TAO::Upcall_Command - { - public: - inline _get_result_def_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->result_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_get_result_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_result_def_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_result_def_OperationDef - : public TAO::Upcall_Command - { - public: - inline _set_result_def_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->result_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_set_result_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_result_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_result_def - }; - - static size_t const nargs = 2; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _set_result_def_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_params_OperationDef - : public TAO::Upcall_Command - { - public: - inline _get_params_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ParDescriptionSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->params ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_get_params_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_params_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_params_OperationDef - : public TAO::Upcall_Command - { - public: - inline _set_params_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ParDescriptionSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->params ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_set_params_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_val _tao_params; - - TAO::Argument * const args[] = - { - &retval, - &_tao_params - }; - - static size_t const nargs = 2; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _set_params_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_mode_OperationDef - : public TAO::Upcall_Command - { - public: - inline _get_mode_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::OperationMode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::OperationMode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_get_mode_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::OperationMode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_mode_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_mode_OperationDef - : public TAO::Upcall_Command - { - public: - inline _set_mode_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::OperationMode>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::OperationMode> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->mode ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_set_mode_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::OperationMode>::in_arg_val _tao_mode; - - TAO::Argument * const args[] = - { - &retval, - &_tao_mode - }; - - static size_t const nargs = 2; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _set_mode_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_contexts_OperationDef - : public TAO::Upcall_Command - { - public: - inline _get_contexts_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ContextIdSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->contexts ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_get_contexts_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_contexts_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_contexts_OperationDef - : public TAO::Upcall_Command - { - public: - inline _set_contexts_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ContextIdSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->contexts ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_set_contexts_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::in_arg_val _tao_contexts; - - TAO::Argument * const args[] = - { - &retval, - &_tao_contexts - }; - - static size_t const nargs = 2; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _set_contexts_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_exceptions_OperationDef - : public TAO::Upcall_Command - { - public: - inline _get_exceptions_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_exceptions_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_exceptions_OperationDef - : public TAO::Upcall_Command - { - public: - inline _set_exceptions_OperationDef ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->exceptions ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::OperationDef::_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_exceptions - }; - - static size_t const nargs = 2; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _set_exceptions_OperationDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_OperationDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_OperationDef_Upcall_Command ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::OperationDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _is_a_OperationDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_OperationDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_OperationDef_Upcall_Command ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::OperationDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _non_existent_OperationDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_OperationDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_OperationDef_Upcall_Command ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::OperationDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _repository_id_OperationDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::OperationDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_OperationDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_OperationDef_Upcall_Command ( - POA_CORBA::OperationDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::OperationDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::OperationDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::OperationDef * const impl = - static_cast (servant); - - _get_component_OperationDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::OperationDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/OperationDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::OperationDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/OperationDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::OperationDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::OperationDef * -POA_CORBA::OperationDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::OperationDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_OperationDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, - 81, 30, 20, 0, 81, 81, 81, 10, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 0, 0, 5, - 81, 0, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 20, 35, 81, 81, 81, 10, 5, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, -#else - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 0, 81, 0, 81, 30, - 20, 0, 81, 81, 81, 10, 81, 81, 0, 0, - 5, 81, 0, 81, 81, 20, 35, 81, 81, 81, - 10, 5, 81, 81, 81, 81, 81, 81, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 43, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 80, - HASH_VALUE_RANGE = 77, - DUPLICATES = 10, - WORDLIST_SIZE = 47 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::InterfaceDef::move_skel, 0}, - {"_is_a", &POA_CORBA::InterfaceDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::InterfaceDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::InterfaceDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::InterfaceDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::InterfaceDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::InterfaceDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::InterfaceDef::lookup_name_skel, 0}, - {"is_a", &POA_CORBA::InterfaceDef::is_a_skel, 0}, - {"_get_version", &POA_CORBA::InterfaceDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::InterfaceDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::InterfaceDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::InterfaceDef::_get_defined_in_skel, 0}, - {"_get_id", &POA_CORBA::InterfaceDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::InterfaceDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::InterfaceDef::describe_skel, 0}, - {"_get_containing_repository", &POA_CORBA::InterfaceDef::_get_containing_repository_skel, 0}, - {"destroy", &POA_CORBA::InterfaceDef::destroy_skel, 0}, - {"_get_def_kind", &POA_CORBA::InterfaceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::InterfaceDef::_repository_id_skel, 0}, - {"describe_interface", &POA_CORBA::InterfaceDef::describe_interface_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::InterfaceDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::InterfaceDef::_set_base_interfaces_skel, 0}, - {"create_enum", &POA_CORBA::InterfaceDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::InterfaceDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::InterfaceDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::InterfaceDef::create_native_skel, 0}, - {"_component", &POA_CORBA::InterfaceDef::_component_skel, 0}, - {"create_interface", &POA_CORBA::InterfaceDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::InterfaceDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::InterfaceDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::InterfaceDef::create_union_skel, 0}, - {"_non_existent", &POA_CORBA::InterfaceDef::_non_existent_skel, 0}, - {"create_exception", &POA_CORBA::InterfaceDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::InterfaceDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::InterfaceDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::InterfaceDef::create_abstract_interface_skel, 0}, - {"create_value_box", &POA_CORBA::InterfaceDef::create_value_box_skel, 0}, - {"describe_contents", &POA_CORBA::InterfaceDef::describe_contents_skel, 0}, - {"contents", &POA_CORBA::InterfaceDef::contents_skel, 0}, - {"create_alias", &POA_CORBA::InterfaceDef::create_alias_skel, 0}, - {"create_struct", &POA_CORBA::InterfaceDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::InterfaceDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, 5, 6, -7, -3, -82, 10, 11, -1, -1, - 12, -13, -2, -82, 15, -1, 16, -1, -1, -17, -2, -25, -2, -84, - 19, -29, -2, 20, 21, 22, 23, -1, -32, -3, 24, -1, -95, 27, - 28, -94, -1, 31, -90, 35, 36, -37, -2, -82, 39, -1, -1, 40, - 41, 42, 43, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, 46, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable tao_CORBA_InterfaceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_InterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::InterfaceDef::InterfaceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_InterfaceDef_optable; -} - -POA_CORBA::InterfaceDef::InterfaceDef (const InterfaceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::InterfaceDef::~InterfaceDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_base_interfaces_InterfaceDef - : public TAO::Upcall_Command - { - public: - inline _get_base_interfaces_InterfaceDef ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - _get_base_interfaces_InterfaceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_base_interfaces_InterfaceDef - : public TAO::Upcall_Command - { - public: - inline _set_base_interfaces_InterfaceDef ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->base_interfaces ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_base_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_base_interfaces - }; - - static size_t const nargs = 2; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - _set_base_interfaces_InterfaceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class is_a_InterfaceDef - : public TAO::Upcall_Command - { - public: - inline is_a_InterfaceDef ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_interface_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_interface_id - }; - - static size_t const nargs = 2; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - is_a_InterfaceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_interface_InterfaceDef - : public TAO::Upcall_Command - { - public: - inline describe_interface_InterfaceDef ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDef::FullInterfaceDescription>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDef::FullInterfaceDescription> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDef::FullInterfaceDescription>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - describe_interface_InterfaceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_attribute_InterfaceDef - : public TAO::Upcall_Command - { - public: - inline create_attribute_InterfaceDef ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::AttributeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::AttributeDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::AttributeMode> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_attribute ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::AttributeDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type; - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_val _tao_mode; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_type, - &_tao_mode - }; - - static size_t const nargs = 6; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - create_attribute_InterfaceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_operation_InterfaceDef - : public TAO::Upcall_Command - { - public: - inline create_operation_InterfaceDef ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::OperationDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::OperationDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::OperationMode>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::OperationMode> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ParDescriptionSeq> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 7); - - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::in_arg_type arg_8 = - TAO::Portable_Server::get_in_arg< ::CORBA::ContextIdSeq> ( - this->operation_details_, - this->args_, - 8); - - retval = - this->servant_->create_operation ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - , arg_8 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::OperationDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_result; - TAO::SArg_Traits< ::CORBA::OperationMode>::in_arg_val _tao_mode; - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_val _tao_params; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions; - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::in_arg_val _tao_contexts; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_result, - &_tao_mode, - &_tao_params, - &_tao_exceptions, - &_tao_contexts - }; - - static size_t const nargs = 9; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - create_operation_InterfaceDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_InterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_InterfaceDef_Upcall_Command ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - _is_a_InterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_InterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_InterfaceDef_Upcall_Command ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - _non_existent_InterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_InterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_InterfaceDef_Upcall_Command ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - _repository_id_InterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::InterfaceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_InterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_InterfaceDef_Upcall_Command ( - POA_CORBA::InterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceDef * const impl = - static_cast (servant); - - _get_component_InterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::InterfaceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::InterfaceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/InterfaceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::InterfaceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::InterfaceDef * -POA_CORBA::InterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::InterfaceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_InterfaceDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_InterfaceAttrExtension_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_InterfaceAttrExtension_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_InterfaceAttrExtension_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, - 23, 0, 0, 0, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 5, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, -#else - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 0, 23, 0, 23, 0, - 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 5, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_InterfaceAttrExtension_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 7, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 22, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 22, - HASH_VALUE_RANGE = 18, - DUPLICATES = 0, - WORDLIST_SIZE = 12 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::InterfaceAttrExtension::_is_a_skel, 0}, - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_interface", &POA_CORBA::InterfaceAttrExtension::_interface_skel, 0}, - {"",0,0},{"",0,0},{"",0,0}, - {"_repository_id", &POA_CORBA::InterfaceAttrExtension::_repository_id_skel, 0}, - {"_component", &POA_CORBA::InterfaceAttrExtension::_component_skel, 0}, - {"",0,0},{"",0,0}, - {"_non_existent", &POA_CORBA::InterfaceAttrExtension::_non_existent_skel, 0}, - {"",0,0}, - {"create_ext_attribute", &POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel, 0}, - {"",0,0}, - {"describe_ext_interface", &POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - const char *s = wordlist[key].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[key]; - } - } - return 0; -} - -static TAO_CORBA_InterfaceAttrExtension_Perfect_Hash_OpTable tao_CORBA_InterfaceAttrExtension_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::InterfaceAttrExtension::InterfaceAttrExtension (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_InterfaceAttrExtension_optable; -} - -POA_CORBA::InterfaceAttrExtension::InterfaceAttrExtension (const InterfaceAttrExtension& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs) -{ -} - -POA_CORBA::InterfaceAttrExtension::~InterfaceAttrExtension (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_ext_interface_InterfaceAttrExtension - : public TAO::Upcall_Command - { - public: - inline describe_ext_interface_InterfaceAttrExtension ( - POA_CORBA::InterfaceAttrExtension * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceAttrExtension * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - - describe_ext_interface_InterfaceAttrExtension command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_ext_attribute_InterfaceAttrExtension - : public TAO::Upcall_Command - { - public: - inline create_ext_attribute_InterfaceAttrExtension ( - POA_CORBA::InterfaceAttrExtension * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtAttributeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExtAttributeDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::AttributeMode> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 7); - - retval = - this->servant_->create_ext_attribute ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceAttrExtension * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExtAttributeDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type; - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_val _tao_mode; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_get_exceptions; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_set_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_type, - &_tao_mode, - &_tao_get_exceptions, - &_tao_set_exceptions - }; - - static size_t const nargs = 8; - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - - create_ext_attribute_InterfaceAttrExtension command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_InterfaceAttrExtension_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_InterfaceAttrExtension_Upcall_Command ( - POA_CORBA::InterfaceAttrExtension * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceAttrExtension * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceAttrExtension::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - - _is_a_InterfaceAttrExtension_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_InterfaceAttrExtension_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_InterfaceAttrExtension_Upcall_Command ( - POA_CORBA::InterfaceAttrExtension * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceAttrExtension * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceAttrExtension::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - - _non_existent_InterfaceAttrExtension_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_InterfaceAttrExtension_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_InterfaceAttrExtension_Upcall_Command ( - POA_CORBA::InterfaceAttrExtension * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceAttrExtension * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceAttrExtension::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - - _repository_id_InterfaceAttrExtension_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::InterfaceAttrExtension::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_InterfaceAttrExtension_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_InterfaceAttrExtension_Upcall_Command ( - POA_CORBA::InterfaceAttrExtension * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::InterfaceAttrExtension * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::InterfaceAttrExtension::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::InterfaceAttrExtension * const impl = - static_cast (servant); - - _get_component_InterfaceAttrExtension_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::InterfaceAttrExtension::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::InterfaceAttrExtension::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::InterfaceAttrExtension::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::InterfaceAttrExtension * -POA_CORBA::InterfaceAttrExtension::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::InterfaceAttrExtension STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_InterfaceAttrExtension_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ExtInterfaceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ExtInterfaceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ExtInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 30, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, - 74, 0, 20, 0, 74, 74, 74, 5, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 15, 0, 5, - 74, 15, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 15, 30, 74, 74, 74, 15, 5, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, -#else - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 30, 74, 0, 74, 0, - 20, 0, 74, 74, 74, 5, 74, 74, 15, 0, - 5, 74, 15, 74, 74, 15, 30, 74, 74, 74, - 15, 5, 74, 74, 74, 74, 74, 74, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ExtInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 45, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 73, - HASH_VALUE_RANGE = 70, - DUPLICATES = 10, - WORDLIST_SIZE = 49 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ExtInterfaceDef::move_skel, 0}, - {"is_a", &POA_CORBA::ExtInterfaceDef::is_a_skel, 0}, - {"create_enum", &POA_CORBA::ExtInterfaceDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::ExtInterfaceDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ExtInterfaceDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ExtInterfaceDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ExtInterfaceDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ExtInterfaceDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ExtInterfaceDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ExtInterfaceDef::create_union_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ExtInterfaceDef::create_ext_attribute_skel, 0}, - {"create_exception", &POA_CORBA::ExtInterfaceDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ExtInterfaceDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::ExtInterfaceDef::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::ExtInterfaceDef::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ExtInterfaceDef::create_abstract_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ExtInterfaceDef::lookup_name_skel, 0}, - {"create_alias", &POA_CORBA::ExtInterfaceDef::create_alias_skel, 0}, - {"describe", &POA_CORBA::ExtInterfaceDef::describe_skel, 0}, - {"create_value_box", &POA_CORBA::ExtInterfaceDef::create_value_box_skel, 0}, - {"destroy", &POA_CORBA::ExtInterfaceDef::destroy_skel, 0}, - {"_is_a", &POA_CORBA::ExtInterfaceDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ExtInterfaceDef::lookup_skel, 0}, - {"describe_interface", &POA_CORBA::ExtInterfaceDef::describe_interface_skel, 0}, - {"_get_name", &POA_CORBA::ExtInterfaceDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ExtInterfaceDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ExtInterfaceDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ExtInterfaceDef::_interface_skel, 0}, - {"describe_ext_interface", &POA_CORBA::ExtInterfaceDef::describe_ext_interface_skel, 0}, - {"create_struct", &POA_CORBA::ExtInterfaceDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ExtInterfaceDef::create_constant_skel, 0}, - {"_get_version", &POA_CORBA::ExtInterfaceDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ExtInterfaceDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ExtInterfaceDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ExtInterfaceDef::_get_defined_in_skel, 0}, - {"describe_contents", &POA_CORBA::ExtInterfaceDef::describe_contents_skel, 0}, - {"_get_id", &POA_CORBA::ExtInterfaceDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ExtInterfaceDef::_set_id_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ExtInterfaceDef::_get_containing_repository_skel, 0}, - {"_get_def_kind", &POA_CORBA::ExtInterfaceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ExtInterfaceDef::_repository_id_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::ExtInterfaceDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::ExtInterfaceDef::_set_base_interfaces_skel, 0}, - {"_component", &POA_CORBA::ExtInterfaceDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ExtInterfaceDef::_non_existent_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, -1, -1, -8, -2, 5, -1, 6, 7, -79, - -10, -3, -75, 13, -15, -2, 14, -76, 17, 18, -1, 19, 20, 21, - 22, -28, -3, 23, 24, -35, -2, 25, 26, -1, 27, -83, 31, -1, - 32, 33, -1, 34, -1, -87, 37, -1, 38, -1, 39, -1, -1, -40, - -2, -75, -1, -45, -2, 42, -1, 43, 44, -79, -1, -1, -1, -1, - 47, -1, -1, 48, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ExtInterfaceDef_Perfect_Hash_OpTable tao_CORBA_ExtInterfaceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ExtInterfaceDef::ExtInterfaceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ExtInterfaceDef_optable; -} - -POA_CORBA::ExtInterfaceDef::ExtInterfaceDef (const ExtInterfaceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs), - POA_CORBA::InterfaceAttrExtension (rhs) -{ -} - -POA_CORBA::ExtInterfaceDef::~ExtInterfaceDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ExtInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ExtInterfaceDef_Upcall_Command ( - POA_CORBA::ExtInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtInterfaceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtInterfaceDef * const impl = - static_cast (servant); - - _is_a_ExtInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ExtInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ExtInterfaceDef_Upcall_Command ( - POA_CORBA::ExtInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtInterfaceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtInterfaceDef * const impl = - static_cast (servant); - - _non_existent_ExtInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ExtInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ExtInterfaceDef_Upcall_Command ( - POA_CORBA::ExtInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtInterfaceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtInterfaceDef * const impl = - static_cast (servant); - - _repository_id_ExtInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ExtInterfaceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ExtInterfaceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ExtInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ExtInterfaceDef_Upcall_Command ( - POA_CORBA::ExtInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtInterfaceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtInterfaceDef * const impl = - static_cast (servant); - - _get_component_ExtInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ExtInterfaceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ExtInterfaceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ExtInterfaceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ExtInterfaceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ExtInterfaceDef * -POA_CORBA::ExtInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ExtInterfaceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ExtInterfaceDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, - 81, 30, 20, 0, 81, 81, 81, 10, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 0, 0, 5, - 81, 0, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 20, 35, 81, 81, 81, 10, 5, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, -#else - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 0, 81, 0, 81, 30, - 20, 0, 81, 81, 81, 10, 81, 81, 0, 0, - 5, 81, 0, 81, 81, 20, 35, 81, 81, 81, - 10, 5, 81, 81, 81, 81, 81, 81, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 43, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 80, - HASH_VALUE_RANGE = 77, - DUPLICATES = 10, - WORDLIST_SIZE = 47 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::AbstractInterfaceDef::move_skel, 0}, - {"_is_a", &POA_CORBA::AbstractInterfaceDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::AbstractInterfaceDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::AbstractInterfaceDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::AbstractInterfaceDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::AbstractInterfaceDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::AbstractInterfaceDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::AbstractInterfaceDef::lookup_name_skel, 0}, - {"is_a", &POA_CORBA::AbstractInterfaceDef::is_a_skel, 0}, - {"_get_version", &POA_CORBA::AbstractInterfaceDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::AbstractInterfaceDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::AbstractInterfaceDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::AbstractInterfaceDef::_get_defined_in_skel, 0}, - {"_get_id", &POA_CORBA::AbstractInterfaceDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::AbstractInterfaceDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::AbstractInterfaceDef::describe_skel, 0}, - {"_get_containing_repository", &POA_CORBA::AbstractInterfaceDef::_get_containing_repository_skel, 0}, - {"destroy", &POA_CORBA::AbstractInterfaceDef::destroy_skel, 0}, - {"_get_def_kind", &POA_CORBA::AbstractInterfaceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::AbstractInterfaceDef::_repository_id_skel, 0}, - {"describe_interface", &POA_CORBA::AbstractInterfaceDef::describe_interface_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::AbstractInterfaceDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::AbstractInterfaceDef::_set_base_interfaces_skel, 0}, - {"create_enum", &POA_CORBA::AbstractInterfaceDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::AbstractInterfaceDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::AbstractInterfaceDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::AbstractInterfaceDef::create_native_skel, 0}, - {"_component", &POA_CORBA::AbstractInterfaceDef::_component_skel, 0}, - {"create_interface", &POA_CORBA::AbstractInterfaceDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::AbstractInterfaceDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::AbstractInterfaceDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::AbstractInterfaceDef::create_union_skel, 0}, - {"_non_existent", &POA_CORBA::AbstractInterfaceDef::_non_existent_skel, 0}, - {"create_exception", &POA_CORBA::AbstractInterfaceDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::AbstractInterfaceDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::AbstractInterfaceDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::AbstractInterfaceDef::create_abstract_interface_skel, 0}, - {"create_value_box", &POA_CORBA::AbstractInterfaceDef::create_value_box_skel, 0}, - {"describe_contents", &POA_CORBA::AbstractInterfaceDef::describe_contents_skel, 0}, - {"contents", &POA_CORBA::AbstractInterfaceDef::contents_skel, 0}, - {"create_alias", &POA_CORBA::AbstractInterfaceDef::create_alias_skel, 0}, - {"create_struct", &POA_CORBA::AbstractInterfaceDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::AbstractInterfaceDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, 5, 6, -7, -3, -82, 10, 11, -1, -1, - 12, -13, -2, -82, 15, -1, 16, -1, -1, -17, -2, -25, -2, -84, - 19, -29, -2, 20, 21, 22, 23, -1, -32, -3, 24, -1, -95, 27, - 28, -94, -1, 31, -90, 35, 36, -37, -2, -82, 39, -1, -1, 40, - 41, 42, 43, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, 46, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable tao_CORBA_AbstractInterfaceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::AbstractInterfaceDef::AbstractInterfaceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_AbstractInterfaceDef_optable; -} - -POA_CORBA::AbstractInterfaceDef::AbstractInterfaceDef (const AbstractInterfaceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs) -{ -} - -POA_CORBA::AbstractInterfaceDef::~AbstractInterfaceDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_AbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_AbstractInterfaceDef_Upcall_Command ( - POA_CORBA::AbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AbstractInterfaceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::AbstractInterfaceDef * const impl = - static_cast (servant); - - _is_a_AbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_AbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_AbstractInterfaceDef_Upcall_Command ( - POA_CORBA::AbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AbstractInterfaceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AbstractInterfaceDef * const impl = - static_cast (servant); - - _non_existent_AbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_AbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_AbstractInterfaceDef_Upcall_Command ( - POA_CORBA::AbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AbstractInterfaceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AbstractInterfaceDef * const impl = - static_cast (servant); - - _repository_id_AbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::AbstractInterfaceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::AbstractInterfaceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_AbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_AbstractInterfaceDef_Upcall_Command ( - POA_CORBA::AbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::AbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::AbstractInterfaceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::AbstractInterfaceDef * const impl = - static_cast (servant); - - _get_component_AbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::AbstractInterfaceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::AbstractInterfaceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::AbstractInterfaceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::AbstractInterfaceDef * -POA_CORBA::AbstractInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::AbstractInterfaceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_AbstractInterfaceDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ExtAbstractInterfaceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ExtAbstractInterfaceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ExtAbstractInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 30, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, - 74, 0, 20, 0, 74, 74, 74, 5, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 15, 0, 5, - 74, 15, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 15, 30, 74, 74, 74, 15, 5, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, -#else - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 30, 74, 0, 74, 0, - 20, 0, 74, 74, 74, 5, 74, 74, 15, 0, - 5, 74, 15, 74, 74, 15, 30, 74, 74, 74, - 15, 5, 74, 74, 74, 74, 74, 74, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ExtAbstractInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 45, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 73, - HASH_VALUE_RANGE = 70, - DUPLICATES = 10, - WORDLIST_SIZE = 49 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ExtAbstractInterfaceDef::move_skel, 0}, - {"is_a", &POA_CORBA::ExtAbstractInterfaceDef::is_a_skel, 0}, - {"create_enum", &POA_CORBA::ExtAbstractInterfaceDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::ExtAbstractInterfaceDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ExtAbstractInterfaceDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ExtAbstractInterfaceDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ExtAbstractInterfaceDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ExtAbstractInterfaceDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ExtAbstractInterfaceDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ExtAbstractInterfaceDef::create_union_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ExtAbstractInterfaceDef::create_ext_attribute_skel, 0}, - {"create_exception", &POA_CORBA::ExtAbstractInterfaceDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ExtAbstractInterfaceDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::ExtAbstractInterfaceDef::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::ExtAbstractInterfaceDef::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ExtAbstractInterfaceDef::create_abstract_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ExtAbstractInterfaceDef::lookup_name_skel, 0}, - {"create_alias", &POA_CORBA::ExtAbstractInterfaceDef::create_alias_skel, 0}, - {"describe", &POA_CORBA::ExtAbstractInterfaceDef::describe_skel, 0}, - {"create_value_box", &POA_CORBA::ExtAbstractInterfaceDef::create_value_box_skel, 0}, - {"destroy", &POA_CORBA::ExtAbstractInterfaceDef::destroy_skel, 0}, - {"_is_a", &POA_CORBA::ExtAbstractInterfaceDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ExtAbstractInterfaceDef::lookup_skel, 0}, - {"describe_interface", &POA_CORBA::ExtAbstractInterfaceDef::describe_interface_skel, 0}, - {"_get_name", &POA_CORBA::ExtAbstractInterfaceDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ExtAbstractInterfaceDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ExtAbstractInterfaceDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ExtAbstractInterfaceDef::_interface_skel, 0}, - {"describe_ext_interface", &POA_CORBA::ExtAbstractInterfaceDef::describe_ext_interface_skel, 0}, - {"create_struct", &POA_CORBA::ExtAbstractInterfaceDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ExtAbstractInterfaceDef::create_constant_skel, 0}, - {"_get_version", &POA_CORBA::ExtAbstractInterfaceDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ExtAbstractInterfaceDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ExtAbstractInterfaceDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ExtAbstractInterfaceDef::_get_defined_in_skel, 0}, - {"describe_contents", &POA_CORBA::ExtAbstractInterfaceDef::describe_contents_skel, 0}, - {"_get_id", &POA_CORBA::ExtAbstractInterfaceDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ExtAbstractInterfaceDef::_set_id_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ExtAbstractInterfaceDef::_get_containing_repository_skel, 0}, - {"_get_def_kind", &POA_CORBA::ExtAbstractInterfaceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ExtAbstractInterfaceDef::_repository_id_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::ExtAbstractInterfaceDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::ExtAbstractInterfaceDef::_set_base_interfaces_skel, 0}, - {"_component", &POA_CORBA::ExtAbstractInterfaceDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ExtAbstractInterfaceDef::_non_existent_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, -1, -1, -8, -2, 5, -1, 6, 7, -79, - -10, -3, -75, 13, -15, -2, 14, -76, 17, 18, -1, 19, 20, 21, - 22, -28, -3, 23, 24, -35, -2, 25, 26, -1, 27, -83, 31, -1, - 32, 33, -1, 34, -1, -87, 37, -1, 38, -1, 39, -1, -1, -40, - -2, -75, -1, -45, -2, 42, -1, 43, 44, -79, -1, -1, -1, -1, - 47, -1, -1, 48, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ExtAbstractInterfaceDef_Perfect_Hash_OpTable tao_CORBA_ExtAbstractInterfaceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ExtAbstractInterfaceDef::ExtAbstractInterfaceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ExtAbstractInterfaceDef_optable; -} - -POA_CORBA::ExtAbstractInterfaceDef::ExtAbstractInterfaceDef (const ExtAbstractInterfaceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs), - POA_CORBA::AbstractInterfaceDef (rhs), - POA_CORBA::InterfaceAttrExtension (rhs) -{ -} - -POA_CORBA::ExtAbstractInterfaceDef::~ExtAbstractInterfaceDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ExtAbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ExtAbstractInterfaceDef_Upcall_Command ( - POA_CORBA::ExtAbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAbstractInterfaceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtAbstractInterfaceDef * const impl = - static_cast (servant); - - _is_a_ExtAbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ExtAbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ExtAbstractInterfaceDef_Upcall_Command ( - POA_CORBA::ExtAbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAbstractInterfaceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAbstractInterfaceDef * const impl = - static_cast (servant); - - _non_existent_ExtAbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ExtAbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ExtAbstractInterfaceDef_Upcall_Command ( - POA_CORBA::ExtAbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAbstractInterfaceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAbstractInterfaceDef * const impl = - static_cast (servant); - - _repository_id_ExtAbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ExtAbstractInterfaceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ExtAbstractInterfaceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ExtAbstractInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ExtAbstractInterfaceDef_Upcall_Command ( - POA_CORBA::ExtAbstractInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtAbstractInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtAbstractInterfaceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtAbstractInterfaceDef * const impl = - static_cast (servant); - - _get_component_ExtAbstractInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ExtAbstractInterfaceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtAbstractInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ExtAbstractInterfaceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ExtAbstractInterfaceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ExtAbstractInterfaceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ExtAbstractInterfaceDef * -POA_CORBA::ExtAbstractInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ExtAbstractInterfaceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ExtAbstractInterfaceDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, - 81, 30, 20, 0, 81, 81, 81, 10, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 0, 0, 5, - 81, 0, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 20, 35, 81, 81, 81, 10, 5, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, -#else - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 0, 81, 0, 81, 30, - 20, 0, 81, 81, 81, 10, 81, 81, 0, 0, - 5, 81, 0, 81, 81, 20, 35, 81, 81, 81, - 10, 5, 81, 81, 81, 81, 81, 81, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 43, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 80, - HASH_VALUE_RANGE = 77, - DUPLICATES = 10, - WORDLIST_SIZE = 47 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::LocalInterfaceDef::move_skel, 0}, - {"_is_a", &POA_CORBA::LocalInterfaceDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::LocalInterfaceDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::LocalInterfaceDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::LocalInterfaceDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::LocalInterfaceDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::LocalInterfaceDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::LocalInterfaceDef::lookup_name_skel, 0}, - {"is_a", &POA_CORBA::LocalInterfaceDef::is_a_skel, 0}, - {"_get_version", &POA_CORBA::LocalInterfaceDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::LocalInterfaceDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::LocalInterfaceDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::LocalInterfaceDef::_get_defined_in_skel, 0}, - {"_get_id", &POA_CORBA::LocalInterfaceDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::LocalInterfaceDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::LocalInterfaceDef::describe_skel, 0}, - {"_get_containing_repository", &POA_CORBA::LocalInterfaceDef::_get_containing_repository_skel, 0}, - {"destroy", &POA_CORBA::LocalInterfaceDef::destroy_skel, 0}, - {"_get_def_kind", &POA_CORBA::LocalInterfaceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::LocalInterfaceDef::_repository_id_skel, 0}, - {"describe_interface", &POA_CORBA::LocalInterfaceDef::describe_interface_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::LocalInterfaceDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::LocalInterfaceDef::_set_base_interfaces_skel, 0}, - {"create_enum", &POA_CORBA::LocalInterfaceDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::LocalInterfaceDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::LocalInterfaceDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::LocalInterfaceDef::create_native_skel, 0}, - {"_component", &POA_CORBA::LocalInterfaceDef::_component_skel, 0}, - {"create_interface", &POA_CORBA::LocalInterfaceDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::LocalInterfaceDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::LocalInterfaceDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::LocalInterfaceDef::create_union_skel, 0}, - {"_non_existent", &POA_CORBA::LocalInterfaceDef::_non_existent_skel, 0}, - {"create_exception", &POA_CORBA::LocalInterfaceDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::LocalInterfaceDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::LocalInterfaceDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::LocalInterfaceDef::create_abstract_interface_skel, 0}, - {"create_value_box", &POA_CORBA::LocalInterfaceDef::create_value_box_skel, 0}, - {"describe_contents", &POA_CORBA::LocalInterfaceDef::describe_contents_skel, 0}, - {"contents", &POA_CORBA::LocalInterfaceDef::contents_skel, 0}, - {"create_alias", &POA_CORBA::LocalInterfaceDef::create_alias_skel, 0}, - {"create_struct", &POA_CORBA::LocalInterfaceDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::LocalInterfaceDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, 5, 6, -7, -3, -82, 10, 11, -1, -1, - 12, -13, -2, -82, 15, -1, 16, -1, -1, -17, -2, -25, -2, -84, - 19, -29, -2, 20, 21, 22, 23, -1, -32, -3, 24, -1, -95, 27, - 28, -94, -1, 31, -90, 35, 36, -37, -2, -82, 39, -1, -1, 40, - 41, 42, 43, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, 46, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable tao_CORBA_LocalInterfaceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::LocalInterfaceDef::LocalInterfaceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_LocalInterfaceDef_optable; -} - -POA_CORBA::LocalInterfaceDef::LocalInterfaceDef (const LocalInterfaceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs) -{ -} - -POA_CORBA::LocalInterfaceDef::~LocalInterfaceDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_LocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_LocalInterfaceDef_Upcall_Command ( - POA_CORBA::LocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::LocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::LocalInterfaceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::LocalInterfaceDef * const impl = - static_cast (servant); - - _is_a_LocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_LocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_LocalInterfaceDef_Upcall_Command ( - POA_CORBA::LocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::LocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::LocalInterfaceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::LocalInterfaceDef * const impl = - static_cast (servant); - - _non_existent_LocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_LocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_LocalInterfaceDef_Upcall_Command ( - POA_CORBA::LocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::LocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::LocalInterfaceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::LocalInterfaceDef * const impl = - static_cast (servant); - - _repository_id_LocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::LocalInterfaceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::LocalInterfaceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_LocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_LocalInterfaceDef_Upcall_Command ( - POA_CORBA::LocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::LocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::LocalInterfaceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::LocalInterfaceDef * const impl = - static_cast (servant); - - _get_component_LocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::LocalInterfaceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/LocalInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::LocalInterfaceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/LocalInterfaceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::LocalInterfaceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::LocalInterfaceDef * -POA_CORBA::LocalInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::LocalInterfaceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_LocalInterfaceDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ExtLocalInterfaceDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ExtLocalInterfaceDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ExtLocalInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 30, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, - 74, 0, 20, 0, 74, 74, 74, 5, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 15, 0, 5, - 74, 15, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 15, 30, 74, 74, 74, 15, 5, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, -#else - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 30, 74, 0, 74, 0, - 20, 0, 74, 74, 74, 5, 74, 74, 15, 0, - 5, 74, 15, 74, 74, 15, 30, 74, 74, 74, - 15, 5, 74, 74, 74, 74, 74, 74, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ExtLocalInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 45, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 73, - HASH_VALUE_RANGE = 70, - DUPLICATES = 10, - WORDLIST_SIZE = 49 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ExtLocalInterfaceDef::move_skel, 0}, - {"is_a", &POA_CORBA::ExtLocalInterfaceDef::is_a_skel, 0}, - {"create_enum", &POA_CORBA::ExtLocalInterfaceDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::ExtLocalInterfaceDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ExtLocalInterfaceDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ExtLocalInterfaceDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ExtLocalInterfaceDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ExtLocalInterfaceDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ExtLocalInterfaceDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ExtLocalInterfaceDef::create_union_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ExtLocalInterfaceDef::create_ext_attribute_skel, 0}, - {"create_exception", &POA_CORBA::ExtLocalInterfaceDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ExtLocalInterfaceDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::ExtLocalInterfaceDef::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::ExtLocalInterfaceDef::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ExtLocalInterfaceDef::create_abstract_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ExtLocalInterfaceDef::lookup_name_skel, 0}, - {"create_alias", &POA_CORBA::ExtLocalInterfaceDef::create_alias_skel, 0}, - {"describe", &POA_CORBA::ExtLocalInterfaceDef::describe_skel, 0}, - {"create_value_box", &POA_CORBA::ExtLocalInterfaceDef::create_value_box_skel, 0}, - {"destroy", &POA_CORBA::ExtLocalInterfaceDef::destroy_skel, 0}, - {"_is_a", &POA_CORBA::ExtLocalInterfaceDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ExtLocalInterfaceDef::lookup_skel, 0}, - {"describe_interface", &POA_CORBA::ExtLocalInterfaceDef::describe_interface_skel, 0}, - {"_get_name", &POA_CORBA::ExtLocalInterfaceDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ExtLocalInterfaceDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ExtLocalInterfaceDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ExtLocalInterfaceDef::_interface_skel, 0}, - {"describe_ext_interface", &POA_CORBA::ExtLocalInterfaceDef::describe_ext_interface_skel, 0}, - {"create_struct", &POA_CORBA::ExtLocalInterfaceDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ExtLocalInterfaceDef::create_constant_skel, 0}, - {"_get_version", &POA_CORBA::ExtLocalInterfaceDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ExtLocalInterfaceDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ExtLocalInterfaceDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ExtLocalInterfaceDef::_get_defined_in_skel, 0}, - {"describe_contents", &POA_CORBA::ExtLocalInterfaceDef::describe_contents_skel, 0}, - {"_get_id", &POA_CORBA::ExtLocalInterfaceDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ExtLocalInterfaceDef::_set_id_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ExtLocalInterfaceDef::_get_containing_repository_skel, 0}, - {"_get_def_kind", &POA_CORBA::ExtLocalInterfaceDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ExtLocalInterfaceDef::_repository_id_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::ExtLocalInterfaceDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::ExtLocalInterfaceDef::_set_base_interfaces_skel, 0}, - {"_component", &POA_CORBA::ExtLocalInterfaceDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ExtLocalInterfaceDef::_non_existent_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, -1, -1, -8, -2, 5, -1, 6, 7, -79, - -10, -3, -75, 13, -15, -2, 14, -76, 17, 18, -1, 19, 20, 21, - 22, -28, -3, 23, 24, -35, -2, 25, 26, -1, 27, -83, 31, -1, - 32, 33, -1, 34, -1, -87, 37, -1, 38, -1, 39, -1, -1, -40, - -2, -75, -1, -45, -2, 42, -1, 43, 44, -79, -1, -1, -1, -1, - 47, -1, -1, 48, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ExtLocalInterfaceDef_Perfect_Hash_OpTable tao_CORBA_ExtLocalInterfaceDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ExtLocalInterfaceDef::ExtLocalInterfaceDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ExtLocalInterfaceDef_optable; -} - -POA_CORBA::ExtLocalInterfaceDef::ExtLocalInterfaceDef (const ExtLocalInterfaceDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs), - POA_CORBA::LocalInterfaceDef (rhs), - POA_CORBA::InterfaceAttrExtension (rhs) -{ -} - -POA_CORBA::ExtLocalInterfaceDef::~ExtLocalInterfaceDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ExtLocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ExtLocalInterfaceDef_Upcall_Command ( - POA_CORBA::ExtLocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtLocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtLocalInterfaceDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtLocalInterfaceDef * const impl = - static_cast (servant); - - _is_a_ExtLocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ExtLocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ExtLocalInterfaceDef_Upcall_Command ( - POA_CORBA::ExtLocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtLocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtLocalInterfaceDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtLocalInterfaceDef * const impl = - static_cast (servant); - - _non_existent_ExtLocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ExtLocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ExtLocalInterfaceDef_Upcall_Command ( - POA_CORBA::ExtLocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtLocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtLocalInterfaceDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtLocalInterfaceDef * const impl = - static_cast (servant); - - _repository_id_ExtLocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ExtLocalInterfaceDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ExtLocalInterfaceDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ExtLocalInterfaceDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ExtLocalInterfaceDef_Upcall_Command ( - POA_CORBA::ExtLocalInterfaceDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtLocalInterfaceDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtLocalInterfaceDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtLocalInterfaceDef * const impl = - static_cast (servant); - - _get_component_ExtLocalInterfaceDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ExtLocalInterfaceDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/LocalInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtLocalInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ExtLocalInterfaceDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ExtLocalInterfaceDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ExtLocalInterfaceDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ExtLocalInterfaceDef * -POA_CORBA::ExtLocalInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ExtLocalInterfaceDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ExtLocalInterfaceDef_Proxy_Broker_Factory_function_pointer - ); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - - -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.h deleted file mode 100644 index 4082020639a..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.h +++ /dev/null @@ -1,7898 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:409 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_H_ - -#include /**/ "ace/pre.h" - -#include "tao/IFR_Client/IFR_BasicC.h" -#include "orbsvcs/IFRService/IFR_BaseS.h" -#include "tao/ParameterModeS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Collocation_Proxy_Broker.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:49 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class Repository; - typedef Repository *Repository_ptr; - - class Repository - : public virtual POA_CORBA::Container - { - protected: - Repository (void); - - public: - // Useful for template programming. - typedef ::CORBA::Repository _stub_type; - typedef ::CORBA::Repository_ptr _stub_ptr_type; - typedef ::CORBA::Repository_var _stub_var_type; - - Repository (const Repository& rhs); - virtual ~Repository (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::Repository *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Contained_ptr lookup_id ( - const char * search_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void lookup_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr get_canonical_typecode ( - ::CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void get_canonical_typecode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::PrimitiveDef_ptr get_primitive ( - ::CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void get_primitive_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::StringDef_ptr create_string ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_string_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::WstringDef_ptr create_wstring ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_wstring_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::SequenceDef_ptr create_sequence ( - ::CORBA::ULong bound, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_sequence_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ArrayDef_ptr create_array ( - ::CORBA::ULong length, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_array_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::FixedDef_ptr create_fixed ( - ::CORBA::UShort digits, - ::CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_fixed_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ModuleDef; - typedef ModuleDef *ModuleDef_ptr; - - class ModuleDef - : public virtual POA_CORBA::Container, - public virtual POA_CORBA::Contained - { - protected: - ModuleDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ModuleDef _stub_type; - typedef ::CORBA::ModuleDef_ptr _stub_ptr_type; - typedef ::CORBA::ModuleDef_var _stub_var_type; - - ModuleDef (const ModuleDef& rhs); - virtual ~ModuleDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ModuleDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ConstantDef; - typedef ConstantDef *ConstantDef_ptr; - - class ConstantDef - : public virtual POA_CORBA::Contained - { - protected: - ConstantDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ConstantDef _stub_type; - typedef ::CORBA::ConstantDef_ptr _stub_ptr_type; - typedef ::CORBA::ConstantDef_var _stub_var_type; - - ConstantDef (const ConstantDef& rhs); - virtual ~ConstantDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ConstantDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Any * value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void value ( - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class StructDef; - typedef StructDef *StructDef_ptr; - - class StructDef - : public virtual POA_CORBA::TypedefDef, - public virtual POA_CORBA::Container - { - protected: - StructDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::StructDef _stub_type; - typedef ::CORBA::StructDef_ptr _stub_ptr_type; - typedef ::CORBA::StructDef_var _stub_var_type; - - StructDef (const StructDef& rhs); - virtual ~StructDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::StructDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::StructMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void members ( - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class UnionDef; - typedef UnionDef *UnionDef_ptr; - - class UnionDef - : public virtual POA_CORBA::TypedefDef, - public virtual POA_CORBA::Container - { - protected: - UnionDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::UnionDef _stub_type; - typedef ::CORBA::UnionDef_ptr _stub_ptr_type; - typedef ::CORBA::UnionDef_var _stub_var_type; - - UnionDef (const UnionDef& rhs); - virtual ~UnionDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::UnionDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr discriminator_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_discriminator_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr discriminator_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_discriminator_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void discriminator_type_def ( - ::CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_discriminator_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::UnionMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void members ( - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class EnumDef; - typedef EnumDef *EnumDef_ptr; - - class EnumDef - : public virtual POA_CORBA::TypedefDef - { - protected: - EnumDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::EnumDef _stub_type; - typedef ::CORBA::EnumDef_ptr _stub_ptr_type; - typedef ::CORBA::EnumDef_var _stub_var_type; - - EnumDef (const EnumDef& rhs); - virtual ~EnumDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::EnumDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::EnumMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void members ( - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class AliasDef; - typedef AliasDef *AliasDef_ptr; - - class AliasDef - : public virtual POA_CORBA::TypedefDef - { - protected: - AliasDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::AliasDef _stub_type; - typedef ::CORBA::AliasDef_ptr _stub_ptr_type; - typedef ::CORBA::AliasDef_var _stub_var_type; - - AliasDef (const AliasDef& rhs); - virtual ~AliasDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::AliasDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr original_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void original_type_def ( - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class NativeDef; - typedef NativeDef *NativeDef_ptr; - - class NativeDef - : public virtual POA_CORBA::TypedefDef - { - protected: - NativeDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::NativeDef _stub_type; - typedef ::CORBA::NativeDef_ptr _stub_ptr_type; - typedef ::CORBA::NativeDef_var _stub_var_type; - - NativeDef (const NativeDef& rhs); - virtual ~NativeDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::NativeDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class PrimitiveDef; - typedef PrimitiveDef *PrimitiveDef_ptr; - - class PrimitiveDef - : public virtual POA_CORBA::IDLType - { - protected: - PrimitiveDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::PrimitiveDef _stub_type; - typedef ::CORBA::PrimitiveDef_ptr _stub_ptr_type; - typedef ::CORBA::PrimitiveDef_var _stub_var_type; - - PrimitiveDef (const PrimitiveDef& rhs); - virtual ~PrimitiveDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::PrimitiveDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::PrimitiveKind kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class StringDef; - typedef StringDef *StringDef_ptr; - - class StringDef - : public virtual POA_CORBA::IDLType - { - protected: - StringDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::StringDef _stub_type; - typedef ::CORBA::StringDef_ptr _stub_ptr_type; - typedef ::CORBA::StringDef_var _stub_var_type; - - StringDef (const StringDef& rhs); - virtual ~StringDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::StringDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_bound_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_bound_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class WstringDef; - typedef WstringDef *WstringDef_ptr; - - class WstringDef - : public virtual POA_CORBA::IDLType - { - protected: - WstringDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::WstringDef _stub_type; - typedef ::CORBA::WstringDef_ptr _stub_ptr_type; - typedef ::CORBA::WstringDef_var _stub_var_type; - - WstringDef (const WstringDef& rhs); - virtual ~WstringDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::WstringDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_bound_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_bound_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class SequenceDef; - typedef SequenceDef *SequenceDef_ptr; - - class SequenceDef - : public virtual POA_CORBA::IDLType - { - protected: - SequenceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::SequenceDef _stub_type; - typedef ::CORBA::SequenceDef_ptr _stub_ptr_type; - typedef ::CORBA::SequenceDef_var _stub_var_type; - - SequenceDef (const SequenceDef& rhs); - virtual ~SequenceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::SequenceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_bound_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_bound_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_element_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr element_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void element_type_def ( - ::CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ArrayDef; - typedef ArrayDef *ArrayDef_ptr; - - class ArrayDef - : public virtual POA_CORBA::IDLType - { - protected: - ArrayDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ArrayDef _stub_type; - typedef ::CORBA::ArrayDef_ptr _stub_ptr_type; - typedef ::CORBA::ArrayDef_var _stub_var_type; - - ArrayDef (const ArrayDef& rhs); - virtual ~ArrayDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ArrayDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ULong length ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_length_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void length ( - ::CORBA::ULong length - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_length_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_element_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr element_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void element_type_def ( - ::CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_element_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ExceptionDef; - typedef ExceptionDef *ExceptionDef_ptr; - - class ExceptionDef - : public virtual POA_CORBA::Contained, - public virtual POA_CORBA::Container - { - protected: - ExceptionDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ExceptionDef _stub_type; - typedef ::CORBA::ExceptionDef_ptr _stub_ptr_type; - typedef ::CORBA::ExceptionDef_var _stub_var_type; - - ExceptionDef (const ExceptionDef& rhs); - virtual ~ExceptionDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ExceptionDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::StructMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void members ( - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_members_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class AttributeDef; - typedef AttributeDef *AttributeDef_ptr; - - class AttributeDef - : public virtual POA_CORBA::Contained - { - protected: - AttributeDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::AttributeDef _stub_type; - typedef ::CORBA::AttributeDef_ptr _stub_ptr_type; - typedef ::CORBA::AttributeDef_var _stub_var_type; - - AttributeDef (const AttributeDef& rhs); - virtual ~AttributeDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::AttributeDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::AttributeMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void mode ( - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ExtAttributeDef; - typedef ExtAttributeDef *ExtAttributeDef_ptr; - - class ExtAttributeDef - : public virtual POA_CORBA::AttributeDef - { - protected: - ExtAttributeDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ExtAttributeDef _stub_type; - typedef ::CORBA::ExtAttributeDef_ptr _stub_ptr_type; - typedef ::CORBA::ExtAttributeDef_var _stub_var_type; - - ExtAttributeDef (const ExtAttributeDef& rhs); - virtual ~ExtAttributeDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ExtAttributeDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExcDescriptionSeq * get_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void get_exceptions ( - const ::CORBA::ExcDescriptionSeq & get_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExcDescriptionSeq * set_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void set_exceptions ( - const ::CORBA::ExcDescriptionSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExtAttributeDescription * describe_attribute ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class OperationDef; - typedef OperationDef *OperationDef_ptr; - - class OperationDef - : public virtual POA_CORBA::Contained - { - protected: - OperationDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::OperationDef _stub_type; - typedef ::CORBA::OperationDef_ptr _stub_ptr_type; - typedef ::CORBA::OperationDef_var _stub_var_type; - - OperationDef (const OperationDef& rhs); - virtual ~OperationDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::OperationDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr result ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_result_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr result_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ParDescriptionSeq * params ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::OperationMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ContextIdSeq * contexts ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExceptionDefSeq * exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class InterfaceDef; - typedef InterfaceDef *InterfaceDef_ptr; - - class InterfaceDef - : public virtual POA_CORBA::Container, - public virtual POA_CORBA::Contained, - public virtual POA_CORBA::IDLType - { - protected: - InterfaceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::InterfaceDef _stub_type; - typedef ::CORBA::InterfaceDef_ptr _stub_ptr_type; - typedef ::CORBA::InterfaceDef_var _stub_var_type; - - InterfaceDef (const InterfaceDef& rhs); - virtual ~InterfaceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::InterfaceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class InterfaceAttrExtension; - typedef InterfaceAttrExtension *InterfaceAttrExtension_ptr; - - class InterfaceAttrExtension - : public virtual PortableServer::ServantBase - { - protected: - InterfaceAttrExtension (void); - - public: - // Useful for template programming. - typedef ::CORBA::InterfaceAttrExtension _stub_type; - typedef ::CORBA::InterfaceAttrExtension_ptr _stub_ptr_type; - typedef ::CORBA::InterfaceAttrExtension_var _stub_var_type; - - InterfaceAttrExtension (const InterfaceAttrExtension& rhs); - virtual ~InterfaceAttrExtension (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::InterfaceAttrExtension *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ExtInterfaceDef; - typedef ExtInterfaceDef *ExtInterfaceDef_ptr; - - class ExtInterfaceDef - : public virtual POA_CORBA::InterfaceDef, - public virtual POA_CORBA::InterfaceAttrExtension - { - protected: - ExtInterfaceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ExtInterfaceDef _stub_type; - typedef ::CORBA::ExtInterfaceDef_ptr _stub_ptr_type; - typedef ::CORBA::ExtInterfaceDef_var _stub_var_type; - - ExtInterfaceDef (const ExtInterfaceDef& rhs); - virtual ~ExtInterfaceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ExtInterfaceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class AbstractInterfaceDef; - typedef AbstractInterfaceDef *AbstractInterfaceDef_ptr; - - class AbstractInterfaceDef - : public virtual POA_CORBA::InterfaceDef - { - protected: - AbstractInterfaceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::AbstractInterfaceDef _stub_type; - typedef ::CORBA::AbstractInterfaceDef_ptr _stub_ptr_type; - typedef ::CORBA::AbstractInterfaceDef_var _stub_var_type; - - AbstractInterfaceDef (const AbstractInterfaceDef& rhs); - virtual ~AbstractInterfaceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::AbstractInterfaceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ExtAbstractInterfaceDef; - typedef ExtAbstractInterfaceDef *ExtAbstractInterfaceDef_ptr; - - class ExtAbstractInterfaceDef - : public virtual POA_CORBA::AbstractInterfaceDef, - public virtual POA_CORBA::InterfaceAttrExtension - { - protected: - ExtAbstractInterfaceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ExtAbstractInterfaceDef _stub_type; - typedef ::CORBA::ExtAbstractInterfaceDef_ptr _stub_ptr_type; - typedef ::CORBA::ExtAbstractInterfaceDef_var _stub_var_type; - - ExtAbstractInterfaceDef (const ExtAbstractInterfaceDef& rhs); - virtual ~ExtAbstractInterfaceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ExtAbstractInterfaceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class LocalInterfaceDef; - typedef LocalInterfaceDef *LocalInterfaceDef_ptr; - - class LocalInterfaceDef - : public virtual POA_CORBA::InterfaceDef - { - protected: - LocalInterfaceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::LocalInterfaceDef _stub_type; - typedef ::CORBA::LocalInterfaceDef_ptr _stub_ptr_type; - typedef ::CORBA::LocalInterfaceDef_var _stub_var_type; - - LocalInterfaceDef (const LocalInterfaceDef& rhs); - virtual ~LocalInterfaceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::LocalInterfaceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ExtLocalInterfaceDef; - typedef ExtLocalInterfaceDef *ExtLocalInterfaceDef_ptr; - - class ExtLocalInterfaceDef - : public virtual POA_CORBA::LocalInterfaceDef, - public virtual POA_CORBA::InterfaceAttrExtension - { - protected: - ExtLocalInterfaceDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ExtLocalInterfaceDef _stub_type; - typedef ::CORBA::ExtLocalInterfaceDef_ptr _stub_ptr_type; - typedef ::CORBA::ExtLocalInterfaceDef_var _stub_var_type; - - ExtLocalInterfaceDef (const ExtLocalInterfaceDef& rhs); - virtual ~ExtLocalInterfaceDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ExtLocalInterfaceDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:80 - -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1219 - - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "IFR_BasicS_T.h" - -#if defined (__ACE_INLINE__) -#include "IFR_BasicS.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl deleted file mode 100644 index 302ffa66e28..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl +++ /dev/null @@ -1,9663 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -ACE_INLINE -void -POA_CORBA::Repository::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::Repository::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ModuleDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ModuleDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ConstantDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ConstantDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ConstantDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ConstantDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StructDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StructDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::UnionDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::UnionDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::EnumDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::EnumDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::EnumDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::EnumDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AliasDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AliasDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AliasDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AliasDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::NativeDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::NativeDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::NativeDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::NativeDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::PrimitiveDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::PrimitiveDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::PrimitiveDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StringDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::StringDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::StringDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::WstringDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::WstringDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::WstringDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::SequenceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::SequenceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::SequenceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ArrayDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ArrayDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ArrayDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExceptionDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExceptionDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AttributeDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AttributeDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AttributeDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AttributeDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::AttributeDef * const impl = static_cast (servant); - POA_CORBA::AttributeDef::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::AttributeDef * const impl = static_cast (servant); - POA_CORBA::AttributeDef::_get_type_def_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_set_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::AttributeDef * const impl = static_cast (servant); - POA_CORBA::AttributeDef::_set_type_def_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::AttributeDef * const impl = static_cast (servant); - POA_CORBA::AttributeDef::_get_mode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAttributeDef::_set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::AttributeDef * const impl = static_cast (servant); - POA_CORBA::AttributeDef::_set_mode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::OperationDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::OperationDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::OperationDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::OperationDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::InterfaceDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::InterfaceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtInterfaceDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::AbstractInterfaceDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtAbstractInterfaceDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::LocalInterfaceDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtLocalInterfaceDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.cpp deleted file mode 100644 index d95b6d48dac..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:683 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_T_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_T_CPP_ - -#include "IFR_BasicS_T.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_BasicS_T.inl" -#endif /* !defined INLINE */ - - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#endif /* ifndef */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h deleted file mode 100644 index e316d990dc1..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h +++ /dev/null @@ -1,7971 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:545 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_T_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_BASICS_T_H_ - -#include /**/ "ace/pre.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_root/root_sth.cpp:116 - -namespace POA_CORBA -{ - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class Repository_tie : public Repository - { - public: - /// the T& ctor - Repository_tie (T &t); - /// ctor taking a POA - Repository_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - Repository_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - Repository_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~Repository_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup_id ( - const char * search_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr get_canonical_typecode ( - ::CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::PrimitiveDef_ptr get_primitive ( - ::CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StringDef_ptr create_string ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::WstringDef_ptr create_wstring ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::SequenceDef_ptr create_sequence ( - ::CORBA::ULong bound, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ArrayDef_ptr create_array ( - ::CORBA::ULong length, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::FixedDef_ptr create_fixed ( - ::CORBA::UShort digits, - ::CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - Repository_tie (const Repository_tie &); - void operator= (const Repository_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ModuleDef_tie : public ModuleDef - { - public: - /// the T& ctor - ModuleDef_tie (T &t); - /// ctor taking a POA - ModuleDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ModuleDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ModuleDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ModuleDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ModuleDef_tie (const ModuleDef_tie &); - void operator= (const ModuleDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ConstantDef_tie : public ConstantDef - { - public: - /// the T& ctor - ConstantDef_tie (T &t); - /// ctor taking a POA - ConstantDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ConstantDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ConstantDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ConstantDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Any * value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void value ( - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ConstantDef_tie (const ConstantDef_tie &); - void operator= (const ConstantDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class StructDef_tie : public StructDef - { - public: - /// the T& ctor - StructDef_tie (T &t); - /// ctor taking a POA - StructDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - StructDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - StructDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~StructDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void members ( - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - StructDef_tie (const StructDef_tie &); - void operator= (const StructDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class UnionDef_tie : public UnionDef - { - public: - /// the T& ctor - UnionDef_tie (T &t); - /// ctor taking a POA - UnionDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - UnionDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - UnionDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~UnionDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr discriminator_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr discriminator_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void discriminator_type_def ( - ::CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void members ( - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - UnionDef_tie (const UnionDef_tie &); - void operator= (const UnionDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class EnumDef_tie : public EnumDef - { - public: - /// the T& ctor - EnumDef_tie (T &t); - /// ctor taking a POA - EnumDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - EnumDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - EnumDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~EnumDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void members ( - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - EnumDef_tie (const EnumDef_tie &); - void operator= (const EnumDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class AliasDef_tie : public AliasDef - { - public: - /// the T& ctor - AliasDef_tie (T &t); - /// ctor taking a POA - AliasDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - AliasDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - AliasDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~AliasDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr original_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void original_type_def ( - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - AliasDef_tie (const AliasDef_tie &); - void operator= (const AliasDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class NativeDef_tie : public NativeDef - { - public: - /// the T& ctor - NativeDef_tie (T &t); - /// ctor taking a POA - NativeDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - NativeDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - NativeDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~NativeDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - NativeDef_tie (const NativeDef_tie &); - void operator= (const NativeDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class PrimitiveDef_tie : public PrimitiveDef - { - public: - /// the T& ctor - PrimitiveDef_tie (T &t); - /// ctor taking a POA - PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - PrimitiveDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - PrimitiveDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~PrimitiveDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::PrimitiveKind kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - PrimitiveDef_tie (const PrimitiveDef_tie &); - void operator= (const PrimitiveDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class StringDef_tie : public StringDef - { - public: - /// the T& ctor - StringDef_tie (T &t); - /// ctor taking a POA - StringDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - StringDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - StringDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~StringDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - StringDef_tie (const StringDef_tie &); - void operator= (const StringDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class WstringDef_tie : public WstringDef - { - public: - /// the T& ctor - WstringDef_tie (T &t); - /// ctor taking a POA - WstringDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - WstringDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - WstringDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~WstringDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - WstringDef_tie (const WstringDef_tie &); - void operator= (const WstringDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class SequenceDef_tie : public SequenceDef - { - public: - /// the T& ctor - SequenceDef_tie (T &t); - /// ctor taking a POA - SequenceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - SequenceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - SequenceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~SequenceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr element_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void element_type_def ( - ::CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - SequenceDef_tie (const SequenceDef_tie &); - void operator= (const SequenceDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ArrayDef_tie : public ArrayDef - { - public: - /// the T& ctor - ArrayDef_tie (T &t); - /// ctor taking a POA - ArrayDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ArrayDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ArrayDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ArrayDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ULong length ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void length ( - ::CORBA::ULong length - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr element_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void element_type_def ( - ::CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ArrayDef_tie (const ArrayDef_tie &); - void operator= (const ArrayDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ExceptionDef_tie : public ExceptionDef - { - public: - /// the T& ctor - ExceptionDef_tie (T &t); - /// ctor taking a POA - ExceptionDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ExceptionDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ExceptionDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ExceptionDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructMemberSeq * members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void members ( - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExceptionDef_tie (const ExceptionDef_tie &); - void operator= (const ExceptionDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class AttributeDef_tie : public AttributeDef - { - public: - /// the T& ctor - AttributeDef_tie (T &t); - /// ctor taking a POA - AttributeDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - AttributeDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - AttributeDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~AttributeDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void mode ( - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - AttributeDef_tie (const AttributeDef_tie &); - void operator= (const AttributeDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ExtAttributeDef_tie : public ExtAttributeDef - { - public: - /// the T& ctor - ExtAttributeDef_tie (T &t); - /// ctor taking a POA - ExtAttributeDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ExtAttributeDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ExtAttributeDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ExtAttributeDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void mode ( - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExcDescriptionSeq * get_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void get_exceptions ( - const ::CORBA::ExcDescriptionSeq & get_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExcDescriptionSeq * set_exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void set_exceptions ( - const ::CORBA::ExcDescriptionSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDescription * describe_attribute ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExtAttributeDef_tie (const ExtAttributeDef_tie &); - void operator= (const ExtAttributeDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class OperationDef_tie : public OperationDef - { - public: - /// the T& ctor - OperationDef_tie (T &t); - /// ctor taking a POA - OperationDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - OperationDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - OperationDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~OperationDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr result ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr result_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ParDescriptionSeq * params ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContextIdSeq * contexts ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDefSeq * exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - OperationDef_tie (const OperationDef_tie &); - void operator= (const OperationDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class InterfaceDef_tie : public InterfaceDef - { - public: - /// the T& ctor - InterfaceDef_tie (T &t); - /// ctor taking a POA - InterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - InterfaceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - InterfaceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~InterfaceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - InterfaceDef_tie (const InterfaceDef_tie &); - void operator= (const InterfaceDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class InterfaceAttrExtension_tie : public InterfaceAttrExtension - { - public: - /// the T& ctor - InterfaceAttrExtension_tie (T &t); - /// ctor taking a POA - InterfaceAttrExtension_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - InterfaceAttrExtension_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - InterfaceAttrExtension_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~InterfaceAttrExtension_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - InterfaceAttrExtension_tie (const InterfaceAttrExtension_tie &); - void operator= (const InterfaceAttrExtension_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ExtInterfaceDef_tie : public ExtInterfaceDef - { - public: - /// the T& ctor - ExtInterfaceDef_tie (T &t); - /// ctor taking a POA - ExtInterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ExtInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ExtInterfaceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ExtInterfaceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExtInterfaceDef_tie (const ExtInterfaceDef_tie &); - void operator= (const ExtInterfaceDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class AbstractInterfaceDef_tie : public AbstractInterfaceDef - { - public: - /// the T& ctor - AbstractInterfaceDef_tie (T &t); - /// ctor taking a POA - AbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - AbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - AbstractInterfaceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~AbstractInterfaceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - AbstractInterfaceDef_tie (const AbstractInterfaceDef_tie &); - void operator= (const AbstractInterfaceDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ExtAbstractInterfaceDef_tie : public ExtAbstractInterfaceDef - { - public: - /// the T& ctor - ExtAbstractInterfaceDef_tie (T &t); - /// ctor taking a POA - ExtAbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ExtAbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ExtAbstractInterfaceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ExtAbstractInterfaceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExtAbstractInterfaceDef_tie (const ExtAbstractInterfaceDef_tie &); - void operator= (const ExtAbstractInterfaceDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class LocalInterfaceDef_tie : public LocalInterfaceDef - { - public: - /// the T& ctor - LocalInterfaceDef_tie (T &t); - /// ctor taking a POA - LocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - LocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - LocalInterfaceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~LocalInterfaceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - LocalInterfaceDef_tie (const LocalInterfaceDef_tie &); - void operator= (const LocalInterfaceDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ExtLocalInterfaceDef_tie : public ExtLocalInterfaceDef - { - public: - /// the T& ctor - ExtLocalInterfaceDef_tie (T &t); - /// ctor taking a POA - ExtLocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ExtLocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ExtLocalInterfaceDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ExtLocalInterfaceDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExtLocalInterfaceDef_tie (const ExtLocalInterfaceDef_tie &); - void operator= (const ExtLocalInterfaceDef_tie &); - }; -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1322 - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "IFR_BasicS_T.inl" -#endif /* defined INLINE */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "IFR_BasicS_T.cpp" -#endif /* defined REQUIRED SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("IFR_BasicS_T.cpp") -#endif /* defined REQUIRED PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl deleted file mode 100644 index dcc845194d3..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl +++ /dev/null @@ -1,13439 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::Repository_tie::Repository_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::Repository_tie::Repository_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::Repository_tie::Repository_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::Repository_tie::Repository_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::Repository_tie::~Repository_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::Repository_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::Repository_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::Repository_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::Repository_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::Repository_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::Repository_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->Repository::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::Repository_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::Repository_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::Repository_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::Repository_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::Repository_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::Repository_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::Repository_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::Repository_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::Repository_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::Repository_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::Repository_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::Repository_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::Repository_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::Repository_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::Repository_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::Repository_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::Repository_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::Repository_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::Repository_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::Repository_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::Repository_tie::lookup_id ( - const char * search_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_id ( - search_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::Repository_tie::get_canonical_typecode ( - ::CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->get_canonical_typecode ( - tc - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::PrimitiveDef_ptr POA_CORBA::Repository_tie::get_primitive ( - ::CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->get_primitive ( - kind - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StringDef_ptr POA_CORBA::Repository_tie::create_string ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_string ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::WstringDef_ptr POA_CORBA::Repository_tie::create_wstring ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_wstring ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::SequenceDef_ptr POA_CORBA::Repository_tie::create_sequence ( - ::CORBA::ULong bound, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_sequence ( - bound, - element_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ArrayDef_ptr POA_CORBA::Repository_tie::create_array ( - ::CORBA::ULong length, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_array ( - length, - element_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::FixedDef_ptr POA_CORBA::Repository_tie::create_fixed ( - ::CORBA::UShort digits, - ::CORBA::Short scale - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_fixed ( - digits, - scale - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ModuleDef_tie::ModuleDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ModuleDef_tie::ModuleDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ModuleDef_tie::ModuleDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ModuleDef_tie::ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ModuleDef_tie::~ModuleDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ModuleDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ModuleDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ModuleDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ModuleDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ModuleDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ModuleDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ModuleDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ModuleDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ModuleDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ModuleDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ModuleDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ModuleDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ModuleDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ModuleDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ModuleDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ModuleDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ModuleDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ModuleDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ModuleDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ModuleDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ModuleDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ModuleDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ModuleDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ModuleDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ModuleDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ModuleDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ModuleDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ModuleDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ModuleDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ModuleDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ModuleDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ModuleDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ModuleDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ModuleDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ModuleDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ModuleDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ModuleDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ModuleDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ConstantDef_tie::ConstantDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ConstantDef_tie::ConstantDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ConstantDef_tie::ConstantDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ConstantDef_tie::ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ConstantDef_tie::~ConstantDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ConstantDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ConstantDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ConstantDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ConstantDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ConstantDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ConstantDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ConstantDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ConstantDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ConstantDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ConstantDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ConstantDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ConstantDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ConstantDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ConstantDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ConstantDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ConstantDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ConstantDef_tie::type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->type_def ( - type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Any * POA_CORBA::ConstantDef_tie::value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ConstantDef_tie::value ( - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->value ( - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::StructDef_tie::StructDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::StructDef_tie::StructDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::StructDef_tie::StructDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::StructDef_tie::StructDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::StructDef_tie::~StructDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::StructDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::StructDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::StructDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::StructDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::StructDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::StructDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->StructDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::StructDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StructDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::StructDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StructDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::StructDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StructDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::StructDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StructDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::StructDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::StructDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::StructDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::StructDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StructDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::StructDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::StructDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::StructDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::StructDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::StructDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::StructDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::StructDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::StructDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::StructDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::StructDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::StructDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::StructDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::StructDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::StructDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::StructDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::StructDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::StructDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::StructDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::StructDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructMemberSeq * POA_CORBA::StructDef_tie::members ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StructDef_tie::members ( - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->members ( - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::UnionDef_tie::UnionDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::UnionDef_tie::UnionDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::UnionDef_tie::UnionDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::UnionDef_tie::UnionDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::UnionDef_tie::~UnionDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::UnionDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::UnionDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::UnionDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::UnionDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::UnionDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::UnionDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->UnionDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::UnionDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::UnionDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::UnionDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::UnionDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::UnionDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::UnionDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::UnionDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::UnionDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::UnionDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::UnionDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::UnionDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::UnionDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::UnionDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::UnionDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::UnionDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::UnionDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::UnionDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::UnionDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::UnionDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::UnionDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::UnionDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::UnionDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::UnionDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::UnionDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::UnionDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::UnionDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::UnionDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::UnionDef_tie::discriminator_type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->discriminator_type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::UnionDef_tie::discriminator_type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->discriminator_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::discriminator_type_def ( - ::CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->discriminator_type_def ( - discriminator_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionMemberSeq * POA_CORBA::UnionDef_tie::members ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::UnionDef_tie::members ( - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->members ( - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::EnumDef_tie::EnumDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::EnumDef_tie::EnumDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::EnumDef_tie::EnumDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::EnumDef_tie::EnumDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::EnumDef_tie::~EnumDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::EnumDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::EnumDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::EnumDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::EnumDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::EnumDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::EnumDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->EnumDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::EnumDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::EnumDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::EnumDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::EnumDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::EnumDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::EnumDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::EnumDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::EnumDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::EnumDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::EnumDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::EnumDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::EnumDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::EnumDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::EnumDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumMemberSeq * POA_CORBA::EnumDef_tie::members ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::EnumDef_tie::members ( - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->members ( - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::AliasDef_tie::AliasDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::AliasDef_tie::AliasDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::AliasDef_tie::AliasDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::AliasDef_tie::AliasDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::AliasDef_tie::~AliasDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::AliasDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::AliasDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::AliasDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::AliasDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::AliasDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::AliasDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->AliasDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::AliasDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AliasDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AliasDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AliasDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AliasDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AliasDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AliasDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AliasDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::AliasDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AliasDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::AliasDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::AliasDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AliasDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::AliasDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::AliasDef_tie::original_type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->original_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AliasDef_tie::original_type_def ( - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->original_type_def ( - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::NativeDef_tie::NativeDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::NativeDef_tie::NativeDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::NativeDef_tie::NativeDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::NativeDef_tie::NativeDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::NativeDef_tie::~NativeDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::NativeDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::NativeDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::NativeDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::NativeDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::NativeDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::NativeDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->NativeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::NativeDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::NativeDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::NativeDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::NativeDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::NativeDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::NativeDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::NativeDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::NativeDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::NativeDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::NativeDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::NativeDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::NativeDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::NativeDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::NativeDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::PrimitiveDef_tie::PrimitiveDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::PrimitiveDef_tie::PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::PrimitiveDef_tie::PrimitiveDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::PrimitiveDef_tie::PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::PrimitiveDef_tie::~PrimitiveDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::PrimitiveDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::PrimitiveDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::PrimitiveDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::PrimitiveDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::PrimitiveDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::PrimitiveDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->PrimitiveDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::PrimitiveDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::PrimitiveDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::PrimitiveDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::PrimitiveKind POA_CORBA::PrimitiveDef_tie::kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::StringDef_tie::StringDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::StringDef_tie::StringDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::StringDef_tie::StringDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::StringDef_tie::StringDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::StringDef_tie::~StringDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::StringDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::StringDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::StringDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::StringDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::StringDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::StringDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->StringDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::StringDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StringDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::StringDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ULong POA_CORBA::StringDef_tie::bound ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->bound ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::StringDef_tie::bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->bound ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::WstringDef_tie::WstringDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::WstringDef_tie::WstringDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::WstringDef_tie::WstringDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::WstringDef_tie::WstringDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::WstringDef_tie::~WstringDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::WstringDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::WstringDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::WstringDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::WstringDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::WstringDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::WstringDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->WstringDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::WstringDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::WstringDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::WstringDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ULong POA_CORBA::WstringDef_tie::bound ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->bound ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::WstringDef_tie::bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->bound ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::SequenceDef_tie::SequenceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::SequenceDef_tie::SequenceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::SequenceDef_tie::SequenceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::SequenceDef_tie::SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::SequenceDef_tie::~SequenceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::SequenceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::SequenceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::SequenceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::SequenceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::SequenceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::SequenceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->SequenceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::SequenceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::SequenceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::SequenceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ULong POA_CORBA::SequenceDef_tie::bound ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->bound ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::SequenceDef_tie::bound ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->bound ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::SequenceDef_tie::element_type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->element_type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::SequenceDef_tie::element_type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->element_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::SequenceDef_tie::element_type_def ( - ::CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->element_type_def ( - element_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ArrayDef_tie::ArrayDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ArrayDef_tie::ArrayDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ArrayDef_tie::ArrayDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ArrayDef_tie::ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ArrayDef_tie::~ArrayDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ArrayDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ArrayDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ArrayDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ArrayDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ArrayDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ArrayDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ArrayDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ArrayDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ArrayDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ArrayDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ULong POA_CORBA::ArrayDef_tie::length ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->length ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ArrayDef_tie::length ( - ::CORBA::ULong length - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->length ( - length - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ArrayDef_tie::element_type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->element_type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ArrayDef_tie::element_type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->element_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ArrayDef_tie::element_type_def ( - ::CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->element_type_def ( - element_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ExceptionDef_tie::ExceptionDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExceptionDef_tie::ExceptionDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExceptionDef_tie::ExceptionDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExceptionDef_tie::ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExceptionDef_tie::~ExceptionDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ExceptionDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ExceptionDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ExceptionDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ExceptionDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ExceptionDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ExceptionDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ExceptionDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ExceptionDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExceptionDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExceptionDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExceptionDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExceptionDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExceptionDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExceptionDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExceptionDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ExceptionDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExceptionDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ExceptionDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ExceptionDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExceptionDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ExceptionDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExceptionDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExceptionDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ExceptionDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ExceptionDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ExceptionDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ExceptionDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ExceptionDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ExceptionDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ExceptionDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ExceptionDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ExceptionDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ExceptionDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ExceptionDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ExceptionDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExceptionDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExceptionDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ExceptionDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ExceptionDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructMemberSeq * POA_CORBA::ExceptionDef_tie::members ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->members ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExceptionDef_tie::members ( - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->members ( - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::AttributeDef_tie::AttributeDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::AttributeDef_tie::AttributeDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::AttributeDef_tie::AttributeDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::AttributeDef_tie::AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::AttributeDef_tie::~AttributeDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::AttributeDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::AttributeDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::AttributeDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::AttributeDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::AttributeDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::AttributeDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->AttributeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::AttributeDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AttributeDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AttributeDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AttributeDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::AttributeDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AttributeDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::AttributeDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::AttributeDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::AttributeDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::AttributeDef_tie::type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->type_def ( - type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeMode POA_CORBA::AttributeDef_tie::mode ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AttributeDef_tie::mode ( - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->mode ( - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ExtAttributeDef_tie::ExtAttributeDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtAttributeDef_tie::ExtAttributeDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtAttributeDef_tie::ExtAttributeDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtAttributeDef_tie::ExtAttributeDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtAttributeDef_tie::~ExtAttributeDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ExtAttributeDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ExtAttributeDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ExtAttributeDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ExtAttributeDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ExtAttributeDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ExtAttributeDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ExtAttributeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ExtAttributeDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAttributeDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAttributeDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAttributeDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ExtAttributeDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAttributeDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ExtAttributeDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ExtAttributeDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ExtAttributeDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ExtAttributeDef_tie::type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->type_def ( - type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeMode POA_CORBA::ExtAttributeDef_tie::mode ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::mode ( - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->mode ( - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExcDescriptionSeq * POA_CORBA::ExtAttributeDef_tie::get_exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->get_exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::get_exceptions ( - const ::CORBA::ExcDescriptionSeq & get_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->get_exceptions ( - get_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExcDescriptionSeq * POA_CORBA::ExtAttributeDef_tie::set_exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->set_exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAttributeDef_tie::set_exceptions ( - const ::CORBA::ExcDescriptionSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->set_exceptions ( - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDescription * POA_CORBA::ExtAttributeDef_tie::describe_attribute ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_attribute ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::OperationDef_tie::OperationDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::OperationDef_tie::OperationDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::OperationDef_tie::OperationDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::OperationDef_tie::OperationDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::OperationDef_tie::~OperationDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::OperationDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::OperationDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::OperationDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::OperationDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::OperationDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::OperationDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->OperationDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::OperationDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::OperationDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::OperationDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::OperationDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::OperationDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::OperationDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::OperationDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::OperationDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::OperationDef_tie::result ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->result ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::OperationDef_tie::result_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->result_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->result_def ( - result_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ParDescriptionSeq * POA_CORBA::OperationDef_tie::params ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->params ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->params ( - params - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationMode POA_CORBA::OperationDef_tie::mode ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->mode ( - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContextIdSeq * POA_CORBA::OperationDef_tie::contexts ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contexts ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->contexts ( - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDefSeq * POA_CORBA::OperationDef_tie::exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::OperationDef_tie::exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->exceptions ( - exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::InterfaceDef_tie::InterfaceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::InterfaceDef_tie::InterfaceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::InterfaceDef_tie::InterfaceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::InterfaceDef_tie::InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::InterfaceDef_tie::~InterfaceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::InterfaceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::InterfaceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::InterfaceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::InterfaceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::InterfaceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::InterfaceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->InterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::InterfaceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::InterfaceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::InterfaceDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::InterfaceDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::InterfaceDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::InterfaceDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::InterfaceDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::InterfaceDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::InterfaceDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::InterfaceDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::InterfaceDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::InterfaceDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::InterfaceDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::InterfaceDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::InterfaceDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::InterfaceDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::InterfaceDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::InterfaceDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::InterfaceDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::InterfaceDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::InterfaceDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::InterfaceDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::InterfaceDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::InterfaceDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::InterfaceDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::InterfaceDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::InterfaceDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::InterfaceDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::InterfaceDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::InterfaceDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::InterfaceDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::InterfaceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::InterfaceDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::InterfaceDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::InterfaceDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::InterfaceDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::InterfaceDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::InterfaceDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::InterfaceAttrExtension_tie::InterfaceAttrExtension_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::InterfaceAttrExtension_tie::InterfaceAttrExtension_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::InterfaceAttrExtension_tie::InterfaceAttrExtension_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::InterfaceAttrExtension_tie::InterfaceAttrExtension_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::InterfaceAttrExtension_tie::~InterfaceAttrExtension_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::InterfaceAttrExtension_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::InterfaceAttrExtension_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::InterfaceAttrExtension_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::InterfaceAttrExtension_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::InterfaceAttrExtension_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::InterfaceAttrExtension_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->InterfaceAttrExtension::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::InterfaceAttrExtension_tie::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::InterfaceAttrExtension_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ExtInterfaceDef_tie::ExtInterfaceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtInterfaceDef_tie::ExtInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtInterfaceDef_tie::ExtInterfaceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtInterfaceDef_tie::ExtInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtInterfaceDef_tie::~ExtInterfaceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ExtInterfaceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ExtInterfaceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ExtInterfaceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ExtInterfaceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ExtInterfaceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ExtInterfaceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ExtInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ExtInterfaceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtInterfaceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ExtInterfaceDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtInterfaceDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtInterfaceDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ExtInterfaceDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtInterfaceDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtInterfaceDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtInterfaceDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtInterfaceDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtInterfaceDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtInterfaceDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ExtInterfaceDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtInterfaceDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ExtInterfaceDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ExtInterfaceDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtInterfaceDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ExtInterfaceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ExtInterfaceDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtInterfaceDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtInterfaceDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ExtInterfaceDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ExtInterfaceDef_tie::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtInterfaceDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::AbstractInterfaceDef_tie::AbstractInterfaceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::AbstractInterfaceDef_tie::AbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::AbstractInterfaceDef_tie::AbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::AbstractInterfaceDef_tie::AbstractInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::AbstractInterfaceDef_tie::~AbstractInterfaceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::AbstractInterfaceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::AbstractInterfaceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::AbstractInterfaceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::AbstractInterfaceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::AbstractInterfaceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::AbstractInterfaceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->AbstractInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::AbstractInterfaceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AbstractInterfaceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::AbstractInterfaceDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::AbstractInterfaceDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::AbstractInterfaceDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::AbstractInterfaceDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AbstractInterfaceDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AbstractInterfaceDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AbstractInterfaceDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AbstractInterfaceDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AbstractInterfaceDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AbstractInterfaceDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::AbstractInterfaceDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::AbstractInterfaceDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::AbstractInterfaceDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::AbstractInterfaceDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AbstractInterfaceDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::AbstractInterfaceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::AbstractInterfaceDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::AbstractInterfaceDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::AbstractInterfaceDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::AbstractInterfaceDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::AbstractInterfaceDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ExtAbstractInterfaceDef_tie::ExtAbstractInterfaceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtAbstractInterfaceDef_tie::ExtAbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtAbstractInterfaceDef_tie::ExtAbstractInterfaceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtAbstractInterfaceDef_tie::ExtAbstractInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtAbstractInterfaceDef_tie::~ExtAbstractInterfaceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ExtAbstractInterfaceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ExtAbstractInterfaceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ExtAbstractInterfaceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ExtAbstractInterfaceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ExtAbstractInterfaceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ExtAbstractInterfaceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ExtAbstractInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ExtAbstractInterfaceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAbstractInterfaceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtAbstractInterfaceDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtAbstractInterfaceDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ExtAbstractInterfaceDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAbstractInterfaceDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAbstractInterfaceDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAbstractInterfaceDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAbstractInterfaceDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAbstractInterfaceDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAbstractInterfaceDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtAbstractInterfaceDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ExtAbstractInterfaceDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAbstractInterfaceDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ExtAbstractInterfaceDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtAbstractInterfaceDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtAbstractInterfaceDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ExtAbstractInterfaceDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ExtAbstractInterfaceDef_tie::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtAbstractInterfaceDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::LocalInterfaceDef_tie::LocalInterfaceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::LocalInterfaceDef_tie::LocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::LocalInterfaceDef_tie::LocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::LocalInterfaceDef_tie::LocalInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::LocalInterfaceDef_tie::~LocalInterfaceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::LocalInterfaceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::LocalInterfaceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::LocalInterfaceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::LocalInterfaceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::LocalInterfaceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::LocalInterfaceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->LocalInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::LocalInterfaceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::LocalInterfaceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::LocalInterfaceDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::LocalInterfaceDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::LocalInterfaceDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::LocalInterfaceDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::LocalInterfaceDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::LocalInterfaceDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::LocalInterfaceDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::LocalInterfaceDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::LocalInterfaceDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::LocalInterfaceDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::LocalInterfaceDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::LocalInterfaceDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::LocalInterfaceDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::LocalInterfaceDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::LocalInterfaceDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::LocalInterfaceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::LocalInterfaceDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::LocalInterfaceDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::LocalInterfaceDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::LocalInterfaceDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::LocalInterfaceDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ExtLocalInterfaceDef_tie::ExtLocalInterfaceDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtLocalInterfaceDef_tie::ExtLocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtLocalInterfaceDef_tie::ExtLocalInterfaceDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtLocalInterfaceDef_tie::ExtLocalInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtLocalInterfaceDef_tie::~ExtLocalInterfaceDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ExtLocalInterfaceDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ExtLocalInterfaceDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ExtLocalInterfaceDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ExtLocalInterfaceDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ExtLocalInterfaceDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ExtLocalInterfaceDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ExtLocalInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ExtLocalInterfaceDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtLocalInterfaceDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ExtLocalInterfaceDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtLocalInterfaceDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtLocalInterfaceDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ExtLocalInterfaceDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtLocalInterfaceDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtLocalInterfaceDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtLocalInterfaceDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtLocalInterfaceDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtLocalInterfaceDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtLocalInterfaceDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ExtLocalInterfaceDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtLocalInterfaceDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ExtLocalInterfaceDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ExtLocalInterfaceDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtLocalInterfaceDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ExtLocalInterfaceDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ExtLocalInterfaceDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtLocalInterfaceDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtLocalInterfaceDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ExtLocalInterfaceDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ExtLocalInterfaceDef_tie::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtLocalInterfaceDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp deleted file mode 100644 index 1e7fe4beb0c..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp +++ /dev/null @@ -1,14264 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -// TAO_IDL - Generated from -// be\be_codegen.cpp:603 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_CPP_ - - -#include "IFR_ComponentsS.h" -#include "tao/PortableServer/Operation_Table_Perfect_Hash.h" -#include "tao/PortableServer/Upcall_Command.h" -#include "tao/PortableServer/Upcall_Wrapper.h" -#include "tao/TAO_Server_Request.h" -#include "tao/ORB_Core.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/IFR_Client_Adapter.h" -#include "tao/Object_T.h" -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/AnyTypeCode/DynamicC.h" -#include "tao/CDR.h" -#include "tao/operation_details.h" -#include "tao/PortableInterceptor.h" -#include "tao/PortableServer/Basic_SArguments.h" -#include "tao/PortableServer/Object_SArgument_T.h" -#include "tao/PortableServer/Special_Basic_SArguments.h" -#include "tao/PortableServer/UB_String_SArguments.h" -#include "tao/PortableServer/Var_Size_SArgument_T.h" -#include "tao/PortableServer/TypeCode_SArg_Traits.h" -#include "tao/PortableServer/Object_SArg_Traits.h" -#include "tao/PortableServer/get_arg.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Basic_Arguments.h" -#include "tao/Object_Argument_T.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Var_Size_Argument_T.h" -#include "ace/Dynamic_Service.h" -#include "ace/Malloc_Allocator.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_ComponentsS.inl" -#endif /* !defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__SARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__SARG_TRAITS_) -#define _CORBA_REPOSITORY__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__SARG_TRAITS_) -#define _CORBA_CONTAINER__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__SARG_TRAITS_) -#define _CORBA_IDLTYPE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__SARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_VALUEDEFSEQ__SARG_TRAITS_) -#define _CORBA_VALUEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ValueDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INITIALIZERSEQ__SARG_TRAITS_) -#define _CORBA_INITIALIZERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXTINITIALIZERSEQ__SARG_TRAITS_) -#define _CORBA_EXTINITIALIZERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExtInitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCEPTIONDEFSEQ__SARG_TRAITS_) -#define _CORBA_EXCEPTIONDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExceptionDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_OPERATIONMODE__SARG_TRAITS_) -#define _CORBA_OPERATIONMODE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::OperationMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_PARDESCRIPTIONSEQ__SARG_TRAITS_) -#define _CORBA_PARDESCRIPTIONSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ParDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTEXTIDSEQ__SARG_TRAITS_) -#define _CORBA_CONTEXTIDSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ContextIdSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_INTERFACEDEF__SARG_TRAITS_) -#define _CORBA_INTERFACEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::InterfaceDef_ptr, - CORBA::InterfaceDef_var, - CORBA::InterfaceDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEDEF__SARG_TRAITS_) -#define _CORBA_VALUEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ValueDef_ptr, - CORBA::ValueDef_var, - CORBA::ValueDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_COMPONENTDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::ComponentDef_ptr, - CORBA::ComponentIR::ComponentDef_var, - CORBA::ComponentIR::ComponentDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_HOMEDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_HOMEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::HomeDef_ptr, - CORBA::ComponentIR::HomeDef_var, - CORBA::ComponentIR::HomeDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_EVENTDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_EVENTDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::EventDef_ptr, - CORBA::ComponentIR::EventDef_var, - CORBA::ComponentIR::EventDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_PROVIDESDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::ProvidesDef_ptr, - CORBA::ComponentIR::ProvidesDef_var, - CORBA::ComponentIR::ProvidesDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_USESDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_USESDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::UsesDef_ptr, - CORBA::ComponentIR::UsesDef_var, - CORBA::ComponentIR::UsesDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_EMITSDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_EMITSDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::EmitsDef_ptr, - CORBA::ComponentIR::EmitsDef_var, - CORBA::ComponentIR::EmitsDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_PUBLISHESDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::PublishesDef_ptr, - CORBA::ComponentIR::PublishesDef_var, - CORBA::ComponentIR::PublishesDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_CONSUMESDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::ConsumesDef_ptr, - CORBA::ComponentIR::ConsumesDef_var, - CORBA::ComponentIR::ConsumesDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_FACTORYDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::FactoryDef_ptr, - CORBA::ComponentIR::FactoryDef_var, - CORBA::ComponentIR::FactoryDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_FINDERDEF__SARG_TRAITS_) -#define _CORBA_COMPONENTIR_FINDERDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ComponentIR::FinderDef_ptr, - CORBA::ComponentIR::FinderDef_var, - CORBA::ComponentIR::FinderDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__ARG_TRAITS_) -#define _CORBA_REPOSITORY__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__ARG_TRAITS_) -#define _CORBA_CONTAINER__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_) -#define _CORBA_IDLTYPE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_VALUEDEFSEQ__ARG_TRAITS_) -#define _CORBA_VALUEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ValueDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INITIALIZERSEQ__ARG_TRAITS_) -#define _CORBA_INITIALIZERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_) -#define _CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExtInitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_) -#define _CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExceptionDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_) -#define _CORBA_OPERATIONMODE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::OperationMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_) -#define _CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ParDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTEXTIDSEQ__ARG_TRAITS_) -#define _CORBA_CONTEXTIDSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ContextIdSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_INTERFACEDEF__ARG_TRAITS_) -#define _CORBA_INTERFACEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::InterfaceDef_ptr, - CORBA::InterfaceDef_var, - CORBA::InterfaceDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_) -#define _CORBA_VALUEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ValueDef_ptr, - CORBA::ValueDef_var, - CORBA::ValueDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::ComponentDef_ptr, - CORBA::ComponentIR::ComponentDef_var, - CORBA::ComponentIR::ComponentDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::HomeDef_ptr, - CORBA::ComponentIR::HomeDef_var, - CORBA::ComponentIR::HomeDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::EventDef_ptr, - CORBA::ComponentIR::EventDef_var, - CORBA::ComponentIR::EventDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::ProvidesDef_ptr, - CORBA::ComponentIR::ProvidesDef_var, - CORBA::ComponentIR::ProvidesDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::UsesDef_ptr, - CORBA::ComponentIR::UsesDef_var, - CORBA::ComponentIR::UsesDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::EmitsDef_ptr, - CORBA::ComponentIR::EmitsDef_var, - CORBA::ComponentIR::EmitsDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::PublishesDef_ptr, - CORBA::ComponentIR::PublishesDef_var, - CORBA::ComponentIR::PublishesDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::ConsumesDef_ptr, - CORBA::ComponentIR::ConsumesDef_var, - CORBA::ComponentIR::ConsumesDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::FactoryDef_ptr, - CORBA::ComponentIR::FactoryDef_var, - CORBA::ComponentIR::FactoryDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_) -#define _CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ComponentIR::FinderDef_ptr, - CORBA::ComponentIR::FinderDef_var, - CORBA::ComponentIR::FinderDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, - 109, 15, 50, 40, 109, 109, 109, 0, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, - 109, 0, 109, 0, 109, 109, 109, 109, 109, 109, - 109, 109, 15, 0, 109, 109, 109, 15, 15, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, -#else - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 0, 109, 0, 109, 15, - 50, 40, 109, 109, 109, 0, 109, 109, 0, 0, - 0, 109, 0, 109, 0, 15, 0, 109, 109, 109, - 15, 15, 109, 109, 109, 109, 109, 109, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 60, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 108, - HASH_VALUE_RANGE = 105, - DUPLICATES = 18, - WORDLIST_SIZE = 64 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"is_a", &POA_CORBA::ComponentIR::EventDef::is_a_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::EventDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ComponentIR::EventDef::lookup_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::EventDef::_component_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::EventDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::EventDef::_set_version_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::EventDef::_non_existent_skel, 0}, - {"_get_is_custom", &POA_CORBA::ComponentIR::EventDef::_get_is_custom_skel, 0}, - {"_set_is_custom", &POA_CORBA::ComponentIR::EventDef::_set_is_custom_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::EventDef::_get_defined_in_skel, 0}, - {"_get_is_abstract", &POA_CORBA::ComponentIR::EventDef::_get_is_abstract_skel, 0}, - {"_set_is_abstract", &POA_CORBA::ComponentIR::EventDef::_set_is_abstract_skel, 0}, - {"create_enum", &POA_CORBA::ComponentIR::EventDef::create_enum_skel, 0}, - {"create_union", &POA_CORBA::ComponentIR::EventDef::create_union_skel, 0}, - {"create_struct", &POA_CORBA::ComponentIR::EventDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ComponentIR::EventDef::create_constant_skel, 0}, - {"create_exception", &POA_CORBA::ComponentIR::EventDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ComponentIR::EventDef::create_operation_skel, 0}, - {"_get_initializers", &POA_CORBA::ComponentIR::EventDef::_get_initializers_skel, 0}, - {"_set_initializers", &POA_CORBA::ComponentIR::EventDef::_set_initializers_skel, 0}, - {"create_value_member", &POA_CORBA::ComponentIR::EventDef::create_value_member_skel, 0}, - {"_get_ext_initializers", &POA_CORBA::ComponentIR::EventDef::_get_ext_initializers_skel, 0}, - {"_set_ext_initializers", &POA_CORBA::ComponentIR::EventDef::_set_ext_initializers_skel, 0}, - {"contents", &POA_CORBA::ComponentIR::EventDef::contents_skel, 0}, - {"_get_supported_interfaces", &POA_CORBA::ComponentIR::EventDef::_get_supported_interfaces_skel, 0}, - {"_set_abstract_base_values", &POA_CORBA::ComponentIR::EventDef::_set_abstract_base_values_skel, 0}, - {"_get_abstract_base_values", &POA_CORBA::ComponentIR::EventDef::_get_abstract_base_values_skel, 0}, - {"_set_supported_interfaces", &POA_CORBA::ComponentIR::EventDef::_set_supported_interfaces_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::EventDef::_get_containing_repository_skel, 0}, - {"create_alias", &POA_CORBA::ComponentIR::EventDef::create_alias_skel, 0}, - {"move", &POA_CORBA::ComponentIR::EventDef::move_skel, 0}, - {"create_value_box", &POA_CORBA::ComponentIR::EventDef::create_value_box_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::EventDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ComponentIR::EventDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::EventDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::EventDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ComponentIR::EventDef::lookup_name_skel, 0}, - {"_get_base_value", &POA_CORBA::ComponentIR::EventDef::_get_base_value_skel, 0}, - {"_set_base_value", &POA_CORBA::ComponentIR::EventDef::_set_base_value_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::EventDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::EventDef::_set_id_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::EventDef::_get_absolute_name_skel, 0}, - {"_get_is_truncatable", &POA_CORBA::ComponentIR::EventDef::_get_is_truncatable_skel, 0}, - {"_set_is_truncatable", &POA_CORBA::ComponentIR::EventDef::_set_is_truncatable_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::EventDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::EventDef::_repository_id_skel, 0}, - {"create_value", &POA_CORBA::ComponentIR::EventDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ComponentIR::EventDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ComponentIR::EventDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ComponentIR::EventDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ComponentIR::EventDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ComponentIR::EventDef::create_ext_value_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::EventDef::destroy_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ComponentIR::EventDef::create_ext_attribute_skel, 0}, - {"create_local_interface", &POA_CORBA::ComponentIR::EventDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ComponentIR::EventDef::create_abstract_interface_skel, 0}, - {"describe_contents", &POA_CORBA::ComponentIR::EventDef::describe_contents_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::EventDef::describe_skel, 0}, - {"describe_value", &POA_CORBA::ComponentIR::EventDef::describe_value_skel, 0}, - {"describe_ext_value", &POA_CORBA::ComponentIR::EventDef::describe_ext_value_skel, 0}, - }; - - static const signed short lookup[] = - { - -14, -2, -20, -2, 4, 5, 6, -1, -22, -2, 7, -1, 169, 10, - 154, 13, -124, -1, -25, -2, -28, -4, -36, -3, -41, -2, 16, 17, - 18, -1, 19, -137, -132, -1, 24, -1, -126, -1, 27, -1, -128, 32, - 33, -1, 34, -1, 35, -43, -2, -135, 39, 40, -1, -46, -2, -139, - -1, -118, 45, -114, -11, -2, -1, 48, 49, -51, -2, 50, -111, -53, - -3, -110, 56, -8, -2, 57, -1, 58, -1, -1, 59, -1, 60, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_EventDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::EventDef::EventDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_EventDef_optable; -} - -POA_CORBA::ComponentIR::EventDef::EventDef (const EventDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::ValueDef (rhs), - POA_CORBA::ExtValueDef (rhs) -{ -} - -POA_CORBA::ComponentIR::EventDef::~EventDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_EventDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_EventDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::EventDef * const impl = - static_cast (servant); - - _is_a_EventDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_EventDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_EventDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventDef * const impl = - static_cast (servant); - - _non_existent_EventDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_EventDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_EventDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventDef * const impl = - static_cast (servant); - - _repository_id_EventDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::EventDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::EventDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_EventDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_EventDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventDef * const impl = - static_cast (servant); - - _get_component_EventDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::EventDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ValueDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtValueDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::EventDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::EventDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::EventDef * -POA_CORBA::ComponentIR::EventDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::EventDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 20, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 15, - 47, 0, 0, 0, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 30, 20, 30, - 47, 0, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 15, 5, 47, 47, 47, 10, 0, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, -#else - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 20, 47, 15, 47, 0, - 0, 0, 47, 47, 47, 47, 47, 47, 30, 20, - 30, 47, 0, 47, 47, 15, 5, 47, 47, 47, - 10, 0, 47, 47, 47, 47, 47, 47, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 28, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 25, - MIN_HASH_VALUE = 7, - MAX_HASH_VALUE = 46, - HASH_VALUE_RANGE = 40, - DUPLICATES = 3, - WORDLIST_SIZE = 35 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"destroy", &POA_CORBA::ComponentIR::Container::destroy_skel, 0}, - {"create_home", &POA_CORBA::ComponentIR::Container::create_home_skel, 0}, - {"create_value", &POA_CORBA::ComponentIR::Container::create_value_skel, 0}, - {"create_module", &POA_CORBA::ComponentIR::Container::create_module_skel, 0}, - {"create_native", &POA_CORBA::ComponentIR::Container::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ComponentIR::Container::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::ComponentIR::Container::create_ext_value_skel, 0}, - {"create_event", &POA_CORBA::ComponentIR::Container::create_event_skel, 0}, - {"create_struct", &POA_CORBA::ComponentIR::Container::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ComponentIR::Container::create_constant_skel, 0}, - {"create_component", &POA_CORBA::ComponentIR::Container::create_component_skel, 0}, - {"create_local_interface", &POA_CORBA::ComponentIR::Container::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::ComponentIR::Container::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ComponentIR::Container::create_abstract_interface_skel, 0}, - {"create_value_box", &POA_CORBA::ComponentIR::Container::create_value_box_skel, 0}, - {"create_alias", &POA_CORBA::ComponentIR::Container::create_alias_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::Container::_interface_skel, 0}, - {"create_enum", &POA_CORBA::ComponentIR::Container::create_enum_skel, 0}, - {"describe_contents", &POA_CORBA::ComponentIR::Container::describe_contents_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::Container::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::Container::_repository_id_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::Container::_component_skel, 0}, - {"lookup", &POA_CORBA::ComponentIR::Container::lookup_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::Container::_non_existent_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::Container::_is_a_skel, 0}, - {"lookup_name", &POA_CORBA::ComponentIR::Container::lookup_name_skel, 0}, - {"create_union", &POA_CORBA::ComponentIR::Container::create_union_skel, 0}, - {"create_exception", &POA_CORBA::ComponentIR::Container::create_exception_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, -1, -1, 7, -1, -10, -2, 8, 9, -50, - -12, -2, -48, 14, 15, -1, 16, 17, 18, 19, -1, 20, 21, 22, - -1, -1, 23, 24, 25, 26, 27, 28, 29, -1, 30, -1, 31, 32, - 33, -1, -1, -1, 34, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable tao_CORBA_ComponentIR_Container_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_Container_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::Container::Container (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_Container_optable; -} - -POA_CORBA::ComponentIR::Container::Container (const Container& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs) -{ -} - -POA_CORBA::ComponentIR::Container::~Container (void) -{ -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_component_Container - : public TAO::Upcall_Command - { - public: - inline create_component_Container ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_component ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::Container::create_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_base_component; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supports_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_base_component, - &_tao_supports_interfaces - }; - - static size_t const nargs = 6; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - create_component_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_home_Container - : public TAO::Upcall_Command - { - public: - inline create_home_Container ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::HomeDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::HomeDef> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_, - 7); - - retval = - this->servant_->create_home ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::Container::create_home_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::in_arg_val _tao_base_home; - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_managed_component; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supports_interfaces; - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_val _tao_primary_key; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_base_home, - &_tao_managed_component, - &_tao_supports_interfaces, - &_tao_primary_key - }; - - static size_t const nargs = 8; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - create_home_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_event_Container - : public TAO::Upcall_Command - { - public: - inline create_event_Container ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::EventDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 7); - - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_type arg_8 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDefSeq> ( - this->operation_details_, - this->args_, - 8); - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_9 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 9); - - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::in_arg_type arg_10 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExtInitializerSeq> ( - this->operation_details_, - this->args_, - 10); - - retval = - this->servant_->create_event ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - , arg_8 - , arg_9 - , arg_10 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::Container::create_event_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_custom; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_abstract; - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_val _tao_base_value; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_truncatable; - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_val _tao_abstract_base_values; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces; - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::in_arg_val _tao_initializers; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_is_custom, - &_tao_is_abstract, - &_tao_base_value, - &_tao_is_truncatable, - &_tao_abstract_base_values, - &_tao_supported_interfaces, - &_tao_initializers - }; - - static size_t const nargs = 11; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - create_event_Container command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_Container_Upcall_Command ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Container::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - _is_a_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_Container_Upcall_Command ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Container::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - _non_existent_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_Container_Upcall_Command ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Container::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - _repository_id_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::Container::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_Container_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_Container_Upcall_Command ( - POA_CORBA::ComponentIR::Container * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Container * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Container::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::Container * const impl = - static_cast (servant); - - _get_component_Container_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::Container::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::Container::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/Container:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::Container::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::Container * -POA_CORBA::ComponentIR::Container::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::Container STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 25, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 10, - 58, 0, 0, 0, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 30, 15, 5, - 58, 10, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 40, 15, 58, 58, 58, 20, 0, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, -#else - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 25, 58, 10, 58, 0, - 0, 0, 58, 58, 58, 58, 58, 58, 30, 15, - 5, 58, 10, 58, 58, 40, 15, 58, 58, 58, - 20, 0, 58, 58, 58, 58, 58, 58, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 39, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 7, - MAX_HASH_VALUE = 57, - HASH_VALUE_RANGE = 51, - DUPLICATES = 6, - WORDLIST_SIZE = 46 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"destroy", &POA_CORBA::ComponentIR::ModuleDef::destroy_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::ModuleDef::describe_skel, 0}, - {"create_home", &POA_CORBA::ComponentIR::ModuleDef::create_home_skel, 0}, - {"create_value", &POA_CORBA::ComponentIR::ModuleDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ComponentIR::ModuleDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ComponentIR::ModuleDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ComponentIR::ModuleDef::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::ComponentIR::ModuleDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ComponentIR::ModuleDef::create_union_skel, 0}, - {"move", &POA_CORBA::ComponentIR::ModuleDef::move_skel, 0}, - {"create_exception", &POA_CORBA::ComponentIR::ModuleDef::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::ComponentIR::ModuleDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ComponentIR::ModuleDef::create_abstract_interface_skel, 0}, - {"create_enum", &POA_CORBA::ComponentIR::ModuleDef::create_enum_skel, 0}, - {"create_event", &POA_CORBA::ComponentIR::ModuleDef::create_event_skel, 0}, - {"create_struct", &POA_CORBA::ComponentIR::ModuleDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ComponentIR::ModuleDef::create_constant_skel, 0}, - {"create_component", &POA_CORBA::ComponentIR::ModuleDef::create_component_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::ModuleDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::ModuleDef::_set_id_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::ModuleDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::ModuleDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::ModuleDef::_interface_skel, 0}, - {"create_value_box", &POA_CORBA::ComponentIR::ModuleDef::create_value_box_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::ModuleDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::ModuleDef::_repository_id_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::ModuleDef::_is_a_skel, 0}, - {"lookup_name", &POA_CORBA::ComponentIR::ModuleDef::lookup_name_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::ModuleDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::ModuleDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::ModuleDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::ModuleDef::_get_defined_in_skel, 0}, - {"lookup", &POA_CORBA::ComponentIR::ModuleDef::lookup_skel, 0}, - {"contents", &POA_CORBA::ComponentIR::ModuleDef::contents_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::ModuleDef::_component_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::ModuleDef::_get_containing_repository_skel, 0}, - {"create_alias", &POA_CORBA::ComponentIR::ModuleDef::create_alias_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::ModuleDef::_non_existent_skel, 0}, - {"describe_contents", &POA_CORBA::ComponentIR::ModuleDef::describe_contents_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -11, -2, -13, -2, 7, 8, -25, -2, 9, 10, -67, - -27, -2, -68, 15, -1, 16, -1, 17, 18, -35, -2, 19, 20, 21, - 22, -1, 23, 24, -80, -1, -77, 29, 30, -1, 31, 32, 33, 34, - -76, 37, -1, 38, 39, -1, 40, -1, 41, 42, 43, 44, -1, -1, - -1, 45, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ModuleDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::ModuleDef::ModuleDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_ModuleDef_optable; -} - -POA_CORBA::ComponentIR::ModuleDef::ModuleDef (const ModuleDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::ModuleDef (rhs), - POA_CORBA::ComponentIR::Container (rhs) -{ -} - -POA_CORBA::ComponentIR::ModuleDef::~ModuleDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ModuleDef_Upcall_Command ( - POA_CORBA::ComponentIR::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ModuleDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ModuleDef * const impl = - static_cast (servant); - - _is_a_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ModuleDef_Upcall_Command ( - POA_CORBA::ComponentIR::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ModuleDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ModuleDef * const impl = - static_cast (servant); - - _non_existent_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ModuleDef_Upcall_Command ( - POA_CORBA::ComponentIR::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ModuleDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ModuleDef * const impl = - static_cast (servant); - - _repository_id_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::ModuleDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::ModuleDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ModuleDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ModuleDef_Upcall_Command ( - POA_CORBA::ComponentIR::ModuleDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ModuleDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ModuleDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ModuleDef * const impl = - static_cast (servant); - - _get_component_ModuleDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::ModuleDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ModuleDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::ModuleDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::ModuleDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::ModuleDef * -POA_CORBA::ComponentIR::ModuleDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::ModuleDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 10, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 0, - 78, 0, 15, 20, 78, 10, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 20, 0, 25, - 78, 0, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 45, 5, 78, 78, 78, 0, 0, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, -#else - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 10, 78, 0, 78, 0, - 15, 20, 78, 10, 78, 78, 78, 78, 20, 0, - 25, 78, 0, 78, 78, 45, 5, 78, 78, 78, - 0, 0, 78, 78, 78, 78, 78, 78, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 36, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 25, - MIN_HASH_VALUE = 11, - MAX_HASH_VALUE = 77, - HASH_VALUE_RANGE = 67, - DUPLICATES = 3, - WORDLIST_SIZE = 47 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"",0,0},{"",0,0}, - {"create_enum", &POA_CORBA::ComponentIR::Repository::create_enum_skel, 0}, - {"create_array", &POA_CORBA::ComponentIR::Repository::create_array_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::Repository::_is_a_skel, 0}, - {"create_value_box", &POA_CORBA::ComponentIR::Repository::create_value_box_skel, 0}, - {"create_event", &POA_CORBA::ComponentIR::Repository::create_event_skel, 0}, - {"create_struct", &POA_CORBA::ComponentIR::Repository::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ComponentIR::Repository::create_constant_skel, 0}, - {"create_component", &POA_CORBA::ComponentIR::Repository::create_component_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::Repository::destroy_skel, 0}, - {"create_string", &POA_CORBA::ComponentIR::Repository::create_string_skel, 0}, - {"create_wstring", &POA_CORBA::ComponentIR::Repository::create_wstring_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::Repository::_component_skel, 0}, - {"lookup", &POA_CORBA::ComponentIR::Repository::lookup_skel, 0}, - {"create_fixed", &POA_CORBA::ComponentIR::Repository::create_fixed_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::Repository::_non_existent_skel, 0}, - {"create_home", &POA_CORBA::ComponentIR::Repository::create_home_skel, 0}, - {"create_value", &POA_CORBA::ComponentIR::Repository::create_value_skel, 0}, - {"create_module", &POA_CORBA::ComponentIR::Repository::create_module_skel, 0}, - {"create_native", &POA_CORBA::ComponentIR::Repository::create_native_skel, 0}, - {"create_sequence", &POA_CORBA::ComponentIR::Repository::create_sequence_skel, 0}, - {"create_interface", &POA_CORBA::ComponentIR::Repository::create_interface_skel, 0}, - {"create_ext_value", &POA_CORBA::ComponentIR::Repository::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ComponentIR::Repository::create_union_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::Repository::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::Repository::_repository_id_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::Repository::_interface_skel, 0}, - {"create_exception", &POA_CORBA::ComponentIR::Repository::create_exception_skel, 0}, - {"create_local_interface", &POA_CORBA::ComponentIR::Repository::create_local_interface_skel, 0}, - {"get_primitive", &POA_CORBA::ComponentIR::Repository::get_primitive_skel, 0}, - {"lookup_id", &POA_CORBA::ComponentIR::Repository::lookup_id_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ComponentIR::Repository::create_abstract_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ComponentIR::Repository::lookup_name_skel, 0}, - {"get_canonical_typecode", &POA_CORBA::ComponentIR::Repository::get_canonical_typecode_skel, 0}, - {"contents", &POA_CORBA::ComponentIR::Repository::contents_skel, 0}, - {"create_alias", &POA_CORBA::ComponentIR::Repository::create_alias_skel, 0}, - {"describe_contents", &POA_CORBA::ComponentIR::Repository::describe_contents_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, -28, - -2, 13, 14, 15, 16, -1, 17, 18, 19, 20, 21, 22, 23, 24, - 25, -31, -2, 26, 27, -97, -1, 30, -84, 33, 34, 35, 36, 37, - 38, 39, 40, 41, -1, -1, -1, -1, -1, 42, 43, 44, -1, -1, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 46, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable tao_CORBA_ComponentIR_Repository_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::Repository::Repository (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_Repository_optable; -} - -POA_CORBA::ComponentIR::Repository::Repository (const Repository& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Repository (rhs), - POA_CORBA::ComponentIR::Container (rhs) -{ -} - -POA_CORBA::ComponentIR::Repository::~Repository (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_Repository_Upcall_Command ( - POA_CORBA::ComponentIR::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Repository::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::Repository * const impl = - static_cast (servant); - - _is_a_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_Repository_Upcall_Command ( - POA_CORBA::ComponentIR::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Repository::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::Repository * const impl = - static_cast (servant); - - _non_existent_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_Repository_Upcall_Command ( - POA_CORBA::ComponentIR::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Repository::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::Repository * const impl = - static_cast (servant); - - _repository_id_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::Repository::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::Repository * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_Repository_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_Repository_Upcall_Command ( - POA_CORBA::ComponentIR::Repository * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::Repository * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::Repository::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::Repository * const impl = - static_cast (servant); - - _get_component_Repository_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::Repository::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Repository:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/Repository:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::Repository::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/Repository:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::Repository::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::Repository * -POA_CORBA::ComponentIR::Repository::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::Repository STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 20, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 5, - WORDLIST_SIZE = 24 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::ProvidesDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::ProvidesDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::ProvidesDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::ProvidesDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::ProvidesDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::ProvidesDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::ProvidesDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::ProvidesDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::ProvidesDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::ProvidesDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::ProvidesDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::ProvidesDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::ProvidesDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::ProvidesDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::ProvidesDef::_get_absolute_name_skel, 0}, - {"_get_interface_type", &POA_CORBA::ComponentIR::ProvidesDef::_get_interface_type_skel, 0}, - {"_set_interface_type", &POA_CORBA::ComponentIR::ProvidesDef::_set_interface_type_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::ProvidesDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::ProvidesDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::ProvidesDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -12, -2, -19, -2, 4, 5, -1, 53, 8, 48, 11, -1, -48, 14, - 15, 16, -1, 17, 18, -53, 21, -9, -2, 22, -6, -2, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 23, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ProvidesDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::ProvidesDef::ProvidesDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_ProvidesDef_optable; -} - -POA_CORBA::ComponentIR::ProvidesDef::ProvidesDef (const ProvidesDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::ComponentIR::ProvidesDef::~ProvidesDef (void) -{ -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_interface_type_ProvidesDef - : public TAO::Upcall_Command - { - public: - inline _get_interface_type_ProvidesDef ( - POA_CORBA::ComponentIR::ProvidesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->interface_type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ProvidesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ProvidesDef::_get_interface_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - - _get_interface_type_ProvidesDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_interface_type_ProvidesDef - : public TAO::Upcall_Command - { - public: - inline _set_interface_type_ProvidesDef ( - POA_CORBA::ComponentIR::ProvidesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->interface_type ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ProvidesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ProvidesDef::_set_interface_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_val _tao_interface_type; - - TAO::Argument * const args[] = - { - &retval, - &_tao_interface_type - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - - _set_interface_type_ProvidesDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ProvidesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ProvidesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ProvidesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ProvidesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ProvidesDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - - _is_a_ProvidesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ProvidesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ProvidesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ProvidesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ProvidesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ProvidesDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - - _non_existent_ProvidesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ProvidesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ProvidesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ProvidesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ProvidesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ProvidesDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - - _repository_id_ProvidesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::ProvidesDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ProvidesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ProvidesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ProvidesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ProvidesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ProvidesDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ProvidesDef * const impl = - static_cast (servant); - - _get_component_ProvidesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::ProvidesDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::ProvidesDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::ProvidesDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::ProvidesDef * -POA_CORBA::ComponentIR::ProvidesDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::ProvidesDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 22, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 26 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::UsesDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::UsesDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::UsesDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::UsesDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::UsesDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::UsesDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::UsesDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::UsesDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::UsesDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::UsesDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::UsesDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::UsesDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::UsesDef::_get_defined_in_skel, 0}, - {"_get_is_multiple", &POA_CORBA::ComponentIR::UsesDef::_get_is_multiple_skel, 0}, - {"_set_is_multiple", &POA_CORBA::ComponentIR::UsesDef::_set_is_multiple_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::UsesDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::UsesDef::_get_absolute_name_skel, 0}, - {"_get_interface_type", &POA_CORBA::ComponentIR::UsesDef::_get_interface_type_skel, 0}, - {"_set_interface_type", &POA_CORBA::ComponentIR::UsesDef::_set_interface_type_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::UsesDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::UsesDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::UsesDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -17, -2, -21, -2, 4, 5, -1, 55, 8, 51, 11, -1, 45, 14, - 15, 16, -52, 19, 20, -53, 23, -12, -2, 24, -9, -2, -6, -2, - -1, -1, -1, -1, -1, -1, -1, -1, 25, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_UsesDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::UsesDef::UsesDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_UsesDef_optable; -} - -POA_CORBA::ComponentIR::UsesDef::UsesDef (const UsesDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::ComponentIR::UsesDef::~UsesDef (void) -{ -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_interface_type_UsesDef - : public TAO::Upcall_Command - { - public: - inline _get_interface_type_UsesDef ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->interface_type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::UsesDef::_get_interface_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _get_interface_type_UsesDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_interface_type_UsesDef - : public TAO::Upcall_Command - { - public: - inline _set_interface_type_UsesDef ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->interface_type ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::UsesDef::_set_interface_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_val _tao_interface_type; - - TAO::Argument * const args[] = - { - &retval, - &_tao_interface_type - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _set_interface_type_UsesDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_is_multiple_UsesDef - : public TAO::Upcall_Command - { - public: - inline _get_is_multiple_UsesDef ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->is_multiple ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::UsesDef::_get_is_multiple_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _get_is_multiple_UsesDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_is_multiple_UsesDef - : public TAO::Upcall_Command - { - public: - inline _set_is_multiple_UsesDef ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->is_multiple ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::UsesDef::_set_is_multiple_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_multiple; - - TAO::Argument * const args[] = - { - &retval, - &_tao_is_multiple - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _set_is_multiple_UsesDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_UsesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_UsesDef_Upcall_Command ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::UsesDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _is_a_UsesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_UsesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_UsesDef_Upcall_Command ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::UsesDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _non_existent_UsesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_UsesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_UsesDef_Upcall_Command ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::UsesDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _repository_id_UsesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::UsesDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_UsesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_UsesDef_Upcall_Command ( - POA_CORBA::ComponentIR::UsesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::UsesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::UsesDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::UsesDef * const impl = - static_cast (servant); - - _get_component_UsesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::UsesDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::UsesDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::UsesDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::UsesDef * -POA_CORBA::ComponentIR::UsesDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::UsesDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 15, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 15, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::EventPortDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::EventPortDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::EventPortDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::EventPortDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::EventPortDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::EventPortDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::EventPortDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::EventPortDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::EventPortDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::EventPortDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::EventPortDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::EventPortDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::EventPortDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::EventPortDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::EventPortDef::_get_absolute_name_skel, 0}, - {"is_a", &POA_CORBA::ComponentIR::EventPortDef::is_a_skel, 0}, - {"_get_event", &POA_CORBA::ComponentIR::EventPortDef::_get_event_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::EventPortDef::_component_skel, 0}, - {"_set_event", &POA_CORBA::ComponentIR::EventPortDef::_set_event_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::EventPortDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::EventPortDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -12, -2, -20, -3, 4, 5, -1, 53, 8, 48, 11, -1, -48, 14, - 15, 16, -1, 17, 18, 19, -54, -9, -2, 23, -6, -2, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_EventPortDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::EventPortDef::EventPortDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_EventPortDef_optable; -} - -POA_CORBA::ComponentIR::EventPortDef::EventPortDef (const EventPortDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::ComponentIR::EventPortDef::~EventPortDef (void) -{ -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_event_EventPortDef - : public TAO::Upcall_Command - { - public: - inline _get_event_EventPortDef ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::EventDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->event ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::EventPortDef::_get_event_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - _get_event_EventPortDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_event_EventPortDef - : public TAO::Upcall_Command - { - public: - inline _set_event_EventPortDef ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::EventDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->event ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::EventPortDef::_set_event_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_val _tao_event; - - TAO::Argument * const args[] = - { - &retval, - &_tao_event - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - _set_event_EventPortDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class is_a_EventPortDef - : public TAO::Upcall_Command - { - public: - inline is_a_EventPortDef ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::EventPortDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_event_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_event_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - is_a_EventPortDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_EventPortDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_EventPortDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventPortDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - _is_a_EventPortDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_EventPortDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_EventPortDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventPortDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - _non_existent_EventPortDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_EventPortDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_EventPortDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventPortDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - _repository_id_EventPortDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::EventPortDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_EventPortDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_EventPortDef_Upcall_Command ( - POA_CORBA::ComponentIR::EventPortDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EventPortDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EventPortDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EventPortDef * const impl = - static_cast (servant); - - _get_component_EventPortDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::EventPortDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::EventPortDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::EventPortDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::EventPortDef * -POA_CORBA::ComponentIR::EventPortDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::EventPortDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 15, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 15, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::EmitsDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::EmitsDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::EmitsDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::EmitsDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::EmitsDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::EmitsDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::EmitsDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::EmitsDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::EmitsDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::EmitsDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::EmitsDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::EmitsDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::EmitsDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::EmitsDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::EmitsDef::_get_absolute_name_skel, 0}, - {"is_a", &POA_CORBA::ComponentIR::EmitsDef::is_a_skel, 0}, - {"_get_event", &POA_CORBA::ComponentIR::EmitsDef::_get_event_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::EmitsDef::_component_skel, 0}, - {"_set_event", &POA_CORBA::ComponentIR::EmitsDef::_set_event_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::EmitsDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::EmitsDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -12, -2, -20, -3, 4, 5, -1, 53, 8, 48, 11, -1, -48, 14, - 15, 16, -1, 17, 18, 19, -54, -9, -2, 23, -6, -2, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_EmitsDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::EmitsDef::EmitsDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_EmitsDef_optable; -} - -POA_CORBA::ComponentIR::EmitsDef::EmitsDef (const EmitsDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::ComponentIR::EventPortDef (rhs) -{ -} - -POA_CORBA::ComponentIR::EmitsDef::~EmitsDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_EmitsDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_EmitsDef_Upcall_Command ( - POA_CORBA::ComponentIR::EmitsDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EmitsDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EmitsDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::EmitsDef * const impl = - static_cast (servant); - - _is_a_EmitsDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_EmitsDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_EmitsDef_Upcall_Command ( - POA_CORBA::ComponentIR::EmitsDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EmitsDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EmitsDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EmitsDef * const impl = - static_cast (servant); - - _non_existent_EmitsDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_EmitsDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_EmitsDef_Upcall_Command ( - POA_CORBA::ComponentIR::EmitsDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EmitsDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EmitsDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EmitsDef * const impl = - static_cast (servant); - - _repository_id_EmitsDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::EmitsDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::EmitsDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_EmitsDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_EmitsDef_Upcall_Command ( - POA_CORBA::ComponentIR::EmitsDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::EmitsDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::EmitsDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::EmitsDef * const impl = - static_cast (servant); - - _get_component_EmitsDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::EmitsDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::EmitsDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::EmitsDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::EmitsDef * -POA_CORBA::ComponentIR::EmitsDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::EmitsDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 15, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 15, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::PublishesDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::PublishesDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::PublishesDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::PublishesDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::PublishesDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::PublishesDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::PublishesDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::PublishesDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::PublishesDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::PublishesDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::PublishesDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::PublishesDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::PublishesDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::PublishesDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::PublishesDef::_get_absolute_name_skel, 0}, - {"is_a", &POA_CORBA::ComponentIR::PublishesDef::is_a_skel, 0}, - {"_get_event", &POA_CORBA::ComponentIR::PublishesDef::_get_event_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::PublishesDef::_component_skel, 0}, - {"_set_event", &POA_CORBA::ComponentIR::PublishesDef::_set_event_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::PublishesDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::PublishesDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -12, -2, -20, -3, 4, 5, -1, 53, 8, 48, 11, -1, -48, 14, - 15, 16, -1, 17, 18, 19, -54, -9, -2, 23, -6, -2, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_PublishesDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::PublishesDef::PublishesDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_PublishesDef_optable; -} - -POA_CORBA::ComponentIR::PublishesDef::PublishesDef (const PublishesDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::ComponentIR::EventPortDef (rhs) -{ -} - -POA_CORBA::ComponentIR::PublishesDef::~PublishesDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_PublishesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_PublishesDef_Upcall_Command ( - POA_CORBA::ComponentIR::PublishesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::PublishesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::PublishesDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::PublishesDef * const impl = - static_cast (servant); - - _is_a_PublishesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_PublishesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_PublishesDef_Upcall_Command ( - POA_CORBA::ComponentIR::PublishesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::PublishesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::PublishesDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::PublishesDef * const impl = - static_cast (servant); - - _non_existent_PublishesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_PublishesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_PublishesDef_Upcall_Command ( - POA_CORBA::ComponentIR::PublishesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::PublishesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::PublishesDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::PublishesDef * const impl = - static_cast (servant); - - _repository_id_PublishesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::PublishesDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::PublishesDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_PublishesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_PublishesDef_Upcall_Command ( - POA_CORBA::ComponentIR::PublishesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::PublishesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::PublishesDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::PublishesDef * const impl = - static_cast (servant); - - _get_component_PublishesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::PublishesDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::PublishesDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::PublishesDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::PublishesDef * -POA_CORBA::ComponentIR::PublishesDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::PublishesDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 37, 37, 37, 15, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 37, 37, 37, 15, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::ConsumesDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::ConsumesDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::ConsumesDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::ConsumesDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::ConsumesDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::ConsumesDef::_get_name_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::ConsumesDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::ConsumesDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::ConsumesDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::ConsumesDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::ConsumesDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::ConsumesDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::ConsumesDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::ConsumesDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::ConsumesDef::_get_absolute_name_skel, 0}, - {"is_a", &POA_CORBA::ComponentIR::ConsumesDef::is_a_skel, 0}, - {"_get_event", &POA_CORBA::ComponentIR::ConsumesDef::_get_event_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::ConsumesDef::_component_skel, 0}, - {"_set_event", &POA_CORBA::ComponentIR::ConsumesDef::_set_event_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::ConsumesDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::ConsumesDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -12, -2, -20, -3, 4, 5, -1, 53, 8, 48, 11, -1, -48, 14, - 15, 16, -1, 17, 18, 19, -54, -9, -2, 23, -6, -2, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ConsumesDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::ConsumesDef::ConsumesDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_ConsumesDef_optable; -} - -POA_CORBA::ComponentIR::ConsumesDef::ConsumesDef (const ConsumesDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::ComponentIR::EventPortDef (rhs) -{ -} - -POA_CORBA::ComponentIR::ConsumesDef::~ConsumesDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ConsumesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ConsumesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ConsumesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ConsumesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ConsumesDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ConsumesDef * const impl = - static_cast (servant); - - _is_a_ConsumesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ConsumesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ConsumesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ConsumesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ConsumesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ConsumesDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ConsumesDef * const impl = - static_cast (servant); - - _non_existent_ConsumesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ConsumesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ConsumesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ConsumesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ConsumesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ConsumesDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ConsumesDef * const impl = - static_cast (servant); - - _repository_id_ConsumesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::ConsumesDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::ConsumesDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ConsumesDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ConsumesDef_Upcall_Command ( - POA_CORBA::ComponentIR::ConsumesDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ConsumesDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ConsumesDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ConsumesDef * const impl = - static_cast (servant); - - _get_component_ConsumesDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::ConsumesDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::ConsumesDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::ConsumesDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::ConsumesDef * -POA_CORBA::ComponentIR::ConsumesDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::ConsumesDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 35, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, - 90, 0, 25, 0, 90, 90, 90, 5, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 30, 0, 5, - 90, 10, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 15, 35, 90, 90, 90, 20, 0, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, -#else - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 35, 90, 0, 90, 0, - 25, 0, 90, 90, 90, 5, 90, 90, 30, 0, - 5, 90, 10, 90, 90, 15, 35, 90, 90, 90, - 20, 0, 90, 90, 90, 90, 90, 90, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 54, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 89, - HASH_VALUE_RANGE = 86, - DUPLICATES = 14, - WORDLIST_SIZE = 58 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::ComponentDef::move_skel, 0}, - {"is_a", &POA_CORBA::ComponentIR::ComponentDef::is_a_skel, 0}, - {"create_enum", &POA_CORBA::ComponentIR::ComponentDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::ComponentIR::ComponentDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ComponentIR::ComponentDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ComponentIR::ComponentDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ComponentIR::ComponentDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ComponentIR::ComponentDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ComponentIR::ComponentDef::create_ext_value_skel, 0}, - {"create_union", &POA_CORBA::ComponentIR::ComponentDef::create_union_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ComponentIR::ComponentDef::create_ext_attribute_skel, 0}, - {"create_exception", &POA_CORBA::ComponentIR::ComponentDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ComponentIR::ComponentDef::create_operation_skel, 0}, - {"create_local_interface", &POA_CORBA::ComponentIR::ComponentDef::create_local_interface_skel, 0}, - {"contents", &POA_CORBA::ComponentIR::ComponentDef::contents_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ComponentIR::ComponentDef::create_abstract_interface_skel, 0}, - {"create_uses", &POA_CORBA::ComponentIR::ComponentDef::create_uses_skel, 0}, - {"create_alias", &POA_CORBA::ComponentIR::ComponentDef::create_alias_skel, 0}, - {"create_emits", &POA_CORBA::ComponentIR::ComponentDef::create_emits_skel, 0}, - {"create_provides", &POA_CORBA::ComponentIR::ComponentDef::create_provides_skel, 0}, - {"create_consumes", &POA_CORBA::ComponentIR::ComponentDef::create_consumes_skel, 0}, - {"create_publishes", &POA_CORBA::ComponentIR::ComponentDef::create_publishes_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::ComponentDef::destroy_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::ComponentDef::describe_skel, 0}, - {"create_value_box", &POA_CORBA::ComponentIR::ComponentDef::create_value_box_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::ComponentDef::_is_a_skel, 0}, - {"lookup_name", &POA_CORBA::ComponentIR::ComponentDef::lookup_name_skel, 0}, - {"describe_interface", &POA_CORBA::ComponentIR::ComponentDef::describe_interface_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::ComponentDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ComponentIR::ComponentDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::ComponentDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::ComponentDef::_interface_skel, 0}, - {"lookup", &POA_CORBA::ComponentIR::ComponentDef::lookup_skel, 0}, - {"describe_ext_interface", &POA_CORBA::ComponentIR::ComponentDef::describe_ext_interface_skel, 0}, - {"create_struct", &POA_CORBA::ComponentIR::ComponentDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ComponentIR::ComponentDef::create_constant_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::ComponentDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::ComponentDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::ComponentDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::ComponentDef::_get_defined_in_skel, 0}, - {"describe_contents", &POA_CORBA::ComponentIR::ComponentDef::describe_contents_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::ComponentDef::_get_containing_repository_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::ComponentDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::ComponentDef::_set_id_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_set_base_interfaces_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::ComponentDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::ComponentDef::_repository_id_skel, 0}, - {"_get_supported_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_get_supported_interfaces_skel, 0}, - {"_set_supported_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_set_supported_interfaces_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::ComponentDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::ComponentDef::_non_existent_skel, 0}, - {"_get_base_component", &POA_CORBA::ComponentIR::ComponentDef::_get_base_component_skel, 0}, - {"_set_base_component", &POA_CORBA::ComponentIR::ComponentDef::_set_base_component_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, -8, -2, -10, -3, 5, -1, 6, 7, -97, - -15, -2, -98, 13, -21, -2, 14, -96, 17, 18, -1, 19, 20, -98, - -23, -2, -91, 25, 26, 27, -32, -3, 28, -1, -40, -2, 29, 30, - -1, 31, -99, 35, 36, 37, 38, -1, 39, -1, -103, 42, -1, 43, - -1, 44, -1, -1, -1, 45, -1, -1, -1, -46, -2, -91, -48, -2, - -91, -52, -2, 50, 51, -93, -1, -1, -1, -1, 54, -1, -1, 55, - -1, -1, -1, -56, -2, -91, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ComponentDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::ComponentDef::ComponentDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_ComponentDef_optable; -} - -POA_CORBA::ComponentIR::ComponentDef::ComponentDef (const ComponentDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs), - POA_CORBA::InterfaceAttrExtension (rhs), - POA_CORBA::ExtInterfaceDef (rhs) -{ -} - -POA_CORBA::ComponentIR::ComponentDef::~ComponentDef (void) -{ -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_base_component_ComponentDef - : public TAO::Upcall_Command - { - public: - inline _get_base_component_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->base_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::_get_base_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _get_base_component_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_base_component_ComponentDef - : public TAO::Upcall_Command - { - public: - inline _set_base_component_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->base_component ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::_set_base_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_base_component; - - TAO::Argument * const args[] = - { - &retval, - &_tao_base_component - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _set_base_component_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_supported_interfaces_ComponentDef - : public TAO::Upcall_Command - { - public: - inline _get_supported_interfaces_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::_get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _get_supported_interfaces_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_supported_interfaces_ComponentDef - : public TAO::Upcall_Command - { - public: - inline _set_supported_interfaces_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->supported_interfaces ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::_set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_supported_interfaces - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _set_supported_interfaces_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_provides_ComponentDef - : public TAO::Upcall_Command - { - public: - inline create_provides_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ProvidesDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::ProvidesDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_provides ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::create_provides_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::ProvidesDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_val _tao_interface_type; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_interface_type - }; - - static size_t const nargs = 5; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - create_provides_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_uses_ComponentDef - : public TAO::Upcall_Command - { - public: - inline create_uses_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::UsesDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::UsesDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDef> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_uses ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::create_uses_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::UsesDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::InterfaceDef>::in_arg_val _tao_interface_type; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_multiple; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_interface_type, - &_tao_is_multiple - }; - - static size_t const nargs = 6; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - create_uses_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_emits_ComponentDef - : public TAO::Upcall_Command - { - public: - inline create_emits_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::EmitsDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::EmitsDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::EventDef> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_emits ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::create_emits_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::EmitsDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_val _tao_event; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_event - }; - - static size_t const nargs = 5; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - create_emits_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_publishes_ComponentDef - : public TAO::Upcall_Command - { - public: - inline create_publishes_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::PublishesDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::PublishesDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::EventDef> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_publishes ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::create_publishes_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::PublishesDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_val _tao_event; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_event - }; - - static size_t const nargs = 5; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - create_publishes_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_consumes_ComponentDef - : public TAO::Upcall_Command - { - public: - inline create_consumes_ComponentDef ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ConsumesDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::ConsumesDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::EventDef> ( - this->operation_details_, - this->args_, - 4); - - retval = - this->servant_->create_consumes ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::ComponentDef::create_consumes_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::ConsumesDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ComponentIR::EventDef>::in_arg_val _tao_event; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_event - }; - - static size_t const nargs = 5; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - create_consumes_ComponentDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ComponentDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ComponentDef_Upcall_Command ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ComponentDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _is_a_ComponentDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ComponentDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ComponentDef_Upcall_Command ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ComponentDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _non_existent_ComponentDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ComponentDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ComponentDef_Upcall_Command ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ComponentDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _repository_id_ComponentDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::ComponentDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ComponentDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ComponentDef_Upcall_Command ( - POA_CORBA::ComponentIR::ComponentDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::ComponentDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::ComponentDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::ComponentDef * const impl = - static_cast (servant); - - _get_component_ComponentDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::ComponentDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::ComponentDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::ComponentDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::ComponentDef * -POA_CORBA::ComponentIR::ComponentDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::ComponentDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 15, 0, 10, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 5, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 0, 20, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 15, 0, 10, 37, 37, 37, 37, 37, 37, 0, - 5, 37, 37, 37, 37, 0, 20, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 29, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 10, - WORDLIST_SIZE = 33 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::FactoryDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::FactoryDef::_is_a_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::FactoryDef::_get_name_skel, 0}, - {"_set_mode", &POA_CORBA::ComponentIR::FactoryDef::_set_mode_skel, 0}, - {"_get_mode", &POA_CORBA::ComponentIR::FactoryDef::_get_mode_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::FactoryDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::FactoryDef::_interface_skel, 0}, - {"_get_params", &POA_CORBA::ComponentIR::FactoryDef::_get_params_skel, 0}, - {"_set_params", &POA_CORBA::ComponentIR::FactoryDef::_set_params_skel, 0}, - {"_get_contexts", &POA_CORBA::ComponentIR::FactoryDef::_get_contexts_skel, 0}, - {"_set_contexts", &POA_CORBA::ComponentIR::FactoryDef::_set_contexts_skel, 0}, - {"_get_exceptions", &POA_CORBA::ComponentIR::FactoryDef::_get_exceptions_skel, 0}, - {"_set_exceptions", &POA_CORBA::ComponentIR::FactoryDef::_set_exceptions_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::FactoryDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::FactoryDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::FactoryDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::FactoryDef::_get_defined_in_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::FactoryDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::FactoryDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::FactoryDef::describe_skel, 0}, - {"_get_result_def", &POA_CORBA::ComponentIR::FactoryDef::_get_result_def_skel, 0}, - {"_set_result_def", &POA_CORBA::ComponentIR::FactoryDef::_set_result_def_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::FactoryDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::FactoryDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::FactoryDef::_component_skel, 0}, - {"_get_result", &POA_CORBA::ComponentIR::FactoryDef::_get_result_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::FactoryDef::destroy_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::FactoryDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::FactoryDef::_get_containing_repository_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - { - const TAO_operation_db_entry *resword; - - switch (key) - { - case 4: - resword = &wordlist[4]; break; - case 5: - resword = &wordlist[5]; break; - case 9: - resword = &wordlist[6]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[7]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[8]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[9]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 10: - resword = &wordlist[10]; break; - case 11: - resword = &wordlist[11]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[12]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 13: - resword = &wordlist[13]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[14]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 15: - resword = &wordlist[15]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[16]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 17: - resword = &wordlist[17]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[18]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 18: - resword = &wordlist[19]; break; - case 20: - resword = &wordlist[20]; break; - case 22: - resword = &wordlist[21]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[22]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 23: - resword = &wordlist[23]; break; - case 25: - resword = &wordlist[24]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[25]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 28: - resword = &wordlist[26]; break; - case 29: - resword = &wordlist[27]; break; - case 30: - resword = &wordlist[28]; break; - case 31: - resword = &wordlist[29]; break; - case 32: - resword = &wordlist[30]; break; - case 33: - resword = &wordlist[31]; break; - case 36: - resword = &wordlist[32]; break; - default: return 0; - } - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) - return resword; - return 0; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_FactoryDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::FactoryDef::FactoryDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_FactoryDef_optable; -} - -POA_CORBA::ComponentIR::FactoryDef::FactoryDef (const FactoryDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::OperationDef (rhs) -{ -} - -POA_CORBA::ComponentIR::FactoryDef::~FactoryDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_FactoryDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_FactoryDef_Upcall_Command ( - POA_CORBA::ComponentIR::FactoryDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FactoryDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FactoryDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::FactoryDef * const impl = - static_cast (servant); - - _is_a_FactoryDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_FactoryDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_FactoryDef_Upcall_Command ( - POA_CORBA::ComponentIR::FactoryDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FactoryDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FactoryDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::FactoryDef * const impl = - static_cast (servant); - - _non_existent_FactoryDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_FactoryDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_FactoryDef_Upcall_Command ( - POA_CORBA::ComponentIR::FactoryDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FactoryDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FactoryDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::FactoryDef * const impl = - static_cast (servant); - - _repository_id_FactoryDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::FactoryDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::FactoryDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_FactoryDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_FactoryDef_Upcall_Command ( - POA_CORBA::ComponentIR::FactoryDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FactoryDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FactoryDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::FactoryDef * const impl = - static_cast (servant); - - _get_component_FactoryDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::FactoryDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/OperationDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::FactoryDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::FactoryDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::FactoryDef * -POA_CORBA::ComponentIR::FactoryDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::FactoryDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 15, 0, 10, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 5, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 0, 20, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 15, 0, 10, 37, 37, 37, 37, 37, 37, 0, - 5, 37, 37, 37, 37, 0, 20, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 29, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 10, - WORDLIST_SIZE = 33 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::FinderDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::FinderDef::_is_a_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::FinderDef::_get_name_skel, 0}, - {"_set_mode", &POA_CORBA::ComponentIR::FinderDef::_set_mode_skel, 0}, - {"_get_mode", &POA_CORBA::ComponentIR::FinderDef::_get_mode_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::FinderDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::FinderDef::_interface_skel, 0}, - {"_get_params", &POA_CORBA::ComponentIR::FinderDef::_get_params_skel, 0}, - {"_set_params", &POA_CORBA::ComponentIR::FinderDef::_set_params_skel, 0}, - {"_get_contexts", &POA_CORBA::ComponentIR::FinderDef::_get_contexts_skel, 0}, - {"_set_contexts", &POA_CORBA::ComponentIR::FinderDef::_set_contexts_skel, 0}, - {"_get_exceptions", &POA_CORBA::ComponentIR::FinderDef::_get_exceptions_skel, 0}, - {"_set_exceptions", &POA_CORBA::ComponentIR::FinderDef::_set_exceptions_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::FinderDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::FinderDef::_set_version_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::FinderDef::_get_absolute_name_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::FinderDef::_get_defined_in_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::FinderDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::FinderDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::FinderDef::describe_skel, 0}, - {"_get_result_def", &POA_CORBA::ComponentIR::FinderDef::_get_result_def_skel, 0}, - {"_set_result_def", &POA_CORBA::ComponentIR::FinderDef::_set_result_def_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::FinderDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::FinderDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::FinderDef::_component_skel, 0}, - {"_get_result", &POA_CORBA::ComponentIR::FinderDef::_get_result_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::FinderDef::destroy_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::FinderDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::FinderDef::_get_containing_repository_skel, 0}, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - { - const TAO_operation_db_entry *resword; - - switch (key) - { - case 4: - resword = &wordlist[4]; break; - case 5: - resword = &wordlist[5]; break; - case 9: - resword = &wordlist[6]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[7]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[8]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[9]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 10: - resword = &wordlist[10]; break; - case 11: - resword = &wordlist[11]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[12]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 13: - resword = &wordlist[13]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[14]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 15: - resword = &wordlist[15]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[16]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 17: - resword = &wordlist[17]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[18]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 18: - resword = &wordlist[19]; break; - case 20: - resword = &wordlist[20]; break; - case 22: - resword = &wordlist[21]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[22]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 23: - resword = &wordlist[23]; break; - case 25: - resword = &wordlist[24]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - resword = &wordlist[25]; - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) return resword; - return 0; - case 28: - resword = &wordlist[26]; break; - case 29: - resword = &wordlist[27]; break; - case 30: - resword = &wordlist[28]; break; - case 31: - resword = &wordlist[29]; break; - case 32: - resword = &wordlist[30]; break; - case 33: - resword = &wordlist[31]; break; - case 36: - resword = &wordlist[32]; break; - default: return 0; - } - if (*str == *resword->opname && !strncmp (str + 1, resword->opname + 1, len - 1)) - return resword; - return 0; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_FinderDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::FinderDef::FinderDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_FinderDef_optable; -} - -POA_CORBA::ComponentIR::FinderDef::FinderDef (const FinderDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::OperationDef (rhs) -{ -} - -POA_CORBA::ComponentIR::FinderDef::~FinderDef (void) -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_FinderDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_FinderDef_Upcall_Command ( - POA_CORBA::ComponentIR::FinderDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FinderDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FinderDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::FinderDef * const impl = - static_cast (servant); - - _is_a_FinderDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_FinderDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_FinderDef_Upcall_Command ( - POA_CORBA::ComponentIR::FinderDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FinderDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FinderDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::FinderDef * const impl = - static_cast (servant); - - _non_existent_FinderDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_FinderDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_FinderDef_Upcall_Command ( - POA_CORBA::ComponentIR::FinderDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FinderDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FinderDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::FinderDef * const impl = - static_cast (servant); - - _repository_id_FinderDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::FinderDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::FinderDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_FinderDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_FinderDef_Upcall_Command ( - POA_CORBA::ComponentIR::FinderDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::FinderDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::FinderDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::FinderDef * const impl = - static_cast (servant); - - _get_component_FinderDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::FinderDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/OperationDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::FinderDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::FinderDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::FinderDef * -POA_CORBA::ComponentIR::FinderDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::FinderDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, - 101, 45, 20, 0, 101, 101, 101, 15, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 0, 0, 20, - 101, 0, 101, 5, 101, 101, 101, 101, 101, 101, - 101, 101, 35, 40, 101, 101, 101, 5, 10, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, -#else - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 0, 101, 0, 101, 45, - 20, 0, 101, 101, 101, 15, 101, 101, 0, 0, - 20, 101, 0, 101, 5, 35, 40, 101, 101, 101, - 5, 10, 101, 101, 101, 101, 101, 101, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 55, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 100, - HASH_VALUE_RANGE = 97, - DUPLICATES = 14, - WORDLIST_SIZE = 59 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ComponentIR::HomeDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ComponentIR::HomeDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ComponentIR::HomeDef::lookup_skel, 0}, - {"_get_name", &POA_CORBA::ComponentIR::HomeDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ComponentIR::HomeDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ComponentIR::HomeDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ComponentIR::HomeDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ComponentIR::HomeDef::lookup_name_skel, 0}, - {"_get_base_home", &POA_CORBA::ComponentIR::HomeDef::_get_base_home_skel, 0}, - {"_set_base_home", &POA_CORBA::ComponentIR::HomeDef::_set_base_home_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ComponentIR::HomeDef::_get_absolute_name_skel, 0}, - {"is_a", &POA_CORBA::ComponentIR::HomeDef::is_a_skel, 0}, - {"_get_primary_key", &POA_CORBA::ComponentIR::HomeDef::_get_primary_key_skel, 0}, - {"_set_primary_key", &POA_CORBA::ComponentIR::HomeDef::_set_primary_key_skel, 0}, - {"_get_id", &POA_CORBA::ComponentIR::HomeDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ComponentIR::HomeDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ComponentIR::HomeDef::describe_skel, 0}, - {"_get_version", &POA_CORBA::ComponentIR::HomeDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ComponentIR::HomeDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ComponentIR::HomeDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ComponentIR::HomeDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ComponentIR::HomeDef::_get_defined_in_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ComponentIR::HomeDef::_get_containing_repository_skel, 0}, - {"destroy", &POA_CORBA::ComponentIR::HomeDef::destroy_skel, 0}, - {"describe_interface", &POA_CORBA::ComponentIR::HomeDef::describe_interface_skel, 0}, - {"describe_ext_interface", &POA_CORBA::ComponentIR::HomeDef::describe_ext_interface_skel, 0}, - {"_component", &POA_CORBA::ComponentIR::HomeDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ComponentIR::HomeDef::_non_existent_skel, 0}, - {"_get_base_interfaces", &POA_CORBA::ComponentIR::HomeDef::_get_base_interfaces_skel, 0}, - {"_set_base_interfaces", &POA_CORBA::ComponentIR::HomeDef::_set_base_interfaces_skel, 0}, - {"create_enum", &POA_CORBA::ComponentIR::HomeDef::create_enum_skel, 0}, - {"create_value", &POA_CORBA::ComponentIR::HomeDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ComponentIR::HomeDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ComponentIR::HomeDef::create_native_skel, 0}, - {"_get_supported_interfaces", &POA_CORBA::ComponentIR::HomeDef::_get_supported_interfaces_skel, 0}, - {"_set_supported_interfaces", &POA_CORBA::ComponentIR::HomeDef::_set_supported_interfaces_skel, 0}, - {"create_interface", &POA_CORBA::ComponentIR::HomeDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ComponentIR::HomeDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ComponentIR::HomeDef::create_ext_value_skel, 0}, - {"_get_managed_component", &POA_CORBA::ComponentIR::HomeDef::_get_managed_component_skel, 0}, - {"_set_managed_component", &POA_CORBA::ComponentIR::HomeDef::_set_managed_component_skel, 0}, - {"create_finder", &POA_CORBA::ComponentIR::HomeDef::create_finder_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ComponentIR::HomeDef::create_ext_attribute_skel, 0}, - {"create_value_box", &POA_CORBA::ComponentIR::HomeDef::create_value_box_skel, 0}, - {"create_local_interface", &POA_CORBA::ComponentIR::HomeDef::create_local_interface_skel, 0}, - {"create_factory", &POA_CORBA::ComponentIR::HomeDef::create_factory_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ComponentIR::HomeDef::create_abstract_interface_skel, 0}, - {"describe_contents", &POA_CORBA::ComponentIR::HomeDef::describe_contents_skel, 0}, - {"create_union", &POA_CORBA::ComponentIR::HomeDef::create_union_skel, 0}, - {"create_exception", &POA_CORBA::ComponentIR::HomeDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ComponentIR::HomeDef::create_operation_skel, 0}, - {"contents", &POA_CORBA::ComponentIR::HomeDef::contents_skel, 0}, - {"create_alias", &POA_CORBA::ComponentIR::HomeDef::create_alias_skel, 0}, - {"create_struct", &POA_CORBA::ComponentIR::HomeDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ComponentIR::HomeDef::create_constant_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -1, -1, -1, 4, 5, 6, -7, -3, -102, 10, 11, -12, -2, - -102, -1, -1, -1, 14, 15, -1, -1, -16, -2, -18, -2, -104, -103, - 20, -1, -21, -2, -102, 23, 24, 25, 26, 27, 28, -1, -32, -2, - 29, -1, -36, -2, -38, -2, -40, -3, 30, -43, -2, 31, -1, -115, - 34, 35, -114, -1, -114, -113, -111, 45, -1, 46, 47, 48, -1, 49, - 50, -1, 51, -1, -1, -1, -1, 52, -1, -53, -2, -102, -1, -1, - -1, -1, -1, -1, 55, -1, -1, -1, 56, -1, -1, -1, -1, -1, - 57, -1, 58, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_HomeDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer = - CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ComponentIR::HomeDef::HomeDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ComponentIR_HomeDef_optable; -} - -POA_CORBA::ComponentIR::HomeDef::HomeDef (const HomeDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::InterfaceDef (rhs), - POA_CORBA::InterfaceAttrExtension (rhs), - POA_CORBA::ExtInterfaceDef (rhs) -{ -} - -POA_CORBA::ComponentIR::HomeDef::~HomeDef (void) -{ -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_base_home_HomeDef - : public TAO::Upcall_Command - { - public: - inline _get_base_home_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::HomeDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->base_home ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_get_base_home_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _get_base_home_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_base_home_HomeDef - : public TAO::Upcall_Command - { - public: - inline _set_base_home_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::HomeDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->base_home ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_set_base_home_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ComponentIR::HomeDef>::in_arg_val _tao_base_home; - - TAO::Argument * const args[] = - { - &retval, - &_tao_base_home - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _set_base_home_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_supported_interfaces_HomeDef - : public TAO::Upcall_Command - { - public: - inline _get_supported_interfaces_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _get_supported_interfaces_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_supported_interfaces_HomeDef - : public TAO::Upcall_Command - { - public: - inline _set_supported_interfaces_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->supported_interfaces ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_supported_interfaces - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _set_supported_interfaces_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_managed_component_HomeDef - : public TAO::Upcall_Command - { - public: - inline _get_managed_component_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->managed_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_get_managed_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _get_managed_component_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_managed_component_HomeDef - : public TAO::Upcall_Command - { - public: - inline _set_managed_component_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ComponentIR::ComponentDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->managed_component ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_set_managed_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_managed_component; - - TAO::Argument * const args[] = - { - &retval, - &_tao_managed_component - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _set_managed_component_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_primary_key_HomeDef - : public TAO::Upcall_Command - { - public: - inline _get_primary_key_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->primary_key ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_get_primary_key_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _get_primary_key_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_primary_key_HomeDef - : public TAO::Upcall_Command - { - public: - inline _set_primary_key_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->primary_key ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::_set_primary_key_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_val _tao_primary_key; - - TAO::Argument * const args[] = - { - &retval, - &_tao_primary_key - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _set_primary_key_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_factory_HomeDef - : public TAO::Upcall_Command - { - public: - inline create_factory_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::FactoryDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::FactoryDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ParDescriptionSeq> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_factory ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::create_factory_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::FactoryDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_val _tao_params; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_params, - &_tao_exceptions - }; - - static size_t const nargs = 6; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - create_factory_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_finder_HomeDef - : public TAO::Upcall_Command - { - public: - inline create_finder_HomeDef ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ComponentIR::FinderDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ComponentIR::FinderDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::ParDescriptionSeq> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_finder ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ComponentIR::HomeDef::create_finder_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ComponentIR::FinderDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_val _tao_params; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_params, - &_tao_exceptions - }; - - static size_t const nargs = 6; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - create_finder_HomeDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_HomeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_HomeDef_Upcall_Command ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::HomeDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _is_a_HomeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_HomeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_HomeDef_Upcall_Command ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::HomeDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _non_existent_HomeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_HomeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_HomeDef_Upcall_Command ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::HomeDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _repository_id_HomeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ComponentIR::HomeDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_HomeDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_HomeDef_Upcall_Command ( - POA_CORBA::ComponentIR::HomeDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ComponentIR::HomeDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; - } - -} - - -void POA_CORBA::ComponentIR::HomeDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ComponentIR::HomeDef * const impl = - static_cast (servant); - - _get_component_HomeDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ComponentIR::HomeDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtInterfaceDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ComponentIR::HomeDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ComponentIR::HomeDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ComponentIR::HomeDef * -POA_CORBA::ComponentIR::HomeDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ComponentIR::HomeDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer - ); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - - -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h deleted file mode 100644 index 096de121f5f..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h +++ /dev/null @@ -1,5119 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:409 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_H_ - -#include /**/ "ace/pre.h" - -#include "tao/IFR_Client/IFR_ComponentsC.h" -#include "orbsvcs/IFRService/IFR_ExtendedS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Collocation_Proxy_Broker.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:49 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_module/module_sh.cpp:49 - - namespace ComponentIR - { - - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class EventDef; - typedef EventDef *EventDef_ptr; - - class EventDef - : public virtual POA_CORBA::ExtValueDef - { - protected: - EventDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::EventDef _stub_type; - typedef ::CORBA::ComponentIR::EventDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::EventDef_var _stub_var_type; - - EventDef (const EventDef& rhs); - virtual ~EventDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::EventDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_member_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class Container; - typedef Container *Container_ptr; - - class Container - : public virtual POA_CORBA::Container - { - protected: - Container (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::Container _stub_type; - typedef ::CORBA::ComponentIR::Container_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::Container_var _stub_var_type; - - Container (const Container& rhs); - virtual ~Container (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::Container *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::ComponentDef_ptr create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::HomeDef_ptr create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::EventDef_ptr create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ModuleDef; - typedef ModuleDef *ModuleDef_ptr; - - class ModuleDef - : public virtual POA_CORBA::ModuleDef, - public virtual POA_CORBA::ComponentIR::Container - { - protected: - ModuleDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::ModuleDef _stub_type; - typedef ::CORBA::ComponentIR::ModuleDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::ModuleDef_var _stub_var_type; - - ModuleDef (const ModuleDef& rhs); - virtual ~ModuleDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::ModuleDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class Repository; - typedef Repository *Repository_ptr; - - class Repository - : public virtual POA_CORBA::Repository, - public virtual POA_CORBA::ComponentIR::Container - { - protected: - Repository (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::Repository _stub_type; - typedef ::CORBA::ComponentIR::Repository_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::Repository_var _stub_var_type; - - Repository (const Repository& rhs); - virtual ~Repository (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::Repository *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - get_canonical_typecode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - get_primitive_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_string_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_wstring_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_sequence_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_array_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_fixed_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ProvidesDef; - typedef ProvidesDef *ProvidesDef_ptr; - - class ProvidesDef - : public virtual POA_CORBA::Contained - { - protected: - ProvidesDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::ProvidesDef _stub_type; - typedef ::CORBA::ComponentIR::ProvidesDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::ProvidesDef_var _stub_var_type; - - ProvidesDef (const ProvidesDef& rhs); - virtual ~ProvidesDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::ProvidesDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDef_ptr interface_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_interface_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void interface_type ( - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_interface_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class UsesDef; - typedef UsesDef *UsesDef_ptr; - - class UsesDef - : public virtual POA_CORBA::Contained - { - protected: - UsesDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::UsesDef _stub_type; - typedef ::CORBA::ComponentIR::UsesDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::UsesDef_var _stub_var_type; - - UsesDef (const UsesDef& rhs); - virtual ~UsesDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::UsesDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDef_ptr interface_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_interface_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void interface_type ( - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_interface_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_multiple ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_is_multiple_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void is_multiple ( - ::CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_is_multiple_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class EventPortDef; - typedef EventPortDef *EventPortDef_ptr; - - class EventPortDef - : public virtual POA_CORBA::Contained - { - protected: - EventPortDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::EventPortDef _stub_type; - typedef ::CORBA::ComponentIR::EventPortDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::EventPortDef_var _stub_var_type; - - EventPortDef (const EventPortDef& rhs); - virtual ~EventPortDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::EventPortDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::EventDef_ptr event ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_a ( - const char * event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class EmitsDef; - typedef EmitsDef *EmitsDef_ptr; - - class EmitsDef - : public virtual POA_CORBA::ComponentIR::EventPortDef - { - protected: - EmitsDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::EmitsDef _stub_type; - typedef ::CORBA::ComponentIR::EmitsDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::EmitsDef_var _stub_var_type; - - EmitsDef (const EmitsDef& rhs); - virtual ~EmitsDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::EmitsDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class PublishesDef; - typedef PublishesDef *PublishesDef_ptr; - - class PublishesDef - : public virtual POA_CORBA::ComponentIR::EventPortDef - { - protected: - PublishesDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::PublishesDef _stub_type; - typedef ::CORBA::ComponentIR::PublishesDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::PublishesDef_var _stub_var_type; - - PublishesDef (const PublishesDef& rhs); - virtual ~PublishesDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::PublishesDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ConsumesDef; - typedef ConsumesDef *ConsumesDef_ptr; - - class ConsumesDef - : public virtual POA_CORBA::ComponentIR::EventPortDef - { - protected: - ConsumesDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::ConsumesDef _stub_type; - typedef ::CORBA::ComponentIR::ConsumesDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::ConsumesDef_var _stub_var_type; - - ConsumesDef (const ConsumesDef& rhs); - virtual ~ConsumesDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::ConsumesDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ComponentDef; - typedef ComponentDef *ComponentDef_ptr; - - class ComponentDef - : public virtual POA_CORBA::ExtInterfaceDef - { - protected: - ComponentDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::ComponentDef _stub_type; - typedef ::CORBA::ComponentIR::ComponentDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::ComponentDef_var _stub_var_type; - - ComponentDef (const ComponentDef& rhs); - virtual ~ComponentDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::ComponentDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::ComponentDef_ptr base_component ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_base_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void base_component ( - ::CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_base_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::ProvidesDef_ptr create_provides ( - const char * id, - const char * name, - const char * version, - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_provides_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::UsesDef_ptr create_uses ( - const char * id, - const char * name, - const char * version, - ::CORBA::InterfaceDef_ptr interface_type, - ::CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_uses_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::EmitsDef_ptr create_emits ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_emits_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::PublishesDef_ptr create_publishes ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_publishes_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::ConsumesDef_ptr create_consumes ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_consumes_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class FactoryDef; - typedef FactoryDef *FactoryDef_ptr; - - class FactoryDef - : public virtual POA_CORBA::OperationDef - { - protected: - FactoryDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::FactoryDef _stub_type; - typedef ::CORBA::ComponentIR::FactoryDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::FactoryDef_var _stub_var_type; - - FactoryDef (const FactoryDef& rhs); - virtual ~FactoryDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::FactoryDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_result_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class FinderDef; - typedef FinderDef *FinderDef_ptr; - - class FinderDef - : public virtual POA_CORBA::OperationDef - { - protected: - FinderDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::FinderDef _stub_type; - typedef ::CORBA::ComponentIR::FinderDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::FinderDef_var _stub_var_type; - - FinderDef (const FinderDef& rhs); - virtual ~FinderDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::FinderDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_result_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class HomeDef; - typedef HomeDef *HomeDef_ptr; - - class HomeDef - : public virtual POA_CORBA::ExtInterfaceDef - { - protected: - HomeDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ComponentIR::HomeDef _stub_type; - typedef ::CORBA::ComponentIR::HomeDef_ptr _stub_ptr_type; - typedef ::CORBA::ComponentIR::HomeDef_var _stub_var_type; - - HomeDef (const HomeDef& rhs); - virtual ~HomeDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ComponentIR::HomeDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::HomeDef_ptr base_home ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_base_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void base_home ( - ::CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_base_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::ComponentDef_ptr managed_component ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_managed_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void managed_component ( - ::CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_managed_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueDef_ptr primary_key ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_primary_key_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void primary_key ( - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_primary_key_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::FactoryDef_ptr create_factory ( - const char * id, - const char * name, - const char * version, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_factory_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ComponentIR::FinderDef_ptr create_finder ( - const char * id, - const char * name, - const char * version, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_finder_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_module/module_sh.cpp:80 - - } // module CORBA::ComponentIR - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:80 - -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1219 - - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "IFR_ComponentsS_T.h" - -#if defined (__ACE_INLINE__) -#include "IFR_ComponentsS.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl deleted file mode 100644 index 86e5fd82676..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl +++ /dev/null @@ -1,6972 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_supported_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_supported_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_initializers_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_initializers_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_base_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_base_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_abstract_base_values_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_abstract_base_values_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_is_abstract_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_is_abstract_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_is_custom_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_is_custom_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_is_truncatable_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_is_truncatable_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::describe_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::describe_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_value_member_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::create_value_member_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_get_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ExtValueDef * const impl = static_cast (servant); - POA_CORBA::ExtValueDef::_get_ext_initializers_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::_set_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ExtValueDef * const impl = static_cast (servant); - POA_CORBA::ExtValueDef::_set_ext_initializers_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::describe_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ExtValueDef * const impl = static_cast (servant); - POA_CORBA::ExtValueDef::describe_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ExtValueDef * const impl = static_cast (servant); - POA_CORBA::ExtValueDef::create_ext_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Container::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::Container * const impl = static_cast (servant); - POA_CORBA::ComponentIR::Container::create_component_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::Container * const impl = static_cast (servant); - POA_CORBA::ComponentIR::Container::create_home_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ModuleDef::create_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::Container * const impl = static_cast (servant); - POA_CORBA::ComponentIR::Container::create_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::lookup_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::lookup_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::get_canonical_typecode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::get_canonical_typecode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::get_primitive_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::get_primitive_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_string_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::create_string_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_wstring_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::create_wstring_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_sequence_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::create_sequence_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_array_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::create_array_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_fixed_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Repository * const impl = static_cast (servant); - POA_CORBA::Repository::create_fixed_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_component_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::Container * const impl = static_cast (servant); - POA_CORBA::ComponentIR::Container::create_component_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_home_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::Container * const impl = static_cast (servant); - POA_CORBA::ComponentIR::Container::create_home_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::Repository::create_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::Container * const impl = static_cast (servant); - POA_CORBA::ComponentIR::Container::create_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ProvidesDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::UsesDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EventPortDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::_get_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::_set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::_set_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::EmitsDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::_get_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::_set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::_set_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::PublishesDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_get_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::_get_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::_set_event_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::_set_event_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ConsumesDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ComponentIR::EventPortDef * const impl = static_cast (servant); - POA_CORBA::ComponentIR::EventPortDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::ComponentDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_result_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_result_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_result_def_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_result_def_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_params_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_params_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_mode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_mode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_contexts_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_contexts_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_exceptions_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FactoryDef::_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_exceptions_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_result_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_result_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_result_def_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_result_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_result_def_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_params_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_params_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_params_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_mode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_mode_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_mode_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_contexts_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_contexts_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_contexts_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_get_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_get_exceptions_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::FinderDef::_set_exceptions_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::OperationDef * const impl = static_cast (servant); - POA_CORBA::OperationDef::_set_exceptions_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_get_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_get_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::_set_base_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::_set_base_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::describe_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::describe_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceDef * const impl = static_cast (servant); - POA_CORBA::InterfaceDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::describe_ext_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::describe_ext_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ComponentIR::HomeDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::InterfaceAttrExtension * const impl = static_cast (servant); - POA_CORBA::InterfaceAttrExtension::create_ext_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.cpp deleted file mode 100644 index 1944c42347d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:683 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_T_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_T_CPP_ - -#include "IFR_ComponentsS_T.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_ComponentsS_T.inl" -#endif /* !defined INLINE */ - - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#endif /* ifndef */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h deleted file mode 100644 index 0ab0e5470dc..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h +++ /dev/null @@ -1,5387 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:545 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_T_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_COMPONENTSS_T_H_ - -#include /**/ "ace/pre.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_root/root_sth.cpp:116 - -namespace POA_CORBA -{ - - // TAO_IDL - Generated from - // be\be_visitor_root/root_sth.cpp:116 - - namespace ComponentIR - { - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class EventDef_tie : public EventDef - { - public: - /// the T& ctor - EventDef_tie (T &t); - /// ctor taking a POA - EventDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - EventDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - EventDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~EventDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InitializerSeq * initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr base_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDefSeq * abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_abstract ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_custom ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef::FullValueDescription * describe_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueMemberDef_ptr create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtInitializerSeq * ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void ext_initializers ( - const ::CORBA::ExtInitializerSeq & ext_initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef::ExtFullValueDescription * describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - EventDef_tie (const EventDef_tie &); - void operator= (const EventDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class Container_tie : public Container - { - public: - /// the T& ctor - Container_tie (T &t); - /// ctor taking a POA - Container_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - Container_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - Container_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~Container_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ComponentDef_ptr create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::HomeDef_ptr create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - Container_tie (const Container_tie &); - void operator= (const Container_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ModuleDef_tie : public ModuleDef - { - public: - /// the T& ctor - ModuleDef_tie (T &t); - /// ctor taking a POA - ModuleDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ModuleDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ModuleDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ModuleDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ComponentDef_ptr create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::HomeDef_ptr create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ModuleDef_tie (const ModuleDef_tie &); - void operator= (const ModuleDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class Repository_tie : public Repository - { - public: - /// the T& ctor - Repository_tie (T &t); - /// ctor taking a POA - Repository_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - Repository_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - Repository_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~Repository_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup_id ( - const char * search_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr get_canonical_typecode ( - ::CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::PrimitiveDef_ptr get_primitive ( - ::CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StringDef_ptr create_string ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::WstringDef_ptr create_wstring ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::SequenceDef_ptr create_sequence ( - ::CORBA::ULong bound, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ArrayDef_ptr create_array ( - ::CORBA::ULong length, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::FixedDef_ptr create_fixed ( - ::CORBA::UShort digits, - ::CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ComponentDef_ptr create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::HomeDef_ptr create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - Repository_tie (const Repository_tie &); - void operator= (const Repository_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ProvidesDef_tie : public ProvidesDef - { - public: - /// the T& ctor - ProvidesDef_tie (T &t); - /// ctor taking a POA - ProvidesDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ProvidesDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ProvidesDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ProvidesDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr interface_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void interface_type ( - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ProvidesDef_tie (const ProvidesDef_tie &); - void operator= (const ProvidesDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class UsesDef_tie : public UsesDef - { - public: - /// the T& ctor - UsesDef_tie (T &t); - /// ctor taking a POA - UsesDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - UsesDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - UsesDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~UsesDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr interface_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void interface_type ( - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_multiple ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_multiple ( - ::CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - UsesDef_tie (const UsesDef_tie &); - void operator= (const UsesDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class EventPortDef_tie : public EventPortDef - { - public: - /// the T& ctor - EventPortDef_tie (T &t); - /// ctor taking a POA - EventPortDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - EventPortDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - EventPortDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~EventPortDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr event ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - EventPortDef_tie (const EventPortDef_tie &); - void operator= (const EventPortDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class EmitsDef_tie : public EmitsDef - { - public: - /// the T& ctor - EmitsDef_tie (T &t); - /// ctor taking a POA - EmitsDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - EmitsDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - EmitsDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~EmitsDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr event ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - EmitsDef_tie (const EmitsDef_tie &); - void operator= (const EmitsDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class PublishesDef_tie : public PublishesDef - { - public: - /// the T& ctor - PublishesDef_tie (T &t); - /// ctor taking a POA - PublishesDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - PublishesDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - PublishesDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~PublishesDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr event ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - PublishesDef_tie (const PublishesDef_tie &); - void operator= (const PublishesDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ConsumesDef_tie : public ConsumesDef - { - public: - /// the T& ctor - ConsumesDef_tie (T &t); - /// ctor taking a POA - ConsumesDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ConsumesDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ConsumesDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ConsumesDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EventDef_ptr event ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * event_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ConsumesDef_tie (const ConsumesDef_tie &); - void operator= (const ConsumesDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ComponentDef_tie : public ComponentDef - { - public: - /// the T& ctor - ComponentDef_tie (T &t); - /// ctor taking a POA - ComponentDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ComponentDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ComponentDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ComponentDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ComponentDef_ptr base_component ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_component ( - ::CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ProvidesDef_ptr create_provides ( - const char * id, - const char * name, - const char * version, - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::UsesDef_ptr create_uses ( - const char * id, - const char * name, - const char * version, - ::CORBA::InterfaceDef_ptr interface_type, - ::CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::EmitsDef_ptr create_emits ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::PublishesDef_ptr create_publishes ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ConsumesDef_ptr create_consumes ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ComponentDef_tie (const ComponentDef_tie &); - void operator= (const ComponentDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class FactoryDef_tie : public FactoryDef - { - public: - /// the T& ctor - FactoryDef_tie (T &t); - /// ctor taking a POA - FactoryDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - FactoryDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - FactoryDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~FactoryDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr result ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr result_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ParDescriptionSeq * params ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContextIdSeq * contexts ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDefSeq * exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - FactoryDef_tie (const FactoryDef_tie &); - void operator= (const FactoryDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class FinderDef_tie : public FinderDef - { - public: - /// the T& ctor - FinderDef_tie (T &t); - /// ctor taking a POA - FinderDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - FinderDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - FinderDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~FinderDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr result ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr result_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ParDescriptionSeq * params ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContextIdSeq * contexts ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDefSeq * exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - FinderDef_tie (const FinderDef_tie &); - void operator= (const FinderDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class HomeDef_tie : public HomeDef - { - public: - /// the T& ctor - HomeDef_tie (T &t); - /// ctor taking a POA - HomeDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - HomeDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - HomeDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~HomeDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef::FullInterfaceDescription * describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::HomeDef_ptr base_home ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_home ( - ::CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::ComponentDef_ptr managed_component ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void managed_component ( - ::CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr primary_key ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void primary_key ( - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::FactoryDef_ptr create_factory ( - const char * id, - const char * name, - const char * version, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ComponentIR::FinderDef_ptr create_finder ( - const char * id, - const char * name, - const char * version, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - HomeDef_tie (const HomeDef_tie &); - void operator= (const HomeDef_tie &); - }; - } // module CORBA::ComponentIR -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1322 - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "IFR_ComponentsS_T.inl" -#endif /* defined INLINE */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "IFR_ComponentsS_T.cpp" -#endif /* defined REQUIRED SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("IFR_ComponentsS_T.cpp") -#endif /* defined REQUIRED PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.inl deleted file mode 100644 index eae67ae179d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.inl +++ /dev/null @@ -1,9019 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::EventDef_tie::EventDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventDef_tie::EventDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventDef_tie::EventDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventDef_tie::EventDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventDef_tie::~EventDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::EventDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EventDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EventDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::EventDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EventDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::EventDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->EventDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::EventDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::EventDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::EventDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::EventDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ComponentIR::EventDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::EventDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::EventDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::EventDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ComponentIR::EventDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ComponentIR::EventDef_tie::supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->supported_interfaces ( - supported_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InitializerSeq * POA_CORBA::ComponentIR::EventDef_tie::initializers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->initializers ( - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::EventDef_tie::base_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_value ( - base_value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDefSeq * POA_CORBA::ComponentIR::EventDef_tie::abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->abstract_base_values ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->abstract_base_values ( - abstract_base_values - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::EventDef_tie::is_abstract ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_abstract ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_abstract ( - is_abstract - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::EventDef_tie::is_custom ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_custom ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_custom ( - is_custom - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::EventDef_tie::is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_truncatable ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_truncatable ( - is_truncatable - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::EventDef_tie::is_a ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef::FullValueDescription * POA_CORBA::ComponentIR::EventDef_tie::describe_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueMemberDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_member ( - id, - name, - version, - type, - access - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtInitializerSeq * POA_CORBA::ComponentIR::EventDef_tie::ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->ext_initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventDef_tie::ext_initializers ( - const ::CORBA::ExtInitializerSeq & ext_initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->ext_initializers ( - ext_initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef::ExtFullValueDescription * POA_CORBA::ComponentIR::EventDef_tie::describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ComponentIR::EventDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::Container_tie::Container_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Container_tie::Container_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Container_tie::Container_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Container_tie::Container_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Container_tie::~Container_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::Container_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::Container_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::Container_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::Container_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::Container_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::Container_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->Container::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::Container_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::Container_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::Container_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::Container_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::Container_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ComponentIR::Container_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ComponentIR::Container_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ComponentIR::Container_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ComponentIR::Container_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ComponentIR::Container_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ComponentIR::Container_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ComponentIR::Container_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::Container_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::Container_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ComponentIR::Container_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ComponentIR::Container_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ComponentIR::Container_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ComponentIR::Container_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ComponentIR::Container_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ComponentIR::Container_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ComponentDef_ptr POA_CORBA::ComponentIR::Container_tie::create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_component ( - id, - name, - version, - base_component, - supports_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::HomeDef_ptr POA_CORBA::ComponentIR::Container_tie::create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_home ( - id, - name, - version, - base_home, - managed_component, - supports_interfaces, - primary_key - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::Container_tie::create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_event ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::ModuleDef_tie::ModuleDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ModuleDef_tie::ModuleDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ModuleDef_tie::ModuleDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ModuleDef_tie::ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ModuleDef_tie::~ModuleDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::ModuleDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ModuleDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ModuleDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::ModuleDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ModuleDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::ModuleDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ModuleDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::ModuleDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ModuleDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::ModuleDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::ModuleDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::ModuleDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ComponentIR::ModuleDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ModuleDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ModuleDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ModuleDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ModuleDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ModuleDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ModuleDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::ModuleDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ModuleDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::ModuleDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::ModuleDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ModuleDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ComponentDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_component ( - id, - name, - version, - base_component, - supports_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::HomeDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_home ( - id, - name, - version, - base_home, - managed_component, - supports_interfaces, - primary_key - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::ModuleDef_tie::create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_event ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::Repository_tie::Repository_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Repository_tie::Repository_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Repository_tie::Repository_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Repository_tie::Repository_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::Repository_tie::~Repository_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::Repository_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::Repository_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::Repository_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::Repository_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::Repository_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::Repository_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->Repository::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::Repository_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::Repository_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::Repository_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::Repository_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::Repository_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ComponentIR::Repository_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::Repository_tie::lookup_id ( - const char * search_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_id ( - search_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ComponentIR::Repository_tie::get_canonical_typecode ( - ::CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->get_canonical_typecode ( - tc - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::PrimitiveDef_ptr POA_CORBA::ComponentIR::Repository_tie::get_primitive ( - ::CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->get_primitive ( - kind - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StringDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_string ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_string ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::WstringDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_wstring ( - ::CORBA::ULong bound - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_wstring ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::SequenceDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_sequence ( - ::CORBA::ULong bound, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_sequence ( - bound, - element_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ArrayDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_array ( - ::CORBA::ULong length, - ::CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_array ( - length, - element_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::FixedDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_fixed ( - ::CORBA::UShort digits, - ::CORBA::Short scale - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_fixed ( - digits, - scale - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ComponentDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_component ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::ComponentDef_ptr base_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_component ( - id, - name, - version, - base_component, - supports_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::HomeDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_home ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::HomeDef_ptr base_home, - ::CORBA::ComponentIR::ComponentDef_ptr managed_component, - const ::CORBA::InterfaceDefSeq & supports_interfaces, - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_home ( - id, - name, - version, - base_home, - managed_component, - supports_interfaces, - primary_key - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::Repository_tie::create_event ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_event ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::ProvidesDef_tie::ProvidesDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ProvidesDef_tie::ProvidesDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ProvidesDef_tie::ProvidesDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ProvidesDef_tie::ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ProvidesDef_tie::~ProvidesDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::ProvidesDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ProvidesDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ProvidesDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::ProvidesDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ProvidesDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::ProvidesDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ProvidesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::ProvidesDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ProvidesDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ProvidesDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ProvidesDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ProvidesDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ProvidesDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ProvidesDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ProvidesDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::ProvidesDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ProvidesDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::ProvidesDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::ProvidesDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ProvidesDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::ProvidesDef_tie::interface_type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->interface_type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ProvidesDef_tie::interface_type ( - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->interface_type ( - interface_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::UsesDef_tie::UsesDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::UsesDef_tie::UsesDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::UsesDef_tie::UsesDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::UsesDef_tie::UsesDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::UsesDef_tie::~UsesDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::UsesDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::UsesDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::UsesDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::UsesDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::UsesDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::UsesDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->UsesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::UsesDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::UsesDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::UsesDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::UsesDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::UsesDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::UsesDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::UsesDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::UsesDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::UsesDef_tie::interface_type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->interface_type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::interface_type ( - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->interface_type ( - interface_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::UsesDef_tie::is_multiple ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_multiple ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::UsesDef_tie::is_multiple ( - ::CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_multiple ( - is_multiple - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::EventPortDef_tie::EventPortDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventPortDef_tie::EventPortDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventPortDef_tie::EventPortDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventPortDef_tie::EventPortDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EventPortDef_tie::~EventPortDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::EventPortDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EventPortDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EventPortDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::EventPortDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EventPortDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::EventPortDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->EventPortDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::EventPortDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventPortDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventPortDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventPortDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventPortDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventPortDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventPortDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventPortDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::EventPortDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EventPortDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::EventPortDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::EventPortDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventPortDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::EventPortDef_tie::event ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->event ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EventPortDef_tie::event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->event ( - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::EventPortDef_tie::is_a ( - const char * event_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - event_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::EmitsDef_tie::EmitsDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EmitsDef_tie::EmitsDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EmitsDef_tie::EmitsDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EmitsDef_tie::EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::EmitsDef_tie::~EmitsDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::EmitsDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EmitsDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EmitsDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::EmitsDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::EmitsDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::EmitsDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->EmitsDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::EmitsDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EmitsDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EmitsDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EmitsDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EmitsDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EmitsDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EmitsDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EmitsDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::EmitsDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::EmitsDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::EmitsDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::EmitsDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EmitsDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::EmitsDef_tie::event ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->event ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::EmitsDef_tie::event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->event ( - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::EmitsDef_tie::is_a ( - const char * event_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - event_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::PublishesDef_tie::PublishesDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::PublishesDef_tie::PublishesDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::PublishesDef_tie::PublishesDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::PublishesDef_tie::PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::PublishesDef_tie::~PublishesDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::PublishesDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::PublishesDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::PublishesDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::PublishesDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::PublishesDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::PublishesDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->PublishesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::PublishesDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::PublishesDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::PublishesDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::PublishesDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::PublishesDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::PublishesDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::PublishesDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::PublishesDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::PublishesDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::PublishesDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::PublishesDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::PublishesDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::PublishesDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::PublishesDef_tie::event ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->event ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::PublishesDef_tie::event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->event ( - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::PublishesDef_tie::is_a ( - const char * event_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - event_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::ConsumesDef_tie::ConsumesDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ConsumesDef_tie::ConsumesDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ConsumesDef_tie::ConsumesDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ConsumesDef_tie::ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ConsumesDef_tie::~ConsumesDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::ConsumesDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ConsumesDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ConsumesDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::ConsumesDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ConsumesDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::ConsumesDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ConsumesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::ConsumesDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ConsumesDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ConsumesDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ConsumesDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ConsumesDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ConsumesDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ConsumesDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ConsumesDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::ConsumesDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ConsumesDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::ConsumesDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::ConsumesDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ConsumesDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EventDef_ptr POA_CORBA::ComponentIR::ConsumesDef_tie::event ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->event ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ConsumesDef_tie::event ( - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->event ( - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::ConsumesDef_tie::is_a ( - const char * event_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - event_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::ComponentDef_tie::ComponentDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ComponentDef_tie::ComponentDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ComponentDef_tie::ComponentDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ComponentDef_tie::ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::ComponentDef_tie::~ComponentDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::ComponentDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ComponentDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ComponentDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::ComponentDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::ComponentDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::ComponentDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ComponentDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::ComponentDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::ComponentDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::ComponentDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::ComponentDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ComponentIR::ComponentDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ComponentDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ComponentDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ComponentDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::ComponentDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::ComponentDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::ComponentDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::ComponentDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ComponentIR::ComponentDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ComponentIR::ComponentDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::ComponentDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ComponentIR::ComponentDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ComponentIR::ComponentDef_tie::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ComponentDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::base_component ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_component ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::base_component ( - ::CORBA::ComponentIR::ComponentDef_ptr base_component - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_component ( - base_component - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ComponentIR::ComponentDef_tie::supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::ComponentDef_tie::supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->supported_interfaces ( - supported_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ProvidesDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_provides ( - const char * id, - const char * name, - const char * version, - ::CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_provides ( - id, - name, - version, - interface_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::UsesDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_uses ( - const char * id, - const char * name, - const char * version, - ::CORBA::InterfaceDef_ptr interface_type, - ::CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_uses ( - id, - name, - version, - interface_type, - is_multiple - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::EmitsDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_emits ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_emits ( - id, - name, - version, - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::PublishesDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_publishes ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_publishes ( - id, - name, - version, - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ConsumesDef_ptr POA_CORBA::ComponentIR::ComponentDef_tie::create_consumes ( - const char * id, - const char * name, - const char * version, - ::CORBA::ComponentIR::EventDef_ptr event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_consumes ( - id, - name, - version, - event - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::FactoryDef_tie::FactoryDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FactoryDef_tie::FactoryDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FactoryDef_tie::FactoryDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FactoryDef_tie::FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FactoryDef_tie::~FactoryDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::FactoryDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::FactoryDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::FactoryDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::FactoryDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::FactoryDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::FactoryDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->FactoryDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::FactoryDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FactoryDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FactoryDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FactoryDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::FactoryDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FactoryDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::FactoryDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::FactoryDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ComponentIR::FactoryDef_tie::result ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->result ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ComponentIR::FactoryDef_tie::result_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->result_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->result_def ( - result_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ParDescriptionSeq * POA_CORBA::ComponentIR::FactoryDef_tie::params ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->params ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->params ( - params - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationMode POA_CORBA::ComponentIR::FactoryDef_tie::mode ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->mode ( - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContextIdSeq * POA_CORBA::ComponentIR::FactoryDef_tie::contexts ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contexts ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->contexts ( - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDefSeq * POA_CORBA::ComponentIR::FactoryDef_tie::exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FactoryDef_tie::exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->exceptions ( - exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::FinderDef_tie::FinderDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FinderDef_tie::FinderDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FinderDef_tie::FinderDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FinderDef_tie::FinderDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::FinderDef_tie::~FinderDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::FinderDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::FinderDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::FinderDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::FinderDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::FinderDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::FinderDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->FinderDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::FinderDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FinderDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FinderDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FinderDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::FinderDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::FinderDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::FinderDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::FinderDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ComponentIR::FinderDef_tie::result ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->result ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ComponentIR::FinderDef_tie::result_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->result_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::result_def ( - ::CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->result_def ( - result_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ParDescriptionSeq * POA_CORBA::ComponentIR::FinderDef_tie::params ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->params ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::params ( - const ::CORBA::ParDescriptionSeq & params - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->params ( - params - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationMode POA_CORBA::ComponentIR::FinderDef_tie::mode ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->mode ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::mode ( - ::CORBA::OperationMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->mode ( - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContextIdSeq * POA_CORBA::ComponentIR::FinderDef_tie::contexts ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contexts ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::contexts ( - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->contexts ( - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDefSeq * POA_CORBA::ComponentIR::FinderDef_tie::exceptions ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->exceptions ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::FinderDef_tie::exceptions ( - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->exceptions ( - exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ComponentIR::HomeDef_tie::HomeDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::HomeDef_tie::HomeDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::HomeDef_tie::HomeDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::HomeDef_tie::HomeDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ComponentIR::HomeDef_tie::~HomeDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ComponentIR::HomeDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::HomeDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::HomeDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ComponentIR::HomeDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ComponentIR::HomeDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ComponentIR::HomeDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->HomeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ComponentIR::HomeDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ComponentIR::HomeDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::HomeDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ComponentIR::HomeDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ComponentIR::HomeDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::HomeDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::HomeDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::HomeDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ComponentIR::HomeDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ComponentIR::HomeDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ComponentIR::HomeDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ComponentIR::HomeDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ComponentIR::HomeDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ComponentIR::HomeDef_tie::base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::base_interfaces ( - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_interfaces ( - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ComponentIR::HomeDef_tie::is_a ( - const char * interface_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - interface_id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef::FullInterfaceDescription * POA_CORBA::ComponentIR::HomeDef_tie::describe_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * POA_CORBA::ComponentIR::HomeDef_tie::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_interface ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::HomeDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::base_home ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_home ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::base_home ( - ::CORBA::ComponentIR::HomeDef_ptr base_home - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_home ( - base_home - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ComponentIR::HomeDef_tie::supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->supported_interfaces ( - supported_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::ComponentDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::managed_component ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->managed_component ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::managed_component ( - ::CORBA::ComponentIR::ComponentDef_ptr managed_component - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->managed_component ( - managed_component - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::primary_key ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->primary_key ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ComponentIR::HomeDef_tie::primary_key ( - ::CORBA::ValueDef_ptr primary_key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->primary_key ( - primary_key - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::FactoryDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_factory ( - const char * id, - const char * name, - const char * version, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_factory ( - id, - name, - version, - params, - exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ComponentIR::FinderDef_ptr POA_CORBA::ComponentIR::HomeDef_tie::create_finder ( - const char * id, - const char * name, - const char * version, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_finder ( - id, - name, - version, - params, - exceptions - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp deleted file mode 100644 index f41363829d3..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp +++ /dev/null @@ -1,7501 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -// TAO_IDL - Generated from -// be\be_codegen.cpp:603 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_CPP_ - - -#include "IFR_ExtendedS.h" -#include "tao/PortableServer/Operation_Table_Perfect_Hash.h" -#include "tao/PortableServer/Upcall_Command.h" -#include "tao/PortableServer/Upcall_Wrapper.h" -#include "tao/TAO_Server_Request.h" -#include "tao/ORB_Core.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/IFR_Client_Adapter.h" -#include "tao/Object_T.h" -#include "tao/AnyTypeCode/TypeCode.h" -#include "tao/AnyTypeCode/DynamicC.h" -#include "tao/CDR.h" -#include "tao/operation_details.h" -#include "tao/PortableInterceptor.h" -#include "tao/PortableServer/Basic_SArguments.h" -#include "tao/PortableServer/Object_SArgument_T.h" -#include "tao/PortableServer/Special_Basic_SArguments.h" -#include "tao/PortableServer/UB_String_SArguments.h" -#include "tao/PortableServer/Var_Size_SArgument_T.h" -#include "tao/PortableServer/TypeCode_SArg_Traits.h" -#include "tao/PortableServer/Object_SArg_Traits.h" -#include "tao/PortableServer/get_arg.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Basic_Arguments.h" -#include "tao/Object_Argument_T.h" -#include "tao/Special_Basic_Arguments.h" -#include "tao/UB_String_Arguments.h" -#include "tao/Var_Size_Argument_T.h" -#include "ace/Dynamic_Service.h" -#include "ace/Malloc_Allocator.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_ExtendedS.inl" -#endif /* !defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__SARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__SARG_TRAITS_) -#define _CORBA_REPOSITORY__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__SARG_TRAITS_) -#define _CORBA_CONTAINER__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__SARG_TRAITS_) -#define _CORBA_IDLTYPE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__SARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_VALUEDEFSEQ__SARG_TRAITS_) -#define _CORBA_VALUEDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ValueDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INITIALIZERSEQ__SARG_TRAITS_) -#define _CORBA_INITIALIZERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::InitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXTINITIALIZERSEQ__SARG_TRAITS_) -#define _CORBA_EXTINITIALIZERSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExtInitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCEPTIONDEFSEQ__SARG_TRAITS_) -#define _CORBA_EXCEPTIONDEFSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExceptionDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_ATTRIBUTEMODE__SARG_TRAITS_) -#define _CORBA_ATTRIBUTEMODE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::AttributeMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ATTRIBUTEDEF__SARG_TRAITS_) -#define _CORBA_ATTRIBUTEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::AttributeDef_ptr, - CORBA::AttributeDef_var, - CORBA::AttributeDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXTATTRIBUTEDEF__SARG_TRAITS_) -#define _CORBA_EXTATTRIBUTEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ExtAttributeDef_ptr, - CORBA::ExtAttributeDef_var, - CORBA::ExtAttributeDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_OPERATIONMODE__SARG_TRAITS_) -#define _CORBA_OPERATIONMODE__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Basic_SArg_Traits_T< - CORBA::OperationMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_PARDESCRIPTIONSEQ__SARG_TRAITS_) -#define _CORBA_PARDESCRIPTIONSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ParDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTEXTIDSEQ__SARG_TRAITS_) -#define _CORBA_CONTEXTIDSEQ__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ContextIdSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_OPERATIONDEF__SARG_TRAITS_) -#define _CORBA_OPERATIONDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::OperationDef_ptr, - CORBA::OperationDef_var, - CORBA::OperationDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEMEMBERDEF__SARG_TRAITS_) -#define _CORBA_VALUEMEMBERDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ValueMemberDef_ptr, - CORBA::ValueMemberDef_var, - CORBA::ValueMemberDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEDEF__SARG_TRAITS_) -#define _CORBA_VALUEDEF__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Object_SArg_Traits_T< - CORBA::ValueDef_ptr, - CORBA::ValueDef_var, - CORBA::ValueDef_out, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_VALUEDEF_FULLVALUEDESCRIPTION__SARG_TRAITS_) -#define _CORBA_VALUEDEF_FULLVALUEDESCRIPTION__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ValueDef::FullValueDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__SARG_TRAITS_) -#define _CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__SARG_TRAITS_ - - template<> - class SArg_Traits - : public - Var_Size_SArg_Traits_T< - CORBA::ExtValueDef::ExtFullValueDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:72 - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - -// Arg traits specializations. -namespace TAO -{ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_) -#define _CORBA_DEFINITIONKIND__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::DefinitionKind, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_REPOSITORY__ARG_TRAITS_) -#define _CORBA_REPOSITORY__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Repository_ptr, - CORBA::Repository_var, - CORBA::Repository_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_CONTAINER__ARG_TRAITS_) -#define _CORBA_CONTAINER__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::Container_ptr, - CORBA::Container_var, - CORBA::Container_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_) -#define _CORBA_IDLTYPE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::IDLType_ptr, - CORBA::IDLType_var, - CORBA::IDLType_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_) -#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InterfaceDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_VALUEDEFSEQ__ARG_TRAITS_) -#define _CORBA_VALUEDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ValueDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_INITIALIZERSEQ__ARG_TRAITS_) -#define _CORBA_INITIALIZERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::InitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_) -#define _CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExtInitializerSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_) -#define _CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExceptionDefSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_) -#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::AttributeMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_ATTRIBUTEDEF__ARG_TRAITS_) -#define _CORBA_ATTRIBUTEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::AttributeDef_ptr, - CORBA::AttributeDef_var, - CORBA::AttributeDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_) -#define _CORBA_EXTATTRIBUTEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ExtAttributeDef_ptr, - CORBA::ExtAttributeDef_var, - CORBA::ExtAttributeDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:817 - -#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_) -#define _CORBA_OPERATIONMODE__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Basic_Arg_Traits_T< - CORBA::OperationMode, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_) -#define _CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ParDescriptionSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:611 - -#if !defined (_CORBA_CONTEXTIDSEQ__ARG_TRAITS_) -#define _CORBA_CONTEXTIDSEQ__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ContextIdSeq, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_OPERATIONDEF__ARG_TRAITS_) -#define _CORBA_OPERATIONDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::OperationDef_ptr, - CORBA::OperationDef_var, - CORBA::OperationDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEMEMBERDEF__ARG_TRAITS_) -#define _CORBA_VALUEMEMBERDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ValueMemberDef_ptr, - CORBA::ValueMemberDef_var, - CORBA::ValueMemberDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:140 - -#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_) -#define _CORBA_VALUEDEF__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Object_Arg_Traits_T< - CORBA::ValueDef_ptr, - CORBA::ValueDef_var, - CORBA::ValueDef_out, - TAO::Objref_Traits, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_) -#define _CORBA_VALUEDEF_FULLVALUEDESCRIPTION__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ValueDef::FullValueDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ - - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:859 - -#if !defined (_CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_) -#define _CORBA_EXTVALUEDEF_EXTFULLVALUEDESCRIPTION__ARG_TRAITS_ - - template<> - class Arg_Traits - : public - Var_Size_Arg_Traits_T< - CORBA::ExtValueDef::ExtFullValueDescription, - TAO::Any_Insert_Policy_Stream - > - { - }; - -#endif /* end #if !defined */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_FixedDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_FixedDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_FixedDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, - 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 0, 5, 19, 19, 19, 19, 0, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, -#else - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 0, 19, 0, 19, 19, - 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 0, 5, 19, 19, 19, - 19, 0, 19, 19, 19, 19, 19, 19, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_FixedDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 12, - MIN_WORD_LENGTH = 5, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 5, - MAX_HASH_VALUE = 18, - HASH_VALUE_RANGE = 14, - DUPLICATES = 4, - WORDLIST_SIZE = 17 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"_is_a", &POA_CORBA::FixedDef::_is_a_skel, 0}, - {"destroy", &POA_CORBA::FixedDef::destroy_skel, 0}, - {"_get_type", &POA_CORBA::FixedDef::_get_type_skel, 0}, - {"_get_scale", &POA_CORBA::FixedDef::_get_scale_skel, 0}, - {"_interface", &POA_CORBA::FixedDef::_interface_skel, 0}, - {"_set_scale", &POA_CORBA::FixedDef::_set_scale_skel, 0}, - {"_get_digits", &POA_CORBA::FixedDef::_get_digits_skel, 0}, - {"_set_digits", &POA_CORBA::FixedDef::_set_digits_skel, 0}, - {"_get_def_kind", &POA_CORBA::FixedDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::FixedDef::_repository_id_skel, 0}, - {"_component", &POA_CORBA::FixedDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::FixedDef::_non_existent_skel, 0}, - }; - - static const signed char lookup[] = - { - -1, -8, -3, -11, -2, 5, -1, 6, -1, 7, -27, -26, -1, 13, - 14, 15, -1, -1, 16, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_FixedDef_Perfect_Hash_OpTable tao_CORBA_FixedDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_FixedDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_FixedDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_FixedDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_FixedDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_FixedDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_FixedDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::FixedDef::FixedDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_FixedDef_optable; -} - -POA_CORBA::FixedDef::FixedDef (const FixedDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::FixedDef::~FixedDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_digits_FixedDef - : public TAO::Upcall_Command - { - public: - inline _get_digits_FixedDef ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::UShort>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::UShort> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->digits ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::FixedDef::_get_digits_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::UShort>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _get_digits_FixedDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_digits_FixedDef - : public TAO::Upcall_Command - { - public: - inline _set_digits_FixedDef ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::UShort>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::UShort> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->digits ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::FixedDef::_set_digits_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::UShort>::in_arg_val _tao_digits; - - TAO::Argument * const args[] = - { - &retval, - &_tao_digits - }; - - static size_t const nargs = 2; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _set_digits_FixedDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_scale_FixedDef - : public TAO::Upcall_Command - { - public: - inline _get_scale_FixedDef ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Short>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Short> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->scale ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::FixedDef::_get_scale_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Short>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _get_scale_FixedDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_scale_FixedDef - : public TAO::Upcall_Command - { - public: - inline _set_scale_FixedDef ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Short> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->scale ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::FixedDef::_set_scale_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_scale; - - TAO::Argument * const args[] = - { - &retval, - &_tao_scale - }; - - static size_t const nargs = 2; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _set_scale_FixedDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_FixedDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_FixedDef_Upcall_Command ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::FixedDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _is_a_FixedDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_FixedDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_FixedDef_Upcall_Command ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::FixedDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _non_existent_FixedDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_FixedDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_FixedDef_Upcall_Command ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::FixedDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _repository_id_FixedDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::FixedDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_FixedDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_FixedDef_Upcall_Command ( - POA_CORBA::FixedDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::FixedDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::FixedDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::FixedDef * const impl = - static_cast (servant); - - _get_component_FixedDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::FixedDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/FixedDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::FixedDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/FixedDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::FixedDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::FixedDef * -POA_CORBA::FixedDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::FixedDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_FixedDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 15, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 0, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 15, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 0, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 23, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 7, - WORDLIST_SIZE = 27 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ValueMemberDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ValueMemberDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ValueMemberDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ValueMemberDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ValueMemberDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ValueMemberDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ValueMemberDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ValueMemberDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ValueMemberDef::_interface_skel, 0}, - {"_get_access", &POA_CORBA::ValueMemberDef::_get_access_skel, 0}, - {"_set_access", &POA_CORBA::ValueMemberDef::_set_access_skel, 0}, - {"_get_version", &POA_CORBA::ValueMemberDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ValueMemberDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ValueMemberDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ValueMemberDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ValueMemberDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ValueMemberDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ValueMemberDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::ValueMemberDef::_component_skel, 0}, - {"_non_existent", &POA_CORBA::ValueMemberDef::_non_existent_skel, 0}, - {"_get_type_def", &POA_CORBA::ValueMemberDef::_get_type_def_skel, 0}, - {"_set_type_def", &POA_CORBA::ValueMemberDef::_set_type_def_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ValueMemberDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -13, -2, -15, -2, 4, 5, -1, 53, 8, 48, 12, -47, -46, 17, - 18, 19, -1, 20, 21, -1, 22, -9, -3, 23, -6, -2, -24, -2, - -38, -1, -1, -1, -1, -1, -1, -1, 26, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable tao_CORBA_ValueMemberDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ValueMemberDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ValueMemberDef::ValueMemberDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ValueMemberDef_optable; -} - -POA_CORBA::ValueMemberDef::ValueMemberDef (const ValueMemberDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs) -{ -} - -POA_CORBA::ValueMemberDef::~ValueMemberDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_ValueMemberDef - : public TAO::Upcall_Command - { - public: - inline _get_type_ValueMemberDef ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::TypeCode> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueMemberDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::TypeCode>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _get_type_ValueMemberDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_type_def_ValueMemberDef - : public TAO::Upcall_Command - { - public: - inline _get_type_def_ValueMemberDef ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueMemberDef::_get_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _get_type_def_ValueMemberDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_type_def_ValueMemberDef - : public TAO::Upcall_Command - { - public: - inline _set_type_def_ValueMemberDef ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueMemberDef::_set_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _set_type_def_ValueMemberDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_access_ValueMemberDef - : public TAO::Upcall_Command - { - public: - inline _get_access_ValueMemberDef ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Visibility>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Visibility> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->access ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueMemberDef::_get_access_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Visibility>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _get_access_ValueMemberDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_access_ValueMemberDef - : public TAO::Upcall_Command - { - public: - inline _set_access_ValueMemberDef ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Visibility>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Visibility> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->access ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueMemberDef::_set_access_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Visibility>::in_arg_val _tao_access; - - TAO::Argument * const args[] = - { - &retval, - &_tao_access - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _set_access_ValueMemberDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ValueMemberDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ValueMemberDef_Upcall_Command ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueMemberDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _is_a_ValueMemberDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ValueMemberDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ValueMemberDef_Upcall_Command ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueMemberDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _non_existent_ValueMemberDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ValueMemberDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ValueMemberDef_Upcall_Command ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueMemberDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _repository_id_ValueMemberDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ValueMemberDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ValueMemberDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ValueMemberDef_Upcall_Command ( - POA_CORBA::ValueMemberDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueMemberDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueMemberDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueMemberDef * const impl = - static_cast (servant); - - _get_component_ValueMemberDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ValueMemberDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ValueMemberDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ValueMemberDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ValueMemberDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ValueMemberDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ValueMemberDef * -POA_CORBA::ValueMemberDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ValueMemberDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ValueMemberDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ValueDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ValueDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ValueDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, - 105, 15, 50, 40, 105, 105, 105, 0, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 0, 0, 0, - 105, 0, 105, 0, 105, 105, 105, 105, 105, 105, - 105, 105, 15, 0, 105, 105, 105, 5, 15, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, -#else - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 0, 105, 0, 105, 15, - 50, 40, 105, 105, 105, 0, 105, 105, 0, 0, - 0, 105, 0, 105, 0, 15, 0, 105, 105, 105, - 5, 15, 105, 105, 105, 105, 105, 105, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ValueDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 56, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 104, - HASH_VALUE_RANGE = 101, - DUPLICATES = 17, - WORDLIST_SIZE = 60 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"is_a", &POA_CORBA::ValueDef::is_a_skel, 0}, - {"_is_a", &POA_CORBA::ValueDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ValueDef::lookup_skel, 0}, - {"_component", &POA_CORBA::ValueDef::_component_skel, 0}, - {"_get_version", &POA_CORBA::ValueDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ValueDef::_set_version_skel, 0}, - {"_non_existent", &POA_CORBA::ValueDef::_non_existent_skel, 0}, - {"_get_is_custom", &POA_CORBA::ValueDef::_get_is_custom_skel, 0}, - {"_set_is_custom", &POA_CORBA::ValueDef::_set_is_custom_skel, 0}, - {"_get_defined_in", &POA_CORBA::ValueDef::_get_defined_in_skel, 0}, - {"_get_is_abstract", &POA_CORBA::ValueDef::_get_is_abstract_skel, 0}, - {"_set_is_abstract", &POA_CORBA::ValueDef::_set_is_abstract_skel, 0}, - {"create_enum", &POA_CORBA::ValueDef::create_enum_skel, 0}, - {"create_union", &POA_CORBA::ValueDef::create_union_skel, 0}, - {"create_struct", &POA_CORBA::ValueDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ValueDef::create_constant_skel, 0}, - {"create_exception", &POA_CORBA::ValueDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ValueDef::create_operation_skel, 0}, - {"_get_initializers", &POA_CORBA::ValueDef::_get_initializers_skel, 0}, - {"_set_initializers", &POA_CORBA::ValueDef::_set_initializers_skel, 0}, - {"create_value_member", &POA_CORBA::ValueDef::create_value_member_skel, 0}, - {"create_value_box", &POA_CORBA::ValueDef::create_value_box_skel, 0}, - {"contents", &POA_CORBA::ValueDef::contents_skel, 0}, - {"_get_supported_interfaces", &POA_CORBA::ValueDef::_get_supported_interfaces_skel, 0}, - {"_set_abstract_base_values", &POA_CORBA::ValueDef::_set_abstract_base_values_skel, 0}, - {"_get_abstract_base_values", &POA_CORBA::ValueDef::_get_abstract_base_values_skel, 0}, - {"_set_supported_interfaces", &POA_CORBA::ValueDef::_set_supported_interfaces_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ValueDef::_get_containing_repository_skel, 0}, - {"create_alias", &POA_CORBA::ValueDef::create_alias_skel, 0}, - {"move", &POA_CORBA::ValueDef::move_skel, 0}, - {"_get_name", &POA_CORBA::ValueDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ValueDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ValueDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ValueDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ValueDef::lookup_name_skel, 0}, - {"_get_base_value", &POA_CORBA::ValueDef::_get_base_value_skel, 0}, - {"_set_base_value", &POA_CORBA::ValueDef::_set_base_value_skel, 0}, - {"_get_id", &POA_CORBA::ValueDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ValueDef::_set_id_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ValueDef::_get_absolute_name_skel, 0}, - {"_get_is_truncatable", &POA_CORBA::ValueDef::_get_is_truncatable_skel, 0}, - {"_set_is_truncatable", &POA_CORBA::ValueDef::_set_is_truncatable_skel, 0}, - {"_get_def_kind", &POA_CORBA::ValueDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ValueDef::_repository_id_skel, 0}, - {"create_value", &POA_CORBA::ValueDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ValueDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ValueDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ValueDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ValueDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ValueDef::create_ext_value_skel, 0}, - {"destroy", &POA_CORBA::ValueDef::destroy_skel, 0}, - {"create_local_interface", &POA_CORBA::ValueDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ValueDef::create_abstract_interface_skel, 0}, - {"describe_contents", &POA_CORBA::ValueDef::describe_contents_skel, 0}, - {"describe", &POA_CORBA::ValueDef::describe_skel, 0}, - {"describe_value", &POA_CORBA::ValueDef::describe_value_skel, 0}, - }; - - static const signed short lookup[] = - { - -8, -2, -11, -2, 4, 5, 6, -1, -14, -2, 7, -1, -116, 10, - -116, 13, -112, -1, -20, -2, -22, -2, -27, -4, -34, -3, 16, 17, - 18, -1, 19, -117, -116, -1, 24, -1, 25, -1, 26, -1, -122, 31, - 32, -1, 33, -39, -2, -41, -2, -129, 37, 38, -1, -44, -2, -114, - -1, -114, 43, -110, -1, -1, -1, 46, 47, -49, -2, 48, -107, -51, - -3, -106, 54, -1, -1, -1, -1, 55, -1, -1, 56, -1, 57, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 58, -1, -1, -1, -1, -1, 59, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ValueDef_Perfect_Hash_OpTable tao_CORBA_ValueDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ValueDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ValueDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ValueDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ValueDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ValueDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ValueDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ValueDef::ValueDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ValueDef_optable; -} - -POA_CORBA::ValueDef::ValueDef (const ValueDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs) -{ -} - -POA_CORBA::ValueDef::~ValueDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_supported_interfaces_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_supported_interfaces_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_supported_interfaces_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_supported_interfaces_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_supported_interfaces_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InterfaceDefSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->supported_interfaces ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces; - - TAO::Argument * const args[] = - { - &retval, - &_tao_supported_interfaces - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_supported_interfaces_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_initializers_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_initializers_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InitializerSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::InitializerSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_initializers_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::InitializerSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_initializers_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_initializers_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_initializers_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::InitializerSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::InitializerSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->initializers ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_initializers_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::InitializerSeq>::in_arg_val _tao_initializers; - - TAO::Argument * const args[] = - { - &retval, - &_tao_initializers - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_initializers_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_base_value_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_base_value_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->base_value ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_base_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueDef>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_base_value_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_base_value_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_base_value_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDef> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->base_value ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_base_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ValueDef>::in_arg_val _tao_base_value; - - TAO::Argument * const args[] = - { - &retval, - &_tao_base_value - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_base_value_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_abstract_base_values_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_abstract_base_values_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueDefSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->abstract_base_values ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_abstract_base_values_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_abstract_base_values_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_abstract_base_values_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ValueDefSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->abstract_base_values ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ValueDefSeq>::in_arg_val _tao_abstract_base_values; - - TAO::Argument * const args[] = - { - &retval, - &_tao_abstract_base_values - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_abstract_base_values_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_is_abstract_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_is_abstract_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->is_abstract ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_is_abstract_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_is_abstract_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_is_abstract_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->is_abstract ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_abstract; - - TAO::Argument * const args[] = - { - &retval, - &_tao_is_abstract - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_is_abstract_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_is_custom_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_is_custom_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->is_custom ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_is_custom_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_is_custom_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_is_custom_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_is_custom_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->is_custom ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_is_custom_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_custom; - - TAO::Argument * const args[] = - { - &retval, - &_tao_is_custom - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_is_custom_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_is_truncatable_ValueDef - : public TAO::Upcall_Command - { - public: - inline _get_is_truncatable_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->is_truncatable ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_get_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_is_truncatable_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_is_truncatable_ValueDef - : public TAO::Upcall_Command - { - public: - inline _set_is_truncatable_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->is_truncatable ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::_set_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_is_truncatable; - - TAO::Argument * const args[] = - { - &retval, - &_tao_is_truncatable - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _set_is_truncatable_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class is_a_ValueDef - : public TAO::Upcall_Command - { - public: - inline is_a_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_->is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - is_a_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_value_ValueDef - : public TAO::Upcall_Command - { - public: - inline describe_value_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueDef::FullValueDescription>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueDef::FullValueDescription> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->describe_value ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::describe_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueDef::FullValueDescription>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - describe_value_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_value_member_ValueDef - : public TAO::Upcall_Command - { - public: - inline create_value_member_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ValueMemberDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ValueMemberDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::Visibility>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::Visibility> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_value_member ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::create_value_member_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ValueMemberDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type; - TAO::SArg_Traits< ::CORBA::Visibility>::in_arg_val _tao_access; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_type, - &_tao_access - }; - - static size_t const nargs = 6; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - create_value_member_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_attribute_ValueDef - : public TAO::Upcall_Command - { - public: - inline create_attribute_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::AttributeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::AttributeDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::AttributeMode> ( - this->operation_details_, - this->args_, - 5); - - retval = - this->servant_->create_attribute ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::AttributeDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type; - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_val _tao_mode; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_type, - &_tao_mode - }; - - static size_t const nargs = 6; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - create_attribute_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_operation_ValueDef - : public TAO::Upcall_Command - { - public: - inline create_operation_ValueDef ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::OperationDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::OperationDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::OperationMode>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::OperationMode> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ParDescriptionSeq> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 7); - - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::in_arg_type arg_8 = - TAO::Portable_Server::get_in_arg< ::CORBA::ContextIdSeq> ( - this->operation_details_, - this->args_, - 8); - - retval = - this->servant_->create_operation ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - , arg_8 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::OperationDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_result; - TAO::SArg_Traits< ::CORBA::OperationMode>::in_arg_val _tao_mode; - TAO::SArg_Traits< ::CORBA::ParDescriptionSeq>::in_arg_val _tao_params; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions; - TAO::SArg_Traits< ::CORBA::ContextIdSeq>::in_arg_val _tao_contexts; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_result, - &_tao_mode, - &_tao_params, - &_tao_exceptions, - &_tao_contexts - }; - - static size_t const nargs = 9; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - create_operation_ValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ValueDef_Upcall_Command ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _is_a_ValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ValueDef_Upcall_Command ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _non_existent_ValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ValueDef_Upcall_Command ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _repository_id_ValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ValueDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ValueDef_Upcall_Command ( - POA_CORBA::ValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueDef * const impl = - static_cast (servant); - - _get_component_ValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ValueDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ValueDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ValueDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ValueDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ValueDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ValueDef * -POA_CORBA::ValueDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ValueDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ValueDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ExtValueDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ExtValueDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ExtValueDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, - 109, 15, 50, 40, 109, 109, 109, 0, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, - 109, 0, 109, 0, 109, 109, 109, 109, 109, 109, - 109, 109, 15, 0, 109, 109, 109, 15, 15, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, -#else - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 0, 109, 0, 109, 15, - 50, 40, 109, 109, 109, 0, 109, 109, 0, 0, - 0, 109, 0, 109, 0, 15, 0, 109, 109, 109, - 15, 15, 109, 109, 109, 109, 109, 109, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ExtValueDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 60, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 108, - HASH_VALUE_RANGE = 105, - DUPLICATES = 18, - WORDLIST_SIZE = 64 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"is_a", &POA_CORBA::ExtValueDef::is_a_skel, 0}, - {"_is_a", &POA_CORBA::ExtValueDef::_is_a_skel, 0}, - {"lookup", &POA_CORBA::ExtValueDef::lookup_skel, 0}, - {"_component", &POA_CORBA::ExtValueDef::_component_skel, 0}, - {"_get_version", &POA_CORBA::ExtValueDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ExtValueDef::_set_version_skel, 0}, - {"_non_existent", &POA_CORBA::ExtValueDef::_non_existent_skel, 0}, - {"_get_is_custom", &POA_CORBA::ExtValueDef::_get_is_custom_skel, 0}, - {"_set_is_custom", &POA_CORBA::ExtValueDef::_set_is_custom_skel, 0}, - {"_get_defined_in", &POA_CORBA::ExtValueDef::_get_defined_in_skel, 0}, - {"_get_is_abstract", &POA_CORBA::ExtValueDef::_get_is_abstract_skel, 0}, - {"_set_is_abstract", &POA_CORBA::ExtValueDef::_set_is_abstract_skel, 0}, - {"create_enum", &POA_CORBA::ExtValueDef::create_enum_skel, 0}, - {"create_union", &POA_CORBA::ExtValueDef::create_union_skel, 0}, - {"create_struct", &POA_CORBA::ExtValueDef::create_struct_skel, 0}, - {"create_constant", &POA_CORBA::ExtValueDef::create_constant_skel, 0}, - {"create_exception", &POA_CORBA::ExtValueDef::create_exception_skel, 0}, - {"create_operation", &POA_CORBA::ExtValueDef::create_operation_skel, 0}, - {"_get_initializers", &POA_CORBA::ExtValueDef::_get_initializers_skel, 0}, - {"_set_initializers", &POA_CORBA::ExtValueDef::_set_initializers_skel, 0}, - {"create_value_member", &POA_CORBA::ExtValueDef::create_value_member_skel, 0}, - {"_get_ext_initializers", &POA_CORBA::ExtValueDef::_get_ext_initializers_skel, 0}, - {"_set_ext_initializers", &POA_CORBA::ExtValueDef::_set_ext_initializers_skel, 0}, - {"contents", &POA_CORBA::ExtValueDef::contents_skel, 0}, - {"_get_supported_interfaces", &POA_CORBA::ExtValueDef::_get_supported_interfaces_skel, 0}, - {"_set_abstract_base_values", &POA_CORBA::ExtValueDef::_set_abstract_base_values_skel, 0}, - {"_get_abstract_base_values", &POA_CORBA::ExtValueDef::_get_abstract_base_values_skel, 0}, - {"_set_supported_interfaces", &POA_CORBA::ExtValueDef::_set_supported_interfaces_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ExtValueDef::_get_containing_repository_skel, 0}, - {"create_alias", &POA_CORBA::ExtValueDef::create_alias_skel, 0}, - {"move", &POA_CORBA::ExtValueDef::move_skel, 0}, - {"create_value_box", &POA_CORBA::ExtValueDef::create_value_box_skel, 0}, - {"_get_name", &POA_CORBA::ExtValueDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ExtValueDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ExtValueDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ExtValueDef::_interface_skel, 0}, - {"lookup_name", &POA_CORBA::ExtValueDef::lookup_name_skel, 0}, - {"_get_base_value", &POA_CORBA::ExtValueDef::_get_base_value_skel, 0}, - {"_set_base_value", &POA_CORBA::ExtValueDef::_set_base_value_skel, 0}, - {"_get_id", &POA_CORBA::ExtValueDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ExtValueDef::_set_id_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ExtValueDef::_get_absolute_name_skel, 0}, - {"_get_is_truncatable", &POA_CORBA::ExtValueDef::_get_is_truncatable_skel, 0}, - {"_set_is_truncatable", &POA_CORBA::ExtValueDef::_set_is_truncatable_skel, 0}, - {"_get_def_kind", &POA_CORBA::ExtValueDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ExtValueDef::_repository_id_skel, 0}, - {"create_value", &POA_CORBA::ExtValueDef::create_value_skel, 0}, - {"create_module", &POA_CORBA::ExtValueDef::create_module_skel, 0}, - {"create_native", &POA_CORBA::ExtValueDef::create_native_skel, 0}, - {"create_interface", &POA_CORBA::ExtValueDef::create_interface_skel, 0}, - {"create_attribute", &POA_CORBA::ExtValueDef::create_attribute_skel, 0}, - {"create_ext_value", &POA_CORBA::ExtValueDef::create_ext_value_skel, 0}, - {"destroy", &POA_CORBA::ExtValueDef::destroy_skel, 0}, - {"create_ext_attribute", &POA_CORBA::ExtValueDef::create_ext_attribute_skel, 0}, - {"create_local_interface", &POA_CORBA::ExtValueDef::create_local_interface_skel, 0}, - {"create_abstract_interface", &POA_CORBA::ExtValueDef::create_abstract_interface_skel, 0}, - {"describe_contents", &POA_CORBA::ExtValueDef::describe_contents_skel, 0}, - {"describe", &POA_CORBA::ExtValueDef::describe_skel, 0}, - {"describe_value", &POA_CORBA::ExtValueDef::describe_value_skel, 0}, - {"describe_ext_value", &POA_CORBA::ExtValueDef::describe_ext_value_skel, 0}, - }; - - static const signed short lookup[] = - { - -14, -2, -20, -2, 4, 5, 6, -1, -22, -2, 7, -1, 169, 10, - 154, 13, -124, -1, -25, -2, -28, -4, -36, -3, -41, -2, 16, 17, - 18, -1, 19, -137, -132, -1, 24, -1, -126, -1, 27, -1, -128, 32, - 33, -1, 34, -1, 35, -43, -2, -135, 39, 40, -1, -46, -2, -139, - -1, -118, 45, -114, -11, -2, -1, 48, 49, -51, -2, 50, -111, -53, - -3, -110, 56, -8, -2, 57, -1, 58, -1, -1, 59, -1, 60, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ExtValueDef_Perfect_Hash_OpTable tao_CORBA_ExtValueDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ExtValueDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ExtValueDef::ExtValueDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ExtValueDef_optable; -} - -POA_CORBA::ExtValueDef::ExtValueDef (const ExtValueDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Container (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::ValueDef (rhs) -{ -} - -POA_CORBA::ExtValueDef::~ExtValueDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_ext_initializers_ExtValueDef - : public TAO::Upcall_Command - { - public: - inline _get_ext_initializers_ExtValueDef ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExtInitializerSeq> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->ext_initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtValueDef::_get_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - _get_ext_initializers_ExtValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_ext_initializers_ExtValueDef - : public TAO::Upcall_Command - { - public: - inline _set_ext_initializers_ExtValueDef ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExtInitializerSeq> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->ext_initializers ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtValueDef::_set_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::ExtInitializerSeq>::in_arg_val _tao_ext_initializers; - - TAO::Argument * const args[] = - { - &retval, - &_tao_ext_initializers - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - _set_ext_initializers_ExtValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class describe_ext_value_ExtValueDef - : public TAO::Upcall_Command - { - public: - inline describe_ext_value_ExtValueDef ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtValueDef::ExtFullValueDescription>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExtValueDef::ExtFullValueDescription> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->describe_ext_value ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtValueDef::describe_ext_value_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExtValueDef::ExtFullValueDescription>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - describe_ext_value_ExtValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class create_ext_attribute_ExtValueDef - : public TAO::Upcall_Command - { - public: - inline create_ext_attribute_ExtValueDef ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::ExtAttributeDef>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::ExtAttributeDef> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::RepositoryId> ( - this->operation_details_, - this->args_, - 1); - - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_type arg_2 = - TAO::Portable_Server::get_in_arg< ::CORBA::Identifier> ( - this->operation_details_, - this->args_, - 2); - - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_type arg_3 = - TAO::Portable_Server::get_in_arg< ::CORBA::VersionSpec> ( - this->operation_details_, - this->args_, - 3); - - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_4 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 4); - - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_type arg_5 = - TAO::Portable_Server::get_in_arg< ::CORBA::AttributeMode> ( - this->operation_details_, - this->args_, - 5); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_6 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 6); - - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_type arg_7 = - TAO::Portable_Server::get_in_arg< ::CORBA::ExceptionDefSeq> ( - this->operation_details_, - this->args_, - 7); - - retval = - this->servant_->create_ext_attribute ( - arg_1 - , arg_2 - , arg_3 - , arg_4 - , arg_5 - , arg_6 - , arg_7 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ExtValueDef::create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::ExtAttributeDef>::ret_val retval; - TAO::SArg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_id; - TAO::SArg_Traits< ::CORBA::Identifier>::in_arg_val _tao_name; - TAO::SArg_Traits< ::CORBA::VersionSpec>::in_arg_val _tao_version; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_type; - TAO::SArg_Traits< ::CORBA::AttributeMode>::in_arg_val _tao_mode; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_get_exceptions; - TAO::SArg_Traits< ::CORBA::ExceptionDefSeq>::in_arg_val _tao_set_exceptions; - - TAO::Argument * const args[] = - { - &retval, - &_tao_id, - &_tao_name, - &_tao_version, - &_tao_type, - &_tao_mode, - &_tao_get_exceptions, - &_tao_set_exceptions - }; - - static size_t const nargs = 8; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - create_ext_attribute_ExtValueDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ExtValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ExtValueDef_Upcall_Command ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtValueDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - _is_a_ExtValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ExtValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ExtValueDef_Upcall_Command ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtValueDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - _non_existent_ExtValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ExtValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ExtValueDef_Upcall_Command ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtValueDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - _repository_id_ExtValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ExtValueDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ExtValueDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ExtValueDef_Upcall_Command ( - POA_CORBA::ExtValueDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ExtValueDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ExtValueDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ExtValueDef * const impl = - static_cast (servant); - - _get_component_ExtValueDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ExtValueDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Container:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ValueDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ExtValueDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ExtValueDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ExtValueDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ExtValueDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ExtValueDef * -POA_CORBA::ExtValueDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ExtValueDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ExtValueDef_Proxy_Broker_Factory_function_pointer - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1499 - -class TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable - : public TAO_Perfect_Hash_OpTable -{ -private: - unsigned int hash (const char *str, unsigned int len); - -public: - const TAO_operation_db_entry * lookup (const char *str, unsigned int len); -}; - -/* C++ code produced by gperf version 2.8 (ACE version) */ -/* Command-line: C:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable -N lookup */ -unsigned int -TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) -{ - static const unsigned char asso_values[] = - { -#if defined (ACE_MVS) - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, - 37, 37, 0, 0, 0, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 10, 37, 37, 37, 37, 10, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, -#else - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, 0, 37, 0, 37, 37, - 0, 0, 0, 37, 37, 37, 37, 37, 37, 0, - 0, 37, 37, 37, 37, 37, 10, 37, 37, 37, - 37, 10, 37, 37, 37, 37, 37, 37, -#endif /* ACE_MVS */ - }; - return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]]; -} - -const TAO_operation_db_entry * -TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 21, - MIN_WORD_LENGTH = 4, - MAX_WORD_LENGTH = 26, - MIN_HASH_VALUE = 4, - MAX_HASH_VALUE = 36, - HASH_VALUE_RANGE = 33, - DUPLICATES = 6, - WORDLIST_SIZE = 25 - }; - - static const TAO_operation_db_entry wordlist[] = - { - {"",0,0},{"",0,0},{"",0,0},{"",0,0}, - {"move", &POA_CORBA::ValueBoxDef::move_skel, 0}, - {"_is_a", &POA_CORBA::ValueBoxDef::_is_a_skel, 0}, - {"_get_id", &POA_CORBA::ValueBoxDef::_get_id_skel, 0}, - {"_set_id", &POA_CORBA::ValueBoxDef::_set_id_skel, 0}, - {"describe", &POA_CORBA::ValueBoxDef::describe_skel, 0}, - {"_get_name", &POA_CORBA::ValueBoxDef::_get_name_skel, 0}, - {"_get_type", &POA_CORBA::ValueBoxDef::_get_type_skel, 0}, - {"_set_name", &POA_CORBA::ValueBoxDef::_set_name_skel, 0}, - {"_interface", &POA_CORBA::ValueBoxDef::_interface_skel, 0}, - {"_get_version", &POA_CORBA::ValueBoxDef::_get_version_skel, 0}, - {"_set_version", &POA_CORBA::ValueBoxDef::_set_version_skel, 0}, - {"_get_def_kind", &POA_CORBA::ValueBoxDef::_get_def_kind_skel, 0}, - {"_repository_id", &POA_CORBA::ValueBoxDef::_repository_id_skel, 0}, - {"_get_defined_in", &POA_CORBA::ValueBoxDef::_get_defined_in_skel, 0}, - {"destroy", &POA_CORBA::ValueBoxDef::destroy_skel, 0}, - {"_get_absolute_name", &POA_CORBA::ValueBoxDef::_get_absolute_name_skel, 0}, - {"_component", &POA_CORBA::ValueBoxDef::_component_skel, 0}, - {"_get_original_type_def", &POA_CORBA::ValueBoxDef::_get_original_type_def_skel, 0}, - {"_set_original_type_def", &POA_CORBA::ValueBoxDef::_set_original_type_def_skel, 0}, - {"_non_existent", &POA_CORBA::ValueBoxDef::_non_existent_skel, 0}, - {"_get_containing_repository", &POA_CORBA::ValueBoxDef::_get_containing_repository_skel, 0}, - }; - - static const signed char lookup[] = - { - -13, -2, -21, -2, 4, 5, -1, 55, 8, 51, 12, -1, -48, 15, - 16, 17, -1, 18, 19, -1, 20, -1, -56, 23, -9, -3, -6, -2, - -1, -1, -1, -1, -1, -1, -1, -1, 24, - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - unsigned int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) - { - int slot = lookup[key]; - - if (slot >= 0 && slot < WORDLIST_SIZE) - { - const char *s = wordlist[slot].opname; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) - return &wordlist[slot]; - } - else if (slot < 0 && slot >= -MAX_HASH_VALUE) - return 0; - else - { - unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE); - const TAO_operation_db_entry *base = &wordlist[-lookup[offset]]; - const TAO_operation_db_entry *ptr = base + -lookup[offset + 1]; - - while (--ptr >= base) - if (*str == *ptr->opname && !strncmp (str + 1, ptr->opname + 1, len - 1)) - return ptr; - } - } - } - return 0; -} - -static TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable tao_CORBA_ValueBoxDef_optable; - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:966 - -TAO::Collocation_Proxy_Broker * -CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr) -{ - return reinterpret_cast (0xdead); // Dummy -} - -int -CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_Initializer (size_t) -{ - CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer = - CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function; - - return 0; -} - -static int -CORBA__TAO_ValueBoxDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow = - CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_Initializer ( - reinterpret_cast (CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_Initializer) - ); - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:103 - -POA_CORBA::ValueBoxDef::ValueBoxDef (void) - : TAO_ServantBase () -{ - this->optable_ = &tao_CORBA_ValueBoxDef_optable; -} - -POA_CORBA::ValueBoxDef::ValueBoxDef (const ValueBoxDef& rhs) - : TAO_Abstract_ServantBase (rhs), - TAO_ServantBase (rhs), - POA_CORBA::IRObject (rhs), - POA_CORBA::Contained (rhs), - POA_CORBA::IDLType (rhs), - POA_CORBA::TypedefDef (rhs) -{ -} - -POA_CORBA::ValueBoxDef::~ValueBoxDef (void) -{ -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_original_type_def_ValueBoxDef - : public TAO::Upcall_Command - { - public: - inline _get_original_type_def_ValueBoxDef ( - POA_CORBA::ValueBoxDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_); - - retval = - this->servant_->original_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueBoxDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueBoxDef::_get_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::IDLType>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - - _get_original_type_def_ValueBoxDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _set_original_type_def_ValueBoxDef - : public TAO::Upcall_Command - { - public: - inline _set_original_type_def_ValueBoxDef ( - POA_CORBA::ValueBoxDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::IDLType> ( - this->operation_details_, - this->args_, - 1); - - this->servant_->original_type_def ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueBoxDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -// TAO_IDL - Generated from -// be\be_visitor_operation/operation_ss.cpp:190 - -void POA_CORBA::ValueBoxDef::_set_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< void>::ret_val retval; - TAO::SArg_Traits< ::CORBA::IDLType>::in_arg_val _tao_original_type_def; - - TAO::Argument * const args[] = - { - &retval, - &_tao_original_type_def - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - - _set_original_type_def_ValueBoxDef command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:169 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _is_a_ValueBoxDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _is_a_ValueBoxDef_Upcall_Command ( - POA_CORBA::ValueBoxDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 = - TAO::Portable_Server::get_in_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_, - 1); - - retval = - this->servant_-> _is_a ( - arg_1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueBoxDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueBoxDef::_is_a_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id; - - TAO::Argument * const args[] = - { - &retval, - &_tao_repository_id - }; - - static size_t const nargs = 2; - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - - _is_a_ValueBoxDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _non_existent_ValueBoxDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _non_existent_ValueBoxDef_Upcall_Command ( - POA_CORBA::ValueBoxDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _non_existent ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueBoxDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueBoxDef::_non_existent_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - - _non_existent_ValueBoxDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _repository_id_ValueBoxDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _repository_id_ValueBoxDef_Upcall_Command ( - POA_CORBA::ValueBoxDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Char *> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _repository_id ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueBoxDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueBoxDef::_repository_id_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - - _repository_id_ValueBoxDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:513 - -void POA_CORBA::ValueBoxDef::_interface_skel ( - TAO_ServerRequest & server_request, - void * /* servant_upcall */, - void * servant - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Client_Adapter *_tao_adapter = - ACE_Dynamic_Service::instance ( - TAO_ORB_Core::ifr_client_adapter_name () - ); - - if (_tao_adapter == 0) - { - ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1, - ::CORBA::COMPLETED_NO)); - } - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - ::CORBA::InterfaceDef_ptr _tao_retval = - impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - server_request.init_reply (); - TAO_OutputCDR &_tao_out = *server_request.outgoing (); - - ::CORBA::Boolean const _tao_result = - _tao_adapter->interfacedef_cdr_insert ( - _tao_out, - _tao_retval - ); - - _tao_adapter->dispose (_tao_retval); - - if (_tao_result == false) - { - ACE_THROW ( ::CORBA::MARSHAL ()); - } -}namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_operation/upcall_command_ss.cpp:127 - - class _get_component_ValueBoxDef_Upcall_Command - : public TAO::Upcall_Command - { - public: - inline _get_component_ValueBoxDef_Upcall_Command ( - POA_CORBA::ValueBoxDef * servant, - TAO_Operation_Details const * operation_details, - TAO::Argument * const args[]) - : servant_ (servant) - , operation_details_ (operation_details) - , args_ (args) - { - } - - virtual void execute (ACE_ENV_SINGLE_ARG_DECL) - { - TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval = - TAO::Portable_Server::get_ret_arg< ::CORBA::Object> ( - this->operation_details_, - this->args_); - - retval = - this->servant_-> _get_component ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - private: - POA_CORBA::ValueBoxDef * const servant_; - TAO_Operation_Details const * const operation_details_; - TAO::Argument * const * const args_; - }; -} - - -void POA_CORBA::ValueBoxDef::_component_skel ( - TAO_ServerRequest & server_request, - void * TAO_INTERCEPTOR (servant_upcall), - void * servant - ACE_ENV_ARG_DECL - ) -{ -#if TAO_HAS_INTERCEPTORS == 1 - static ::CORBA::TypeCode_ptr const * const exceptions = 0; - static ::CORBA::ULong const nexceptions = 0; -#endif /* TAO_HAS_INTERCEPTORS */ - - TAO::SArg_Traits< ::CORBA::Object>::ret_val retval; - - TAO::Argument * const args[] = - { - &retval - }; - - static size_t const nargs = 1; - - POA_CORBA::ValueBoxDef * const impl = - static_cast (servant); - - _get_component_ValueBoxDef_Upcall_Command command ( - impl, - server_request.operation_details (), - args); - - TAO::Upcall_Wrapper upcall_wrapper; - upcall_wrapper.upcall (server_request - , args - , nargs - , command -#if TAO_HAS_INTERCEPTORS == 1 - , servant_upcall - , exceptions - , nexceptions -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -::CORBA::Boolean POA_CORBA::ValueBoxDef::_is_a ( - const char* value - ACE_ENV_ARG_DECL_NOT_USED - ) -{ - return - ( - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IRObject:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Contained:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/IDLType:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/TypedefDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/ValueBoxDef:1.0" - ) || - !ACE_OS::strcmp ( - value, - "IDL:omg.org/CORBA/Object:1.0" - ) - ); -} - -const char* POA_CORBA::ValueBoxDef::_interface_repository_id (void) const -{ - return "IDL:omg.org/CORBA/ValueBoxDef:1.0"; -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:903 - -void POA_CORBA::ValueBoxDef::_dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ) -{ - this->synchronous_upcall_dispatch (req, - servant_upcall, - this - ACE_ENV_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/interface_ss.cpp:851 - -CORBA::ValueBoxDef * -POA_CORBA::ValueBoxDef::_this (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Stub_Auto_Ptr safe_stub (stub); - ::CORBA::Object_ptr tmp = CORBA::Object::_nil (); - - ::CORBA::Boolean const _tao_opt_colloc = - stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); - - ACE_NEW_RETURN ( - tmp, - ::CORBA::Object (stub, _tao_opt_colloc, this), - 0 - ); - - ::CORBA::Object_var obj = tmp; - (void) safe_stub.release (); - - typedef ::CORBA::ValueBoxDef STUB_SCOPED_NAME; - return - TAO::Narrow_Utils::unchecked_narrow ( - obj.in (), - CORBA__TAO_ValueBoxDef_Proxy_Broker_Factory_function_pointer - ); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - - -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h deleted file mode 100644 index 3cb3af272e8..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h +++ /dev/null @@ -1,2140 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:409 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_H_ - -#include /**/ "ace/pre.h" - -#include "tao/IFR_Client/IFR_ExtendedC.h" -#include "orbsvcs/IFRService/IFR_BasicS.h" -#include "tao/AnyTypeCode/VisibilityS.h" -#include "tao/AnyTypeCode/ValueModifierS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Collocation_Proxy_Broker.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:49 - -namespace POA_CORBA -{ - - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class FixedDef; - typedef FixedDef *FixedDef_ptr; - - class FixedDef - : public virtual POA_CORBA::IDLType - { - protected: - FixedDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::FixedDef _stub_type; - typedef ::CORBA::FixedDef_ptr _stub_ptr_type; - typedef ::CORBA::FixedDef_var _stub_var_type; - - FixedDef (const FixedDef& rhs); - virtual ~FixedDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::FixedDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::UShort digits ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_digits_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void digits ( - ::CORBA::UShort digits - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_digits_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Short scale ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_scale_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void scale ( - ::CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_scale_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ValueMemberDef; - typedef ValueMemberDef *ValueMemberDef_ptr; - - class ValueMemberDef - : public virtual POA_CORBA::Contained - { - protected: - ValueMemberDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ValueMemberDef _stub_type; - typedef ::CORBA::ValueMemberDef_ptr _stub_ptr_type; - typedef ::CORBA::ValueMemberDef_var _stub_var_type; - - ValueMemberDef (const ValueMemberDef& rhs); - virtual ~ValueMemberDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ValueMemberDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Visibility access ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_access_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void access ( - ::CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_access_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ValueDef; - typedef ValueDef *ValueDef_ptr; - - class ValueDef - : public virtual POA_CORBA::Container, - public virtual POA_CORBA::Contained, - public virtual POA_CORBA::IDLType - { - protected: - ValueDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ValueDef _stub_type; - typedef ::CORBA::ValueDef_ptr _stub_ptr_type; - typedef ::CORBA::ValueDef_var _stub_var_type; - - ValueDef (const ValueDef& rhs); - virtual ~ValueDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ValueDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::InitializerSeq * initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueDef_ptr base_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueDefSeq * abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_abstract ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_custom ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::Boolean is_a ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueDef::FullValueDescription * describe_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ValueMemberDef_ptr create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_value_member_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ExtValueDef; - typedef ExtValueDef *ExtValueDef_ptr; - - class ExtValueDef - : public virtual POA_CORBA::ValueDef - { - protected: - ExtValueDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ExtValueDef _stub_type; - typedef ::CORBA::ExtValueDef_ptr _stub_ptr_type; - typedef ::CORBA::ExtValueDef_var _stub_var_type; - - ExtValueDef (const ExtValueDef& rhs); - virtual ~ExtValueDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ExtValueDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExtInitializerSeq * ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void ext_initializers ( - const ::CORBA::ExtInitializerSeq & ext_initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_ext_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExtValueDef::ExtFullValueDescription * describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void describe_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void create_ext_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_value_member_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/interface_sh.cpp:87 - - class ValueBoxDef; - typedef ValueBoxDef *ValueBoxDef_ptr; - - class ValueBoxDef - : public virtual POA_CORBA::TypedefDef - { - protected: - ValueBoxDef (void); - - public: - // Useful for template programming. - typedef ::CORBA::ValueBoxDef _stub_type; - typedef ::CORBA::ValueBoxDef_ptr _stub_ptr_type; - typedef ::CORBA::ValueBoxDef_var _stub_var_type; - - ValueBoxDef (const ValueBoxDef& rhs); - virtual ~ValueBoxDef (void); - - virtual ::CORBA::Boolean _is_a ( - const char* logical_type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void _is_a_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _non_existent_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _interface_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _component_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void _repository_id_skel ( - TAO_ServerRequest & req, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - virtual void _dispatch ( - TAO_ServerRequest & req, - void * servant_upcall - ACE_ENV_ARG_DECL - ); - - ::CORBA::ValueBoxDef *_this ( - - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - virtual const char* _interface_repository_id (void) const; - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual ::CORBA::IDLType_ptr original_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _get_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/operation_sh.cpp:45 - - virtual void original_type_def ( - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) = 0; - - static void _set_original_type_def_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ); - - static void - _get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_interface.cpp:1955 - - static void - move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - - static void - _get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ); - }; - -// TAO_IDL - Generated from -// be\be_visitor_module/module_sh.cpp:80 - -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1219 - - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "IFR_ExtendedS_T.h" - -#if defined (__ACE_INLINE__) -#include "IFR_ExtendedS.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl deleted file mode 100644 index 78a4a8dcb9d..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl +++ /dev/null @@ -1,2232 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -ACE_INLINE -void -POA_CORBA::FixedDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::FixedDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::FixedDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueMemberDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::lookup_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::lookup_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::lookup_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::describe_contents_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::describe_contents_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_module_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_module_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_constant_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_constant_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_struct_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_struct_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_union_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_union_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_enum_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_enum_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_alias_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_alias_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_value_box_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_value_box_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_exception_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_exception_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_native_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_native_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_abstract_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_abstract_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_local_interface_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_local_interface_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_ext_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Container * const impl = static_cast (servant); - POA_CORBA::Container::create_ext_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_supported_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_supported_interfaces_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_supported_interfaces_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_initializers_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_initializers_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_initializers_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_base_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_base_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_base_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_abstract_base_values_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_abstract_base_values_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_abstract_base_values_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_is_abstract_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_is_abstract_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_is_abstract_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_is_custom_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_is_custom_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_is_custom_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_get_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_get_is_truncatable_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ExtValueDef::_set_is_truncatable_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::_set_is_truncatable_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::is_a_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::is_a_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::describe_value_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::describe_value_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_value_member_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::create_value_member_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_attribute_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::create_attribute_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ExtValueDef::create_operation_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::ValueDef * const impl = static_cast (servant); - POA_CORBA::ValueDef::create_operation_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_def_kind_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::_get_def_kind_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::destroy_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IRObject * const impl = static_cast (servant); - POA_CORBA::IRObject::destroy_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_set_id_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_id_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_set_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_set_version_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_set_version_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_defined_in_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_defined_in_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_absolute_name_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_absolute_name_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_containing_repository_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::_get_containing_repository_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::describe_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::describe_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_interface.cpp:1955 - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::move_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::Contained * const impl = static_cast (servant); - POA_CORBA::Contained::move_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - -ACE_INLINE -void -POA_CORBA::ValueBoxDef::_get_type_skel ( - TAO_ServerRequest & server_request, - void * servant_upcall, - void * servant - ACE_ENV_ARG_DECL - ) -{ - POA_CORBA::IDLType * const impl = static_cast (servant); - POA_CORBA::IDLType::_get_type_skel ( - server_request, - servant_upcall, - impl - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.cpp deleted file mode 100644 index 9bd6f99cb35..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:683 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_T_CPP_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_T_CPP_ - -#include "IFR_ExtendedS_T.h" - -#if !defined (__ACE_INLINE__) -#include "IFR_ExtendedS_T.inl" -#endif /* !defined INLINE */ - - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#endif /* ifndef */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h deleted file mode 100644 index a66c2726183..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h +++ /dev/null @@ -1,2032 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:545 - -#ifndef _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_T_H_ -#define _TAO_IDL____ORBSVCS_ORBSVCS_IFRSERVICE_IFR_EXTENDEDS_T_H_ - -#include /**/ "ace/pre.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_root/root_sth.cpp:116 - -namespace POA_CORBA -{ - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class FixedDef_tie : public FixedDef - { - public: - /// the T& ctor - FixedDef_tie (T &t); - /// ctor taking a POA - FixedDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - FixedDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - FixedDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~FixedDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UShort digits ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void digits ( - ::CORBA::UShort digits - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Short scale ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void scale ( - ::CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - FixedDef_tie (const FixedDef_tie &); - void operator= (const FixedDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ValueMemberDef_tie : public ValueMemberDef - { - public: - /// the T& ctor - ValueMemberDef_tie (T &t); - /// ctor taking a POA - ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ValueMemberDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ValueMemberDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ValueMemberDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Visibility access ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void access ( - ::CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ValueMemberDef_tie (const ValueMemberDef_tie &); - void operator= (const ValueMemberDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ValueDef_tie : public ValueDef - { - public: - /// the T& ctor - ValueDef_tie (T &t); - /// ctor taking a POA - ValueDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ValueDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ValueDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ValueDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InitializerSeq * initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr base_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDefSeq * abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_abstract ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_custom ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef::FullValueDescription * describe_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueMemberDef_ptr create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ValueDef_tie (const ValueDef_tie &); - void operator= (const ValueDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ExtValueDef_tie : public ExtValueDef - { - public: - /// the T& ctor - ExtValueDef_tie (T &t); - /// ctor taking a POA - ExtValueDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ExtValueDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ExtValueDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ExtValueDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained_ptr lookup ( - const char * search_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ContainedSeq * lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container::DescriptionSeq * describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::LocalInterfaceDef_ptr create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef_ptr create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InterfaceDefSeq * supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::InitializerSeq * initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef_ptr base_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDefSeq * abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_abstract ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_custom ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Boolean is_a ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueDef::FullValueDescription * describe_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ValueMemberDef_ptr create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtInitializerSeq * ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void ext_initializers ( - const ::CORBA::ExtInitializerSeq & ext_initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtValueDef::ExtFullValueDescription * describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExtValueDef_tie (const ExtValueDef_tie &); - void operator= (const ExtValueDef_tie &); - }; - - // TAO_IDL - Generated from - // be\be_visitor_interface/tie_sh.cpp:87 - - // TIE class: Refer to CORBA v2.2, Section 20.34.4 - template - class ValueBoxDef_tie : public ValueBoxDef - { - public: - /// the T& ctor - ValueBoxDef_tie (T &t); - /// ctor taking a POA - ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa); - /// ctor taking pointer and an ownership flag - ValueBoxDef_tie (T *tp, ::CORBA::Boolean release = true); - /// ctor with T*, ownership flag and a POA - ValueBoxDef_tie ( - T *tp, - PortableServer::POA_ptr poa, - ::CORBA::Boolean release = true - ); - /// dtor - - ~ValueBoxDef_tie (void); - // TIE specific functions - /// return the underlying object - T *_tied_object (void); - /// set the underlying object - void _tied_object (T &obj); - /// set the underlying object and the ownership flag - void _tied_object (T *obj, ::CORBA::Boolean release = true); - /// do we own it - ::CORBA::Boolean _is_owner (void); - /// set the ownership - - void _is_owner ( ::CORBA::Boolean b); - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * id ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void id ( - const char * id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void name ( - const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * version ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void version ( - const char * version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Container_ptr defined_in ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - char * absolute_name ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Repository_ptr containing_repository ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::Contained::Description * describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - ::CORBA::IDLType_ptr original_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - // TAO_IDL - Generated from - // be\be_visitor_operation/tie_sh.cpp:60 - - void original_type_def ( - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - T *ptr_; - PortableServer::POA_var poa_; - ::CORBA::Boolean rel_; - - // copy and assignment are not allowed - ValueBoxDef_tie (const ValueBoxDef_tie &); - void operator= (const ValueBoxDef_tie &); - }; -} // module CORBA - -// TAO_IDL - Generated from -// be\be_codegen.cpp:1322 - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "IFR_ExtendedS_T.inl" -#endif /* defined INLINE */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "IFR_ExtendedS_T.cpp" -#endif /* defined REQUIRED SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("IFR_ExtendedS_T.cpp") -#endif /* defined REQUIRED PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* ifndef */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl b/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl deleted file mode 100644 index d50df786b6b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl +++ /dev/null @@ -1,3342 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - - - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::FixedDef_tie::FixedDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::FixedDef_tie::FixedDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::FixedDef_tie::FixedDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::FixedDef_tie::FixedDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::FixedDef_tie::~FixedDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::FixedDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::FixedDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::FixedDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::FixedDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::FixedDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::FixedDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->FixedDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::FixedDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::FixedDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::FixedDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UShort POA_CORBA::FixedDef_tie::digits ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->digits ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::FixedDef_tie::digits ( - ::CORBA::UShort digits - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->digits ( - digits - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Short POA_CORBA::FixedDef_tie::scale ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->scale ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::FixedDef_tie::scale ( - ::CORBA::Short scale - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->scale ( - scale - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ValueMemberDef_tie::ValueMemberDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ValueMemberDef_tie::ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ValueMemberDef_tie::ValueMemberDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ValueMemberDef_tie::ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ValueMemberDef_tie::~ValueMemberDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ValueMemberDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ValueMemberDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ValueMemberDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ValueMemberDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ValueMemberDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ValueMemberDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ValueMemberDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ValueMemberDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueMemberDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueMemberDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueMemberDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ValueMemberDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueMemberDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ValueMemberDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ValueMemberDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ValueMemberDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ValueMemberDef_tie::type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::type_def ( - ::CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->type_def ( - type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Visibility POA_CORBA::ValueMemberDef_tie::access ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->access ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueMemberDef_tie::access ( - ::CORBA::Visibility access - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->access ( - access - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ValueDef_tie::ValueDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ValueDef_tie::ValueDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ValueDef_tie::ValueDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ValueDef_tie::ValueDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ValueDef_tie::~ValueDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ValueDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ValueDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ValueDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ValueDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ValueDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ValueDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ValueDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ValueDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ValueDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ValueDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ValueDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ValueDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ValueDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ValueDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ValueDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ValueDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ValueDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ValueDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ValueDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ValueDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ValueDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ValueDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ValueDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ValueDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ValueDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ValueDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ValueDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ValueDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ValueDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ValueDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ValueDef_tie::supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->supported_interfaces ( - supported_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InitializerSeq * POA_CORBA::ValueDef_tie::initializers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->initializers ( - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ValueDef_tie::base_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_value ( - base_value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDefSeq * POA_CORBA::ValueDef_tie::abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->abstract_base_values ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->abstract_base_values ( - abstract_base_values - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ValueDef_tie::is_abstract ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_abstract ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_abstract ( - is_abstract - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ValueDef_tie::is_custom ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_custom ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_custom ( - is_custom - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ValueDef_tie::is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_truncatable ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueDef_tie::is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_truncatable ( - is_truncatable - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ValueDef_tie::is_a ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef::FullValueDescription * POA_CORBA::ValueDef_tie::describe_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueMemberDef_ptr POA_CORBA::ValueDef_tie::create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_member ( - id, - name, - version, - type, - access - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ValueDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ValueDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ExtValueDef_tie::ExtValueDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtValueDef_tie::ExtValueDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ExtValueDef_tie::ExtValueDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtValueDef_tie::ExtValueDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ExtValueDef_tie::~ExtValueDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ExtValueDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ExtValueDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ExtValueDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ExtValueDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ExtValueDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ExtValueDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ExtValueDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ExtValueDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained_ptr POA_CORBA::ExtValueDef_tie::lookup ( - const char * search_name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup ( - search_name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtValueDef_tie::contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->contents ( - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ContainedSeq * POA_CORBA::ExtValueDef_tie::lookup_name ( - const char * search_name, - ::CORBA::Long levels_to_search, - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->lookup_name ( - search_name, - levels_to_search, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container::DescriptionSeq * POA_CORBA::ExtValueDef_tie::describe_contents ( - ::CORBA::DefinitionKind limit_type, - ::CORBA::Boolean exclude_inherited, - ::CORBA::Long max_returned_objs - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_contents ( - limit_type, - exclude_inherited, - max_returned_objs - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ModuleDef_ptr POA_CORBA::ExtValueDef_tie::create_module ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_module ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ConstantDef_ptr POA_CORBA::ExtValueDef_tie::create_constant ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - const ::CORBA::Any & value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_constant ( - id, - name, - version, - type, - value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::StructDef_ptr POA_CORBA::ExtValueDef_tie::create_struct ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_struct ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::UnionDef_ptr POA_CORBA::ExtValueDef_tie::create_union ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr discriminator_type, - const ::CORBA::UnionMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_union ( - id, - name, - version, - discriminator_type, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::EnumDef_ptr POA_CORBA::ExtValueDef_tie::create_enum ( - const char * id, - const char * name, - const char * version, - const ::CORBA::EnumMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_enum ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AliasDef_ptr POA_CORBA::ExtValueDef_tie::create_alias ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_alias ( - id, - name, - version, - original_type - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDef_ptr POA_CORBA::ExtValueDef_tie::create_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ExtValueDef_tie::create_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueBoxDef_ptr POA_CORBA::ExtValueDef_tie::create_value_box ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_box ( - id, - name, - version, - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExceptionDef_ptr POA_CORBA::ExtValueDef_tie::create_exception ( - const char * id, - const char * name, - const char * version, - const ::CORBA::StructMemberSeq & members - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_exception ( - id, - name, - version, - members - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::NativeDef_ptr POA_CORBA::ExtValueDef_tie::create_native ( - const char * id, - const char * name, - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_native ( - id, - name, - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AbstractInterfaceDef_ptr POA_CORBA::ExtValueDef_tie::create_abstract_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::AbstractInterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_abstract_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::LocalInterfaceDef_ptr POA_CORBA::ExtValueDef_tie::create_local_interface ( - const char * id, - const char * name, - const char * version, - const ::CORBA::InterfaceDefSeq & base_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_local_interface ( - id, - name, - version, - base_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef_ptr POA_CORBA::ExtValueDef_tie::create_ext_value ( - const char * id, - const char * name, - const char * version, - ::CORBA::Boolean is_custom, - ::CORBA::Boolean is_abstract, - ::CORBA::ValueDef_ptr base_value, - ::CORBA::Boolean is_truncatable, - const ::CORBA::ValueDefSeq & abstract_base_values, - const ::CORBA::InterfaceDefSeq & supported_interfaces, - const ::CORBA::ExtInitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_value ( - id, - name, - version, - is_custom, - is_abstract, - base_value, - is_truncatable, - abstract_base_values, - supported_interfaces, - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtValueDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtValueDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtValueDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ExtValueDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ExtValueDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ExtValueDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ExtValueDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ExtValueDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InterfaceDefSeq * POA_CORBA::ExtValueDef_tie::supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->supported_interfaces ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::supported_interfaces ( - const ::CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->supported_interfaces ( - supported_interfaces - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::InitializerSeq * POA_CORBA::ExtValueDef_tie::initializers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::initializers ( - const ::CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->initializers ( - initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef_ptr POA_CORBA::ExtValueDef_tie::base_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->base_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::base_value ( - ::CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->base_value ( - base_value - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDefSeq * POA_CORBA::ExtValueDef_tie::abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->abstract_base_values ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::abstract_base_values ( - const ::CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->abstract_base_values ( - abstract_base_values - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtValueDef_tie::is_abstract ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_abstract ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::is_abstract ( - ::CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_abstract ( - is_abstract - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtValueDef_tie::is_custom ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_custom ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::is_custom ( - ::CORBA::Boolean is_custom - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_custom ( - is_custom - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtValueDef_tie::is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_truncatable ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::is_truncatable ( - ::CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->is_truncatable ( - is_truncatable - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Boolean POA_CORBA::ExtValueDef_tie::is_a ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->is_a ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueDef::FullValueDescription * POA_CORBA::ExtValueDef_tie::describe_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ValueMemberDef_ptr POA_CORBA::ExtValueDef_tie::create_value_member ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::Visibility access - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_value_member ( - id, - name, - version, - type, - access - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::AttributeDef_ptr POA_CORBA::ExtValueDef_tie::create_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_attribute ( - id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::OperationDef_ptr POA_CORBA::ExtValueDef_tie::create_operation ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr result, - ::CORBA::OperationMode mode, - const ::CORBA::ParDescriptionSeq & params, - const ::CORBA::ExceptionDefSeq & exceptions, - const ::CORBA::ContextIdSeq & contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_operation ( - id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtInitializerSeq * POA_CORBA::ExtValueDef_tie::ext_initializers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->ext_initializers ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ExtValueDef_tie::ext_initializers ( - const ::CORBA::ExtInitializerSeq & ext_initializers - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->ext_initializers ( - ext_initializers - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtValueDef::ExtFullValueDescription * POA_CORBA::ExtValueDef_tie::describe_ext_value ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe_ext_value ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::ExtAttributeDef_ptr POA_CORBA::ExtValueDef_tie::create_ext_attribute ( - const char * id, - const char * name, - const char * version, - ::CORBA::IDLType_ptr type, - ::CORBA::AttributeMode mode, - const ::CORBA::ExceptionDefSeq & get_exceptions, - const ::CORBA::ExceptionDefSeq & set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->create_ext_attribute ( - id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_interface/tie_si.cpp:96 - -template ACE_INLINE -POA_CORBA::ValueBoxDef_tie::ValueBoxDef_tie (T &t) - : ptr_ (&t), - poa_ (PortableServer::POA::_nil ()), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ValueBoxDef_tie::ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa) - : ptr_ (&t), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (0) -{} - -template ACE_INLINE -POA_CORBA::ValueBoxDef_tie::ValueBoxDef_tie (T *tp, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_nil ()), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ValueBoxDef_tie::ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release) - : ptr_ (tp), - poa_ (PortableServer::POA::_duplicate (poa)), - rel_ (release) -{} - -template ACE_INLINE -POA_CORBA::ValueBoxDef_tie::~ValueBoxDef_tie (void) -{ - if (this->rel_) - { - delete this->ptr_; - } -} - -template ACE_INLINE T * -POA_CORBA::ValueBoxDef_tie::_tied_object (void) -{ - return this->ptr_; -} - -template ACE_INLINE void -POA_CORBA::ValueBoxDef_tie::_tied_object (T &obj) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = &obj; - this->rel_ = 0; -} - -template ACE_INLINE void -POA_CORBA::ValueBoxDef_tie::_tied_object (T *obj, ::CORBA::Boolean release) -{ - if (this->rel_) - { - delete this->ptr_; - } - - this->ptr_ = obj; - this->rel_ = release; -} - -template ACE_INLINE ::CORBA::Boolean -POA_CORBA::ValueBoxDef_tie::_is_owner (void) -{ - return this->rel_; -} - -template ACE_INLINE void -POA_CORBA::ValueBoxDef_tie::_is_owner ( ::CORBA::Boolean b) -{ - this->rel_ = b; -} - -template ACE_INLINE PortableServer::POA_ptr -POA_CORBA::ValueBoxDef_tie::_default_POA (ACE_ENV_SINGLE_ARG_DECL) -{ - if (! ::CORBA::is_nil (this->poa_.in ())) - { - return PortableServer::POA::_duplicate (this->poa_.in ()); - } - - return this->ValueBoxDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::DefinitionKind POA_CORBA::ValueBoxDef_tie::def_kind ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->def_kind ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueBoxDef_tie::destroy ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->destroy ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueBoxDef_tie::id ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->id ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueBoxDef_tie::id ( - const char * id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->id ( - id - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueBoxDef_tie::name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueBoxDef_tie::name ( - const char * name - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->name ( - name - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueBoxDef_tie::version ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->version ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueBoxDef_tie::version ( - const char * version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->version ( - version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Container_ptr POA_CORBA::ValueBoxDef_tie::defined_in ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->defined_in ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -char * POA_CORBA::ValueBoxDef_tie::absolute_name ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->absolute_name ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Repository_ptr POA_CORBA::ValueBoxDef_tie::containing_repository ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->containing_repository ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::Contained::Description * POA_CORBA::ValueBoxDef_tie::describe ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->describe ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueBoxDef_tie::move ( - ::CORBA::Container_ptr new_container, - const char * new_name, - const char * new_version - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->move ( - new_container, - new_name, - new_version - ACE_ENV_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::TypeCode_ptr POA_CORBA::ValueBoxDef_tie::type ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->type ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -::CORBA::IDLType_ptr POA_CORBA::ValueBoxDef_tie::original_type_def ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - return this->ptr_->original_type_def ( - ACE_ENV_SINGLE_ARG_PARAMETER - ); -} - -// TAO_IDL - Generated from -// be\be_visitor_operation/tie_si.cpp:101 - -template ACE_INLINE -void POA_CORBA::ValueBoxDef_tie::original_type_def ( - ::CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) -{ - this->ptr_->original_type_def ( - original_type_def - ACE_ENV_ARG_PARAMETER - ); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.cpp deleted file mode 100644 index a5e914dcf87..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// $Id$ - -// ================================================================ -// DESCRIPTION -// This class allows for dynamically loading -// the IFR Service. -// -// AUTHORS -// Jaiganesh Balasubramanian -// Priyanka Gontla -// ================================================================ - -#include "orbsvcs/IFRService/IFR_Service_Loader.h" -#include "ace/Dynamic_Service.h" -#include "ace/Argv_Type_Converter.h" - -ACE_RCSID (IFR_Service, - IFR_Service_Loader, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_IFR_Service_Loader::TAO_IFR_Service_Loader (void) -{ - // Constructor -} - -TAO_IFR_Service_Loader::~TAO_IFR_Service_Loader (void) -{ - // Destructor -} - -int -TAO_IFR_Service_Loader::init (int argc, - ACE_TCHAR *argv[]) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Copy command line parameter. - ACE_Argv_Type_Converter command_line (argc, - argv); - - // Initialize the ORB - CORBA::ORB_var orb = - CORBA::ORB_init (command_line.get_argc (), - command_line.get_ASCII_argv (), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // This function call initializes the IFR_Service Service - CORBA::Object_var object = - this->create_object (orb.in (), - command_line.get_argc (), - command_line.get_TCHAR_argv () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Should we log this??? - return -1; - } - ACE_ENDTRY; - return 0; -} - -int -TAO_IFR_Service_Loader::fini (void) -{ - // Remove the IFR_Service Service. - return this->ifr_server_.fini (); -} - -CORBA::Object_ptr -TAO_IFR_Service_Loader::create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[] - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - int result; - - // Initializes the IFR_Service Service. Returns -1 - // on an error. - result = this->ifr_server_.init_with_orb (argc, - argv, - orb); - if (result == -1) - { - return CORBA::Object::_nil (); - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_IFRService, TAO_IFR_Service_Loader) diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h deleted file mode 100644 index 4ed289fb58b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// =========================================================================== -// FILENAME -// IFR_Service_Loader.h -// -// DESCRIPTION -// This class loads the IFR Service dynamically -// either from svc.conf file or call. -// -// AUTHORS -// Jaiganesh Balasubramanian -// Priyanka Gontla -// -// =========================================================================== - -#ifndef TAO_IFR_SERVICE_LOADER_H -#define TAO_IFR_SERVICE_LOADER_H - -#include "tao/Object_Loader.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_IFR_Service_Loader : public TAO_Object_Loader -{ -public: - - // Constructor - TAO_IFR_Service_Loader (void); - - // Destructor - ~TAO_IFR_Service_Loader (void); - - // Called by the Service Configurator framework to initialize the - // Event Service. Defined in - virtual int init (int argc, ACE_TCHAR *argv[]); - - // Called by the Service Configurator framework to remove the - // Event Service. Defined in - virtual int fini (void); - - // This function call initializes the IFR Service given a reference to the - // ORB and the command line parameters. - virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[] - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -protected: - TAO_IFR_Server ifr_server_; - // Instance of the TAO_IFR_Server - -private: - - // Disallowing copying/assignment. - TAO_IFR_Service_Loader (const TAO_IFR_Service_Loader &); - TAO_IFR_Service_Loader & operator= (const TAO_IFR_Service_Loader &); - -}; - - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_IFRService, TAO_IFR_Service_Loader) - -#endif /* TAO_IFR_SERVICE_LOADER_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp deleted file mode 100644 index 492f0aaad44..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp +++ /dev/null @@ -1,1445 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ComponentRepository_i.h" -#include "orbsvcs/IFRService/Options.h" -#include "orbsvcs/IFRService/IFR_ComponentsS.h" -#include "orbsvcs/IOR_Multicast.h" -#include "tao/IORTable/IORTable.h" -#include "tao/ORB_Core.h" -#include "tao/default_ports.h" -#include "tao/PortableServer/Root_POA.h" -#include "tao/Stub.h" -#include "tao/Profile.h" -#include "tao/AnyTypeCode/ValueModifierC.h" -#include "ace/Auto_Ptr.h" - -ACE_RCSID (IFR_Service, - IFR_Service, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Repository_i *TAO_IFR_Service_Utils::repo_ = 0; - -TAO_IFR_Server::TAO_IFR_Server (void) - : //servant_locator_impl_ (0), - ior_multicast_ (0), - config_ (0) -{ -} - -TAO_IFR_Server::~TAO_IFR_Server (void) -{ - // Get reactor instance from TAO. - ACE_Reactor *reactor = this->orb_->orb_core ()->reactor (); - - if ( this->ior_multicast_ ) - { - // Remove event handler for the ior multicast. - if (reactor->remove_handler (this->ior_multicast_, - ACE_Event_Handler::READ_MASK) - == -1) - { - ACE_DEBUG (( - LM_DEBUG, - ACE_TEXT ("Interface Repository: cannot remove handler\n") - )); - } - } - - delete this->config_; - delete this->ior_multicast_; -} - -int -TAO_IFR_Server::init_with_orb (int argc, - ACE_TCHAR *argv [], - CORBA::ORB_ptr orb, - int use_multicast_server) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Duplicate the ORB. - this->orb_ = CORBA::ORB::_duplicate (orb); - - // Get the POA from the ORB. - CORBA::Object_var poa_object = - orb->resolve_initial_references ("RootPOA" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (poa_object.in ())) - { - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("(%P|%t) Unable to initialize the POA.\n") - ), - -1 - ); - } - this->root_poa_ = - PortableServer::POA::_narrow (poa_object.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - int retval = OPTIONS::instance ()->parse_args (argc, - argv); - - if (retval != 0) - { - return retval; - } - - retval = this->create_poa (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (retval != 0) - { - return retval; - } - - retval = this->open_config (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (retval != 0) - { - return retval; - } - - retval = this->create_repository (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (retval != 0) - { - return retval; - } - - if (use_multicast_server - || OPTIONS::instance()->support_multicast_discovery ()) - { - retval = - this->init_multicast_server (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (retval != 0) - { - return retval; - } - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "IFR_Service::init"); - - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - return 0; -} - -int -TAO_IFR_Server::fini (void) -{ - ACE_TRY_NEW_ENV - { - this->root_poa_->destroy (1, - 1 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_IFR_Server::fini"); - ACE_RE_THROW; - } - ACE_ENDTRY; - return 0; -} - -int -TAO_IFR_Server::create_poa (ACE_ENV_SINGLE_ARG_DECL) -{ - PortableServer::POAManager_var poa_manager = - this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - CORBA::PolicyList policies (5); - policies.length (5); - - // ID Assignment Policy. - policies[0] = - this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Lifespan Policy. - policies[1] = - this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Request Processing Policy. - policies[2] = - this->root_poa_->create_request_processing_policy ( - PortableServer::USE_DEFAULT_SERVANT - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - // Servant Retention Policy. - policies[3] = - this->root_poa_->create_servant_retention_policy ( - PortableServer::NON_RETAIN - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - // Id Uniqueness Policy. - policies[4] = - this->root_poa_->create_id_uniqueness_policy ( - PortableServer::MULTIPLE_ID - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - this->repo_poa_ = - this->root_poa_->create_POA ("repoPOA", - poa_manager.in (), - policies - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - policies[0]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - return 0; -} - -int -TAO_IFR_Server::open_config (ACE_ENV_SINGLE_ARG_DECL) -{ - if (OPTIONS::instance ()->using_registry ()) - { -#if defined (ACE_WIN32) - HKEY root = - ACE_Configuration_Win32Registry::resolve_key ( - HKEY_LOCAL_MACHINE, - "Software\\TAO\\IFR" - ); - - ACE_NEW_THROW_EX (this->config_, - ACE_Configuration_Win32Registry (root), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (-1); -#endif /* ACE_WIN32 */ - - return 0; - } - else - { - ACE_Configuration_Heap *heap = 0; - ACE_NEW_THROW_EX (heap, - ACE_Configuration_Heap, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (-1); - - if (OPTIONS::instance ()->persistent ()) - { - const char *filename = OPTIONS::instance ()->persistent_file (); - - if (heap->open (filename)) - { - delete heap; - heap = 0; - - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Error:: Opening persistent heap file '%s'\n"), - filename - ), - -1 - ); - } - } - else - { - heap->open (); - } - - this->config_ = heap; - - return 0; - } -} - -int -TAO_IFR_Server::create_repository (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_ComponentRepository_i *impl = 0; - ACE_NEW_THROW_EX ( - impl, - TAO_ComponentRepository_i ( - this->orb_.in (), - this->root_poa_, - this->config_ - ), - CORBA::NO_MEMORY () - ); - ACE_CHECK_RETURN (-1); - - auto_ptr safety (impl); - TAO_IFR_Service_Utils::repo_ = impl; - - POA_CORBA::ComponentIR::Repository_tie *impl_tie - = 0; - - ACE_NEW_THROW_EX ( - impl_tie, - POA_CORBA::ComponentIR::Repository_tie ( - impl, - this->repo_poa_, - 1 - ), - CORBA::NO_MEMORY () - ); - ACE_CHECK_RETURN (-1); - - PortableServer::ServantBase_var tie_safety (impl_tie); - safety.release (); - - this->repo_poa_->set_servant (impl_tie - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - PortableServer::ObjectId_var oid = - PortableServer::string_to_ObjectId (""); - - CORBA::Object_var obj = - this->repo_poa_->create_reference_with_id ( - oid.in (), - "IDL:omg.org/CORBA/ComponentIR/ComponentRepository:1.0" - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - CORBA::Repository_ptr repo_ref = - CORBA::Repository::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Initialize the repository. - int status = impl->repo_init (repo_ref, - this->repo_poa_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (status != 0) - { - return -1; - } - - // Save and output the IOR string. - this->ifr_ior_ = - this->orb_->object_to_string (repo_ref - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN (-1); - - CORBA::Object_var table_object = - this->orb_->resolve_initial_references ("IORTable" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - IORTable::Table_var adapter = - IORTable::Table::_narrow (table_object.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (CORBA::is_nil (adapter.in ())) - { - ACE_ERROR_RETURN ((LM_ERROR, "Nil IORTable\n"), -1); - } - else - { - adapter->bind ("InterfaceRepository", - this->ifr_ior_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - } - - // Add the repository to the ORB's table of initialized object references. - this->orb_->register_initial_reference ("InterfaceRepository", - repo_ref - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - FILE *output_file_ = - ACE_OS::fopen (OPTIONS::instance()->ior_output_file (), - "w"); - - ACE_OS::fprintf (output_file_, - "%s", - this->ifr_ior_.in ()); - - ACE_OS::fclose (output_file_); - - return 0; -} - -// Install ior multicast handler. -int -TAO_IFR_Server::init_multicast_server (ACE_ENV_SINGLE_ARG_DECL) -{ - // Get reactor instance from TAO. - ACE_Reactor *reactor = this->orb_->orb_core ()->reactor (); - -#if defined (ACE_HAS_IP_MULTICAST) - - // See if the -ORBMulticastDiscoveryEndpoint option was specified. - ACE_CString mde ( - TAO_ORB_Core_instance ()->orb_params ()->mcast_discovery_endpoint () - ); - - // First, see if the user has given us a multicast port number - // on the command-line; - u_short port = - TAO_ORB_Core_instance ()->orb_params ()->service_port ( - TAO::MCAST_INTERFACEREPOSERVICE - ); - - if (port == 0) - { - // Check environment var. for multicast port. - const char *port_number = - ACE_OS::getenv ("InterfaceRepoServicePort"); - - if (port_number != 0) - port = static_cast (ACE_OS::atoi (port_number)); - } - - // Port wasn't specified on the command-line or in environment - - // use the default. - if (port == 0) - port = TAO_DEFAULT_INTERFACEREPO_SERVER_REQUEST_PORT; - - // Instantiate a handler which will handle client requests for - // the IFR ior, received on the multicast port. - ACE_NEW_THROW_EX (this->ior_multicast_, - TAO_IOR_Multicast (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (-1); - - if (mde.length () != 0) - { - if (this->ior_multicast_->init (this->ifr_ior_.in (), - mde.c_str (), - TAO_SERVICEID_INTERFACEREPOSERVICE) - == -1) - { - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Interface Repository: cannot initialize ") - ACE_TEXT ("multicast event handler\n") - ), - -1 - ); - } - } - else - { - if (this->ior_multicast_->init (this->ifr_ior_.in (), - port, - ACE_DEFAULT_MULTICAST_ADDR, - TAO_SERVICEID_INTERFACEREPOSERVICE) - == -1) - { - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Interface Repository: cannot initialize ") - ACE_TEXT ("multicast event handler\n") - ), - -1 - ); - } - } - - // Register event handler for the ior multicast. - if (reactor->register_handler (this->ior_multicast_, - ACE_Event_Handler::READ_MASK) - == -1) - { - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Interface Repository: cannot register ") - ACE_TEXT ("multicast event handler\n") - ), - -1 - ); - } - -#endif /* ACE_HAS_IP_MULTICAST */ - - return 0; -} - -TAO_IFR_Service_Utils::TAO_IFR_Service_Utils (void) -{ -} - -TAO_IFR_Service_Utils::~TAO_IFR_Service_Utils (void) -{ -} - -ACE_Configuration_Section_Key -TAO_IFR_Service_Utils::tmp_key_; - -char * -TAO_IFR_Service_Utils::int_to_string (CORBA::ULong number) -{ - static char hex_string[9]; - ACE_OS::sprintf (hex_string, - "%8.8X", - number); - hex_string[8] = '\0'; - return hex_string; -} - -void -TAO_IFR_Service_Utils::valid_container ( - CORBA::DefinitionKind container_kind, - CORBA::DefinitionKind contained_kind - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - int error_flag = 0; - - switch (container_kind) - { - case CORBA::dk_Repository: - case CORBA::dk_Module: - break; - case CORBA::dk_Exception: - case CORBA::dk_Struct: - case CORBA::dk_Union: - switch (contained_kind) - { - case CORBA::dk_Struct: - case CORBA::dk_Union: - case CORBA::dk_Enum: - break; - default: - error_flag = 1; - break; - } - break; - case CORBA::dk_Value: - case CORBA::dk_Interface: - case CORBA::dk_AbstractInterface: - case CORBA::dk_LocalInterface: - case CORBA::dk_Home: - switch (contained_kind) - { - case CORBA::dk_Module: - case CORBA::dk_Interface: - case CORBA::dk_Value: - error_flag = 1; - break; - default: - break; - } - break; - case CORBA::dk_Component: - switch (contained_kind) - { - case CORBA::dk_Provides: - case CORBA::dk_Uses: - case CORBA::dk_Emits: - case CORBA::dk_Publishes: - case CORBA::dk_Consumes: - case CORBA::dk_Attribute: - break; - default: - error_flag = 1; - break; - } - break; - default: - break; - } - - if (error_flag == 1) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 4, - CORBA::COMPLETED_NO)); - } -} - -void -TAO_IFR_Service_Utils::pre_exist ( - const char *id, - name_clash_checker checker, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo, - CORBA::DefinitionKind kind - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Service_Utils::id_exists (id, - repo - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Service_Utils::name_exists (checker, - key, - repo, - kind - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_IFR_Service_Utils::id_exists (const char *id, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // The repo id must not already exist. - ACE_TString holder; - if (repo->config ()->get_string_value (repo->repo_ids_key (), - id, - holder) - == 0) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 2, - CORBA::COMPLETED_NO)); - } -} - -void -TAO_IFR_Service_Utils::name_exists ( - name_clash_checker checker, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo, - CORBA::DefinitionKind kind - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - int status = 0; - ACE_TString section_name; - u_int count = 0; - char *stringified = 0; - - // Check the members defined elsewhere, if any. - ACE_Configuration_Section_Key refs_key; - status = - repo->config ()->open_section (key, - "refs", - 0, - refs_key); - - if (status == 0) - { - repo->config ()->get_integer_value (refs_key, - "count", - count); - - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - stringified = TAO_IFR_Service_Utils::int_to_string (i); - - repo->config ()->open_section (refs_key, - stringified, - 0, - member_key); - - ACE_TString member_name; - repo->config ()->get_string_value (member_key, - "name", - member_name); - - if ((*checker) (member_name.fast_rep ()) != 0) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 3, - CORBA::COMPLETED_NO)); - } - } - } - - // Check the members defined in this scope, if any. - ACE_Configuration_Section_Key defns_key; - status = - repo->config ()->open_section (key, - "defns", - 0, - defns_key); - if (status == 0) - { - repo->config ()->get_integer_value (defns_key, - "count", - count); - - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key defn_key; - stringified = TAO_IFR_Service_Utils::int_to_string (i); - - repo->config ()->open_section (defns_key, - stringified, - 0, - defn_key); - - ACE_TString defn_name; - repo->config ()->get_string_value (defn_key, - "name", - defn_name); - - if ((*checker) (defn_name.fast_rep ()) != 0) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 3, - CORBA::COMPLETED_NO)); - } - } - } - - if (kind == CORBA::dk_Interface - || kind == CORBA::dk_Component) - { - TAO_IFR_Service_Utils::check_subsection (checker, - "attrs", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (kind == CORBA::dk_Interface) - { - TAO_IFR_Service_Utils::check_subsection (checker, - "ops", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (kind == CORBA::dk_Component) - { - TAO_IFR_Service_Utils::check_subsection (checker, - "provides", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Service_Utils::check_subsection (checker, - "uses", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Service_Utils::check_subsection (checker, - "emits", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Service_Utils::check_subsection (checker, - "publishes", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Service_Utils::check_subsection (checker, - "consumes", - repo->config (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_IFR_Service_Utils::check_subsection ( - TAO_IFR_Service_Utils::name_clash_checker checker, - const char *sub_section, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration_Section_Key sub_key; - int status = - config->open_section (key, - sub_section, - 0, - sub_key); - - if (status != 0) - { - return; - } - - CORBA::ULong count = 0; - config->get_integer_value (sub_key, - "count", - count); - - ACE_Configuration_Section_Key entry_key; - ACE_TString entry_name; - char *stringified = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - config->open_section (sub_key, - stringified, - 0, - entry_key); - config->get_string_value (entry_key, - "name", - entry_name); - - if ((*checker) (entry_name.fast_rep ()) != 0) - { - ACE_THROW (CORBA::BAD_PARAM (3, - CORBA::COMPLETED_NO)); - return; - } - } -} - -void -TAO_IFR_Service_Utils::valid_creation ( - CORBA::DefinitionKind container_kind, - CORBA::DefinitionKind contained_kind, - const char *id, - name_clash_checker checker, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL - ) -{ - TAO_IFR_Service_Utils::valid_container (container_kind, - contained_kind - ACE_ENV_ARG_PARAMETER); - - TAO_IFR_Service_Utils::pre_exist (id, - checker, - key, - repo, - container_kind - ACE_ENV_ARG_PARAMETER); -} - -ACE_TString -TAO_IFR_Service_Utils::create_common ( - CORBA::DefinitionKind container_kind, - CORBA::DefinitionKind contained_kind, - ACE_Configuration_Section_Key container_key, - ACE_Configuration_Section_Key &new_key, - TAO_Repository_i *repo, - const char *id, - const char *name, - TAO_IFR_Service_Utils::name_clash_checker checker, - const char *version, - const char *sub_section_name - ACE_ENV_ARG_DECL - ) -{ - ACE_TString path; - - // No need for a return value, every error we check for will throw - // one of the BAD_PARAM versions if it is discovered. - TAO_IFR_Service_Utils::valid_creation (container_kind, - contained_kind, - id, - checker, - container_key, - repo - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (path); - - ACE_Configuration *config = repo->config (); - - // Create new section, or open if it already exists. - ACE_Configuration_Section_Key sub_key; - config->open_section (container_key, - sub_section_name, - 1, - sub_key); - - u_int defn_count = 0; - - // If we have a count, it gets set, if not, it stays 0. - config->get_integer_value (sub_key, - "count", - defn_count); - - char *section_name = - TAO_IFR_Service_Utils::int_to_string (defn_count); - config->open_section (sub_key, - section_name, - 1, - new_key); - - // Increment the count. - config->set_integer_value (sub_key, - "count", - defn_count + 1); - - config->get_integer_value (sub_key, - "count", - defn_count); - - // Set the name attribute. - config->set_string_value (new_key, - "name", - name); - - // Set the id attribute. - config->set_string_value (new_key, - "id", - id); - - // Set the version attribute. - config->set_string_value (new_key, - "version", - version); - - // Set the definition kind. - config->set_integer_value (new_key, - "def_kind", - contained_kind); - - // Get the container's absolute name, append the new name, - // and set it in the new section. - ACE_TString absolute_name; - config->get_string_value (container_key, - "absolute_name", - absolute_name); - - absolute_name += "::"; - absolute_name += name; - - config->set_string_value (new_key, - "absolute_name", - absolute_name); - - // Get the container's path. - ACE_TString container_id; - config->get_string_value (container_key, - "id", - container_id); - - config->set_string_value (new_key, - "container_id", - container_id); - - if (container_id == "") // This Container is the Repository. - { - path = ""; - } - else - { - config->get_string_value (repo->repo_ids_key (), - container_id.c_str (), - path); - - path += '\\'; - } - - path += sub_section_name; - path += '\\'; - path += section_name; - - // Store our path under our global repo id for fast lookup. - config->set_string_value (repo->repo_ids_key (), - id, - path); - - return path; -} - -void -TAO_IFR_Service_Utils::set_exceptions ( - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - const char *sub_section, - const CORBA::ExceptionDefSeq &exceptions - ) -{ - CORBA::ULong length = exceptions.length (); - - if (length == 0) - { - return; - } - - // Create new subsection because we are either creating a new entry - // or are calling from a mutator which has already removed the old one. - ACE_Configuration_Section_Key excepts_key; - config->open_section (key, - sub_section, - 1, - excepts_key); - - config->set_integer_value (excepts_key, - "count", - length); - - char *type_path = 0; - - for (CORBA::ULong i = 0; i < length; ++i) - { - type_path = - TAO_IFR_Service_Utils::reference_to_path (exceptions[i]); - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - config->set_string_value (excepts_key, - stringified, - type_path); - } -} - -CORBA::TypeCode_ptr -TAO_IFR_Service_Utils::gen_valuetype_tc_r ( - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL - ) -{ - ACE_TString name; - repo->config ()->get_string_value (key, - "name", - name); - ACE_TString id; - repo->config ()->get_string_value (key, - "id", - id); - CORBA::ValueModifier tm = CORBA::VM_NONE; - CORBA::ULong is_it = 0; - - repo->config ()->get_integer_value (key, - "is_abstract", - is_it); - - if (is_it) - { - tm = CORBA::VM_ABSTRACT; - } - else - { - repo->config ()->get_integer_value (key, - "is_custom", - is_it); - - if (is_it) - { - tm = CORBA::VM_CUSTOM; - } - else - { - repo->config ()->get_integer_value (key, - "is_truncatable", - is_it); - - if (is_it) - { - tm = CORBA::VM_TRUNCATABLE; - } - } - } - - ACE_TString base_id; - int status = - repo->config ()->get_string_value (key, - "base_value", - base_id); - CORBA::TypeCode_var base_tc = CORBA::TypeCode::_nil (); - - if (status == 0) - { - ACE_TString base_path; - repo->config ()->get_string_value (repo->repo_ids_key (), - base_id.fast_rep (), - base_path); - ACE_Configuration_Section_Key base_key; - repo->config ()->expand_path (repo->root_key (), - base_path, - base_key, - 0); - base_tc = - TAO_IFR_Service_Utils::gen_valuetype_tc_r (base_key, - repo - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - } - - CORBA::ValueMemberSeq vm_seq; - vm_seq.length (0); - TAO_IFR_Service_Utils::fill_valuemember_seq (vm_seq, - key, - repo - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return - repo->tc_factory ()->create_value_tc (id.c_str (), - name.c_str (), - tm, - base_tc.in (), - vm_seq - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_IFR_Service_Utils::fill_valuemember_seq ( - CORBA::ValueMemberSeq &vm_seq, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL - ) -{ - ACE_Configuration_Section_Key members_key; - int status = - repo->config ()->open_section (key, - "members", - 0, - members_key); - - if (status != 0) - { - vm_seq.length (0); - return; - } - - CORBA::ULong count = 0; - repo->config ()->get_integer_value (members_key, - "count", - count); - vm_seq.length (count); - char *stringified = 0; - ACE_Configuration_Section_Key member_key, type_key; - ACE_TString holder; - CORBA::ULong access = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - repo->config ()->open_section (members_key, - stringified, - 0, - member_key); - repo->config ()->get_string_value (member_key, - "name", - holder); - vm_seq[i].name = holder.fast_rep (); - repo->config ()->get_string_value (member_key, - "id", - holder); - vm_seq[i].id = holder.fast_rep (); - repo->config ()->get_string_value (key, - "id", - holder); - vm_seq[i].defined_in = holder.fast_rep (); - repo->config ()->get_string_value (member_key, - "version", - holder); - vm_seq[i].version = holder.fast_rep (); - repo->config ()->get_string_value (member_key, - "type_path", - holder); - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (holder, - repo); - vm_seq[i].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - repo->config ()->get_integer_value (member_key, - "access", - access); - vm_seq[i].access = static_cast (access); - } -} - -char * -TAO_IFR_Service_Utils::reference_to_path (CORBA::IRObject_ptr obj) -{ - PortableServer::ObjectId object_id; - TAO::ObjectKey object_key = - obj->_stubobj ()->profile_in_use ()->object_key (); - int status = TAO_Root_POA::parse_ir_object_key (object_key, - object_id); - if (status != 0) - { - ACE_DEBUG ((LM_DEBUG, - "reference_to_path - parse_ir_object_key failed\n")); - return 0; - } - - return TAO_IFR_Service_Utils::oid_to_string (object_id); -} - -CORBA::DefinitionKind -TAO_IFR_Service_Utils::path_to_def_kind (ACE_TString &path, - TAO_Repository_i *repo) -{ - int status = - repo->config ()->expand_path (repo->root_key (), - path, - TAO_IFR_Service_Utils::tmp_key_, - 0); - - if (status != 0) - { - ACE_DEBUG ((LM_DEBUG, - "path_to_def_kind - bad path: '%s'\n", - path.c_str ())); - return CORBA::dk_none; - } - - u_int kind = 0; - repo->config ()->get_integer_value (TAO_IFR_Service_Utils::tmp_key_, - "def_kind", - kind); - return static_cast (kind); -} - -CORBA::DefinitionKind -TAO_IFR_Service_Utils::reference_to_def_kind (CORBA::IRObject_ptr obj, - TAO_Repository_i *repo) -{ - ACE_TString path (TAO_IFR_Service_Utils::reference_to_path (obj)); - return TAO_IFR_Service_Utils::path_to_def_kind (path, repo); -} - -TAO_IDLType_i * -TAO_IFR_Service_Utils::path_to_idltype (ACE_TString &path, - TAO_Repository_i *repo) -{ - CORBA::DefinitionKind def_kind = - TAO_IFR_Service_Utils::path_to_def_kind (path, repo); - TAO_IDLType_i *retval = repo->select_idltype (def_kind); - - if (retval == 0) - { - ACE_DEBUG ((LM_DEBUG, - "path_to_idltype - not an IDLType: '%s'\n", - path.c_str ())); - return 0; - } - - retval->section_key (TAO_IFR_Service_Utils::tmp_key_); - return retval; -} - -TAO_Contained_i * -TAO_IFR_Service_Utils::path_to_contained (ACE_TString &path, - TAO_Repository_i *repo) -{ - CORBA::DefinitionKind def_kind = - TAO_IFR_Service_Utils::path_to_def_kind (path, repo); - TAO_Contained_i *retval = repo->select_contained (def_kind); - - if (retval == 0) - { - ACE_DEBUG ((LM_DEBUG, - "path_to_contained - not a contained type: '%s'\n", - path.c_str ())); - return 0; - } - - retval->section_key (TAO_IFR_Service_Utils::tmp_key_); - return retval; -} - -TAO_Container_i * -TAO_IFR_Service_Utils::path_to_container (ACE_TString &path, - TAO_Repository_i *repo) -{ - CORBA::DefinitionKind def_kind = - TAO_IFR_Service_Utils::path_to_def_kind (path, repo); - TAO_Container_i *retval = repo->select_container (def_kind); - - if (retval != 0) - { - retval->section_key (TAO_IFR_Service_Utils::tmp_key_); - } - - return retval; -} - -CORBA::Object_ptr -TAO_IFR_Service_Utils::path_to_ir_object (ACE_TString &path, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL) -{ - CORBA::DefinitionKind def_kind = - TAO_IFR_Service_Utils::path_to_def_kind (path, repo); - - return TAO_IFR_Service_Utils::create_objref (def_kind, - path.c_str (), - repo - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_IFR_Service_Utils::create_objref (CORBA::DefinitionKind def_kind, - const char *obj_id, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL) -{ - ACE_TString repo_id ("IDL:omg.org/"); - - switch (def_kind) - { - case CORBA::dk_Attribute: - repo_id += "CORBA/ExtAttributeDef:"; - break; - case CORBA::dk_Constant: - repo_id += "CORBA/ConstantDef:"; - break; - case CORBA::dk_Exception: - repo_id += "CORBA/ExceptionDef:"; - break; - case CORBA::dk_Interface: - repo_id += "CORBA/ExtInterfaceDef:"; - break; - case CORBA::dk_AbstractInterface: - repo_id += "CORBA/ExtAbstractInterfaceDef:"; - break; - case CORBA::dk_LocalInterface: - repo_id += "CORBA/ExtLocalInterfaceDef:"; - break; - case CORBA::dk_Module: - repo_id += "CORBA/ComponentIR/ModuleDef:"; - break; - case CORBA::dk_Operation: - repo_id += "CORBA/OperationDef:"; - break; - case CORBA::dk_Typedef: - repo_id += "CORBA/TypedefDef:"; - break; - case CORBA::dk_Alias: - repo_id += "CORBA/AliasDef:"; - break; - case CORBA::dk_Struct: - repo_id += "CORBA/StructDef:"; - break; - case CORBA::dk_Union: - repo_id += "CORBA/UnionDef:"; - break; - case CORBA::dk_Enum: - repo_id += "CORBA/EnumDef:"; - break; - case CORBA::dk_Primitive: - repo_id += "CORBA/PrimitiveDef:"; - break; - case CORBA::dk_String: - repo_id += "CORBA/StringDef:"; - break; - case CORBA::dk_Sequence: - repo_id += "CORBA/SequenceDef:"; - break; - case CORBA::dk_Array: - repo_id += "CORBA/ArrayDef:"; - break; - case CORBA::dk_Wstring: - repo_id += "CORBA/WstringDef:"; - break; - case CORBA::dk_Fixed: - repo_id += "CORBA/FixedDef:"; - break; - case CORBA::dk_Value: - repo_id += "CORBA/ExtValueDef:"; - break; - case CORBA::dk_ValueBox: - repo_id += "CORBA/ValueBoxDef:"; - break; - case CORBA::dk_ValueMember: - repo_id += "CORBA/ValueMemberDef:"; - break; - case CORBA::dk_Native: - repo_id += "CORBA/NativeDef:"; - break; - case CORBA::dk_Component: - repo_id += "CORBA/ComponentIR/ComponentDef:"; - break; - case CORBA::dk_Home: - repo_id += "CORBA/ComponentIR/HomeDef:"; - break; - case CORBA::dk_Factory: - repo_id += "CORBA/ComponentIR/FactoryDef:"; - break; - case CORBA::dk_Finder: - repo_id += "CORBA/ComponentIR/FinderDef:"; - break; - case CORBA::dk_Event: - repo_id += "CORBA/ComponentIR/EventDef:"; - break; - case CORBA::dk_Emits: - repo_id += "CORBA/ComponentIR/EmitsDef:"; - break; - case CORBA::dk_Publishes: - repo_id += "CORBA/ComponentIR/PublishesDef:"; - break; - case CORBA::dk_Consumes: - repo_id += "CORBA/ComponentIR/ConsumesDef:"; - break; - case CORBA::dk_Provides: - repo_id += "CORBA/ComponentIR/ProvidesDef:"; - break; - case CORBA::dk_Uses: - repo_id += "CORBA/ComponentIR/UsesDef:"; - break; - default: - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CORBA::Object::_nil ()); - } - - repo_id += "1.0"; - - PortableServer::ObjectId_var oid = - PortableServer::string_to_ObjectId (obj_id); - - PortableServer::POA_ptr poa = repo->select_poa (def_kind); - - return poa->create_reference_with_id (oid.in (), - repo_id.c_str () - ACE_ENV_ARG_PARAMETER); -} - -char * -TAO_IFR_Service_Utils::oid_to_string (PortableServer::ObjectId &oid) -{ - static char oid_string[2 * 1024]; - CORBA::ULong length = oid.length (); - - // Copy the data. - ACE_OS::memcpy (oid_string, - oid.get_buffer (), - length); - - // Null terminate the string. - oid_string[length] = '\0'; - return oid_string; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h deleted file mode 100644 index 2b91098a1ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h +++ /dev/null @@ -1,258 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// IFR_Service_Utils.h -// -// = DESCRIPTION -// Implement wrappers useful to IFR Service clients and servers. -// -// = AUTHORS -// Jeff Parsons -// Jaiganesh Balasubramanian -// Priyanka Gontla -// -// ============================================================================ - -#ifndef TAO_IFR_SERVICE_UTILS_H -#define TAO_IFR_SERVICE_UTILS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/IFRService/ifr_service_export.h" -#include "tao/IFR_Client/IFR_BasicC.h" -#include "tao/PortableServer/PortableServer.h" -#include "tao/ORB.h" - -#include "ace/Configuration.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Configuration; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IOR_Multicast; -class TAO_Repository_i; -class TAO_IDLType_i; -class TAO_Container_i; -class TAO_Contained_i; - -class TAO_IFRService_Export TAO_IFR_Server -{ -public: - TAO_IFR_Server (void); - - int init_with_orb (int argc, - ACE_TCHAR *argv [], - CORBA::ORB_ptr orb, - int use_multicast_server = 0); - /// Initialize the IFR Service with the command line arguments and - /// the ORB. - - int fini (void); - /// Destroy the child POA created in . - - ~TAO_IFR_Server (void); - /// Destructor. - -protected: - - /// Two persistent POAs, one using a servant locator. - int create_poa (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Open an ACE_Configuration of the appropriate type. - int open_config (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Create and initialize the repository. - int create_repository (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Enable the Interface Repository to answer multicast requests - /// for its IOR. - int init_multicast_server (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - - /// Reference to our ORB. - CORBA::ORB_var orb_; - - /// Root POA reference. - PortableServer::POA_ptr root_poa_; - - /// The Repository's POA reference. - PortableServer::POA_ptr repo_poa_; - - /// Event handler that responds to multicast requests. - TAO_IOR_Multicast *ior_multicast_; - - /// Database for the IFR. - ACE_Configuration *config_; - - /// Interface Repository's IOR. - CORBA::String_var ifr_ior_; -}; - -class TAO_IFR_Service_Utils -{ -public: - TAO_IFR_Service_Utils (void); - - ~TAO_IFR_Service_Utils (void); - - typedef int (*name_clash_checker)(const char *); - - /// Convert the hex form of an 4-byte unsigned int to a string. - static char *int_to_string (CORBA::ULong number); - - /// The error-checking methods below all return void because - /// they throw a spec-defined exception for every error case - /// (specifically one of the BAD_PARAM minor versions). - - /// Checks for illegal member type in given container type. - static void valid_container (CORBA::DefinitionKind container_kind, - CORBA::DefinitionKind contained_kind - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Wrapper for id_exists() and name_exists(). - static void pre_exist (const char *id, - name_clash_checker checker, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo, - CORBA::DefinitionKind kind - ACE_ENV_ARG_DECL); - - /// Checks for a global repository id clash. - static void id_exists (const char *id, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Checks for a local name clash. - static void name_exists (name_clash_checker checker, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo, - CORBA::DefinitionKind kind - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Used by interfaces and components to check for name clashes - /// in the attributes, operations, or component ports subsections. - static void check_subsection (name_clash_checker checker, - const char *sub_section, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Top-level method which calls all the above error-checking methods. - static void valid_creation (CORBA::DefinitionKind container_kind, - CORBA::DefinitionKind contained_kind, - const char *id, - name_clash_checker checker, - ACE_Configuration_Section_Key &key, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL); - - /// Code common to the creation of an entry for any non-anonymous type. - static ACE_TString create_common ( - CORBA::DefinitionKind container_kind, - CORBA::DefinitionKind contained_kind, - ACE_Configuration_Section_Key container_key, - ACE_Configuration_Section_Key &new_key, - TAO_Repository_i *repo, - const char *id, - const char *name, - name_clash_checker checker, - const char *version, - const char *sub_section_name - ACE_ENV_ARG_DECL - ); - - /// Common to Container::create_value() and ValueDef::supported_interfaces(), - /// Container::create_component() and Component::supported_interfaces(). - static void set_supported_interfaces ( - const CORBA::InterfaceDefSeq &supported_interfaces, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key - ); - - /// Common code for operations, attributes, and valuetype initializers. - static void set_exceptions (ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - const char *sub_section, - const CORBA::ExceptionDefSeq &exceptions); - - /// Implemented here to avoid recursion in the servant classes. - static CORBA::TypeCode_ptr gen_valuetype_tc_r ( - ACE_Configuration_Section_Key &, - TAO_Repository_i * - ACE_ENV_ARG_DECL - ); - - /// Called from the above function. - static void fill_valuemember_seq (CORBA::ValueMemberSeq &, - ACE_Configuration_Section_Key &, - TAO_Repository_i * - ACE_ENV_ARG_DECL); - - /// Converison from IR Object reference to key location path. - static char *reference_to_path (CORBA::IRObject_ptr obj); - - /// Conversion from key location path to CORBA::DefinitionKind. - static CORBA::DefinitionKind path_to_def_kind (ACE_TString &path, - TAO_Repository_i *repo); - - /// Conversion from IR Object reference to CORBA::DefinitionKind. - static CORBA::DefinitionKind reference_to_def_kind ( - CORBA::IRObject_ptr obj, - TAO_Repository_i *repo - ); - - /// Converion from key location path to IDLType. - static TAO_IDLType_i *path_to_idltype (ACE_TString &path, - TAO_Repository_i *repo); - - /// Converion from key location path to IDLType. - static TAO_Contained_i *path_to_contained (ACE_TString &path, - TAO_Repository_i *repo); - - /// Converion from key location path to IDLType. - static TAO_Container_i *path_to_container (ACE_TString &path, - TAO_Repository_i *repo); - - /// Conversion from key location path to IR Object reference. - static CORBA::Object_ptr path_to_ir_object (ACE_TString &path, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL); - - /// Can be called from the above method or directly from a derived class. - static CORBA::Object_ptr create_objref (CORBA::DefinitionKind def_kind, - const char *obj_id, - TAO_Repository_i *repo - ACE_ENV_ARG_DECL); - - /// Copy and octet sequence to a string.. - static char *oid_to_string (PortableServer::ObjectId &oid); - -public: - /// To hold a key created by one method for another method to use. - /// Calls to this class will be made after an IFR lock (if any) - /// has been acquired, so thread safety is not an issue with this - /// static variable. - static ACE_Configuration_Section_Key tmp_key_; - - /// Needed by TAO_InterfaceDef_i::name_clash, probably can be used - /// all over the place now that it's here. - static TAO_Repository_i *repo_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_IFR_SERVICE_UTILS_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp deleted file mode 100644 index 848677edd13..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp +++ /dev/null @@ -1,389 +0,0 @@ -// $Id$ - -#ifndef TAO_IFR_SERVICE_UTILS_T_CPP -#define TAO_IFR_SERVICE_UTILS_T_CPP - -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/Repository_i.h" - -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -void -TAO_IFR_Generic_Utils::destroy_special (const char *section_name, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL) -{ - ACE_Configuration_Section_Key sub_key; - int status = - repo->config ()->open_section (key, - section_name, - 0, - sub_key); - - if (status != 0) - { - /// Nothing to destroy. - return; - } - - CORBA::ULong count = 0; - repo->config ()->get_integer_value (sub_key, - "count", - count); - - char *stringified = 0; - ACE_Configuration_Section_Key special_key; - ACE_TString holder; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - repo->config ()->open_section (sub_key, - stringified, - 0, - special_key); - T impl (repo); - impl.section_key (special_key); - impl.destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -template -void -TAO_IFR_Generic_Utils::set_initializers ( - const T &initializers, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key - ) -{ - CORBA::ULong length = initializers.length (); - - if (length == 0) - { - return; - } - - ACE_Configuration_Section_Key initializers_key; - config->open_section (key, - "initializers", - 1, - initializers_key); - config->set_integer_value (initializers_key, - "count", - length); - - CORBA::ULong arg_count = 0; - char *arg_path = 0; - ACE_Configuration_Section_Key initializer_key; - ACE_Configuration_Section_Key params_key; - ACE_Configuration_Section_Key arg_key; - - for (CORBA::ULong i = 0; i < length; ++i) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - config->open_section (initializers_key, - stringified, - 1, - initializer_key); - config->set_string_value (initializer_key, - "name", - initializers[i].name.in ()); - - arg_count = initializers[i].members.length (); - - if (arg_count > 0) - { - config->open_section (initializer_key, - "params", - 1, - params_key); - config->set_integer_value (params_key, - "count", - arg_count); - - for (CORBA::ULong j = 0; j < arg_count; ++j) - { - char *stringified = - TAO_IFR_Service_Utils::int_to_string (j); - config->open_section (params_key, - stringified, - 1, - arg_key); - config->set_string_value ( - arg_key, - "arg_name", - initializers[i].members[j].name.in () - ); - arg_path = - TAO_IFR_Service_Utils::reference_to_path ( - initializers[i].members[j].type_def.in () - ); - config->set_string_value (arg_key, - "arg_path", - arg_path); - } - } - } -} - -template -void -TAO_IFR_Desc_Utils::fill_desc_begin ( - T_desc &desc, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL - ) -{ - T_impl impl (repo); - impl.section_key (key); - - desc.name = impl.name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.id = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString holder; - repo->config ()->get_string_value (key, - "container_id", - holder); - desc.defined_in = holder.fast_rep (); - - desc.version = impl.version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -template -void -TAO_IFR_Strseq_Utils ::fill_string_seq ( - const char *section_name, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - T_strseq &seq - ) -{ - ACE_Configuration_Section_Key section_key; - int status = config->open_section (key, - section_name, - 0, - section_key); - - if (status != 0) - { - seq.length (0); - return; - } - - CORBA::ULong count = 0; - config->get_integer_value (section_key, - "count", - count); - seq.length (count); - char *stringified = 0; - ACE_TString holder; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - config->get_string_value (section_key, - stringified, - holder); - seq[i] = holder.fast_rep (); - } -} - -template -void -TAO_Port_Desc_Seq_Utils::port_descriptions ( - T_desc_seq &desc_seq, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - const char *sub_section - ) -{ - ACE_Configuration_Section_Key sub_key; - int status = config->open_section (key, - sub_section, - 0, - sub_key); - - if (status != 0) - { - desc_seq.length (0); - return; - } - - CORBA::ULong count = 0; - config->get_integer_value (sub_key, - "count", - count); - desc_seq.length (count); - ACE_Configuration_Section_Key desc_key; - char *stringified = 0; - ACE_TString holder; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - config->open_section (sub_key, - stringified, - 0, - desc_key); - - config->get_string_value (desc_key, - "name", - holder); - desc_seq[i].name = holder.c_str (); - - config->get_string_value (desc_key, - "id", - holder); - desc_seq[i].id = holder.c_str (); - - /// Seems to me that this field should refer to the component - /// where the port is defined - NOT where the base type is defined. - config->get_string_value (key, - "id", - holder); - desc_seq[i].defined_in = holder.c_str (); - - config->get_string_value (desc_key, - "version", - holder); - desc_seq[i].version = holder.c_str (); - - config->get_string_value (desc_key, - "base_type", - holder); - TAO_Port_Desc_Seq_Utils::port_base_type (desc_seq, - holder, - i); - - TAO_Port_Desc_Seq_Utils::get_is_multiple (desc_seq, - config, - desc_key, - i); - } -} - -template -void -TAO_Port_Desc_Seq_Utils::get_is_multiple ( - T_desc_seq & /* desc_seq */, - ACE_Configuration * /* config */, - ACE_Configuration_Section_Key & /* key */, - CORBA::ULong /* index */ - ) -{ - // All types except UsesDescription have no is_multiple member. -} - -template -void -TAO_Port_Desc_Seq_Utils::port_base_type (T_desc_seq &desc_seq, - ACE_TString &holder, - CORBA::ULong index) -{ - desc_seq[index].interface_type = holder.fast_rep (); -} - -template -T * -TAO_Port_Utils::create_entry (const char *id, - const char *name, - const char *version, - const char *sub_section, - CORBA::Container_ptr port_base_type, - CORBA::Boolean is_multiple, - TAO_Repository_i *repo, - CORBA::DefinitionKind port_kind, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL) -{ - TAO_Container_i::tmp_name_holder (name); - ACE_Configuration_Section_Key new_key; - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Component, - port_kind, - key, - new_key, - repo, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - sub_section - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (T::_nil ()); - - const char *tmp = - TAO_IFR_Service_Utils::reference_to_path (port_base_type); - - ACE_Configuration_Section_Key base_type_key; - repo->config ()->expand_path (repo->root_key (), - tmp, - base_type_key, - 0); - - ACE_TString holder; - repo->config ()->get_string_value (base_type_key, - "id", - holder); - - repo->config ()->set_string_value ( - new_key, - "base_type", - holder - ); - - TAO_Port_Utils::set_is_multiple (is_multiple, - repo->config (), - new_key); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (path, - repo - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (T::_nil ()); - - return T::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) -// Borland gives warnings about argument not used on the construct as used -// for the other compilers. This has been reported to Borland, adding -// a workaround to suppress these warnings so that the real important ones -// are not missed. -template -void -TAO_Port_Utils::set_is_multiple (CORBA::Boolean is_multiple, - ACE_Configuration * config, - ACE_Configuration_Section_Key &key) -{ - ACE_UNUSED_ARG (is_multiple); - ACE_UNUSED_ARG (config); - ACE_UNUSED_ARG (key); - // Do nothing for everything except UsesDef. -} -#else -template -void -TAO_Port_Utils::set_is_multiple (CORBA::Boolean /* is_multiple */, - ACE_Configuration * /* config */, - ACE_Configuration_Section_Key & /* key */) -{ - // Do nothing for everything except UsesDef. -} -#endif - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_IFR_SERVICE_UTILS_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h deleted file mode 100644 index 056582e494a..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h +++ /dev/null @@ -1,125 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IFR_Service_Utils_T.h - * - * $Id$ - * - * Template methods useful to IFR Service. - * - * @author Jeff Parsons - */ -//============================================================================= - - -#ifndef TAO_IFR_SERVICE_UTILS_T_H -#define TAO_IFR_SERVICE_UTILS_T_H - -#include /**/ "ace/pre.h" - -#include "ace/Configuration.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/IFR_Client/IFR_ComponentsC.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Repository_i; - -template -class TAO_IFR_Generic_Utils -{ -public: - static void destroy_special (const char *section_name, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL); - - static void set_initializers (const T &initializers, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key); - /// Common to Container::create_value(), create_ext_value - /// and ValueDef::initializers(). -}; - -template -class TAO_IFR_Desc_Utils -{ -public: - static void fill_desc_begin (T_desc &desc, - TAO_Repository_i *repo, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL); -}; - -template -class TAO_IFR_Strseq_Utils -{ -public: - static void fill_string_seq (const char *section_name, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - T_strseq &seq); -}; - -template -class TAO_Port_Desc_Seq_Utils -{ -public: - static void port_descriptions (T_desc_seq &desc_seq, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - const char *sub_section); - - static void get_is_multiple (T_desc_seq &desc_seq, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key, - CORBA::ULong index); - - static void port_base_type (T_desc_seq &desc_seq, - ACE_TString &holder, - CORBA::ULong index); -}; - -template -class TAO_Port_Utils -{ -public: - static T *create_entry (const char *id, - const char *name, - const char *version, - const char *sub_section, - CORBA::Container_ptr port_base_type, - CORBA::Boolean is_multiple, - TAO_Repository_i *repo, - CORBA::DefinitionKind port_kind, - ACE_Configuration_Section_Key &key - ACE_ENV_ARG_DECL); - - static void set_is_multiple (CORBA::Boolean is_multiple, - ACE_Configuration *config, - ACE_Configuration_Section_Key &key); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/IFRService/IFR_Service_Utils_T.cpp" -#endif /* defined REQUIRED SOURCE */ - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_IFR_SERVICE_UTILS_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_macro.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_macro.h deleted file mode 100644 index e48f4668015..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IFR_macro.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#ifndef TAO_IFR_MACROS_H -#define TAO_IFR_MACROS_H - -#include /**/ "ace/pre.h" -#include "ace/CORBA_macros.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/ORB_Constants.h" - -#define TAO_IFR_WRITE_GUARD \ - ACE_WRITE_GUARD_THROW_EX (ACE_Lock, \ - monitor, \ - this->repo_->lock (), \ - CORBA::INTERNAL ( \ - CORBA::SystemException::_tao_minor_code ( \ - TAO_GUARD_FAILURE, \ - 0), \ - CORBA::COMPLETED_NO)); \ - ACE_CHECK - -#define TAO_IFR_WRITE_GUARD_RETURN(RETURN) \ - ACE_WRITE_GUARD_THROW_EX (ACE_Lock, \ - monitor, \ - this->repo_->lock (), \ - CORBA::INTERNAL ( \ - CORBA::SystemException::_tao_minor_code ( \ - TAO_GUARD_FAILURE, \ - 0), \ - CORBA::COMPLETED_NO)); \ - ACE_CHECK_RETURN (RETURN) - -#define TAO_IFR_READ_GUARD_RETURN(RETURN) \ - ACE_READ_GUARD_THROW_EX (ACE_Lock, \ - monitor, \ - this->repo_->lock (), \ - CORBA::INTERNAL ( \ - CORBA::SystemException::_tao_minor_code ( \ - TAO_GUARD_FAILURE, \ - 0), \ - CORBA::COMPLETED_NO)); \ - ACE_CHECK_RETURN (RETURN) - -#include /**/ "ace/post.h" - -#endif /* TAO_IFR_MACROS_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.cpp deleted file mode 100644 index 9846d186808..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/IRObject_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "tao/PortableServer/Root_POA.h" -#include "tao/PortableServer/POA_Current_Impl.h" -#include "tao/TSS_Resources.h" - - -ACE_RCSID (IFR_Service, - IRObject_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_IRObject_i::TAO_IRObject_i (TAO_Repository_i *repo) - : repo_ (repo) -{ -} - -TAO_IRObject_i::~TAO_IRObject_i (void) -{ -} - -CORBA::DefinitionKind -TAO_IRObject_i::def_kind ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Will always be overridden by concrete classes. - return CORBA::dk_none; -} - -void -TAO_IRObject_i::section_key (ACE_Configuration_Section_Key &key) -{ - this->section_key_ = key; -} - -void -TAO_IRObject_i::update_key (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::Portable_Server::POA_Current_Impl *pc_impl = - static_cast - (TAO_TSS_Resources::instance ()->poa_current_impl_); - - PortableServer::ObjectId object_id; - int status = TAO_Root_POA::parse_ir_object_key (pc_impl->object_key (), - object_id); - if (status != 0) - { - ACE_DEBUG ((LM_DEBUG, - "update_key - parse_ir_object_key failed\n")); - return; - } - - char *oid_string = TAO_IFR_Service_Utils::oid_to_string (object_id); - - if (oid_string[0U] == '\0') - { - this->section_key_ = this->repo_->root_key (); - return; - } - - ACE_TString path (oid_string, - 0, - 0); - - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - this->section_key_, - 0); - - if (status != 0) - { - // If we're here, destroy() has been called on us. - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.h b/TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.h deleted file mode 100644 index a6bbdc4adfa..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/IRObject_i.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// IRObject_i.h -// -// = DESCRIPTION -// IRObject servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_IROBJECT_I_H -#define TAO_IROBJECT_I_H - -#include "ace/Configuration.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IFRService/IFR_ExtendedS.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Repository_i; -class TAO_IDLType_i; -class TAO_Contained_i; -class TAO_Container_i; - -class TAO_IFRService_Export TAO_IRObject_i : public POA_CORBA::IRObject -{ - // = TITLE - // TAO_IRObject_i - // - // = DESCRIPTION - // Abstract base class for all IR object types. - // -public: - TAO_IRObject_i (TAO_Repository_i *repo); - // Constructor. - - virtual ~TAO_IRObject_i (void); - // Destructor. - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - // Pure virtual. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - // Pure virtual - the unlocked version called by the destroy() wrapper. - - void section_key (ACE_Configuration_Section_Key &key); - // Plug in the section key. - -protected: - void update_key (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Set our key from the object ID via POACurrent. - -protected: - TAO_Repository_i *repo_; - // Pointer to the repository we were constructed from. - - ACE_Configuration_Section_Key section_key_; - // Our ACE_Configuration section key. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_IROBJECT_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp deleted file mode 100644 index 943a6082e1f..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp +++ /dev/null @@ -1,343 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/InterfaceAttrExtension_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/OperationDef_i.h" -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/ExtAttributeDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - InterfaceAttrExtension_i, - "$Id$") - -// ===================================================================== - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_InterfaceAttrExtension_i::TAO_InterfaceAttrExtension_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo) -{ -} - -TAO_InterfaceAttrExtension_i::~TAO_InterfaceAttrExtension_i (void) -{ -} - - -CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * -TAO_InterfaceAttrExtension_i::describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_ext_interface_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * -TAO_InterfaceAttrExtension_i::describe_ext_interface_i ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription *fifd = 0; - ACE_NEW_RETURN (fifd, - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription, - 0); - - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription_var retval = - fifd; - - ACE_TString holder; - - this->repo_->config ()->get_string_value (this->section_key_, - "name", - holder); - fifd->name = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - fifd->id = holder.fast_rep (); - - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - - fifd->defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "version", - holder); - fifd->version = holder.fast_rep (); - - CORBA::ULong i = 0; - CORBA::ULong j = 0; - ACE_Unbounded_Queue key_queue; - - // Store our section key for later restoration after we have - // traversed entries for inherited interfaces. - ACE_Configuration_Section_Key key_holder = this->section_key_; - - // Operations - TAO_InterfaceDef_i iface (this->repo_); - iface.section_key (this->section_key_); - iface.inherited_operations (key_queue); - - // Restore our original section key. - // I am not sure this is needed but it will not hurt. - this->section_key (key_holder); - - ACE_Configuration_Section_Key ops_key, op_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - ops_key); - - CORBA::ULong count = 0; - - if (status == 0) - { - this->repo_->config ()->get_integer_value (ops_key, - "count", - count); - - for (j = 0; j < count; ++j) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (j); - status = - this->repo_->config ()->open_section (ops_key, - stringified, - 0, - op_key); - - if (status == 0) - { - key_queue.enqueue_tail (op_key); - } - } - } - - CORBA::ULong size = static_cast (key_queue.size ()); - fifd->operations.length (size); - - for (i = 0; i < size; ++i) - { - ACE_Configuration_Section_Key key; - key_queue.dequeue_head (key); - - TAO_OperationDef_i op (this->repo_); - op.section_key (key); - - op.make_description (fifd->operations[i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - // Restore our original section key. - // It may have been overwritten by a superclass key as part of the - // make_description() call. - this->section_key (key_holder); - - // Attributes. - iface.inherited_attributes (key_queue); - - // Restore our original section key. - // I am not sure this is needed but it will not hurt. - this->section_key (key_holder); - - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - - count = 0; - - if (status == 0) - { - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - - for (j = 0; j < count; ++j) - { - ACE_Configuration_Section_Key attr_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (j); - status = - this->repo_->config ()->open_section (attrs_key, - stringified, - 0, - attr_key); - - if (status == 0) - { - key_queue.enqueue_tail (attr_key); - } - } - } - - size = static_cast (key_queue.size ()); - fifd->attributes.length (size); - - for (i = 0; i < size; ++i) - { - ACE_Configuration_Section_Key key; - key_queue.dequeue_head (key); - - TAO_ExtAttributeDef_i attr (this->repo_); - attr.section_key (key); - - attr.fill_description (fifd->attributes[i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - // Restore our original section key. - // It may have been overwritten by a superclass key as part of the - // fill_description() call. - this->section_key (key_holder); - - CORBA::InterfaceDefSeq_var bases = - iface.base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong length = bases->length (); - CORBA::RepositoryIdSeq repo_ids (length); - repo_ids.length (length); - - PortableServer::ObjectId_var oid; - char *base_path = 0; - ACE_Configuration_Section_Key base_key; - - for (i = 0; i < length; ++i) - { - base_path = TAO_IFR_Service_Utils::reference_to_path (bases[i]); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - base_path, - base_key, - 0); - this->repo_->config ()->get_string_value (base_key, - "id", - holder); - repo_ids[i] = holder.fast_rep (); - } - - fifd->base_interfaces = repo_ids; - - fifd->type = iface.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return retval._retn (); -} - -CORBA::ExtAttributeDef_ptr -TAO_InterfaceAttrExtension_i::create_ext_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ExtAttributeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - return this->create_ext_attribute_i (id, - name, - version, - type, - mode, - get_exceptions, - set_exceptions - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ExtAttributeDef_ptr -TAO_InterfaceAttrExtension_i::create_ext_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder (name); - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Interface, - CORBA::dk_Attribute, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "attrs" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - // Store the path to the attribute's type definition. - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type); - - this->repo_->config ()->set_string_value (new_key, - "type_path", - type_path); - - // Store the attribute's mode. - this->repo_->config ()->set_integer_value (new_key, - "mode", - mode); - - TAO_IFR_Service_Utils::set_exceptions (this->repo_->config (), - new_key, - "get_excepts", - get_exceptions); - - TAO_IFR_Service_Utils::set_exceptions (this->repo_->config (), - new_key, - "put_excepts", - set_exceptions); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Attribute, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - CORBA::ExtAttributeDef_var retval = - CORBA::ExtAttributeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ExtAttributeDef::_nil ()); - - return retval._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.h b/TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.h deleted file mode 100644 index f330fe3dec6..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.h +++ /dev/null @@ -1,97 +0,0 @@ -// -*- C++ -*- -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// InterfaceAttrExtension_i.h -// -// = DESCRIPTION -// InterfaceAttrExtension_i servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_INTERFACEATTREXTENSION_I_H -#define TAO_INTERFACEATTREXTENSION_I_H - -#include "orbsvcs/IFRService/IRObject_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_InterfaceAttrExtension_i - : public virtual TAO_IRObject_i -{ - // = TITLE - // TAO_InterfaceAttrExtension_i - // - // = DESCRIPTION - // IDL3 attribute extension mixin class. - // -public: - TAO_InterfaceAttrExtension_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_InterfaceAttrExtension_i (void); - // Destructor - - virtual - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * - describe_ext_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceAttrExtension::ExtFullInterfaceDescription * - describe_ext_interface_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExtAttributeDef_ptr create_ext_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExtAttributeDef_ptr create_ext_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode, - const CORBA::ExceptionDefSeq &get_exceptions, - const CORBA::ExceptionDefSeq &set_exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_INTERFACEATTREXTENSION_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp deleted file mode 100644 index 9fd69d6cb63..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp +++ /dev/null @@ -1,1285 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/OperationDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - InterfaceDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_InterfaceDef_i::TAO_InterfaceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_InterfaceDef_i::~TAO_InterfaceDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_InterfaceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Interface; -} - -void -TAO_InterfaceDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_InterfaceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our members. - this->TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // These will get rid of the repo ids, which Contained_i::destroy()'s - // call to remove_section (recursive = 1) will not get, and also - // destroy the attribute's anonymous type, if any. - - TAO_IFR_Generic_Utils::destroy_special ( - "attrs", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "ops", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - // Destroy ourself. - this->TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::Contained::Description * -TAO_InterfaceDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_InterfaceDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::InterfaceDescription ifd; - ACE_TString holder; - - this->repo_->config ()->get_string_value (this->section_key_, - "name", - holder); - ifd.name = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - ifd.id = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - ifd.defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "version", - holder); - ifd.version = holder.fast_rep (); - - CORBA::ULong i = 0; - CORBA::InterfaceDefSeq_var bases = - this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong length = bases->length (); - CORBA::RepositoryIdSeq repo_ids (length); - repo_ids.length (length); - - char *base_path = 0; - ACE_Configuration_Section_Key base_key; - - for (i = 0; i < length; ++i) - { - base_path = TAO_IFR_Service_Utils::reference_to_path (bases[i]); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - base_path, - base_key, - 0); - - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (base_key); - - repo_ids[i] = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - ifd.base_interfaces = repo_ids; - retval->value <<= ifd; - return retval._retn (); -} - -CORBA::TypeCode_ptr -TAO_InterfaceDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_InterfaceDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - return this->repo_->tc_factory ()->create_interface_tc ( - id.c_str (), - name.c_str () - ACE_ENV_ARG_PARAMETER - ); -} - -CORBA::InterfaceDefSeq * -TAO_InterfaceDef_i::base_interfaces (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDefSeq * -TAO_InterfaceDef_i::base_interfaces_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - - this->base_interfaces_recursive (kind_queue, - path_queue); - - CORBA::ULong size = static_cast (kind_queue.size ()); - - CORBA::InterfaceDefSeq *seq = 0; - ACE_NEW_THROW_EX (seq, - CORBA::InterfaceDefSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - seq->length (size); - CORBA::InterfaceDefSeq_var retval = seq; - - for (CORBA::ULong i = 0; i < size; ++i) - { - CORBA::DefinitionKind def_kind; - kind_queue.dequeue_head (def_kind); - - ACE_TString path; - path_queue.dequeue_head (path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::InterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_InterfaceDef_i::base_interfaces (const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->base_interfaces_i (base_interfaces - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_InterfaceDef_i::base_interfaces_i (const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // If we are an abstract interface, all our base interfaces must be - // abstract as well. - CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (def_kind == CORBA::dk_AbstractInterface) - { - CORBA::ULong length = base_interfaces.length (); - - for (CORBA::ULong i = 0; i < length; ++i) - { - def_kind = base_interfaces[i]->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (def_kind != CORBA::dk_AbstractInterface) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 11, - CORBA::COMPLETED_NO)); - } - } - } - - // Remove the old base interfaces. - this->repo_->config ()->remove_section (this->section_key_, - "inherited", - 0); - - CORBA::ULong length = base_interfaces.length (); - ACE_Configuration_Section_Key inherited_key; - this->repo_->config ()->open_section (this->section_key_, - "inherited", - 1, - inherited_key); - - CORBA::String_var name; - char *inherited_path = 0; - PortableServer::ObjectId_var oid; - ACE_Configuration_Section_Key base_key; - - for (CORBA::ULong i = 0; i < length; ++i) - { - inherited_path = - TAO_IFR_Service_Utils::reference_to_path (base_interfaces[i]); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - inherited_path, - base_key, - 0); - - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (base_key); - - name = impl.name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // None of these names can clash with any we may already have. - TAO_Container_i::tmp_name_holder_ = name.in (); - TAO_IFR_Service_Utils::name_exists (&TAO_Container_i::same_as_tmp_name, - this->section_key_, - this->repo_, - this->def_kind () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (inherited_key, - stringified, - inherited_path); - } -} - -CORBA::Boolean -TAO_InterfaceDef_i::is_a (const char *interface_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_a_i (interface_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_InterfaceDef_i::is_a_i (const char *interface_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (ACE_OS::strcmp (interface_id, "IDL:omg.org/CORBA/Object:1.0") == 0) - { - return 1; - } - - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - // Is it our type? - if (ACE_OS::strcmp (id.fast_rep (), interface_id) == 0) - { - return 1; - } - - // Is it one of our ancestors' types? - CORBA::InterfaceDefSeq_var bases = - this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong length = bases->length (); - - PortableServer::ObjectId_var oid; - char *base_path = 0; - ACE_Configuration_Section_Key base_key; - - for (CORBA::ULong i = 0; i < length; ++i) - { - base_path = TAO_IFR_Service_Utils::reference_to_path (bases[i]); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - base_path, - base_key, - 0); - - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (base_key); - - CORBA::Boolean success = impl.is_a_i (interface_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (success == 1) - { - return 1; - } - } - - return 0; -} - -CORBA::InterfaceDef::FullInterfaceDescription * -TAO_InterfaceDef_i::describe_interface (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_interface_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDef::FullInterfaceDescription * -TAO_InterfaceDef_i::describe_interface_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::InterfaceDef::FullInterfaceDescription *fifd = 0; - ACE_NEW_RETURN (fifd, - CORBA::InterfaceDef::FullInterfaceDescription, - 0); - - CORBA::InterfaceDef::FullInterfaceDescription_var retval = fifd; - - ACE_TString holder; - - this->repo_->config ()->get_string_value (this->section_key_, - "name", - holder); - fifd->name = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - fifd->id = holder.fast_rep (); - - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - - fifd->defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "version", - holder); - fifd->version = holder.fast_rep (); - - CORBA::ULong i = 0; - CORBA::ULong j = 0; - ACE_Unbounded_Queue key_queue; - - // Store our section key for later restoration after we have - // traversed entries for inherited interfaces. - ACE_Configuration_Section_Key key_holder = this->section_key_; - - // Operations - this->inherited_operations (key_queue); - - // Restore our original section key. - // I am not sure this is needed but it will not hurt. - this->section_key (key_holder); - - ACE_Configuration_Section_Key ops_key, op_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - ops_key); - - CORBA::ULong count = 0; - - if (status == 0) - { - this->repo_->config ()->get_integer_value (ops_key, - "count", - count); - - for (j = 0; j < count; ++j) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (j); - status = - this->repo_->config ()->open_section (ops_key, - stringified, - 0, - op_key); - - if (status == 0) - { - key_queue.enqueue_tail (op_key); - } - } - } - - CORBA::ULong size = static_cast (key_queue.size ()); - fifd->operations.length (size); - - for (i = 0; i < size; ++i) - { - ACE_Configuration_Section_Key key; - key_queue.dequeue_head (key); - - TAO_OperationDef_i op (this->repo_); - op.section_key (key); - - op.make_description (fifd->operations[i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - // Restore our original section key. - // It may have been overwritten by a superclass key as part of the - // make_description() call. - this->section_key (key_holder); - - // Attributes - this->inherited_attributes (key_queue); - - // Restore our original section key. - // I am not sure this is needed but it will not hurt. - this->section_key (key_holder); - - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - - count = 0; - - if (status == 0) - { - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - - for (j = 0; j < count; ++j) - { - ACE_Configuration_Section_Key attr_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (j); - status = - this->repo_->config ()->open_section (attrs_key, - stringified, - 0, - attr_key); - - if (status == 0) - { - key_queue.enqueue_tail (attr_key); - } - } - } - - size = static_cast (key_queue.size ()); - fifd->attributes.length (size); - - for (i = 0; i < size; ++i) - { - ACE_Configuration_Section_Key key; - key_queue.dequeue_head (key); - - TAO_AttributeDef_i attr (this->repo_); - attr.section_key (key); - - attr.make_description (fifd->attributes[i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - // Restore our original section key. - // It may have been overwritten by a superclass key as part of the - // make_description() call. - this->section_key (key_holder); - - CORBA::InterfaceDefSeq_var bases = - this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong length = bases->length (); - - CORBA::RepositoryIdSeq repo_ids (length); - - repo_ids.length (length); - - PortableServer::ObjectId_var oid; - char *base_path = 0; - ACE_Configuration_Section_Key base_key; - - for (i = 0; i < length; ++i) - { - base_path = TAO_IFR_Service_Utils::reference_to_path (bases[i]); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - base_path, - base_key, - 0); - - TAO_InterfaceDef_i impl (this->repo_); - impl.section_key (base_key); - - repo_ids[i] = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - fifd->base_interfaces = repo_ids; - - fifd->type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return retval._retn (); -} - -CORBA::AttributeDef_ptr -TAO_InterfaceDef_i::create_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::AttributeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - return this->create_attribute_i (id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER); -} - -CORBA::AttributeDef_ptr -TAO_InterfaceDef_i::create_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // This will throw an exception if a name clash is found. - // create_common() will check for all other errors. - this->check_inherited (name, - CORBA::dk_Attribute - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Interface, - CORBA::dk_Attribute, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "attrs" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - // Store the path to the attribute's type definition. - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type); - - this->repo_->config ()->set_string_value (new_key, - "type_path", - type_path); - - // Store the attribute's mode. - this->repo_->config ()->set_integer_value (new_key, - "mode", - mode); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Attribute, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - CORBA::AttributeDef_var retval = - CORBA::AttributeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - return retval._retn (); -} - -CORBA::OperationDef_ptr -TAO_InterfaceDef_i::create_operation (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::OperationDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - return this->create_operation_i (id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER); -} - -CORBA::OperationDef_ptr -TAO_InterfaceDef_i::create_operation_i (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // This will throw an exception if a name clash is found. - // create_common() will check for all other errors. - this->check_inherited (name, - CORBA::dk_Operation - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Interface, - CORBA::dk_Operation, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "ops" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - // Get the TypeCode for the return type. - ACE_TString result_path (TAO_IFR_Service_Utils::reference_to_path (result)); - TAO_IDLType_i *result_impl = - TAO_IFR_Service_Utils::path_to_idltype (result_path, - this->repo_); - - CORBA::TypeCode_var rettype = - result_impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - CORBA::TCKind kind = rettype->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - // Oneway operations cannot have a non-void return type. - if (mode == CORBA::OP_ONEWAY && kind != CORBA::tk_void) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - CORBA::OperationDef::_nil ()); - } - - this->repo_->config ()->set_string_value (new_key, - "result", - result_path); - - // Store the operation mode. - this->repo_->config ()->set_integer_value (new_key, - "mode", - mode); - - CORBA::ULong i = 0; - - // Store the operation's parameter info. - CORBA::ULong length = params.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key params_key; - this->repo_->config ()->open_section (new_key, - "params", - 1, - params_key); - - this->repo_->config ()->set_integer_value (params_key, - "count", - length); - char *type_path = 0; - - for (i = 0; i < length; ++i) - { - // Oneway operations cannot have INOUT or OUT parameters. - if (mode == CORBA::OP_ONEWAY && params[i].mode != CORBA::PARAM_IN) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (31, - CORBA::COMPLETED_NO), - CORBA::OperationDef::_nil ()); - } - - ACE_Configuration_Section_Key param_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (params_key, - stringified, - 1, - param_key); - - this->repo_->config ()->set_string_value (param_key, - "name", - params[i].name.in ()); - type_path = - TAO_IFR_Service_Utils::reference_to_path ( - params[i].type_def.in () - ); - - this->repo_->config ()->set_string_value (param_key, - "type_path", - type_path); - - this->repo_->config ()->set_integer_value (param_key, - "mode", - params[i].mode); - } - } - - // Store the operation's exception info. - length = exceptions.length (); - - if (length > 0) - { - // Oneway operations cannot throw any user exceptions. - if (mode == CORBA::OP_ONEWAY) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - CORBA::OperationDef::_nil ()); - } - - ACE_Configuration_Section_Key excepts_key; - this->repo_->config ()->open_section (new_key, - "excepts", - 1, - excepts_key); - char *type_path = 0; - - for (i = 0; i < length; ++i) - { - type_path = - TAO_IFR_Service_Utils::reference_to_path (exceptions[i]); - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (excepts_key, - stringified, - type_path); - } - } - - // Store the operation's context info. - length = contexts.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key contexts_key; - - this->repo_->config ()->open_section (new_key, - "contexts", - 1, - contexts_key); - - for (i = 0; i < length; ++i) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (contexts_key, - stringified, - contexts[i]); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Operation, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - CORBA::OperationDef_var retval = - CORBA::OperationDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - return retval._retn (); -} - -void -TAO_InterfaceDef_i::interface_contents ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString path; - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - id.c_str (), - path); - - ACE_TString section_name; - int index = 0; - int status = 0; - - // Attributes - if (limit_type == CORBA::dk_Attribute - || limit_type == CORBA::dk_all) - { - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - - // Only if we have any. - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (attrs_key, - index++, - section_name) - == 0) - { - kind_queue.enqueue_tail (CORBA::dk_Attribute); - - path_queue.enqueue_tail ( - path + "\\attrs\\" + section_name.c_str () - ); - } - } - } - - // Operations - if (limit_type == CORBA::dk_Operation - || limit_type == CORBA::dk_all) - { - index = 0; - - ACE_Configuration_Section_Key ops_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - ops_key); - - // Only if we have any. - if (status == 0) - { - while (this->repo_->config ()->enumerate_sections (ops_key, - index++, - section_name) - == 0) - { - kind_queue.enqueue_tail (CORBA::dk_Operation); - - path_queue.enqueue_tail ( - path + "\\ops\\" + section_name.c_str () - ); - } - } - } - - if (exclude_inherited == 0) - { - // Must recurse through the base interfaces. - ACE_Configuration_Section_Key inherited_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "inherited", - 0, - inherited_key); - - if (status == 0) - { - ACE_TString base_path; - ACE_Configuration_Section_Key base_key; - ACE_Configuration::VALUETYPE type; - index = 0; - - while (this->repo_->config ()->enumerate_values (inherited_key, - index++, - section_name, - type) - == 0) - { - this->repo_->config ()->get_string_value (inherited_key, - section_name.c_str (), - base_path); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - base_path, - base_key, - 0); - - TAO_InterfaceDef_i base_iface (this->repo_); - base_iface.section_key (base_key); - - base_iface.interface_contents (kind_queue, - path_queue, - limit_type, - exclude_inherited - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - } -} - -int -TAO_InterfaceDef_i::name_clash (const char *name) -{ - ACE_TRY_NEW_ENV - { - TAO_Container_i::tmp_name_holder_ = name; - TAO_IFR_Service_Utils::name_exists (&TAO_Container_i::same_as_tmp_name, - TAO_IFR_Service_Utils::tmp_key_, - TAO_IFR_Service_Utils::repo_, - CORBA::dk_Interface - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - return 1; - } - ACE_ENDTRY; - - return 0; -} - -void -TAO_InterfaceDef_i::base_interfaces_recursive ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue - ) -{ - ACE_Configuration_Section_Key inherited_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "inherited", - 0, - inherited_key); - - // No base interfaces. - if (status != 0) - { - return; - } - - int index = 0; - u_int kind = 0; - ACE_Configuration::VALUETYPE type; - ACE_TString section_name, inherited_path; - CORBA::DefinitionKind def_kind = CORBA::dk_none; - ACE_Configuration_Section_Key base_key; - - while (this->repo_->config ()->enumerate_values (inherited_key, - index++, - section_name, - type) - == 0) - { - this->repo_->config ()->get_string_value (inherited_key, - section_name.c_str (), - inherited_path); - - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - inherited_path, - base_key, - 0); - - if (status == 0) - { - TAO_InterfaceDef_i tmp (this->repo_); - tmp.section_key (base_key); - - tmp.base_interfaces_recursive (kind_queue, - path_queue); - - path_queue.enqueue_tail (inherited_path); - - this->repo_->config ()->get_integer_value (base_key, - "def_kind", - kind); - - def_kind = static_cast (kind); - - kind_queue.enqueue_tail (def_kind); - } - } -} - -void -TAO_InterfaceDef_i::inherited_attributes ( - ACE_Unbounded_Queue &key_queue - ) -{ - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - - this->base_interfaces_recursive (kind_queue, - path_queue); - - size_t size = path_queue.size (); - ACE_Configuration_Section_Key base_key, attrs_key, attr_key; - int status = 0; - ACE_TString path_name; - u_int count = 0; - - for (size_t i = 0; i < size; ++i) - { - path_queue.dequeue_head (path_name); - - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - path_name, - base_key, - 0); - - if (status == 0) - { - this->repo_->config ()->open_section (base_key, - "attrs", - 0, - attrs_key); - - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - - for (u_int j = 0; j < count; ++j) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (attrs_key, - stringified, - 0, - attr_key); - - key_queue.enqueue_tail (attr_key); - } - } - } -} - -void -TAO_InterfaceDef_i::inherited_operations ( - ACE_Unbounded_Queue &key_queue - ) -{ - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - - this->base_interfaces_recursive (kind_queue, - path_queue); - - size_t size = path_queue.size (); - ACE_Configuration_Section_Key base_key, ops_key, op_key; - int status = 0; - ACE_TString path_name; - u_int count = 0; - - for (size_t i = 0; i < size; ++i) - { - path_queue.dequeue_head (path_name); - - status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - path_name, - base_key, - 0); - - if (status == 0) - { - this->repo_->config ()->open_section (base_key, - "ops", - 0, - ops_key); - - this->repo_->config ()->get_integer_value (ops_key, - "count", - count); - - for (u_int j = 0; j < count; ++j) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (ops_key, - stringified, - 0, - op_key); - - key_queue.enqueue_tail (op_key); - } - } - } -} - -void -TAO_InterfaceDef_i::check_inherited (const char *name, - CORBA::DefinitionKind kind - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue key_queue; - - switch (kind) - { - case CORBA::dk_Attribute: - this->inherited_attributes (key_queue); - break; - case CORBA::dk_Operation: - this->inherited_operations (key_queue); - break; - default: - break; - } - - size_t size = key_queue.size (); - ACE_Configuration_Section_Key inherited_key; - ACE_TString inherited_name; - - for (u_int i = 0; i < size; ++i) - { - key_queue.dequeue_head (inherited_key); - - this->repo_->config ()->get_string_value (inherited_key, - "name", - inherited_name); - - if (inherited_name == name) - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 5, - CORBA::COMPLETED_NO)); - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.h deleted file mode 100644 index 4d010fa0d48..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/InterfaceDef_i.h +++ /dev/null @@ -1,236 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// InterfaceDef_i.h -// -// = DESCRIPTION -// InterfaceDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_INTERFACEDEF_I_H -#define TAO_INTERFACEDEF_I_H - -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_InterfaceDef_i - : public virtual TAO_Container_i, - public virtual TAO_Contained_i, - public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_InterfaceDef_i - // - // = DESCRIPTION - // Represents an interface definition. - // -public: - TAO_InterfaceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_InterfaceDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::InterfaceDefSeq *base_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDefSeq *base_interfaces_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void base_interfaces ( - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void base_interfaces_i ( - const CORBA::InterfaceDefSeq &base_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_a ( - const char *interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_a_i ( - const char *interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::InterfaceDef::FullInterfaceDescription *describe_interface ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDef::FullInterfaceDescription *describe_interface_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::AttributeDef_ptr create_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::AttributeDef_ptr create_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::OperationDef_ptr create_operation ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::OperationDef_ptr create_operation_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void interface_contents ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue, - CORBA::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Gathers the attributes and operations of all the ancestors. - - static int name_clash (const char *name); - // Called from TAO_IFR_Service_Utils::name_exists() when we - // are in a list of supported interfaces. - - void inherited_attributes ( - ACE_Unbounded_Queue &key_queue - ); - // Depth-first traversal of the inheritance tree to get all the - // attributes. - - void inherited_operations ( - ACE_Unbounded_Queue &key_queue - ); - // Depth-first traversal of the inheritance tree to get all the - // operations. - -private: - void base_interfaces_recursive ( - ACE_Unbounded_Queue &kind_queue, - ACE_Unbounded_Queue &path_queue - ); - // Depth-first traversal of the inheritance tree to get all - // the base interfaces. - - void check_inherited (const char *name, - CORBA::DefinitionKind kind - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - // When creating a new attribute, check for a clash with an inherited - // attribute name. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_INTERFACEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.cpp deleted file mode 100644 index dab11360086..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/LocalInterfaceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - LocalInterfaceDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LocalInterfaceDef_i::TAO_LocalInterfaceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_InterfaceDef_i (repo) -{ -} - -TAO_LocalInterfaceDef_i::~TAO_LocalInterfaceDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_LocalInterfaceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_LocalInterface; -} - -CORBA::Boolean -TAO_LocalInterfaceDef_i::is_a (const char *interface_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_a_i (interface_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_LocalInterfaceDef_i::is_a_i (const char *interface_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (ACE_OS::strcmp (interface_id, "IDL:omg.org/CORBA/LocalBase:1.0") == 0) - { - return 1; - } - - return this->TAO_InterfaceDef_i::is_a_i (interface_id - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.h deleted file mode 100644 index 92bfd1be945..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// LocalInterfaceDef_i.h -// -// = DESCRIPTION -// LocalInterfaceDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_LOCALINTERFACEDEF_I_H -#define TAO_LOCALINTERFACEDEF_I_H - -#include "orbsvcs/IFRService/InterfaceDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_LocalInterfaceDef_i : public virtual TAO_InterfaceDef_i -{ - // = TITLE - // TAO_LocalInterfaceDef_i - // - // = DESCRIPTION - // Represents an local interface definition. - // -public: - TAO_LocalInterfaceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_LocalInterfaceDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Boolean is_a ( - const char *interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_a_i ( - const char *interface_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_LOCALINTERFACEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.cpp deleted file mode 100644 index 731d9aaf511..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.cpp +++ /dev/null @@ -1,111 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ModuleDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ModuleDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ModuleDef_i::TAO_ModuleDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_Container_i (repo), - TAO_ComponentContainer_i (repo), - TAO_ComponentModuleDef_i (repo) -{ -} - -TAO_ModuleDef_i::~TAO_ModuleDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ModuleDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Module; -} - -void -TAO_ModuleDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ModuleDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our members. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Destroy ourself. - TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::Contained::Description * -TAO_ModuleDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ModuleDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ModuleDescription md; - - md.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - md.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TString container_id; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - md.defined_in = container_id.c_str (); - - md.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval->value <<= md; - - return retval._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.h deleted file mode 100644 index 8c178c7cf50..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ModuleDef_i.h +++ /dev/null @@ -1,94 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ModuleDef_i.h -// -// = DESCRIPTION -// ModuleDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_MODULEDEF_I_H -#define TAO_MODULEDEF_I_H - -//#include "Container_i.h" -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ComponentModuleDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ModuleDef_i - : public virtual TAO_Contained_i, - public virtual TAO_ComponentModuleDef_i -{ - // = TITLE - // TAO_ModuleDef_i - // - // = DESCRIPTION - // Represents a module definition. - // -public: - TAO_ModuleDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ModuleDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_MODULEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.cpp deleted file mode 100644 index e207ffe8823..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/NativeDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - NativeDef_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_NativeDef_i::TAO_NativeDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_TypedefDef_i (repo) -{ -} - -TAO_NativeDef_i::~TAO_NativeDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_NativeDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Native; -} - -CORBA::TypeCode_ptr -TAO_NativeDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_NativeDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - return this->repo_->tc_factory ()->create_native_tc (id.c_str (), - name.c_str () - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.h deleted file mode 100644 index d6960a185e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/NativeDef_i.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// NativeDef_i.h -// -// = DESCRIPTION -// NativeDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_NATIVEDEF_I_H -#define TAO_NATIVEDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_NativeDef_i : public virtual TAO_TypedefDef_i -{ -public: - // = TITLE - // TAO_NativeDef_i - // - // = DESCRIPTION - // Represents an OMG IDL native definition. - // -public: - TAO_NativeDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_NativeDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_NATIVEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp deleted file mode 100644 index ee94729fa59..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp +++ /dev/null @@ -1,750 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/OperationDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - OperationDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_OperationDef_i::TAO_OperationDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_OperationDef_i::~TAO_OperationDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_OperationDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Operation; -} - -CORBA::Contained::Description * -TAO_OperationDef_i::describe (ACE_ENV_SINGLE_ARG_DECL ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_OperationDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::OperationDescription od; - this->make_description (od - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval->value <<= od; - ACE_CHECK_RETURN (0); - - return retval._retn (); -} - -CORBA::TypeCode_ptr -TAO_OperationDef_i::result (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->result_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_OperationDef_i::result_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString result_path; - this->repo_->config ()->get_string_value (this->section_key_, - "result", - result_path); - - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (result_path, - this->repo_); - - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_OperationDef_i::result_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->result_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_OperationDef_i::result_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString result_path; - this->repo_->config ()->get_string_value (this->section_key_, - "result", - result_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (result_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_OperationDef_i::result_def (CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->result_def_i (result_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_OperationDef_i::result_def_i (CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *result_path = - TAO_IFR_Service_Utils::reference_to_path (result_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "result", - result_path); -} - -CORBA::ParDescriptionSeq * -TAO_OperationDef_i::params (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->params_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ParDescriptionSeq * -TAO_OperationDef_i::params_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong i = 0; - ACE_Configuration_Section_Key params_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "params", - 0, - params_key); - - ACE_Unbounded_Queue key_queue; - - // This section may not have been created. - if (status == 0) - { - u_int count = 0; - this->repo_->config ()->get_integer_value (params_key, - "count", - count); - - for (i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key param_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - status = - this->repo_->config ()->open_section (params_key, - stringified, - 0, - param_key); - - if (status == 0) - { - key_queue.enqueue_tail (param_key); - } - } - } - - CORBA::ULong size = static_cast (key_queue.size ()); - - CORBA::ParDescriptionSeq *pd_seq = 0; - ACE_NEW_THROW_EX (pd_seq, - CORBA::ParDescriptionSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - pd_seq->length (size); - - if (size == 0) - { - return pd_seq; - } - - CORBA::ParDescriptionSeq_var retval = pd_seq; - - for (i = 0; i < size; ++i) - { - ACE_Configuration_Section_Key key; - key_queue.dequeue_head (key); - - ACE_TString name; - this->repo_->config ()->get_string_value (key, - "name", - name); - - retval[i].name = name.c_str (); - - u_int mode = 0; - this->repo_->config ()->get_integer_value (key, - "mode", - mode); - - retval[i].mode = static_cast (mode); - - ACE_TString type_path; - this->repo_->config ()->get_string_value (key, - "type_path", - type_path); - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (type_path, - this->repo_); - - retval[i].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (type_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i].type_def = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_OperationDef_i::params (const CORBA::ParDescriptionSeq ¶ms - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->params_i (params - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_OperationDef_i::params_i (const CORBA::ParDescriptionSeq ¶ms - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "params", - 1); - - CORBA::ULong length = params.length (); - - if (length == 0) - { - return; - } - - ACE_Configuration_Section_Key params_key; - this->repo_->config ()->open_section (this->section_key_, - "params", - 1, - params_key); - - this->repo_->config ()->set_integer_value (params_key, - "count", - length); - char *type_path = 0; - - for (CORBA::ULong i = 0; i < length; ++i) - { - ACE_Configuration_Section_Key param_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (params_key, - stringified, - 1, - param_key); - - this->repo_->config ()->set_string_value (param_key, - "name", - params[i].name.in ()); - type_path = - TAO_IFR_Service_Utils::reference_to_path (params[i].type_def.in ()); - - this->repo_->config ()->set_string_value (param_key, - "type_path", - type_path); - - this->repo_->config ()->set_integer_value (param_key, - "mode", - params[i].mode); - } -} - -CORBA::OperationMode -TAO_OperationDef_i::mode (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::OP_NORMAL); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OP_NORMAL); - - return this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::OperationMode -TAO_OperationDef_i::mode_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int mode; - this->repo_->config ()->get_integer_value (this->section_key_, - "mode", - mode); - - return static_cast (mode); -} - -void -TAO_OperationDef_i::mode (CORBA::OperationMode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->mode_i (mode - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_OperationDef_i::mode_i (CORBA::OperationMode mode - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "mode", - mode); -} - -CORBA::ContextIdSeq * -TAO_OperationDef_i::contexts (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->contexts_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ContextIdSeq * -TAO_OperationDef_i::contexts_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration_Section_Key contexts_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "contexts", - 0, - contexts_key); - - ACE_Unbounded_Queue context_queue; - - // This section may not have been created. - if (status == 0) - { - int index = 0; - ACE_TString context; - - // Don't have to worry about gaps here - contexts are not - // IR objects so they can't be destroyed one at a time. To - // make a change one has to call the mutator version of this - // function and make a completely new list. - char *stringified = TAO_IFR_Service_Utils::int_to_string (index); - while (this->repo_->config ()->get_string_value (contexts_key, - stringified, - context) - == 0) - { - context_queue.enqueue_tail (context); - ++index; - stringified = - TAO_IFR_Service_Utils::int_to_string (index); - } - } - - CORBA::ULong size = static_cast (context_queue.size ()); - - CORBA::ContextIdSeq *ci_seq = 0; - ACE_NEW_THROW_EX (ci_seq, - CORBA::ContextIdSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - ci_seq->length (size); - - for (CORBA::ULong i = 0; i < size; ++i) - { - ACE_TString context_string; - context_queue.dequeue_head (context_string); - - (*ci_seq)[i] = context_string.c_str (); - } - - return ci_seq; -} - -void -TAO_OperationDef_i::contexts (const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->contexts_i (contexts - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_OperationDef_i::contexts_i (const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "contexts", - 0); - - CORBA::ULong length = contexts.length (); - - if (length == 0) - return; - - ACE_Configuration_Section_Key contexts_key; - this->repo_->config ()->open_section (this->section_key_, - "contexts", - 1, - contexts_key); - - for (CORBA::ULong i = 0; i < length; ++i) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (contexts_key, - stringified, - contexts[i]); - } -} - -CORBA::ExceptionDefSeq * -TAO_OperationDef_i::exceptions (ACE_ENV_SINGLE_ARG_DECL ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->exceptions_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ExceptionDefSeq * -TAO_OperationDef_i::exceptions_i (ACE_ENV_SINGLE_ARG_DECL ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration_Section_Key excepts_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "excepts", - 0, - excepts_key); - - int index = 0; - ACE_Unbounded_Queue path_queue; - - // This section may not have been created. - if (status == 0) - { - ACE_TString field_name, type_path; - ACE_Configuration::VALUETYPE type; - - while (this->repo_->config ()->enumerate_values (excepts_key, - index++, - field_name, - type) - == 0) - { - this->repo_->config ()->get_string_value (excepts_key, - field_name.c_str (), - type_path); - - path_queue.enqueue_tail (type_path); - } - } - - CORBA::ULong size = static_cast (path_queue.size ()); - - CORBA::ExceptionDefSeq *ed_seq = 0; - ACE_NEW_THROW_EX (ed_seq, - CORBA::ExceptionDefSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - ed_seq->length (size); - - if (index == 0) - { - return ed_seq; - } - - CORBA::ExceptionDefSeq_var retval = ed_seq; - - for (CORBA::ULong i = 0; i < size; ++i) - { - ACE_TString path; - path_queue.dequeue_head (path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Exception, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::ExceptionDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_OperationDef_i::exceptions (const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->exceptions_i (exceptions - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_OperationDef_i::exceptions_i (const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "excepts", - 0); - - TAO_IFR_Service_Utils::set_exceptions (this->repo_->config (), - this->section_key_, - "excepts", - exceptions); -} - -void -TAO_OperationDef_i::make_description ( - CORBA::OperationDescription &od - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - od.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - od.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString container_id; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - od.defined_in = container_id.c_str (); - - od.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - od.result = this->result_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - od.mode = this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ContextIdSeq_var cid_seq = - this->contexts_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - od.contexts = cid_seq.in (); - - CORBA::ParDescriptionSeq_var pd_seq = - this->params_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - od.parameters = pd_seq.in (); - - ACE_Configuration_Section_Key excepts_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "excepts", - 0, - excepts_key); - - // This section may not have been created. - if (status == 0) - { - int index = 0; - int status = 0; - ACE_TString field_name, type_path; - ACE_Configuration::VALUETYPE type; - ACE_Unbounded_Queue path_queue; - - while (this->repo_->config ()->enumerate_values (excepts_key, - index++, - field_name, - type) - == 0) - { - status = - this->repo_->config ()->get_string_value (excepts_key, - field_name.c_str (), - type_path); - - if (status == 0) - { - path_queue.enqueue_tail (type_path); - } - } - - CORBA::ULong size = static_cast (path_queue.size ()); - - od.exceptions.length (size); - - for (CORBA::ULong i = 0; i < size; ++i) - { - ACE_TString type_path; - path_queue.dequeue_head (type_path); - - ACE_Configuration_Section_Key type_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - type_path, - type_key, - 0); - - ACE_TString name; - this->repo_->config ()->get_string_value (type_key, - "name", - name); - - od.exceptions[i].name = name.c_str (); - - ACE_TString id; - this->repo_->config ()->get_string_value (type_key, - "id", - id); - - od.exceptions[i].id = id.c_str (); - - ACE_TString container_id; - this->repo_->config ()->get_string_value (type_key, - "container_id", - container_id); - - od.exceptions[i].defined_in = container_id.c_str (); - - ACE_TString version; - this->repo_->config ()->get_string_value (type_key, - "version", - version); - - od.exceptions[i].version = version.c_str (); - - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (type_key); - - od.exceptions[i].type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - } - else - { - od.exceptions.length (0); - } -} - -CORBA::TypeCode_ptr -TAO_OperationDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->result_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.h deleted file mode 100644 index f11a2850319..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/OperationDef_i.h +++ /dev/null @@ -1,184 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// OperationDef_i.h -// -// = DESCRIPTION -// OperationDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_OPERATIONDEF_I_H -#define TAO_OPERATIONDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_OperationDef_i : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_OperationDef_i - // - // = DESCRIPTION - // Represents the information needed to describe an operation - // of an interface. - // -public: - TAO_OperationDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_OperationDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr result ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr result_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr result_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr result_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void result_def ( - CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void result_def_i ( - CORBA::IDLType_ptr result_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ParDescriptionSeq *params ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ParDescriptionSeq *params_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void params ( - const CORBA::ParDescriptionSeq ¶ms - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void params_i ( - const CORBA::ParDescriptionSeq ¶ms - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::OperationMode mode ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::OperationMode mode_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void mode ( - CORBA::OperationMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void mode_i ( - CORBA::OperationMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ContextIdSeq *contexts ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ContextIdSeq *contexts_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void contexts ( - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void contexts_i ( - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ExceptionDefSeq *exceptions ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ExceptionDefSeq *exceptions_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void exceptions ( - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void exceptions_i ( - const CORBA::ExceptionDefSeq &exceptions - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Common code for containers to call in - // making descriptions. - - void make_description (CORBA::OperationDescription &desc - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr type_i (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_OPERATIONDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Options.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Options.cpp deleted file mode 100644 index 26f71866bfd..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Options.cpp +++ /dev/null @@ -1,122 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Options.h" -#include "ace/Get_Opt.h" -#include "ace/Log_Msg.h" -#include "ace/Null_Mutex.h" -#include "ace/OS_NS_string.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -Options::Options () - : ior_output_file_ (ACE_OS::strdup ("if_repo.ior")), - persistent_ (0), - persistent_file_ (ACE_OS::strdup ("ifr_default_backing_store")), - using_registry_ (0), - enable_locking_ (0), - support_multicast_(0) -{ -} - -Options::~Options () -{ - ACE_OS::free (this->ior_output_file_); - ACE_OS::free (this->persistent_file_); -} - -int -Options::parse_args (int argc, ACE_TCHAR *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "o:pb:lm:r"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'o': // Set the IOR output filename. - this->ior_output_file_ = get_opts.opt_arg (); - break; - case 'p': // Make the IFR persistent - this->persistent_ = 1; - this->using_registry_ = 0; - break; - case 'b': - this->persistent_file_ = get_opts.opt_arg (); - break; - case 'l': -#if defined (ACE_HAS_THREADS) - this->enable_locking_ = 1; -#endif /* ACE_HAS_THREADS */ - break; - case 'r': // win32 registry implementation -#if defined (ACE_WIN32) - if (this->persistent_ == 0) - this->using_registry_ = 1; - break; -#else /* ACE_WIN32 */ - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("parse_args: not a win32 platform\n") - ), - 1 - ); -#endif /* ACE_WIN32 */ - case 'm': - this->support_multicast_ = ACE_OS::atoi(get_opts.opt_arg ()); - break; - case '?': // display help for use of the server. - default: - ACE_ERROR_RETURN ((LM_ERROR, - "Usage: %s" - " [-o] " - " [-r]" - " [-l]" - " [-m] <0|1>" - " [-p]" - " [-b] " - "\n", - argv [0]), - 1); - } - - // Indicates successful parsing of command line. - return 0; -} - -const char * -Options::ior_output_file (void) const -{ - return this->ior_output_file_; -} - -int -Options::persistent (void) const -{ - return this->persistent_; -} - -const char * -Options::persistent_file (void) const -{ - return this->persistent_file_; -} - -int -Options::using_registry (void) const -{ - return this->using_registry_; -} - -int -Options::enable_locking (void) const -{ - return this->enable_locking_; -} - -int -Options::support_multicast_discovery (void) const -{ - return this->support_multicast_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Options.h b/TAO/orbsvcs/orbsvcs/IFRService/Options.h deleted file mode 100644 index f1453559b03..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Options.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// Options.h -// -// = DESCRIPTION -// This class implements the Options container for the Interface -// Repository. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef OPTIONS_H -#define OPTIONS_H - -#include "ace/Singleton.h" -#include "ace/Null_Mutex.h" -#include "orbsvcs/IFRService/ifr_service_export.h" -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export Options -{ - // = TITLE - // Maintains the global options. - // - // = DESCRIPTION - // This class is converted into a Singleton by the - // template. -public: - Options (); - // Default Constructor - - ~Options(); - // dtor - - int parse_args (int argc, - ACE_TCHAR *argv[]); - // Parse the command-line arguments and initialize the options. - - const char *ior_output_file (void) const; - // Return the file where the IOR of the server object is stored. - - int persistent (void) const; - // Is the Interface Repository persistent? - - const char *persistent_file (void) const; - // Return the default filename for persistent IFR. - - int using_registry (void) const; - // Are we using a WIN32 registry as the backing store? - - int enable_locking (void) const; - // Should the repository have a real mutex or a null mutex? - - int support_multicast_discovery (void) const; - // should the service support discovery via multicast? - -private: - char *ior_output_file_; - // File where the IOR of the server object is stored. - - int persistent_; - // Is the Interface Repository persistent? - - char *persistent_file_; - // Default filename for persistent IFR. - - int using_registry_; - // Are we using a WIN32 registry as the backing store? - - int enable_locking_; - // Should the repository have a real mutex or a null mutex? - - int support_multicast_; - // If not zero multicast is enabled. -}; - -// Typedef an Options Singleton. -typedef ACE_Singleton OPTIONS; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* OPTIONS_H */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.cpp deleted file mode 100644 index f9789c4282b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.cpp +++ /dev/null @@ -1,142 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/PrimitiveDef_i.h" - -ACE_RCSID (IFRService, - PrimitiveDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PrimitiveDef_i::TAO_PrimitiveDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_PrimitiveDef_i::~TAO_PrimitiveDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_PrimitiveDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Primitive; -} - -void -TAO_PrimitiveDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_PrimitiveDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 2, - CORBA::COMPLETED_NO)); -} - -CORBA::TypeCode_ptr -TAO_PrimitiveDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_PrimitiveDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int pkind = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "pkind", - pkind); - - switch (static_cast (pkind)) - { - case CORBA::pk_null: - return CORBA::TypeCode::_duplicate (CORBA::_tc_null); - case CORBA::pk_void: - return CORBA::TypeCode::_duplicate (CORBA::_tc_void); - case CORBA::pk_short: - return CORBA::TypeCode::_duplicate (CORBA::_tc_short); - case CORBA::pk_long: - return CORBA::TypeCode::_duplicate (CORBA::_tc_long); - case CORBA::pk_ushort: - return CORBA::TypeCode::_duplicate (CORBA::_tc_ushort); - case CORBA::pk_ulong: - return CORBA::TypeCode::_duplicate (CORBA::_tc_ulong); - case CORBA::pk_float: - return CORBA::TypeCode::_duplicate (CORBA::_tc_float); - case CORBA::pk_double: - return CORBA::TypeCode::_duplicate (CORBA::_tc_double); - case CORBA::pk_boolean: - return CORBA::TypeCode::_duplicate (CORBA::_tc_boolean); - case CORBA::pk_char: - return CORBA::TypeCode::_duplicate (CORBA::_tc_char); - case CORBA::pk_octet: - return CORBA::TypeCode::_duplicate (CORBA::_tc_octet); - case CORBA::pk_any: - return CORBA::TypeCode::_duplicate (CORBA::_tc_any); - case CORBA::pk_TypeCode: - return CORBA::TypeCode::_duplicate (CORBA::_tc_TypeCode); - case CORBA::pk_Principal: - return CORBA::TypeCode::_duplicate (CORBA::_tc_Principal); - case CORBA::pk_string: - return CORBA::TypeCode::_duplicate (CORBA::_tc_string); - case CORBA::pk_objref: - return CORBA::TypeCode::_duplicate (CORBA::_tc_Object); - case CORBA::pk_longlong: - return CORBA::TypeCode::_duplicate (CORBA::_tc_longlong); - case CORBA::pk_ulonglong: - return CORBA::TypeCode::_duplicate (CORBA::_tc_ulonglong); - case CORBA::pk_longdouble: - return CORBA::TypeCode::_duplicate (CORBA::_tc_longdouble); - case CORBA::pk_wchar: - return CORBA::TypeCode::_duplicate (CORBA::_tc_wchar); - case CORBA::pk_wstring: - return CORBA::TypeCode::_duplicate (CORBA::_tc_wstring); - case CORBA::pk_value_base: - // TODO - we haven't added this typecode constant yet. - default: - return CORBA::TypeCode::_duplicate (CORBA::_tc_null); - } -} - -CORBA::PrimitiveKind -TAO_PrimitiveDef_i::kind (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::pk_null); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::pk_null); - - return this->kind_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::PrimitiveKind -TAO_PrimitiveDef_i::kind_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int pkind = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "pkind", - pkind); - - return static_cast (pkind); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.h deleted file mode 100644 index 05103c5c7ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// PrimitiveDef_i.h -// -// = DESCRIPTION -// PrimitiveDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_PRIMITIVEDEF_I_H -#define TAO_PRIMITIVEDEF_I_H - -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_PrimitiveDef_i : public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_PrimitiveDef_i - // - // = DESCRIPTION - // Represents any of the OMG IDL primitive types - // -public: - TAO_PrimitiveDef_i (TAO_Repository_i *repo); - // Constructor. - - virtual ~TAO_PrimitiveDef_i (void); - // Destructor. - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // May not be called on a primitive kind - raises BAD_INV_ORDER. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Must implement this here because it's pure virtual in the - // base class. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PrimitiveKind kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::PrimitiveKind kind_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_PRIMITIVEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.cpp deleted file mode 100644 index f9bf6490763..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ProvidesDef_i.h" -#include "orbsvcs/IFRService/IFR_ComponentsS.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ProvidesDef_i, - "$Id$") - - -TAO_ProvidesDef_i::TAO_ProvidesDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_ProvidesDef_i::~TAO_ProvidesDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ProvidesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Provides; -} - -CORBA::Contained::Description * -TAO_ProvidesDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ProvidesDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ComponentIR::ProvidesDescription pd; - TAO_IFR_Desc_Utils::fill_desc_begin ( - pd, - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - ACE_TString base_type_id; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - base_type_id); - pd.interface_type = base_type_id.fast_rep (); - - CORBA::Contained::Description *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::Contained::Description, - 0); - - retval->kind = CORBA::dk_Provides; - retval->value <<= pd; - return retval; -} - -CORBA::InterfaceDef_ptr -TAO_ProvidesDef_i::interface_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::InterfaceDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - return this->interface_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDef_ptr -TAO_ProvidesDef_i::interface_type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - holder); - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - return CORBA::InterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ProvidesDef_i::interface_type ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->interface_type_i (interface_type - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ProvidesDef_i::interface_type_i ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_value (this->section_key_, - "base_type"); - - if (CORBA::is_nil (interface_type)) - { - return; - } - - const char *tmp = - TAO_IFR_Service_Utils::reference_to_path (interface_type); - - ACE_Configuration_Section_Key new_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - tmp, - new_key, - 0); - - ACE_TString holder; - this->repo_->config ()->get_string_value (new_key, - "id", - holder); - - this->repo_->config ()->set_string_value ( - this->section_key_, - "base_type", - holder - ); -} diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.h deleted file mode 100644 index e07923a3fee..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ProvidesDef_i.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ProvidesDef_i.h -// -// = DESCRIPTION -// ProvidesDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_PROVIDESDEF_I_H -#define TAO_PROVIDESDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ProvidesDef_i : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_ProvidesDef_i - // - // = DESCRIPTION - // Represents an interface that is provided by a component. - // -public: - TAO_ProvidesDef_i (TAO_Repository_i *repoy); - // Constructor - - virtual ~TAO_ProvidesDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::InterfaceDef_ptr interface_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDef_ptr interface_type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void interface_type ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void interface_type_i ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_PROVIDESDEF_I_H */ - - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.cpp deleted file mode 100644 index 1a06feb5687..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#include "orbsvcs/IFRService/PublishesDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" - -ACE_RCSID (IFRService, - PublishesDef_i, - "$Id$") - -TAO_PublishesDef_i::TAO_PublishesDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_EventPortDef_i (repo) -{ -} - -TAO_PublishesDef_i::~TAO_PublishesDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_PublishesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Publishes; -} - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.h deleted file mode 100644 index 613bc9010e1..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/PublishesDef_i.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// PublishesDef_i.h -// -// = DESCRIPTION -// PublishesDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_PUBLISHESDEF_I_H -#define TAO_PUBLISHESDEF_I_H - -#include "orbsvcs/IFRService/EventPortDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_PublishesDef_i - : public virtual TAO_EventPortDef_i -{ - // = TITLE - // TAO_PublishesDef_i - // - // = DESCRIPTION - // Represents the definition of an event that is published - // by a component. - // -public: - TAO_PublishesDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_PublishesDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_PUBLISHESDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.cpp deleted file mode 100644 index a6e4c6a6051..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/RecursDef_i.h" - - -ACE_RCSID (IFRService, - RecursDef_i, - "RecursDef_i.cpp,v 1.1 2004/10/18 09:00:00 SMA Exp") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//----------------------------------------------------------------------------- -// Class TAO_RecursiveDef_OuterScopes is a support class for StructDef_i.h and -// UnionDef_i.h files. It creates a stack of outer structure definitions, used -// by TAO_StructDef_i::type_i(), and TAO_UnionDef_i::type_i() during nested -// structure processing. -//----------------------------------------------------------------------------- - -TAO_RecursiveDef_OuterScopes::TAO_RecursiveDef_OuterScopes( const ACE_TString &id ) - : id_( id ), pNextOuterID_( pIDsSeenAlready ) -{ - pIDsSeenAlready= this; // "Push" this scope -} - -TAO_RecursiveDef_OuterScopes::~TAO_RecursiveDef_OuterScopes() -{ - pIDsSeenAlready= pNextOuterID_; // "Pop" this scope -} - -bool TAO_RecursiveDef_OuterScopes::SeenBefore( const ACE_TString &id ) -{ - for ( const TAO_RecursiveDef_OuterScopes *pOuterScope= pIDsSeenAlready; - pOuterScope; - pOuterScope= pOuterScope->pNextOuterID_ ) - { - if (pOuterScope->id_ == id) - return true; - } - - return false; -} - -const TAO_RecursiveDef_OuterScopes - *TAO_RecursiveDef_OuterScopes::pIDsSeenAlready= 0; - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.h deleted file mode 100644 index 5fdf5b7e7a0..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/RecursDef_i.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// RecursDef_i.h -// -// = DESCRIPTION -// StructDef & UnionDef support class. -// -// = AUTHOR -// Simon Massey -// -// ============================================================================ - -#ifndef TAO_RECURSDEF_I_H -#define TAO_RECURSDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "ace/SString.h" -#include "ace/OS_NS_stdlib.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//----------------------------------------------------------------------------- -// Class TAO_RecursiveDef_OuterScopes is a support class for StructDef_i.h and -// UnionDef_i.h files. It creates a stack of outer structure definitions, used -// by TAO_StructDef_i::type_i(), and TAO_UnionDef_i::type_i() during nested -// structure processing. -//----------------------------------------------------------------------------- - -class TAO_RecursiveDef_OuterScopes -{ -public: - TAO_RecursiveDef_OuterScopes( const ACE_TString &id ); // "Push" scope's ID - ~TAO_RecursiveDef_OuterScopes(); // "Pop" this scope - - static bool SeenBefore( const ACE_TString &id ); // Check for outer ID - -private: // Data - const ACE_TString id_; - const TAO_RecursiveDef_OuterScopes *const pNextOuterID_; - - static const TAO_RecursiveDef_OuterScopes *pIDsSeenAlready; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_RECURSDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp deleted file mode 100644 index 028f07f18cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.cpp +++ /dev/null @@ -1,1150 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/concrete_classes.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/Options.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "tao/ORB.h" -#include "tao/Object_KeyC.h" - -#include "ace/Auto_Ptr.h" -#include "ace/Lock_Adapter_T.h" -#include "ace/SString.h" - -ACE_RCSID (IFR_Service, - Repository_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Repository_i::TAO_Repository_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - ACE_Configuration *config) - : TAO_IRObject_i (0), - TAO_Container_i (0), - orb_ (orb), - root_poa_ (poa), - config_ (config), - extension_ (CORBA::string_dup ("TAO_IFR_name_extension")), - lock_ (0) -{ -} - -TAO_Repository_i::~TAO_Repository_i (void) -{ - delete this->lock_; -} - -CORBA::DefinitionKind -TAO_Repository_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Repository; -} - -void -TAO_Repository_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW (CORBA::BAD_INV_ORDER (CORBA::OMGVMCID | 2, - CORBA::COMPLETED_NO)); -} - -CORBA::Contained_ptr -TAO_Repository_i::lookup_id (const char *search_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::Contained::_nil ()); - - return this->lookup_id_i (search_id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Contained_ptr -TAO_Repository_i::lookup_id_i (const char *search_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (ACE_OS::strcmp (search_id, "IDL:omg.org/CORBA/Object:1.0") == 0 - || ACE_OS::strcmp (search_id, "IDL:omg.org/CORBA/ValueBase:1.0") == 0) - { - return CORBA::Contained::_nil (); - } - - ACE_TString path; - if (this->config_->get_string_value (this->repo_ids_key_, - search_id, - path) - != 0) - { - return CORBA::Contained::_nil (); - } - - ACE_Configuration_Section_Key key; - this->config_->expand_path (this->root_key_, - path, - key); - - u_int kind = 0; - this->config_->get_integer_value (key, - "def_kind", - kind); - - CORBA::DefinitionKind def_kind = - static_cast (kind); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (def_kind, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Contained::_nil ()); - - return CORBA::Contained::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_Repository_i::get_canonical_typecode (CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - return this->get_canonical_typecode_i (tc - ACE_ENV_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_Repository_i::get_canonical_typecode_i (CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - switch (kind) - { - // For all the TCKinds not covered below, no change is needed. - default: - return CORBA::TypeCode::_duplicate (tc); - case CORBA::tk_fixed: - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::TypeCode::_nil ()); - case CORBA::tk_array: - { - CORBA::ULong length = tc->length (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::TypeCode_var ctype = tc->content_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::TypeCode_var canon_ctype = - this->get_canonical_typecode_i (ctype.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->tc_factory ()->create_array_tc (length, - canon_ctype.in () - ACE_ENV_ARG_PARAMETER); - } - case CORBA::tk_sequence: - { - CORBA::ULong length = tc->length (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::TypeCode_var ctype = tc->content_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::TypeCode_var canon_ctype = - this->get_canonical_typecode_i (ctype.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->tc_factory ()->create_sequence_tc (length, - canon_ctype.in () - ACE_ENV_ARG_PARAMETER); - } - case CORBA::tk_alias: - case CORBA::tk_objref: - case CORBA::tk_struct: - case CORBA::tk_union: - case CORBA::tk_enum: - case CORBA::tk_except: - case CORBA::tk_value: - case CORBA::tk_value_box: - case CORBA::tk_native: - case CORBA::tk_abstract_interface: - case CORBA::tk_component: - case CORBA::tk_home: - { - CORBA::String_var id = tc->id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - ACE_TString path; - int status = - this->config ()->get_string_value (this->repo_ids_key (), - id.in (), - path); - - // TODO - something in case the repo id is an empty string, - // or if it is not found in this repository - if (status != 0) - { - return CORBA::TypeCode::_nil (); - } - - ACE_Configuration_Section_Key key; - this->config ()->expand_path (this->root_key (), - path, - key, - 0); - - // An ExceptionDef is not an IDLType. - if (kind == CORBA::tk_except) - { - TAO_ExceptionDef_i impl (this->repo_); - impl.section_key (key); - return impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - } - else - { - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (path, - this); - impl->section_key (key); - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - } - } - } -} - -CORBA::PrimitiveDef_ptr -TAO_Repository_i::get_primitive (CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString obj_id ("pkinds\\"); - - obj_id += this->pkind_to_string (kind); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Primitive, - obj_id.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::PrimitiveDef::_nil ()); - - return CORBA::PrimitiveDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::StringDef_ptr -TAO_Repository_i::create_string (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::StringDef::_nil ()); - - return this->create_string_i (bound - ACE_ENV_ARG_PARAMETER); -} - -CORBA::StringDef_ptr -TAO_Repository_i::create_string_i (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int count = 0; - this->config_->get_integer_value (this->strings_key_, - "count", - count); - - char *name = TAO_IFR_Service_Utils::int_to_string (count++); - this->config_->set_integer_value (this->strings_key_, - "count", - count); - - // Make new database entry. - ACE_Configuration_Section_Key new_key; - this->config_->open_section (this->strings_key_, - name, - 1, - new_key); - - this->config_->set_integer_value (new_key, - "bound", - bound); - - this->config_->set_integer_value (new_key, - "def_kind", - CORBA::dk_String); - - this->config_->set_string_value (new_key, - "name", - name); - - // Create the object reference. - ACE_TString obj_id ("strings\\"); - obj_id += name; - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_String, - obj_id.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::StringDef::_nil ()); - - return CORBA::StringDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::WstringDef_ptr -TAO_Repository_i::create_wstring (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::WstringDef::_nil ()); - - return this->create_wstring_i (bound - ACE_ENV_ARG_PARAMETER); -} - -CORBA::WstringDef_ptr -TAO_Repository_i::create_wstring_i (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int count = 0; - this->config_->get_integer_value (this->wstrings_key_, - "count", - count); - - char *name = TAO_IFR_Service_Utils::int_to_string (count++); - this->config_->set_integer_value (this->wstrings_key_, - "count", - count); - - // Make new database entry. - ACE_Configuration_Section_Key new_key; - this->config_->open_section (this->wstrings_key_, - name, - 1, - new_key); - - this->config_->set_integer_value (new_key, - "bound", - bound); - - this->config_->set_integer_value (new_key, - "def_kind", - CORBA::dk_Wstring); - - this->config_->set_string_value (new_key, - "name", - name); - - // Create the object reference. - ACE_TString obj_id ("wstrings\\"); - obj_id += name; - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Wstring, - obj_id.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::WstringDef::_nil ()); - - return CORBA::WstringDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::SequenceDef_ptr -TAO_Repository_i::create_sequence (CORBA::ULong bound, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::SequenceDef::_nil ()); - - return this->create_sequence_i (bound, - element_type - ACE_ENV_ARG_PARAMETER); -} - -CORBA::SequenceDef_ptr -TAO_Repository_i::create_sequence_i (CORBA::ULong bound, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int count = 0; - this->config_->get_integer_value (this->sequences_key_, - "count", - count); - - char *name = TAO_IFR_Service_Utils::int_to_string (count++); - this->config_->set_integer_value (this->sequences_key_, - "count", - count); - - // Make new database entry. - ACE_Configuration_Section_Key new_key; - this->config_->open_section (this->sequences_key_, - name, - 1, - new_key); - - // Set the bound attribute. - this->config_->set_integer_value (new_key, - "bound", - bound); - - // Set the def_kind attribute. - this->config_->set_integer_value (new_key, - "def_kind", - CORBA::dk_Sequence); - - // Set the "name" for destroy to use. - this->config_->set_string_value (new_key, - "name", - name); - - char *element_path = - TAO_IFR_Service_Utils::reference_to_path (element_type); - - // To get key to element type. - this->config_->set_string_value (new_key, - "element_path", - element_path); - - // Create the object reference. - ACE_TString obj_id ("sequences\\"); - obj_id += name; - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Sequence, - obj_id.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::SequenceDef::_nil ()); - - return CORBA::SequenceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ArrayDef_ptr -TAO_Repository_i::create_array (CORBA::ULong length, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ArrayDef::_nil ()); - - return this->create_array_i (length, - element_type - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ArrayDef_ptr -TAO_Repository_i::create_array_i (CORBA::ULong length, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int count = 0; - this->config_->get_integer_value (this->arrays_key_, - "count", - count); - - char *name = TAO_IFR_Service_Utils::int_to_string (count++); - this->config_->set_integer_value (this->arrays_key_, - "count", - count); - - // Make new database entry. - ACE_Configuration_Section_Key new_key; - this->config_->open_section (this->arrays_key_, - name, - 1, - new_key); - - // Set the length attribute. - this->config_->set_integer_value (new_key, - "length", - length); - - // Set the def_kind attribute. - this->config_->set_integer_value (new_key, - "def_kind", - CORBA::dk_Array); - - // Set the "name" for destroy to use. - this->config_->set_string_value (new_key, - "name", - name); - - char *element_path = - TAO_IFR_Service_Utils::reference_to_path (element_type); - - // To get key to element type. - this->config_->set_string_value (new_key, - "element_path", - element_path); - - // Create the object reference. - ACE_TString obj_id ("arrays\\"); - obj_id += name; - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Array, - obj_id.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ArrayDef::_nil ()); - - return CORBA::ArrayDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::FixedDef_ptr -TAO_Repository_i::create_fixed (CORBA::UShort digits, - CORBA::Short scale - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::FixedDef::_nil ()); - - return this->create_fixed_i (digits, - scale - ACE_ENV_ARG_PARAMETER); -} - -CORBA::FixedDef_ptr -TAO_Repository_i::create_fixed_i (CORBA::UShort /* digits */, - CORBA::Short /* scale */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::FixedDef::_nil ()); -} - -int -TAO_Repository_i::repo_init (CORBA::Repository_ptr repo_ref, - PortableServer::POA_ptr repo_poa - ACE_ENV_ARG_DECL) -{ - this->repo_objref_ = repo_ref; - this->repo_poa_ = repo_poa; - - // Create the appropriate lock. - if (OPTIONS::instance ()->enable_locking ()) - { - ACE_NEW_THROW_EX (this->lock_, - ACE_Lock_Adapter (), - CORBA::NO_MEMORY ()); - } - else - { - ACE_NEW_THROW_EX (this->lock_, - ACE_Lock_Adapter (), - CORBA::NO_MEMORY ()); - } - ACE_CHECK_RETURN (-1); - - // Resolve and narrow the TypeCodeFactory. - CORBA::Object_var object = - this->orb_->resolve_initial_references ("TypeCodeFactory" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (!CORBA::is_nil (object.in ())) - { - this->tc_factory_ = - CORBA::TypeCodeFactory::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (CORBA::is_nil (this->tc_factory_.in ())) - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Repository: TypeCodeFactory narrow failed\n") - ), - -1 - ); - } - else - { - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Repository: TypeCodeFactory resolve failed\n") - ), - -1 - ); - } - - // Resolve and narrow the POACurrent object. - object = - this->orb_->resolve_initial_references ("POACurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (!CORBA::is_nil (object.in ())) - { - this->poa_current_ = - PortableServer::Current::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (CORBA::is_nil (this->poa_current_.in ())) - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Repository: POACurrent narrow failed\n") - ), - -1 - ); - } - else - { - ACE_ERROR_RETURN (( - LM_ERROR, - ACE_TEXT ("Repository: POACurrent resolve failed\n") - ), - -1 - ); - } - - if (this->create_sections () != 0) - { - return -1; - } - - int status = this->create_servants_and_poas (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (status != 0) - { - return -1; - } - - return 0; -} - -int -TAO_Repository_i::create_sections (void) -{ - this->config_->open_section (config_->root_section (), - "root", - 1, // Will create if IFR is not persistent. - this->root_key_); - - this->config_->open_section (this->root_key_, - "repo_ids", - 1, // Will create if IFR is not persistent. - this->repo_ids_key_); - - int status = - this->config_->open_section (this->root_key_, - "pkinds", - 0, // Don't create - this->pkinds_key_); - - if (status != 0) - // IFR is non-persistent or is being run for the first time. - // Must add entries for primitive kinds. - { - this->config_->open_section (this->root_key_, - "pkinds", - 1, // It doesn't exist so create it. - this->pkinds_key_); - - u_int num_pkinds = this->num_pkinds (); - - for (u_int i = 0; i < num_pkinds; ++i) - { - ACE_Configuration_Section_Key key; - CORBA::PrimitiveKind pkind = static_cast (i); - - this->config_->open_section (this->pkinds_key_, - this->pkind_to_string (pkind), - 1, - key); - - this->config_->set_integer_value (key, - "def_kind", - CORBA::dk_Primitive); - - this->config_->set_integer_value (key, - "pkind", - i); - - } - } - - this->config_->open_section (this->root_key_, - "strings", - 1, - this->strings_key_); - - this->config_->open_section (this->root_key_, - "wstrings", - 1, - this->wstrings_key_); - - this->config_->open_section (this->root_key_, - "fixeds", - 1, - this->fixeds_key_); - - this->config_->open_section (this->root_key_, - "arrays", - 1, - this->arrays_key_); - - this->config_->open_section (this->root_key_, - "sequences", - 1, - this->sequences_key_); - - u_int count = 0; - - // If repository is not persistent, we need to set all - // the "count" fields to 0. We test just one for existence. - status = - this->config_->get_integer_value (this->strings_key_, - "count", - count); - - if (status == -1) // Field "count" does not exist. - { - this->config_->set_integer_value (this->strings_key_, - "count", - 0); - - this->config_->set_integer_value (this->wstrings_key_, - "count", - 0); - - this->config_->set_integer_value (this->fixeds_key_, - "count", - 0); - - this->config_->set_integer_value (this->arrays_key_, - "count", - 0); - - this->config_->set_integer_value (this->sequences_key_, - "count", - 0); - } - - // The following are done because we are also a Container. - this->repo_ = this; - this->section_key_ = this->root_key_; - - this->config_->set_string_value (this->section_key_, - "absolute_name", - ""); - - this->config_->set_string_value (this->section_key_, - "id", - ""); // required by spec - - this->config_->set_string_value (this->section_key_, - "name", - ""); - - this->config_->set_integer_value (this->section_key_, - "def_kind", - CORBA::dk_Repository); - - return 0; -} - -int -TAO_Repository_i::create_servants_and_poas (ACE_ENV_SINGLE_ARG_DECL) -{ - CORBA::PolicyList policies (5); - policies.length (5); - - // ID Assignment Policy. - policies[0] = - this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Lifespan Policy. - policies[1] = - this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Request Processing Policy. - policies[2] = - this->root_poa_->create_request_processing_policy ( - PortableServer::USE_DEFAULT_SERVANT - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - // Servant Retention Policy. - policies[3] = - this->root_poa_->create_servant_retention_policy ( - PortableServer::NON_RETAIN - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - // Id Uniqueness Policy. - policies[4] = - this->root_poa_->create_id_uniqueness_policy ( - PortableServer::MULTIPLE_ID - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (-1); - - PortableServer::POAManager_var poa_manager = - this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - -#define GEN_IR_OBJECT(name) \ - this-> name ## _poa_ = \ - this->root_poa_->create_POA (#name "_poa", \ - poa_manager.in (), \ - policies \ - ACE_ENV_ARG_PARAMETER); \ - ACE_CHECK_RETURN (-1); \ - TAO_ ## name ## _i * name ## _impl = 0; \ - ACE_NEW_RETURN (name ## _impl, \ - TAO_ ## name ## _i (this), \ - -1); \ - ACE_NEW_RETURN (this-> name ## _servant_, \ - POA_CORBA:: name ## _tie ( \ - name ## _impl, \ - this-> name ## _poa_.in (), \ - 1 \ - ), \ - -1); \ - PortableServer::ServantBase_var name ## _safety ( \ - this-> name ## _servant_ \ - ); \ - this-> name ## _poa_->set_servant (this-> name ## _servant_ \ - ACE_ENV_ARG_PARAMETER); \ - ACE_CHECK_RETURN (-1); - - CONCRETE_IR_OBJECT_TYPES - -#undef GEN_IR_OBJECT -#undef CONCRETE_IR_OBJECT_TYPES - - CORBA::ULong length = policies.length (); - - for (CORBA::ULong i = 0; i < length; ++i) - { - CORBA::Policy_ptr policy = policies[i]; - policy->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - } - - return 0; -} - -TAO_IDLType_i * -TAO_Repository_i::select_idltype (CORBA::DefinitionKind def_kind) const -{ - switch (def_kind) - { - case CORBA::dk_AbstractInterface: - return this->ExtAbstractInterfaceDef_servant_->_tied_object (); - case CORBA::dk_Alias: - return this->AliasDef_servant_->_tied_object (); - case CORBA::dk_Array: - return this->ArrayDef_servant_->_tied_object (); - case CORBA::dk_Enum: - return this->EnumDef_servant_->_tied_object (); - case CORBA::dk_Fixed: - return this->FixedDef_servant_->_tied_object (); - case CORBA::dk_Interface: - return this->ExtInterfaceDef_servant_->_tied_object (); - case CORBA::dk_LocalInterface: - return this->ExtLocalInterfaceDef_servant_->_tied_object (); - case CORBA::dk_Native: - return this->NativeDef_servant_->_tied_object (); - case CORBA::dk_Primitive: - return this->PrimitiveDef_servant_->_tied_object (); - case CORBA::dk_Sequence: - return this->SequenceDef_servant_->_tied_object (); - case CORBA::dk_String: - return this->StringDef_servant_->_tied_object (); - case CORBA::dk_Struct: - return this->StructDef_servant_->_tied_object (); - case CORBA::dk_Union: - return this->UnionDef_servant_->_tied_object (); - case CORBA::dk_ValueBox: - return this->ValueBoxDef_servant_->_tied_object (); - case CORBA::dk_Value: - return this->ExtValueDef_servant_->_tied_object (); - case CORBA::dk_Wstring: - return this->WstringDef_servant_->_tied_object (); - default: - return 0; - } -} - -TAO_Container_i * -TAO_Repository_i::select_container (CORBA::DefinitionKind def_kind) const -{ - switch (def_kind) - { - case CORBA::dk_AbstractInterface: - return this->ExtAbstractInterfaceDef_servant_->_tied_object (); - case CORBA::dk_Exception: - return this->ExceptionDef_servant_->_tied_object (); - case CORBA::dk_Interface: - return this->ExtInterfaceDef_servant_->_tied_object (); - case CORBA::dk_LocalInterface: - return this->ExtLocalInterfaceDef_servant_->_tied_object (); - case CORBA::dk_Repository: - return const_cast (this); - case CORBA::dk_Struct: - return this->StructDef_servant_->_tied_object (); - case CORBA::dk_Union: - return this->UnionDef_servant_->_tied_object (); - case CORBA::dk_Value: - return this->ExtValueDef_servant_->_tied_object (); - default: - return 0; - } -} - -TAO_Contained_i * -TAO_Repository_i::select_contained (CORBA::DefinitionKind def_kind) const -{ - switch (def_kind) - { - case CORBA::dk_AbstractInterface: - return this->ExtAbstractInterfaceDef_servant_->_tied_object (); - case CORBA::dk_Alias: - return this->AliasDef_servant_->_tied_object (); - case CORBA::dk_Attribute: - return this->AttributeDef_servant_->_tied_object (); - case CORBA::dk_Constant: - return this->ConstantDef_servant_->_tied_object (); - case CORBA::dk_Enum: - return this->EnumDef_servant_->_tied_object (); - case CORBA::dk_Exception: - return this->ExceptionDef_servant_->_tied_object (); - case CORBA::dk_Interface: - return this->ExtInterfaceDef_servant_->_tied_object (); - case CORBA::dk_LocalInterface: - return this->ExtLocalInterfaceDef_servant_->_tied_object (); - case CORBA::dk_Native: - return this->NativeDef_servant_->_tied_object (); - case CORBA::dk_Operation: - return this->OperationDef_servant_->_tied_object (); - case CORBA::dk_Struct: - return this->StructDef_servant_->_tied_object (); - case CORBA::dk_Union: - return this->UnionDef_servant_->_tied_object (); - case CORBA::dk_ValueBox: - return this->ValueBoxDef_servant_->_tied_object (); - case CORBA::dk_Value: - return this->ExtValueDef_servant_->_tied_object (); - case CORBA::dk_ValueMember: - return this->ValueMemberDef_servant_->_tied_object (); - default: - return 0; - } -} - -PortableServer::POA_ptr -TAO_Repository_i::select_poa (CORBA::DefinitionKind def_kind) const -{ - switch (def_kind) - { - case CORBA::dk_AbstractInterface: - return this->ExtAbstractInterfaceDef_poa_.in (); - case CORBA::dk_Alias: - return this->AliasDef_poa_.in (); - case CORBA::dk_Array: - return this->ArrayDef_poa_.in (); - case CORBA::dk_Attribute: - return this->AttributeDef_poa_.in (); - case CORBA::dk_Constant: - return this->ConstantDef_poa_.in (); - case CORBA::dk_Enum: - return this->EnumDef_poa_.in (); - case CORBA::dk_Exception: - return this->ExceptionDef_poa_.in (); - case CORBA::dk_Fixed: - return this->FixedDef_poa_.in (); - case CORBA::dk_Interface: - return this->ExtInterfaceDef_poa_.in (); - case CORBA::dk_LocalInterface: - return this->ExtLocalInterfaceDef_poa_.in (); - case CORBA::dk_Native: - return this->NativeDef_poa_.in (); - case CORBA::dk_Operation: - return this->OperationDef_poa_.in (); - case CORBA::dk_Primitive: - return this->PrimitiveDef_poa_.in (); - case CORBA::dk_Sequence: - return this->SequenceDef_poa_.in (); - case CORBA::dk_String: - return this->StringDef_poa_.in (); - case CORBA::dk_Struct: - return this->StructDef_poa_.in (); - case CORBA::dk_Union: - return this->UnionDef_poa_.in (); - case CORBA::dk_ValueBox: - return this->ValueBoxDef_poa_.in (); - case CORBA::dk_Value: - return this->ExtValueDef_poa_.in (); - case CORBA::dk_ValueMember: - return this->ValueMemberDef_poa_.in (); - case CORBA::dk_Wstring: - return this->WstringDef_poa_.in (); - default: - return PortableServer::POA::_nil (); - } -} - -PortableServer::Current_ptr -TAO_Repository_i::poa_current (void) const -{ - return this->poa_current_.in (); -} - -ACE_Configuration * -TAO_Repository_i::config (void) const -{ - return this->config_; -} - -CORBA::TypeCodeFactory_ptr -TAO_Repository_i::tc_factory (void) const -{ - return this->tc_factory_.in (); -} - -CORBA::Repository_ptr -TAO_Repository_i::repo_objref (void) const -{ - return CORBA::Repository::_duplicate (this->repo_objref_.in ()); -} - -void -TAO_Repository_i::repo_objref (CORBA::Repository_ptr objref) -{ - this->repo_objref_ = objref; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::root_key (void) const -{ - return this->root_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::repo_ids_key (void) const -{ - return this->repo_ids_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::pkinds_key (void) const -{ - return this->pkinds_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::strings_key (void) const -{ - return this->strings_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::wstrings_key (void) const -{ - return this->wstrings_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::fixeds_key (void) const -{ - return this->fixeds_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::arrays_key (void) const -{ - return this->arrays_key_; -} - -ACE_Configuration_Section_Key -TAO_Repository_i::sequences_key (void) const -{ - return this->sequences_key_; -} - -const char * -TAO_Repository_i::extension (void) const -{ - return this->extension_.in (); -} - -ACE_Lock & -TAO_Repository_i::lock (void) const -{ - return *this->lock_; -} - -const char * TAO_Repository_i::TAO_IFR_primitive_kinds[] = - { - "pk_null", - "pk_void", - "pk_short", - "pk_long", - "pk_ushort", - "pk_ulong", - "pk_float", - "pk_double", - "pk_boolean", - "pk_char", - "pk_octet", - "pk_any", - "pk_TypeCode", - "pk_Principal", - "pk_string", - "pk_objref", - "pk_longlong", - "pk_ulonglong", - "pk_longdouble", - "pk_wchar", - "pk_wstring", - "pk_value_base" - }; - -const char * -TAO_Repository_i::pkind_to_string (CORBA::PrimitiveKind pkind) const -{ - return TAO_Repository_i::TAO_IFR_primitive_kinds[pkind]; -} - -u_int -TAO_Repository_i::num_pkinds (void) const -{ - return sizeof (TAO_Repository_i::TAO_IFR_primitive_kinds) / sizeof (char*); -} - -// For debugging use only. -void -TAO_Repository_i::shutdown (void) -{ - this->orb_->shutdown (0); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.h b/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.h deleted file mode 100644 index 06cbfdc2360..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/Repository_i.h +++ /dev/null @@ -1,386 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// Repository_i.h -// -// = DESCRIPTION -// Repository servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef REPOSITORY_I_H -#define REPOSITORY_I_H - -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "orbsvcs/IFRService/IFR_macro.h" -#include "tao/TypeCodeFactory/TypeCodeFactory_Loader.h" -#include "tao/CORBA_String.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class IFR_Servant_Factory; - -class TAO_IDLType_i; -class TAO_Container_i; -class TAO_Contained_i; -class TAO_ExtAbstractInterfaceDef_i; -class TAO_AliasDef_i; -class TAO_ArrayDef_i; -class TAO_AttributeDef_i; -class TAO_ConstantDef_i; -class TAO_EnumDef_i; -class TAO_ExceptionDef_i; -class TAO_FixedDef_i; -class TAO_ExtInterfaceDef_i; -class TAO_ExtLocalInterfaceDef_i; -class TAO_NativeDef_i; -class TAO_OperationDef_i; -class TAO_PrimitiveDef_i; -class TAO_SequenceDef_i; -class TAO_StringDef_i; -class TAO_StructDef_i; -class TAO_UnionDef_i; -class TAO_ValueBoxDef_i; -class TAO_ExtValueDef_i; -class TAO_ValueMemberDef_i; -class TAO_WstringDef_i; - -class TAO_IFRService_Export TAO_Repository_i : public virtual TAO_Container_i -{ - // = TITLE - // TAO_Repository_i - // - // = DESCRIPTION - // Provides global access to the Interface Repository, but - // does not support access to information related to - // CORBA Components. - // -public: - TAO_Repository_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - ACE_Configuration *config); - - virtual ~TAO_Repository_i (void); - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Accessor for the readonly attribute. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // May not be called on a repository - raises BAD_INV_ORDER. - - virtual CORBA::Contained_ptr lookup_id ( - const char *search_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Contained_ptr lookup_id_i ( - const char *search_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr get_canonical_typecode ( - CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr get_canonical_typecode_i ( - CORBA::TypeCode_ptr tc - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PrimitiveDef_ptr get_primitive ( - CORBA::PrimitiveKind kind - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // No locking necessary because the database is not - // accessed. - - virtual CORBA::StringDef_ptr create_string ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::StringDef_ptr create_string_i ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::WstringDef_ptr create_wstring ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::WstringDef_ptr create_wstring_i ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::SequenceDef_ptr create_sequence ( - CORBA::ULong bound, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( CORBA::SystemException)); - - CORBA::SequenceDef_ptr create_sequence_i ( - CORBA::ULong bound, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( CORBA::SystemException)); - - virtual CORBA::ArrayDef_ptr create_array ( - CORBA::ULong length, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ArrayDef_ptr create_array_i ( - CORBA::ULong length, - CORBA::IDLType_ptr element_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::FixedDef_ptr create_fixed ( - CORBA::UShort digits, - CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::FixedDef_ptr create_fixed_i ( - CORBA::UShort digits, - CORBA::Short scale - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - int repo_init (CORBA::Repository_ptr repo_ref, - PortableServer::POA_ptr repo_poa - ACE_ENV_ARG_DECL); - // Called at startup to get everything initialized. - - virtual int create_servants_and_poas (ACE_ENV_SINGLE_ARG_DECL); - // We create a default servant servant for each IR Object - // type and its corresponding POA. - - int create_sections (void); - // Create the top-level ACE_Configuration sections. - - virtual TAO_IDLType_i *select_idltype ( - CORBA::DefinitionKind def_kind - ) const; - virtual TAO_Container_i *select_container ( - CORBA::DefinitionKind def_kind - ) const; - virtual TAO_Contained_i *select_contained ( - CORBA::DefinitionKind def_kind - ) const; - // Return one of our servants for internal use. - - virtual PortableServer::POA_ptr select_poa ( - CORBA::DefinitionKind def_kind - ) const; - // Select the right POA for object creation. - - PortableServer::Current_ptr poa_current (void) const; - // Accessor for the POA that is dispatching the current call. - - ACE_Configuration *config (void) const; - // Accessor for the ACE_Configuration database. - - CORBA::TypeCodeFactory_ptr tc_factory (void) const; - // Accessor for the Typecode factory. - - CORBA::Repository_ptr repo_objref (void) const; - void repo_objref (CORBA::Repository_ptr objref); - // Accessor/mutator for our object reference. - - ACE_Configuration_Section_Key root_key (void) const; - // Accessor for the root key for all IR objects. - - ACE_Configuration_Section_Key repo_ids_key (void) const; - // Accessor for the repository ids root key. - - ACE_Configuration_Section_Key pkinds_key (void) const; - // Accessor for the primitive kinds section. - - ACE_Configuration_Section_Key strings_key (void) const; - // Accessor for the bounded strings section. - - ACE_Configuration_Section_Key wstrings_key (void) const; - // Accessor for the bounded wstrings section. - - ACE_Configuration_Section_Key fixeds_key (void) const; - // Accessor for the fixed types section. - - ACE_Configuration_Section_Key arrays_key (void) const; - // Accessor for the anonymous arrays section. - - ACE_Configuration_Section_Key sequences_key (void) const; - // Accessor for the anonymous sequences section. - - const char *extension (void) const; - // Accessor for the name extension string. - - ACE_Lock &lock (void) const; - // Repo lock. - - void shutdown (void); - // Used ONLY with Purify, for memory leak checking. - // A call to this can be temporariily appended to the - // destroy() method of the last thing to be destroyed - // by the test code. - -protected: - CORBA::ORB_ptr orb_; - // Reference to our ORB. - - PortableServer::POA_var root_poa_; - // Reference to the root POA. - - PortableServer::POA_var repo_poa_; - // Reference to the POA handling calls to this servant. - - PortableServer::Current_var poa_current_; - // Reference to the PortableServer::Current object - - ACE_Configuration *config_; - // Our ACE_Configuration database. - - CORBA::TypeCodeFactory_var tc_factory_; - // Our Typecode factory. - - CORBA::Repository_var repo_objref_; - // The object reference of this servant. - - ACE_Configuration_Section_Key root_key_; - // Root of all IR objects. - - ACE_Configuration_Section_Key repo_ids_key_; - // Flat section of Interface Repository ids. - - ACE_Configuration_Section_Key pkinds_key_; - // Section holding the primitive kinds. - - ACE_Configuration_Section_Key strings_key_; - // Section holding the bounded strings. - - ACE_Configuration_Section_Key wstrings_key_; - // Section holding the bounded wstrings. - - ACE_Configuration_Section_Key fixeds_key_; - // Section holding the fixed types. - - ACE_Configuration_Section_Key arrays_key_; - // Section holding the anonymous arrays. - - ACE_Configuration_Section_Key sequences_key_; - // Section holding the anonymous sequences. - - CORBA::String_var extension_; - // Added to names temporarily to avoid name clashes. - - ACE_Lock *lock_; - // Lock. - - // Define a POA for each IR Object type, and a corresponding - // default servant. - -#ifdef CONCRETE_IR_OBJECT_TYPES -#undef CONCRETE_IR_OBJECT_TYPES -#endif - -#ifdef GEN_IR_OBJECT -#undef GEN_IR_OBJECT -#endif - -#define CONCRETE_IR_OBJECT_TYPES \ - GEN_IR_OBJECT (ExtAbstractInterfaceDef) \ - GEN_IR_OBJECT (AliasDef) \ - GEN_IR_OBJECT (ArrayDef) \ - GEN_IR_OBJECT (AttributeDef) \ - GEN_IR_OBJECT (ConstantDef) \ - GEN_IR_OBJECT (EnumDef) \ - GEN_IR_OBJECT (ExceptionDef) \ - GEN_IR_OBJECT (FixedDef) \ - GEN_IR_OBJECT (ExtInterfaceDef) \ - GEN_IR_OBJECT (ExtLocalInterfaceDef) \ - GEN_IR_OBJECT (NativeDef) \ - GEN_IR_OBJECT (OperationDef) \ - GEN_IR_OBJECT (PrimitiveDef) \ - GEN_IR_OBJECT (SequenceDef) \ - GEN_IR_OBJECT (StringDef) \ - GEN_IR_OBJECT (StructDef) \ - GEN_IR_OBJECT (UnionDef) \ - GEN_IR_OBJECT (ValueBoxDef) \ - GEN_IR_OBJECT (ExtValueDef) \ - GEN_IR_OBJECT (ValueMemberDef) \ - GEN_IR_OBJECT (WstringDef) - -#define GEN_IR_OBJECT(name) \ - POA_CORBA:: name ## _tie * name ## _servant_; \ - PortableServer::POA_var name ## _poa_; - - CONCRETE_IR_OBJECT_TYPES - -#undef GEN_IR_OBJECT - -private: - static const char * TAO_IFR_primitive_kinds[]; - // Set of strings corresponding to the CORBA::PrimitiveKind - // enum values. - - const char *pkind_to_string (CORBA::PrimitiveKind pkind) const; - // Convert the enum value to the equivalent string. - - u_int num_pkinds (void) const; - // Return the number of entries in the CORBA::PrimitiveKind enum. - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_REPOSITORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp deleted file mode 100644 index 5f7465b47fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp +++ /dev/null @@ -1,269 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/SequenceDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - SequenceDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_SequenceDef_i::TAO_SequenceDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_SequenceDef_i::~TAO_SequenceDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_SequenceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Sequence; -} - -void -TAO_SequenceDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_SequenceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Only if it is (w)string, fixed, array or sequence. - this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - this->repo_->config ()->remove_section (this->repo_->sequences_key (), - name.c_str (), - 0); -} - -CORBA::TypeCode_ptr -TAO_SequenceDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_SequenceDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::TypeCode_var element_typecode = - this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::ULong bound = this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_sequence_tc ( - bound, - element_typecode.in () - ACE_ENV_ARG_PARAMETER - ); -} - -CORBA::ULong -TAO_SequenceDef_i::bound (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ULong -TAO_SequenceDef_i::bound_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int bound = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "bound", - bound); - - return static_cast (bound); -} - -void -TAO_SequenceDef_i::bound (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->bound_i (bound - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_SequenceDef_i::bound_i (CORBA::ULong bound - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "bound", - bound); -} - -CORBA::TypeCode_ptr -TAO_SequenceDef_i::element_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_SequenceDef_i::element_type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString element_path; - this->repo_->config ()->get_string_value (this->section_key_, - "element_path", - element_path); - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (element_path, - this->repo_); - - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_SequenceDef_i::element_type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->element_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_SequenceDef_i::element_type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString element_path; - this->repo_->config ()->get_string_value (this->section_key_, - "element_path", - element_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (element_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_SequenceDef_i::element_type_def (CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->element_type_def_i (element_type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_SequenceDef_i::element_type_def_i (CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - char *element_path = - TAO_IFR_Service_Utils::reference_to_path (element_type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "element_path", - element_path); -} - -void -TAO_SequenceDef_i::destroy_element_type ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString element_path; - this->repo_->config ()->get_string_value (this->section_key_, - "element_path", - element_path); - - CORBA::DefinitionKind def_kind = - TAO_IFR_Service_Utils::path_to_def_kind (element_path, - this->repo_); - - switch (def_kind) - { - // These exist only as our elements, so the type should - // be destroyed when we are destroyed or our element type - // is mutated. - case CORBA::dk_String: - case CORBA::dk_Wstring: - case CORBA::dk_Fixed: - case CORBA::dk_Array: - case CORBA::dk_Sequence: - { - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (element_path, - this->repo_); - - impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - break; - } - default: - break; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.h deleted file mode 100644 index cbed0039d88..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/SequenceDef_i.h +++ /dev/null @@ -1,150 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// SequenceDef_i.h -// -// = DESCRIPTION -// SequenceDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef SEQUENCEDEF_I_H -#define SEQUENCEDEF_I_H - -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_SequenceDef_i : public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_SequenceDef_i - // - // = DESCRIPTION - // Represents an IDL sequence type. - // -public: - TAO_SequenceDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_SequenceDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ULong bound_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void bound ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void bound_i ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr element_type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr element_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr element_type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void element_type_def ( - CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void element_type_def_i ( - CORBA::IDLType_ptr element_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - void destroy_element_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Destroys an anonymous non-primitive element type. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_SEQUENCEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.cpp deleted file mode 100644 index b8068cdb642..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.cpp +++ /dev/null @@ -1,131 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/StringDef_i.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - StringDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_StringDef_i::TAO_StringDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_StringDef_i::~TAO_StringDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_StringDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_String; -} - -void -TAO_StringDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_StringDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - this->repo_->config ()->remove_section (this->repo_->strings_key (), - name.c_str (), - 0); -} - -CORBA::TypeCode_ptr -TAO_StringDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_StringDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong bound = this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_string_tc ( - bound - ACE_ENV_ARG_PARAMETER - ); -} - -CORBA::ULong -TAO_StringDef_i::bound (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ULong -TAO_StringDef_i::bound_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int retval = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "bound", - retval); - - return static_cast (retval); -} - -void -TAO_StringDef_i::bound (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->bound_i (bound - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_StringDef_i::bound_i (CORBA::ULong bound - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "bound", - bound); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.h deleted file mode 100644 index 5f1e402b8ce..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/StringDef_i.h +++ /dev/null @@ -1,112 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// StringDef_i.h -// -// = DESCRIPTION -// StringDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_STRINGDEF_I_H -#define TAO_STRINGDEF_I_H - -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_StringDef_i : public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_StringDef_i - // - // = DESCRIPTION - // Represents a bounded string (unbounded strings - // are included in PrimitiveDef). - // -public: - TAO_StringDef_i (TAO_Repository_i *repoy); - // Constructor. - - virtual ~TAO_StringDef_i (void); - // Destructor. - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ULong bound_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void bound ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void bound_i ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_STRINGDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp deleted file mode 100644 index e4cef6229e6..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp +++ /dev/null @@ -1,317 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/StructDef_i.h" -#include "orbsvcs/IFRService/RecursDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - StructDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_StructDef_i::TAO_StructDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_TypedefDef_i (repo), - TAO_Container_i (repo) -{ -} - -TAO_StructDef_i::~TAO_StructDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_StructDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Struct; -} - -void -TAO_StructDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_StructDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our members. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Destroy ourself. - TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::TypeCode_ptr -TAO_StructDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_StructDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - //--------------------------------------------------------------------------- - // Have we already seen this structure definition at an outer scope? - // If yes, return a recursive type code to signal the nesting. - // If not, record this new structure id in our stack (it will automatically - // be removed when NowSeenThis goes out of scope). - //--------------------------------------------------------------------------- - - if (TAO_RecursiveDef_OuterScopes::SeenBefore( id )) - return this->repo_->tc_factory ()-> - create_recursive_tc ( id.c_str () ACE_ENV_ARG_PARAMETER); - - TAO_RecursiveDef_OuterScopes NowSeenThis( id ); - - //--------------------------------------------------------------------------- - // Create a new type code for this structure; the create_struct_tc() call - // that follows may recursivly call this method again if one of its children - // refers to a structure (which is the point of the above NowSeenThis stack). - //--------------------------------------------------------------------------- - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - CORBA::StructMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_struct_tc (id.c_str (), - name.c_str (), - members.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::StructMemberSeq * -TAO_StructDef_i::members (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::StructMemberSeq * -TAO_StructDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue kind_queue; - ACE_Unbounded_Queue path_queue; - ACE_Unbounded_Queue name_queue; - - ACE_Configuration_Section_Key refs_key; - this->repo_->config ()->open_section (this->section_key_, - "refs", - 0, - refs_key); - - u_int count = 0; - this->repo_->config ()->get_integer_value (refs_key, - "count", - count); - - for (u_int i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 0, - member_key); - - ACE_TString path; - this->repo_->config ()->get_string_value (member_key, - "path", - path); - - ACE_Configuration_Section_Key entry_key; - int status = - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - entry_key, - 0); - - // This entry may have been removed. - if (status == 0) - { - path_queue.enqueue_tail (path); - - ACE_TString name; - this->repo_->config ()->get_string_value (member_key, - "name", - name); - - name_queue.enqueue_tail (name); - - u_int kind = 0; - this->repo_->config ()->get_integer_value (entry_key, - "def_kind", - kind); - - CORBA::DefinitionKind def_kind = - static_cast (kind); - - kind_queue.enqueue_tail (def_kind); - } - } - - CORBA::ULong size = static_cast (kind_queue.size ()); - - CORBA::StructMemberSeq *members = 0; - ACE_NEW_THROW_EX (members, - CORBA::StructMemberSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - members->length (size); - - CORBA::StructMemberSeq_var retval = members; - - ACE_TString name, path; - CORBA::DefinitionKind kind = CORBA::dk_none; - CORBA::Object_var obj; - ACE_Configuration_Section_Key member_key; - TAO_IDLType_i *impl = 0; - - // Store to replace below. - ACE_Configuration_Section_Key key_holder = this->section_key_; - - for (CORBA::ULong k = 0; k < size; ++k) - { - name_queue.dequeue_head (name); - retval[k].name = name.c_str (); - kind_queue.dequeue_head (kind); - path_queue.dequeue_head (path); - - obj = TAO_IFR_Service_Utils::create_objref (kind, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[k].type_def = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - member_key, - 0); - - impl = TAO_IFR_Service_Utils::path_to_idltype (path, - this->repo_); - if (0 == impl) - { - ACE_THROW_RETURN ( CORBA::OBJECT_NOT_EXIST(), 0); - } - - retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // If this struct contains a nested struct (of another type) at - // some level, the above code will have changed the section key - // so we have to replace it with the value we stored above. - this->section_key (key_holder); - } - - return retval._retn (); -} - -void -TAO_StructDef_i::members (const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->members_i (members - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_StructDef_i::members_i (const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our old members, both refs and defns. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULong count = members.length (); - - ACE_TString section_name; - ACE_Configuration_Section_Key refs_key; - - this->repo_->config ()->open_section (this->section_key_, - "refs", - 1, - refs_key); - char *path = 0; - - // Create a section for each new member. We just store the - // member name and the path to its database entry. - for (CORBA::ULong i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - member_key); - - this->repo_->config ()->set_string_value (member_key, - "name", - members[i].name.in ()); - - path = - TAO_IFR_Service_Utils::reference_to_path (members[i].type_def.in ()); - - this->repo_->config ()->set_string_value (member_key, - "path", - path); - } - - this->repo_->config ()->set_integer_value (refs_key, - "count", - count); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.h deleted file mode 100644 index a679e5ff3dd..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.h +++ /dev/null @@ -1,113 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// StructDef_i.h -// -// = DESCRIPTION -// StructDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_STRUCTDEF_I_H -#define TAO_STRUCTDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_StructDef_i : public virtual TAO_TypedefDef_i, - public virtual TAO_Container_i -{ - // = TITLE - // TAO_StructDef_i - // - // = DESCRIPTION - // Represents an OMG IDL structure definition. - // -public: - TAO_StructDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_StructDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry and its contents. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::StructMemberSeq *members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::StructMemberSeq *members_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void members ( - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void members_i ( - const CORBA::StructMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_STRUCTDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.cpp deleted file mode 100644 index 3261a380750..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/TypedefDef_i.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - TypedefDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_TypedefDef_i::TAO_TypedefDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_TypedefDef_i::~TAO_TypedefDef_i (void) -{ -} - -CORBA::Contained::Description * -TAO_TypedefDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_TypedefDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Contained::Description *desc_ptr = 0; - ACE_NEW_THROW_EX (desc_ptr, - CORBA::Contained::Description, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description_var retval = desc_ptr; - - retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::TypeDescription td; - - ACE_CHECK_RETURN (0); - td.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - - td.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TString container_id; - - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - container_id); - - td.defined_in = container_id.c_str (); - - td.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - td.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval->value <<= td; - - return retval._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.h deleted file mode 100644 index 1d836a105d2..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/TypedefDef_i.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// TypedefDef_i.h -// -// = DESCRIPTION -// TypedefDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_TYPEDEFDEF_I_H -#define TAO_TYPEDEFDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_TypedefDef_i : public virtual TAO_Contained_i, - public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_TypedefDef_i - // - // = DESCRIPTION - // Base interface inherited by all named non-object types: - // struct, union, enum, alias, native, and valuebox. - // -public: - TAO_TypedefDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_TypedefDef_i (void); - // Destructor - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_TYPEDEFDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp deleted file mode 100644 index efc0446c718..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp +++ /dev/null @@ -1,486 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/UnionDef_i.h" -#include "orbsvcs/IFRService/RecursDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" -#include "tao/CDR.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - UnionDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UnionDef_i::TAO_UnionDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_TypedefDef_i (repo), - TAO_Container_i (repo) -{ -} - -TAO_UnionDef_i::~TAO_UnionDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_UnionDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Union; -} - -void -TAO_UnionDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_UnionDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our members. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Destroy ourself. - TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::TypeCode_ptr -TAO_UnionDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_UnionDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - //--------------------------------------------------------------------------- - // Have we already seen this union definition at an outer scope? - // If yes, return a recursive type code to signal the nesting. - // If not, record this new union id in our stack (it will automatically be - // removed when NowSeenThis goes out of scope). - //--------------------------------------------------------------------------- - - if (TAO_RecursiveDef_OuterScopes::SeenBefore( id )) - return this->repo_->tc_factory ()-> - create_recursive_tc ( id.c_str () ACE_ENV_ARG_PARAMETER); - - TAO_RecursiveDef_OuterScopes NowSeenThis( id ); - - //--------------------------------------------------------------------------- - // Create a new type code for this structure; the create_union_tc() call - // that follows may recursivly call this method again if one of its children - // refers to a union (which is the point of the above NowSeenThis stack). - //--------------------------------------------------------------------------- - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - CORBA::TypeCode_var tc = this->discriminator_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - CORBA::UnionMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_union_tc (id.c_str (), - name.c_str (), - tc.in (), - members.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_UnionDef_i::discriminator_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->discriminator_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_UnionDef_i::discriminator_type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString disc_path; - this->repo_->config ()->get_string_value (this->section_key_, - "disc_path", - disc_path); - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (disc_path, - this->repo_); - if (0 == impl) - { - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST(), CORBA::TypeCode::_nil () ); - } - - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_UnionDef_i::discriminator_type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->discriminator_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_UnionDef_i::discriminator_type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString disc_path; - this->repo_->config ()->get_string_value (this->section_key_, - "disc_path", - disc_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (disc_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UnionDef_i::discriminator_type_def ( - CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->discriminator_type_def_i (discriminator_type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UnionDef_i::discriminator_type_def_i ( - CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *disc_path = - TAO_IFR_Service_Utils::reference_to_path (discriminator_type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "disc_path", - disc_path); -} - -CORBA::UnionMemberSeq * -TAO_UnionDef_i::members (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::UnionMemberSeq * -TAO_UnionDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Unbounded_Queue key_queue; - - ACE_Configuration_Section_Key refs_key; - this->repo_->config ()->open_section (this->section_key_, - "refs", - 0, - refs_key); - - u_int count; - this->repo_->config ()->get_integer_value (refs_key, - "count", - count); - - for (u_int i = 0; i < count; ++i) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - if (this->repo_->config ()->open_section (refs_key, - stringified, - 0, - member_key) - == 0) - { - ACE_TString path; - this->repo_->config ()->get_string_value (member_key, - "path", - path); - - ACE_Configuration_Section_Key entry_key; - - // This entry may have been removed. - if (this->repo_->config ()->expand_path (this->repo_->root_key (), - path, - entry_key, - 0) - == 0) - { - key_queue.enqueue_tail (member_key); - } - } - } - - CORBA::ULong size = static_cast (key_queue.size ()); - - CORBA::UnionMemberSeq *members = 0; - ACE_NEW_THROW_EX (members, - CORBA::UnionMemberSeq (size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - members->length (size); - CORBA::UnionMemberSeq_var retval = members; - - ACE_TString name, path; - ACE_Configuration_Section_Key next_key, entry_key; - CORBA::Object_var obj; - TAO_IDLType_i *impl = 0; - - // Store to replace below. - ACE_Configuration_Section_Key key_holder = this->section_key_; - - for (CORBA::ULong k = 0; k < size; ++k) - { - key_queue.dequeue_head (next_key); - - this->repo_->config ()->get_string_value (next_key, - "name", - name); - - retval[k].name = name.c_str (); - - this->fetch_label (next_key, - retval[k] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->get_string_value (next_key, - "path", - path); - - obj = TAO_IFR_Service_Utils::path_to_ir_object (path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[k].type_def = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - impl = TAO_IFR_Service_Utils::path_to_idltype (path, - this->repo_); - if (0 == impl) - { - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST(), 0 ); - } - - retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // If this union contains a nested union (of another type) at - // some level, the above code will have changed the section key - // so we have to replace it with the value we stored above. - this->section_key (key_holder); - } - - return retval._retn (); -} - -void -TAO_UnionDef_i::members (const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->members_i (members - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UnionDef_i::members_i (const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Destroy our old members, both refs and defns. - TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_TString section_name; - ACE_Configuration_Section_Key refs_key; - - this->repo_->config ()->open_section (this->section_key_, - "refs", - 1, - refs_key); - - // Store the new member count of the union. - CORBA::ULong count = members.length (); - this->repo_->config ()->set_integer_value (refs_key, - "count", - count); - char *member_path = 0; - - // Create a section for each member. We store the member - // name, its label value, and the path to its database entry. - for (CORBA::ULong i = 0; i < count; i++) - { - ACE_Configuration_Section_Key member_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (refs_key, - stringified, - 1, - member_key); - - this->repo_->config ()->set_string_value (member_key, - "name", - members[i].name.in ()); - - member_path = - TAO_IFR_Service_Utils::reference_to_path (members[i].type_def.in ()); - - this->repo_->config ()->set_string_value (member_key, - "path", - member_path); - - this->store_label (member_key, - members[i].label - ACE_ENV_ARG_PARAMETER); - } -} - -void -TAO_UnionDef_i::fetch_label (const ACE_Configuration_Section_Key member_key, - CORBA::UnionMember &member - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_Configuration::VALUETYPE vt; - this->repo_->config ()->find_value (member_key, - "label", - vt); - - if (vt == ACE_Configuration::STRING) - { - member.label <<= CORBA::Any::from_octet (0); - - return; - } - - u_int value = 0; - this->repo_->config ()->get_integer_value (member_key, - "label", - value); - - CORBA::TypeCode_var tc = - this->discriminator_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - switch (kind) - { - case CORBA::tk_char: - member.label <<= CORBA::Any::from_char (static_cast (value)); - break; - case CORBA::tk_wchar: - member.label <<= CORBA::Any::from_wchar (static_cast (value)); - break; - case CORBA::tk_boolean: - member.label <<= CORBA::Any::from_boolean (static_cast (value)); - break; - case CORBA::tk_short: - member.label <<= static_cast (value); - break; - case CORBA::tk_ushort: - member.label <<= static_cast (value); - break; - case CORBA::tk_long: - member.label <<= static_cast (value); - break; - case CORBA::tk_ulong: - member.label <<= static_cast (value); - break; -#if !defined (ACE_LACKS_LONGLONG_T) - case CORBA::tk_longlong: - member.label <<= static_cast (value); - break; -#endif /* ACE_LACKS_LONGLONG_T */ - case CORBA::tk_ulonglong: - member.label <<= static_cast (value); - break; - case CORBA::tk_enum: - { - TAO_OutputCDR cdr; - cdr.write_ulong (static_cast (value)); - TAO_InputCDR in_cdr (cdr); - TAO::Unknown_IDL_Type *impl = 0; - ACE_NEW (impl, - TAO::Unknown_IDL_Type (tc.in (), - in_cdr)); - member.label.replace (impl); - break; - } - default: - break; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h deleted file mode 100644 index feace1c2ec5..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h +++ /dev/null @@ -1,153 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// UnionDef_i.h -// -// = DESCRIPTION -// UnionDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_UNIONDEF_I_H -#define TAO_UNIONDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "orbsvcs/IFRService/Container_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_UnionDef_i : public virtual TAO_TypedefDef_i, - public virtual TAO_Container_i -{ - // = TITLE - // TAO_UnionDef_i - // - // = DESCRIPTION - // Represents an OMG IDL union definition. - // -public: - TAO_UnionDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_UnionDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry and its contents. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr discriminator_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr discriminator_type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr discriminator_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr discriminator_type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void discriminator_type_def ( - CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void discriminator_type_def_i ( - CORBA::IDLType_ptr discriminator_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::UnionMemberSeq *members ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::UnionMemberSeq *members_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void members ( - const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void members_i ( - const CORBA::UnionMemberSeq &members - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - void fetch_label ( - const ACE_Configuration_Section_Key member_key, - CORBA::UnionMember &member - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Used by members() to get each member's label value. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_UNIONDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp deleted file mode 100644 index 833a7fd0c6a..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp +++ /dev/null @@ -1,214 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/UsesDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - UsesDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UsesDef_i::TAO_UsesDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_UsesDef_i::~TAO_UsesDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_UsesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Uses; -} - -CORBA::Contained::Description * -TAO_UsesDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_UsesDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ComponentIR::UsesDescription ud; - TAO_IFR_Desc_Utils::fill_desc_begin ( - ud, - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - ACE_TString base_type_id; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - base_type_id); - ud.interface_type = base_type_id.fast_rep (); - ud.is_multiple = this->is_multiple_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::Contained::Description, - 0); - - retval->kind = CORBA::dk_Uses; - retval->value <<= ud; - return retval; -} - -CORBA::InterfaceDef_ptr -TAO_UsesDef_i::interface_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::InterfaceDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - return this->interface_type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDef_ptr -TAO_UsesDef_i::interface_type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "base_type", - holder); - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::InterfaceDef::_nil ()); - - return CORBA::InterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UsesDef_i::interface_type ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->interface_type_i (interface_type - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UsesDef_i::interface_type_i ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_value (this->section_key_, - "base_type"); - - if (CORBA::is_nil (interface_type)) - { - return; - } - - const char *tmp = - TAO_IFR_Service_Utils::reference_to_path (interface_type); - - ACE_Configuration_Section_Key new_key; - this->repo_->config ()->expand_path (this->repo_->root_key (), - tmp, - new_key, - 0); - - ACE_TString holder; - this->repo_->config ()->get_string_value (new_key, - "id", - holder); - - this->repo_->config ()->set_string_value ( - this->section_key_, - "base_type", - holder - ); -} - -CORBA::Boolean -TAO_UsesDef_i::is_multiple (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_multiple_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_UsesDef_i::is_multiple_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong val = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "is_multiple", - val); - return static_cast (val); -} - -void -TAO_UsesDef_i::is_multiple ( - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->is_multiple_i (is_multiple - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UsesDef_i::is_multiple_i ( - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "is_multiple", - is_multiple); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.h deleted file mode 100644 index c0daa00be10..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/UsesDef_i.h +++ /dev/null @@ -1,122 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// UsesDef_i.h -// -// = DESCRIPTION -// UsesDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_USESDEF_I_H -#define TAO_USESDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_UsesDef_i : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_UsesDef_i - // - // = DESCRIPTION - // Represents an interface that is used by a component. - // -public: - TAO_UsesDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_UsesDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::InterfaceDef_ptr interface_type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void interface_type ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void interface_type_i ( - CORBA::InterfaceDef_ptr interface_type - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDef_ptr interface_type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_multiple ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_multiple_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void is_multiple ( - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void is_multiple_i ( - CORBA::Boolean is_multiple - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_USESDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp deleted file mode 100644 index c8a710dcc23..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/ValueBoxDef_i.h" -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/Auto_Ptr.h" -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ValueBoxDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ValueBoxDef_i::TAO_ValueBoxDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo), - TAO_TypedefDef_i (repo) -{ -} - -TAO_ValueBoxDef_i::~TAO_ValueBoxDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ValueBoxDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_ValueBox; -} - -CORBA::TypeCode_ptr -TAO_ValueBoxDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ValueBoxDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString id; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - id); - - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - ACE_TString boxed_type_path; - this->repo_->config ()->get_string_value (this->section_key_, - "boxed_type", - boxed_type_path); - - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (boxed_type_path, - this->repo_); - - CORBA::TypeCode_var tc = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_value_box_tc (id.c_str (), - name.c_str (), - tc.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ValueBoxDef_i::original_type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ValueBoxDef_i::original_type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString boxed_type_path; - this->repo_->config ()->get_string_value (this->section_key_, - "boxed_type", - boxed_type_path); - - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (boxed_type_path, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueBoxDef_i::original_type_def (CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->original_type_def_i (original_type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueBoxDef_i::original_type_def_i (CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char *boxed_type = - TAO_IFR_Service_Utils::reference_to_path (original_type_def); - - this->repo_->config ()->set_string_value (this->section_key_, - "boxed_type", - boxed_type); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.h deleted file mode 100644 index 9fd68ca1cc8..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ValueBoxDef_i.h -// -// = DESCRIPTION -// ValueBoxDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_VALUEBOXDEF_I_H -#define TAO_VALUEBOXDEF_I_H - -#include "orbsvcs/IFRService/TypedefDef_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ValueBoxDef_i : public virtual TAO_TypedefDef_i -{ -public: - // = TITLE - // TAO_ValueBoxDef_i - // - // = DESCRIPTION - // Represents an value box definition. - // -public: - TAO_ValueBoxDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ValueBoxDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::IDLType_ptr original_type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr original_type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void original_type_def ( - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void original_type_def_i ( - CORBA::IDLType_ptr original_type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_VALUEBOXDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp deleted file mode 100644 index d4ff826a40b..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp +++ /dev/null @@ -1,1857 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ValueDef_i.h" -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/OperationDef_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ValueDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ValueDef_i::TAO_ValueDef_i (TAO_Repository_i *repo) - : TAO_IRObject_i (repo), - TAO_Container_i (repo), - TAO_Contained_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_ValueDef_i::~TAO_ValueDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ValueDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Value; -} - -void -TAO_ValueDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // These will get rid of the repo ids, which Contained_i::destroy()'s - // call to remove_section (recursive = 1) will not get, and also - // destroy the attribute's anonymous type, if any. - - TAO_IFR_Generic_Utils::destroy_special ( - "attrs", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; - - TAO_IFR_Generic_Utils::destroy_special ( - "ops", - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK; -} - -CORBA::Contained::Description * -TAO_ValueDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ValueDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ValueDescription *vd = 0; - ACE_NEW_RETURN (vd, - CORBA::ValueDescription, - 0); - CORBA::ValueDescription_var safe_vd = vd; - - this->fill_value_description (safe_vd.inout () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Contained::Description *cd = 0; - ACE_NEW_RETURN (cd, - CORBA::Contained::Description, - 0); - - cd->kind = CORBA::dk_Value; - cd->value <<= safe_vd._retn (); - return cd; -} - -CORBA::TypeCode_ptr -TAO_ValueDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ValueDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - /// Since valuetype type codes may encapsultate the type code of a - /// base class, this call could be recursive, with the - /// ACE_Configuration_Section_Key replaced for each recursion. To - /// avoid this problem, the recursion is moved to a static utility - /// function. - return TAO_IFR_Service_Utils::gen_valuetype_tc_r (this->section_key_, - this->repo_ - ACE_ENV_ARG_PARAMETER); -} - -CORBA::InterfaceDefSeq * -TAO_ValueDef_i::supported_interfaces (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->supported_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InterfaceDefSeq * -TAO_ValueDef_i::supported_interfaces_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::InterfaceDefSeq *seq = 0; - ACE_NEW_RETURN (seq, - CORBA::InterfaceDefSeq, - 0); - CORBA::InterfaceDefSeq_var retval = seq; - - ACE_Configuration_Section_Key supported_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "supported", - 0, - supported_key); - - if (status != 0) - { - seq->length (0); - return retval._retn (); - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (supported_key, - "count", - count); - seq->length (count); - char *stringified = 0; - ACE_TString holder; - CORBA::Object_var obj; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (supported_key, - stringified, - holder); - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - obj = TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::InterfaceDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_ValueDef_i::supported_interfaces ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->supported_interfaces_i (supported_interfaces - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::supported_interfaces_i ( - const CORBA::InterfaceDefSeq &supported_interfaces - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "supported", - 0); - ACE_Configuration_Section_Key supported_key; - this->repo_->config ()->open_section (this->section_key_, - "supported", - 1, - supported_key); - CORBA::ULong count = supported_interfaces.length (); - this->repo_->config ()->set_integer_value (supported_key, - "count", - count); - char *stringified = 0; - const char *supported_id = 0; - const char *supported_path = 0; - CORBA::ULong kind = 0; - CORBA::Boolean concrete_seen = 0; - CORBA::DefinitionKind def_kind; - - for (CORBA::ULong i = 0; i < count; ++i) - { - supported_path = - TAO_IFR_Service_Utils::reference_to_path ( - supported_interfaces[i] - ); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base interfaces is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path (this->repo_->root_key (), - supported_path, - TAO_IFR_Service_Utils::tmp_key_, - 0); - this->repo_->config ()->get_integer_value ( - TAO_IFR_Service_Utils::tmp_key_, - "def_kind", - kind - ); - def_kind = static_cast (kind); - - if (def_kind == CORBA::dk_Interface) - { - if (concrete_seen == 0) - { - concrete_seen = 1; - } - else - { - ACE_THROW (CORBA::BAD_PARAM (CORBA::OMGVMCID | 12, - CORBA::COMPLETED_NO)); - return; - } - } - - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - this->section_key_, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - stringified = TAO_IFR_Service_Utils::int_to_string (i); - supported_id = supported_interfaces[i]->_interface_repository_id (); - this->repo_->config ()->set_string_value (supported_key, - stringified, - supported_id); - } -} - -CORBA::InitializerSeq * -TAO_ValueDef_i::initializers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->initializers_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::InitializerSeq * -TAO_ValueDef_i::initializers_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::InitializerSeq *iseq = 0; - ACE_NEW_RETURN (iseq, - CORBA::InitializerSeq, - 0); - CORBA::InitializerSeq_var retval = iseq; - - ACE_Configuration_Section_Key initializers_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "initializers", - 0, - initializers_key); - - if (status != 0) - { - iseq->length (0); - return retval._retn (); - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (initializers_key, - "count", - count); - iseq->length (count); - char *stringified = 0; - ACE_Configuration_Section_Key initializer_key, params_key, arg_key; - ACE_TString holder; - CORBA::ULong arg_count = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 0, - initializer_key); - this->repo_->config ()->get_string_value (initializer_key, - "name", - holder); - retval[i].name = holder.fast_rep (); - status = - this->repo_->config ()->open_section (initializer_key, - "params", - 0, - params_key); - - if (status != 0) - { - retval[i].members.length (0); - continue; - } - - this->repo_->config ()->get_integer_value (params_key, - "count", - arg_count); - retval[i].members.length (arg_count); - CORBA::Object_var obj; - - for (CORBA::ULong j = 0; j < arg_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (params_key, - stringified, - 0, - arg_key); - this->repo_->config ()->get_string_value (arg_key, - "arg_name", - holder); - retval[i].members[j].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (arg_key, - "arg_path", - holder); - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - retval[i].members[j].type = - impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i].members[j].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - return retval._retn (); -} - -void -TAO_ValueDef_i::initializers (const CORBA::InitializerSeq &initializers - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->initializers_i (initializers - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::initializers_i (const CORBA::InitializerSeq &initializers - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "initializers", - 1); - TAO_IFR_Generic_Utils::set_initializers ( - initializers, - this->repo_->config (), - this->section_key_ - ); -} - -CORBA::ValueDef_ptr -TAO_ValueDef_i::base_value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::ValueDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - return this->base_value_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ValueDef_ptr -TAO_ValueDef_i::base_value_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - int status = - this->repo_->config ()->get_string_value (this->section_key_, - "base_value", - holder); - - if (status != 0) - { - return CORBA::ValueDef::_nil (); - } - - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueDef::_nil ()); - - return CORBA::ValueDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::base_value (CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->base_value_i (base_value - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::base_value_i (CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (base_value)) - { - this->repo_->config ()->remove_value (this->section_key_, - "base_value"); - return; - } - - const char *base_path = - TAO_IFR_Service_Utils::reference_to_path (base_value); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base valuetypes is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - this->section_key_, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->repo_->config ()->set_string_value ( - this->section_key_, - "base_value", - base_value->_interface_repository_id () - ); -} - -CORBA::ValueDefSeq * -TAO_ValueDef_i::abstract_base_values (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->abstract_base_values_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ValueDefSeq * -TAO_ValueDef_i::abstract_base_values_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ValueDefSeq *vd_seq = 0; - ACE_NEW_RETURN (vd_seq, - CORBA::ValueDefSeq, - 0); - CORBA::ValueDefSeq_var retval = vd_seq; - - ACE_Configuration_Section_Key bases_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "abstract_bases", - 0, - bases_key); - - if (status != 0) - { - vd_seq->length (0); - return retval._retn (); - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (bases_key, - "count", - count); - vd_seq->length (count); - char *stringified = 0; - ACE_TString holder; - CORBA::Object_var obj; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (bases_key, - stringified, - holder); - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - obj = TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retval[i] = CORBA::ValueDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return retval._retn (); -} - -void -TAO_ValueDef_i::abstract_base_values ( - const CORBA::ValueDefSeq &abstract_base_values - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->abstract_base_values_i (abstract_base_values - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::abstract_base_values_i ( - const CORBA::ValueDefSeq &abstract_base_values - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->remove_section (this->section_key_, - "abstract_bases", - 0); - CORBA::ULong count = abstract_base_values.length (); - - if (count == 0) - { - return; - } - - ACE_Configuration_Section_Key bases_key; - this->repo_->config ()->open_section (this->section_key_, - "abstract_bases", - 0, - bases_key); - this->repo_->config ()->set_integer_value (bases_key, - "count", - count); - const char *base_id = 0; - const char *base_path = 0; - char *stringified = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - base_path = - TAO_IFR_Service_Utils::reference_to_path ( - abstract_base_values[i] - ); - - // Get the servant's key into the temporary key holder, because - // the name clash checker for base interfaces is static, and has - // no other way to know about a specific key. - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - base_path, - TAO_IFR_Service_Utils::tmp_key_, - 0 - ); - TAO_IFR_Service_Utils::name_exists (&TAO_ValueDef_i::name_clash, - this->section_key_, - this->repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - base_id = abstract_base_values[i]->_interface_repository_id (); - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (bases_key, - stringified, - base_id); - } -} - -CORBA::Boolean -TAO_ValueDef_i::is_abstract (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_abstract_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_ValueDef_i::is_abstract_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong is_it = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "is_abstract", - is_it); - return static_cast (is_it); -} - -void -TAO_ValueDef_i::is_abstract (CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->is_abstract (is_abstract - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::is_abstract_i (CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value ( - this->section_key_, - "is_abstract", - static_cast (is_abstract)); -} - -CORBA::Boolean -TAO_ValueDef_i::is_custom (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_custom_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_ValueDef_i::is_custom_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong is_it = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "is_custom", - is_it); - return static_cast (is_it); -} - -void -TAO_ValueDef_i::is_custom (CORBA::Boolean is_custom - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->is_custom_i (is_custom - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::is_custom_i (CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value ( - this->section_key_, - "is_custom", - static_cast (is_custom)); -} - -CORBA::Boolean -TAO_ValueDef_i::is_truncatable (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_truncatable_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_ValueDef_i::is_truncatable_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong is_it = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "is_truncatable", - is_it); - return static_cast (is_it); -} - -void -TAO_ValueDef_i::is_truncatable (CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->is_truncatable_i (is_truncatable - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueDef_i::is_truncatable_i (CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value ( - this->section_key_, - "is_truncatable", - static_cast (is_truncatable)); -} - -CORBA::Boolean -TAO_ValueDef_i::is_a (const char *id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->is_a_i (id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_ValueDef_i::is_a_i (const char *id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (ACE_OS::strcmp (id, "IDL:omg.org/CORBA/ValueBase:1.0") == 0) - { - return 1; - } - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - - // Is it our type? - if (ACE_OS::strcmp (holder.fast_rep (), id) == 0) - { - return 1; - } - - this->repo_->config ()->get_string_value (this->section_key_, - "base_value", - holder); - - // Is it our concrete base type? - if (ACE_OS::strcmp (holder.fast_rep (), id) == 0) - { - return 1; - } - - ACE_Configuration_Section_Key bases_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "abstract_bases", - 0, - bases_key); - - if (status != 0) - { - return 0; - } - - CORBA::ULong count = 0; - this->repo_->config ()->get_integer_value (bases_key, - "count", - count); - char *stringified = 0; - ACE_Configuration_Section_Key base_key; - CORBA::Boolean success = 0; - - for (CORBA::ULong i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->get_string_value (bases_key, - stringified, - holder); - this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (), - holder.fast_rep (), - holder); - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - base_key, - 0); - TAO_ValueDef_i impl (this->repo_); - impl.section_key (base_key); - success = impl.is_a_i (id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (success) - { - return 1; - } - } - - return 0; -} - -CORBA::ValueDef::FullValueDescription * -TAO_ValueDef_i::describe_value (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_value_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ValueDef::FullValueDescription * -TAO_ValueDef_i::describe_value_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ValueDef::FullValueDescription *fv_desc = 0; - ACE_NEW_RETURN (fv_desc, - CORBA::ValueDef::FullValueDescription, - 0); - CORBA::ValueDef::FullValueDescription_var retval = fv_desc; - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - holder); - fv_desc->name = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - fv_desc->id = holder.fast_rep (); - - CORBA::ULong val = 0; - - this->repo_->config ()->get_integer_value (this->section_key_, - "is_abstract", - val); - fv_desc->is_abstract = static_cast (val); - this->repo_->config ()->get_integer_value (this->section_key_, - "is_custom", - val); - fv_desc->is_custom = static_cast (val); - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - fv_desc->defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "version", - holder); - fv_desc->version = holder.fast_rep (); - - // Operations. - - fv_desc->operations.length (0); - - ACE_Configuration_Section_Key ops_key; - int status = - this->repo_->config ()->open_section (this->section_key_, - "ops", - 0, - ops_key); - CORBA::ULong count = 0; - CORBA::ULong param_count = 0; - char *stringified = 0; - CORBA::ULong i = 0; - CORBA::ULong j = 0; - TAO_IDLType_i *idl_type = 0; - CORBA::Object_var obj; - - if (status == 0) - { - this->repo_->config ()->get_integer_value (ops_key, - "count", - count); - fv_desc->operations.length (count); - ACE_Configuration_Section_Key op_key, result_key, contexts_key; - ACE_Configuration_Section_Key params_key, excepts_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (ops_key, - stringified, - 0, - op_key); - this->repo_->config ()->get_string_value (op_key, - "name", - holder); - fv_desc->operations[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (op_key, - "id", - holder); - fv_desc->operations[i].id = holder.fast_rep (); - this->repo_->config ()->get_string_value (this->section_key_, - "id", - holder); - fv_desc->operations[i].defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (op_key, - "result", - holder); - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->operations[i].result = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->get_integer_value (op_key, - "mode", - val); - fv_desc->operations[i].mode = static_cast (val); - CORBA::TCKind kind = - fv_desc->operations[i].result->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (fv_desc->operations[i].mode == CORBA::OP_ONEWAY - && kind != CORBA::tk_void) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - 0); - } - - // Operation contexts. - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "contexts", - this->repo_->config (), - op_key, - fv_desc->operations[i].contexts - ); - - // Operation parameters. - - fv_desc->operations[i].parameters.length (0); - status = - this->repo_->config ()->open_section (op_key, - "params", - 0, - params_key); - if (status == 0) - { - ACE_Configuration_Section_Key param_key; - this->repo_->config ()->get_integer_value (params_key, - "count", - param_count); - fv_desc->operations[i].parameters.length (param_count); - - for (j = 0; j < param_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (params_key, - stringified, - 0, - param_key); - this->repo_->config ()->get_string_value (param_key, - "name", - holder); - fv_desc->operations[i].parameters[j].name = - holder.fast_rep (); - this->repo_->config ()->get_string_value (param_key, - "type_path", - holder); - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->operations[i].parameters[j].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object ( - holder, - this->repo_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - fv_desc->operations[i].parameters[j].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->get_integer_value (param_key, - "mode", - val); - fv_desc->operations[i].parameters[j].mode = - static_cast (val); - } - } - - // Operation exceptions. - - status = - this->repo_->config ()->open_section (op_key, - "excepts", - 0, - excepts_key); - fv_desc->operations[i].exceptions.length (0); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (excepts_key, - "count", - count); - fv_desc->operations[i].exceptions.length (count); - ACE_Configuration_Section_Key except_def_key; - - for (j = 0; j < count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->get_string_value (excepts_key, - stringified, - holder); - - // Get the TAO_IDLType_i before 'holder' is clobbered. - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - this->repo_->config ()->expand_path ( - this->repo_->root_key (), - holder, - except_def_key, - 0 - ); - this->repo_->config ()->get_string_value (except_def_key, - "name", - holder); - fv_desc->operations[i].exceptions[j].name = - holder.fast_rep (); - this->repo_->config ()->get_string_value (except_def_key, - "id", - holder); - fv_desc->operations[i].exceptions[j].id = - holder.fast_rep (); - this->repo_->config ()->get_string_value (except_def_key, - "container_id", - holder); - fv_desc->operations[i].exceptions[j].defined_in = - holder.fast_rep (); - this->repo_->config ()->get_string_value (except_def_key, - "version", - holder); - fv_desc->operations[i].exceptions[j].version = - holder.fast_rep (); - - // Use the TAO_IDLType_i fetched above. - fv_desc->operations[i].exceptions[j].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - } - } - - // Attributes.. - - fv_desc->attributes.length (0); - - ACE_Configuration_Section_Key attrs_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "attrs", - 0, - attrs_key); - if (status == 0) - { - this->repo_->config ()->get_integer_value (attrs_key, - "count", - count); - fv_desc->attributes.length (count); - ACE_Configuration_Section_Key attr_key, attr_def_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (attrs_key, - stringified, - 0, - attr_key); - this->repo_->config ()->get_string_value (attr_key, - "name", - holder); - fv_desc->attributes[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (attr_key, - "id", - holder); - fv_desc->attributes[i].id = holder.fast_rep (); - this->repo_->config ()->get_string_value (attr_key, - "version", - holder); - fv_desc->attributes[i].version = holder.fast_rep (); - this->repo_->config ()->get_integer_value (attr_key, - "mode", - val); - fv_desc->attributes[i].mode = - static_cast (val); - this->repo_->config ()->get_string_value (attr_key, - "type_path", - holder); - - // Use the type path for 'defined_in' and 'type'. - - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->attributes[i].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->repo_->config ()->expand_path (this->repo_->root_key (), - holder, - attr_def_key, - 0); - this->repo_->config ()->get_string_value (attr_def_key, - "container_id", - holder); - fv_desc->attributes[i].defined_in = holder.fast_rep (); - } - } - - // Members.. - - fv_desc->members.length (0); - - ACE_Configuration_Section_Key members_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "members", - 0, - members_key); - if (status == 0) - { - this->repo_->config ()->get_integer_value (members_key, - "count", - count); - fv_desc->members.length (count); - ACE_Configuration_Section_Key member_key, member_def_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (members_key, - stringified, - 0, - member_key); - this->repo_->config ()->get_string_value (member_key, - "name", - holder); - fv_desc->members[i].name = holder.fast_rep (); - this->repo_->config ()->get_string_value (member_key, - "id", - holder); - fv_desc->members[i].id = holder.fast_rep (); - this->repo_->config ()->get_string_value (member_key, - "container_id", - holder); - fv_desc->members[i].defined_in = holder.fast_rep (); - this->repo_->config ()->get_string_value (member_key, - "version", - holder); - fv_desc->members[i].version = holder.fast_rep (); - - this->repo_->config ()->get_integer_value (member_key, - "access", - val); - fv_desc->members[i].access = - static_cast (val); - - // Use type path for 'type' and 'type_def', - - this->repo_->config ()->get_string_value (member_key, - "type_path", - holder); - idl_type = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - fv_desc->members[i].type = - idl_type->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - fv_desc->members[i].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - - // Initializers - - fv_desc->initializers.length (0); - - ACE_Configuration_Section_Key initializers_key; - status = - this->repo_->config ()->open_section (this->section_key_, - "initializers", - 0, - initializers_key); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (initializers_key, - "count", - count); - fv_desc->initializers.length (count); - ACE_Configuration_Section_Key initializer_key, params_key, arg_key; - - for (i = 0; i < count; ++i) - { - stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (initializers_key, - stringified, - 0, - initializer_key); - this->repo_->config ()->get_string_value (initializer_key, - "name", - holder); - fv_desc->initializers[i].name = holder.fast_rep (); - - fv_desc->initializers[i].members.length (0); - status = - this->repo_->config ()->open_section (initializer_key, - stringified, - 0, - params_key); - - if (status == 0) - { - this->repo_->config ()->get_integer_value (params_key, - "count", - param_count); - fv_desc->initializers[i].members.length (param_count); - - for (j = 0; j < param_count; ++j) - { - stringified = TAO_IFR_Service_Utils::int_to_string (j); - this->repo_->config ()->open_section (params_key, - stringified, - 0, - arg_key); - this->repo_->config ()->get_string_value (arg_key, - "arg_name", - holder); - fv_desc->initializers[i].members[j].name = - holder.fast_rep (); - this->repo_->config ()->get_string_value (arg_key, - "arg_path", - holder); - obj = - TAO_IFR_Service_Utils::path_to_ir_object ( - holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - fv_desc->initializers[i].members[j].type_def = - CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - } - } - } - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "supported", - this->repo_->config (), - this->section_key_, - fv_desc->supported_interfaces - ); - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "abstract_bases", - this->repo_->config (), - this->section_key_, - fv_desc->abstract_base_values - ); - - this->repo_->config ()->get_integer_value (this->section_key_, - "is_truncatable", - val); - fv_desc->is_truncatable = static_cast (val); - this->repo_->config ()->get_string_value (this->section_key_, - "base_value", - holder); - fv_desc->base_value = holder.fast_rep (); - fv_desc->type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return retval._retn (); -} - -CORBA::ValueMemberDef_ptr -TAO_ValueDef_i::create_value_member (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::Visibility access - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::ValueMemberDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueMemberDef::_nil ()); - - return this->create_value_member_i (id, - name, - version, - type, - access - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ValueMemberDef_ptr -TAO_ValueDef_i::create_value_member_i (const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::Visibility access - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Value, - CORBA::dk_ValueMember, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "members" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueMemberDef::_nil ()); - - // Store the path to the attribute's type definition. - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type); - - this->repo_->config ()->set_string_value (new_key, - "type_path", - type_path); - - // Store the attribute's mode. - this->repo_->config ()->set_integer_value (new_key, - "access", - access); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_ValueMember, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueMemberDef::_nil ()); - - CORBA::ValueMemberDef_var retval = - CORBA::ValueMemberDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::ValueMemberDef::_nil ()); - - return retval._retn (); -} - -CORBA::AttributeDef_ptr -TAO_ValueDef_i::create_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::AttributeDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - return this->create_attribute_i (id, - name, - version, - type, - mode - ACE_ENV_ARG_PARAMETER); -} - -CORBA::AttributeDef_ptr -TAO_ValueDef_i::create_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Value, - CORBA::dk_Attribute, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "attrs" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - // Store the path to the attribute's type definition. - char *type_path = TAO_IFR_Service_Utils::reference_to_path (type); - - this->repo_->config ()->set_string_value (new_key, - "type_path", - type_path); - - // Store the attribute's mode. - this->repo_->config ()->set_integer_value (new_key, - "mode", - mode); - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Attribute, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - CORBA::AttributeDef_var retval = - CORBA::AttributeDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ()); - - return retval._retn (); -} - -CORBA::OperationDef_ptr -TAO_ValueDef_i::create_operation ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD_RETURN (CORBA::OperationDef::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - return this->create_operation_i (id, - name, - version, - result, - mode, - params, - exceptions, - contexts - ACE_ENV_ARG_PARAMETER); -} - -CORBA::OperationDef_ptr -TAO_ValueDef_i::create_operation_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_Container_i::tmp_name_holder_ = name; - ACE_Configuration_Section_Key new_key; - - // Common to all IR objects created in CORBA::Container. - ACE_TString path = - TAO_IFR_Service_Utils::create_common (CORBA::dk_Value, - CORBA::dk_Operation, - this->section_key_, - new_key, - this->repo_, - id, - name, - &TAO_Container_i::same_as_tmp_name, - version, - "ops" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - // Get the TypeCode for the return type. - ACE_TString result_path (TAO_IFR_Service_Utils::reference_to_path (result)); - TAO_IDLType_i *result_impl = - TAO_IFR_Service_Utils::path_to_idltype (result_path, - this->repo_); - - CORBA::TypeCode_var rettype = - result_impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - CORBA::TCKind kind = rettype->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - // Oneway operations cannot have a non-void return type. - if (mode == CORBA::OP_ONEWAY && kind != CORBA::tk_void) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - CORBA::OperationDef::_nil ()); - } - - this->repo_->config ()->set_string_value (new_key, - "result", - result_path); - - // Store the operation mode. - this->repo_->config ()->set_integer_value (new_key, - "mode", - mode); - - CORBA::ULong i = 0; - - // Store the operation's parameter info. - CORBA::ULong length = params.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key params_key; - this->repo_->config ()->open_section (new_key, - "params", - 1, - params_key); - - this->repo_->config ()->set_integer_value (params_key, - "count", - length); - char *type_path = 0; - - for (i = 0; i < length; ++i) - { - // Oneway operations cannot have INOUT or OUT parameters. - if (mode == CORBA::OP_ONEWAY && params[i].mode != CORBA::PARAM_IN) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - CORBA::OperationDef::_nil ()); - } - - ACE_Configuration_Section_Key param_key; - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->open_section (params_key, - stringified, - 1, - param_key); - - this->repo_->config ()->set_string_value (param_key, - "name", - params[i].name.in ()); - type_path = - TAO_IFR_Service_Utils::reference_to_path ( - params[i].type_def.in () - ); - - this->repo_->config ()->set_string_value (param_key, - "type_path", - type_path); - - this->repo_->config ()->set_integer_value (param_key, - "mode", - params[i].mode); - } - } - - // Store the operation's exception info. - length = exceptions.length (); - - if (length > 0) - { - // Oneway operations cannot throw any user exceptions. - if (mode == CORBA::OP_ONEWAY) - { - ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 31, - CORBA::COMPLETED_NO), - CORBA::OperationDef::_nil ()); - } - - ACE_Configuration_Section_Key excepts_key; - - this->repo_->config ()->open_section (new_key, - "excepts", - 1, - excepts_key); - - this->repo_->config ()->set_integer_value (excepts_key, - "count", - length); - char *type_path = 0; - - for (i = 0; i < length; ++i) - { - type_path = - TAO_IFR_Service_Utils::reference_to_path (exceptions[i]); - - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (excepts_key, - stringified, - type_path); - } - } - - // Store the operation's context info. - length = contexts.length (); - - if (length > 0) - { - ACE_Configuration_Section_Key contexts_key; - - this->repo_->config ()->open_section (new_key, - "contexts", - 1, - contexts_key); - - for (i = 0; i < length; ++i) - { - char *stringified = TAO_IFR_Service_Utils::int_to_string (i); - this->repo_->config ()->set_string_value (contexts_key, - stringified, - contexts[i]); - } - } - - // Create the object reference. - CORBA::Object_var obj = - TAO_IFR_Service_Utils::create_objref (CORBA::dk_Operation, - path.c_str (), - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - CORBA::OperationDef_var retval = - CORBA::OperationDef::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::OperationDef::_nil ()); - - return retval._retn (); -} - -int -TAO_ValueDef_i::name_clash (const char *name) -{ - ACE_TRY_NEW_ENV - { - TAO_Container_i::tmp_name_holder_ = name; - TAO_IFR_Service_Utils::name_exists (&TAO_Container_i::same_as_tmp_name, - TAO_IFR_Service_Utils::tmp_key_, - TAO_IFR_Service_Utils::repo_, - CORBA::dk_Value - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - return 1; - } - ACE_ENDTRY; - - return 0; -} - -void -TAO_ValueDef_i::fill_value_description (CORBA::ValueDescription &desc - ACE_ENV_ARG_DECL) -{ - desc.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - desc.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULong tmp = this->is_abstract_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - desc.is_abstract = static_cast (tmp); - - tmp = this->is_custom_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - desc.is_custom = static_cast (tmp); - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "container_id", - holder); - desc.defined_in = holder.fast_rep (); - - desc.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "supported", - this->repo_->config (), - this->section_key_, - desc.supported_interfaces - ); - - TAO_IFR_Strseq_Utils::fill_string_seq ( - "abstract_bases", - this->repo_->config (), - this->section_key_, - desc.abstract_base_values - ); - - tmp = this->is_truncatable_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - desc.is_truncatable = static_cast (tmp); - - this->repo_->config ()->get_string_value (this->section_key_, - "base_value", - holder); - desc.base_value = holder.fast_rep (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.h deleted file mode 100644 index 0d5dd9d7f9f..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueDef_i.h +++ /dev/null @@ -1,353 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ValueDef_i.h -// -// = DESCRIPTION -// ValueDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_VALUEDEF_I_H -#define TAO_VALUEDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ValueDef_i : public virtual TAO_Container_i, - public virtual TAO_Contained_i, - public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_ValueDef_i - // - // = DESCRIPTION - // Represents a valuetype definition. - // -public: - TAO_ValueDef_i (TAO_Repository_i *repo); - // Constructor - - virtual ~TAO_ValueDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's pure virtual function. - - virtual CORBA::InterfaceDefSeq *supported_interfaces ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InterfaceDefSeq *supported_interfaces_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void supported_interfaces ( - const CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void supported_interfaces_i ( - const CORBA::InterfaceDefSeq & supported_interfaces - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::InitializerSeq *initializers ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::InitializerSeq *initializers_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void initializers ( - const CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void initializers_i ( - const CORBA::InitializerSeq & initializers - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueDef_ptr base_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueDef_ptr base_value_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void base_value ( - CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void base_value_i ( - CORBA::ValueDef_ptr base_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueDefSeq *abstract_base_values ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueDefSeq *abstract_base_values_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void abstract_base_values ( - const CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void abstract_base_values_i ( - const CORBA::ValueDefSeq & abstract_base_values - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_abstract ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_abstract_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void is_abstract ( - CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void is_abstract_i ( - CORBA::Boolean is_abstract - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_custom ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_custom_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void is_custom ( - CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void is_custom_i ( - CORBA::Boolean is_custom - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_truncatable ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_truncatable_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void is_truncatable ( - CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void is_truncatable_i ( - CORBA::Boolean is_truncatable - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_a ( - const char *id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Boolean is_a_i ( - const char *id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueDef::FullValueDescription *describe_value ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueDef::FullValueDescription *describe_value_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ValueMemberDef_ptr create_value_member ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ValueMemberDef_ptr create_value_member_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::AttributeDef_ptr create_attribute ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::AttributeDef_ptr create_attribute_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr type, - CORBA::AttributeMode mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::OperationDef_ptr create_operation ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::OperationDef_ptr create_operation_i ( - const char *id, - const char *name, - const char *version, - CORBA::IDLType_ptr result, - CORBA::OperationMode mode, - const CORBA::ParDescriptionSeq ¶ms, - const CORBA::ExceptionDefSeq &exceptions, - const CORBA::ContextIdSeq &contexts - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - static int name_clash (const char *name); - // Called from TAO_IFR_Service_Utils::name_exists() when we - // are a base valuetype. - - void fill_value_description (CORBA::ValueDescription &desc - ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_VALUEDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp deleted file mode 100644 index bb6b101ddd0..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp +++ /dev/null @@ -1,224 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/ValueMemberDef_i.h" -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/IFR_Service_Utils_T.h" -#include "orbsvcs/IFRService/IFR_Service_Utils.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - ValueMemberDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_ValueMemberDef_i::TAO_ValueMemberDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_Contained_i (repo) -{ -} - -TAO_ValueMemberDef_i::~TAO_ValueMemberDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_ValueMemberDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_ValueMember; -} - -CORBA::Contained::Description * -TAO_ValueMemberDef_i::describe (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Contained::Description * -TAO_ValueMemberDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ValueMember vm; - TAO_IFR_Desc_Utils::fill_desc_begin ( - vm, - this->repo_, - this->section_key_ - ACE_ENV_ARG_PARAMETER - ); - ACE_CHECK_RETURN (0); - - vm.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - holder); - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - vm.type_def = CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong val = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "access", - val); - vm.access = static_cast (val); - - CORBA::Contained::Description *retval = 0; - ACE_NEW_RETURN (retval, - CORBA::Contained::Description, - 0); - - retval->kind = CORBA::dk_ValueMember; - retval->value <<= vm; - return retval; -} - -CORBA::TypeCode_ptr -TAO_ValueMemberDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_ValueMemberDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - holder); - TAO_IDLType_i *impl = - TAO_IFR_Service_Utils::path_to_idltype (holder, - this->repo_); - return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ValueMemberDef_i::type_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::IDLType::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return this->type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::IDLType_ptr -TAO_ValueMemberDef_i::type_def_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString holder; - this->repo_->config ()->get_string_value (this->section_key_, - "type_path", - holder); - CORBA::Object_var obj = - TAO_IFR_Service_Utils::path_to_ir_object (holder, - this->repo_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::IDLType::_nil ()); - - return CORBA::IDLType::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueMemberDef_i::type_def (CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->type_def_i (type_def - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueMemberDef_i::type_def_i (CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - const char *path = TAO_IFR_Service_Utils::reference_to_path (type_def); - this->repo_->config ()->set_string_value (this->section_key_, - "type_path", - path); -} - -CORBA::Visibility -TAO_ValueMemberDef_i::access (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->access_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Visibility -TAO_ValueMemberDef_i::access_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong val = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "access", - val); - return static_cast (val); -} - -void -TAO_ValueMemberDef_i::access (CORBA::Visibility access - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->access_i (access - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_ValueMemberDef_i::access_i (CORBA::Visibility access - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "access", - access); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.h deleted file mode 100644 index 1da19410d15..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.h +++ /dev/null @@ -1,132 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// ValueMemberDef_i.h -// -// = DESCRIPTION -// ValueMemberDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_VALUEMEMBERDEF_I_H -#define TAO_VALUEMEMBERDEF_I_H - -#include "orbsvcs/IFRService/Contained_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_ValueMemberDef_i : public virtual TAO_Contained_i -{ - // = TITLE - // TAO_ValeMemberDef_i - // - // = DESCRIPTION - // Represents the definition of a valuemember structure. - // -public: - TAO_ValueMemberDef_i (TAO_Repository_i *repoy); - // Constructor - - virtual ~TAO_ValueMemberDef_i (void); - // Destructor - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual CORBA::Contained::Description *describe ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::Contained::Description *describe_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From Contained_i's pure virtual function. - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::IDLType_ptr type_def ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::IDLType_ptr type_def_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void type_def ( - CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void type_def_i ( - CORBA::IDLType_ptr type_def - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Visibility access ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::Visibility access_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void access ( - CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void access_i ( - CORBA::Visibility access - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_VALUEMEMBERDEF_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.cpp deleted file mode 100644 index 252050a2855..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.cpp +++ /dev/null @@ -1,131 +0,0 @@ -// $Id$ - -#include "orbsvcs/IFRService/Repository_i.h" -#include "orbsvcs/IFRService/WstringDef_i.h" - -#include "ace/SString.h" - - -ACE_RCSID (IFRService, - WstringDef_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_WstringDef_i::TAO_WstringDef_i ( - TAO_Repository_i *repo - ) - : TAO_IRObject_i (repo), - TAO_IDLType_i (repo) -{ -} - -TAO_WstringDef_i::~TAO_WstringDef_i (void) -{ -} - -CORBA::DefinitionKind -TAO_WstringDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::dk_Wstring; -} - -void -TAO_WstringDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_WstringDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_TString name; - this->repo_->config ()->get_string_value (this->section_key_, - "name", - name); - - this->repo_->config ()->remove_section (this->repo_->wstrings_key (), - name.c_str (), - 0); -} - -CORBA::TypeCode_ptr -TAO_WstringDef_i::type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::TypeCode_ptr -TAO_WstringDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong bound = this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::TypeCode::_nil ()); - - return this->repo_->tc_factory ()->create_wstring_tc (bound - ACE_ENV_ARG_PARAMETER); -} -CORBA::ULong -TAO_WstringDef_i::bound (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_READ_GUARD_RETURN (0); - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - - -CORBA::ULong -TAO_WstringDef_i::bound_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - u_int retval = 0; - this->repo_->config ()->get_integer_value (this->section_key_, - "bound", - retval); - - return static_cast (retval); -} - -void -TAO_WstringDef_i::bound (CORBA::ULong bound - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_IFR_WRITE_GUARD; - - this->update_key (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->bound_i (bound - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_WstringDef_i::bound_i (CORBA::ULong bound - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->repo_->config ()->set_integer_value (this->section_key_, - "bound", - bound); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.h b/TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.h deleted file mode 100644 index c1317c0a888..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/WstringDef_i.h +++ /dev/null @@ -1,113 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs/IFRService -// -// = FILENAME -// WstringDef_i.h -// -// = DESCRIPTION -// WstringDef servant class. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef TAO_WSTRINGDEF_I_H -#define TAO_WSTRINGDEF_I_H - -#include "orbsvcs/IFRService/IDLType_i.h" -#include "orbsvcs/IFRService/ifr_service_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IFRService_Export TAO_WstringDef_i : public virtual TAO_IDLType_i -{ - // = TITLE - // TAO_WstringDef_i - // - // = DESCRIPTION - // Represents a bounded wstring (unbounded wstrings - // are included in PrimitiveDef). - // -public: - TAO_WstringDef_i (TAO_Repository_i *repo); - // Constructor. - - virtual ~TAO_WstringDef_i (void); - // Destructor. - - virtual CORBA::DefinitionKind def_kind ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Return our definition kind. - - virtual void destroy ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // Remove the repository entry. - - virtual void destroy_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::TypeCode_ptr type ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's virtual function. - - virtual CORBA::TypeCode_ptr type_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - // From IDLType_i's virtual function. - - virtual CORBA::ULong bound ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - CORBA::ULong bound_i ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void bound ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); - - void bound_i ( - CORBA::ULong bound - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_WSTRINGDEF_I_H */ - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/concrete_classes.h b/TAO/orbsvcs/orbsvcs/IFRService/concrete_classes.h deleted file mode 100644 index 27407fa581c..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/concrete_classes.h +++ /dev/null @@ -1,54 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Param_Test -// -// = FILENAME -// concrete_classes.h -// -// = DESCRIPTION -// All the concrete class header files needed by the servant locator. -// -// = AUTHORS -// Jeff Parsons -// -// ============================================================================ - -#ifndef CONCRETE_CLASSES_H -#define CONCRETE_CLASSES_H - -#include "orbsvcs/IFRService/PrimitiveDef_i.h" -#include "orbsvcs/IFRService/StringDef_i.h" -#include "orbsvcs/IFRService/WstringDef_i.h" -#include "orbsvcs/IFRService/SequenceDef_i.h" -#include "orbsvcs/IFRService/ArrayDef_i.h" -#include "orbsvcs/IFRService/FixedDef_i.h" -#include "orbsvcs/IFRService/EnumDef_i.h" -#include "orbsvcs/IFRService/AliasDef_i.h" -#include "orbsvcs/IFRService/NativeDef_i.h" -#include "orbsvcs/IFRService/ValueBoxDef_i.h" -#include "orbsvcs/IFRService/UnionDef_i.h" -#include "orbsvcs/IFRService/StructDef_i.h" -#include "orbsvcs/IFRService/ValueMemberDef_i.h" -#include "orbsvcs/IFRService/FactoryDef_i.h" -#include "orbsvcs/IFRService/AttributeDef_i.h" -#include "orbsvcs/IFRService/ConstantDef_i.h" -#include "orbsvcs/IFRService/ValueDef_i.h" -#include "orbsvcs/IFRService/ExceptionDef_i.h" -#include "orbsvcs/IFRService/ModuleDef_i.h" -#include "orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h" -#include "orbsvcs/IFRService/ExtLocalInterfaceDef_i.h" - -#include "orbsvcs/IFRService/ComponentDef_i.h" -#include "orbsvcs/IFRService/HomeDef_i.h" -#include "orbsvcs/IFRService/FinderDef_i.h" -#include "orbsvcs/IFRService/ConsumesDef_i.h" -#include "orbsvcs/IFRService/PublishesDef_i.h" -#include "orbsvcs/IFRService/EmitsDef_i.h" -#include "orbsvcs/IFRService/EventDef_i.h" -#include "orbsvcs/IFRService/ProvidesDef_i.h" -#include "orbsvcs/IFRService/UsesDef_i.h" - -#endif /* CONCRETE_CLASSES_H */ diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ifr_service_export.h b/TAO/orbsvcs/orbsvcs/IFRService/ifr_service_export.h deleted file mode 100644 index 4e1aed48095..00000000000 --- a/TAO/orbsvcs/orbsvcs/IFRService/ifr_service_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_IFRSERVICE_EXPORT_H -#define TAO_IFRSERVICE_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_IFRSERVICE_HAS_DLL) -# define TAO_IFRSERVICE_HAS_DLL 0 -# endif /* ! TAO_IFRSERVICE_HAS_DLL */ -#else -# if !defined (TAO_IFRSERVICE_HAS_DLL) -# define TAO_IFRSERVICE_HAS_DLL 1 -# endif /* ! TAO_IFRSERVICE_HAS_DLL */ -#endif - -#if defined (TAO_IFRSERVICE_HAS_DLL) && (TAO_IFRSERVICE_HAS_DLL == 1) -# if defined (TAO_IFRSERVICE_BUILD_DLL) -# define TAO_IFRService_Export ACE_Proper_Export_Flag -# define TAO_IFRSERVICE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_IFRSERVICE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_IFRSERVICE_BUILD_DLL */ -# define TAO_IFRService_Export ACE_Proper_Import_Flag -# define TAO_IFRSERVICE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_IFRSERVICE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_IFRSERVICE_BUILD_DLL */ -#else /* TAO_IFRSERVICE_HAS_DLL == 1 */ -# define TAO_IFRService_Export -# define TAO_IFRSERVICE_SINGLETON_DECLARATION(T) -# define TAO_IFRSERVICE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_IFRSERVICE_HAS_DLL == 1 */ - -#endif /* TAO_IFRSERVICE_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp deleted file mode 100644 index 73a947638cf..00000000000 --- a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp +++ /dev/null @@ -1,321 +0,0 @@ -// $Id$ - -#include "orbsvcs/IOR_Multicast.h" - -#include "tao/debug.h" - -#include "ace/SOCK_Connector.h" -#include "ace/Log_Msg.h" - -ACE_RCSID (orbsvcs, - IOR_Multicast, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_HANDLE -TAO_IOR_Multicast::get_handle (void) const -{ - return this->mcast_dgram_.get_handle (); -} - -TAO_IOR_Multicast::TAO_IOR_Multicast (void) - : service_id_ ((TAO_Service_ID) 0) -{ -} - -TAO_IOR_Multicast::TAO_IOR_Multicast (const char *ior, - u_short port, - const char *mcast_addr, - TAO_Service_ID service_id) -{ - if (this->init (ior, - port, - mcast_addr, - service_id) == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("%p\n"), - ACE_TEXT ("TAO_IOR_Multicast"))); -} - -TAO_IOR_Multicast::~TAO_IOR_Multicast (void) -{ - if (ior_.length() > 0 && this->mcast_dgram_.leave (this->mcast_addr_) == -1) - { - ACE_ERROR ((LM_ERROR, "%p\n", "~TAO_IOR_Multicast()")); - } -} - -int -TAO_IOR_Multicast::init (const char *ior, - u_short port, - const char *mcast_addr, - TAO_Service_ID service_id) -{ - if (this->mcast_addr_.set (port, mcast_addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_IOR_Multicast::init() %p\n", "set"), -1); - return common_init (ior, service_id); -} - -int -TAO_IOR_Multicast::init (const char *ior, - const char *mcast_addr, - TAO_Service_ID service_id) -{ - // Look for a '@' incase a nic is specified. - const char* tmpnic = ACE_OS::strchr (mcast_addr, '@'); - - CORBA::String_var actual_mcast_addr; - CORBA::ULong length_addr; - - if (tmpnic != 0) - { - // i.e. a nic name has been specified - length_addr = tmpnic - mcast_addr + 1; - actual_mcast_addr = CORBA::string_alloc (length_addr); - - ACE_OS::strncpy (actual_mcast_addr.inout (), - mcast_addr, - length_addr - 1); - - actual_mcast_addr[length_addr - 1] = '\0'; - - /// Save for use later. - this->mcast_nic_ = tmpnic + 1; - } - else - { - actual_mcast_addr = - CORBA::string_alloc (static_cast (ACE_OS::strlen (mcast_addr))); - - actual_mcast_addr = mcast_addr; - } - - if (this->mcast_addr_.set (actual_mcast_addr.in ()) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "set"), - -1); - - return common_init (ior, service_id); -} - -int -TAO_IOR_Multicast::common_init (const char *ior, - TAO_Service_ID service_id) -{ - this->service_id_ = service_id; - this->ior_ = ior; - - if (this->response_addr_.set ((u_short) 0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_IOR_Multicast::common_init() %p\n", - "set"), - -1); - else if (this->response_.open (this->response_addr_) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "set"), - -1); - } - - // Use ACE_SOCK_Dgram_Mcast factory to subscribe to multicast group. - if (this->mcast_nic_.length() != 0) - { - if (this->mcast_dgram_.subscribe (this->mcast_addr_, - 1, - ACE_TEXT_CHAR_TO_TCHAR(this->mcast_nic_.c_str())) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "TAO_IOR_Multicast::common_init() %p\n", "subscribe"),-1); - } - else - { - if (this->mcast_dgram_.subscribe (this->mcast_addr_) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_IOR_Multicast::common_init() %p\n", - "subscribe"), - -1); - } - return 0; -} - -int -TAO_IOR_Multicast::handle_timeout (const ACE_Time_Value &, - const void *) -{ - return 0; -} - -int -TAO_IOR_Multicast::handle_input (ACE_HANDLE) -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Entered TAO_IOR_Multicast::handle_input\n")); - - // The length of the service name string that follows. - CORBA::Short header; - // Port to which to reply. - ACE_UINT16 remote_port; - // Name of the service for which the client is looking. - char service_name[BUFSIZ]; - - ACE_INET_Addr remote_addr; - - // Take a peek at the header to find out how long is the service - // name string we should receive. - ssize_t n = this->mcast_dgram_.recv (&header, - sizeof (header), - remote_addr, - MSG_PEEK); - if (n <= 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_IOR_Multicast::handle_input - peek %d\n", - n), - 0); - else if (ACE_NTOHS (header) <= 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_IOR_Multicast::handle_input() Header value < 1\n"), - 0); - - // Receive full client multicast request. - const int iovcnt = 3; - iovec iov[iovcnt]; - - iov[0].iov_base = (char *) &header; - iov[0].iov_len = sizeof (header); - iov[1].iov_base = (char *) &remote_port; - iov[1].iov_len = sizeof (ACE_UINT16); - iov[2].iov_base = (char *) service_name; - iov[2].iov_len = ACE_NTOHS (header); - - // Read the iovec. - n = this->mcast_dgram_.recv (iov, - iovcnt, - remote_addr); - if (n <= 0) - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_IOR_Multicast::handle_input recv = %d\n", - n), - 0); - - if (TAO_debug_level > 0) - { - ACE_TCHAR addr[64]; - remote_addr.addr_to_string (addr, sizeof(addr)); - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Received multicast from %s.\n" - "Service Name received : %s\n" - "Port received : %u\n", - addr, - service_name, - ACE_NTOHS (remote_port))); - } - - if (ACE_OS::strcmp (service_name, - "NameService") != 0 - && ACE_OS::strcmp (service_name, - "TradingService") != 0 - && ACE_OS::strcmp (service_name, - "ImplRepoService") != 0 - && ACE_OS::strcmp (service_name, - "InterfaceRepository") != 0 - && ACE_OS::strcmp (service_name, - "MCASTServer") != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "IOR_Multicast::connect() Unknown service requested.\n"),0); - } - - // Reply to the multicast message. - ACE_SOCK_Connector connector; - ACE_INET_Addr peer_addr; - ACE_SOCK_Stream stream; - - peer_addr.set (remote_addr); - peer_addr.set_port_number (ACE_NTOHS (remote_port)); - -#if defined (ACE_HAS_IPV6) - if (peer_addr.is_linklocal ()) - { - // If this is one of our local linklocal interfaces this is not going - // to work. - // Creating a connection using such interface to the client listening - // at the IPv6 ANY address is not going to work (I'm not quite sure why - // but it probably has to do with the rather restrictive routing rules - // for linklocal interfaces). - // So we see if this is one of our local interfaces and if so create the - // connection using the IPv6 loopback address instead. - ACE_INET_Addr peer_tmp(peer_addr); - peer_tmp.set_port_number (static_cast (0)); - ACE_INET_Addr* tmp = 0; - size_t cnt = 0; - int err = ACE::get_ip_interfaces (cnt, tmp); - if (err == 0) - { - for (size_t i = 0; i < cnt; ++i) - { - if (peer_tmp == tmp[i]) - { - peer_addr.set (ACE_NTOHS (remote_port), - ACE_IPV6_LOCALHOST); - break; - } - } - - delete[] tmp; - } - } -#endif /* ACE_HAS_IPV6 */ - - if (TAO_debug_level > 0) - { - ACE_TCHAR addr[64]; - peer_addr.addr_to_string (addr, sizeof(addr)); - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Replying to peer %s.\n", - addr)); - } - - // Connect. - if (connector.connect (stream, peer_addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "IOR_Multicast::connect failed\n"), 0); - // Send the IOR back to the client. (Send iovec, which contains ior - // length as the first element, and ior itself as the second.) - - // Length of ior to be sent. - CORBA::Short data_len = - static_cast (ACE_HTONS (this->ior_.length () + 1)); - - // Vector to be sent. - const int cnt = 2; - iovec iovp[cnt]; - - // The length of ior to be sent. - iovp[0].iov_base = (char *) &data_len; - iovp[0].iov_len = sizeof (CORBA::Short); - - // The ior. - iovp[1].iov_base = const_cast (this->ior_.c_str ()); - iovp[1].iov_len = static_cast (this->ior_.length () + 1); - - ssize_t result = stream.sendv_n (iovp, cnt); - // Close the stream. - stream.close (); - - // Check for error. - if (result == -1) - ACE_ERROR_RETURN ((LM_ERROR, "IOR_Multicast::send failed\n"), 0); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) TAO_IOR_Multicast::handle_input() ior_: <%s>\n" - "sent to %s:%u.\n" - "result from send = %d\n", - this->ior_.c_str (), - peer_addr.get_host_name (), - peer_addr.get_port_number (), - result)); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/IOR_Multicast.h b/TAO/orbsvcs/orbsvcs/IOR_Multicast.h deleted file mode 100644 index 9963e2fa222..00000000000 --- a/TAO/orbsvcs/orbsvcs/IOR_Multicast.h +++ /dev/null @@ -1,114 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/orbsvcs/orbsvcs -// -// = FILENAME -// IOR_Multicast.h -// -// = DESCRIPTION -// Defines a class that listens to a multicast address for client requests -// for ior of a bootstrappable service. -// -// = AUTHORS -// Sergio Flores-Gaitan -// -// ============================================================================ - -#ifndef TAO_IOR_MULTICAST_H -#define TAO_IOR_MULTICAST_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/svc_utils_export.h" -#include "tao/ORB.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/INET_Addr.h" -#include "ace/SOCK_Dgram_Mcast.h" -#include "ace/Reactor.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Svc_Utils_Export TAO_IOR_Multicast : public ACE_Event_Handler -{ - // = TITLE - // Event Handler that services multicast requests for IOR of a - // bootstrappable service. - // - // = DESCRIPTION - // This class uses the ACE_SOCK_Dgram_Mcast class and should be - // registered with a reactor and should be initialized with the - // ior of the service to be multicasted. -public: - TAO_IOR_Multicast (void); - // Constructor. - - TAO_IOR_Multicast (const char *ior, - u_short port, - const char *mcast_addr, - TAO_Service_ID service_id); - // Constructor taking the ior of the service. - - int init (const char *ior, - u_short port, - const char *mcast_addr, - TAO_Service_ID service_id); - // Initialization method. - - int init (const char *ior, - const char *mcast_addr, - TAO_Service_ID service_id); - // Initialization method. Takes in "address:port" string as a - // parameter. - - virtual ~TAO_IOR_Multicast (void); - // Destructor. - - virtual int handle_input (ACE_HANDLE n); - // Callback when input is received on the handle. - - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg); - // Callback when a timeout has occurred. - - virtual ACE_HANDLE get_handle (void) const; - // Returns the internal handle used to receive multicast. - -private: - int common_init (const char *ior, - TAO_Service_ID service_id); - // Factor common functionality from the two init functions. - - TAO_Service_ID service_id_; - // Service id that we're waiting for. - - ACE_SOCK_Dgram_Mcast mcast_dgram_; - // multicast endpoint of communication - - ACE_INET_Addr mcast_addr_; - // multicast address - - ACE_CString ior_; - // object reference to send in response to the multicast - - ACE_INET_Addr response_addr_; - // address of response. - - ACE_SOCK_Dgram response_; - // socket for response to the multicast - - ACE_CString mcast_nic_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_IOR_MULTICAST_H */ diff --git a/TAO/orbsvcs/orbsvcs/LB_ORT.idl b/TAO/orbsvcs/orbsvcs/LB_ORT.idl deleted file mode 100644 index 0134ff0cc96..00000000000 --- a/TAO/orbsvcs/orbsvcs/LB_ORT.idl +++ /dev/null @@ -1,28 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file LB_ORT.idl - * - * $Id$ - */ -//============================================================================= - - -#ifndef TAO_LB_ORT_IDL -#define TAO_LB_ORT_IDL - -#include "tao/ObjRefTemplate/ObjectReferenceTemplate_include.pidl" - - -module TAO_LB -{ - typeprefix TAO_LB "tao.lb"; - - valuetype ObjectReferenceFactory - : PortableInterceptor::ObjectReferenceFactory {}; - -}; - - -#endif /* TAO_LB_ORT_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/LifeCycle/lifecycle_export.h b/TAO/orbsvcs/orbsvcs/LifeCycle/lifecycle_export.h deleted file mode 100644 index 3ceb2c30777..00000000000 --- a/TAO/orbsvcs/orbsvcs/LifeCycle/lifecycle_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_LIFECYCLE_EXPORT_H -#define TAO_LIFECYCLE_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_LIFECYCLE_HAS_DLL) -# define TAO_LIFECYCLE_HAS_DLL 0 -# endif /* ! TAO_LIFECYCLE_HAS_DLL */ -#else -# if !defined (TAO_LIFECYCLE_HAS_DLL) -# define TAO_LIFECYCLE_HAS_DLL 1 -# endif /* ! TAO_LIFECYCLE_HAS_DLL */ -#endif - -#if defined (TAO_LIFECYCLE_HAS_DLL) && (TAO_LIFECYCLE_HAS_DLL == 1) -# if defined (TAO_LIFECYCLE_BUILD_DLL) -# define TAO_LifeCycle_Export ACE_Proper_Export_Flag -# define TAO_LIFECYCLE_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_LIFECYCLE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_LIFECYCLE_BUILD_DLL */ -# define TAO_LifeCycle_Export ACE_Proper_Import_Flag -# define TAO_LIFECYCLE_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_LIFECYCLE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_LIFECYCLE_BUILD_DLL */ -#else /* TAO_LIFECYCLE_HAS_DLL == 1 */ -# define TAO_LifeCycle_Export -# define TAO_LIFECYCLE_SINGLETON_DECLARATION(T) -# define TAO_LIFECYCLE_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_LIFECYCLE_HAS_DLL == 1 */ - -#endif /* TAO_LIFECYCLE_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/LifeCycleService.idl b/TAO/orbsvcs/orbsvcs/LifeCycleService.idl deleted file mode 100644 index 8322d49137e..00000000000 --- a/TAO/orbsvcs/orbsvcs/LifeCycleService.idl +++ /dev/null @@ -1,83 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = FILENAME -// LifeCycleService.idl -// -// = DESCRIPTION -// A generic creation service named lifecycle service using -// the GenericFactory interface of the LifeCycle Service specification. -// -// = AUTHOR -// Michael Kircher (mk1@cs.wustl.edu) -// -// ============================================================================ - -#ifndef TAO_LIFECYCLESERVICE_IDL -#define TAO_LIFECYCLESERVICE_IDL - -#include "CosLifeCycle.idl" - -module LifeCycleService -{ - interface Life_Cycle_Service : CosLifeCycle::GenericFactory - { - // = TITLE - // Wrapper for the CosLifeCycle GenericFactory - // - // = inherits: - // boolean supports(in Key k); - // Object create_object(in Key k, in Criteria the_criteria) - // raises (NoFactory, InvalidCriteria, CannotMeetCriteria); - - void register_factory (in string name, - in string location, - in string description, - in Object _object); - // provide an method for registering factories with their properties - }; - - interface Criteria_Evaluator - { - // = TITLE - // Criteria Evaluator - // - // = DESCRIPTION - // Interface description for an evaluator of CosLifeCycle - // Criterias. It is mainly a wrapper, which should make - // access easier. - // - // @@ NOTE: The definition should be this. But see note below! - // typedef sequence SeqNamedValuePair; - - // @@ NOTE: This is just a workaround for a problem seen with - // explicit template builds. This file and CosLifeCycle.idl - // define a sequence of the same data structure which creates - // multiply defined symbols in the above configuration. We need - // to fix the IDL compile at some point of time. Till then this - // should be okay... - typedef CosLifeCycle::Criteria SeqNamedValuePair; - typedef CosLifeCycle::Criteria Criteria; - - exception NotAvailable { string reason; }; - // raised if the questioned configuration is not available - - SeqNamedValuePair getInitialization (); - // get the initialization - - string getFilter (); - // get a filter string - - SeqNamedValuePair getLogicalLocation (); - // get the logical location - - string getPreferences (); - // get the preferences, not implemented - - void setCriteria (in Criteria criteria_); - // set the Criteria which is searched for keywords - }; -}; - -#endif /* TAO_LIFECYCLESERVICE_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp deleted file mode 100644 index 5ea2a76ec77..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp +++ /dev/null @@ -1,244 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.h" -#include "tao/ORB_Constants.h" -#include "ace/OS_NS_time.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_unistd.h" -#include "ace/os_include/os_netdb.h" -#include "ace/os_include/sys/os_pstat.h" -#include "ace/os_include/sys/os_loadavg.h" -#if defined(__NetBSD__) || defined (__APPLE__) -#include -#endif - -ACE_RCSID (LoadBalancing, - LB_CPU_Load_Average_Monitor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_CPU_Load_Average_Monitor::TAO_LB_CPU_Load_Average_Monitor ( - const char * location_id, - const char * location_kind) - : location_ (1) -{ - this->location_.length (1); - - if (location_id == 0) - { - char host[MAXHOSTNAMELEN + 1]; - if (ACE_OS::hostname (host, sizeof (host)) != 0) - { - // Couldn't determine hostname. Use the current time - // instead. - CORBA::ULong t = static_cast (ACE_OS::time ()); - - // A 64 byte buffer is more than enough to contain the - // string representation of a 32 bit unsigned integer. - char buf[64] = { '\0' }; - ACE_OS::sprintf (buf, "%u", t); - - this->location_[0].id = CORBA::string_dup (buf); - this->location_[0].kind = CORBA::string_dup ("Creation Time"); - } - else - { - this->location_[0].id = CORBA::string_dup (host); - this->location_[0].kind = CORBA::string_dup ("Hostname"); - } - } - else - { - this->location_[0].id = CORBA::string_dup (location_id); - - if (location_kind != 0) - this->location_[0].kind = CORBA::string_dup (location_kind); - } -} - -TAO_LB_CPU_Load_Average_Monitor::~TAO_LB_CPU_Load_Average_Monitor (void) -{ -} - -CosLoadBalancing::Location * -TAO_LB_CPU_Load_Average_Monitor::the_location (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosLoadBalancing::Location * location; - ACE_NEW_THROW_EX (location, - CosLoadBalancing::Location (this->location_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return location; -} - -CosLoadBalancing::LoadList * -TAO_LB_CPU_Load_Average_Monitor::loads (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Float load = 0; - - // Obtain the number of processors each time a load is computed. - // The idea is to take into account the processor failures that can - // occur on platforms that continue running with the remaining - // processors. - // - // @@ Is this a realistic scenario? Perhaps we should just cache - // the number of processors and assume that any processor failure - // is a catastrophic one. - -#if 0 - - SYSTEM_INFO sys_info; - ::GetSystemInfo (&sys_info); - - ACE_ASSERT (sys_info.dwNumberOfProcessors > 0); - - load = ::GetLoadAvg () / sys_info.dwNumberOfProcessors; - -#elif defined (linux) || defined (sun) - - // Only bother getting the load average over the last minute. - // - // @todo Make this configurable so that the load average over the - // last 5 and 15 minutes can be used instead. - double loadavg[1]; - -# if defined (linux) \ - && ((defined (__GLIBC__) && defined (__GLIBC_MINOR__) \ - && __GLIBC__ == 2 && __GLIBC_MINOR__ < 2) \ - || (!defined (_BSD_SOURCE) && !defined (_GNU_SOURCE))) - - // GLibc < 2.2 does not implement getloadavg(). Furthermore, - // getloadavg() is only "visible" if _BSD_SOURCE or _GNU_SOURCE is - // defined. - - // Obtain the load average directly from the `/proc' filesystem. - FILE * s = ::fopen ("/proc/loadavg", "r"); - - if (s == 0) - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - errno), - CORBA::COMPLETED_NO), - 0); - - fscanf (s, "%f", &loadavg[0]); - - (void) fclose (s); - - const int samples = 1; - -# else - -# if defined (ACE_LACKS_GETLOADAVG) - - const int samples = 0; - -# else - - const int samples = ::getloadavg (loadavg, 1); - -# endif /* ACE_LACKS_GETLOADAVG */ - -# endif /* linux - && ((__GLIBC__ == 2 && __GLIBC_MINOR__ < 2) - || (!_BSD_SOURCE && !_GNU_SOURCE)) */ - - if (samples == 1) - { - const long num_processors = ::sysconf (_SC_NPROCESSORS_ONLN); - - ACE_ASSERT (num_processors > 0); - - if (num_processors > 0) - load = loadavg[0] / num_processors; - else - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); // Correct exception? - } - else - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); // Correct exception? - -#elif defined (__NetBSD__) || defined (__APPLE__) - - double loadavg[1]; - - const int samples = ::getloadavg (loadavg, 1); - - if (samples == 1) - { - int mib[2], num_processors; - size_t len; - - mib[0] = CTL_HW; - mib[1] = HW_NCPU; - len = sizeof(num_processors); - - sysctl(mib, 2, &num_processors, &len, NULL, 0); - - ACE_ASSERT (num_processors > 0); - - if (num_processors > 0) - load = loadavg[0] / num_processors; - else - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); // Correct exception? - } - else - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); // Correct exception? - -#elif defined (__hpux) - - struct pst_dynamic psd; - - if (::pstat_getdynamic (&psd, sizeof (psd), (size_t) 1, 0) != -1) - { - const long & num_processors = psd.psd_proc_cnt; - - ACE_ASSERT (num_processors > 0); - - if (num_processors > 0) - load = psd.psd_avg_1_min / num_processors; - else - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); // Correct exception? - } - else - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); // Correct exception? - -#endif - -#if defined (linux) || defined (sun) || defined (__hpux) || defined(__NetBSD__) || defined (__APPLE__) - - CosLoadBalancing::LoadList * tmp; - ACE_NEW_THROW_EX (tmp, - CosLoadBalancing::LoadList (1), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - CosLoadBalancing::LoadList_var load_list = tmp; - - load_list->length (1); - - load_list[0].id = CosLoadBalancing::LoadAverage; - load_list[0].value = load; - - return load_list._retn (); - -#else - - ACE_UNUSED_ARG (load); - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); - -#endif /* linux || sun || __hpux || __NetBSD__ || __APPLE__ */ - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.h deleted file mode 100644 index 12bb7c1df80..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.h +++ /dev/null @@ -1,103 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_CPU_Load_Average_Monitor.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_CPU_LOAD_AVERAGE_MONITOR_H -#define TAO_LB_CPU_LOAD_AVERAGE_MONITOR_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/CosLoadBalancingS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_CPU_Load_Average_Monitor - * - * @brief LoadMonitor implementation that monitors the overall CPU - * load on a given host. - * - * Loads returned from this load monitor are the average number of - * processes in the "run" queue over a ***FIXME*** seconds averaged - * over the number of processors. For example, a load of 2 on a dual - * CPU host is returned as an average load of 1 by this CPU load - * monitor, a load of 5 on a quad CPU host will be reported as a load - * of 1.25 (i.e. 5/4), and so on and so forth. - */ -class TAO_LoadBalancing_Export TAO_LB_CPU_Load_Average_Monitor - : public virtual POA_CosLoadBalancing::LoadMonitor -{ -public: - - /// Constructor - /** - * If no location is supplied the hostname or IP address is used by - * default. - */ - TAO_LB_CPU_Load_Average_Monitor (const char * location_id = 0, - const char * location_kind = 0); - - /** - * @name CosLoadBalancing::LoadMonitor Methods - * - * Methods required by the CosLoadBalancing::LoadMonitor interface. - */ - //@{ - - /// Return the location at which the LoadMonitor resides. - /** - * The returned "Location" is a sequence of length 1. - */ - virtual CosLoadBalancing::Location * the_location ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the average CPU load at the location which this - /// LoadMonitor resides. - /** - * @return A "Load" sequence of length 1 that contains a LoadId - * equal to CosLoadBalancing::LoadAverage, and the average CPU - * load. - */ - virtual CosLoadBalancing::LoadList * loads ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - //@} - -protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management through - * reference counting. - */ - ~TAO_LB_CPU_Load_Average_Monitor (void); - -private: - - /// The name of the location at which this LoadMonitor resides. - CosLoadBalancing::Location location_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_CPU_LOAD_AVERAGE_MONITOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp deleted file mode 100644 index 48a8267e189..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp +++ /dev/null @@ -1,170 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.h" -#include "tao/ORB_Constants.h" -#include "ace/OS_NS_time.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" -#include "ace/OS_NS_unistd.h" -#include "ace/os_include/os_netdb.h" -#include "ace/os_include/sys/os_loadavg.h" - -ACE_RCSID (LoadBalancing, - LB_CPU_Utilization_Monitor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -double calc_cpu_loading (void) -{ - static char buf[1024]; - static unsigned long prev_idle = 0; - static double prev_total = 0.0; - - FILE *file_ptr = 0; - char *item = 0; - char *arg = 0; - unsigned long delta_idle = 0; - unsigned long user = 0; - unsigned long nice = 0; - unsigned long idle = 0; - unsigned long sys = 0; - - double percent_cpu_load = 0.0; - - if ((file_ptr = fopen("/proc/stat", "r")) == 0) - return percent_cpu_load; - - while ((fgets (buf, sizeof (buf), file_ptr)) != 0) - { - item = ACE_OS::strtok (buf, " \t\n"); - arg = ACE_OS::strtok (0, "\n"); - - if (item == 0 || arg == 0) - continue; - if (item[0] == 'c' && strlen (item) == 3) - { - sscanf (arg, "%lu %lu %lu %lu", &user, &nice, &sys, &idle); - break; - } - - - } - - fclose (file_ptr); - - delta_idle = idle - prev_idle; - double total; - double time_passed; - total = (double) (user + nice + sys + idle); - time_passed = total - prev_total; - - percent_cpu_load = 100.0 - (delta_idle / time_passed * 100.0); - - prev_idle = idle; - prev_total = total; - - return percent_cpu_load; - -} - - -TAO_LB_CPU_Utilization_Monitor::TAO_LB_CPU_Utilization_Monitor (const char * location_id, - const char * location_kind) - : location_ (1) -{ - this->location_.length (1); - - if (location_id == 0) - { - char host[MAXHOSTNAMELEN + 1]; - if (ACE_OS::hostname (host, sizeof (host)) != 0) - { - // Couldn't determine hostname. Use the current time - // instead. - CORBA::ULong t = static_cast (ACE_OS::time ()); - - // A 64 byte buffer is more than enough to contain the - // string representation of a 32 bit unsigned integer. - char buf[64] = { '\0' }; - ACE_OS::sprintf (buf, "%u", t); - - this->location_[0].id = CORBA::string_dup (buf); - this->location_[0].kind = CORBA::string_dup ("Creation Time"); - } - else - { - this->location_[0].id = CORBA::string_dup (host); - this->location_[0].kind = CORBA::string_dup ("Hostname"); - } - } - else - { - this->location_[0].id = CORBA::string_dup (location_id); - - if (location_kind != 0) - this->location_[0].kind = CORBA::string_dup (location_kind); - } -} - -TAO_LB_CPU_Utilization_Monitor::~TAO_LB_CPU_Utilization_Monitor (void) -{ -} - -CosLoadBalancing::Location * -TAO_LB_CPU_Utilization_Monitor::the_location (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosLoadBalancing::Location * location; - ACE_NEW_THROW_EX (location, - CosLoadBalancing::Location (this->location_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return location; -} - -CosLoadBalancing::LoadList * -TAO_LB_CPU_Utilization_Monitor::loads (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Float load = 0; - -#if defined (linux) || defined (sun) - - double load_double = calc_cpu_loading (); - load = load_double; - - CosLoadBalancing::LoadList * tmp; - ACE_NEW_THROW_EX (tmp, - CosLoadBalancing::LoadList (1), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - CosLoadBalancing::LoadList_var load_list = tmp; - - load_list->length (1); - - load_list[0].id = CosLoadBalancing::LoadAverage; - load_list[0].value = load; - - ACE_DEBUG ((LM_DEBUG, "%2f\n", load_list[0].value)); - - return load_list._retn (); - -#else - - ACE_UNUSED_ARG (load); - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); - -#endif /* linux || sun */ - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.h deleted file mode 100644 index c369ce8e2c0..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_CPU_Utilization_Monitor.h - * - * $Id$ - * - * @author Jaiganesh Balasubramanian - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_CPU_UTILIZATION_MONITOR_H -#define TAO_LB_CPU_UTILIZATION_MONITOR_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/CosLoadBalancingS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_CPU_Utilization_Monitor - * - * @brief LoadMonitor implementation that monitors the overall CPU - * load on a given host. - * - * Loads returned from this load monitor is the utilization of - * CPU in the "form" of percentage. - */ -class TAO_LoadBalancing_Export TAO_LB_CPU_Utilization_Monitor - : public virtual POA_CosLoadBalancing::LoadMonitor -{ -public: - - /// Constructor - /** - * If no location is supplied the hostname or IP address is used by - * default. - */ - TAO_LB_CPU_Utilization_Monitor (const char * location_id = 0, - const char * location_kind = 0); - - /** - * @name CosLoadBalancing::LoadMonitor Methods - * - * Methods required by the CosLoadBalancing::LoadMonitor interface. - */ - //@{ - - /// Return the location at which the LoadMonitor resides. - /** - * The returned "Location" is a sequence of length 1. - */ - virtual CosLoadBalancing::Location * the_location ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the average CPU load at the location which this - /// LoadMonitor resides. - /** - * @return A "Load" sequence of length 1 that contains a LoadId - * equal to CosLoadBalancing::LoadAverage, and the average CPU - * load. - */ - virtual CosLoadBalancing::LoadList * loads ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - //@} - -protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management through - * reference counting. - */ - ~TAO_LB_CPU_Utilization_Monitor (void); - -private: - - /// The name of the location at which this LoadMonitor resides. - CosLoadBalancing::Location location_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_CPU_UTILIZATION_MONITOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.cpp deleted file mode 100644 index abfe60c3f23..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_ClientComponent.h" -#include "orbsvcs/LoadBalancing/LB_ClientORBInitializer.h" - -#include "tao/ORB_Constants.h" -#include "tao/ORBInitializer_Registry.h" - -ACE_RCSID (LoadBalancing, - LB_ClientComponent, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_LB_ClientComponent::init (int /* argc */, ACE_TCHAR * /* argv */[]) -{ - return this->register_orb_initializer (); -} - -int -TAO_LB_ClientComponent::fini (void) -{ - return 0; -} - -int -TAO_LB_ClientComponent::register_orb_initializer (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Register the LB_ClientComponent ORB initializer. - PortableInterceptor::ORBInitializer_ptr tmp; - ACE_NEW_THROW_EX (tmp, - TAO_LB_ClientORBInitializer, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - 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_ClientComponent ORB " - "initializer."); - return -1; - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_LB_ClientComponent, - ACE_TEXT ("LB_ClientComponent"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_LB_ClientComponent), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_LoadBalancing, TAO_LB_ClientComponent) diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.h deleted file mode 100644 index 8431950aff4..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_ClientComponent.h - * - * $Id$ - - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_LB_CLIENTCOMPONENT_H -#define TAO_LB_CLIENTCOMPONENT_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" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_ClientComponent - * - * @brief Service_Object that can be used to add load balancer support - * to a CORBA-based client. - * - * CORBA applications wishing to transparently add load shedding support - * can load this object via the ACE_Service_Configurator (e.g. by - * listing it in a `svc.conf' file). - */ -class TAO_LoadBalancing_Export TAO_LB_ClientComponent - : 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_ClientComponent's ORBInitializer. - int register_orb_initializer (void); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE_EXPORT (TAO_LoadBalancing, TAO_LB_ClientComponent) -ACE_STATIC_SVC_REQUIRE (TAO_LB_ClientComponent) -ACE_FACTORY_DECLARE (TAO_LoadBalancing, TAO_LB_ClientComponent) - - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_CLIENTCOMPONENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.cpp deleted file mode 100644 index 10ef40d2a54..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_ClientORBInitializer.h" -#include "orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h" - -#include "tao/ORB_Constants.h" - -ACE_RCSID (LoadBalancing, - LB_ClientORBInitializer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_LB_ClientORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ClientORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableInterceptor::ClientRequestInterceptor_ptr tmp; - ACE_NEW_THROW_EX (tmp, - TAO_LB_ClientRequestInterceptor, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - PortableInterceptor::ClientRequestInterceptor_var client_interceptor = tmp; - - info->add_client_request_interceptor (client_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h deleted file mode 100644 index 595c7198ea0..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_ClientORBInitializer.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_CLIENT_ORB_INITIALIZER_H -#define TAO_LB_CLIENT_ORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "tao/PI/PI.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_ORBInitializer - * - * @brief ORBInitializer for the LB_ClientComponent Service_Object. - * - * This ORBInitializer simply creates and registers with the ORB the - * ClientRequestInterceptor that handles injection of the - * CosLoadBalancing::LOAD_MANAGED ServiceContext into each request's - * ServiceContextList. - */ -class TAO_LB_ClientORBInitializer - : public virtual PortableInterceptor::ORBInitializer, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /** - * @name PortableInterceptor::ORBInitializer Methods - * - * Methods required by the PortableInterceptor::ORBInitializer - * interface. - */ - //@{ - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_CLIENT_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.cpp deleted file mode 100644 index 870a88577d2..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.cpp +++ /dev/null @@ -1,114 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h" - -#include "orbsvcs/CosLoadBalancingC.h" - - -ACE_RCSID (LoadBalancing, - TAO_LB_ClientRequestInterceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -char * -TAO_LB_ClientRequestInterceptor::name ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("TAO_LB_ClientRequestInterceptor"); -} - -void -TAO_LB_ClientRequestInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ClientRequestInterceptor::send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - /* - CORBA::Object_var t = ri->target (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - */ - - // A ServiceContext with an empty payload (i.e. zero length - // context_data) will be embedded into the request. - IOP::ServiceContext service_context; - service_context.context_id = CosLoadBalancing::LOAD_MANAGED; - - - /* - // A CDR encapsulation IOP::Codec could be used here, but it uses - // interpreted marshaling, which is slower than the compiled - // marshaling used below. - - TAO_OutputCDR cdr; - cdr << TAO_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER); - - // Marshal the target object, i.e. the object reference that points - // back to the object group into the ServiceContextList. - cdr << t.in (); - - // TAO extension, replace the contents of the octet sequence with - // the CDR stream. - const CORBA::ULong tl = cdr.total_length (); - service_context.context_data.length (tl); - CORBA::Octet * buf = service_context.context_data.get_buffer (); - for (const ACE_Message_Block * i = cdr.begin (); - i != 0; - i = i->cont ()) - { - const size_t len = i->length (); - - // @todo It would be nice to avoid this copy. - ACE_OS::memcpy (buf, i->rd_ptr (), len); - buf += len; - } - */ - - const CORBA::Boolean replace = 0; - ri->add_request_service_context (service_context, - replace - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LB_ClientRequestInterceptor::send_poll ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ClientRequestInterceptor::receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ClientRequestInterceptor::receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -TAO_LB_ClientRequestInterceptor::receive_other ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h deleted file mode 100644 index 124a845a989..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h +++ /dev/null @@ -1,114 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_ClientRequestInterceptor.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_CLIENT_REQUEST_INTERCEPTOR_H -#define TAO_LB_CLIENT_REQUEST_INTERCEPTOR_H - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_ClientRequestInterceptor - * - * @brief Load balancer client request interceptor that injects an - * IOP::ServiceContext into a request's - * IOP::ServiceContextList. - * - * Load shedding requires that a specific ServiceContext exists - * in the request's ServiceContextList. The server side will attempt - * to detect if that ServiceContext exists, and shed load if it does. - * - * @note This model introduces a Denial-of-Service vulnerability. - * Malicious or incorrectly configured clients can spoof the - * server into thinking that it is invoking requests on a - * non-load balanced object. At that point, the server will let - * the request through, completely bypassing the load shedding - * mechanism! A server side-only mechanism can correct this - * vulnerability, but at the potential cost of additional - * resource overhead. - */ -class TAO_LB_ClientRequestInterceptor - : public virtual PortableInterceptor::ClientRequestInterceptor, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /** - * @name Methods Required by the Client Request Interceptor - * Interface - * - * These are methods that must be implemented since they are pure - * virtual in the abstract base class. They are the canonical - * methods required for all client request interceptors. - */ - //@{ - /// Return the name of this ClientRequestInterceptor. - virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_poll ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_other ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - //@} - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_LB_CLIENT_REQUEST_INTERCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp deleted file mode 100644 index 3e6d76a10aa..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_Component.h" -#include "orbsvcs/LoadBalancing/LB_ORBInitializer.h" - -#include "tao/ORB_Constants.h" -#include "tao/ORBInitializer_Registry.h" -#include "ace/OS_NS_strings.h" - -ACE_RCSID (LoadBalancing, - LB_Component, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -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::VMCID, - 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; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -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 26273daab93..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_Component.h - * - * $Id$ - - * @author Ossama Othman - */ -//============================================================================= - -#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" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_Component - * - * @brief Service_Object that can be used to add load balancer support - * to a CORBA-based 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); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -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 3f555d17a5c..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp +++ /dev/null @@ -1,189 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_IORInterceptor.h" -#include "orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h" -#include "orbsvcs/LoadBalancing/LB_LoadAlert.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -ACE_RCSID (LoadBalancing, - LB_IORInterceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -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 ((CORBA::SystemException)) -{ -} - -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::VMCID, - 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 ( - const char *, - PortableInterceptor::AdapterState state - ACE_ENV_ARG_DECL) - 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) - 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) -{ - { - 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 - { - if (TAO_debug_level > 0) - 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; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h deleted file mode 100644 index 6b93c951912..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h +++ /dev/null @@ -1,152 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_IORInterceptor.h - * - * $Id$ - - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_LB_IOR_INTERCEPTOR_H -#define TAO_LB_IOR_INTERCEPTOR_H - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosLoadBalancingC.h" -#include "tao/LocalObject.h" -#include "tao/IORInterceptor/IORInterceptor.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -class TAO_LB_LoadAlert; - - -/** - * @class TAO_LB_IORInterceptor - * - * @brief TAO Load Balancer IOR interceptor. - * - * This IORInterceptor is registered in object group member ORBs. - * During creation of the object group member reference, this - * IORInterceptor will change the "current_factory" attribute of the - * PortableInterceptor::IORInfo object to the Load Balancer's - * ObjectReferenceFactory. - * - * @see LB_ObjectReferenceFactory.h for details. - */ -class TAO_LB_IORInterceptor - : public virtual PortableInterceptor::IORInterceptor_3_0, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - 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); - - /** - * @name Methods Required by the IOR Interceptor Interface - * - * These are methods that must be implemented since they are pure - * virtual in the abstract base class. They are the canonical - * methods required for all IOR interceptors. - */ - //@{ - /// Return the name of this IORInterceptor. - virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Cleanup resources acquired by this IORInterceptor. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Add the tagged components to the IOR. - virtual void establish_components ( - PortableInterceptor::IORInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void components_established ( - PortableInterceptor::IORInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void adapter_manager_state_changed ( - const char * id, - PortableInterceptor::AdapterState state - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void adapter_state_changed ( - const PortableInterceptor::ObjectReferenceTemplateSeq & templates, - PortableInterceptor::AdapterState state - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - //@} - -private: - - /// Create and register the LoadAlert object with the LoadManager. - void register_load_alert (ACE_ENV_SINGLE_ARG_DECL); - -private: - - /// List of stringified object group references. - const CORBA::StringSeq object_groups_; - - /// List of RepositoryIds for object that will be load - /// managed/balanced. - const CORBA::StringSeq repository_ids_; - - /// Location at which the LoadBalancing component resides. - CORBA::String_var location_; - - /// Reference to the LoadManager. - CosLoadBalancing::LoadManager_var lm_; - - /// ORBid of the ORB this IORInterceptor is registered with. - CORBA::String_var orb_id_; - - /// Reference to the LoadAlert servant. - TAO_LB_LoadAlert & load_alert_; - - /// Reference to the LoadAlert object. - CosLoadBalancing::LoadAlert_var la_ref_; - - /// Synchronize access to the class state. - TAO_SYNCH_MUTEX lock_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_LB_IOR_INTERCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp deleted file mode 100644 index 00c4fa6203d..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp +++ /dev/null @@ -1,641 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LeastLoaded.h" -#include "orbsvcs/LoadBalancing/LB_LoadMap.h" -#include "orbsvcs/LoadBalancing/LB_Random.h" - -#include "orbsvcs/PortableGroup/PG_conf.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -#include "ace/Null_Mutex.h" -#include "ace/OS_NS_string.h" - - -ACE_RCSID (LoadBalancing, - LB_LeastLoaded, - "$Id$") - - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/LoadBalancing/LB_LeastLoaded.inl" -#endif /* defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LeastLoaded::TAO_LB_LeastLoaded (PortableServer::POA_ptr poa) - : poa_ (PortableServer::POA::_duplicate (poa)), - load_map_ (0), - lock_ (0), - properties_ (), - critical_threshold_ (TAO_LB::LL_DEFAULT_CRITICAL_THRESHOLD), - reject_threshold_ (TAO_LB::LL_DEFAULT_REJECT_THRESHOLD), - tolerance_ (TAO_LB::LL_DEFAULT_TOLERANCE), - dampening_ (TAO_LB::LL_DEFAULT_DAMPENING), - per_balance_load_ (TAO_LB::LL_DEFAULT_DAMPENING) -{ - // 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); - } - - // Initialize the random load balancing strategy. - TAO_LB_Random::init (); -} - -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 (this->properties_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - 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); - } -} - -CosLoadBalancing::LoadList * -TAO_LB_LeastLoaded::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - CosLoadBalancing::LoadList_var loads = - load_manager->get_loads (the_location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->push_loads (the_location, - loads.in (), - loads[0] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return loads._retn (); -} - - -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) - { -// ACE_DEBUG ((LM_DEBUG, -// "RETURNING REFERENCE FOR LOCATION \"%s\"\n", -// location[0].id.in ())); - - return load_manager->get_member_ref (object_group, - location - ACE_ENV_ARG_PARAMETER); - } - else - { - // No loads have been reported for any of the locations the - // object group members reside at. If no loads have been - // reported to the LoadManager, adaptive load balancing - // decisions cannot be made. Fall back on a non-adaptive - // strategy, such as the Random load balancing strategy, - // instead. - // - // @note The Random load balancing strategy is used since it is - // very lightweight and stateless. - - return TAO_LB_Random::_tao_next_member (object_group, - load_manager, - locations.in () - ACE_ENV_ARG_PARAMETER); - } -} - -void -TAO_LB_LeastLoaded::analyze_loads ( - PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW (CORBA::BAD_PARAM ()); - - PortableGroup::Locations_var locations = - load_manager->locations_of_members (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (locations->length () == 0) - ACE_THROW (CORBA::TRANSIENT ()); - - const CORBA::ULong len = locations->length (); - - // Iterate through the entire location list to determine which - // locations require load to be shed. - for (CORBA::ULong i = 0; i < len; ++i) - { - ACE_TRY - { - 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_TRY_CHECK; - - CosLoadBalancing::Load load; - this->push_loads (loc, - current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; -/* - ACE_DEBUG ((LM_DEBUG, - "EFFECTIVE_LOAD == %f\n" - "CRITICAL == %f\n" - "REJECT == %f\n" - "DAMPENING == %f\n", - load.value, - this->critical_threshold_, - this->reject_threshold_, - this->dampening_)); -*/ - // Perform load rebalancing only if the critical threshold - // was set. - if (this->critical_threshold_ != 0) - { - if (load.value > this->critical_threshold_) - { -/* - ACE_DEBUG ((LM_DEBUG, - "%P --- ALERTING LOCATION %u\n", - i)); -*/ - - // 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_TRY_CHECK; - } - else - { - // The location is not overloaded. Disable load - // shedding at given location. - load_manager->disable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // No load available for the requested location. Try the - // next location. - } - ACE_ENDTRY; - ACE_CHECK; - } -} - -PortableServer::POA_ptr -TAO_LB_LeastLoaded::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -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 = FLT_MAX; // Start out with the largest - // positive value. - - CORBA::ULong location_index = 0; - CORBA::Boolean found_location = 0; - CORBA::Boolean found_load = 0; - - const CORBA::ULong len = locations.length (); - - // Iterate through the entire location list to find the least loaded - // of them. - for (CORBA::ULong i = 0; i < len; ++i) - { - ACE_TRY - { - 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_TRY_CHECK; - - found_load = 1; - - CosLoadBalancing::Load load; - this->push_loads (loc, - current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; -/* - ACE_DEBUG ((LM_DEBUG, - "LOC = %u" - "\tC = %d" - "\treject = %f" - "\tload = %f\n" - "\tmin_load = %f\n", - i, - (this->reject_threshold_ == 0 - || load.value < this->reject_threshold_), - this->reject_threshold_, - load.value, - min_load)); -*/ - if ((this->reject_threshold_ == 0 - || load.value < this->reject_threshold_) - && load.value < min_load) - { -// ACE_DEBUG ((LM_DEBUG, -// "**** LOAD == %f\n", -// load.value)); - - if (i > 0 && load.value != 0) - { - /* - percent difference = - (min_load - load.value) / load.value - == (min_load / load.value) - 1 - - The latter form is used to avoid a potential - arithmetic overflow problem, such as when - (min_load - load.value) > FLT_MAX, assuming that - either load.value is negative and min_load is - positive, or vice versa. - */ - const CORBA::Float percent_diff = - (min_load / load.value) - 1; - - /* - A "thundering herd" phenomenon may occur when - location loads are basically the same (e.g. only - differ by a very small amount), where one object - group member ends up receiving the majority of - requests from different clients. In order to - prevent a single object group member from - receiving such request bursts, one of two equally - loaded locations is chosen at random. Thanks to - Carlos, Marina and Jody at ATD for coming up with - this solution to this form of the thundering herd - problem. - - See the documentation for - TAO_LB::LL_DEFAULT_LOAD_PERCENT_DIFF_CUTOFF in - LB_LeastLoaded.h for additional information. - */ - if (percent_diff <= TAO_LB::LL_DEFAULT_LOAD_PERCENT_DIFF_CUTOFF) - { - // Prevent integer arithmetic overflow. - const CORBA::Float NUM_MEMBERS = 2; - - // n == 0: Use previously selected location. - // n == 1: Use current location. - const CORBA::ULong n = - static_cast (NUM_MEMBERS * ACE_OS::rand () - / (RAND_MAX + 1.0)); - - ACE_ASSERT (n == 0 || n == 1); - - if (n == 1) - { - min_load = load.value; - location_index = i; - found_location = 1; - -// ACE_DEBUG ((LM_DEBUG, -// "** NEW MIN_LOAD == %f\n", -// min_load)); - } - -// if (n == 0) -// ACE_DEBUG ((LM_DEBUG, "^^^^^ PREVIOUS LOCATION\n")); -// else -// ACE_DEBUG ((LM_DEBUG, "^^^^^ CURRENT LOCATION\n")); - - } - else - { - min_load = load.value; - location_index = i; - found_location = 1; - -// ACE_DEBUG ((LM_DEBUG, -// "***** NEW MIN_LOAD == %f\n", -// min_load)); - } - } - else - { - min_load = load.value; - location_index = i; - found_location = 1; - -// ACE_DEBUG ((LM_DEBUG, -// "NEW MIN_LOAD == %f\n", -// min_load)); - } - } - - // ACE_DEBUG ((LM_DEBUG, "NEW MIN_LOAD == %f\n", min_load)); - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // No load available for the requested location. Try the - // next location. - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - -// ACE_DEBUG ((LM_DEBUG, -// "FOUND_LOAD == %u\n" -// "FOUND_LOCATION == %u\n", -// found_load, -// found_location)); - - // If no loads were found, return without an exception to allow this - // strategy to select a member using an alternative method - // (e.g. random selection). - if (found_load) - { - if (found_location) - { - //ACE_DEBUG ((LM_DEBUG, "LOCATED = %u\n", location_index)); - location = locations[location_index]; - } - else if (this->reject_threshold_ != 0) - ACE_THROW_RETURN (CORBA::TRANSIENT (), 0); - -// ACE_DEBUG ((LM_DEBUG, "LOCATION ID == %s\n", location[0].id.in ())); - } - - return found_location; -} - -void -TAO_LB_LeastLoaded::init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) -{ - 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 PortableGroup::Property * ct = 0; // critical threshold property - - 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; - - ct = &property; - } - - 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; - - // Valid tolerance values are greater than or equal to one. - if (tolerance < 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - 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; - - // Dampening range is [0,1). - if (dampening < 0 || dampening >= 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - 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; - } - } - - if (critical_threshold != 0 && reject_threshold != 0 - && critical_threshold <= reject_threshold) - ACE_THROW (PortableGroup::InvalidProperty (ct->nam, ct->val)); - - this->properties_ = props; - - this->critical_threshold_ = critical_threshold; - this->reject_threshold_ = reject_threshold; - this->tolerance_ = tolerance; - this->dampening_ = dampening; - this->per_balance_load_ = per_balance_load; -/* - ACE_DEBUG ((LM_DEBUG, - "--------------------------------\n" - "critical_threshold = %f\n" - "reject_threshold = %f\n" - "tolerance = %f\n" - "dampening = %f\n" - "per_balance_load = %f\n" - "--------------------------------\n", - critical_threshold, - reject_threshold, - tolerance, - dampening, - per_balance_load)); -*/ -} - -void -TAO_LB_LeastLoaded::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)); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h deleted file mode 100644 index a7843028c66..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h +++ /dev/null @@ -1,229 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_LeastLoaded.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef LB_LEAST_LOADED_H -#define LB_LEAST_LOADED_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/LoadBalancing/LB_LoadMap.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosLoadBalancingS.h" - -#include "ace/Synch_Traits.h" -#include "ace/Thread_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -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; - //@} - - /** - * @name TAO-specific LeastLoaded strategy parameters. - * - * Parameters internal to TAO's LeastLoaded strategy - * implementation. - */ - //@{ - /// Percentage difference between two load values that determines - /// whether the loads are considered equivalent. - /** - * If the percent difference between two loads, i.e.: - * (Old Load - New Load) / New Load - * is less than or equal to this value, the two loads will be - * considered equivalent. In such a case, an object group member - * residing at the location corresponding to one of the two loads - * will be selected at random. - */ - const CORBA::Float LL_DEFAULT_LOAD_PERCENT_DIFF_CUTOFF = 0.01f; // 1% - //@} -} - -/** - * @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 POA_CosLoadBalancing::Strategy -{ -public: - - /// Constructor. - TAO_LB_LeastLoaded (PortableServer::POA_ptr poa); - - /** - * @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 CosLoadBalancing::LoadList * get_loads ( - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - 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)); - //@} - - /// Returns the default POA for this servant. - virtual PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - /// Initialize the LeastLoaded instance with the given properties. - void init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL); - -protected: - - /// Destructor. - ~TAO_LB_LeastLoaded (void); - - /// 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); - - /// Utility method to extract a CORBA::Float value from the given - /// property. - void extract_float_property (const PortableGroup::Property & property, - CORBA::Float & value - ACE_ENV_ARG_DECL); - -private: - - /// This servant's default POA. - PortableServer::POA_var poa_; - - /// 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_; - - /// Cached set of properties used when initializing this strategy. - CosLoadBalancing::Properties properties_; - - /** - * @name LeastLoaded Property Values - * - * Cached LeastLoaded load balancing strategy property values. - */ - //@{ - - /// The critical load threshold. - /** - * Load rebalancing/shedding will occur if loads at a given location - * are greater than this value. The default value is zero, which - * indicates that no load rebalancing/shedding will occur. - */ - CORBA::Float critical_threshold_; - - /// The request rejection threshold. - /** - * If the load at a given location is greater than this value, the - * member at that location will not be considered when choosing a - * member to the request will be forwarded. If all locations have - * loads greater than this value, a @c CORBA::TRANSIENT exception - * will be thrown unless the reject threshold is zero, which is the - * default. If the request rejection threshold is zero, a @c - * CORBA::TRANSIENT will not be thrown by this load balancing - * strategy, unless no object group members have been added yet. - */ - CORBA::Float reject_threshold_; - - /// - CORBA::Float tolerance_; - - /// - CORBA::Float dampening_; - - /// - CORBA::Float per_balance_load_; - - //@} - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined (__ACE_INLINE__) -#include "orbsvcs/LoadBalancing/LB_LeastLoaded.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" - -#endif /* LB_LEAST_LOADED_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.inl b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.inl deleted file mode 100644 index e59193f3c6f..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.inl +++ /dev/null @@ -1,27 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Float -TAO_LB_LeastLoaded::effective_load (CORBA::Float previous_load, - CORBA::Float new_load) -{ - // Apply per-balance load. (Recompute raw load) - previous_load += this->per_balance_load_; - - // Apply dampening. (Recompute new raw load) - CORBA::Float result = - this->dampening_ * previous_load + (1 - this->dampening_) * new_load; - - ACE_ASSERT (this->tolerance_ != 0); - - // Compute the effective load. - result /= this->tolerance_; - - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp deleted file mode 100644 index a57212dbce6..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadAlert.h" - - -ACE_RCSID (LoadBalancer, - LB_LoadAlert, - "$Id$") - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/LoadBalancing/LB_LoadAlert.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LoadAlert::TAO_LB_LoadAlert (void) - : alerted_ (0), - lock_ () -{ -} - -TAO_LB_LoadAlert::~TAO_LB_LoadAlert (void) -{ -} - -void -TAO_LB_LoadAlert::enable_alert (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, monitor, this->lock_); - - this->alerted_ = 1; -} - -void -TAO_LB_LoadAlert::disable_alert (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, monitor, this->lock_); - - this->alerted_ = 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h deleted file mode 100644 index f5345ef7f07..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_LoadAlert.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_LOAD_ALERT_H -#define TAO_LB_LOAD_ALERT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LoadBalancing_Export TAO_LB_LoadAlert - : public virtual POA_CosLoadBalancing::LoadAlert -{ -public: - - /// Constructor. - TAO_LB_LoadAlert (void); - - /** - * @name CosLoadBalancing::LoadAlert Methods - * - * Methods required by the CosLoadBalancing::LoadAlert interface. - */ - //@{ - - /// Forward requests back to the load manager via the object group - /// reference. - virtual void enable_alert (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Stop forwarding requests, and begin accepting them again. - virtual void disable_alert (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - //@} - - /// Has this LoadAlert servant been alerted of a high load condition - /// by the LoadManager. - CORBA::Boolean alerted (void) const; - -// protected: - - /// Destructor. - /** - * Protected destructor to enforce correct memory management via - * reference counting. - */ - virtual ~TAO_LB_LoadAlert (void); - -private: - - /// Has this LoadAlert servant been alerted of a high load condition - /// by the LoadManager? - CORBA::Boolean alerted_; - - /// Lock used to synchronized access to the LoadAlert state. - mutable TAO_SYNCH_MUTEX lock_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/LoadBalancing/LB_LoadAlert.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOAD_ALERT_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl deleted file mode 100644 index abff1d3087e..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl +++ /dev/null @@ -1,16 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_LB_LoadAlert::alerted (void) const -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, monitor, this->lock_, 0); - - return this->alerted_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.cpp deleted file mode 100644 index 0378e9f584e..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadAlertInfo.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" - -ACE_RCSID (LoadBalancing, - LB_LoadAlertInfo, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LoadAlertInfo::TAO_LB_LoadAlertInfo (void) - : load_alert (), - alerted (0) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.h deleted file mode 100644 index 47c3f7b384c..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file LB_LoadAlertInfo.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_LB_LOAD_ALERT_INFO_H -#define TAO_LB_LOAD_ALERT_INFO_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosLoadBalancingC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_LoadAlertInfo - * - * @brief Structure that contains all LoadAlert-specific information. - * - * Structure that contains all LoadAlert-specific information. - */ -struct TAO_LB_LoadAlertInfo -{ - /// Constructor. - TAO_LB_LoadAlertInfo (void); - - /// Reference to the LoadAlert object. - CosLoadBalancing::LoadAlert_var load_alert; - - /// True if the LoadAlert object has been alerted about a given load - /// condition. False otherwise. - CORBA::Boolean alerted; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOAD_ALERT_INFO_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.h deleted file mode 100644 index 5451acafddb..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file LB_LoadAlertMap.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_LB_LOAD_ALERT_MAP_H -#define TAO_LB_LOAD_ALERT_MAP_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/LoadBalancing/LB_LoadAlertInfo.h" - -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" - -#include "ace/Hash_Map_Manager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// LoadAlertInfo hash map typedef. -typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::Location, - TAO_LB_LoadAlertInfo, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - ACE_Null_Mutex> TAO_LB_LoadAlertMap; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOAD_ALERT_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.cpp deleted file mode 100644 index ca2bf1b5116..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h" - -#include "tao/debug.h" - - -ACE_RCSID (LoadBalancing, - LB_LoadAlert_Handler, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LoadAlert_Handler::~TAO_LB_LoadAlert_Handler (void) -{ -} - -void -TAO_LB_LoadAlert_Handler::enable_alert (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_LoadAlert_Handler::enable_alert_excep ( - ::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Exception caught when invoking ") - ACE_TEXT ("LoadAlert::enable_alert()\n"))); -} - -void -TAO_LB_LoadAlert_Handler::disable_alert (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_LoadAlert_Handler::disable_alert_excep ( - ::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Exception caught when invoking ") - ACE_TEXT ("LoadAlert::disable_alert()\n"))); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h deleted file mode 100644 index d19518ce96d..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -// ============================================================================ -/** - * @file LB_LoadAlert_Handler.h - * - * $Id$ - * - * @author Ossama Othman - */ -// ============================================================================ - -#ifndef TAO_LB_LOAD_ALERT_REPLY_HANDLER_H -#define TAO_LB_LOAD_ALERT_REPLY_HANDLER_H - -#include "orbsvcs/CosLoadBalancingS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_LoadAlert_Handler - * - * @brief The AMI reply handler for replies from all LoadAlert - * objects. - * - * This class handles all asynchronously received replies from all - * registered LoadAlert objects. It only exists to receive - * asynchronously sent exceptions. - */ -class TAO_LB_LoadAlert_Handler - : public virtual POA_CosLoadBalancing::AMI_LoadAlertHandler -{ -public: - - virtual void enable_alert (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void enable_alert_excep ( - ::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void disable_alert (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void disable_alert_excep ( - ::Messaging::ExceptionHolder * - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - - /// Protected destructor to enforce propery memory management - /// through reference counting. - ~TAO_LB_LoadAlert_Handler (void); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_LB_LOAD_ALERT_REPLY_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.cpp deleted file mode 100644 index c6a0d0c3fa3..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.cpp +++ /dev/null @@ -1,454 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadAverage.h" -#include "orbsvcs/LoadBalancing/LB_LoadMap.h" -#include "orbsvcs/LoadBalancing/LB_Random.h" - -#include "orbsvcs/PortableGroup/PG_conf.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -#include "ace/Null_Mutex.h" -#include "ace/OS_NS_string.h" - - -ACE_RCSID (LoadBalancing, - LB_LoadAverage, - "$Id$") - - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/LoadBalancing/LB_LoadAverage.inl" -#endif /* defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LoadAverage::TAO_LB_LoadAverage (PortableServer::POA_ptr poa) - : poa_ (PortableServer::POA::_duplicate (poa)), - load_map_ (0), - lock_ (0), - properties_ (), - tolerance_ (TAO_LB::LA_DEFAULT_TOLERANCE), - dampening_ (TAO_LB::LA_DEFAULT_DAMPENING), - per_balance_load_ (TAO_LB::LA_DEFAULT_DAMPENING) -{ - // 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); - } - - // Initialize the random load balancing strategy. - TAO_LB_Random::init (); -} - -TAO_LB_LoadAverage::~TAO_LB_LoadAverage (void) -{ - delete this->load_map_; - delete this->lock_; -} - -char * -TAO_LB_LoadAverage::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("LoadAverage"); -} - -CosLoadBalancing::Properties * -TAO_LB_LoadAverage::get_properties (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosLoadBalancing::Properties * props = 0; - ACE_NEW_THROW_EX (props, - CosLoadBalancing::Properties (this->properties_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return props; -} - -void -TAO_LB_LoadAverage::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_LoadAverage::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_LoadAverage - " - "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); - } -} - -CosLoadBalancing::LoadList * -TAO_LB_LoadAverage::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - CosLoadBalancing::LoadList_var loads = - load_manager->get_loads (the_location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->push_loads (the_location, - loads.in (), - loads[0] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return loads._retn (); -} - - -CORBA::Object_ptr -TAO_LB_LoadAverage::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 ()); - - // @note The Random load balancing strategy is used since it is - // very lightweight and stateless. - - return TAO_LB_Random::_tao_next_member (object_group, - load_manager, - locations.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_LB_LoadAverage::analyze_loads ( - PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW (CORBA::BAD_PARAM ()); - - PortableGroup::Locations_var locations = - load_manager->locations_of_members (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (locations->length () == 0) - ACE_THROW (CORBA::TRANSIENT ()); - - const CORBA::ULong len = locations->length (); - - CosLoadBalancing::Load total_load = { 0, 0 }; - CosLoadBalancing::Load avg_load = { 0, 0 }; - - CosLoadBalancing::LoadList tmp (len); - tmp.length (1); - - // Iterate through the entire location list to determine - // the average load of all the locations - for (CORBA::ULong i = 0; i < len; ++i) - { - ACE_TRY - { - 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_TRY_CHECK; - - CosLoadBalancing::Load load; - this->push_loads (loc, - current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // @@ Jai, please use the compound "+=" operator here. It - // is more efficient in this case. - total_load.value = total_load.value + load.value; - - tmp[i] = load; - - /* - ACE_DEBUG ((LM_DEBUG, - "TOTAL == %f\n", - total_load.value)); - */ - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // no location found - // - } - ACE_ENDTRY; - ACE_CHECK; - } - - avg_load.value = total_load.value / len; -/* - ACE_DEBUG ((LM_DEBUG, - "AVERAGE LOAD == %f\n", - avg_load.value)); -*/ - - // Iterate through the entire location list to determine - // the location where the load has to be shed. - for (CORBA::ULong j = 0; j < len; ++j) - { - ACE_TRY_EX (SECOND) - { - const PortableGroup::Location & loc = locations[j]; - - /* - ACE_DEBUG ((LM_DEBUG, - "EFFECTIVE_LOAD == %f\n" - "AVERAGE == %f\n", - tmp[i].value, - avg_load.value)); - */ - - if (tmp[j].value <= avg_load.value) - { - load_manager->disable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (SECOND); - } - else - { - CORBA::Float percent_diff = - (tmp[j].value / avg_load.value) - 1; - - if (tmp[j].value == avg_load.value) - { - percent_diff = 0; - } -/* - ACE_DEBUG ((LM_DEBUG, - "ALERT LOC == %u" - "\tAVG LOAD == %f\n" - "\tLOAD == %f\n" - "\tPERCENT == %f\n", - i, - avg_load.value, - tmp[i].value, - percent_diff)); -*/ - - // @@ Jai, please correct the indentation on the below - // conditional blocks so that they conform to the ACE - // coding style. - if (percent_diff <= TAO_LB::LA_DEFAULT_DIFF_AVERAGE_CUTOFF) - { - load_manager->disable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (SECOND); - } - else if ((percent_diff > TAO_LB::LA_DEFAULT_DIFF_AVERAGE_CUTOFF) - && (percent_diff < 1)) - { -/* - ACE_DEBUG ((LM_DEBUG, - "%P --- ALERTING LOCATION %u\n", - i)); -*/ - - load_manager->enable_alert (loc - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK_EX (SECOND); - } - - } - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // no location found - // - } - ACE_ENDTRY; - ACE_CHECK; - } - -} - -PortableServer::POA_ptr -TAO_LB_LoadAverage::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -void -TAO_LB_LoadAverage::init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) -{ - CORBA::Float tolerance = TAO_LB::LA_DEFAULT_TOLERANCE; - CORBA::Float dampening = TAO_LB::LA_DEFAULT_DAMPENING; - CORBA::Float per_balance_load = TAO_LB::LA_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.LoadAverage.Tolerance") == 0) - { - this->extract_float_property (property, - tolerance - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Valid tolerance values are greater than or equal to one. - if (tolerance < 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - else if (ACE_OS::strcmp (property.nam[0].id.in (), - "org.omg.CosLoadBalancing.Strategy.LoadAverage.Dampening") == 0) - { - this->extract_float_property (property, - dampening - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Dampening range is [0,1). - if (dampening < 0 || dampening >= 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - else if (ACE_OS::strcmp (property.nam[0].id.in (), - "org.omg.CosLoadBalancing.Strategy.LoadAverage.PerBalanceLoad") == 0) - { - this->extract_float_property (property, - per_balance_load - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - - this->properties_ = props; - - this->tolerance_ = tolerance; - this->dampening_ = dampening; - this->per_balance_load_ = per_balance_load; - - /* - ACE_DEBUG ((LM_DEBUG, - "--------------------------------\n" - "tolerance = %f\n" - "dampening = %f\n" - "per_balance_load = %f\n" - "--------------------------------\n", - tolerance, - dampening, - per_balance_load)); - */ -} - -void -TAO_LB_LoadAverage::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)); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.h deleted file mode 100644 index 4af286ee527..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.h +++ /dev/null @@ -1,184 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_LoadAverage.h - * - * $Id$ - * - * @author Jaiganesh Balasubramanian - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef LB_LOAD_AVERAGE_H -#define LB_LOAD_AVERAGE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/LoadBalancing/LB_LoadMap.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosLoadBalancingS.h" - -#include "ace/Synch_Traits.h" -#include "ace/Thread_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_LB -{ - /** - * @name Default LoadAverage strategy parameters. - * - * Defaults defined by the Load Balancing specification. - */ - //@{ - const CORBA::Float LA_DEFAULT_TOLERANCE = 1; - const CORBA::Float LA_DEFAULT_DAMPENING = 0; - const CORBA::Float LA_DEFAULT_PER_BALANCE_LOAD = 0; - - const CORBA::Float LA_DEFAULT_DIFF_AVERAGE_CUTOFF = 0.8f; - //@} - -} - -/** - * @class TAO_LB_LoadAverage - * - * @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_LoadAverage - : public virtual POA_CosLoadBalancing::Strategy -{ -public: - - /// Constructor. - TAO_LB_LoadAverage (PortableServer::POA_ptr poa); - - /** - * @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 CosLoadBalancing::LoadList * get_loads ( - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - 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)); - //@} - - /// Returns the default POA for this servant. - virtual PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - /// Initialize the LoadAverage instance with the given properties. - void init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL); - -protected: - - /// Destructor. - ~TAO_LB_LoadAverage (void); - - /// 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); - - /// Utility method to extract a CORBA::Float value from the given - /// property. - void extract_float_property (const PortableGroup::Property & property, - CORBA::Float & value - ACE_ENV_ARG_DECL); - -private: - - /// This servant's default POA. - PortableServer::POA_var poa_; - - /// 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_; - - /// Cached set of properties used when initializing this strategy. - CosLoadBalancing::Properties properties_; - - /** - * @name LoadAverage Property Values - * - * Cached LoadAverage load balancing strategy property values. - */ - //@{ - - /// - CORBA::Float tolerance_; - - /// - CORBA::Float dampening_; - - /// - CORBA::Float per_balance_load_; - - //@} - - CosLoadBalancing::LoadList current_loads_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/LoadBalancing/LB_LoadAverage.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" - -#endif /* LB_LOAD_AVERAGE_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.inl b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.inl deleted file mode 100644 index 347374c1a7c..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Float -TAO_LB_LoadAverage::effective_load (CORBA::Float previous_load, - CORBA::Float new_load) -{ - // Apply per-balance load. (Recompute raw load) - previous_load += this->per_balance_load_; - - // Apply dampening. (Recompute new raw load) - CORBA::Float result = - this->dampening_ * previous_load + (1 - this->dampening_) * new_load; - - ACE_ASSERT (this->tolerance_ != 0); - - // Compute the effective load. - result /= this->tolerance_; - - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.h deleted file mode 100644 index 4dd83f2e2b9..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file LB_LoadListMap.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_LB_LOAD_LIST_MAP_H -#define TAO_LB_LOAD_LIST_MAP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" - -#include "ace/Hash_Map_Manager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// LoadList hash map. -typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::Location, - CosLoadBalancing::LoadList, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - ACE_Null_Mutex> TAO_LB_LoadListMap; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOAD_LIST_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp deleted file mode 100644 index 10b42090791..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp +++ /dev/null @@ -1,1295 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadManager.h" -#include "orbsvcs/LoadBalancing/LB_MemberLocator.h" -#include "orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h" -#include "orbsvcs/LoadBalancing/LB_RoundRobin.h" -#include "orbsvcs/LoadBalancing/LB_Random.h" -#include "orbsvcs/LoadBalancing/LB_LoadMinimum.h" -#include "orbsvcs/LoadBalancing/LB_LoadAverage.h" -#include "orbsvcs/LoadBalancing/LB_LeastLoaded.h" -#include "orbsvcs/LoadBalancing/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" -#include "tao/ORB_Constants.h" - -#include "ace/Reactor.h" -#include "ace/Reverse_Lock_T.h" -#include "ace/SString.h" -#include "ace/OS_NS_sys_time.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" - - -ACE_RCSID (LoadBalancing, - LB_LoadManager, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LoadManager::TAO_LB_LoadManager (void) - : reactor_ (0), - poa_ (), - root_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_ (), - random_ (), - least_loaded_ (), - load_minimum_ (), - load_average_ (), - built_in_balancing_strategy_info_name_ (1), - 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) -{ -} - -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 ()); - } - - // Analyze loads for object groups that have members residing at the - // given location. - PortableGroup::ObjectGroups_var groups = - this->object_group_manager_.groups_at_location (the_location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const CORBA::ULong len = groups->length (); - - for (CORBA::ULong i = 0; i < len; ++i) - { - PortableGroup::ObjectGroup_ptr object_group = - groups[i]; - - ACE_TRY - { - PortableGroup::Properties_var properties = - this->get_properties (object_group - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableGroup::Value value; - CosLoadBalancing::Strategy_ptr strategy; - - if ((TAO_PG::get_property_value ( - this->built_in_balancing_strategy_name_, - properties.in (), - value) - || TAO_PG::get_property_value ( - this->custom_balancing_strategy_name_, - properties.in (), - value)) - && (value >>= strategy) - && !CORBA::is_nil (strategy)) - { - strategy->analyze_loads (object_group, - this->lm_ref_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore all exceptions. - } - ACE_ENDTRY; - ACE_CHECK; - } -} - -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::VMCID, - 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. - // @@ What happens if the below call fails? This variable - // should be reset to zero! - info.alerted = 1; - - { - // Release the lock prior to making the below remote - // invocation. - ACE_Reverse_Lock reverse_lock ( - this->load_alert_lock_); - ACE_GUARD (ACE_Reverse_Lock, - 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. - // @@ What happens if the below call fails? This variable - // should be reset to one! - info.alerted = 0; - - { - // Release the lock prior to making the below remote - // invocation. - ACE_Reverse_Lock reverse_lock ( - this->load_alert_lock_); - ACE_GUARD (ACE_Reverse_Lock, - 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 ( - const PortableGroup::Location & the_location, - CosLoadBalancing::LoadMonitor_ptr load_monitor - 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")); - - (void) this->monitor_map_.unbind (the_location); - - ACE_THROW (CORBA::INTERNAL ()); - } - } - else if (result == 1) - { - ACE_THROW (CosLoadBalancing::MonitorAlreadyPresent ()); - } - else if (result != 0) - { - 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)) -{ - PortableGroup::Properties new_props (props); - this->preprocess_properties (new_props - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->property_manager_.set_default_properties (new_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)) -{ - PortableGroup::Properties new_overrides (overrides); - this->preprocess_properties (new_overrides - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->property_manager_.set_type_properties (type_id, - new_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)) -{ - PortableGroup::Properties new_overrides (overrides); - this->preprocess_properties (new_overrides - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->property_manager_.set_properties_dynamically (object_group, - new_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::ObjectGroups * -TAO_LB_LoadManager::groups_at_location ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - this->object_group_manager_.groups_at_location (the_location - 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); -} - -PortableGroup::ObjectGroup_ptr TAO_LB_LoadManager::get_object_group_ref_from_id ( - PortableGroup::ObjectGroupId group_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - return this->object_group_manager_.get_object_group_ref_from_id ( - group_id - 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 ()); - - - PortableGroup::Criteria new_criteria (the_criteria); - this->preprocess_properties (new_criteria - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - CORBA::Object_ptr obj = - this->generic_factory_.create_object (type_id, - new_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_ptr strategy; - - if ((TAO_PG::get_property_value (this->built_in_balancing_strategy_name_, - properties.in (), - value) - || TAO_PG::get_property_value (this->custom_balancing_strategy_name_, - properties.in (), - value)) - && (value >>= strategy) - && !CORBA::is_nil (strategy)) - { - return strategy->next_member (object_group.in (), - this->lm_ref_.in () - ACE_ENV_ARG_PARAMETER); - } - - 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::VMCID, - 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 = - static_cast (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 with the - // hexadecimal representation of the time in milliseconds. - ACE_OS::sprintf (astr, "%x", 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; - this->root_poa_ = PortableServer::POA::_duplicate (root_poa); - } - - 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::VMCID, - 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_info_name_.length (1); - this->built_in_balancing_strategy_info_name_[0].id = - CORBA::string_dup ("org.omg.CosLoadBalancing.StrategyInfo"); - - 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"); -} - -void -TAO_LB_LoadManager::preprocess_properties (PortableGroup::Properties & props - ACE_ENV_ARG_DECL) -{ - // @@ This is slow. Optimize this code. - - const CORBA::ULong len = props.length (); - for (CORBA::ULong i = 0; i < len; ++i) - { - PortableGroup::Property & property = props[i]; - if (property.nam == this->custom_balancing_strategy_name_) - { - CosLoadBalancing::CustomStrategy_ptr strategy; - if (!(property.val >>= strategy) - || CORBA::is_nil (strategy)) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - else if (property.nam == this->built_in_balancing_strategy_info_name_) - { - CosLoadBalancing::StrategyInfo * info; - - if (property.val >>= info) - { - // Convert the property from a "StrategyInfo" property - // to a "Strategy" property. - - CosLoadBalancing::Strategy_var strategy = - this->make_strategy (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (!CORBA::is_nil (strategy.in ())) - { - property.nam = this->built_in_balancing_strategy_name_; - - property.val <<= strategy.in (); - } - else - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - else - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - else if (property.nam == this->built_in_balancing_strategy_name_) - { - // It is illegal to set the Strategy property externally. - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - } -} - -CosLoadBalancing::Strategy_ptr -TAO_LB_LoadManager::make_strategy (CosLoadBalancing::StrategyInfo * info - ACE_ENV_ARG_DECL) -{ - /** - * @todo We need a strategy factory. This is just too messy. - */ - - if (ACE_OS::strcmp (info->name.in (), "RoundRobin") == 0) - { - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - monitor, - this->lock_, - CosLoadBalancing::Strategy::_nil ()); - - if (CORBA::is_nil (this->round_robin_.in ())) - { - TAO_LB_RoundRobin * rr_servant; - ACE_NEW_THROW_EX (rr_servant, - TAO_LB_RoundRobin (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = rr_servant; - - this->round_robin_ = - rr_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - } - } - - return CosLoadBalancing::Strategy::_duplicate (this->round_robin_.in ()); - } - - else if (ACE_OS::strcmp (info->name.in (), "Random") == 0) - { - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - monitor, - this->lock_, - CosLoadBalancing::Strategy::_nil ()); - - if (CORBA::is_nil (this->random_.in ())) - { - TAO_LB_Random * rnd_servant; - ACE_NEW_THROW_EX (rnd_servant, - TAO_LB_Random (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = rnd_servant; - - this->random_ = - rnd_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - } - } - - return CosLoadBalancing::Strategy::_duplicate (this->random_.in ()); - } - - else if (ACE_OS::strcmp (info->name.in (), "LeastLoaded") == 0) - { - // If no LeastLoaded properties have been set, just use the - // default/cached LeastLoaded instance. Otherwise create and - // return a new LeastLoaded instance with the appropriate - // properties. - - if (info->props.length () == 0) - { - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - monitor, - this->lock_, - CosLoadBalancing::Strategy::_nil ()); - - if (CORBA::is_nil (this->least_loaded_.in ())) - { - TAO_LB_LeastLoaded * ll_servant; - ACE_NEW_THROW_EX (ll_servant, - TAO_LB_LeastLoaded (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = ll_servant; - - this->least_loaded_ = - ll_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - } - } - - return - CosLoadBalancing::Strategy::_duplicate (this->least_loaded_.in ()); - } - else - { - TAO_LB_LeastLoaded * ll_servant; - ACE_NEW_THROW_EX (ll_servant, - TAO_LB_LeastLoaded (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = ll_servant; - - ll_servant->init (info->props - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - return ll_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - } - } - else if (ACE_OS::strcmp (info->name.in (), "LoadMinimum") == 0) - { - - if (info->props.length () == 0) - { - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - monitor, - this->lock_, - CosLoadBalancing::Strategy::_nil ()); - - if (CORBA::is_nil (this->load_minimum_.in ())) - { - TAO_LB_LoadMinimum * lm_servant; - ACE_NEW_THROW_EX (lm_servant, - TAO_LB_LoadMinimum (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = lm_servant; - - this->load_minimum_ = - lm_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - } - } - - return - CosLoadBalancing::Strategy::_duplicate (this->load_minimum_.in ()); - } - else - { - TAO_LB_LoadMinimum * lm_servant; - ACE_NEW_THROW_EX (lm_servant, - TAO_LB_LoadMinimum (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = lm_servant; - - lm_servant->init (info->props - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - return lm_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - } - } - else if (ACE_OS::strcmp (info->name.in (), "LoadAverage") == 0) - { - - if (info->props.length () == 0) - { - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - monitor, - this->lock_, - CosLoadBalancing::Strategy::_nil ()); - - if (CORBA::is_nil (this->load_average_.in ())) - { - TAO_LB_LoadAverage * la_servant; - ACE_NEW_THROW_EX (la_servant, - TAO_LB_LoadAverage (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = la_servant; - - this->load_average_ = - la_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - } - } - - return - CosLoadBalancing::Strategy::_duplicate (this->load_average_.in ()); - } - else - { - TAO_LB_LoadAverage * la_servant; - ACE_NEW_THROW_EX (la_servant, - TAO_LB_LoadAverage (this->root_poa_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - PortableServer::ServantBase_var s = la_servant; - - la_servant->init (info->props - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ()); - - return la_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - } - } - return CosLoadBalancing::Strategy::_nil (); -} - -// void -// TAO_LB_LoadManager::update_strategy () -// { -// } - -// void -// TAO_LB_LoadManager::deactivate_strategy (ACE_ENV_ARG_DECL) -// { -// PortableServer::ObjectId_var oid = -// this->poa_->reference_to_id ( -// this->poa_->deactivate_object (); -// } - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h deleted file mode 100644 index 42ce6c006c4..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h +++ /dev/null @@ -1,519 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_LoadManager.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_LOAD_MANAGER_H -#define TAO_LB_LOAD_MANAGER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "orbsvcs/LoadBalancing/LB_LoadAlertMap.h" -#include "orbsvcs/LoadBalancing/LB_MonitorMap.h" -#include "orbsvcs/LoadBalancing/LB_LoadListMap.h" -#include "orbsvcs/LoadBalancing/LB_Pull_Handler.h" - -#include "orbsvcs/PortableGroupC.h" - -#include "orbsvcs/PortableGroup/PG_PropertyManager.h" -#include "orbsvcs/PortableGroup/PG_GenericFactory.h" -#include "orbsvcs/PortableGroup/PG_ObjectGroupManager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LoadBalancing_Export TAO_LB_LoadManager - : public virtual POA_CosLoadBalancing::LoadManager -{ -public: - - /// Constructor. - TAO_LB_LoadManager (void); - - /** - * @name CosLoadBalancing::LoadManager Methods - * - * Methods required by the CosLoadBalancing::LoadManager interface. - */ - //@{ - - /// For the PUSH load monitoring style. - virtual void push_loads (const PortableGroup::Location & the_location, - const CosLoadBalancing::LoadList & loads - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the raw loads at the given location. - virtual CosLoadBalancing::LoadList * get_loads ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - /// Inform member at given location of load alert condition. - virtual void enable_alert (const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CosLoadBalancing::LoadAlertNotFound)); - - /// Inform member at given location that load alert condition has - /// passed. - virtual void disable_alert (const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CosLoadBalancing::LoadAlertNotFound)); - - /// Register a LoadAlert object for the member at the given - /// location. - virtual void register_load_alert ( - const PortableGroup::Location & the_location, - CosLoadBalancing::LoadAlert_ptr load_alert - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LoadAlertAlreadyPresent, - CosLoadBalancing::LoadAlertNotAdded)); - - /// Retrieve the LoadAlert object for the member at the given - /// location. - virtual CosLoadBalancing::LoadAlert_ptr get_load_alert ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LoadAlertNotFound)); - - /// Remove (de-register) the LoadAlert object for the member at the - /// given location. - virtual void remove_load_alert (const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LoadAlertNotFound)); - - /// Register a load monitor with the load balancer. - virtual void register_load_monitor ( - const PortableGroup::Location & the_location, - CosLoadBalancing::LoadMonitor_ptr load_monitor - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::MonitorAlreadyPresent)); - - /// Return a reference to the load monitor at the given location. - virtual CosLoadBalancing::LoadMonitor_ptr get_load_monitor ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - /// Remove a load monitor at the given location from the load - /// balancer. - virtual void remove_load_monitor ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - //@} - - /** - * @name PortableGroup::PropertyManager Methods - * - * Methods required by the PortableGroup::PropertyManager interface. - */ - //@{ - - /// Set the default properties to be used by all object groups. - virtual void set_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /// Get the default properties used by all object groups. - virtual PortableGroup::Properties * get_default_properties ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Remove default properties. - virtual void remove_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /// Set properties associated with a given Replica type. These - /// properties override the default properties. - virtual void set_type_properties ( - const char * type_id, - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Return the properties associated with a give Replica type. These - * properties include the type-specific properties in use, in - * addition to the default properties that were not overridden. - */ - virtual PortableGroup::Properties * get_type_properties ( - const char * type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Remove the given properties associated with the Replica type ID. - virtual void remove_type_properties ( - const char * type_id, - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Dynamically set the properties associated with a given object - * group as the load balancer and replicas are being executed. - * These properties override the type-specific and default - * properties. - */ - virtual void set_properties_dynamically ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Return the properties currently in use by the given object - * group. These properties include those that were set dynamically, - * type-specific properties that weren't overridden, properties that - * were used when the Replica was created, and default properties - * that weren't overridden. - */ - virtual PortableGroup::Properties * get_properties ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - //@} - - /** - * @name PortableGroup::ObjectGroupManager methods - * - * Methods required by the PortableGroup::ObjectGroupManager - * interface. - */ - //@{ - - /// Create a member using the load balancer ObjectGroupManager, and - /// add the created object to the ObjectGroup. - virtual PortableGroup::ObjectGroup_ptr 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_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberAlreadyPresent, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)); - - /// Add an existing object to the ObjectGroup. - virtual PortableGroup::ObjectGroup_ptr add_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location, - CORBA::Object_ptr member - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberAlreadyPresent, - PortableGroup::ObjectNotAdded)); - - /** - * Remove an object at a specific location from the given - * ObjectGroup. Deletion of application created objects must be - * deleted by the application. Objects created by the - * infrastructure (load balancer) will be deleted by the - * infrastructure. - */ - virtual PortableGroup::ObjectGroup_ptr remove_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)); - - /// Return the locations of the members in the given ObjectGroup. - virtual PortableGroup::Locations * locations_of_members ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// Return the locations of the members in the given ObjectGroup. - virtual PortableGroup::ObjectGroups * groups_at_location ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the ObjectGroupId for the given ObjectGroup. - virtual PortableGroup::ObjectGroupId get_object_group_id ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// @note Does this method make sense for load balanced objects? - virtual PortableGroup::ObjectGroup_ptr get_object_group_ref ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// TAO specific method - virtual PortableGroup::ObjectGroup_ptr get_object_group_ref_from_id ( - PortableGroup::ObjectGroupId group_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// Return the reference corresponding to the Replica of a given - /// ObjectGroup at the given location. - virtual CORBA::Object_ptr get_member_ref ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & loc - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)); - - //@} - - /** - * @name PortableGroup::GenericFactory methods - * - * Methods required by the PortableGroup::GenericFactory interface. - */ - //@{ - - /** - * Create an object of the specified type that adheres to the - * restrictions defined by the provided Criteria. The out - * FactoryCreationId parameter may be passed to the delete_object() - * method to delete the object. - */ - virtual CORBA::Object_ptr create_object ( - const char * type_id, - const PortableGroup::Criteria & the_criteria, - PortableGroup::GenericFactory::FactoryCreationId_out - factory_creation_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::InvalidProperty, - PortableGroup::CannotMeetCriteria)); - - /** - * Delete the object corresponding to the provided - * FactoryCreationId. If the object is actually an ObjectGroup, - * then all members within the ObjectGroup will be deleted. - * Afterward, the ObjectGroup itself will be deleted. - */ - virtual void delete_object ( - const PortableGroup::GenericFactory::FactoryCreationId & - factory_creation_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)); - - //@} - - /// Return the next member to which client requests will be - /// forwarded. - /** - * Select the next member of the object group corresponding to the - * given ObjectId. The object group's load balancing strategy - * will be queried for that member. - */ - CORBA::Object_ptr next_member (const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL); - -public: - - /// Initialize the load balancer. This will cause a child POA to be - /// created with the appropriate policies to support ServantLocators - /// (i.e. for the MemberLocator). - void init (ACE_Reactor * reactor, - CORBA::ORB_ptr orb, - PortableServer::POA_ptr root_poa - ACE_ENV_ARG_DECL); - -protected: - - /// Destructor. - /** - * Destructor is protected to enforce correct memory management - * through reference counting. - */ - ~TAO_LB_LoadManager (void); - -private: - - /// Extract the value of the InitialNumberReplicas property from - /// the_criteria. - int get_initial_number_replicas ( - const char * type_id, - const PortableGroup::Criteria & the_criteria, - CORBA::UShort & initial_number_replicas) const; - - /// Extract the value of the Factories property from the_criteria. - /** - * This method ensures that the locations in the returned - * FactoryInfos are unique. This is necessary to ensure that only - * one replica of a given type is created by the load balancer at a - * given location. - */ - int get_factory_infos ( - const char * type_id, - const PortableGroup::Criteria & the_criteria, - PortableGroup::FactoryInfos & factory_infos) const; - - /// Preprocess Strategy or CustomStrategy properties. - /** - * This method takes care of converting StrategyInfo properties to - * Strategy properties, and verifying that CustomStrategy references - * are not nil. - */ - void preprocess_properties (PortableGroup::Properties & props - ACE_ENV_ARG_DECL); - - /// Create a built-in load balancing strategy and return a reference - /// to it. - CosLoadBalancing::Strategy_ptr make_strategy ( - CosLoadBalancing::StrategyInfo * info - ACE_ENV_ARG_DECL); - -private: - - /// Reactor used when pulling loads from registered load monitors. - ACE_Reactor * reactor_; - - /// The POA that dispatches requests to the MemberLocator. - PortableServer::POA_var poa_; - - /// The Root POA. - PortableServer::POA_var root_poa_; - - /// Mutex that provides synchronization for the LoadMonitor map. - TAO_SYNCH_MUTEX monitor_lock_; - - /// Mutex that provides synchronization for the LoadMap table. - TAO_SYNCH_MUTEX load_lock_; - - /// Mutex that provides synchronization for the LoadAlert table. - TAO_SYNCH_MUTEX load_alert_lock_; - - /// Mutex that provides synchronization for the LoadManager's - /// state. - TAO_SYNCH_MUTEX lock_; - - /// Table that maps PortableGroup::Location to load monitor at that - /// location. - TAO_LB_MonitorMap monitor_map_; - - /// Table that maps location to load list. - TAO_LB_LoadListMap load_map_; - - /// Table that maps object group and location to LoadAlert object. - TAO_LB_LoadAlertMap load_alert_map_; - - /// The ObjectGroupManager that implements the functionality - /// necessary for application-controlled object group membership. - TAO_PG_ObjectGroupManager object_group_manager_; - - /// The PropertyManager that is reponsible for parsing all criteria, - /// and keeping track of property-type_id associations. - TAO_PG_PropertyManager property_manager_; - - /// The GenericFactory responsible for creating all object groups. - TAO_PG_GenericFactory generic_factory_; - - /// The event handler that performs "pull monitoring" on all - /// registered load monitors. - TAO_LB_Pull_Handler pull_handler_; - - /// Timer ID corresponding to the timer that fires off the "pull - /// monitoring" event handler. - long timer_id_; - - /// Cached object reference that points to this servant. - CosLoadBalancing::LoadManager_var lm_ref_; - - /// Cached object reference that points to the AMI handler for all - /// LoadAlert objects. - CosLoadBalancing::AMI_LoadAlertHandler_var load_alert_handler_; - - /** - * @name Built-in load balancing strategy implementations - * - * "Built-in" load balancing strategies defined by the load - * balancing specification. - */ - //@{ - /// The "RoundRobin" load balancing strategy. - CosLoadBalancing::Strategy_var round_robin_; - - /// The "Random" load balancing strategy. - CosLoadBalancing::Strategy_var random_; - - /// The "LeastLoaded" load balancing strategy. - CosLoadBalancing::Strategy_var least_loaded_; - - /// The "LoadMinimum" load balancing strategy. - CosLoadBalancing::Strategy_var load_minimum_; - - /// The "LoadAverage" load balancing strategy. - CosLoadBalancing::Strategy_var load_average_; - //@} - - /// Cached instance of the Property name - /// "org.omg.CosLoadBalancing.StrategyInfo". - PortableGroup::Name built_in_balancing_strategy_info_name_; - - /// Cached instance of the Property name - /// "org.omg.CosLoadBalancing.Strategy". - PortableGroup::Name built_in_balancing_strategy_name_; - - /// Cached instance of the Property name - /// "org.omg.CosLoadBalancing.CustomStrategy". - PortableGroup::Name custom_balancing_strategy_name_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOAD_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.h deleted file mode 100644 index 2e75bbba1f3..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file LB_LoadMap.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_LB_LOAD_MAP_H -#define TAO_LB_LOAD_MAP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" - -#include "ace/Hash_Map_Manager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Load hash map. -typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::Location, - CosLoadBalancing::Load, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - ACE_Null_Mutex> TAO_LB_LoadMap; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOAD_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.cpp deleted file mode 100644 index b271606a0fb..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.cpp +++ /dev/null @@ -1,664 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadMinimum.h" -#include "ace/OS_NS_sys_time.h" -#include "orbsvcs/LoadBalancing/LB_LoadMap.h" -#include "orbsvcs/LoadBalancing/LB_Random.h" - -#include "orbsvcs/PortableGroup/PG_conf.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -#include "ace/Null_Mutex.h" -#include "ace/OS_NS_string.h" - - -ACE_RCSID (LoadBalancing, - LB_LoadMinimum, - "$Id$") - - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/LoadBalancing/LB_LoadMinimum.inl" -#endif /* defined INLINE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_LoadMinimum::TAO_LB_LoadMinimum (PortableServer::POA_ptr poa) - : poa_ (PortableServer::POA::_duplicate (poa)), - load_map_ (0), - lock_ (0), - properties_ (), - tolerance_ (TAO_LB::LM_DEFAULT_TOLERANCE), - dampening_ (TAO_LB::LM_DEFAULT_DAMPENING), - per_balance_load_ (TAO_LB::LM_DEFAULT_DAMPENING) -{ - // 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); - } - - // Initialize the random load balancing strategy. - TAO_LB_Random::init (); -} - -TAO_LB_LoadMinimum::~TAO_LB_LoadMinimum (void) -{ - delete this->load_map_; - delete this->lock_; -} - -char * -TAO_LB_LoadMinimum::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("LoadMinimum"); -} - -CosLoadBalancing::Properties * -TAO_LB_LoadMinimum::get_properties (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosLoadBalancing::Properties * props = 0; - ACE_NEW_THROW_EX (props, - CosLoadBalancing::Properties (this->properties_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return props; -} - -void -TAO_LB_LoadMinimum::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_LoadMinimum::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_LoadMinimum - " - "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); - } -} - -CosLoadBalancing::LoadList * -TAO_LB_LoadMinimum::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - CosLoadBalancing::LoadList_var loads = - load_manager->get_loads (the_location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->push_loads (the_location, - loads.in (), - loads[0] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return loads._retn (); -} - - -CORBA::Object_ptr -TAO_LB_LoadMinimum::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) - { -/* - ACE_DEBUG ((LM_DEBUG, - "RETURNING REFERENCE FOR LOCATION \"%s\"\n", - location[0].id.in ())); -*/ - - return load_manager->get_member_ref (object_group, - location - ACE_ENV_ARG_PARAMETER); - } - else - { - // No loads have been reported for any of the locations the - // object group members reside at. If no loads have been - // reported to the LoadManager, adaptive load balancing - // decisions cannot be made. Fall back on a non-adaptive - // strategy, such as the Random load balancing strategy, - // instead. - // - // @note The Random load balancing strategy is used since it is - // very lightweight and stateless. -/* - ACE_DEBUG ((LM_DEBUG, - "CALLING RANDOM REFERENCE FOR LOCATION \n")); -*/ - - return TAO_LB_Random::_tao_next_member (object_group, - load_manager, - locations.in () - ACE_ENV_ARG_PARAMETER); - } -} - -void -TAO_LB_LoadMinimum::analyze_loads ( - PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW (CORBA::BAD_PARAM ()); - - PortableGroup::Locations_var locations = - load_manager->locations_of_members (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (locations->length () == 0) - ACE_THROW (CORBA::TRANSIENT ()); - - const CORBA::ULong len = locations->length (); - - CosLoadBalancing::Load total_load = { 0, 0 }; - CosLoadBalancing::Load avg_load = { 0, 0 }; - - CORBA::Float min_load = FLT_MAX; - - CosLoadBalancing::LoadList tmp (len); - tmp.length (1); - - // Iterate through the entire location list to determine - // the average load of all the locations - for (CORBA::ULong i = 0; i < len; ++i) - { - ACE_TRY - { - 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_TRY_CHECK; - - CosLoadBalancing::Load load; - this->push_loads (loc, - current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - total_load.value = total_load.value + load.value; - tmp[i] = load; - - if ((load.value < min_load) && (load.value != 0)) - { - min_load = load.value; - } - - /* - ACE_DEBUG ((LM_DEBUG, - "TOTAL == %f\n", - total_load.value)); - */ - - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // no location found - // - } - ACE_ENDTRY; - ACE_CHECK; - } - - avg_load.value = total_load.value / len; -/* - ACE_DEBUG ((LM_DEBUG, - "AVERAGE LOAD == %f" - "\tMIN LOAD == %f\n", - avg_load.value, - min_load)); -*/ - - // Iterate through the entire location list to determine - // the location where the load has to be shed. - for (CORBA::ULong j = 0; j < len; ++j) - { - ACE_TRY_EX (SECOND) - { - const PortableGroup::Location & loc = locations[j]; - - /* - ACE_DEBUG ((LM_DEBUG, - "EFFECTIVE_LOAD == %f\n" - "AVERAGE == %f\n", - tmp[i].value, - avg_load.value)); - */ - - if (tmp[j].value <= avg_load.value) - { - load_manager->disable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (SECOND); - } - else - { - - CORBA::Float percent_diff = - (tmp[j].value / min_load) - 1; - - if (tmp[j].value == min_load) - { - percent_diff = 0; - } -/* - ACE_DEBUG ((LM_DEBUG, - "ALERT LOC == %u" - "\tMIN LOAD == %f\n" - "\tLOAD == %f\n" - "\tPERCENT == %f\n", - i, - min_load, - tmp[i].value, - percent_diff)); -*/ - - if (percent_diff <= TAO_LB::LM_DEFAULT_DIFF_AVERAGE_CUTOFF) - { - load_manager->disable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (SECOND); - } - else if ((percent_diff > TAO_LB::LM_DEFAULT_DIFF_AVERAGE_CUTOFF) - && (percent_diff < 1)) - { -/* - ACE_DEBUG ((LM_DEBUG, - "%P --- ALERTING LOCATION %u\n", - i)); -*/ - load_manager->enable_alert (loc - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK_EX (SECOND); - } - } - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // no location found - // - } - ACE_ENDTRY; - ACE_CHECK; - } - -} - -PortableServer::POA_ptr -TAO_LB_LoadMinimum::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -CORBA::Boolean -TAO_LB_LoadMinimum::get_location ( - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Locations & locations, - PortableGroup::Location & location - ACE_ENV_ARG_DECL) -{ - CORBA::Float min_load = FLT_MAX; // Start out with the largest - // positive value. - - CORBA::ULong location_index = 0; - CORBA::Boolean found_location = 0; - CORBA::Boolean found_load = 0; - - const CORBA::ULong len = locations.length (); - - // Iterate through the entire location list to find the least loaded - // of them. - for (CORBA::ULong i = 0; i < len; ++i) - { - ACE_TRY - { - 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_TRY_CHECK; - - found_load = 1; - - CosLoadBalancing::Load load; - this->push_loads (loc, - current_loads.in (), - load - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; -/* - ACE_DEBUG ((LM_DEBUG, - "LOC == %u" - "\tMIN LOAD == %f\n" - "\tLOAD == %f\n", - i, - min_load, - load.value)); -*/ - if (load.value < min_load) - { - - if (i > 0 && load.value != 0) - { - /* - percent difference = - (min_load - load.value) / load.value - == (min_load / load.value) - 1 - - The latter form is used to avoid a potential - arithmetic overflow problem, such as when - (min_load - load.value) > FLT_MAX, assuming that - either load.value is negative and min_load is - positive, or vice versa. - */ - const CORBA::Float percent_diff = - (min_load / load.value) - 1; - /* - A "thundering herd" phenomenon may occur when - location loads are basically the same (e.g. only - differ by a very small amount), where one object - group member ends up receiving the majority of - requests from different clients. In order to - prevent a single object group member from - receiving such request bursts, one of two equally - loaded locations is chosen at random. Thanks to - Carlos, Marina and Jody at ATD for coming up with - this solution to this form of the thundering herd - problem. - - See the documentation for - TAO_LB::LL_DEFAULT_LOAD_PERCENT_DIFF_CUTOFF in - LB_LoadMinimum.h for additional information. - */ - if (percent_diff <= TAO_LB::LM_DEFAULT_LOAD_PERCENT_DIFF_CUTOFF) - { - // Prevent integer arithmetic overflow. - const CORBA::Float NUM_MEMBERS = 2; - - // n == 0: Use previously selected location. - // n == 1: Use current location. - const CORBA::ULong n = - static_cast (NUM_MEMBERS * ACE_OS::rand () - / (RAND_MAX + 1.0)); - - ACE_ASSERT (n == 0 || n == 1); - - if (n == 1) - { - min_load = load.value; - location_index = i; - found_location = 1; - -// ACE_DEBUG ((LM_DEBUG, -// "** NEW MIN_LOAD == %f\n", -// min_load)); - } - -// if (n == 0) -// ACE_DEBUG ((LM_DEBUG, "^^^^^ PREVIOUS LOCATION\n")); -// else -// ACE_DEBUG ((LM_DEBUG, "^^^^^ CURRENT LOCATION\n")); - - } - else - { - min_load = load.value; - location_index = i; - found_location = 1; - -// ACE_DEBUG ((LM_DEBUG, -// "***** NEW MIN_LOAD == %f\n", -// min_load)); - } - } - else - { - min_load = load.value; - location_index = i; - found_location = 1; - -// ACE_DEBUG ((LM_DEBUG, -// "NEW MIN_LOAD == %f\n", -// min_load)); - } - } - - // ACE_DEBUG ((LM_DEBUG, "NEW MIN_LOAD == %f\n", min_load)); - } - ACE_CATCH (CosLoadBalancing::LocationNotFound, ex) - { - // No load available for the requested location. Try the - // next location. - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - -// ACE_DEBUG ((LM_DEBUG, -// "FOUND_LOAD == %u\n" -// "FOUND_LOCATION == %u\n", -// found_load, -// found_location)); - - // If no loads were found, return without an exception to allow this - // strategy to select a member using an alternative method - // (e.g. random selection). - if (found_load) - { - if (found_location) - { - location = locations[location_index]; - //ACE_DEBUG ((LM_DEBUG, "LOCATED = %u\n", location_index)); - } - } - - //ACE_DEBUG ((LM_DEBUG, "LOCATED = %u\n", location_index)); - - return found_location; -} - -void -TAO_LB_LoadMinimum::init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) -{ - CORBA::Float tolerance = TAO_LB::LM_DEFAULT_TOLERANCE; - CORBA::Float dampening = TAO_LB::LM_DEFAULT_DAMPENING; - CORBA::Float per_balance_load = TAO_LB::LM_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.LoadMinimum.Tolerance") == 0) - { - this->extract_float_property (property, - tolerance - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Valid tolerance values are greater than or equal to one. - if (tolerance < 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - else if (ACE_OS::strcmp (property.nam[0].id.in (), - "org.omg.CosLoadBalancing.Strategy.LoadMinimum.Dampening") == 0) - { - this->extract_float_property (property, - dampening - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Dampening range is [0,1). - if (dampening < 0 || dampening >= 1) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - else if (ACE_OS::strcmp (property.nam[0].id.in (), - "org.omg.CosLoadBalancing.Strategy.LoadMinimum.PerBalanceLoad") == 0) - { - this->extract_float_property (property, - per_balance_load - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - - this->properties_ = props; - - this->tolerance_ = tolerance; - this->dampening_ = dampening; - this->per_balance_load_ = per_balance_load; - - /* - ACE_DEBUG ((LM_DEBUG, - "--------------------------------\n" - "tolerance = %f\n" - "dampening = %f\n" - "per_balance_load = %f\n" - "--------------------------------\n", - tolerance, - dampening, - per_balance_load)); - */ -} - -void -TAO_LB_LoadMinimum::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)); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.h deleted file mode 100644 index c979845aa0c..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.h +++ /dev/null @@ -1,208 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_LoadMinimum.h - * - * $Id$ - * - * @author Jaiganesh Balasubramanian - * Ossama Othman - */ -//============================================================================= - - -#ifndef LB_LOAD_MINIMUM_H -#define LB_LOAD_MINIMUM_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/LoadBalancing/LB_LoadMap.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosLoadBalancingS.h" - -#include "ace/Synch_Traits.h" -#include "ace/Thread_Mutex.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_LB -{ - /** - * @name Default LoadMinimum strategy parameters. - * - * Defaults defined by the Load Balancing specification. - */ - //@{ - const CORBA::Float LM_DEFAULT_TOLERANCE = 1; - const CORBA::Float LM_DEFAULT_DAMPENING = 0; - const CORBA::Float LM_DEFAULT_PER_BALANCE_LOAD = 0; - //@} - - /** - * @name TAO-specific LoadMinimum strategy parameters. - * - * Parameters internal to TAO's LoadMinimum strategy - * implementation. - */ - //@{ - /// Percentage difference between two load values that determines - /// whether the loads are considered equivalent. - /** - * If the percent difference between two loads, i.e.: - * (Old Load - New Load) / New Load - * is less than or equal to this value, the two loads will be - * considered equivalent. In such a case, an object group member - * residing at the location corresponding to one of the two loads - * will be selected at random. - */ - const CORBA::Float LM_DEFAULT_LOAD_PERCENT_DIFF_CUTOFF = 0.05f; // 1% - const CORBA::Float LM_DEFAULT_DIFF_AVERAGE_CUTOFF = 0.4f; // 80% - //@} -} - -/** - * @class TAO_LB_LoadMinimum - * - * @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_LoadMinimum - : public virtual POA_CosLoadBalancing::Strategy -{ -public: - - /// Constructor. - TAO_LB_LoadMinimum (PortableServer::POA_ptr poa); - - /** - * @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 CosLoadBalancing::LoadList * get_loads ( - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - 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)); - //@} - - /// Returns the default POA for this servant. - virtual PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - /// Initialize the LoadMinimum instance with the given properties. - void init (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL); - -protected: - - /// Destructor. - ~TAO_LB_LoadMinimum (void); - - /// 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); - - /// Utility method to extract a CORBA::Float value from the given - /// property. - void extract_float_property (const PortableGroup::Property & property, - CORBA::Float & value - ACE_ENV_ARG_DECL); - -private: - - /// This servant's default POA. - PortableServer::POA_var poa_; - - /// 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_; - - /// Cached set of properties used when initializing this strategy. - CosLoadBalancing::Properties properties_; - - /** - * @name LoadMinimum Property Values - * - * Cached LoadMinimum load balancing strategy property values. - */ - //@{ - - /// - CORBA::Float tolerance_; - - /// - CORBA::Float dampening_; - - /// - CORBA::Float per_balance_load_; - - //@} - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/LoadBalancing/LB_LoadMinimum.inl" -#endif /* defined INLINE */ - -#include /**/ "ace/post.h" - -#endif /* LB_LOAD_MINIMUM_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl deleted file mode 100644 index dc120b38783..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Float -TAO_LB_LoadMinimum::effective_load (CORBA::Float previous_load, - CORBA::Float new_load) -{ - // Apply per-balance load. (Recompute raw load) - previous_load += this->per_balance_load_; - - // Apply dampening. (Recompute new raw load) - CORBA::Float result = - this->dampening_ * previous_load + (1 - this->dampening_) * new_load; - - ACE_ASSERT (this->tolerance_ != 0); - - // Compute the effective load. - result /= this->tolerance_; - - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.h deleted file mode 100644 index a08694dd2d0..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.h +++ /dev/null @@ -1,44 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file LB_Location_Index_Map.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_LB_LOCATION_INDEX_MAP_H -#define TAO_LB_LOCATION_INDEX_MAP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -#include "ace/Functor.h" -#include "ace/Hash_Map_Manager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Location index map. -typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::ObjectGroupId, - CORBA::ULong, - ACE_Hash, - ACE_Equal_To, - ACE_Null_Mutex> TAO_LB_Location_Index_Map; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_LOCATION_INDEX_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp deleted file mode 100644 index 31c4e10977e..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_LoadManager.h" -#include "orbsvcs/LoadBalancing/LB_MemberLocator.h" - -#include "tao/debug.h" - - -ACE_RCSID (LoadBalancing, - LB_MemberLocator, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_MemberLocator::TAO_LB_MemberLocator ( - TAO_LB_LoadManager * lm) - : load_manager_ (lm) -{ - ACE_ASSERT (lm != 0); -} - -PortableServer::Servant -TAO_LB_MemberLocator::preinvoke ( - const PortableServer::ObjectId & oid, - PortableServer::POA_ptr /* adapter */, - const char * /* operation */, - PortableServer::ServantLocator::Cookie & /* the_cookie */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::ForwardRequest)) -{ - ACE_TRY - { - CORBA::Object_var member = - this->load_manager_->next_member (oid - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - -// ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); -// ACE_DEBUG ((LM_DEBUG, -// "FORWARDED\n")); - - ACE_ASSERT (!CORBA::is_nil (member.in ())); - // Throw a forward exception to force the client to redirect its - // requests to the member chosen by the LoadBalancer. - ACE_TRY_THROW (PortableServer::ForwardRequest (member.in ())); - } - ACE_CATCH (PortableGroup::ObjectGroupNotFound, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, - "LoadManager::next_member()"); - } - ACE_CATCH (PortableGroup::MemberNotFound, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, - "LoadManager::next_member()"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0); -} - -void -TAO_LB_MemberLocator::postinvoke ( - const PortableServer::ObjectId & /* oid */, - PortableServer::POA_ptr /* adapter */, - const char * /* operation */, - PortableServer::ServantLocator::Cookie /* the_cookie */, - PortableServer::Servant /* the_servant */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.h deleted file mode 100644 index e376937f0a5..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.h +++ /dev/null @@ -1,92 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_MemberLocator.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_MEMBER_LOCATOR_H -#define TAO_LB_MEMBER_LOCATOR_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PortableServer/ServantLocatorC.h" -#include "tao/LocalObject.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations. -class TAO_LB_LoadManager; - -/** - * @class TAO_LB_MemberLocator - * - * @brief ServantLocator implementation for the Load Balancer. - * - * This is a Servant Locator implementation that forwards requests to - * a member returned by the Load Balancer. - */ -class TAO_LB_MemberLocator - : public virtual PortableServer::ServantLocator, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /// Constructor - TAO_LB_MemberLocator (TAO_LB_LoadManager * load_balancer); - - /** - * @name The PortableServer::ServantLocator methods. - * - * Methods required by the PortableServer::ServantLocator - * interface. - */ - //@{ - - /// Clients requests are forwarded via the - /// PortableServer::ForwardRequest exception thrown in this method. - virtual PortableServer::Servant preinvoke ( - const PortableServer::ObjectId & oid, - PortableServer::POA_ptr adapter, - const char * operation, - PortableServer::ServantLocator::Cookie & the_cookie - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::ForwardRequest)); - - /// This method is no-op in this ServantLocator implementation. - virtual void postinvoke ( - const PortableServer::ObjectId &oid, - PortableServer::POA_ptr adapter, - const char * operation, - PortableServer::ServantLocator::Cookie the_cookie, - PortableServer::Servant the_servant - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - //@} - -private: - - /// The load balancer/manager implementation. - TAO_LB_LoadManager * load_manager_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_MEMBER_LOCATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.h deleted file mode 100644 index 02b8f12adeb..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.h +++ /dev/null @@ -1,42 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_MonitorMap.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_MONITOR_MAP_H -#define TAO_LB_MONITOR_MAP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" - -#include "ace/Hash_Map_Manager_T.h" - - -/// Load monitor hash map. -typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::Location, - CosLoadBalancing::LoadMonitor_var, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - ACE_Null_Mutex> TAO_LB_MonitorMap; - - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_MONITOR_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.cpp deleted file mode 100644 index e7e7eeb4443..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_ORBInitializer.h" -#include "orbsvcs/LoadBalancing/LB_IORInterceptor.h" -#include "orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h" - -#include "orbsvcs/CosLoadBalancingC.h" - -#include "tao/ORB_Constants.h" - -ACE_RCSID (LoadBalancing, - LB_ORBInitializer, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_ORBInitializer::TAO_LB_ORBInitializer ( - const CORBA::StringSeq & object_groups, - const CORBA::StringSeq & repository_ids, - const char * location) - : object_groups_ (object_groups), - repository_ids_ (repository_ids), - location_ (location), - load_alert_ () -{ -} - -void -TAO_LB_ORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var obj = - info->resolve_initial_references ("LoadManager" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosLoadBalancing::LoadManager_var lm = - CosLoadBalancing::LoadManager::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::String_var orbid = info->orb_id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - PortableInterceptor::IORInterceptor_ptr tmp; - ACE_NEW_THROW_EX (tmp, - TAO_LB_IORInterceptor (this->object_groups_, - this->repository_ids_, - this->location_.in (), - lm.in (), - orbid.in (), - this->load_alert_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - PortableInterceptor::IORInterceptor_var ior_interceptor = tmp; - - info->add_ior_interceptor (ior_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // ---------------- - - PortableInterceptor::ServerRequestInterceptor_ptr sri; - ACE_NEW_THROW_EX (sri, - TAO_LB_ServerRequestInterceptor (this->load_alert_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - PortableInterceptor::ServerRequestInterceptor_var sr_interceptor = sri; - - info->add_server_request_interceptor (sr_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.h deleted file mode 100644 index 292e36558ab..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_ORBInitializer.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_ORB_INITIALIZER_H -#define TAO_LB_ORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/LoadBalancing/LB_LoadAlert.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" -#include "tao/Versioned_Namespace.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_ORBInitializer - * - * @brief ORBInitializer for the LB_Component Service_Object. - * - * This ORBInitializer simply creates and registers with the ORB the - * IORInterceptor that handles transparent object group member - * registration with the LoadManager, and registration of the - * LoadAlert object necessary for load shedding. - * - * @par - * - * It also creates and registers the ServerRequestInterceptor that - * facilitates load shedding. - */ -class TAO_LB_ORBInitializer - : public virtual PortableInterceptor::ORBInitializer, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_LB_ORBInitializer (const CORBA::StringSeq & object_groups, - const CORBA::StringSeq & repository_ids, - const char * location); - - /** - * @name PortableInterceptor::ORBInitializer Methods - * - * Methods required by the PortableInterceptor::ORBInitializer - * interface. - */ - //@{ - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - -private: - - /// List of stringified object group references. - const CORBA::StringSeq object_groups_; - - /// List of RepositoryIds for object that will be load - /// managed/balanced. - const CORBA::StringSeq repository_ids_; - - /// Location at which the LoadBalancing component resides. - CORBA::String_var location_; - - /// The CosLoadBalancing::LoadAlert servant to be used at this - /// location. - /** - * This is the servant supplied by TAO's Load Balancer. It is - * used out of convencience. - */ - TAO_LB_LoadAlert load_alert_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp deleted file mode 100644 index d70b23fa4f1..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp +++ /dev/null @@ -1,258 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h" - -ACE_RCSID (LoadBalancing, - LB_ObjectReferenceFactory, - "$Id$") - -#include "tao/debug.h" - -#include "ace/SString.h" -#include "ace/OS_NS_strings.h" -#include "ace/OS_NS_string.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// The number of different object groups to support. -#ifndef TAO_LB_ORF_GROUP_TABLE_SIZE -const size_t TAO_LB_ORF_GROUP_TABLE_SIZE = 16; -#endif /* TAO_LB_ORF_GROUP_TABLE_SIZE */ - -TAO_LB_ObjectReferenceFactory::TAO_LB_ObjectReferenceFactory ( - PortableInterceptor::ObjectReferenceFactory * old_orf, - const CORBA::StringSeq & object_groups, - const CORBA::StringSeq & repository_ids, - const char * location, - CORBA::ORB_ptr orb, - CosLoadBalancing::LoadManager_ptr lm) - : old_orf_ (old_orf), - object_groups_ (object_groups), - repository_ids_ (repository_ids), - location_ (1), - table_ (TAO_LB_ORF_GROUP_TABLE_SIZE), - fcids_ (), - orb_ (CORBA::ORB::_duplicate (orb)), - lm_ (CosLoadBalancing::LoadManager::_duplicate (lm)), - registered_members_ (0) -{ - // Claim ownership of the old ObjectReferenceFactory. - CORBA::add_ref (old_orf); - - this->location_.length (1); - this->location_[0].id = CORBA::string_dup (location); - - const CORBA::ULong len = repository_ids.length (); - ACE_NEW (this->registered_members_, - CORBA::Boolean[len]); - - ACE_ASSERT (this->registered_members_ != 0); - ACE_OS::memset (this->registered_members_, - 0, - len * sizeof (CORBA::Boolean)); -} - -TAO_LB_ObjectReferenceFactory::~TAO_LB_ObjectReferenceFactory (void) -{ - // No need to call CORBA::remove_ref() on this->old_orf_. It is a - // "_var" object, meaning that will be done automatically. - - ACE_DECLARE_NEW_CORBA_ENV; - - if (!CORBA::is_nil (this->lm_.in ())) - { - const CORBA::ULong len = this->fcids_.size (); - for (CORBA::ULong i = 0; i < len; ++i) - { - ACE_TRY - { - // Clean up all object groups we created. - this->lm_->delete_object (this->fcids_[i].in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions. - } - ACE_ENDTRY; - } - } - - // @todo De-register LoadAlert objects. - // @todo De-register object group members. - - delete [] this->registered_members_; -} - -CORBA::Object_ptr -TAO_LB_ObjectReferenceFactory::make_object ( - const char * repository_id, - const PortableInterceptor::ObjectId & id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (repository_id == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), CORBA::Object::_nil ()); - - CORBA::Object_var obj = - this->old_orf_->make_object (repository_id, - id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - PortableGroup::ObjectGroup_var object_group; - - CORBA::ULong index = 0; - - const CORBA::Boolean found_group = - this->find_object_group (repository_id, - index, - object_group.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - if (found_group) - { - // Be careful not to attempt duplicate registrations on - // subsequent object reference creation calls. - if (!this->registered_members_[index]) - { - ACE_TRY - { - object_group = - this->lm_->add_member (object_group.in (), - this->location_, - obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (PortableGroup::ObjectGroupNotFound, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, - "TAO_LB_ObjectReferenceFactory::" - "make_object"); - - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - CORBA::Object::_nil ()); - } - ACE_CATCH (PortableGroup::MemberAlreadyPresent, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, - "TAO_LB_ObjectReferenceFactory::" - "make_object"); - - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), - CORBA::Object::_nil ()); - - } - ACE_CATCH (PortableGroup::ObjectNotAdded, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, - "TAO_LB_ObjectReferenceFactory::" - "make_object"); - - ACE_THROW_RETURN (CORBA::UNKNOWN (), - CORBA::Object::_nil ()); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - this->registered_members_[index] = 1; - } - - // Return the object group reference instead. - return object_group._retn (); - } - - // Not a load managed object. Simply return the object's actual - // object reference. - return obj._retn (); -} - -CORBA::Boolean -TAO_LB_ObjectReferenceFactory::find_object_group ( - const char * repository_id, - CORBA::ULong & index, - PortableGroup::ObjectGroup_out object_group - ACE_ENV_ARG_DECL) -{ - if (!this->load_managed_object (repository_id, index)) - return 0; - - PortableGroup::ObjectGroup_var group; - if (this->table_.find (repository_id, group) != 0) - { - if (ACE_OS::strcasecmp (this->object_groups_[index], - "CREATE") == 0) - { - PortableGroup::Criteria criteria (1); - criteria.length (1); - - PortableGroup::Property & property = criteria[0]; - property.nam.length (1); - - property.nam[0].id = - CORBA::string_dup ("org.omg.PortableGroup.MembershipStyle"); - - // Configure for application-controlled membership. - PortableGroup::MembershipStyleValue msv = - PortableGroup::MEMB_APP_CTRL; - property.val <<= msv; - - PortableGroup::GenericFactory::FactoryCreationId_var fcid; - - group = - this->lm_->create_object (repository_id, - criteria, - fcid.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - const CORBA::ULong len = this->fcids_.size (); - this->fcids_.size (len + 1); // Incremental growth. Yuck! - this->fcids_[len] = fcid; - } - else - { - group = - this->orb_->string_to_object (this->object_groups_[index] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - if (this->table_.bind (repository_id, group) != 0) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "TAO_LB_ObjectReferenceFactory::" - "find_object_group - " - "Couldn't bind object group reference.\n")); - - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - - object_group = group._retn (); - } - - return 1; -} - -CORBA::Boolean -TAO_LB_ObjectReferenceFactory::load_managed_object (const char * repository_id, - CORBA::ULong & i) -{ - // @todo Make this more efficient. - - const CORBA::ULong len = this->repository_ids_.length (); - for (i = 0; i < len; ++i) - if (ACE_OS::strcmp (this->repository_ids_[i], repository_id) == 0) - return 1; - - return 0; -} - - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h deleted file mode 100644 index 81fddbe05bf..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h +++ /dev/null @@ -1,179 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_ObjectReferenceFactory.h - * - * $Id$ - - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_LB_OBJECT_REFERENCE_FACTORY_H -#define TAO_LB_OBJECT_REFERENCE_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/LB_ORTC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "orbsvcs/CosLoadBalancingC.h" - -#include "ace/Array_Base.h" -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Null_Mutex.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_ObjectReferenceFactory - * - * @brief Implementation of the PortableInterceptor::ObjectReferenceFactory - * interface. - * - * This ObjectReferenceFactory creates an object group for a member of - * the given repository ID (if instructed to do so), creates an - * "unpublished" reference for that member, and adds it to the object - * group via the LoadManager. - */ -class TAO_LB_ObjectReferenceFactory - : public virtual CORBA::DefaultValueRefCountBase - , public virtual OBV_TAO_LB::ObjectReferenceFactory -{ - public: - - /// Constructor - TAO_LB_ObjectReferenceFactory ( - PortableInterceptor::ObjectReferenceFactory * old_orf, - const CORBA::StringSeq & object_groups, - const CORBA::StringSeq & repository_ids, - const char * location, - CORBA::ORB_ptr orb, - CosLoadBalancing::LoadManager_ptr lm); - - /** - * @name PortableInterceptor::ObjectReferenceFactory Methods - * - * Methods required by the - * PortableInterceptor::ObjectReferenceFactory interface. - */ - //@{ - virtual CORBA::Object_ptr make_object ( - const char * repository_id, - const PortableInterceptor::ObjectId & id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - - typedef ACE_Hash_Map_Manager_Ex< - ACE_CString, - PortableGroup::ObjectGroup_var, - ACE_Hash, - ACE_Equal_To, - ACE_Null_Mutex> Table; - - typedef ACE_Array_Base< - PortableGroup::GenericFactory::FactoryCreationId_var> fcid_list; - -protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management via - * reference counting. - */ - ~TAO_LB_ObjectReferenceFactory (void); - - /// Retrieve the object group reference for objects with the given - /// RepositoryId. - CORBA::Boolean find_object_group (const char * repository_id, - CORBA::ULong & index, - PortableGroup::ObjectGroup_out object_group - ACE_ENV_ARG_DECL); - - /// Determine if object with given RepositoryId is load managed. - CORBA::Boolean load_managed_object (const char * repository_id, - CORBA::ULong & i); - -private: - - /// The old ObjectReferenceFactory used to create object references. - /** - * This ObjectReferenceFactory will be used when creating object - * references for non-load balanced objects. - */ - PortableInterceptor::ObjectReferenceFactory_var old_orf_; - - - /// List of stringified object group references. - /** - * All stringified object groups in this sequence have a one-to-one - * correspondence to the repository IDs found in the repository_ids_ - * member below. - * - * @par - * - * The special string "CREATE" denotes that creation of a new object - * group should be performed. - */ - const CORBA::StringSeq object_groups_; - - /// List of RepositoryIds for object that will be load - /// managed/balanced. - /** - * All RepositoryIds in this sequence have a one-to-one - * correspondence to the stringified object references found in the - * object_groups_ member above. - */ - const CORBA::StringSeq repository_ids_; - - /// The configured location for the server within which this - /// ObjectReferenceFactory resides. - PortableGroup::Location location_; - - /// Table that maps repository ID to (non-stringified) object group - /// reference. - Table table_; - - /// List of FactoryCreationIds that will later be used to destroy - /// object groups. - fcid_list fcids_; - - /// Pseudo-reference to the ORB. - CORBA::ORB_var orb_; - - /// Reference to the LoadManager object. - CosLoadBalancing::LoadManager_var lm_; - - /// Array of flags that denotes whether or not an object group - /// member of a given RepositoryId has been registered with the - /// LoadManager. - /** - * The values are cached here to avoid querying the LoadManager, - * which can be costly. - */ - CORBA::Boolean * registered_members_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined (_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_OBJECT_REFERENCE_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp deleted file mode 100644 index 5e8cdf226ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_Pull_Handler.h" -#include "orbsvcs/LoadBalancing/LB_LoadManager.h" - -#include "tao/debug.h" - - -ACE_RCSID (LoadBalancing, - LB_Pull_Handler, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_Pull_Handler::TAO_LB_Pull_Handler (void) - : monitor_map_ (0), - load_manager_ (0) -{ -} - -void -TAO_LB_Pull_Handler::initialize (TAO_LB_MonitorMap * monitor_map, - TAO_LB_LoadManager * load_manager) -{ - this->monitor_map_ = monitor_map; - this->load_manager_ = load_manager; -} - -int -TAO_LB_Pull_Handler::handle_timeout ( - const ACE_Time_Value & /* current_time */, - const void * /* arg */) -{ - // @todo Fix the race condtions in this method. - - TAO_LB_MonitorMap::iterator begin = this->monitor_map_->begin (); - TAO_LB_MonitorMap::iterator end = this->monitor_map_->end (); - - if (begin == end) - return 0; // No work to be done. - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Iterate over all registered load monitors. - // - // @todo This could be potentially very slow. Improve concurrent - // operation at some point in the near future. - for (TAO_LB_MonitorMap::iterator i = begin; i != end; ++i) - { - const PortableGroup::Location & location = (*i).ext_id_; - CosLoadBalancing::LoadMonitor_var & monitor = (*i).int_id_; - - // The load monitor reference should never be nil since the - // LoadManager prevents nil load monitor references from - // being registered. - CosLoadBalancing::LoadList_var load_list = - monitor->loads (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->load_manager_->push_loads (location, - load_list.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - -// ACE_DEBUG ((LM_DEBUG, -// "LOCATION = %s\tLOAD = %f\n", -// location[0].id.in (), -// load_list[0].value)); - } - } - ACE_CATCHANY - { - // Catch the exception and ignore it. - - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "(%P|%t) PullHandler::handle_timeout()\n"); - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.h deleted file mode 100644 index a18efd9d961..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file LB_Pull_Handler.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_LB_PULL_HANDLER_H -#define TAO_LB_PULL_HANDLER_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/LoadBalancing/LB_MonitorMap.h" - -#include "ace/Event_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -class TAO_LB_LoadManager; - -/** - * @class TAO_LB_Pull_Handler - * - * @brief Event handler used when the "pull" monitoring style is - * configured. - * - * An event handler designed to pull loads from all load monitors - * registered with the load balancer. - */ -class TAO_LB_Pull_Handler : public ACE_Event_Handler -{ -public: - - /// Constructor - TAO_LB_Pull_Handler (void); - - /// Receive the timeout event. - virtual int handle_timeout (const ACE_Time_Value ¤t_time, - const void *arg); - - /// Initialize this event handler. - void initialize (TAO_LB_MonitorMap * monitor_map, - TAO_LB_LoadManager * load_manager); - -private: - - /// The table that contains all load monitors registered with the - /// load balancer. - TAO_LB_MonitorMap * monitor_map_; - - /// Pointer to the LoadManager servant. - TAO_LB_LoadManager * load_manager_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_PULL_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp deleted file mode 100644 index 56c39655f2d..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp +++ /dev/null @@ -1,180 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/LoadBalancing/LB_Random.h" - -#include "tao/ORB_Constants.h" -#include "ace/OS_NS_time.h" -#include "ace/os_include/os_netdb.h" - -ACE_RCSID (LoadBalancing, - LB_Random, - "$Id$") - -#ifdef ACE_HAS_PTHREADS_STD -static pthread_once_t tao_lb_once_control = PTHREAD_ONCE_INIT; -#endif /* ACE_HAS_PTHREADS_STD */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -extern "C" void tao_lb_random_init_routine (void) -{ - ACE_OS::srand (static_cast (ACE_OS::time ())); -} - -TAO_LB_Random::TAO_LB_Random (PortableServer::POA_ptr poa) - : poa_ (PortableServer::POA::_duplicate (poa)) -{ - TAO_LB_Random::init (); -} - -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::VMCID, - 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 ()); -} - -CosLoadBalancing::LoadList * -TAO_LB_Random::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - return load_manager->get_loads (the_location - ACE_ENV_ARG_PARAMETER); -} - -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)) -{ - 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 ()); - - return TAO_LB_Random::_tao_next_member (object_group, - load_manager, - locations.in () - 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)) -{ -} - -PortableServer::POA_ptr -TAO_LB_Random::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -CORBA::Object_ptr -TAO_LB_Random::_tao_next_member ( - PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Locations & locations - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)) -{ - 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. - - // Prevent integer arithmetic overflow. - const CORBA::Float flen = static_cast (len); - - const CORBA::ULong i = - static_cast (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::init (void) -{ -#ifdef ACE_HAS_PTHREADS_STD - (void) ::pthread_once (&::tao_lb_once_control, - ::tao_lb_random_init_routine); -#else - ::tao_lb_random_init_routine (); -#endif /* ACE_HAS_PTHREADS_STD */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h deleted file mode 100644 index af5bea2b038..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h +++ /dev/null @@ -1,124 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_Random.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef LB_RANDOM_H -#define LB_RANDOM_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosLoadBalancingS.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @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 POA_CosLoadBalancing::Strategy -{ -public: - - /// Constructor. - /** - * Seeds the OS' random number generator. - */ - TAO_LB_Random (PortableServer::POA_ptr poa); - - /** - * @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 CosLoadBalancing::LoadList * get_loads ( - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - 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)); - //@} - - /// Returns the default POA for this servant. - virtual PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - - /// TAO-specific underlying implementation of this Random load - /// balancing strategy's next_member() method. - static CORBA::Object_ptr _tao_next_member ( - PortableGroup::ObjectGroup_ptr object_group, - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Locations & locations - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)); - - /// Initialize the random load balancing strategy. - /** - * If supported by the platform, initialization code will only run - * once for a given process. - */ - static void init (void); - -private: - - /// This servant's default POA. - PortableServer::POA_var poa_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" - -#endif /* LB_RANDOM_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.cpp deleted file mode 100644 index ab865f8020e..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.cpp +++ /dev/null @@ -1,171 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/LoadBalancing/LB_RoundRobin.h" - -#include "orbsvcs/PortableGroup/PG_conf.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -ACE_RCSID (LoadBalancing, - LB_RoundRobin, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_RoundRobin::TAO_LB_RoundRobin (PortableServer::POA_ptr poa) - : poa_ (PortableServer::POA::_duplicate (poa)), - lock_ (), - location_index_map_ (TAO_PG_MAX_OBJECT_GROUPS) -{ -} - -TAO_LB_RoundRobin::~TAO_LB_RoundRobin (void) -{ -} - -char * -TAO_LB_RoundRobin::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("RoundRobin"); -} - -CosLoadBalancing::Properties * -TAO_LB_RoundRobin::get_properties (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // There are no RoundRobin properties. Return an empty property - // list. - - CosLoadBalancing::Properties * props = 0; - ACE_NEW_THROW_EX (props, - CosLoadBalancing::Properties, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (props); - - return props; -} - -void -TAO_LB_RoundRobin::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 ()); -} - -CosLoadBalancing::LoadList * -TAO_LB_RoundRobin::get_loads (CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)) -{ - if (CORBA::is_nil (load_manager)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - return load_manager->get_loads (the_location - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_LB_RoundRobin::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 ()); - - const PortableGroup::ObjectGroupId id = - load_manager->get_object_group_id (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - monitor, - this->lock_, - CORBA::Object::_nil ()); - - // Since this is "built-in" strategy, the LoadManager is collocated. - // There is no need to release the lock during the following - // invocation. - // - // There is a race condition here. The - 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 ()); - - TAO_LB_Location_Index_Map::ENTRY * entry; - if (this->location_index_map_.find (id, entry) == 0) - { - CORBA::ULong & i = entry->int_id_; - - if (len <= i) - i = 0; // Reset, i.e. wrap around - - // No need to release the lock since the LoadManager is - // collocated. - CORBA::Object_var member = - load_manager->get_member_ref (object_group, - locations[i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Increment index to point to next location. - i++; - - return member._retn (); - } - - // The first time through this method. Set up for the next time - // around, and return the object reference residing at the first - // location in the "locations of members" sequence. - - // Note that it is safe to set the next_index below to 1 even if the - // length of the sequence is 1 since the above code handles the - // boundary case correctly by wrapping around. - - const CORBA::ULong index = 0; - if (this->location_index_map_.bind (id, index + 1) != 0) - ACE_THROW_RETURN (CORBA::INTERNAL (), CORBA::Object::_nil ()); - - return load_manager->get_member_ref (object_group, - locations[index] - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_LB_RoundRobin::analyze_loads ( - PortableGroup::ObjectGroup_ptr /* object_group */, - CosLoadBalancing::LoadManager_ptr /* load_manager */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -PortableServer::POA_ptr -TAO_LB_RoundRobin::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h deleted file mode 100644 index a96a1120223..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h +++ /dev/null @@ -1,127 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_RoundRobin.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef LB_ROUND_ROBIN_H -#define LB_ROUND_ROBIN_H - -#include /**/ "ace/pre.h" - -#include "ace/Null_Mutex.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/LoadBalancing/LB_Location_Index_Map.h" - -#include "orbsvcs/CosLoadBalancingS.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LB_RoundRobin_Strategy - * - * @brief "Round Robin" load balancing strategy - * - * This load balancing strategy is designed to select an object group - * member residing at the next location. - */ -class TAO_LB_RoundRobin - : public virtual POA_CosLoadBalancing::Strategy -{ -public: - - /// Constructor. - TAO_LB_RoundRobin (PortableServer::POA_ptr poa); - - /** - * @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 CosLoadBalancing::LoadList * get_loads ( - CosLoadBalancing::LoadManager_ptr load_manager, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosLoadBalancing::LocationNotFound)); - - 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)); - //@} - - /// Returns the default POA for this servant. - virtual PortableServer::POA_ptr _default_POA ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ); - -protected: - - /// Destructor - ~TAO_LB_RoundRobin (void); - -private: - - /// This servant's default POA. - PortableServer::POA_var poa_; - - /// Lock used to ensure atomic access to state retained by this - /// class. - TAO_SYNCH_MUTEX lock_; - - /// Table that maps PortableGroup::ObjectGroupId to location - /// sequence index specific to a given object group. - /** - * The location sequence corresponds to the sequence containing the - * locations of the members of a given object group. The value - * stored in this map corresponds to the index of the next element - * in that sequence. For example, if the index stored in the map is - * 2, location[2] will be used when retrieving the object reference - * to be returned from the Strategy::next_member() method. - */ - TAO_LB_Location_Index_Map location_index_map_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* LB_ROUND_ROBIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.cpp deleted file mode 100644 index 10bb3303a39..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.cpp +++ /dev/null @@ -1,182 +0,0 @@ -#include "orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h" -#include "orbsvcs/LoadBalancing/LB_LoadAlert.h" - -#include "tao/debug.h" - -#include "ace/OS_NS_string.h" - - -ACE_RCSID (LoadBalancing, - LB_ServerRequestInterceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LB_ServerRequestInterceptor::TAO_LB_ServerRequestInterceptor ( - TAO_LB_LoadAlert & load_alert) - : load_alert_ (load_alert) -{ -} - -TAO_LB_ServerRequestInterceptor::~TAO_LB_ServerRequestInterceptor (void) -{ -} - -char * -TAO_LB_ServerRequestInterceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("TAO_LB_ServerRequestInterceptor"); -} - -void -TAO_LB_ServerRequestInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ServerRequestInterceptor::receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - if (this->load_alert_.alerted ()) - { - CORBA::String_var op = ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (ACE_OS::strcmp (op.in (), "_get_loads") == 0 // LoadMonitor - || ACE_OS::strcmp (op.in (), "disable_alert") == 0 // LoadAlert - || ACE_OS::strcmp (op.in (), "enable_alert") == 0) // LoadAlert - return; // Do not redirect. - -#if 0 - ACE_TRY - { - IOP::ServiceContext_var service_context = - ri->get_request_service_context (CosLoadBalancing::LOAD_MANAGED - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - /* - // Use TAO-specific "compiled marshaling" instead of - // standard interpretive marshaling via a CDR encapsulation - // Codec for efficiency reasons. - const char * buf = - reinterpret_cast (service_context->context_data.get_buffer ()); - TAO_InputCDR cdr (buf, - service_context->context_data.length ()); - - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_TRY_THROW (CORBA::BAD_PARAM ()); - - cdr.reset_byte_order (static_cast (byte_order)); - - CORBA::Object_var object_group; - if (cdr >> object_group.out ()) - ACE_TRY_THROW (PortableInterceptor::ForwardRequest (object_group.in (), - 0)); - else - ACE_TRY_THROW (CORBA::BAD_PARAM ()); - */ - - // A ServiceContext of the given ServiceId exists. This - // means that the target is load balanced. Force the client - // to try another profile since this location is currently - // overloaded. - ACE_TRY_THROW (CORBA::TRANSIENT ()); - } - ACE_CATCH (CORBA::BAD_PARAM, ex) - { - // No CosLoadBalancing::LB_GROUP_REF ServiceContext. This - // probably means that the target object is not - // LoadBalanced. - - // There is a huge DoS attack vulnerability with this load - // shedding model. The model relies on the client behaving - // correctly. In particular, it relies on the client to - // send the forward object group reference in the - // ServiceContextList. Any "misbehaving" client can avoid - // that, in which case no load will ever be shed! - - - // Make sure we get a CORBA::BAD_PARAM for the right - // reason. - if (ex.minor () != (CORBA::OMGVMCID | 26)) - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -#else - // Force the client to try another profile since this location - // is currently overloaded. - // - // NOTE: This applies to both load balanced and non-load - // balanced targets. - ACE_THROW (CORBA::TRANSIENT ()); -#endif /* 0 */ - } -} - -void -TAO_LB_ServerRequestInterceptor::receive_request ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -TAO_LB_ServerRequestInterceptor::send_reply ( - PortableInterceptor::ServerRequestInfo_ptr /* ri */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO_LB_ServerRequestInterceptor::send_exception ( - PortableInterceptor::ServerRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - if (TAO_debug_level > 0) - { - // A CORBA::TRANSIENT is thrown when the LoadManager informs the - // LoadAlert object that its member is overloaded, for example. - - ACE_DEBUG ((LM_INFO, - ACE_TEXT ("TAO_LB_ServerRequestInterceptor -- ") - ACE_TEXT ("Exception thrown.\n"))); - } -} - -void -TAO_LB_ServerRequestInterceptor::send_other ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - if (TAO_debug_level > 0) - { - // A location forward occurs when the LoadManager informs the - // LoadAlert object that its member is overloaded, for example. - - const PortableInterceptor::ReplyStatus status = - ri->reply_status (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (status == PortableInterceptor::LOCATION_FORWARD) - ACE_DEBUG ((LM_INFO, - ACE_TEXT ("TAO_LB_ServerRequestInterceptor -- ") - ACE_TEXT ("LOCATION FORWARDED\n"))); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h deleted file mode 100644 index a3a94008a27..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h +++ /dev/null @@ -1,125 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_ServerRequestInterceptor.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_SERVER_REQUEST_INTERCEPTOR_H -#define TAO_LB_SERVER_REQUEST_INTERCEPTOR_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#include "orbsvcs/LoadBalancing/LoadBalancing_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI_Server/PI_Server.h" -#include "tao/PortableInterceptorC.h" -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LB_LoadAlert; - -/** - * @class TAO_LB_ServerRequestInterceptor - * - * @brief ServerRequestInterceptor that interacts with the TAO-shipped - * LoadAlert implementation. - * - * This ServerRequestInterceptor is responsible for redirecting - * requests back to the LoadManager. - */ -class TAO_LoadBalancing_Export TAO_LB_ServerRequestInterceptor - : public virtual PortableInterceptor::ServerRequestInterceptor, - public virtual TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_LB_ServerRequestInterceptor (TAO_LB_LoadAlert & load_alert); - - /** - * @name Methods Required by the ServerRequestInterceptor - * Interface - * - * These are the canonical methods required for all - * ServerRequestInterceptors. - */ - //@{ - virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_request ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_reply ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_exception ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_other ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - //@} - -protected: - - /// Destructor. - /** - * Protected destructor to enforce correct memory management via - * reference counting. - */ - ~TAO_LB_ServerRequestInterceptor (void); - -private: - - TAO_LB_LoadAlert & load_alert_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_SERVER_REQUEST_INTERCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_conf.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_conf.h deleted file mode 100644 index 9c65aba972c..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_conf.h +++ /dev/null @@ -1,45 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LB_conf.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_LB_CONF_H -#define TAO_LB_CONF_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#ifndef TAO_LB_PULL_HANDLER_INTERVAL -/// The interval in seconds the load balancer queries registered load -/// monitors for loads. -const long TAO_LB_PULL_HANDLER_INTERVAL = 5; -#endif /* TAO_LB_PULL_HANDLER_INTERVAL */ - -#ifndef TAO_LB_PULL_HANDLER_RESTART -/// The time in seconds the load balancer's "pull handler" is -/// restarted after being fired. -const long TAO_LB_PULL_HANDLER_RESTART = 5; -#endif /* TAO_LB_PULL_HANDLER_RESTART */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_LB_CONF_H */ diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h deleted file mode 100644 index 10ec8a56fe1..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LoadBalancing_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_LOADBALANCING_EXPORT_H -#define TAO_LOADBALANCING_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_LOADBALANCING_HAS_DLL) -# define TAO_LOADBALANCING_HAS_DLL 0 -# endif /* ! TAO_LOADBALANCING_HAS_DLL */ -#else -# if !defined (TAO_LOADBALANCING_HAS_DLL) -# define TAO_LOADBALANCING_HAS_DLL 1 -# endif /* ! TAO_LOADBALANCING_HAS_DLL */ -#endif - -#if defined (TAO_LOADBALANCING_HAS_DLL) && (TAO_LOADBALANCING_HAS_DLL == 1) -# if defined (TAO_LOADBALANCING_BUILD_DLL) -# define TAO_LoadBalancing_Export ACE_Proper_Export_Flag -# define TAO_LOADBALANCING_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_LOADBALANCING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_LOADBALANCING_BUILD_DLL */ -# define TAO_LoadBalancing_Export ACE_Proper_Import_Flag -# define TAO_LOADBALANCING_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_LOADBALANCING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_LOADBALANCING_BUILD_DLL */ -#else /* TAO_LOADBALANCING_HAS_DLL == 1 */ -# define TAO_LoadBalancing_Export -# define TAO_LOADBALANCING_SINGLETON_DECLARATION(T) -# define TAO_LOADBALANCING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_LOADBALANCING_HAS_DLL == 1 */ - -#endif /* TAO_LOADBALANCING_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/README b/TAO/orbsvcs/orbsvcs/LoadBalancing/README deleted file mode 100644 index 175e8e074fd..00000000000 --- a/TAO/orbsvcs/orbsvcs/LoadBalancing/README +++ /dev/null @@ -1,35 +0,0 @@ -This directory contains the implementations of the TAO Load Balancing -service, which is called as Cygnus. - -Cygnus currently implements the latest revision of the OMG Load Balancing -and Monitoring proposed specification. The features and advantages of -Cygnus include: -1. Multiple object group support. -2. Extensible load balancing strategies through IDL interface. -3. Extensible load monitoring. -4. Support for push and pull style monitoring. -5. Support for infrastructure and application controlled memberships. -6. Efficient server side transparency. -7. Default implementations of well known load balancing strategies. - -Future Work targeted: -1. Implement a distributed load balancing service. -2. Implement stateful load balancing service. -3. Implement self adaptive load balancing strategies using control -theoretical techniques. - -Papers about Cygnus: -1. Ossama Othman, Carlos O'Ryan, and Douglas C. Schmidt, The Design of an -Adaptive CORBA Load Balancing Service, IEEE Distributed Systems Online, Volume -2, Number 4, April, 2001. -2. Ossama Othman, Carlos O'Ryan, and Douglas C. Schmidt, An Efficient -Adaptive Load Balancing Service for CORBA, IEEE Distributed Systems Online, -Volume 2, Number 3, March, 2001. -3. Jaiganesh Balasubramanian, Douglas C. Schmidt, Lawrence Dowdy, and Ossama -Othman, Evaluating the Performance of Middleware Load Balancing Strategies, -Proceedings of the 8th International IEEE Enterprise Distributed Object -Computing Conference, Monterey, CA, September 2004 -4. Ossama Othman, Jaigaesh Balasubramanian, and Douglas C. Schmidt, The -Design of an Adaptive Middleware Load Balancing and Monitoring Service, Third -International Workshop on Self-Adaptive Software, Arlington, VA, USA, June -9-11, 2003 diff --git a/TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp deleted file mode 100644 index b8704fe0988..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp +++ /dev/null @@ -1,147 +0,0 @@ -#include "orbsvcs/Log/BasicLogFactory_i.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID (Log, - BasicLogFactory_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_BasicLogFactory_i::TAO_BasicLogFactory_i (void) -{ -} - -TAO_BasicLogFactory_i::~TAO_BasicLogFactory_i (void) -{ -} - -DsLogAdmin::BasicLogFactory_ptr -TAO_BasicLogFactory_i::activate (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) -{ - TAO_LogMgr_i::init (orb, poa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLogFactory::_nil ()); - - - PortableServer::ObjectId_var oid = - this->factory_poa_->activate_object (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLogFactory::_nil ()); - - CORBA::Object_var obj = - this->factory_poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLogFactory::_nil ()); - - // narrow and store the result.. - this->log_mgr_ = - DsLogAdmin::LogMgr::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLogFactory::_nil ()); - - DsLogAdmin::BasicLogFactory_var v_return = - DsLogAdmin::BasicLogFactory::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLogFactory::_nil ()); - - return v_return._retn (); -} - -DsLogAdmin::BasicLog_ptr -TAO_BasicLogFactory_i::create (DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction - )) -{ - this->create_i (full_action, - max_size, - 0, - id_out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLog::_nil ()); - DsLogAdmin::LogId id = id_out; - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLog::_nil ()); -#endif - - // narrow to BasicLog - DsLogAdmin::BasicLog_var basic_log = - DsLogAdmin::BasicLog::_narrow (log.in ()); - - return basic_log._retn (); -} - -DsLogAdmin::BasicLog_ptr -TAO_BasicLogFactory_i::create_with_id (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction - )) -{ - this->create_with_id_i (id, - full_action, - max_size, - 0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLog::_nil ()); - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::BasicLog::_nil ()); -#endif - - // narrow to BasicLog - DsLogAdmin::BasicLog_var basic_log = - DsLogAdmin::BasicLog::_narrow (log.in ()); - - return basic_log._retn (); -} - -CORBA::RepositoryId -TAO_BasicLogFactory_i::create_repositoryid () -{ - return CORBA::string_dup ("IDL:omg.org/DsLogAdmin:BasicLog:1.0"); -} - -PortableServer::ServantBase* -TAO_BasicLogFactory_i::create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - TAO_BasicLog_i* basic_log_i; - - ACE_NEW_THROW_EX (basic_log_i, - TAO_BasicLog_i (this->orb_.in (), - this->log_poa_.in (), - *this, - this->log_mgr_.in (), - id), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - basic_log_i->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return basic_log_i; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.h b/TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.h deleted file mode 100644 index f6cc8f4113a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/BasicLogFactory_i.h +++ /dev/null @@ -1,109 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file BasicLogFactory_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::BasicLogFactory interface. - * - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_BASICLOGFACTORY_I_H -#define TAO_TLS_BASICLOGFACTORY_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/BasicLog_i.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_BasicLogActivator; - -/** - * @class TAO_BasicLogFactory_i - * - * @brief The BasicLogFactory is a factory that is used to create event-unaware Logs. - */ -class TAO_Log_Serv_Export TAO_BasicLogFactory_i : - public POA_DsLogAdmin::BasicLogFactory, - public TAO_LogMgr_i -{ -public: - - //= Initialization and termination code. - - /// Constructor. - TAO_BasicLogFactory_i (); - - /// Destructor. - ~TAO_BasicLogFactory_i (); - - /// Activate this servant with the ORB and POA passed in. - DsLogAdmin::BasicLogFactory_ptr - activate (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /// Allows clients to create new BasicLog objects. - /// Raises DsLogAdmin::InvalidThreshold. - DsLogAdmin::BasicLog_ptr - create (DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - DsLogAdmin::LogId_out id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction - )); - - /// Same as create (), but allows clients to specify the id. - DsLogAdmin::BasicLog_ptr - create_with_id (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction - )); - -protected: - virtual CORBA::RepositoryId - create_repositoryid (); - - virtual PortableServer::ServantBase* - create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// Our object ref. after ation. - DsLogAdmin::LogMgr_var log_mgr_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_BASICLOGFACTORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/BasicLog_i.cpp b/TAO/orbsvcs/orbsvcs/Log/BasicLog_i.cpp deleted file mode 100644 index fa4c1f0af22..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/BasicLog_i.cpp +++ /dev/null @@ -1,93 +0,0 @@ -#include "orbsvcs/Log/BasicLog_i.h" - -#include "orbsvcs/Log/LogMgr_i.h" - -ACE_RCSID (Log, - BasicLog_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_BasicLog_i::TAO_BasicLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - DsLogAdmin::LogId id) - : TAO_Log_i (orb, logmgr_i, factory, id, 0), - poa_(PortableServer::POA::_duplicate(poa)) -{ - // No-Op. -} - -TAO_BasicLog_i::~TAO_BasicLog_i (void) -{ - // No-Op. -} - -DsLogAdmin::Log_ptr -TAO_BasicLog_i::copy (DsLogAdmin::LogId &id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - DsLogAdmin::BasicLogFactory_var basicLogFactory = - DsLogAdmin::BasicLogFactory::_narrow (factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsLogAdmin::BasicLog_var log = - basicLogFactory->create (DsLogAdmin::halt, 0, id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - - // Copy the attributes from the log. - this->copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); - -} - -DsLogAdmin::Log_ptr -TAO_BasicLog_i::copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - DsLogAdmin::BasicLogFactory_var basicLogFactory = - DsLogAdmin::BasicLogFactory::_narrow (factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsLogAdmin::BasicLog_var log = - basicLogFactory->create_with_id (id, DsLogAdmin::halt, 0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - // Copy the attributes from the log. - this->copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); - -} - -void -TAO_BasicLog_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Remove ourselves from the list of logs. - this->logmgr_i_.remove (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Deregister with POA. - PortableServer::ObjectId_var id = - this->poa_->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->poa_->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/BasicLog_i.h b/TAO/orbsvcs/orbsvcs/Log/BasicLog_i.h deleted file mode 100644 index e1a51484192..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/BasicLog_i.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file BasicLog_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::BasicLog interface. - * - * - * @author Matthew Braun - * @author Pradeep Gore - * @David A. Hanvey - */ -//============================================================================= - - -#ifndef TAO_TLS_BASICLOG_I_H -#define TAO_TLS_BASICLOG_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/Log/log_serv_export.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; - -/** - * @class TAO_BasicLog_i - * - * @brief It allows clients to write, query and delete records from the log. - * - * The class supports the @c destroy> method to destroy the Log. - */ -class TAO_Log_Serv_Export TAO_BasicLog_i : - public TAO_Log_i, - public POA_DsLogAdmin::BasicLog -{ -public: - - /// Constructor. - TAO_BasicLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - DsLogAdmin::LogId id); - - /// Duplicate the log. - virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Duplicate the log specifying an id. - virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Destroy the log object and all contained records. - void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - - /// Destructor. - /** - * Protected destructor to enforce proper memory management through - * reference counting. - */ - ~TAO_BasicLog_i (void); - -private: - - /// POA. - PortableServer::POA_var poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_BASICLOG_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.cpp b/TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.cpp deleted file mode 100644 index 5e005ee70c6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.cpp +++ /dev/null @@ -1,100 +0,0 @@ -#include "orbsvcs/Log/EventLog_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogNotification.h" - -ACE_RCSID (Log, - EventLogConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Event_LogConsumer::TAO_Event_LogConsumer (TAO_EventLog_i *log) -: log_ (log) -{ -} - -TAO_Event_LogConsumer::~TAO_Event_LogConsumer (void) -{ -} - -void -TAO_Event_LogConsumer::connect (CosEventChannelAdmin::ConsumerAdmin_ptr consumer_admin) -{ - // Connect to the event channel. - CosEventComm::PushConsumer_var myself = this->_this (); - this->supplier_proxy_ = consumer_admin->obtain_push_supplier (); - this->supplier_proxy_->connect_push_consumer (myself.in()); -} - -void -TAO_Event_LogConsumer::push (const CORBA::Any& data ACE_ENV_ARG_DECL) -ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventComm::Disconnected - )) -{ - // create a record list... - DsLogAdmin::RecordList recList (1); - recList.length (1); - - recList [0].info = data; - - // @@ The current revision of the specification (formal/03-07-01) - // states: - // - // * When a push operation is invoked and a log is full, then a - // NO_RESOURCE (sic) SystemException is raised with a LOGFULL - // minor code. - // - // * When a push operation is invoked on a log that is off-duty, - // then a NO_RESOURCE (sic) SystemException is raised with a - // LOGOFFDUTY minor code. - // - // * When a push operation is invoked on a log that is locked, then - // a NO_PERMISSIONS (sic) SystemException is raised with a LOGLOCKED - // minor code. - // - // * When a push operation is invoked on a log that is disabled, - // then a TRANSIENT SystemException is raised with a LOGDISABLED - // minor code. - // - // But neither the Telecom Logging or the CORBA specification define - // the values for these minor codes. - // - // I have submitted a defect report to the OMG for clarification. - // --jtc - ACE_TRY - { - // log the RecordList. - this->log_->write_recordlist (recList ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (DsLogAdmin::LogFull, ex) - { - ACE_THROW (CORBA::NO_RESOURCES ()); - } - ACE_CATCH (DsLogAdmin::LogOffDuty, ex) - { - ACE_THROW (CORBA::NO_RESOURCES ()); - } - ACE_CATCH (DsLogAdmin::LogLocked, ex) - { - ACE_THROW (CORBA::NO_PERMISSION ()); - } - ACE_CATCH (DsLogAdmin::LogDisabled, ex) - { - ACE_THROW (CORBA::TRANSIENT ()); - } - ACE_ENDTRY; -} - -void -TAO_Event_LogConsumer::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - this->supplier_proxy_->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.h b/TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.h deleted file mode 100644 index fac7eb9bbb9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogConsumer.h +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- C++ -*- */ - -// ============================================================================ -/** - * @file EventLogConsumer.h - * - * $Id$ - * - * The EventLogConsumer connects to the EventLog and logs the events - * that are pushed to the EventLog. - * - * @author Rob Ruff - * @D A Hanvey - */ -// ============================================================================ - -#ifndef TAO_TLS_EVENTLOGCONSUMER_H -#define TAO_TLS_EVENTLOGCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "orbsvcs/DsEventLogAdminS.h" -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" - -#include "orbsvcs/Log/eventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_EventLog_i; -class TAO_EventLogFactory_i; - -/** - * @class TAO_Event_LogConsumer - * - * @brief An implementation of the PushConsumer interface. - * - * Connects to the EventLog and writes LogRecords to the - * Log when events are 'pushed' to the EventLog which is an - * EventChannel. - */ -class TAO_Event_LogConsumer : public virtual POA_CosEventComm::PushConsumer -{ -public: - - // = Initialization and Termination methods. - - /// Constructor. - TAO_Event_LogConsumer (TAO_EventLog_i *log); - - /// Destructor. - ~TAO_Event_LogConsumer (void); - - /// Connect to EventLog. - void - connect (CosEventChannelAdmin::ConsumerAdmin_ptr consumer_admin); - -private: - - /// Disconnect from EventLog. - void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// This method will call TAO_Log_i::log() to write - /// the event to the Log. - void push (const CORBA::Any& data ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventComm::Disconnected - )); - - /// ProxyPushSupplier used to connect to EventLog. - CosEventChannelAdmin::ProxyPushSupplier_var supplier_proxy_; - - /// The EventLog that this consumer connects to - /// and whose events are to be logged. - TAO_EventLog_i *log_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_EVENTLOGCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp deleted file mode 100644 index 901af607cc1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp +++ /dev/null @@ -1,253 +0,0 @@ -#include "orbsvcs/Log/EventLogFactory_i.h" -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/EventLogNotification.h" -#include "ace/Auto_Ptr.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID (Log, - EventLogFactory_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EventLogFactory_i::TAO_EventLogFactory_i (void) -{ - TAO_CEC_Default_Factory::init_svcs (); - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - PortableServer::POA_var defPOA = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - TAO_CEC_EventChannel_Attributes attr (defPOA.in (), defPOA.in ()); - - ACE_NEW_THROW_EX (impl, - TAO_CEC_EventChannel (attr), - CORBA::NO_MEMORY ()); - ACE_TRY_CHECK; - - impl->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Caught exception in " - "EventLogFactory_i constructor."); - } - ACE_ENDTRY; - ACE_CHECK; -} - -TAO_EventLogFactory_i::~TAO_EventLogFactory_i (void) -{ - // No-Op. -} - -CosEventChannelAdmin::EventChannel_ptr -TAO_EventLogFactory_i::init (PortableServer::POA_ptr /* poa */ - ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (!CORBA::is_nil (this->poa_.in ())); - - CosEventChannelAdmin::EventChannel_var ec_return; - - auto_ptr ec (impl); - - PortableServer::ObjectId_var oid = - this->poa_->activate_object (ec.get () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosEventChannelAdmin::EventChannel::_nil ()); - - ec.release (); - - CORBA::Object_var obj = - this->poa_->id_to_reference (oid.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosEventChannelAdmin::EventChannel::_nil ()); - - ec_return = - CosEventChannelAdmin::EventChannel::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosEventChannelAdmin::EventChannel::_nil ()); - - return ec_return._retn (); -} - -DsEventLogAdmin::EventLogFactory_ptr -TAO_EventLogFactory_i::activate (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) -{ - TAO_LogMgr_i::init (orb, poa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - - this->event_channel_ = init (this->poa_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - this->consumer_admin_ = - this->event_channel_->for_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - ACE_NEW_THROW_EX (this->notifier_, - TAO_EventLogNotification(this->event_channel_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - PortableServer::ObjectId_var oid = - this->factory_poa_->activate_object (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - CORBA::Object_var obj = - this->factory_poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - // narrow and store the result.. - this->log_mgr_ = - DsLogAdmin::LogMgr::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - DsEventLogAdmin::EventLogFactory_var v_return = - DsEventLogAdmin::EventLogFactory::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLogFactory::_nil ()); - - return v_return._retn (); -} - -DsEventLogAdmin::EventLog_ptr -TAO_EventLogFactory_i::create ( - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold)) -{ - this->create_i (full_action, - max_size, - & thresholds, - id_out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); - DsLogAdmin::LogId id = id_out; - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); -#endif - - // narrow to EventLog - DsEventLogAdmin::EventLog_var event_log = - DsEventLogAdmin::EventLog::_narrow (log.in ()); - - // @@ JTC - squelch exception? - notifier_->object_creation (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); - - return event_log._retn(); -} - -DsEventLogAdmin::EventLog_ptr -TAO_EventLogFactory_i::create_with_id ( - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold)) -{ - this->create_with_id_i (id, - full_action, - max_size, - & thresholds - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); -#endif - - // narrow to EventLog - DsEventLogAdmin::EventLog_var event_log = - DsEventLogAdmin::EventLog::_narrow (log.in ()); - - // @@ JTC - squelch exception? - notifier_->object_creation (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsEventLogAdmin::EventLog::_nil ()); - - return event_log._retn (); -} - -CORBA::RepositoryId -TAO_EventLogFactory_i::create_repositoryid () -{ - return CORBA::string_dup("IDL:omg.org/DsEventLogAdmin:EventLog:1.0"); -} - -PortableServer::ServantBase* -TAO_EventLogFactory_i::create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - TAO_EventLog_i* event_log_i; - - ACE_NEW_THROW_EX (event_log_i, - TAO_EventLog_i (this->orb_.in (), - this->poa_.in (), - this->log_poa_.in (), - *this, - this->log_mgr_.in (), - this->notifier_, - id - ), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - event_log_i->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - //dhanvey - //initialise the LogConsumer object - event_log_i->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return event_log_i; -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_EventLogFactory_i::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return consumer_admin_->obtain_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPullSupplier_ptr -TAO_EventLogFactory_i::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - -{ - return consumer_admin_->obtain_pull_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.h b/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.h deleted file mode 100644 index ea8e6e5c63f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogFactory_i.h +++ /dev/null @@ -1,152 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file EventLogFactory_i.h - * - * $Id$ - * - * Implementation of the DsEventLogAdmin::EventLogFactory interface. - * - * - * @author Rob Ruff - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_EVENTLOGFACTORY_I_H -#define TAO_TLS_EVENTLOGFACTORY_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsEventLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogAdminS.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/CosEvent/CEC_Default_Factory.h" -#include "orbsvcs/Log/EventLog_i.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_EventLog_i; -class TAO_EventLogNotification; - -/** - * @class TAO_EventLogFactory_i - * - * @brief The EventLogFactory is a factory that is used to create EventLogs which are event-aware. - */ -class TAO_EventLog_Serv_Export TAO_EventLogFactory_i : - public POA_DsEventLogAdmin::EventLogFactory, - public TAO_LogMgr_i - -{ -public: - - //= Initialization and termination code. - - /// Constructor. - TAO_EventLogFactory_i (void); - - /// Destructor. - ~TAO_EventLogFactory_i (); - - /// Initialise the EventChannel and obtain a - /// pointer to it. - CosEventChannelAdmin::EventChannel_ptr - init (PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /// Activate this servant with the ORB and POA passed in. - DsEventLogAdmin::EventLogFactory_ptr - activate (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /// Used to create an EventLog. - DsEventLogAdmin::EventLog_ptr create ( - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - DsLogAdmin::LogId_out id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold - )); - - /// Same as create (), but allows clients to specify the id. - DsEventLogAdmin::EventLog_ptr create_with_id ( - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold - )); - - // = Implementation of the CosEventChannelAdmin::ConsumerAdmin methods. - CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -protected: - virtual CORBA::RepositoryId - create_repositoryid (); - - virtual PortableServer::ServantBase* - create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// Our object ref. after ation. - DsLogAdmin::LogMgr_var log_mgr_; - - /// The event channel used for log generated events. - TAO_CEC_EventChannel *impl; - - /// The object used for log generated events. - TAO_EventLogNotification* notifier_; - - /// EventChannel used to obtain the ConsumerAdmin. - CosEventChannelAdmin::EventChannel_var event_channel_; - - /// The ConsumerAdmin that the EventLogFactory supports. - CosEventChannelAdmin::ConsumerAdmin_var consumer_admin_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TLS_EVENTLOGFACTORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogNotification.cpp b/TAO/orbsvcs/orbsvcs/Log/EventLogNotification.cpp deleted file mode 100644 index 130274497d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogNotification.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/EventLogNotification.h" -#include "orbsvcs/Time_Utilities.h" -#include "tao/debug.h" - -ACE_RCSID (Log, - EventLogNotification, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EventLogNotification::TAO_EventLogNotification (CosEventChannelAdmin::EventChannel_ptr ec) -: TAO_LogNotification (), event_channel_ (CosEventChannelAdmin::EventChannel::_duplicate (ec)) -{ - obtain_proxy_consumer (); -} - -TAO_EventLogNotification::~TAO_EventLogNotification (void) -{ - // No-Op. -} - -void -TAO_EventLogNotification::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->consumer_->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_EventLogNotification::obtain_proxy_consumer() -{ - CosEventChannelAdmin::SupplierAdmin_var supplier_admin = - event_channel_->for_suppliers (); - - consumer_ = supplier_admin->obtain_push_consumer (); - - CosEventComm::PushSupplier_var supplier = - this->_this (); - - consumer_->connect_push_supplier (supplier.in()); -} - -void -TAO_EventLogNotification::send_notification (const CORBA::Any& any - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - consumer_->push (any ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLogNotification.h b/TAO/orbsvcs/orbsvcs/Log/EventLogNotification.h deleted file mode 100644 index 88306c2eac7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLogNotification.h +++ /dev/null @@ -1,92 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file EventLogNotification.h - * - * $Id$ - * - * Methods to enable log-generated events. - * - * @author D A Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_EVENT_LOG_NOTIFICATION_H -#define TAO_TLS_EVENT_LOG_NOTIFICATION_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosEvent/CEC_ConsumerAdmin.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/DsEventLogAdminS.h" -#include "orbsvcs/CosEvent/CEC_Default_Factory.h" -#include "orbsvcs/CosEventCommS.h" -#include "orbsvcs/Log/eventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_EventLogNotification - * - * @brief Used to forward log generated events to a logging server. - */ -class TAO_EventLog_Serv_Export TAO_EventLogNotification : - public TAO_LogNotification, - public POA_CosEventComm::PushSupplier -{ -public: - - // = Initialization and Termination methods. - - /// Constructor. - TAO_EventLogNotification (CosEventChannelAdmin::EventChannel_ptr); - - /// Destructor. - ~TAO_EventLogNotification (void); - - /// The skeleton methods. - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - // = Helper methods - - /// Used to connect this PushSupplier to the EventChannel - /// that will log these events. - void obtain_proxy_consumer (); - - /// Send the event on the event channel. - virtual void send_notification (const CORBA::Any& any ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - /// The ORB reference. - CORBA::ORB_var orb_; - - /// The event channel we connect to. - CosEventChannelAdmin::EventChannel_var event_channel_; - - /// The ProxyPushConsumer used to connect to the event channel. - CosEventChannelAdmin::ProxyPushConsumer_var consumer_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TLS_EVENT_LOG_NOTIFICATION_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLog_i.cpp b/TAO/orbsvcs/orbsvcs/Log/EventLog_i.cpp deleted file mode 100644 index 6c6853cf891..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLog_i.cpp +++ /dev/null @@ -1,139 +0,0 @@ -#include "orbsvcs/Log/EventLog_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogNotification.h" - -ACE_RCSID (Log, - EventLog_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_EventLog_i::TAO_EventLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableServer::POA_ptr log_poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - TAO_LogNotification *log_notifier, - DsLogAdmin::LogId id) - : TAO_Log_i (orb, logmgr_i, factory, id, log_notifier), - poa_(PortableServer::POA::_duplicate(poa)), - log_poa_(PortableServer::POA::_duplicate(log_poa)) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - // Create an instance of the event channel. - TAO_CEC_EventChannel_Attributes attr (this->poa_.in(), - this->poa_.in()); - - ACE_NEW_THROW_EX (this->event_channel_, - TAO_CEC_EventChannel(attr), - CORBA::NO_MEMORY ()); -} - -TAO_EventLog_i::~TAO_EventLog_i () -{ - this->event_channel_->destroy (); - - delete this->event_channel_; -} - - -DsLogAdmin::Log_ptr -TAO_EventLog_i::copy (DsLogAdmin::LogId &id ACE_ENV_ARG_DECL) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Duplicate the log. - DsEventLogAdmin::EventLogFactory_var eventLogFactory = - DsEventLogAdmin::EventLogFactory::_narrow (factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsEventLogAdmin::EventLog_var log = - eventLogFactory->create (DsLogAdmin::halt, 0, thresholds_, id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - this->copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); - -} - -DsLogAdmin::Log_ptr -TAO_EventLog_i::copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Duplicate the log supplying the log id. - DsEventLogAdmin::EventLogFactory_var eventLogFactory = - DsEventLogAdmin::EventLogFactory::_narrow (factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsEventLogAdmin::EventLog_var log = - eventLogFactory->create_with_id (id, DsLogAdmin::halt, 0, thresholds_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - this->copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); - -} - - -void -TAO_EventLog_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Send event to indicate the log has been deleted. - notifier_->object_deletion (logid_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Remove ourselves from the list of logs. - this->logmgr_i_.remove (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Deregister with POA. - PortableServer::ObjectId_var id = - this->log_poa_->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->log_poa_->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_EventLog_i::activate (ACE_ENV_SINGLE_ARG_DECL) -{ - CosEventChannelAdmin::ConsumerAdmin_var consumer_admin = - this->event_channel_->for_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Create the PushConsumer that will log the events. - this->my_log_consumer_ = new TAO_Event_LogConsumer (this); - ACE_CHECK; - this->my_log_consumer_->connect (consumer_admin.in ()); -} - - -CosEventChannelAdmin::ConsumerAdmin_ptr -TAO_EventLog_i::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->event_channel_->for_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::SupplierAdmin_ptr -TAO_EventLog_i::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->event_channel_->for_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/EventLog_i.h b/TAO/orbsvcs/orbsvcs/Log/EventLog_i.h deleted file mode 100644 index 545591ad31a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/EventLog_i.h +++ /dev/null @@ -1,135 +0,0 @@ -// -*- C++ -*- - -// ============================================================================ -/** - * @file EventLog_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::EventLog interface. - * File also conatins TAO_Event_LogConsumer which is used - * to write events to the Log. - * - * @author Rob Ruff - * @author D A Hanvey - */ -// ============================================================================ - -#ifndef TAO_TLS_EVENTLOG_I_H -#define TAO_TLS_EVENTLOG_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "orbsvcs/DsEventLogAdminS.h" -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/CosEvent/CEC_EventChannel.h" -#include "orbsvcs/Log/EventLogConsumer.h" - -#include "orbsvcs/Log/eventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_EventLog_i; -class TAO_EventLogFactory_i; - -/** - * @class TAO_EventLog_i - * - * @brief The EventLog is an EventChannel and a Log. - * - * It is used to log events that pass through the EventChannel. - * The class supports the @c destroy> method to destroy the Log. - */ -class TAO_EventLog_i : - public TAO_Log_i, - public POA_DsEventLogAdmin::EventLog -{ -public: - - // = Initialization and Termination. - - /// Constructor. - TAO_EventLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableServer::POA_ptr log_poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - TAO_LogNotification *log_notifier, - DsLogAdmin::LogId id); - - /// Duplicate the log. - virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Duplicate the log specifying an id. - virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Destroy the log object and all contained records. - void - destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Activate the EventLog. - void - activate (ACE_ENV_SINGLE_ARG_DECL); - - // = The CosEventChannelAdmin::EventChannel interface methods. - 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 - )); - -protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management through - * reference counting. - */ - ~TAO_EventLog_i (); - -private: - - /// The Event Channel that the log uses. - TAO_CEC_EventChannel *event_channel_; - - /// The PushConsumer that consumes the events and stores them - /// in the log. - TAO_Event_LogConsumer *my_log_consumer_; - - PortableServer::POA_var poa_; - - PortableServer::POA_var log_poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_EVENTLOG_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp b/TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp deleted file mode 100644 index 233143bb12f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp +++ /dev/null @@ -1,110 +0,0 @@ -#include "orbsvcs/Log/Hash_Iterator_i.h" -#include "orbsvcs/Log/Log_Constraint_Interpreter.h" -#include "orbsvcs/Log/Log_Constraint_Visitors.h" -#include "orbsvcs/DsLogAdminC.h" - -ACE_RCSID (Log, - Hash_Iterator_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Hash_Iterator_i::TAO_Hash_Iterator_i ( - ACE_Reactor* reactor, - TAO_Hash_LogRecordStore* recordstore, - TAO_Hash_LogRecordStore::LOG_RECORD_STORE_ITER iter, - TAO_Hash_LogRecordStore::LOG_RECORD_STORE_ITER iter_end, - CORBA::ULong start, - const char *constraint, - CORBA::ULong max_rec_list_len) - : TAO_Iterator_i(reactor), - recordstore_ (recordstore), - iter_ (iter), - iter_end_ (iter_end), - current_position_(start), - constraint_ (constraint), - max_rec_list_len_ (max_rec_list_len) -{ -} - - -TAO_Hash_Iterator_i::~TAO_Hash_Iterator_i (void) -{ -} - - -DsLogAdmin::RecordList* -TAO_Hash_Iterator_i::get (CORBA::ULong position, - CORBA::ULong how_many - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidParam)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - if (position < current_position_) - { - ACE_THROW_RETURN (DsLogAdmin::InvalidParam (), 0); - } - - if (how_many == 0) - { - how_many = this->max_rec_list_len_; - } - - // Use an Interpreter to build an expression tree. - TAO_Log_Constraint_Interpreter interpreter (constraint_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Sequentially iterate over all the records and pick the ones that - // meet the constraints. - - // Allocate the list of length. - DsLogAdmin::RecordList* rec_list; - ACE_NEW_THROW_EX (rec_list, - DsLogAdmin::RecordList (how_many), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - rec_list->length (how_many); - - CORBA::ULong count = 0; - CORBA::ULong current_position = this->current_position_; - - for ( ; - ((this->iter_ != this->iter_end_) && (count < how_many)); - ++this->iter_) - { - // Use an evaluator. - TAO_Log_Constraint_Visitor visitor (this->iter_->item ()); - - // Does it match the constraint? - if (interpreter.evaluate (visitor) == 1) - { - if (++current_position >= position) - { - (*rec_list)[count] = this->iter_->item (); - // copy the log record. - count++; - } - } - } - - rec_list->length (count); - this->current_position_ = current_position; - - if (count == 0 && this->iter_ == this->iter_end_) - { - // destroy this object.. - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (rec_list); - } - - return rec_list; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.h b/TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.h deleted file mode 100644 index 375735a43ce..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_Iterator_i.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Hash_Iterator_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::Iterator interface. - * - * @author Matthew Braun - * @author Pradeep Gore - */ -//============================================================================= - -#ifndef TAO_TLS_HASH_ITERATOR_H -#define TAO_TLS_HASH_ITERATOR_H -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/Iterator_i.h" -#include "orbsvcs/Log/Hash_LogRecordStore.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Hash_Iterator_i - * - * @brief Iterator to get LogRecords for the log via a query. - */ -class TAO_Log_Serv_Export TAO_Hash_Iterator_i - : public TAO_Iterator_i -{ -public: - - // = Initialization and Termination methods. - - /// Constructor. - TAO_Hash_Iterator_i (ACE_Reactor* reactor, - TAO_Hash_LogRecordStore* recordstore, - TAO_Hash_LogRecordStore::LOG_RECORD_STORE_ITER iter, - TAO_Hash_LogRecordStore::LOG_RECORD_STORE_ITER iter_end, - CORBA::ULong start, - const char *constraint, - CORBA::ULong max_rec_list_len); - - /// Destructor. - virtual ~TAO_Hash_Iterator_i (void); - - /// Gets a list of LogRecords. - virtual DsLogAdmin::RecordList* get (CORBA::ULong position, - CORBA::ULong how_many - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidParam)); - -private: - /// Pointer to record store - TAO_Hash_LogRecordStore* recordstore_; - - /// Current Iterator. - TAO_Hash_LogRecordStore::LOG_RECORD_STORE_ITER iter_; - - /// End Iterator. - TAO_Hash_LogRecordStore::LOG_RECORD_STORE_ITER iter_end_; - - /// Position. - CORBA::ULong current_position_; - - /// Constraint. - CORBA::String_var constraint_; - - /// Max rec list length. - CORBA::ULong max_rec_list_len_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_HASH_ITERATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp b/TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp deleted file mode 100644 index 3ae2885472f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp +++ /dev/null @@ -1,832 +0,0 @@ -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/Hash_LogRecordStore.h" -#include "orbsvcs/Log/Hash_Iterator_i.h" -#include "orbsvcs/Log/Log_Constraint_Interpreter.h" -#include "orbsvcs/Log/Log_Constraint_Visitors.h" -#include "orbsvcs/Time_Utilities.h" -#include "tao/Utils/PolicyList_Destroyer.h" -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "ace/OS_NS_sys_time.h" - -ACE_RCSID (Log, - Hash_LogRecordStore, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Hash_LogRecordStore::TAO_Hash_LogRecordStore ( - TAO_LogMgr_i* logmgr_i, - DsLogAdmin::LogId logid, - DsLogAdmin::LogFullActionType log_full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds) - : logmgr_i_ (logmgr_i), - maxid_ (0), - max_size_ (max_size), - id_ (logid), - current_size_ (0), - num_records_ (0), - gauge_ (0), - max_rec_list_len_ (LOG_DEFAULT_MAX_REC_LIST_LEN), - admin_state_ (DsLogAdmin::unlocked), - forward_state_ (DsLogAdmin::on), - log_full_action_ (log_full_action), - max_record_life_ (0), - reactor_ (logmgr_i_->orb()->orb_core ()->reactor ()) -{ - interval_.start = 0; - interval_.stop = 0; - - if (thresholds) - { - this->thresholds_ = *thresholds; - } - else - { - this->thresholds_.length(1); - this->thresholds_[0] = 100; - } - - this->log_qos_.length(1); - this->log_qos_[0] = DsLogAdmin::QoSNone; - - PortableServer::POA_ptr log_poa = - logmgr_i_->log_poa(); - - // Create POA for iterators - TAO::Utils::PolicyList_Destroyer policies (2); - policies.length (2); - - policies[0] = - log_poa->create_lifespan_policy (PortableServer::TRANSIENT); - policies[1] = - log_poa->create_id_assignment_policy (PortableServer::SYSTEM_ID); - - char buf[32]; - ACE_OS::snprintf (buf, sizeof (buf), "Log%d", (int) id_); - - PortableServer::POAManager_var poa_manager = - log_poa->the_POAManager (); - - this->iterator_poa_ = - log_poa->create_POA(buf, PortableServer::POAManager::_nil(), policies); -} - -TAO_Hash_LogRecordStore::~TAO_Hash_LogRecordStore (void) -{ - ACE_DEBUG((LM_DEBUG, "TAO_Hash_LogRecordStore::~TAO_Hash_LogRecordStore ()\n")); - this->iterator_poa_->destroy (1, 0); - ACE_DEBUG((LM_DEBUG, "TAO_Hash_LogRecordStore::~TAO_Hash_LogRecordStore ()\n")); -} - -int -TAO_Hash_LogRecordStore::open (void) -{ - return rec_map_.open (); -} - -int -TAO_Hash_LogRecordStore::close (void) -{ - // Close the hash - return rec_map_.close (); -} - -CORBA::ULongLong -TAO_Hash_LogRecordStore::get_current_size (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->current_size_; -} - -CORBA::ULongLong -TAO_Hash_LogRecordStore::get_n_records (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->num_records_; -} - -CORBA::ULongLong -TAO_Hash_LogRecordStore::get_gauge (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->gauge_; -} - -void -TAO_Hash_LogRecordStore::reset_gauge (ACE_ENV_SINGLE_ARG_DECL) -{ - this->gauge_ = 0; -} - -int -TAO_Hash_LogRecordStore::log (const DsLogAdmin::LogRecord &const_rec - ACE_ENV_ARG_DECL) -{ - // Get log record size... - size_t record_size = log_record_size (const_rec); - - // Check if we are allowed to write... - if (max_size_ !=0 && ((current_size_ + record_size) >= max_size_)) - return 1; // return code for log rec. full - - // Copy record... - DsLogAdmin::LogRecord rec = const_rec; - - // Initialize a couple of fields first... - // ACE emulation of U Long Long (for platforms that don't have one) - // does not define postfix operators - rec.id = ++maxid_; - - ORBSVCS_Time::Time_Value_to_TimeT(rec.time,ACE_OS::gettimeofday()); - - // First, bind the id to the LogRecord in the hash_map - if (this->rec_map_.bind (rec.id, rec) != 0) - { -#if defined (ACE_LACKS_LONGLONG_T) - ACE_ERROR_RETURN ((LM_ERROR, - "LogRecordStore (%P|%t):Failed to bind %d in the hash map\n", - ACE_U64_TO_U32(rec.id)), - -1); -#else - ACE_ERROR_RETURN ((LM_ERROR, - "LogRecordStore (%P|%t):Failed to bind %Q in the hash map\n", - rec.id), - -1); -#endif - } - - // Increment the number of records in the log - ++this->num_records_; - this->current_size_ += record_size; - this->gauge_ += record_size; - - return 0; -} - -int -TAO_Hash_LogRecordStore::retrieve_i (DsLogAdmin::RecordId id, - DsLogAdmin::LogRecord &rec - ACE_ENV_ARG_DECL) -{ - int retval = rec_map_.find (id, rec); - return retval; -} - -int -TAO_Hash_LogRecordStore::update_i (DsLogAdmin::LogRecord &rec - ACE_ENV_ARG_DECL) -{ - DsLogAdmin::LogRecord oldrec; - - if (rec_map_.unbind (rec.id, oldrec) != 0) - { - return -1; - } - - --this->num_records_; - this->current_size_ -= log_record_size(oldrec); - - if (rec_map_.bind (rec.id, rec) != 0) - { - return -1; - } - - ++this->num_records_; - this->current_size_ += log_record_size(rec); - - return 0; -} - -int -TAO_Hash_LogRecordStore::remove_i (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL) -{ - DsLogAdmin::LogRecord rec; - if (rec_map_.unbind (id, rec) != 0) - { - return -1; - } - - --this->num_records_; - this->current_size_ -= log_record_size(rec); - - return 0; -} - -void -TAO_Hash_LogRecordStore::remove_i (LOG_RECORD_STORE_ITER iter - ACE_ENV_ARG_DECL) -{ - size_t size = log_record_size(iter->item ()); - - rec_map_.unbind(&*iter); - - --this->num_records_; - this->current_size_ -= size; -} - -int -TAO_Hash_LogRecordStore::purge_old_records (ACE_ENV_SINGLE_ARG_DECL) -{ - CORBA::ULongLong num_records_to_purge = this->num_records_ * 5U / 100U; - - if (num_records_to_purge < 1) - num_records_to_purge = 1; - - CORBA::ULong count = 0; // count of matches found. - - if (num_records_to_purge > 0 ) - { - // Create iterators - LOG_RECORD_STORE_ITER iter (rec_map_.begin ()); - LOG_RECORD_STORE_ITER iter_end (rec_map_.end ()); - - for (CORBA::ULongLong i = 0; - iter != iter_end && i < num_records_to_purge; - ++i) - { - this->remove_i (iter++); - count++; - } - } - - return count; -} - -void -TAO_Hash_LogRecordStore::set_record_attribute (DsLogAdmin::RecordId id, - const DsLogAdmin::NVList - &attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId, - DsLogAdmin::InvalidAttribute)) -{ - // TODO: validate attributes here. - - DsLogAdmin::LogRecord rec; - if (this->retrieve_i (id, rec ACE_ENV_ARG_PARAMETER) == -1) - { - ACE_THROW (DsLogAdmin::InvalidRecordId ()); - } - - rec.attr_list = attr_list; - - if (this->update_i (rec ACE_ENV_ARG_PARAMETER) == -1) - { - ACE_THROW (CORBA::PERSIST_STORE ()); - } -} - -CORBA::ULong -TAO_Hash_LogRecordStore::set_records_attribute ( - const char *grammar, - const char *constraint, - const DsLogAdmin::NVList - &attr_list ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint, - DsLogAdmin::InvalidAttribute)) -{ - this->check_grammar (grammar ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // TODO: validate attributes here. - - // Use an Interpreter to build an expression tree. - TAO_Log_Constraint_Interpreter interpreter (constraint - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Create iterators - LOG_RECORD_STORE_ITER iter (rec_map_.begin ()); - LOG_RECORD_STORE_ITER iter_end (rec_map_.end ()); - - CORBA::ULong count = 0; // count of matches found. - - for ( ; iter != iter_end; ++iter) - { - // Use an evaluator. - TAO_Log_Constraint_Visitor evaluator (iter->item ()); - - // Does it match the constraint? - if (interpreter.evaluate (evaluator) == 1) - { - set_record_attribute (iter->item ().id, attr_list); - ++count; - } - } - - return count; -} - -DsLogAdmin::NVList* -TAO_Hash_LogRecordStore::get_record_attribute (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId)) -{ - DsLogAdmin::LogRecord rec; - - int retval = this->retrieve_i (id, rec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (retval == -1) - { - ACE_THROW_RETURN (DsLogAdmin::InvalidRecordId (), - 0); - } - - DsLogAdmin::NVList* nvlist = 0; - ACE_NEW_THROW_EX (nvlist, - DsLogAdmin::NVList (rec.attr_list), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return nvlist; -} - - -int -TAO_Hash_LogRecordStore::flush (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return 0; -} - -size_t -TAO_Hash_LogRecordStore::log_record_size (const DsLogAdmin::LogRecord &rec) -{ - size_t mb_size = 0; - TAO::Any_Impl *impl = rec.info.impl (); - - if (impl->encoded ()) - { - TAO::Unknown_IDL_Type *unk = - dynamic_cast (impl); - - mb_size = unk->_tao_get_cdr ().start ()->length (); - } - else - { - // If the Any is not encoded, it just has a stored value - // instead of a CDR stream, not sure what info would be - // useful here. - } - - return sizeof (rec) + mb_size; -} - -DsLogAdmin::RecordList* -TAO_Hash_LogRecordStore::query_i (const char *constraint, - DsLogAdmin::Iterator_out &iter_out, - CORBA::ULong how_many - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidConstraint)) -{ - // Use an Interpreter to build an expression tree. - TAO_Log_Constraint_Interpreter interpreter (constraint - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Sequentially iterate over all the records and pick the ones that - // meet the constraints. - - // Allocate the list of length. - DsLogAdmin::RecordList* rec_list; - ACE_NEW_THROW_EX (rec_list, - DsLogAdmin::RecordList (how_many), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - rec_list->length(how_many); - - // Create iterators - LOG_RECORD_STORE_ITER iter (rec_map_.begin ()); - LOG_RECORD_STORE_ITER iter_end (rec_map_.end ()); - - CORBA::ULong count = 0; // count of matches found. - - for ( ; ((iter != iter_end) && (count < how_many)); ++iter) - { - // Use an evaluator. - TAO_Log_Constraint_Visitor evaluator (iter->item ()); - - // Does it match the constraint? - if (interpreter.evaluate (evaluator) == 1) - { - if (TAO_debug_level > 0) - { -#if defined (ACE_LACKS_LONGLONG_T) - ACE_DEBUG ((LM_DEBUG,"Matched constraint! d = %d, Time = %d\n", - ACE_U64_TO_U32 (iter->item ().id), - ACE_U64_TO_U32 (iter->item ().time))); - -#else - ACE_DEBUG ((LM_DEBUG,"Matched constraint! d = %Q, Time = %Q\n", - iter->item ().id, - iter->item ().time)); -#endif - } - - (*rec_list)[count] = iter->item (); - // copy the log record. - count++; - } - } - - rec_list->length (count); - - if (iter != iter_end) // There are more records to process. - { - // Create an iterator to pass out. - TAO_Hash_Iterator_i *iter_query = 0; - ACE_NEW_THROW_EX (iter_query, - TAO_Hash_Iterator_i (this->reactor_, - this, - iter, - iter_end, - count, - constraint, - this->max_rec_list_len_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (rec_list); - - // Transfer ownership to the POA. - PortableServer::ServantBase_var safe_iter_query = iter_query; - - // Activate it. - PortableServer::ObjectId_var oid = - this->iterator_poa_->activate_object (iter_query); - CORBA::Object_var obj = - this->iterator_poa_->id_to_reference (oid); - - // Narrow it - iter_out = DsLogAdmin::Iterator::_narrow (obj.in ()); - } - - return rec_list; -} - -DsLogAdmin::RecordList* -TAO_Hash_LogRecordStore::query (const char *grammar, - const char *constraint, - DsLogAdmin::Iterator_out iter_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) -{ - this->check_grammar (grammar ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->query_i (constraint, - iter_out, - this->max_rec_list_len_ - ACE_ENV_ARG_PARAMETER); -} - -DsLogAdmin::RecordList* -TAO_Hash_LogRecordStore::retrieve (DsLogAdmin::TimeT from_time, - CORBA::Long how_many, - DsLogAdmin::Iterator_out iter_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Decide between forward vs backward retrieval. - char constraint[32]; - char uint64_formating[32]; - -#if defined (ACE_LACKS_LONGLONG_T) - ACE_OS::sprintf (uint64_formating, - "%u", - ACE_U64_TO_U32 (from_time)); -#else - ACE_OS::sprintf (uint64_formating, - ACE_UINT64_FORMAT_SPECIFIER, - from_time); -#endif - - if (how_many >= 0) - ACE_OS::sprintf (constraint, "time >= %s", uint64_formating); - else - { - ACE_OS::sprintf (constraint, "time < %s", uint64_formating); - how_many = -(how_many); - } - - return this->query_i (constraint, - iter_out, - how_many - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ULong -TAO_Hash_LogRecordStore::match (const char* grammar, - const char *constraint - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) -{ - this->check_grammar (grammar ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Use an Interpreter to build an expression tree. - TAO_Log_Constraint_Interpreter interpreter (constraint - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Create iterators - LOG_RECORD_STORE_ITER iter (rec_map_.begin ()); - LOG_RECORD_STORE_ITER iter_end (rec_map_.end ()); - - CORBA::ULong count = 0; // count of matches found. - - for ( ; iter != iter_end; ++iter) - { - // Use an evaluator. - TAO_Log_Constraint_Visitor evaluator (iter->item ()); - - // Does it match the constraint? - if (interpreter.evaluate (evaluator) == 1) - { - count++; - } - } - - return count; -} - -CORBA::ULong -TAO_Hash_LogRecordStore::delete_records (const char *grammar, - const char *constraint - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) -{ - this->check_grammar (grammar ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Use an Interpreter to build an expression tree. - TAO_Log_Constraint_Interpreter interpreter (constraint - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Create iterators - LOG_RECORD_STORE_ITER iter (rec_map_.begin ()); - LOG_RECORD_STORE_ITER iter_end (rec_map_.end ()); - - CORBA::ULong count = 0; // count of matches found. - - while (iter != iter_end) - { - // Use an evaluator. - TAO_Log_Constraint_Visitor evaluator (iter->item ()); - - // Does it match the constraint? - if (interpreter.evaluate (evaluator) == 1) - { - this->remove_i (iter++); - count++; - } - else - { - ++iter; - } - } - - return count; -} - -CORBA::ULong -TAO_Hash_LogRecordStore::delete_records_by_id (const DsLogAdmin::RecordIdList &ids - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::ULong count (0); - - for (CORBA::ULong i = 0; i < ids.length (); i++) - { - if (this->remove_i (ids [i]) == 0) - { - count++; - } - } - - return count; -} - -CORBA::ULong -TAO_Hash_LogRecordStore::remove_old_records (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->max_record_life_ == 0) { - return 0; - } - - TimeBase::TimeT purge_time; - ORBSVCS_Time::Time_Value_to_TimeT (purge_time, - (ACE_OS::gettimeofday() - ACE_Time_Value(this->max_record_life_))); - - CORBA::ULongLong p_time = (CORBA::ULongLong) purge_time; - - static char out[256] = ""; - - double temp1 = - static_cast (ACE_UINT64_DBLCAST_ADAPTER (p_time)); - - ACE_OS::sprintf (out, "time < %.0f", temp1); - - // Use an Interpreter to build an expression tree. - TAO_Log_Constraint_Interpreter interpreter (out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Create iterators - LOG_RECORD_STORE_ITER iter (rec_map_.begin ()); - LOG_RECORD_STORE_ITER iter_end (rec_map_.end ()); - - CORBA::ULong count = 0; // count of matches found. - - while (iter != iter_end) - { - // Use an evaluator. - TAO_Log_Constraint_Visitor evaluator (iter->item ()); - - // Does it match the constraint? - if (interpreter.evaluate (evaluator) == 1) - { - this->remove_i (iter++); - count++; - } - else - { - ++iter; - } - } - - return count; -} - -ACE_SYNCH_RW_MUTEX& -TAO_Hash_LogRecordStore::lock() -{ - return lock_; -} - - -void -TAO_Hash_LogRecordStore::check_grammar (const char* grammar - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar)) -{ - // Verify grammar - if (ACE_OS::strcmp (grammar, "TCL") != 0 && - ACE_OS::strcmp (grammar, "ETCL") != 0 && - ACE_OS::strcmp (grammar, "EXTENDED_TCL") != 0) - ACE_THROW (DsLogAdmin::InvalidGrammar ()); -} - - -DsLogAdmin::AdministrativeState -TAO_Hash_LogRecordStore::get_administrative_state (ACE_ENV_SINGLE_ARG_DECL) const -{ - return this->admin_state_; -} - -void -TAO_Hash_LogRecordStore::set_administrative_state (DsLogAdmin::AdministrativeState state - ACE_ENV_ARG_DECL) -{ - this->admin_state_ = state; -} - - -DsLogAdmin::CapacityAlarmThresholdList* -TAO_Hash_LogRecordStore::get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_DECL) const -{ - DsLogAdmin::CapacityAlarmThresholdList* ret_val; - ACE_NEW_THROW_EX (ret_val, - DsLogAdmin::CapacityAlarmThresholdList (this->thresholds_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return ret_val; -} - -void -TAO_Hash_LogRecordStore::set_capacity_alarm_thresholds (const DsLogAdmin::CapacityAlarmThresholdList& thresholds - ACE_ENV_ARG_DECL) -{ - this->thresholds_ = thresholds; -} - - - -DsLogAdmin::ForwardingState -TAO_Hash_LogRecordStore::get_forwarding_state (ACE_ENV_SINGLE_ARG_DECL) const -{ - return this->forward_state_; -} - -void -TAO_Hash_LogRecordStore::set_forwarding_state (DsLogAdmin::ForwardingState state - ACE_ENV_ARG_DECL) -{ - this->forward_state_ = state; -} - -DsLogAdmin::TimeInterval -TAO_Hash_LogRecordStore::get_interval (ACE_ENV_SINGLE_ARG_DECL) const -{ - return this->interval_; -} - -void -TAO_Hash_LogRecordStore::set_interval (const DsLogAdmin::TimeInterval &interval - ACE_ENV_ARG_DECL) -{ - this->interval_ = interval; -} - - -DsLogAdmin::LogFullActionType -TAO_Hash_LogRecordStore::get_log_full_action (ACE_ENV_SINGLE_ARG_DECL) const -{ - return this->log_full_action_; -} - -void -TAO_Hash_LogRecordStore::set_log_full_action (DsLogAdmin::LogFullActionType action - ACE_ENV_ARG_DECL) -{ - this->log_full_action_ = action; -} - -DsLogAdmin::QoSList * -TAO_Hash_LogRecordStore::get_log_qos (ACE_ENV_SINGLE_ARG_DECL) const -{ - DsLogAdmin::QoSList* ret_val; - ACE_NEW_THROW_EX (ret_val, - DsLogAdmin::QoSList (this->log_qos_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return ret_val; -} - -void -TAO_Hash_LogRecordStore::set_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL) -{ - this->log_qos_ = qos; -} - -CORBA::ULong -TAO_Hash_LogRecordStore::get_max_record_life (ACE_ENV_SINGLE_ARG_DECL) const -{ - return this->max_record_life_; -} - -void -TAO_Hash_LogRecordStore::set_max_record_life (CORBA::ULong max_record_life - ACE_ENV_ARG_DECL) -{ - this->max_record_life_ = max_record_life; -} - -CORBA::ULongLong -TAO_Hash_LogRecordStore::get_max_size (ACE_ENV_SINGLE_ARG_DECL) const -{ - return this->max_size_; -} - -void -TAO_Hash_LogRecordStore::set_max_size (CORBA::ULongLong size - ACE_ENV_ARG_DECL) -{ - this->max_size_ = size; -} - -DsLogAdmin::WeekMask* -TAO_Hash_LogRecordStore::get_week_mask (ACE_ENV_SINGLE_ARG_DECL) -{ - DsLogAdmin::WeekMask* ret_val; - ACE_NEW_THROW_EX (ret_val, - DsLogAdmin::WeekMask (this->weekmask_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return ret_val; -} - -void -TAO_Hash_LogRecordStore::set_week_mask (const DsLogAdmin::WeekMask &masks - ACE_ENV_ARG_DECL) -{ - this->weekmask_ = masks; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h b/TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h deleted file mode 100644 index d4518fd3825..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h +++ /dev/null @@ -1,399 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Hash_LogRecordStore.h - * - * $Id$ - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_HASH_LOG_RECORD_STORE_H -#define TAO_HASH_LOG_RECORD_STORE_H - -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/LogRecordStore.h" -#include "ace/Containers.h" -#include "ace/RB_Tree.h" -#include "ace/Synch_Traits.h" -#include "ace/Null_Mutex.h" -#include "ace/RW_Thread_Mutex.h" -#include "ace/Reactor.h" -#include "tao/PortableServer/PortableServer.h" -#include "orbsvcs/Log/log_serv_export.h" - -#define LOG_DEFAULT_MAX_REC_LIST_LEN 100 - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; - -/** - * @class TAO_Hash_LogRecordStore - * - * @brief A concrete container class for storing DsLogAdmin::LogRecords - * - * This implementation uses an ACE_RB_Tree to store LogRecords. - * Permits fast searches by id and iteration, while allowing for - * ring-buffer like wrapping of entries. - * - * @note The name of this class is somewhat misleading, as it no - * longer uses a ACE_Hash_Map. - * - * @note LogRecords should be indexed by both id and timestamp. - * However, timestamps are not unique keys and there are no ACE - * multimap containers. - * - * @todo If ACE_RB_Tree supported an insertion "hint" like std::map, - * log insertion would be O(1) instead of O(lgN). This could be an - * issue for large log channels. - */ -class TAO_Log_Serv_Export TAO_Hash_LogRecordStore - : public TAO_LogRecordStore -{ - public: - - // = Initialization and termination methods - - /// Constructor. - TAO_Hash_LogRecordStore (TAO_LogMgr_i* logmgr, - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType log_full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds - ); - - /// Destructor. - virtual ~TAO_Hash_LogRecordStore (void); - - /// Initialization. - virtual int open (void); - - /// Close the record store. - virtual int close (void); - - - // = Log Parameters - - /// Gets the administrative state of the log - virtual DsLogAdmin::AdministrativeState - get_administrative_state (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Sets the administrative state of the log - virtual void - set_administrative_state (DsLogAdmin::AdministrativeState - ACE_ENV_ARG_DECL); - - /// Get the capacity alarm thresholds - virtual DsLogAdmin::CapacityAlarmThresholdList* - get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Set the capacity alarm thresholds - virtual void - set_capacity_alarm_thresholds (const DsLogAdmin::CapacityAlarmThresholdList& thresholds - ACE_ENV_ARG_DECL); - - /// Gets the forwarding state - virtual DsLogAdmin::ForwardingState - get_forwarding_state (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Sets the forwarding state - virtual void - set_forwarding_state (DsLogAdmin::ForwardingState state - ACE_ENV_ARG_DECL); - - /// Get the log duration - virtual DsLogAdmin::TimeInterval - get_interval (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Set the log duration. - virtual void - set_interval (const DsLogAdmin::TimeInterval & interval - ACE_ENV_ARG_DECL); - - /// Gets the log full action - virtual DsLogAdmin::LogFullActionType - get_log_full_action (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Sets the log full action - virtual void - set_log_full_action(DsLogAdmin::LogFullActionType action - ACE_ENV_ARG_DECL); - - /// Get the list of the QoS properties supported by the log. - virtual DsLogAdmin::QoSList* - get_log_qos (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Set the list of the QoS properties supported by the log. - virtual void - set_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL); - - /// Gets the max record life - virtual CORBA::ULong - get_max_record_life (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Sets the max record life - virtual void - set_max_record_life (CORBA::ULong life - ACE_ENV_ARG_DECL); - - /// Get the current set value of the max size of the log data. - virtual CORBA::ULongLong - get_max_size (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Set the max size of log data. size == 0, => infinite. - virtual void - set_max_size (CORBA::ULongLong size - ACE_ENV_ARG_DECL); - - /// Get the weekly scheduling parameters - virtual DsLogAdmin::WeekMask* - get_week_mask (ACE_ENV_SINGLE_ARG_DECL); - - /// Set the weekly scheduling parameters. - virtual void - set_week_mask (const DsLogAdmin::WeekMask & masks - ACE_ENV_ARG_DECL); - - - // = LogRecordStore status methods - - /// Gets the current size of the log data. - virtual CORBA::ULongLong - get_current_size (ACE_ENV_SINGLE_ARG_DECL); - - /// Get the number of records in the log right now. - virtual CORBA::ULongLong - get_n_records (ACE_ENV_SINGLE_ARG_DECL); - - - // = LogRecordStore gauge - - /// Gets the current value of the "gauge" that measures the total - /// size of the records written to the log. - virtual CORBA::ULongLong - get_gauge(ACE_ENV_SINGLE_ARG_DECL); - - /// Resets the "gauge" to 0 - virtual void - reset_gauge(ACE_ENV_SINGLE_ARG_DECL); - - - // = Record logging, retrieval, update and removal methods. - - /// Insert rec into storage. Returns 0 on success -1 on failure and 1 - /// if the log is full. - virtual int - log (const DsLogAdmin::LogRecord &rec ACE_ENV_ARG_DECL); - - /// Deletes "old" records from the store. - virtual int - purge_old_records (ACE_ENV_SINGLE_ARG_DECL); - - /// Set single record attributes. - virtual void - set_record_attribute (DsLogAdmin::RecordId id, - const DsLogAdmin::NVList & attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId, - DsLogAdmin::InvalidAttribute)); - - /// Set the attributes of all records that matches the - /// constraints with same attr_list. - virtual CORBA::ULong - set_records_attribute (const char * grammar, - const char * c, - const DsLogAdmin::NVList & attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint, - DsLogAdmin::InvalidAttribute)); - - /// Get the attributes of the record with id . Raises - /// DsLogAdmin::InvalidRecordId - virtual DsLogAdmin::NVList* - get_record_attribute (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId)); - - /// Ensure changes have been flushed to persistent media - /// Returns 0 on success, -1 on failure. - virtual int - flush (ACE_ENV_SINGLE_ARG_DECL); - - /// Returns all records in the log that match the given constraint - /// . - virtual DsLogAdmin::RecordList* - query (const char * grammar, - const char * c, - DsLogAdmin::Iterator_out i - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)); - - /// Retrieve records from time using iterator - /// . - virtual DsLogAdmin::RecordList* - retrieve (DsLogAdmin::TimeT from_time, - CORBA::Long how_many, - DsLogAdmin::Iterator_out i - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Returns the number of records matching constraint . - virtual CORBA::ULong - match (const char * grammar, - const char * c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)); - - /// Delete records matching constraint . - virtual CORBA::ULong - delete_records (const char * grammar, - const char * c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)); - - /// Delete records matching ids in - virtual CORBA::ULong - delete_records_by_id (const DsLogAdmin::RecordIdList & ids - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ULong - remove_old_records (ACE_ENV_SINGLE_ARG_DECL); - - /// Read-Write Lock - virtual ACE_SYNCH_RW_MUTEX& lock(); - -/* protected: */ - /// Defines types to represent the container that maps RecordIds to - /// LogRecords. - typedef ACE_RB_Tree , - ACE_Null_Mutex> LOG_RECORD_STORE; - typedef LOG_RECORD_STORE::ITERATOR LOG_RECORD_STORE_ITER; - typedef LOG_RECORD_STORE::ENTRY LOG_RECORD_STORE_ENTRY; - -protected: - /// Set rec to the pointer to the LogRecord with the given - /// id. Returns 0 on success, -1 on failure. - int retrieve_i (DsLogAdmin::RecordId id, - DsLogAdmin::LogRecord &rec - ACE_ENV_ARG_DECL); - - /// Update into storage. Returns 0 on success -1 on failure. - int update_i (DsLogAdmin::LogRecord &rec - ACE_ENV_ARG_DECL); - - /// Remove the record with id from the LogRecordStore. - /// Returns 0 on success, -1 on failure. - int remove_i (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL); - - /// Remove the record from the LogRecordStore. - void remove_i (LOG_RECORD_STORE_ITER iter - ACE_ENV_ARG_DECL); - - DsLogAdmin::RecordList* query_i (const char *constraint, - DsLogAdmin::Iterator_out &iter_out, - CORBA::ULong how_many - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidConstraint)); - - /// Throws DsLogAdmin::InvalidGrammar if we don't support this grammar. - void check_grammar (const char* grammar ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar)); - - - /// The size of a LogRecord - size_t log_record_size(const DsLogAdmin::LogRecord &rec); - - TAO_LogMgr_i* logmgr_i_; - - /// Assigned to a new RecordId and then incremented - /// @@ Should I have a list of reclaimed id's for when records are - /// deleted? - DsLogAdmin::RecordId maxid_; - - /// The maximum size of the log. - CORBA::ULongLong max_size_; - - /// The log id to which this LogRecordStore relates. - DsLogAdmin::LogId id_; - - /// The current size (in bytes) of the log. - CORBA::ULongLong current_size_; - - /// The current number of records in the log. - CORBA::ULongLong num_records_; - - /// The current value of the "gauge" that measures the total size of - /// the records written to the log. - CORBA::ULongLong gauge_; - - /// The max size of the record list returned in a query. - CORBA::ULong max_rec_list_len_; - - /// The map of RecordId's to LogRecord's - LOG_RECORD_STORE rec_map_; - - - /// The administrative state of the log - DsLogAdmin::AdministrativeState admin_state_; - - DsLogAdmin::CapacityAlarmThresholdList - thresholds_; - - /// The forwarding state of the log - DsLogAdmin::ForwardingState forward_state_; - - /// The interval during which the log should be in operation - DsLogAdmin::TimeInterval interval_; - - /// The action to take if the log reaches max capacity - DsLogAdmin::LogFullActionType log_full_action_; - - /// The list of the QoS properties supported by the log. - DsLogAdmin::QoSList log_qos_; - - /// The maximum record lifetime - CORBA::ULong max_record_life_; - - /// The days of the week that the log should be operational - DsLogAdmin::WeekMask weekmask_; - - - ACE_Reactor* reactor_; - - PortableServer::POA_var iterator_poa_; - - mutable ACE_SYNCH_RW_MUTEX lock_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /*TAO_HASH_LOG_RECORD_STORE_H*/ diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp b/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp deleted file mode 100644 index 458cfca4155..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.cpp +++ /dev/null @@ -1,269 +0,0 @@ -#include "orbsvcs/Log/Hash_LogStore.h" -#include "orbsvcs/Log/Hash_LogRecordStore.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "ace/Auto_Ptr.h" - -ACE_RCSID (Log, - Hash_LogStore, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Hash_LogStore::TAO_Hash_LogStore(TAO_LogMgr_i* logmgr_i) - : next_id_ (0), - logmgr_i_ (logmgr_i) -{ -} - - -TAO_Hash_LogStore::~TAO_Hash_LogStore() -{ -} - - -DsLogAdmin::LogList* -TAO_Hash_LogStore::list_logs (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - DsLogAdmin::LogList* list; - - // Figure out the length of the list. - CORBA::ULong len = static_cast (hash_map_.current_size ()); - - // Allocate the list of length. - ACE_NEW_THROW_EX (list, - DsLogAdmin::LogList (len), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - list->length (len); - - // Create an iterator - HASHMAP::ITERATOR iter (hash_map_); - - // Iterate over and populate the list. - HASHMAP::ENTRY *hash_entry = 0; - - for (CORBA::ULong i = 0; i < len; i++) - { - iter.next (hash_entry); - iter.advance (); - (*list)[i] = logmgr_i_->create_log_reference (static_cast (hash_entry->ext_id_) - ACE_ENV_ARG_PARAMETER); - } - - return list; -} - -DsLogAdmin::LogIdList* -TAO_Hash_LogStore::list_logs_by_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - DsLogAdmin::LogIdList* list; - - // Figure out the length of the list. - CORBA::ULong len = static_cast (hash_map_.current_size ()); - - // Allocate the list of length. - ACE_NEW_THROW_EX (list, - DsLogAdmin::LogIdList (len), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - list->length (len); - - // Create an iterator - HASHMAP::ITERATOR iter (hash_map_); - - // Iterate over and populate the list. - HASHMAP::ENTRY *hash_entry = 0; - - for (CORBA::ULong i = 0; i < len; i++) - { - iter.next (hash_entry); - iter.advance (); - (*list)[i] = hash_entry->ext_id_; - } - - return list; -} - - -DsLogAdmin::Log_ptr -TAO_Hash_LogStore::find_log (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK (DsLogAdmin::Log::_nil ()); - - if (hash_map_.find (id) != 0) - { - return DsLogAdmin::Log::_nil (); - } - else - { - return logmgr_i_->create_log_reference (id ACE_ENV_ARG_PARAMETER); - } -} - - -bool -TAO_Hash_LogStore::exists (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (false); - - return (this->hash_map_.find (id) == 0); -} - - -int -TAO_Hash_LogStore::remove (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (-1); - - TAO_Hash_LogRecordStore* recordstore; - - int retval = this->hash_map_.unbind (id, recordstore); - if (retval == 0) - { - delete recordstore; - } - - return retval; -} - - -void -TAO_Hash_LogStore::create(DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - DsLogAdmin::LogId id; - - while (this->hash_map_.find((id = this->next_id_++)) == 0) - ; - id_out = id; - - TAO_Hash_LogRecordStore* impl = 0; - ACE_NEW_THROW_EX (impl, - TAO_Hash_LogRecordStore (this->logmgr_i_, - id, - full_action, - max_size, - thresholds - ), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - auto_ptr recordstore (impl); - - if (this->hash_map_.bind (id, recordstore.get ()) != 0) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - recordstore.release (); -} - - -void -TAO_Hash_LogStore::create_with_id (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds - ACE_ENV_ARG_DECL) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - if (this->hash_map_.find (id) == 0) - { - ACE_THROW (DsLogAdmin::LogIdAlreadyExists ()); - } - - TAO_Hash_LogRecordStore* impl = 0; - ACE_NEW_THROW_EX (impl, - TAO_Hash_LogRecordStore (this->logmgr_i_, - id, - full_action, - max_size, - thresholds - ), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - auto_ptr recordstore (impl); - - if (this->hash_map_.bind (id, recordstore.get ()) != 0) - { - ACE_THROW (CORBA::INTERNAL ()); - } - - recordstore.release (); -} - - -TAO_LogRecordStore* -TAO_Hash_LogStore::get_log_record_store (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - TAO_Hash_LogRecordStore* recordstore = 0; - - if (hash_map_.find (id, recordstore) != 0) - { - return 0; - } - - return recordstore; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.h b/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.h deleted file mode 100644 index 7c43c34a8a7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_LogStore.h +++ /dev/null @@ -1,130 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Hash_LogStore.h - * - * $Id$ - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_HASH_LOGSTORE_H -#define TAO_TLS_HASH_LOGSTORE_H - -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/LogStore.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Synch_Traits.h" -#include "ace/Null_Mutex.h" -#include "ace/RW_Thread_Mutex.h" -#include "orbsvcs/Log/log_serv_export.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Reactor; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_Hash_LogRecordStore; - -class TAO_Log_Serv_Export TAO_Hash_LogStore - : public TAO_LogStore -{ -public: - // = Initialization and Termination Methods - - /// Constructor. - TAO_Hash_LogStore (TAO_LogMgr_i* mgr); - - /// Destructor. - virtual ~TAO_Hash_LogStore (); - - - /// Lists all logs created by the log factory. - virtual DsLogAdmin::LogList * - list_logs (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Lists all log ids. - virtual DsLogAdmin::LogIdList * - list_logs_by_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Returns a reference to the log with the supplied id. - virtual DsLogAdmin::Log_ptr - find_log (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Returns true if log exists, otherwise false - virtual bool exists (DsLogAdmin::LogId id ACE_ENV_ARG_DECL); - - /// Remove the given entry from the hash table. - virtual int remove (DsLogAdmin::LogId id ACE_ENV_ARG_DECL); - - /// @brief Create log - virtual void - create (DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL); - - /// @brief Create log - virtual void - create_with_id (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds - ACE_ENV_ARG_DECL); - - /// @brief Get log record store - /// - /// Get/Create a log record store for log channel @a id. - /// - /// @param id log id - /// - virtual TAO_LogRecordStore* - get_log_record_store (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - -private: - ACE_SYNCH_RW_MUTEX lock_; - - /// Define the HASHMAP. - typedef ACE_Hash_Map_Manager HASHMAP; - - /// The map of Logs created. - HASHMAP hash_map_; - - /// The next log id to be assigned (if it hasn't already been - /// taken by create_with_id(). - DsLogAdmin::LogId next_id_; - - TAO_LogMgr_i* logmgr_i_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_HASH_LOGSTORE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.cpp b/TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.cpp deleted file mode 100644 index 3d8882352c6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "orbsvcs/Log/Hash_Persistence_Strategy.h" -#include "orbsvcs/Log/Hash_LogStore.h" - -ACE_RCSID (Log, - Hash_Persistence_Strategy, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Hash_Persistence_Strategy::TAO_Hash_Persistence_Strategy() -{ -} - - -TAO_Hash_Persistence_Strategy::~TAO_Hash_Persistence_Strategy() -{ -} - -TAO_LogStore * -TAO_Hash_Persistence_Strategy::create_log_store(TAO_LogMgr_i *logmgr_i) -{ - return new TAO_Hash_LogStore (logmgr_i); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.h b/TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.h deleted file mode 100644 index 43f5e4a6ae5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Hash_Persistence_Strategy.h - * - * $Id$ - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_HASH_PERSISTENCE_STRATEGY_H -#define TAO_TLS_HASH_PERSISTENCE_STRATEGY_H - -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/Log_Persistence_Strategy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Hash_Persistence_Strategy - * - * @brief Concrete Strategy for Log / Log Record Storage - * - * Stores log parameters and log records in hash maps - */ -class TAO_Log_Serv_Export TAO_Hash_Persistence_Strategy - : public TAO_Log_Persistence_Strategy -{ -public: - // = Initialization and Termination Methods - - /// Constructor. - TAO_Hash_Persistence_Strategy (); - - /// Destructor. - virtual ~TAO_Hash_Persistence_Strategy (); - - /// @brief Log Store Factory - virtual TAO_LogStore* - create_log_store (TAO_LogMgr_i* mgr); - -private: -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_HASH_PERSISTENCE_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Iterator_i.cpp b/TAO/orbsvcs/orbsvcs/Log/Iterator_i.cpp deleted file mode 100644 index d26dc48d882..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Iterator_i.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include "orbsvcs/Log/Iterator_i.h" - -ACE_RCSID (Log, - Iterator_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// iterator inactivity timeout -ACE_Time_Value -TAO_Iterator_i::timeout_(60 * 60); - -TAO_Iterator_i::TAO_Iterator_i (ACE_Reactor* reactor) - : reactor_ (reactor) -{ - if (this->timeout_ != ACE_Time_Value::zero) - { - this->timer_id_ = - this->reactor_->schedule_timer (this, 0, this->timeout_); - } -} - - -TAO_Iterator_i::~TAO_Iterator_i (void) -{ - // cancel timer - if (this->timer_id_ != -1) - { - this->reactor_->cancel_timer (this->timer_id_); - } -} - - -void -TAO_Iterator_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::POA_ptr poa = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::ObjectId_var oid = - poa->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Goodbye cruel world... - // deactivate from the poa. - poa->deactivate_object (oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - return; -} - - -int -TAO_Iterator_i::handle_timeout(const ACE_Time_Value&, const void*) -{ - ACE_TRY_NEW_ENV - { - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Iterator_i.h b/TAO/orbsvcs/orbsvcs/Log/Iterator_i.h deleted file mode 100644 index acfa7b89f63..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Iterator_i.h +++ /dev/null @@ -1,91 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Iterator_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::Iterator interface. - * - * - * @author Matthew Braun - * @author Pradeep Gore - * - */ -//============================================================================= - -#ifndef TAO_TLS_ITERATOR_H -#define TAO_TLS_ITERATOR_H -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogAdminS.h" -#include "ace/Event_Handler.h" -#include "ace/Reactor.h" -#include "orbsvcs/Log/log_serv_export.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Iterator_i - * - * @brief Iterator to get LogRecords for the log via a query. - */ -class TAO_Log_Serv_Export TAO_Iterator_i - : public virtual POA_DsLogAdmin::Iterator, - public ACE_Event_Handler -{ -public: - - // = Initialization and Termination methods. - - /// Constructor. - TAO_Iterator_i (ACE_Reactor* reactor); - - /// Destructor. - virtual ~TAO_Iterator_i (void); - - /// Gets a list of LogRecords. - virtual DsLogAdmin::RecordList* get (CORBA::ULong position, - CORBA::ULong how_many - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidParam)) = 0; - - /// This destroys the iterator. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - /// Reactor - ACE_Reactor* reactor_; - - /// Timeout - static ACE_Time_Value timeout_; - - /// Timer ID - long timer_id_; - - virtual int handle_timeout (const ACE_Time_Value&, const void *); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_ITERATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/LogActivator.cpp b/TAO/orbsvcs/orbsvcs/Log/LogActivator.cpp deleted file mode 100644 index 5f7c64cd724..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogActivator.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include "orbsvcs/Log/LogActivator.h" - -ACE_RCSID (Log, - LogActivator, - "$Id$") - -#if (TAO_HAS_MINIMUM_POA == 0) -#include "orbsvcs/Log/LogMgr_i.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LogActivator::TAO_LogActivator (TAO_LogMgr_i &logmgr_i) - : logmgr_i_ (logmgr_i) -{ -} - -TAO_LogActivator::~TAO_LogActivator () -{ -} - -PortableServer::Servant -TAO_LogActivator::incarnate (const PortableServer::ObjectId& oid, - PortableServer::POA_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::ForwardRequest - )) -{ - CORBA::String_var poa_id = PortableServer::ObjectId_to_string (oid); - - DsLogAdmin::LogId id = ACE_OS::strtoul(poa_id.in (), 0, 0); - - if (!logmgr_i_.exists(id ACE_ENV_ARG_PARAMETER)) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0); - ACE_CHECK_RETURN(0); - - return logmgr_i_.create_log_servant (id ACE_ENV_ARG_PARAMETER); -} - - -void -TAO_LogActivator::etherealize (const PortableServer::ObjectId&, - PortableServer::POA_ptr, - PortableServer::Servant servant, - CORBA::Boolean, - CORBA::Boolean remaining_activations - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (!remaining_activations) - { - delete servant; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/Log/LogActivator.h b/TAO/orbsvcs/orbsvcs/Log/LogActivator.h deleted file mode 100644 index c25f466b0ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogActivator.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LogActivator.h - * - * $Id$ - * - */ -//============================================================================= - -#ifndef TAO_TLS_LOGACTIVATOR_H -#define TAO_TLS_LOGACTIVATOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminC.h" - -#if (TAO_HAS_MINIMUM_POA == 0) - -#include "orbsvcs/Log/log_serv_export.h" - -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/ServantActivatorC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// forward declarations -class TAO_LogMgr_i; - -/// @class TAO_LogActivator -/// @brief Log Servant Activator -/// -/// A servant activator to create Log servants. Permits servants to -/// be "lazily" created on demand. This allows persistent logging -/// strategies to avoid creating servants for each log when the -/// service is started. -/// -class TAO_Log_Serv_Export TAO_LogActivator - : public virtual PortableServer::ServantActivator -{ -public: - /// @brief Constructor - /// - TAO_LogActivator(TAO_LogMgr_i& logmgr_i); - - /// @brief Destructor - /// - virtual ~TAO_LogActivator(); - - virtual PortableServer::Servant incarnate (const PortableServer::ObjectId& oid, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableServer::ForwardRequest - )); - - virtual void etherealize (const PortableServer::ObjectId& oid, - PortableServer::POA_ptr poa, - PortableServer::Servant servant, - CORBA::Boolean cleanup_in_progress, - CORBA::Boolean remaining_activations - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - TAO_LogMgr_i& logmgr_i_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/Log/LogMgr_i.cpp b/TAO/orbsvcs/orbsvcs/Log/LogMgr_i.cpp deleted file mode 100644 index 23bb04d2ea1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogMgr_i.cpp +++ /dev/null @@ -1,296 +0,0 @@ -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogActivator.h" -#include "ace/Dynamic_Service.h" -#include "tao/Utils/PolicyList_Destroyer.h" -#include "orbsvcs/Log/Hash_Persistence_Strategy.h" -#include "orbsvcs/Log/LogStore.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID (Log, - LogMgr_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LogMgr_i::TAO_LogMgr_i () - : logstore_ (0) -{ -} - - -TAO_LogMgr_i::~TAO_LogMgr_i () -{ - delete logstore_; -} - - -void -TAO_LogMgr_i::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) -{ - this->orb_ = CORBA::ORB::_duplicate (orb); - this->poa_ = PortableServer::POA::_duplicate (poa); - - PortableServer::POAManager_var poa_manager = - this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - { - TAO::Utils::PolicyList_Destroyer policies(1); - - // Create Factory POA - policies.length (1); - policies[0] = - this->poa_->create_lifespan_policy (PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->factory_poa_ = this->poa_->create_POA ("factory_POA", - poa_manager.in (), - policies - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - - { - TAO::Utils::PolicyList_Destroyer policies(2); - - // Create Log POA - policies.length (2); - policies[0] = - this->poa_->create_lifespan_policy (PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - policies[1] = - this->poa_->create_id_assignment_policy (PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if (TAO_HAS_MINIMUM_POA == 0) - policies.length(4); - policies[2] = - this->poa_->create_servant_retention_policy (PortableServer::RETAIN - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - policies[3] = - this->poa_->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - - this->log_poa_ = this->factory_poa_->create_POA ("log_POA", - poa_manager.in (), - policies - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - -#if (TAO_HAS_MINIMUM_POA == 0) - PortableServer::ServantActivator* servant_activator = 0; - - ACE_NEW_THROW_EX (servant_activator, - TAO_LogActivator (*this), - CORBA::NO_MEMORY ()); - - this->log_poa_->set_servant_manager(servant_activator - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - - // Load Log Strategy - TAO_Log_Persistence_Strategy* strategy_ = 0; - - strategy_ = - ACE_Dynamic_Service::instance ("Log_Persistence"); - if (strategy_ == 0) - { - strategy_ = new TAO_Hash_Persistence_Strategy; - } - - logstore_ = strategy_->create_log_store (this); -} - -PortableServer::ObjectId* -TAO_LogMgr_i::create_objectid (DsLogAdmin::LogId id) -{ - char buf[32]; - ACE_OS::sprintf(buf, "%lu", static_cast(id)); - - PortableServer::ObjectId_var oid = - PortableServer::string_to_ObjectId(buf); - - return oid._retn (); -} - -DsLogAdmin::Log_ptr -TAO_LogMgr_i::create_log_reference (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - PortableServer::ObjectId_var oid = - this->create_objectid (id); - CORBA::RepositoryId_var intf = - this->create_repositoryid (); - - CORBA::Object_var obj = - this->log_poa_->create_reference_with_id (oid.in (), - intf.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsLogAdmin::Log_var log = - DsLogAdmin::Log::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn(); -} - -DsLogAdmin::Log_ptr -TAO_LogMgr_i::create_log_object (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - PortableServer::ServantBase* servant = 0; - - servant = create_log_servant (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - PortableServer::ServantBase_var safe_servant = servant; - // Transfer ownership to the POA. - - // Obtain ObjectId - PortableServer::ObjectId_var oid = this->create_objectid (id); - - // Register with the poa - this->log_poa_->activate_object_with_id (oid.in (), - servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return create_log_reference (id ACE_ENV_ARG_PARAMETER); -} - -DsLogAdmin::LogList* -TAO_LogMgr_i::list_logs (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->logstore_->list_logs (ACE_ENV_SINGLE_ARG_PARAMETER); -} - - -DsLogAdmin::LogIdList* -TAO_LogMgr_i::list_logs_by_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->logstore_->list_logs_by_id (ACE_ENV_SINGLE_ARG_PARAMETER); -} - - -DsLogAdmin::Log_ptr -TAO_LogMgr_i::find_log (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->logstore_->find_log (id ACE_ENV_ARG_PARAMETER); -} - - -TAO_LogRecordStore* -TAO_LogMgr_i::get_log_record_store (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - return this->logstore_->get_log_record_store (id ACE_ENV_ARG_PARAMETER); -} - - -bool -TAO_LogMgr_i::exists (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - return this->logstore_->exists (id ACE_ENV_ARG_PARAMETER); -} - - -int -TAO_LogMgr_i::remove (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - return this->logstore_->remove (id ACE_ENV_ARG_PARAMETER); -} - -void -TAO_LogMgr_i::create_i (DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL) -{ - // Validate log_full_action before creating log - if (full_action != DsLogAdmin::wrap && full_action != DsLogAdmin::halt) - ACE_THROW (DsLogAdmin::InvalidLogFullAction ()); - - if (thresholds) - { - // @@ JTC - validate thresholds here - } - - this->logstore_->create (full_action, - max_size, - thresholds, - id_out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogMgr_i::create_with_id_i (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds - ACE_ENV_ARG_DECL) -{ - // Validate log_full_action before creating log - if (full_action != DsLogAdmin::wrap && full_action != DsLogAdmin::halt) - ACE_THROW (DsLogAdmin::InvalidLogFullAction ()); - - if (thresholds) - { - // @@ JTC - validate thresholds here - } - - this->logstore_->create_with_id (id, - full_action, - max_size, - thresholds - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::ORB_ptr -TAO_LogMgr_i::orb () -{ - return this->orb_.in (); -} - -PortableServer::POA_ptr -TAO_LogMgr_i::factory_poa () -{ - return this->factory_poa_.in (); -} - -PortableServer::POA_ptr -TAO_LogMgr_i::log_poa () -{ - return this->log_poa_.in (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/LogMgr_i.h b/TAO/orbsvcs/orbsvcs/Log/LogMgr_i.h deleted file mode 100644 index a75417898c8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogMgr_i.h +++ /dev/null @@ -1,202 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LogMgr_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::LogMgr interface. - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_LOGMGR_I_H -#define TAO_TLS_LOGMGR_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/Log/Log_Persistence_Strategy.h" -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LogMgr_i - * @brief Log Factory - * - * The implementation delegates operations to a dynamically loaded - * Strategy class. - */ -class TAO_Log_Serv_Export TAO_LogMgr_i - : public virtual POA_DsLogAdmin::LogMgr -{ -public: - - // = Initialization and Termination Methods - - /// Constructor. - TAO_LogMgr_i (); - - /// Destructor. - virtual ~TAO_LogMgr_i (); - - /// Lists all log object references. - DsLogAdmin::LogList * - list_logs (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Lists all log ids. - DsLogAdmin::LogIdList * - list_logs_by_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Returns a reference to the log with the supplied id. - DsLogAdmin::Log_ptr - find_log (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Returns true if log exists, otherwise false - bool exists (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// Remove the given entry from the container. - int remove (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// @brief Create ObjectId - /// - /// Create object id for log channel @ id. - /// - /// @param id log id - /// - /// @return object id - /// - virtual PortableServer::ObjectId* - create_objectid (DsLogAdmin::LogId id); - - /// @brief Create log reference - /// - /// Create object reference for log channel @a id. - /// - /// @param id log id - /// - /// @return object reference - /// - virtual DsLogAdmin::Log_ptr - create_log_reference (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// @brief Create log object - /// - /// Create Log object for log channel @a id. - /// - /// @param id log id - /// - /// @return object reference - /// - virtual DsLogAdmin::Log_ptr - create_log_object (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// @brief Create log repository id - /// - /// Return repository id for log - /// - /// @return repository id - /// - virtual CORBA::RepositoryId - create_repositoryid () = 0; - - /// @brief Create log servant - /// - /// Create Log servant for log channel @a id. - /// - /// @param id log id - /// - /// @return pointer to servant - virtual PortableServer::ServantBase* - create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) = 0; - - /// @brief Get log record store - /// - /// Get/Create a log record store for log channel @a id. - /// - /// @param id log id - /// - TAO_LogRecordStore* - get_log_record_store (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - CORBA::ORB_ptr orb(); - - PortableServer::POA_ptr factory_poa(); - - PortableServer::POA_ptr log_poa(); - -protected: - /// @brief Initialize - /// - /// Creates factory and log channel POAs, and obtains the LogStore - /// from a dynamically loaded Log_Persistence_Strategy (if one was - /// specified in the service config file, otherwise the default - /// Hash_Persistence_Strategy is used.) - /// - /// @param orb ORB - /// @param poa Parent POA - /// - void init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /// @brief Create log - void create_i (DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL); - - /// @brief Create log - void create_with_id_i (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds - ACE_ENV_ARG_DECL); - - /// ORB. - CORBA::ORB_var orb_; - - /// POA. - PortableServer::POA_var poa_; - - /// Factory POA. - PortableServer::POA_var factory_poa_; - - /// Log POA. - PortableServer::POA_var log_poa_; - -private: - TAO_LogStore* logstore_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_LOGMGR_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/LogNotification.cpp b/TAO/orbsvcs/orbsvcs/Log/LogNotification.cpp deleted file mode 100644 index e7f422dd36b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogNotification.cpp +++ /dev/null @@ -1,418 +0,0 @@ -#include "orbsvcs/Log/LogNotification.h" - -#include "orbsvcs/Time_Utilities.h" -#include "tao/debug.h" -#include "ace/OS_NS_sys_time.h" - -ACE_RCSID (Log, - LogNotification, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LogNotification::TAO_LogNotification (void) -{ -} - -TAO_LogNotification::~TAO_LogNotification (void) -{ -} - -void -TAO_LogNotification::object_creation (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - - CORBA::Any any; - DsLogNotification::ObjectCreation event; - - // The log id. - event.id = id; - - TimeBase::TimeT current_time; - ACE_Time_Value now = ACE_OS::gettimeofday (); - ORBSVCS_Time::Time_Value_to_TimeT(current_time, now); - - event.time = current_time; - - any <<= event; - - this->send_notification (any - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::object_deletion (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any any; - DsLogNotification::ObjectDeletion event; - - event.id = id; - - TimeBase::TimeT current_time; - ACE_Time_Value now = ACE_OS::gettimeofday (); - ORBSVCS_Time::Time_Value_to_TimeT(current_time, now); - - // Time object deleted. - event.time = current_time; - - any <<= event; - - this->send_notification (any - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::processing_error_alarm (CORBA::ULong error_num, - const char* error_string - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any any; - DsLogNotification::ProcessingErrorAlarm event; - - event.error_num = error_num; - event.error_string = CORBA::string_dup (error_string); - - any <<= event; - - this->send_notification (any - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::attribute_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogNotification::AttributeType type, - CORBA::Any oldValue, - CORBA::Any newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any any; - DsLogNotification::AttributeValueChange event; - - event.logref = DsLogAdmin::Log::_duplicate (log); - event.id = id; - - TimeBase::TimeT current_time; - ACE_Time_Value now = ACE_OS::gettimeofday (); - ORBSVCS_Time::Time_Value_to_TimeT (current_time, now); - - event.time = current_time; - - // The attribute type e.g. logFullAction, maxLogSize etc. - event.type = type; - event.old_value = oldValue; - event.new_value = newValue; - - any <<= event; - - this->send_notification (any - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::capacity_alarm_threshold_value_change ( - DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - const DsLogAdmin::CapacityAlarmThresholdList& oldValue, - const DsLogAdmin::CapacityAlarmThresholdList& newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::capacityAlarmThreshold, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::log_full_action_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - CORBA::ULong oldValue, - CORBA::ULong newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::logFullAction, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::max_log_size_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - CORBA::ULongLong oldValue, - CORBA::ULongLong newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::maxLogSize, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::start_time_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::TimeT oldValue, - DsLogAdmin::TimeT newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::startTime, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::stop_time_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::TimeT oldValue, - DsLogAdmin::TimeT newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::stopTime, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::week_mask_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - const DsLogAdmin::WeekMask& oldValue, - const DsLogAdmin::WeekMask& newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::weekMask, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::max_record_life_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - CORBA::ULong oldValue, - CORBA::ULong newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::maxRecordLife, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::quality_of_service_value_change ( - DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - const DsLogAdmin::QoSList& oldValue, - const DsLogAdmin::QoSList& newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any oldV, newV; - oldV <<= oldValue; - newV <<= newValue; - - this->attribute_value_change (log, - id, - DsLogNotification::qualityOfService, - oldV, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::state_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogNotification::StateType type, - CORBA::Any newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any any; - DsLogNotification::StateChange event; - - event.logref = DsLogAdmin::Log::_duplicate (log); - event.id = id; - - TimeBase::TimeT current_time; - ACE_Time_Value now = ACE_OS::gettimeofday (); - ORBSVCS_Time::Time_Value_to_TimeT (current_time, now); - event.time = current_time; - - // Administrative, Operational or Forwarding state. - event.type = type; - - event.new_value = newValue; - - any <<= event; - - this->send_notification (any - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::administrative_state_change ( - DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::AdministrativeState newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any newV; - newV <<= newValue; - - this->state_change (log, - id, - DsLogNotification::administrativeState, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::operational_state_change ( - DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::OperationalState newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any newV; - newV <<= newValue; - - this->state_change (log, - id, - DsLogNotification::operationalState, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::forwarding_state_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::ForwardingState newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any newV; - newV <<= newValue; - - this->state_change (log, - id, - DsLogNotification::forwardingState, - newV - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::threshold_alarm ( - DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::Threshold crossedValue, - DsLogAdmin::Threshold observedValue, - DsLogNotification::PerceivedSeverityType severity - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Any any; - DsLogNotification::ThresholdAlarm event; - - event.logref = DsLogAdmin::Log::_duplicate (log); - event.id = id; - - TimeBase::TimeT current_time; - ACE_Time_Value now = ACE_OS::gettimeofday (); - ORBSVCS_Time::Time_Value_to_TimeT(current_time, now); - event.time = current_time; - - event.crossed_value = crossedValue; - event.observed_value = observedValue; - event.perceived_severity = severity; - - any <<= event; - - this->send_notification (any - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_LogNotification::send_notification (const CORBA::Any & /* any */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/LogNotification.h b/TAO/orbsvcs/orbsvcs/Log/LogNotification.h deleted file mode 100644 index 32b68ecae1f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogNotification.h +++ /dev/null @@ -1,185 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LogNotification.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::LogNotification interface. - * - * @author D A Hanvey - */ -//============================================================================= - - -#ifndef TAO_TLS_LOG_NOTIFICATION_H -#define TAO_TLS_LOG_NOTIFICATION_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogNotificationS.h" -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LogNotification - * - * @brief Used to forward log generated events to a logging server - * - * This implementation attempts to conform to the telecom - * logging specification. - */ -class TAO_Log_Serv_Export TAO_LogNotification -{ - -public: - - /// Constructor. - TAO_LogNotification (void); - - /// Destructor. - virtual ~TAO_LogNotification (void); - - /// Event generated when a new log is created. - void object_creation (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Event generated when a new log is deleted. - void object_deletion (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Event generated. - void processing_error_alarm (CORBA::ULong error_num, const char* error_string - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void attribute_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogNotification::AttributeType type, - CORBA::Any oldValue, - CORBA::Any newValue ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void capacity_alarm_threshold_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - const DsLogAdmin::CapacityAlarmThresholdList& oldValue, - const DsLogAdmin::CapacityAlarmThresholdList& newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void log_full_action_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - CORBA::ULong oldValue, - CORBA::ULong newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void max_log_size_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - CORBA::ULongLong oldValue, - CORBA::ULongLong newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void start_time_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::TimeT oldValue, - DsLogAdmin::TimeT newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void stop_time_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::TimeT oldValue, - DsLogAdmin::TimeT newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void week_mask_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - const DsLogAdmin::WeekMask& oldValue, - const DsLogAdmin::WeekMask& newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void max_record_life_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - CORBA::ULong oldValue, - CORBA::ULong newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// AttributeValueChange event generation method. - void quality_of_service_value_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - const DsLogAdmin::QoSList& oldValue, - const DsLogAdmin::QoSList& newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// StateChange event generation method. - void state_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogNotification::StateType type, - CORBA::Any newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// StateChange event generation method. - void administrative_state_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::AdministrativeState newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// StateChange event generation method. - void operational_state_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::OperationalState newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// StateChange event generation method. - void forwarding_state_change (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::ForwardingState newValue - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// StateChange event generation method. - void threshold_alarm (DsLogAdmin::Log_ptr log, - DsLogAdmin::LogId id, - DsLogAdmin::Threshold crossedValue, - DsLogAdmin::Threshold observedValue, - DsLogNotification::PerceivedSeverityType severity - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Method overriden by by event-aware logging services to cause - /// a notification event to be sent. - virtual void send_notification (const CORBA::Any & - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_LOG_NOTIFICATION_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/LogRecordStore.cpp b/TAO/orbsvcs/orbsvcs/Log/LogRecordStore.cpp deleted file mode 100644 index 278039ac40e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogRecordStore.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include "orbsvcs/Log/LogRecordStore.h" - -ACE_RCSID (Log, - LogRecordStore, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_LogRecordStore::TAO_LogRecordStore (void) -{ -} - -TAO_LogRecordStore::~TAO_LogRecordStore (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/LogRecordStore.h b/TAO/orbsvcs/orbsvcs/Log/LogRecordStore.h deleted file mode 100644 index 4e630b0ea46..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogRecordStore.h +++ /dev/null @@ -1,269 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LogRecordStore.h - * - * $Id$ - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_LOG_RECORD_STORE_H -#define TAO_LOG_RECORD_STORE_H - -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogAdminC.h" -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_LogRecordStore - * - * @brief Abstract base class for storing DsLogAdmin::LogRecord's - * - * Implements a Table Data Gateway(144) for log records, and a Row - * Data Gateway(152) for log channel parameters. - */ -class TAO_Log_Serv_Export TAO_LogRecordStore -{ - public: - - // = Initialization and termination methods - - /// Destructor. - virtual ~TAO_LogRecordStore (void); - - /// Initialization. - virtual int open (void) = 0; - - /// Close the record store. - virtual int close (void) = 0; - - - // = Log Parameters - - /// Gets the administrative state of the log - virtual DsLogAdmin::AdministrativeState - get_administrative_state (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Sets the administrative state of the log - virtual void - set_administrative_state (DsLogAdmin::AdministrativeState state - ACE_ENV_ARG_DECL) = 0; - - /// Get the capacity alarm thresholds - virtual DsLogAdmin::CapacityAlarmThresholdList* - get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Set the capacity alarm thresholds - virtual void - set_capacity_alarm_thresholds (const DsLogAdmin::CapacityAlarmThresholdList& thresholds - ACE_ENV_ARG_DECL) = 0; - - /// Gets the forwarding state - virtual DsLogAdmin::ForwardingState - get_forwarding_state (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Sets the forwarding state - virtual void - set_forwarding_state (DsLogAdmin::ForwardingState state - ACE_ENV_ARG_DECL) = 0; - - /// Get the log duration - virtual DsLogAdmin::TimeInterval - get_interval (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Set the log duration. - virtual void - set_interval (const DsLogAdmin::TimeInterval& interval - ACE_ENV_ARG_DECL) = 0; - - /// Get the log full action - virtual DsLogAdmin::LogFullActionType - get_log_full_action (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Set the log full action - virtual void - set_log_full_action(DsLogAdmin::LogFullActionType action - ACE_ENV_ARG_DECL) = 0; - - /// Get the list of the QoS properties supported by the log. - virtual DsLogAdmin::QoSList* - get_log_qos (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Set the list of the QoS properties supported by the log. - virtual void - set_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL) = 0; - - /// Gets the max record life - virtual CORBA::ULong - get_max_record_life (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Sets the max record life - virtual void - set_max_record_life (CORBA::ULong life - ACE_ENV_ARG_DECL) = 0; - - /// Get the current set value of the max size of the log data. - virtual CORBA::ULongLong - get_max_size (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - /// Set the max size of log data. size == 0, => infinite. - virtual void - set_max_size (CORBA::ULongLong size - ACE_ENV_ARG_DECL) = 0; - - /// Get the weekly scheduling parameters - virtual DsLogAdmin::WeekMask* - get_week_mask (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Set the weekly scheduling parameters. - virtual void - set_week_mask (const DsLogAdmin::WeekMask& masks - ACE_ENV_ARG_DECL) = 0; - - - // = LogRecordStore status methods - - /// Gets the current size of the log data. - virtual CORBA::ULongLong - get_current_size (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Get the number of records in the log right now. - virtual CORBA::ULongLong - get_n_records (ACE_ENV_SINGLE_ARG_DECL) = 0; - - - // = LogRecordStore gauge - - /// Gets the current value of the "gauge" that measures the total - /// size of the records written to the log. - virtual CORBA::ULongLong - get_gauge(ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Resets the "gauge" to 0 - virtual void - reset_gauge(ACE_ENV_SINGLE_ARG_DECL) = 0; - - - // = Record logging, retrieval, update and removal methods. - - /// Insert rec into storage. - /// Returns 0 on success -1 on failure and 1 if the log is full. - virtual int - log (const DsLogAdmin::LogRecord &rec ACE_ENV_ARG_DECL) = 0; - - /// Deletes "old" records from the store. - virtual int - purge_old_records (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Set single record attributes. - virtual void - set_record_attribute (DsLogAdmin::RecordId id, - const DsLogAdmin::NVList & attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId, - DsLogAdmin::InvalidAttribute)) = 0; - - /// Set the attributes of all records that matches the - /// constraints with same attr_list. - virtual CORBA::ULong - set_records_attribute (const char * grammar, - const char * c, - const DsLogAdmin::NVList & attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint, - DsLogAdmin::InvalidAttribute)) = 0; - - /// Get the attributes of the record with id . Raises - /// DsLogAdmin::InvalidRecordId - virtual DsLogAdmin::NVList* - get_record_attribute (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId)) = 0; - - /// Ensure changes have been flushed to persistent media - /// Returns 0 on success, -1 on failure - virtual int - flush (ACE_ENV_SINGLE_ARG_DECL) = 0; - - - /// Returns all records in the log that match the given constraint - /// . - virtual DsLogAdmin::RecordList* - query (const char * grammar, - const char * c, - DsLogAdmin::Iterator_out i - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) = 0; - - /// Retrieve records from time using iterator - /// . - virtual DsLogAdmin::RecordList* - retrieve (DsLogAdmin::TimeT from_time, - CORBA::Long how_many, - DsLogAdmin::Iterator_out i - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - - /// Returns the number of records matching constraint . - virtual CORBA::ULong - match (const char * grammar, - const char * c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) = 0; - - /// Delete records matching constraint . - virtual CORBA::ULong - delete_records (const char * grammar, - const char * c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) = 0; - - /// Delete records matching ids in - virtual CORBA::ULong - delete_records_by_id (const DsLogAdmin::RecordIdList & ids - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - - - virtual CORBA::ULong - remove_old_records (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Read-Write Lock - virtual ACE_SYNCH_RW_MUTEX& lock() = 0; - -protected: - /// Constructor. - TAO_LogRecordStore (void); - - -private: -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /*TAO_LOG_RECORD_STORE_H*/ diff --git a/TAO/orbsvcs/orbsvcs/Log/LogStore.h b/TAO/orbsvcs/orbsvcs/Log/LogStore.h deleted file mode 100644 index 78773abffb9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/LogStore.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LogStore.h - * - * $Id$ - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_LOGSTORE_H -#define TAO_TLS_LOGSTORE_H - -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogAdminC.h" -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogRecordStore; - -class TAO_Log_Serv_Export TAO_LogStore -{ -public: - // Destructor - virtual ~TAO_LogStore() {} - - /// Lists all logs created by the log factory. - virtual DsLogAdmin::LogList * - list_logs (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - /// Lists all log ids. - virtual DsLogAdmin::LogIdList * - list_logs_by_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - /// Returns a reference to the log with the supplied id. - virtual DsLogAdmin::Log_ptr - find_log (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - /// Returns true if log exists, otherwise false - virtual bool - exists (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) = 0; - - /// Remove the given entry from the hash table. - virtual int - remove (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) = 0; - - /// @brief Create log - virtual void - create (DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL) = 0; - - /// @brief Create log - virtual void - create_with_id (DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList* thresholds - ACE_ENV_ARG_DECL) = 0; - - /// @brief Get log record store - /// - /// Get/Create a log record store for log channel @a id. - /// - /// @param id log id - /// - virtual TAO_LogRecordStore* - get_log_record_store (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) = 0; - -protected: - // Constructor - TAO_LogStore() {} - - -private: -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_LOGSTORE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.cpp b/TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.cpp deleted file mode 100644 index d153bbe2714..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "orbsvcs/Log/Log_Compaction_Handler.h" -#include "orbsvcs/Log/Log_i.h" -#include "ace/Reactor.h" - -ACE_RCSID (Log, - Log_Compaction_Handler, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Log_Compaction_Handler::TAO_Log_Compaction_Handler (ACE_Reactor* reactor, - TAO_Log_i* log, - const ACE_Time_Value& interval) - : timer_id_(-1), - reactor_(reactor), - log_(log), - interval_(interval) -{ -} - - -TAO_Log_Compaction_Handler::~TAO_Log_Compaction_Handler () -{ - this->cancel (); -} - - -void -TAO_Log_Compaction_Handler::schedule () -{ - this->cancel (); - this->timer_id_ = - this->reactor_->schedule_timer (this, 0, this->interval_, this->interval_); -} - - -void -TAO_Log_Compaction_Handler::cancel () -{ - if (this->timer_id_ != -1) - { - this->reactor_->cancel_timer (timer_id_); - this->timer_id_ = -1; - } -} - - -int -TAO_Log_Compaction_Handler::handle_timeout (const ACE_Time_Value&, - const void *) -{ - ACE_TRY_NEW_ENV - { - this->log_->remove_old_records(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h b/TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h deleted file mode 100644 index 3e51de61602..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log_Compaction_Handler.h - * - * $Id$ - * - */ -//============================================================================= - -#ifndef TAO_TLS_COMPACTION_HANDLER_H -#define TAO_TLS_COMPACTION_HANDLER_H - -#include "orbsvcs/Log/log_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -#include "ace/Event_Handler.h" -#include "ace/Time_Value.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Reactor; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Log_i; - -/// @class TAO_Log_Compaction_Handler -/// @brief Periodically invoke remove_old_records() on Log -/// -class TAO_Log_Serv_Export TAO_Log_Compaction_Handler - : public ACE_Event_Handler -{ -public: - /// Constructor. - TAO_Log_Compaction_Handler (ACE_Reactor* reactor, - TAO_Log_i* log, - const ACE_Time_Value& interval); - - /// Destructor. - ~TAO_Log_Compaction_Handler (); - - /// Schedule Timer. - void schedule (); - - /// Cancel Timer. - void cancel (); - - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg); - -private: - long timer_id_; - ACE_Reactor* reactor_; - TAO_Log_i* log_; - const ACE_Time_Value interval_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_LOG_COMPACTION_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.cpp b/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.cpp deleted file mode 100644 index e741de09004..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "orbsvcs/Log/Log_Constraint_Interpreter.h" - -#include "orbsvcs/Log/Log_Constraint_Visitors.h" - -ACE_RCSID (Log, - Log_Constraint_Interpreter, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Log_Constraint_Interpreter::TAO_Log_Constraint_Interpreter ( - const char *constraints - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((DsLogAdmin::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 (DsLogAdmin::InvalidConstraint ()); - } -} - -TAO_Log_Constraint_Interpreter::~TAO_Log_Constraint_Interpreter (void) -{ -} - -CORBA::Boolean -TAO_Log_Constraint_Interpreter::evaluate ( - TAO_Log_Constraint_Visitor &evaluator - ) -{ - CORBA::Boolean retval = - evaluator.evaluate_constraint (this->root_); - - return retval; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h b/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h deleted file mode 100644 index 18f754d8c79..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log_Constraint_Interpreter.h - * - * $Id$ - * - * - * - * - * @author Pradeep Gore - * @author D A Hanvey - * - */ -//============================================================================= - -#ifndef TAO_LOG_CONSTRAINT_INTERPRETER_H -#define TAO_LOG_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/DsLogAdminC.h" -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Log_Constraint_Visitor; - -/** - * @class TAO_Log_Constraint_Interpreter - * - * @brief "ETCL" Interpreter for the Log queries. - */ -class TAO_Log_Serv_Export TAO_Log_Constraint_Interpreter : - public TAO_ETCL_Interpreter -{ -public: - - // = Initialization and termination methods. - - /** - * This constructor builds an expression tree representing the - * constraint specified in , and throws an Illegal - * Constraint exception if the constraint given has syntax errors or - * semantic errors, such as mismatched types. - */ - TAO_Log_Constraint_Interpreter (const char* constraints - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::InvalidConstraint, - CORBA::NO_MEMORY)); - - /// Destructor. - ~TAO_Log_Constraint_Interpreter (void); - - /// Returns true if the constraint is evaluated successfully by - /// the evaluator. - CORBA::Boolean evaluate (TAO_Log_Constraint_Visitor &evaluator); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_LOG_CONSTRAINT_INTERPRETER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp b/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp deleted file mode 100644 index 9d8fe567d40..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp +++ /dev/null @@ -1,1347 +0,0 @@ -#include "orbsvcs/Log/Log_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" - -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h" -#include "tao/CDR.h" - -ACE_RCSID (Log, - Log_Constraint_Visitors, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Log_Constraint_Visitor::TAO_Log_Constraint_Visitor (const DsLogAdmin::LogRecord &rec) - : property_lookup_ (property_lookup_size_) -{ - CORBA::Any val_id; -#if defined (ACE_LACKS_LONGLONG_T) || defined (ACE_LACKS_UNSIGNEDLONGLONG_T) - val_id <<= ACE_U64_TO_U32 (rec.id); -#else - val_id <<= static_cast (rec.id); -#endif - this->property_lookup_.bind (ACE_CString("id", 0, 0), val_id); - - - CORBA::Any val_time; -#if defined (ACE_LACKS_LONGLONG_T) || defined (ACE_LACKS_UNSIGNEDLONGLONG_T) - val_time <<= ACE_U64_TO_U32 (rec.time); -#else - val_time <<= static_cast (rec.time); -#endif - this->property_lookup_.bind (ACE_CString("time", 0, 0), val_time); - - this->property_lookup_.bind (ACE_CString("info", 0, 0), rec.info); - - // Bind an entry for each item in the record's attribute list. - CORBA::Long len = rec.attr_list.length(); - for (CORBA::Long i = 0; i < len; ++i) - { - this->property_lookup_.bind (ACE_CString(rec.attr_list[i].name, - 0, - 0), - rec.attr_list[i].value); - } -} - -CORBA::Boolean -TAO_Log_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_Log_Constraint_Visitor::visit_literal ( - TAO_ETCL_Literal_Constraint *literal - ) -{ - this->queue_.enqueue_head (*literal); - return 0; -} - -int -TAO_Log_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; - - if (this->property_lookup_.find (key, any) == 0) - { - if (any.impl() != 0) - { - this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (&any)); - return_value = 0; - } - } - - return return_value; -} - -int -TAO_Log_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_Log_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_member_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::TypeCode_var tc = this->current_member_->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); - TAO_InputCDR in_cdr (cdr); - TAO::Unknown_IDL_Type *unk = 0; - ACE_NEW_RETURN (unk, - TAO::Unknown_IDL_Type ( - disc_tc.in (), - in_cdr - ), - -1); - - disc_any.replace (unk); - 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_member_ = - 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_member_ = 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_member_ while we visit - // the nested component. - if (nested == 0) - { - TAO_ETCL_Literal_Constraint lit (this->current_member_.ptr ()); - this->queue_.enqueue_head (lit); - return 0; - } - else - { - return nested->accept (this); - } - } - else - { - return -1; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); -} - -int -TAO_Log_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 property_lookup_ will be in current_member_. - CORBA::TypeCode_var tc = this->current_member_->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_member_.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_member_.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.ptr ()); - this->queue_.enqueue_head (result); - return 0; - } - else - { - this->current_member_ = value._retn (); - return comp->accept (this); - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); -} - -int -TAO_Log_Constraint_Visitor::visit_component_assoc ( - TAO_ETCL_Component_Assoc *assoc) -{ - // @@@ (JP) The spec reserves this type of constraint for NVLists. - // Since NVLists don't have type codes or Any operators, there's - // no way that TAO can put one into the event's filterable data. - // However, from the looks of the ETCL grammar, I believe that a - // contruct like 'exist $(foo)' is legal, and is in effect using - // the event's filterable data as one big NVList. It is - // equivalent to '$.foo'. I've implemented this method on that - // basis, while keeping in mind that a clearer interpretation of - // the spec may come along someday. - - CORBA::Any any; - ACE_CString key (assoc->identifier ()->value (), - 0, - 0); - - if (this->property_lookup_.find (key, any) != 0 - || any.impl () == 0) - { - 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); - return 0; - } - - ACE_NEW_RETURN (any_ptr, - CORBA::Any (any), - -1); - this->current_member_ = any_ptr; - return comp->accept (this); -} - -int -TAO_Log_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 property_lookup_ will be in current_member_. - CORBA::TypeCode_var tc = this->current_member_->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_member_.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_member_.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.ptr ()); - this->queue_.enqueue_head (result); - return 0; - } - else - { - this->current_member_ = value._retn (); - return comp->accept (this); - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); -} - -int -TAO_Log_Constraint_Visitor::visit_special (TAO_ETCL_Special *special) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::TypeCode_var tc = this->current_member_->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_member_.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.ptr ()); - 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_CHECK_RETURN (-1); -} - -int -TAO_Log_Constraint_Visitor::visit_component ( - TAO_ETCL_Component *component - ) -{ - // 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. - - TAO_ETCL_Constraint *nested = component->component (); - int result = component->identifier ()->accept (this); - - if (nested == 0 || result != 0) - { - return result; - } - else - { - TAO_ETCL_Literal_Constraint id; - this->queue_.dequeue_head (id); - CORBA::Any *any_ptr = 0; - ACE_NEW_RETURN (any_ptr, - CORBA::Any (*(const CORBA::Any *) id), - -1); - this->current_member_ = any_ptr; - return nested->accept (this); - } -} - -int -TAO_Log_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_Log_Constraint_Visitor::visit_eval (TAO_ETCL_Eval *eval) -{ - // Nothing to do but visit the contained component. - return eval->component ()->accept (this); -} - -int -TAO_Log_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_member_->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_CHECK_RETURN (-1); -} - -int -TAO_Log_Constraint_Visitor::visit_exist (TAO_ETCL_Exist *exist) -{ - TAO_ETCL_Constraint *component = exist->component (); - - if (component->accept (this) == 0) - { - TAO_ETCL_Literal_Constraint top; - - this->queue_.dequeue_head (top); - - const char *value = (const char *) top; - ACE_CString key (value, 0, 0); - - CORBA::Boolean result = (this->property_lookup_.find (key) == 0); - - this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result)); - - return 0; - } - - return -1; -} - -int -TAO_Log_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_Log_Constraint_Visitor::visit_binary_expr ( - TAO_ETCL_Binary_Expr *binary_expr - ) -{ - - // Evaluate the constraint - 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_Log_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_Log_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_Log_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; - - // Evaluate the constraint - // Perform an operation on the results of evaluating the left and - // right branches of this subtree. - if (lhs->accept (this) == 0) - { - - // Evaluate the constraint - 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_Log_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 *) left, - (const char *) right) != 0); - this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result)); - return_value = 0; - } - } - - return return_value; -} - -int -TAO_Log_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; - ACE_CHECK_RETURN (return_value); - - 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_Log_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_Log_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; - ACE_CHECK_RETURN (0); - - return 0; -} - -CORBA::Boolean -TAO_Log_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; - ACE_CHECK_RETURN (0); - - return 0; -} - -CORBA::Boolean -TAO_Log_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; - ACE_CHECK_RETURN (0); - - return 0; -} - -CORBA::Boolean -TAO_Log_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_CHECK_RETURN (0); -} - -CORBA::Boolean -TAO_Log_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 (const_cast (result)); - - return (item == element); -} - -CORBA::Boolean -TAO_Log_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; - } -} - -const size_t TAO_Log_Constraint_Visitor::property_lookup_size_ = 31; - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h b/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h deleted file mode 100644 index f9067132c3b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h +++ /dev/null @@ -1,130 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log_Constraint_Visitors.h - * - * $Id$ - * - * @author Pradeep Gore - * @author Jeff Parsons - * @author D A Hanvey - */ -//============================================================================= - - -#ifndef TAO_LOG_CONSTRAINT_VISITORS_H -#define TAO_LOG_CONSTRAINT_VISITORS_H - -#include /**/ "ace/pre.h" - -#include "ace/Hash_Map_Manager.h" -#include "ace/Unbounded_Queue.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ETCL/ETCL_Constraint_Visitor.h" -#include "orbsvcs/DsLogAdminC.h" -#include "ace/Null_Mutex.h" - -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ETCL_Constraint; -class TAO_ETCL_Literal_Constraint; -class TAO_Log_Property_Constraint; - -/** - * @class TAO_Log_Constraint_Visitor - * - * @brief "ETCL" Visitor for the Log queries. - */ -class TAO_Log_Serv_Export TAO_Log_Constraint_Visitor : - public TAO_ETCL_Constraint_Visitor -{ -public: - - /// Constructor. - TAO_Log_Constraint_Visitor (const DsLogAdmin::LogRecord &rec); - - /** - * Returns 1 if the offer satisfies the constraint - * represented by the the expression tree rooted at , 0 if it - * doesn't. If an error occurs during 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 *); - -private: - // = 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 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); - -private: - /// Size of property_lookup_ hash map. - /// TODO: define inline once VC6 support is deprecated. - static const size_t property_lookup_size_; - - typedef ACE_Hash_Map_Manager HASH_MAP; - - typedef HASH_MAP::ENTRY HASH_ENTRY; - - /// Used to lookup property name and values. - HASH_MAP property_lookup_; - - /// The result of a non_boolean operation. - ACE_Unbounded_Queue queue_; - - /// Holder for a value found in property_lookup_ or for a - /// nested type within that value. - CORBA::Any_var current_member_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_LOG_CONSTRAINT_VISITORS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.cpp b/TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.cpp deleted file mode 100644 index 122d35c486c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "orbsvcs/Log/Log_Flush_Handler.h" -#include "orbsvcs/Log/Log_i.h" - -ACE_RCSID (Log, - Log_Flush_Handler, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Log_Flush_Handler::TAO_Log_Flush_Handler (ACE_Reactor* reactor, - TAO_Log_i* log, - const ACE_Time_Value& interval) - : timer_id_(-1), - reactor_(reactor), - log_(log), - interval_(interval) -{ -} - -TAO_Log_Flush_Handler::~TAO_Log_Flush_Handler () -{ - this->cancel (); -} - -void -TAO_Log_Flush_Handler::schedule () -{ - this->cancel (); - this->timer_id_ = - this->reactor_->schedule_timer (this, 0, this->interval_, this->interval_); -} - -void -TAO_Log_Flush_Handler::cancel () -{ - if (this->timer_id_ != -1) - { - this->reactor_->cancel_timer (timer_id_); - this->timer_id_ = -1; - } -} - -int -TAO_Log_Flush_Handler::handle_timeout (const ACE_Time_Value&, const void *) -{ - ACE_TRY_NEW_ENV - { - log_->flush (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.h b/TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.h deleted file mode 100644 index f61d40ad999..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Flush_Handler.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log_Flush_Handler.h - * - * $Id$ - * - */ -//============================================================================= - -#ifndef TAO_TLS_FLUSH_HANDLER_H -#define TAO_TLS_FLUSH_HANDLER_H - -#include "orbsvcs/Log/log_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -#include "ace/Event_Handler.h" -#include "ace/Time_Value.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Reactor; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Log_i; - -/// @class TAO_Log_Flush_Handler -/// @brief Periodically flush log records to persistent store -/// -class TAO_Log_Serv_Export TAO_Log_Flush_Handler - : public ACE_Event_Handler -{ -public: - /// Constructor. - TAO_Log_Flush_Handler (ACE_Reactor* reactor, - TAO_Log_i* log, - const ACE_Time_Value& interval); - - /// Destructor. - ~TAO_Log_Flush_Handler (); - - /// Schedule Timer. - void schedule (); - - /// Cancel Timer. - void cancel (); - - virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg); - -private: - long timer_id_; - ACE_Reactor* reactor_; - TAO_Log_i* log_; - ACE_Time_Value interval_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_LOG_FLUSH_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h b/TAO/orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h deleted file mode 100644 index 5e8832c5dee..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log_Persistence_Strategy.h - * - * $Id$ - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_PERSISTENCE_STRATEGY_H -#define TAO_TLS_PERSISTENCE_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Log/log_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" -#include "ace/Service_Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogStore; -class TAO_LogMgr_i; - -namespace CORBA -{ - class ORB; - typedef ORB* ORB_ptr; -} - -/** - * @class TAO_Log_Persistence_Strategy - * - * @brief Base Strategy for Log / Log Record Storage - * - */ -class TAO_Log_Serv_Export TAO_Log_Persistence_Strategy - : public ACE_Service_Object -{ -public: - /// @brief Log Store Factory - virtual TAO_LogStore* - create_log_store (TAO_LogMgr_i* logmgr_i) = 0; - -private: -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_PERSISTENCE_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_i.cpp b/TAO/orbsvcs/orbsvcs/Log/Log_i.cpp deleted file mode 100644 index 263ef5d7ebc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_i.cpp +++ /dev/null @@ -1,1859 +0,0 @@ -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Time_Utilities.h" - -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_sys_time.h" - -ACE_RCSID (Log, - Log_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Log Compaction Interval -const ACE_Time_Value -TAO_Log_i::log_compaction_interval_ = ACE_Time_Value(60); - -// Log Flush Interval -const ACE_Time_Value -TAO_Log_i::log_flush_interval_ = ACE_Time_Value(5 * 60); - - -TAO_Log_i::TAO_Log_i (CORBA::ORB_ptr orb, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - DsLogAdmin::LogId logid, - TAO_LogNotification *log_notifier) - : logmgr_i_(logmgr_i), - factory_ (DsLogAdmin::LogMgr::_duplicate (factory)), - logid_ (logid), - op_state_ (DsLogAdmin::disabled), - reactor_ (orb->orb_core()->reactor()), - notifier_ (log_notifier), - log_compaction_handler_ (reactor_, this, log_compaction_interval_), - log_flush_handler_ (reactor_, this, log_flush_interval_) -{ - // TODO: get log parameters from (persistent?) store. - avail_status_.off_duty = 0; - avail_status_.log_full = 0; -} - -void -TAO_Log_i::init (ACE_ENV_SINGLE_ARG_DECL) -{ -#if 0 - // @@ Calling create_log_reference () here leads to an infinate loop. - // When this is fixed, this can be enabled. - this->log_ = - logmgr_i_.create_log_reference (this->logid_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - - this->recordstore_ = - logmgr_i_.get_log_record_store (this->logid_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (this->recordstore_->open () ==-1) - ACE_THROW (CORBA::UNKNOWN ()); - - // fetch the capacity alarm thresholds from the log record store - DsLogAdmin::CapacityAlarmThresholdList_var thresholds = - this->recordstore_->get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // initialize the internal representation - this->thresholds_ = thresholds.in (); - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - - // fetch the log QoS from the log record store - DsLogAdmin::QoSList_var qos = - this->recordstore_->get_log_qos (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // initialize the internal representation. - this->reset_log_qos (qos.in ()); - - - // fetch the week mask from the log record store - DsLogAdmin::WeekMask_var week_mask = - this->recordstore_->get_week_mask (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // initialize the internal representation - this->reset_week_mask (week_mask.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - // fetch the maximum record life from the log record store - CORBA::ULong max_record_life = - this->recordstore_->get_max_record_life (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // if set, activate the compaction handler - if (max_record_life != 0) - { - this->log_compaction_handler_.schedule (); - } - - this->op_state_ = DsLogAdmin::enabled; -} - -TAO_Log_i::~TAO_Log_i (void) -{ -} - -DsLogAdmin::LogMgr_ptr -TAO_Log_i::my_factory (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return DsLogAdmin::LogMgr::_duplicate (this->factory_.in ()); -} - -DsLogAdmin::LogId -TAO_Log_i::id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return logid_; -} - -DsLogAdmin::QoSList* -TAO_Log_i::get_log_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // @@ The current revision of the specification (formal/03-07-01) - // states that get_log_qos() returns a list of the QoS properties - // supported by the log, not the current value. However, because - // that is inconsistent with both the Log Service's other get - // methods and the Notification Service's QoS get_qos methods, I - // have submitted a defect report to the OMG for clarification. - // --jtc - - return this->recordstore_->get_log_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_log_qos (const DsLogAdmin::QoSList &qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::UnsupportedQoS)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) - // does not clearly define the semantics to follow when the QoSList - // contains mutually exclusive, unsupported, or unknown properties. - // I have submitted a defect report to the OMG for clarification. - // - // In the mean time, the last known/supported property found in the - // QoSList takes presidence. If any unknown/unsupported properties - // were found, an UnsupportedQoS exception is thrown. - // --jtc - - validate_log_qos (qos); - - DsLogAdmin::QoSList_var old_qos = - this->recordstore_->get_log_qos (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (qos == old_qos.in ()) - return; - - this->recordstore_->set_log_qos (qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - reset_log_qos (qos); - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->quality_of_service_value_change (this->log_.in (), - this->logid_, - old_qos.in (), - qos - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -CORBA::ULong -TAO_Log_i::get_max_record_life (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return - this->recordstore_->get_max_record_life(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_max_record_life (CORBA::ULong life - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - CORBA::ULong old_life = - this->recordstore_->get_max_record_life (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (life == old_life) - return; - - this->recordstore_->set_max_record_life (life ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (life != 0) - this->log_compaction_handler_.schedule(); - else - this->log_compaction_handler_.cancel(); - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->max_record_life_value_change (this->log_.in (), - this->logid_, - old_life, - life - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -CORBA::ULongLong -TAO_Log_i::get_max_size (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_max_size (CORBA::ULongLong size - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidParam)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - CORBA::ULongLong old_size = - this->recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (size == old_size) - return; - - // size == 0 => infinite size. - if (size != 0) - { - CORBA::ULongLong current_size = - this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (size < current_size) - ACE_THROW (DsLogAdmin::InvalidParam ()); - } - - this->recordstore_->set_max_size (size ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->max_log_size_value_change (this->log_.in (), - this->logid_, - old_size, - size - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // @@ The current revision of the specification (formal/03-07-01) - // doesn't specify the interaction between set_max_size() and the - // capacity alarm thresholds list. Publicly available documentation - // I've read for other log service implementations doesn't offer any - // guidance either. I have submitted a defect report to the OMG for - // clarification. - // - // In the mean time, we will call reset_capacity_alarm_threshold() - // to reset the "current_threshold_" index. This will result in - // ThresholdAlarm being sent when the next threshold is crossed. An - // argument could be made that an event should be be sent for each - // threshold that has already been crossed. Hopefully, this will be - // clarified when/if the OMG charters a RTF for the log service. - // --jtc - // - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::ULongLong -TAO_Log_i::get_current_size (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ULongLong -TAO_Log_i::get_n_records (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_n_records (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -DsLogAdmin::LogFullActionType -TAO_Log_i::get_log_full_action (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_log_full_action(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_log_full_action (DsLogAdmin::LogFullActionType action - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - if (action != DsLogAdmin::wrap && action != DsLogAdmin::halt) - ACE_THROW (DsLogAdmin::InvalidLogFullAction ()); - - DsLogAdmin::LogFullActionType old_action = - this->recordstore_->get_log_full_action (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (action == old_action) - return; - - this->recordstore_->set_log_full_action (action ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->log_full_action_value_change (this->log_.in (), - this->logid_, - old_action, - action - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // @@ The current revision of the specification (formal/03-07-01) - // doesn't specify the interaction between set_log_full_action() and the - // capacity alarm thresholds list. Publicly available documentation - // I've read for other log service implementations doesn't offer any - // guidance either. I have submitted a defect report to the OMG for - // clarification. - // - // In the mean time, we will call reset_capacity_alarm_threshold() - // to reset the "current_threshold_" index. This will result in - // ThresholdAlarm being sent when the next threshold is crossed. An - // argument could be made that an event should be be sent for each - // threshold that has already been crossed. Hopefully, this will be - // clarified when/if the OMG charters a RTF for the log service. - // --jtc - // - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -DsLogAdmin::AdministrativeState -TAO_Log_i::get_administrative_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_administrative_state (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_administrative_state (DsLogAdmin::AdministrativeState state - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - DsLogAdmin::AdministrativeState old_state = - this->recordstore_->get_administrative_state (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (state == old_state) - return; - - this->recordstore_->set_administrative_state (state ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->administrative_state_change (this->log_.in (), - this->logid_, - state - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -DsLogAdmin::ForwardingState -TAO_Log_i::get_forwarding_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return - this->recordstore_->get_forwarding_state (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_forwarding_state (DsLogAdmin::ForwardingState state - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - DsLogAdmin::ForwardingState old_state = - this->recordstore_->get_forwarding_state (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (state == old_state) - return; - - this->recordstore_->set_forwarding_state (state ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->forwarding_state_change (this->log_.in (), - this->logid_, - state - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -DsLogAdmin::OperationalState -TAO_Log_i::get_operational_state (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // No locks are necessary, since op_state_ is set in ::init() and - // never changed. - return this->op_state_; -} - -DsLogAdmin::TimeInterval -TAO_Log_i::get_interval (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_interval (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_interval (const DsLogAdmin::TimeInterval &interval - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidTime, - DsLogAdmin::InvalidTimeInterval)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - // validate interval - if (interval.start != 0) - { - if (interval.start >= interval.stop) - ACE_THROW (DsLogAdmin::InvalidTimeInterval ()); - } - - DsLogAdmin::TimeInterval old_interval = - this->recordstore_->get_interval (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (interval == old_interval) - return; - - this->recordstore_->set_interval (interval ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (interval.start != old_interval.start) - { - notifier_->start_time_value_change (this->log_.in (), - this->logid_, - old_interval.start, - interval.start - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (interval.stop != old_interval.stop) - { - notifier_->stop_time_value_change (this->log_.in (), - this->logid_, - old_interval.stop, - interval.stop - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -DsLogAdmin::AvailabilityStatus -TAO_Log_i::get_availability_status (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->get_availability_status_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -DsLogAdmin::AvailabilityStatus -TAO_Log_i::get_availability_status_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // The log is considered "on duty" if all the following are true: - // * operational state is enabled - // * adminstrative state is unlocked - // * current time falls within the log duration time. - // * current time falls within one (or more) of the log - // scheduling times. - - const CORBA::Boolean s = this->scheduled (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (this->avail_status_); - - DsLogAdmin::AdministrativeState admin_state = - this->recordstore_->get_administrative_state (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (this->avail_status_); - - if (this->op_state_ == DsLogAdmin::enabled - && admin_state == DsLogAdmin::unlocked - && s == 1) - { - this->avail_status_.off_duty = 0; // "on duty" - - } - else - this->avail_status_.off_duty = 1; - // The log_full flag is set by the write operations. - return this->avail_status_; -} - -DsLogAdmin::CapacityAlarmThresholdList* -TAO_Log_i::get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_capacity_alarm_thresholds (const - DsLogAdmin::CapacityAlarmThresholdList - &threshs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidThreshold)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - const CORBA::Boolean validated = - TAO_Log_i::validate_capacity_alarm_thresholds (threshs - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (!validated) - ACE_THROW (DsLogAdmin::InvalidThreshold ()); - - DsLogAdmin::CapacityAlarmThresholdList_var old_threshs = - this->recordstore_->get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (threshs == old_threshs.in ()) - return; - - this->recordstore_->set_capacity_alarm_thresholds (threshs - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->capacity_alarm_threshold_value_change (this->log_.in (), - this->logid_, - old_threshs.in (), - threshs - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // @@ The current revision of the specification (formal/03-07-01) - // doesn't completly describe the behavior of changing the capacity - // alarm threshold list. Publicly available documentation I've read - // for other log service implementations doesn't offer much guidance - // either. I have submitted a defect report to the OMG for - // clarification. - // - // In the mean time, we will call reset_capacity_alarm_threshold() - // to reset the "current_threshold_" index. This will result in - // ThresholdAlarm being sent when the next threshold is crossed. An - // argument could be made that an event should be be sent for each - // threshold that has already been crossed. Hopefully, this will be - // clarified when/if the OMG charters a RTF for the log service. - // --jtc - // - this->thresholds_ = threshs; - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -DsLogAdmin::WeekMask* -TAO_Log_i::get_week_mask (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->get_week_mask (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Log_i::set_week_mask (const DsLogAdmin::WeekMask &masks - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidTime, - DsLogAdmin::InvalidTimeInterval, - DsLogAdmin::InvalidMask)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - validate_week_mask (masks ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - DsLogAdmin::WeekMask_var old_masks = - this->recordstore_->get_week_mask (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) is - // unclear whether an AttributeValueChange event should be sent if a - // log attribute was changed (to a new value), or whether the events - // should be sent unconditionally. I have submitted a defect report - // to the OMG for clarification. - // - // In the mean time, we're interepreting it to mean that events are - // only sent when the value has changed. - if (masks == old_masks.in ()) - return; - - this->recordstore_->set_week_mask (masks ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->reset_week_mask (masks ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (notifier_) - { - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->week_mask_value_change (this->log_.in (), - this->logid_, - old_masks.in (), - masks - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -DsLogAdmin::RecordList* -TAO_Log_i::query (const char *grammar, - const char *constraint, - DsLogAdmin::Iterator_out iter_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->query (grammar, - constraint, - iter_out - ACE_ENV_ARG_PARAMETER); -} - -DsLogAdmin::RecordList* -TAO_Log_i::retrieve (DsLogAdmin::TimeT from_time, - CORBA::Long how_many, - DsLogAdmin::Iterator_out iter_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->retrieve (from_time, - how_many, - iter_out - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ULong -TAO_Log_i::match (const char* grammar, - const char *constraint - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - const CORBA::ULong count = - this->recordstore_->match (grammar, - constraint - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return count; -} - -CORBA::ULong -TAO_Log_i::delete_records (const char *grammar, - const char *constraint - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - const CORBA::ULong count = - this->recordstore_->delete_records (grammar, - constraint - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (count > 0) - { - if (avail_status_.log_full) - { - const CORBA::ULongLong current_size = - this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - const CORBA::ULongLong max_size = - this->recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (current_size < max_size) - { - avail_status_.log_full = 0; - } - } - - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return count; -} - -CORBA::ULong -TAO_Log_i::delete_records_by_id (const DsLogAdmin::RecordIdList &ids - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - const CORBA::ULong count = - this->recordstore_->delete_records_by_id (ids ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (count > 0) - { - if (avail_status_.log_full) - { - const CORBA::ULongLong current_size = - this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - const CORBA::ULongLong max_size = - this->recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (current_size < max_size) - { - avail_status_.log_full = 0; - } - } - - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return count; -} - -void -TAO_Log_i::write_records (const DsLogAdmin::Anys &records - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::LogFull, - DsLogAdmin::LogOffDuty, - DsLogAdmin::LogLocked, - DsLogAdmin::LogDisabled)) -{ - // create a record list.. - DsLogAdmin::RecordList reclist (records.length ()); - reclist.length (records.length ()); - - for (CORBA::ULong i = 0; i < records.length (); ++i) - { - reclist [i].info = records[i]; - } - - this->write_recordlist (reclist ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Log_i::write_recordlist (const DsLogAdmin::RecordList &reclist - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::LogFull, - DsLogAdmin::LogOffDuty, - DsLogAdmin::LogLocked, - DsLogAdmin::LogDisabled)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - DsLogAdmin::LogFullActionType log_full_action = - this->recordstore_->get_log_full_action (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - DsLogAdmin::AdministrativeState admin_state = - this->recordstore_->get_administrative_state (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // @@ The current revision of the specification (formal/03-07-01) - // does not explicitly specify the preference of exceptions to be - // thrown when multiple error conditions are present. - // - // However, the because log is considered off duty if the log's - // operational state is disabled or its administrative state is - // locked, we handle the LogOffDuty exception last so the more - // specific LogLocked and LogDisabled exceptions will be thrown. - - DsLogAdmin::AvailabilityStatus avail_stat = - this->get_availability_status_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (admin_state == DsLogAdmin::locked) - { - ACE_THROW (DsLogAdmin::LogLocked ()); - } - else if (this->op_state_ == DsLogAdmin::disabled) - { - ACE_THROW (DsLogAdmin::LogDisabled ()); - } - else if (avail_stat.off_duty == 1) - { - ACE_THROW (DsLogAdmin::LogOffDuty ()); - } - - CORBA::Short num_written (0); - - for (CORBA::ULong i = 0; i < reclist.length (); i++) - { - // retval == 1 => log store reached max size. - - int retval = this->recordstore_->log (reclist[i] ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (retval == 1) - { - // The Log is full . check what the policy is and take - // appropriate action. - if (log_full_action == DsLogAdmin::halt) - { - avail_status_.log_full = 1; - ACE_THROW (DsLogAdmin::LogFull (num_written)); - } - - // the policy is to wrap. for this we need to delete a few - // records. let the record store decide how many. - - if (this->recordstore_->purge_old_records (ACE_ENV_SINGLE_ARG_PARAMETER) == -1) - ACE_THROW (CORBA::PERSIST_STORE ()); - - // Now, we want to attempt to write the same record again - // so decrement the index to balance the inc. in the for loop. - --i; - } - else if (retval == 0) - { - num_written++; - - this->check_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - else - { - ACE_THROW (CORBA::PERSIST_STORE ()); - } - } // for -} - -void -TAO_Log_i::set_record_attribute (DsLogAdmin::RecordId id, - const DsLogAdmin::NVList &attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId, - DsLogAdmin::InvalidAttribute)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK; - - this->recordstore_->set_record_attribute (id, attr_list - ACE_ENV_ARG_PARAMETER); -} - -CORBA::ULong -TAO_Log_i::set_records_attribute (const char *grammar, - const char *constraint, - const DsLogAdmin::NVList - &attr_list ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint, - DsLogAdmin::InvalidAttribute)) -{ - ACE_WRITE_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->recordstore_->set_records_attribute (grammar, - constraint, - attr_list - ACE_ENV_ARG_PARAMETER); -} - -DsLogAdmin::NVList* -TAO_Log_i::get_record_attribute (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId)) -{ - ACE_READ_GUARD_THROW_EX (ACE_SYNCH_RW_MUTEX, - guard, - this->recordstore_->lock (), - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - - return this->recordstore_->get_record_attribute (id - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Log_i::flush (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::UnsupportedQoS)) -{ - /// XXX locks? - this->recordstore_->flush (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_Log_i::scheduled (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - DsLogAdmin::TimeInterval interval = - this->recordstore_->get_interval (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TimeBase::TimeT current_time; - ACE_Time_Value now = ACE_OS::gettimeofday (); - ORBSVCS_Time::Time_Value_to_TimeT (current_time, now); - - if ((current_time >= interval.start) && - ((current_time <= interval.stop) || (interval.stop == 0)) ) - { - if (weekly_intervals_.length () > 0) - { - // work out when sunday is in nanoseconds. - timeval t; - t = (timeval) now; - struct tm *sunday; - - time_t clock = (time_t) t.tv_sec; - sunday = ACE_OS::localtime (&clock); - - sunday->tm_sec = 0; - sunday->tm_min = 0; - sunday->tm_hour = 0; - sunday->tm_mday -= sunday->tm_wday; - - t.tv_sec = ACE_OS::mktime (sunday) ; - t.tv_usec = 0; - - TimeBase::TimeT nano_sunday = - (CORBA::ULongLong) t.tv_sec * 10000000; - - for (CORBA::ULong i = 0; i < weekly_intervals_.length (); ++i) - { - if (current_time >= (weekly_intervals_[i].start + nano_sunday) && - current_time <= (weekly_intervals_[i].stop + nano_sunday)) - { - return true; - } - } - return false; - } - else - return true; - } - else - return false; -} - -void -TAO_Log_i::copy_attributes (DsLogAdmin::Log_ptr log - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - const DsLogAdmin::LogFullActionType log_full_action = - this->get_log_full_action (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_log_full_action (log_full_action - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const CORBA::ULongLong max_size = - this->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_max_size (max_size - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - DsLogAdmin::QoSList_var log_qos = - this->get_log_qos (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_log_qos (log_qos.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const CORBA::ULong max_record_life = - this->get_max_record_life (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_max_record_life (max_record_life - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const DsLogAdmin::AdministrativeState adminstrative_state = - this->get_administrative_state (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_administrative_state (adminstrative_state - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const DsLogAdmin::ForwardingState forwarding_state = - this->get_forwarding_state (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_forwarding_state (forwarding_state - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const DsLogAdmin::TimeInterval interval = - this->get_interval (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_interval (interval - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - DsLogAdmin::CapacityAlarmThresholdList_var capacity_list = - this->get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_capacity_alarm_thresholds (capacity_list.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - DsLogAdmin::WeekMask_var week_mask = - this->get_week_mask (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - log->set_week_mask (week_mask.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Log_i::remove_old_records (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - const CORBA::ULong count = - this->recordstore_->remove_old_records (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (count > 0) - { - if (avail_status_.log_full) - { - const CORBA::ULongLong current_size = - this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - const CORBA::ULongLong max_size = - this->recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (current_size < max_size) - { - avail_status_.log_full = 0; - } - } - - this->reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_Log_i::check_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - const CORBA::ULongLong max_size = - this->recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (max_size != 0 && this->thresholds_.length () > 0) - { - const DsLogAdmin::LogFullActionType log_full_action = - this->recordstore_->get_log_full_action (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULongLong current_size = - ((log_full_action == DsLogAdmin::wrap) - ? this->recordstore_->get_gauge (ACE_ENV_SINGLE_ARG_PARAMETER) - : this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK; - - const CORBA::UShort percent = - static_cast (((double) ACE_UINT64_DBLCAST_ADAPTER (current_size * 100U) / - (double) ACE_UINT64_DBLCAST_ADAPTER (max_size))); - - while (current_threshold_ < this->thresholds_.length () - && this->thresholds_[this->current_threshold_] <= percent) - { - if (notifier_) - { - const DsLogNotification::PerceivedSeverityType severity = - ((percent == 100) - ? DsLogNotification::critical - : DsLogNotification::minor); - - // @@ Calling create_log_reference () in the ctor or in ::init() - // leads to an infinate loop. This should be removed when that - // is fixed. - if (CORBA::is_nil (this->log_.in ())) - { - this->log_ = logmgr_i_.create_log_reference (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - notifier_->threshold_alarm ( - this->log_.in (), - logid_, - this->thresholds_[this->current_threshold_], - percent, - severity - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "threshold of %d breached\n", - this->thresholds_[this->current_threshold_])); - } - - ++this->current_threshold_; - } - - // "When a log object is created with the wrap option, the - // capacity threshold alarms are triggered as if coupled to a - // gauge that counts from zero to the highest capacity threshold - // value defined and then resets to zero." - if (log_full_action == DsLogAdmin::wrap - && this->current_threshold_ == this->thresholds_.length ()) - { - this->recordstore_->reset_gauge (); - this->current_threshold_ = 0; - } - } -} - -void -TAO_Log_i::reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - const CORBA::ULongLong max_size = - this->recordstore_->get_max_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (max_size != 0 && this->thresholds_.length() > 0) - { - const DsLogAdmin::LogFullActionType log_full_action = - this->recordstore_->get_log_full_action (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (log_full_action == DsLogAdmin::halt) - { - const CORBA::ULongLong current_size = - this->recordstore_->get_current_size (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - const CORBA::UShort percent = - static_cast ((((double) ACE_UINT64_DBLCAST_ADAPTER (current_size * 100U)) / - (double) ACE_UINT64_DBLCAST_ADAPTER (max_size))); - - this->current_threshold_ = 0; - - while (this->current_threshold_ < this->thresholds_.length () - && this->thresholds_[this->current_threshold_] <= percent) - ++this->current_threshold_; - } - } -} - -CORBA::Boolean -TAO_Log_i::validate_capacity_alarm_thresholds ( - const DsLogAdmin::CapacityAlarmThresholdList & threshs - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - for (CORBA::ULong i = 0; i < threshs.length (); i++) - if (threshs[i] > 100) - return false; - - // @@ The current revision of the specification (formal/03-07-01) - // does not require theshold values be in order or unique. This - // appears to be an TAO TLS implementation artifact for efficent - // threshold checks. We could eliminate this restriction by - // normalizing the sequence. - - if (threshs.length () > 1) - for (CORBA::ULong i = 0; i < threshs.length () - 1; i++) - if (threshs[i] >= threshs[i + 1]) - return false; - - return true; -} - -void -TAO_Log_i::reset_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL_NOT_USED) -{ - // @@ The current revision of the specification (formal/03-07-01) - // does not clearly define the semantics to follow when the QoSList - // contains mutually exclusive, unsupported, or unknown properties. - // I have submitted a defect report to the OMG for clarification. - // - // In the mean time, the last property found in the QoSList takes - // presidence. - // --jtc - - DsLogAdmin::QoSType qostype = DsLogAdmin::QoSNone; - - for (CORBA::ULong i = 0; i < qos.length (); ++i) - { - qostype = qos[i]; - } - - this->qostype_ = qostype; - - if (this->qostype_ == DsLogAdmin::QoSFlush) - this->log_flush_handler_.schedule (); - else - this->log_flush_handler_.cancel (); -} - -void -TAO_Log_i::validate_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::UnsupportedQoS)) -{ - DsLogAdmin::QoSList denied; - - // validate properties.. - for (CORBA::ULong i = 0; i < qos.length (); ++i) - { - DsLogAdmin::QoSType qostype = qos[i]; - if (qostype != DsLogAdmin::QoSNone && - qostype != DsLogAdmin::QoSFlush && - qostype != DsLogAdmin::QoSReliability) - { - CORBA::ULong len = denied.length(); - denied.length(len + 1); - denied[len] = qostype; - } - } - - // if there were any unknown/unsupported properties, thrown an - // exception. - if (denied.length() != 0) - { - ACE_THROW (DsLogAdmin::UnsupportedQoS (denied)); - } -} - -void -TAO_Log_i::reset_week_mask (const DsLogAdmin::WeekMask& masks - ACE_ENV_ARG_DECL_NOT_USED) -{ - CORBA::ULong count = 0; - weekly_intervals_.length (100); - - // convert the weekmask into a sequence of time intervals. - for (CORBA::ULong k = 0; k < masks.length (); ++k) - { - for (CORBA::ULong j = 0; j < masks[k].intervals.length (); ++j) - { - for (int d = 0; d < 7; ++d) - { - if ( (1 << d) & masks[k].days) - { - DsLogAdmin::TimeInterval temp_interval; - - temp_interval.start = - CORBA::ULongLong ( - (d * 3600* 24) + - (masks[k].intervals[j].start.hour * 3600) + - (masks[k].intervals[j].start.minute * 60)) * 10000000; - - temp_interval.stop = - CORBA::ULongLong ( - (d * 3600* 24) + - (masks[k].intervals[j].stop.hour * 3600) + - (masks[k].intervals[j].stop.minute * 60)) * 10000000; - - weekly_intervals_[count] = temp_interval; - ++count; - } - } - } - } - weekly_intervals_.length (count); - - //TODO: SORT AND CLEAN -} - -void -TAO_Log_i::validate_week_mask (const DsLogAdmin::WeekMask& masks - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::InvalidTime, - DsLogAdmin::InvalidTimeInterval, - DsLogAdmin::InvalidMask)) -{ - for (CORBA::ULong i = 0; i < masks.length (); ++i) - { - if (masks[i].days > (DsLogAdmin::Sunday + - DsLogAdmin::Monday + - DsLogAdmin::Tuesday + - DsLogAdmin::Wednesday + - DsLogAdmin::Thursday + - DsLogAdmin::Friday + - DsLogAdmin::Saturday) - ) - ACE_THROW (DsLogAdmin::InvalidMask ()); - - for (CORBA::ULong j = 0; j < masks[i].intervals.length (); ++j) - { - if (masks[i].intervals[j].start.hour > 23 || - masks[i].intervals[j].start.minute > 59 || - masks[i].intervals[j].stop.hour > 23 || - masks[i].intervals[j].stop.minute > 59) - ACE_THROW (DsLogAdmin::InvalidTime ()); - - if (masks[i].intervals[j].stop.hour < - masks[i].intervals[j].start.hour) - ACE_THROW (DsLogAdmin::InvalidTimeInterval ()); - - if (masks[i].intervals[j].stop.hour == - masks[i].intervals[j].start.hour && - masks[i].intervals[j].stop.minute <= - masks[i].intervals[j].start.minute) - ACE_THROW (DsLogAdmin::InvalidTimeInterval ()); - } - } -} - - -bool -operator==(const DsLogAdmin::CapacityAlarmThresholdList& rhs, - const DsLogAdmin::CapacityAlarmThresholdList& lhs) -{ - const CORBA::ULong length = rhs.length (); - - if (length != lhs.length ()) - { - return false; - } - - for (CORBA::ULong i = 0; i < length; ++i) - { - if (rhs[i] != lhs[i]) - { - return false; - } - } - - return true; -} - -bool -operator!=(const DsLogAdmin::CapacityAlarmThresholdList& rhs, - const DsLogAdmin::CapacityAlarmThresholdList& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::IntervalsOfDay& rhs, - const DsLogAdmin::IntervalsOfDay& lhs) -{ - const CORBA::ULong length = rhs.length (); - - if (length != lhs.length ()) - { - return false; - } - - for (CORBA::ULong i = 0; i < length; ++i) - { - if (rhs[i] != lhs[i]) - { - return false; - } - } - - return true; -} - -bool -operator!=(const DsLogAdmin::IntervalsOfDay& rhs, - const DsLogAdmin::IntervalsOfDay& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::QoSList& rhs, - const DsLogAdmin::QoSList& lhs) -{ - const CORBA::ULong length = rhs.length (); - - if (length != lhs.length ()) - { - return false; - } - - for (CORBA::ULong i = 0; i < length; ++i) - { - if (rhs[i] != lhs[i]) - { - return false; - } - } - - return true; -} - -bool -operator!=(const DsLogAdmin::QoSList& rhs, - const DsLogAdmin::QoSList& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::Time24& rhs, - const DsLogAdmin::Time24& lhs) -{ - return (rhs.hour == lhs.hour && - rhs.minute == lhs.minute); -} - -bool -operator!=(const DsLogAdmin::Time24& rhs, - const DsLogAdmin::Time24& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::Time24Interval& rhs, - const DsLogAdmin::Time24Interval& lhs) -{ - return (rhs.start == lhs.start && - rhs.stop == lhs.stop); -} - -bool -operator!=(const DsLogAdmin::Time24Interval& rhs, - const DsLogAdmin::Time24Interval& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::TimeInterval& rhs, - const DsLogAdmin::TimeInterval& lhs) -{ - return (rhs.start == lhs.start && - rhs.stop == lhs.stop); -} - -bool -operator!=(const DsLogAdmin::TimeInterval& rhs, - const DsLogAdmin::TimeInterval& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::WeekMaskItem& rhs, - const DsLogAdmin::WeekMaskItem& lhs) -{ - return (rhs.days == lhs.days && - rhs.intervals == lhs.intervals); -} - -bool -operator!=(const DsLogAdmin::WeekMaskItem& rhs, - const DsLogAdmin::WeekMaskItem& lhs) -{ - return !(lhs == rhs); -} - - -bool -operator==(const DsLogAdmin::WeekMask& rhs, - const DsLogAdmin::WeekMask& lhs) -{ - const CORBA::ULong length = rhs.length (); - - if (length != lhs.length ()) - { - return false; - } - - for (CORBA::ULong i = 0; i < length; ++i) - { - if (rhs[i] != lhs[i]) - { - return false; - } - } - - return true; -} - -bool -operator!=(const DsLogAdmin::WeekMask& rhs, - const DsLogAdmin::WeekMask& lhs) -{ - return !(lhs == rhs); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/Log_i.h b/TAO/orbsvcs/orbsvcs/Log/Log_i.h deleted file mode 100644 index 38d0ffa0e54..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/Log_i.h +++ /dev/null @@ -1,509 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Log_i.h - * - * $Id$ - * - * Implementation of the DsLogAdmin::Log interface. - * - * @author Matthew Braun - * @author Pradeep Gore - * @author David A. Hanvey - */ -//============================================================================= - - -#ifndef TAO_TLS_LOG_I_H -#define TAO_TLS_LOG_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Log/LogRecordStore.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Log/Log_Compaction_Handler.h" -#include "orbsvcs/Log/Log_Flush_Handler.h" -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/LogRecordStore.h" -#include "orbsvcs/DsLogAdminS.h" -#include "ace/Reactor.h" -#include "orbsvcs/Log/log_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; - -/** - * @class TAO_Log_i - * - * @brief Used to log events to a logging server - * - * This implementation attempts to conform to the telecom - * logging specification. - */ -class TAO_Log_Serv_Export TAO_Log_i : public virtual POA_DsLogAdmin::Log -{ - -public: - - /// Constructor. - TAO_Log_i (CORBA::ORB_ptr orb, - TAO_LogMgr_i& logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - DsLogAdmin::LogId id, - TAO_LogNotification *log_notifier); - - /// Destructor. - ~TAO_Log_i (); - - /// Initlialize the Log. - void init (ACE_ENV_SINGLE_ARG_DECL); - - /** - * @name DsLogAdmin::Log Methods - * - * DsLogAdmin::Log methods. - */ - //@{ - /// Return the factory of the log. - DsLogAdmin::LogMgr_ptr my_factory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the id of the log. - DsLogAdmin::LogId id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the list of the QoS properties supported by the log. - DsLogAdmin::QoSList* - get_log_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the list of the QoS properties supported by the log. - void set_log_qos (const DsLogAdmin::QoSList & qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::UnsupportedQoS)); - - /// Get the record life in seconds (0 infinite). - CORBA::ULong - get_max_record_life (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the record life in seconds (0 infinite). - void - set_max_record_life (CORBA::ULong life - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the maximum size in octets. - CORBA::ULongLong - get_max_size (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the maximum size in octets. - void - set_max_size (CORBA::ULongLong size - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidParam)); - - /// Get the current size of the log in octets. - CORBA::ULongLong - get_current_size (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the number of records in the log. - CORBA::ULongLong - get_n_records (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the action to be taken when the log reaches its maximum size. - DsLogAdmin::LogFullActionType - get_log_full_action (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the action to be taken when the log reaches its maximum size. - void - set_log_full_action (DsLogAdmin::LogFullActionType action - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction)); - - /// Get the administrative state of the log. - DsLogAdmin::AdministrativeState - get_administrative_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the administrative state of the log. - void - set_administrative_state (DsLogAdmin::AdministrativeState state - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the forwarding state of the log. - /// @@ Note: is it ok to make this method virtual? - /// @@@ Of course! get_forwarding_state() is virtual in the base - /// class dictated by the IDL! -Ossama - virtual DsLogAdmin::ForwardingState - get_forwarding_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the forwarding state of the log. - /// @@ Note: is it ok to make this method virtual? - void - set_forwarding_state (DsLogAdmin::ForwardingState state - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the operational state of the log. - DsLogAdmin::OperationalState - get_operational_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the log duration - DsLogAdmin::TimeInterval - get_interval (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the log duration. - void - set_interval (const DsLogAdmin::TimeInterval & interval - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidTime, - DsLogAdmin::InvalidTimeInterval)); - - /// Get the availability status - DsLogAdmin::AvailabilityStatus - get_availability_status (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Get the capacity alarm threshold - DsLogAdmin::CapacityAlarmThresholdList* - get_capacity_alarm_thresholds (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Set the capacity alarm threshold. Threshold values represent - * percentage levels at which the log should emit events to signal - * that a log full or log wrap condition is approaching. If the log - * is set to wrap, the thresholds are relative to the log size - * between wraps (after a wrap, the percentage full resets to - * 0). - */ - void - set_capacity_alarm_thresholds - (const DsLogAdmin::CapacityAlarmThresholdList & threshs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidThreshold)); - - /// Get the weekly scheduling parameters - DsLogAdmin::WeekMask* - get_week_mask (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the weekly scheduling parameters. - void - set_week_mask (const DsLogAdmin::WeekMask & masks - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidTime, - DsLogAdmin::InvalidTimeInterval, - DsLogAdmin::InvalidMask)); - - /// Returns all records in the log that match the given constraint - /// . - DsLogAdmin::RecordList* - query (const char * grammar, - const char * c, - DsLogAdmin::Iterator_out i - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)); - - /// Retrieve records from time using iterator - /// . - DsLogAdmin::RecordList* - retrieve (DsLogAdmin::TimeT from_time, - CORBA::Long how_many, - DsLogAdmin::Iterator_out i - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Returns the number of records matching constraint . - CORBA::ULong - match (const char * grammar, - const char * c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)); - - /// Delete records matching constraint . - CORBA::ULong - delete_records (const char * grammar, - const char * c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint)); - - /// Delete records matching ids in - CORBA::ULong - delete_records_by_id (const DsLogAdmin::RecordIdList & ids - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - /// Write records to the log storage. - void - write_records (const DsLogAdmin::Anys & records - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::LogFull, - DsLogAdmin::LogOffDuty, - DsLogAdmin::LogLocked, - DsLogAdmin::LogDisabled)); - - /// Write a list of record ids to storage. Raises DsLogAdmin::LogFull - /// and DsLogAdmin::LogLocked - void - write_recordlist (const DsLogAdmin::RecordList & list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::LogFull, - DsLogAdmin::LogOffDuty, - DsLogAdmin::LogLocked, - DsLogAdmin::LogDisabled)); - - /// Set single record attributes. - void - set_record_attribute (DsLogAdmin::RecordId id, - const DsLogAdmin::NVList & attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId, - DsLogAdmin::InvalidAttribute)); - - /// Set the attributes of all records that matches the - /// constraints with same attr_list. - CORBA::ULong - set_records_attribute (const char * grammar, - const char * c, - const DsLogAdmin::NVList & attr_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidGrammar, - DsLogAdmin::InvalidConstraint, - DsLogAdmin::InvalidAttribute)); - - /// Get the attributes of the record with id . Raises - /// DsLogAdmin::InvalidRecordId - DsLogAdmin::NVList* - get_record_attribute (DsLogAdmin::RecordId id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::InvalidRecordId)); - - /// Causes all pending events to be written to storage. Raises - /// DsLogAdmin::UnsupportedQos - void - flush (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - DsLogAdmin::UnsupportedQoS)); - //@} - - /// Remove records that have exceeded max_record_life_. - void remove_old_records (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - /// Get the availability status - /// @note must be called with locks held - DsLogAdmin::AvailabilityStatus - get_availability_status_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Tells if the Log is scheduled to run now. - /// @note must be called with locks held - CORBA::Boolean scheduled (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Copy the attributes of the log being passed. - void copy_attributes (DsLogAdmin::Log_ptr log - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Check if threshold reached. - void check_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Reset capacity alarm threshold. - void reset_capacity_alarm_threshold (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Check that valid threshold values have been given. - static CORBA::Boolean validate_capacity_alarm_thresholds ( - const DsLogAdmin::CapacityAlarmThresholdList & threshs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Reset Log QoS - void reset_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL); - - /// Validate log QoS - void validate_log_qos (const DsLogAdmin::QoSList& qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::UnsupportedQoS)); - - /// Reset Week Mask - /// - /// Used to initialize internal data structures that represent the - /// week mask list when the log service starts, and to reinitialize - /// them when they are changed. - /// - void reset_week_mask (const DsLogAdmin::WeekMask& masks - ACE_ENV_ARG_DECL); - - /// Validate Week Mask - /// - /// Used to check whether week mask is valid. If not, throws an - /// InvalidTime, InvalidTimeInterval, or InvalidMask exception. - /// - void validate_week_mask (const DsLogAdmin::WeekMask& masks - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::InvalidTime, - DsLogAdmin::InvalidTimeInterval, - DsLogAdmin::InvalidMask)); - -protected: - /// Reference to the LogMgr servant - TAO_LogMgr_i& logmgr_i_; - - /// The log's object reference - DsLogAdmin::Log_var log_; - - /// The log's factory's object reference - DsLogAdmin::LogMgr_var factory_; - - /// The log's id - DsLogAdmin::LogId logid_; - - /// The log's operational state - DsLogAdmin::OperationalState op_state_; - - /// The log's availability status - DsLogAdmin::AvailabilityStatus avail_status_; - - /// The list of points at which the log should generate events - /// indicating approaching full capacity - DsLogAdmin::CapacityAlarmThresholdList thresholds_; - - /// The next capacity alarm threshold. - CORBA::ULong current_threshold_; - - /// A Sequence of the weekly intervals when the log is in operation. - DsLogAdmin::TimeIntervalSeq weekly_intervals_; - - /// The QoS type of the log - DsLogAdmin::QoSType qostype_; - - /// The reactor used for timing (startup and shutdown), etc - ACE_Reactor *reactor_; - - /// The storage for all the records - TAO_LogRecordStore* recordstore_; - - /// For sending Log Generated events. - TAO_LogNotification* notifier_; - - /// Log Compaction Handler - TAO_Log_Compaction_Handler log_compaction_handler_; - - /// Log Compaction Interval - static const ACE_Time_Value log_compaction_interval_; - - /// Log Flush Handler - TAO_Log_Flush_Handler log_flush_handler_; - - /// Log Flush Interval - static const ACE_Time_Value log_flush_interval_; -}; - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::CapacityAlarmThresholdList& rhs, - const DsLogAdmin::CapacityAlarmThresholdList& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::CapacityAlarmThresholdList& rhs, - const DsLogAdmin::CapacityAlarmThresholdList& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::IntervalsOfDay& rhs, - const DsLogAdmin::IntervalsOfDay& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::IntervalsOfDay& rhs, - const DsLogAdmin::IntervalsOfDay& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::QoSList& rhs, - const DsLogAdmin::QoSList& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::QoSList& rhs, - const DsLogAdmin::QoSList& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::Time24& rhs, - const DsLogAdmin::Time24& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::Time24& rhs, - const DsLogAdmin::Time24& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::Time24Interval& rhs, - const DsLogAdmin::Time24Interval& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::Time24Interval& rhs, - const DsLogAdmin::Time24Interval& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::TimeInterval& rhs, - const DsLogAdmin::TimeInterval& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::TimeInterval& rhs, - const DsLogAdmin::TimeInterval& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::WeekMaskItem& rhs, - const DsLogAdmin::WeekMaskItem& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::WeekMaskItem& rhs, - const DsLogAdmin::WeekMaskItem& lhs); - -bool TAO_Log_Serv_Export -operator==(const DsLogAdmin::WeekMask& rhs, - const DsLogAdmin::WeekMask& lhs); - -bool TAO_Log_Serv_Export -operator!=(const DsLogAdmin::WeekMask& rhs, - const DsLogAdmin::WeekMask& lhs); - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_TLS_LOG_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp b/TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp deleted file mode 100644 index 97f1a9803f1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp +++ /dev/null @@ -1,144 +0,0 @@ -#include "orbsvcs/Log/NotifyLog_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogNotification.h" - -ACE_RCSID (Log, - NotifyLogConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_LogConsumer::TAO_Notify_LogConsumer (TAO_NotifyLog_i *log) -: log_ (log) -{ -} - -TAO_Notify_LogConsumer::~TAO_Notify_LogConsumer (void) -{ -} - -void -TAO_Notify_LogConsumer::connect ( - CosNotifyChannelAdmin::ConsumerAdmin_ptr consumer_admin - ACE_ENV_ARG_DECL) -{ - // Activate the consumer with the default_POA_ - CosNotifyComm::PushConsumer_var objref = - this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - CosNotifyChannelAdmin::ProxySupplier_var proxysupplier = - consumer_admin->obtain_notification_push_supplier (CosNotifyChannelAdmin::ANY_EVENT, proxy_supplier_id_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_ASSERT (!CORBA::is_nil (proxysupplier.in ())); - - // narrow - this->proxy_supplier_ = - CosNotifyChannelAdmin::ProxyPushSupplier:: - _narrow (proxysupplier.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_ASSERT (!CORBA::is_nil (proxy_supplier_.in ())); - - proxy_supplier_->connect_any_push_consumer (objref.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -} - -void -TAO_Notify_LogConsumer::disconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - this->proxy_supplier_-> - disconnect_push_supplier(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_LogConsumer::offer_change - (const CosNotification::EventTypeSeq & /*added*/, - const CosNotification::EventTypeSeq & /*removed*/ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyComm::InvalidEventType - )) -{ - // No-Op. -} - -void -TAO_Notify_LogConsumer::push - (const CORBA::Any& event - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventComm::Disconnected - )) -{ - // create a record list... - DsLogAdmin::RecordList recList (1); - recList.length (1); - - recList [0].info = event; - - // @@ The current revision of the specification (formal/03-07-01) - // states: - // - // * When a push operation is invoked and a log is full, then a - // NO_RESOURCE (sic) SystemException is raised with a LOGFULL - // minor code. - // - // * When a push operation is invoked on a log that is off-duty, - // then a NO_RESOURCE (sic) SystemException is raised with a - // LOGOFFDUTY minor code. - // - // * When a push operation is invoked on a log that is locked, then - // a NO_PERMISSIONS (sic) SystemException is raised with a LOGLOCKED - // minor code. - // - // * When a push operation is invoked on a log that is disabled, - // then a TRANSIENT SystemException is raised with a LOGDISABLED - // minor code. - // - // But neither the Telecom Logging or the CORBA specification define - // the values for these minor codes. - // - // I have submitted a defect report to the OMG for clarification. - // --jtc - ACE_TRY - { - // log the RecordList. - this->log_->write_recordlist (recList ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (DsLogAdmin::LogFull, ex) - { - ACE_THROW (CORBA::NO_RESOURCES ()); - } - ACE_CATCH (DsLogAdmin::LogOffDuty, ex) - { - ACE_THROW (CORBA::NO_RESOURCES ()); - } - ACE_CATCH (DsLogAdmin::LogLocked, ex) - { - ACE_THROW (CORBA::NO_PERMISSION ()); - } - ACE_CATCH (DsLogAdmin::LogDisabled, ex) - { - ACE_THROW (CORBA::TRANSIENT ()); - } - ACE_ENDTRY; -} - -void -TAO_Notify_LogConsumer::disconnect_push_consumer - (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.h b/TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.h deleted file mode 100644 index c464e91f8d4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogConsumer.h +++ /dev/null @@ -1,117 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file NotifyLogConsumer.h - * - * $Id$ - * - * The NotifyLogConsumer connects to the NotifyLog and logs the events - * that are pushed to the NotifyLog. - * - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_NOTIFYLOGCONSUMER_H -#define TAO_TLS_NOTIFYLOGCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsNotifyLogAdminS.h" -#include "orbsvcs/Log/Log_i.h" - -#include "orbsvcs/Log/notifylog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_NotifyLog_i; -class TAO_NotifyLogFactory_i; - -/** - * @class TAO_Notify_LogConsumer - * - * @brief An implementation of the PushConsumer interface. - * - * Connects to the NotifyLog and writes LogRecords to the - * Log when events are 'pushed' to the NotifyLog which is an - * EventChannel. - */ -class TAO_Notify_LogConsumer : - public virtual POA_CosNotifyComm::PushConsumer -{ -public: - // = Initialization and Termination methods. - - /// Constructor. - TAO_Notify_LogConsumer (TAO_NotifyLog_i *log); - - /// Connect to NotifyLog. - void connect (CosNotifyChannelAdmin::ConsumerAdmin_ptr consumer_admin ACE_ENV_ARG_DECL); - - /// Disconnect from NotifyLog. - virtual void disconnect (ACE_ENV_SINGLE_ARG_DECL); - -protected: - /// Destructor. - 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 - )); - - // = PushSupplier methods - virtual void push ( - const CORBA::Any & event - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventComm::Disconnected - )); - - virtual void disconnect_push_consumer ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// ProxyPushSupplier used to connect to NotifyLog. - CosNotifyChannelAdmin::ProxyPushSupplier_var proxy_supplier_; - - /// The ID of the proxySupplier. - CosNotifyChannelAdmin::ProxyID proxy_supplier_id_; - - /// The NotifyLog that this consumer connects to - /// and whose events are to be logged. - TAO_NotifyLog_i *log_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_NOTIFYLOGCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp deleted file mode 100644 index 32af058cd1c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp +++ /dev/null @@ -1,462 +0,0 @@ -#include "orbsvcs/Log/NotifyLogFactory_i.h" -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/NotifyLogNotification.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID (Log, - NotifyLogFactory_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_NotifyLogFactory_i::TAO_NotifyLogFactory_i (void) -{ -} - -TAO_NotifyLogFactory_i::TAO_NotifyLogFactory_i (CosNotifyChannelAdmin::EventChannelFactory_ptr ecf) -: notify_factory_ (ecf) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - CosNotifyChannelAdmin::ChannelID id; - CosNotifyChannelAdmin::AdminID adminID = 0; - CosNotification::QoSProperties initial_qos; - CosNotification::AdminProperties initial_admin; - - this->event_channel_ = - this->notify_factory_->create_channel (initial_qos, - initial_admin, - id - ACE_ENV_ARG_PARAMETER); - - this->consumer_admin_ = this->event_channel_->new_for_consumers(CosNotifyChannelAdmin::OR_OP, adminID); - - CosNotification::EventTypeSeq added(1); - CosNotification::EventTypeSeq removed (0); - added.length (1); - removed.length (0); - - added[0].domain_name = CORBA::string_dup ("*"); - added[0].type_name = CORBA::string_dup ("*"); - - this->consumer_admin_->subscription_change (added, removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_NEW_THROW_EX (this->notifier_, - TAO_NotifyLogNotification(this->event_channel_.in ()), - CORBA::NO_MEMORY ()); -} - -TAO_NotifyLogFactory_i::~TAO_NotifyLogFactory_i() -{ - // No-Op. -} - -DsNotifyLogAdmin::NotifyLogFactory_ptr -TAO_NotifyLogFactory_i::activate (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) -{ - TAO_LogMgr_i::init (orb, poa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLogFactory::_nil ()); - - - PortableServer::ObjectId_var oid = - this->factory_poa_->activate_object (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLogFactory::_nil ()); - - CORBA::Object_var obj = - this->factory_poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLogFactory::_nil ()); - - // narrow and store the result.. - this->log_mgr_ = - DsLogAdmin::LogMgr::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLogFactory::_nil ()); - - DsNotifyLogAdmin::NotifyLogFactory_var v_return = - DsNotifyLogAdmin::NotifyLogFactory::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLogFactory::_nil ()); - - return v_return._retn (); -} - -DsNotifyLogAdmin::NotifyLog_ptr -TAO_NotifyLogFactory_i::create ( - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin - )) -{ - ACE_UNUSED_ARG (initial_qos); - ACE_UNUSED_ARG (initial_admin); - - this->create_i (full_action, - max_size, - & thresholds, - id_out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); - DsLogAdmin::LogId id = id_out; - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); -#endif - - // narrow to NotifyLog - DsNotifyLogAdmin::NotifyLog_var notify_log = - DsNotifyLogAdmin::NotifyLog::_narrow (log.in ()); - - // @@ JTC - squelch exception? - notifier_->object_creation (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); - - return notify_log._retn (); -} - -DsNotifyLogAdmin::NotifyLog_ptr -TAO_NotifyLogFactory_i::create_with_id ( - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin - )) -{ - ACE_UNUSED_ARG (initial_qos); - ACE_UNUSED_ARG (initial_admin); - - this->create_with_id_i (id, - full_action, - max_size, - & thresholds - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); -#endif - - // narrow to NotifyLog - DsNotifyLogAdmin::NotifyLog_var notify_log = - DsNotifyLogAdmin::NotifyLog::_narrow (log.in ()); - - // @@ JTC - squelch exception? - notifier_->object_creation (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsNotifyLogAdmin::NotifyLog::_nil ()); - - return notify_log._retn(); -} - -CORBA::RepositoryId -TAO_NotifyLogFactory_i::create_repositoryid () -{ - return CORBA::string_dup("IDL:omg.org/DsNotifyLogAdmin:NotifyLog:1.0"); -} - -PortableServer::ServantBase* -TAO_NotifyLogFactory_i::create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - TAO_NotifyLog_i* notify_log_i; - - ACE_NEW_THROW_EX (notify_log_i, - TAO_NotifyLog_i (this->orb_.in (), - this->log_poa_.in (), - *this, - this->log_mgr_.in (), - this->notify_factory_.in (), - this->notifier_, - id - ), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - notify_log_i->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - //initialise the LogConsumer object - notify_log_i->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return notify_log_i; -} - -CosNotifyChannelAdmin::AdminID -TAO_NotifyLogFactory_i::MyID (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->MyID (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::EventChannel_ptr -TAO_NotifyLogFactory_i::MyChannel (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT(), 0); -} - -CosNotifyChannelAdmin::InterFilterGroupOperator -TAO_NotifyLogFactory_i::MyOperator (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->MyOperator (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyFilter::MappingFilter_ptr -TAO_NotifyLogFactory_i::priority_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->priority_filter (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::priority_filter (CosNotifyFilter::MappingFilter_ptr filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - consumer_admin_->priority_filter(filter ACE_ENV_ARG_PARAMETER); -} - -CosNotifyFilter::MappingFilter_ptr -TAO_NotifyLogFactory_i::lifetime_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->lifetime_filter (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::lifetime_filter (CosNotifyFilter::MappingFilter_ptr filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - consumer_admin_->lifetime_filter (filter ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxyIDSeq* -TAO_NotifyLogFactory_i::pull_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->pull_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxyIDSeq* -TAO_NotifyLogFactory_i::push_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->push_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_NotifyLogFactory_i::get_proxy_supplier ( - CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::ProxyNotFound, - CORBA::SystemException - )) -{ - return consumer_admin_->get_proxy_supplier (proxy_id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_NotifyLogFactory_i::obtain_notification_pull_supplier ( - CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID& proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::AdminLimitExceeded, - CORBA::SystemException - )) -{ - return consumer_admin_->obtain_notification_pull_supplier (ctype, proxy_id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_NotifyLogFactory_i::obtain_notification_push_supplier ( - CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID& proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::AdminLimitExceeded, - CORBA::SystemException - )) -{ - return consumer_admin_->obtain_notification_push_supplier (ctype, proxy_id ACE_ENV_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_NotifyLogFactory_i::obtain_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->obtain_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); -} - - - -CosEventChannelAdmin::ProxyPullSupplier_ptr -TAO_NotifyLogFactory_i::obtain_pull_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) - -{ - return consumer_admin_->obtain_pull_supplier (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - // No-Op. -} - -//CosNotifyComm::NotifySubscribe -void -TAO_NotifyLogFactory_i::subscription_change (const CosNotification::EventTypeSeq& added, - const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyComm::InvalidEventType, - CORBA::SystemException - )) -{ - consumer_admin_->subscription_change (added, removed ACE_ENV_ARG_PARAMETER); -} - -CosNotification::QoSProperties* -TAO_NotifyLogFactory_i::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::set_qos (const CosNotification::QoSProperties& qos ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotification::UnsupportedQoS, - CORBA::SystemException - )) -{ - consumer_admin_->set_qos (qos ACE_ENV_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::validate_qos (const CosNotification::QoSProperties& required_qos, - CosNotification::NamedPropertyRangeSeq_out available_qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotification::UnsupportedQoS, - CORBA::SystemException - )) -{ - consumer_admin_->validate_qos (required_qos, available_qos ACE_ENV_ARG_PARAMETER); -} - -CosNotifyFilter::FilterID -TAO_NotifyLogFactory_i::add_filter (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->add_filter (filter ACE_ENV_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::remove_filter (CosNotifyFilter::FilterID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - consumer_admin_->remove_filter (id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyFilter::Filter_ptr -TAO_NotifyLogFactory_i::get_filter (CosNotifyFilter::FilterID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyFilter::FilterNotFound, - CORBA::SystemException - )) -{ - return consumer_admin_->get_filter (id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyFilter::FilterIDSeq* -TAO_NotifyLogFactory_i::get_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_NotifyLogFactory_i::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - consumer_admin_->remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h b/TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h deleted file mode 100644 index bbe8127c077..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h +++ /dev/null @@ -1,281 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file NotifyLogFactory_i.h - * - * $Id$ - * - * Implements the Factory for NotifyLog Objects. - * - * - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_NOTIFYLOGFACTORY_I_H -#define TAO_TLS_NOTIFYLOGFACTORY_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsNotifyLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogAdminS.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/NotifyLog_i.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_NotifyLog_i; -class TAO_NotifyLogNotification; - -/** - * @class TAO_NotifyLogFactory_i - * - * @brief The NotifyLogFactory is a factory that is used to create NotifyLogs which are event-aware. - */ -class TAO_NotifyLog_Serv_Export TAO_NotifyLogFactory_i : - public POA_DsNotifyLogAdmin::NotifyLogFactory, - public TAO_LogMgr_i -{ -public: - //= Initialization and termination code. - - /// Constructor - default. - TAO_NotifyLogFactory_i (void); - - /// Constructor. - TAO_NotifyLogFactory_i (CosNotifyChannelAdmin::EventChannelFactory_ptr ecf); - - /// Destructor. - ~TAO_NotifyLogFactory_i (); - - /// Activate this servant with the ORB and POA passed in. - DsNotifyLogAdmin::NotifyLogFactory_ptr - activate (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /// Used to create an NotifyLog. - DsNotifyLogAdmin::NotifyLog_ptr create ( - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin, - DsLogAdmin::LogId_out id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin - )); - - /// Same as create (), but allows clients to specify the id. - DsNotifyLogAdmin::NotifyLog_ptr create_with_id ( - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin - )); - - - // = Methods from CosNotifyChannelAdmin::ConsumerAdmin. - CosNotifyChannelAdmin::AdminID MyID (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosNotifyChannelAdmin::EventChannel_ptr MyChannel (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosNotifyChannelAdmin::InterFilterGroupOperator MyOperator (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosNotifyFilter::MappingFilter_ptr priority_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void priority_filter (CosNotifyFilter::MappingFilter_ptr ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosNotifyFilter::MappingFilter_ptr lifetime_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void lifetime_filter (CosNotifyFilter::MappingFilter_ptr ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosNotifyChannelAdmin::ProxyIDSeq* pull_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - CosNotifyChannelAdmin::ProxyIDSeq* push_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosNotifyChannelAdmin::ProxySupplier_ptr get_proxy_supplier ( - CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::ProxyNotFound, - CORBA::SystemException - )); - - CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_pull_supplier ( - CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID& proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::AdminLimitExceeded, - CORBA::SystemException - )); - - CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_push_supplier ( - CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID& id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::AdminLimitExceeded, - CORBA::SystemException - )); - - CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// CosNotifyComm::NotifySubscribe. - void subscription_change (const CosNotification::EventTypeSeq& added, - const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyComm::InvalidEventType, - CORBA::SystemException - )); - - /// CosNotification::QoSAdmin. - 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 - )); - - /// CosNotifyFilter::FilterAdmin. - CosNotifyFilter::FilterID add_filter (CosNotifyFilter::Filter_ptr ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void remove_filter (CosNotifyFilter::FilterID ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - CosNotifyFilter::Filter_ptr get_filter (CosNotifyFilter::FilterID ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyFilter::FilterNotFound, - CORBA::SystemException - )); - CosNotifyFilter::FilterIDSeq* get_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -protected: - virtual CORBA::RepositoryId - create_repositoryid (); - - virtual PortableServer::ServantBase* - create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// Our object ref. after ation. - DsLogAdmin::LogMgr_var log_mgr_; - - /// The Channel ID. - CosNotifyChannelAdmin::ChannelID channel_id_; - - /// The EventChannel the factory uses to enable the - /// NotifyLogNotification object to connect to and send - /// log-generated events. - CosNotifyChannelAdmin::EventChannel_var event_channel_; - - /// The ConsumerAdmin that the NotifyLogFactory supports. - CosNotifyChannelAdmin::ConsumerAdmin_var consumer_admin_; - - //CosEventChannelAdmin::EventChannel_var es_event_channel_; - - //CosEventChannelAdmin::ConsumerAdmin_var es_consumer_admin_; - - /// Used for log-generated events. - TAO_NotifyLogNotification* notifier_; - - /// The EventChannelFactory used to create an EventChannel. - CosNotifyChannelAdmin::EventChannelFactory_var notify_factory_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_NOTIFYLOGFACTORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp b/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp deleted file mode 100644 index 1a3762a4d51..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/NotifyLogNotification.h" -#include "orbsvcs/Time_Utilities.h" -#include "tao/debug.h" - -ACE_RCSID (Log, - NotifyLogNotification, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_NotifyLogNotification::TAO_NotifyLogNotification ( - CosNotifyChannelAdmin::EventChannel_ptr ec) - : TAO_LogNotification (), - event_channel_ (CosNotifyChannelAdmin::EventChannel::_duplicate (ec)) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - CosNotifyComm::PushSupplier_var objref = - this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - ACE_ASSERT (!CORBA::is_nil (objref.in ())); - - CosNotifyChannelAdmin::AdminID adminID; - CosNotifyChannelAdmin::SupplierAdmin_var supplier_admin = - this->event_channel_->new_for_suppliers (CosNotifyChannelAdmin::OR_OP, adminID); - - ACE_ASSERT (!CORBA::is_nil (supplier_admin.in ())); - - CosNotifyChannelAdmin::ProxyConsumer_var proxyconsumer = - supplier_admin->obtain_notification_push_consumer (CosNotifyChannelAdmin::ANY_EVENT, proxy_consumer_id_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_ASSERT (!CORBA::is_nil (proxyconsumer.in ())); - - // narrow - this->proxy_consumer_ = - CosNotifyChannelAdmin::ProxyPushConsumer::_narrow (proxyconsumer.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_ASSERT (!CORBA::is_nil (this->proxy_consumer_.in ())); - - proxy_consumer_->connect_any_push_supplier (objref.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_NotifyLogNotification::~TAO_NotifyLogNotification (void) -{ - // No-Op. -} - -void -TAO_NotifyLogNotification::send_notification (const CORBA::Any& any) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - this->proxy_consumer_->push (any); -} - -void -TAO_NotifyLogNotification::subscription_change - (const CosNotification::EventTypeSeq & /*added*/, - const CosNotification::EventTypeSeq & /*removed */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyComm::InvalidEventType - )) -{ - //No-Op. -} - -void -TAO_NotifyLogNotification::disconnect_push_supplier - (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_ASSERT (!CORBA::is_nil (this->proxy_consumer_.in ())); - - this->proxy_consumer_->disconnect_push_consumer(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h b/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h deleted file mode 100644 index 00e86066473..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file NotifyLogNotification.h - * - * $Id$ - * - * Methods to enable log-generated events. - * - * @author D A Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_NOTIFY_LOG_NOTIFICATION_H -#define TAO_TLS_NOTIFY_LOG_NOTIFICATION_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsNotifyLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEventCommS.h" -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/CosNotifyCommC.h" - -#include "orbsvcs/Log/notifylog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_NotifyLogNotification - * - * @brief Used to forward log generated events to a logging server. - */ -class TAO_NotifyLog_Serv_Export TAO_NotifyLogNotification : - public TAO_LogNotification, - public POA_CosNotifyComm::PushSupplier -{ -public: - // = Initialization and Termination methods. - - /// Constructor. - TAO_NotifyLogNotification (CosNotifyChannelAdmin::EventChannel_ptr); - - /// Destructor. - ~TAO_NotifyLogNotification (void); - -protected: - // = Helper methods - // = Data members - - /// The proxy that we are connected to. - CosNotifyChannelAdmin::ProxyPushConsumer_var proxy_consumer_; - - /// This supplier's id. - CosNotifyChannelAdmin::ProxyID proxy_consumer_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 - )); - - /// Send the event on the event channel. - virtual void send_notification (const CORBA::Any& any) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - /// A reference to the ORB. - CORBA::ORB_var orb_; - - /// A pointer to the EventChannel that events are to be sent to. - /// This channel is contained in the NotifyLogFactory. - CosNotifyChannelAdmin::EventChannel_var event_channel_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_NOTIFY_LOG_NOTIFICATION_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.cpp b/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.cpp deleted file mode 100644 index db13c800447..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.cpp +++ /dev/null @@ -1,371 +0,0 @@ -#include "orbsvcs/Log/NotifyLog_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogNotification.h" - -ACE_RCSID (Log, - NotifyLog_i, - "$Id$") - -#define CA_FILTER "threshold > 10" -#define TCL_GRAMMAR "TCL" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_NotifyLog_i::TAO_NotifyLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - CosNotifyChannelAdmin::EventChannelFactory_ptr ecf, - TAO_LogNotification *log_notifier, - DsLogAdmin::LogId id) - : TAO_Log_i (orb, logmgr_i, factory, id, log_notifier), - notify_factory_ (CosNotifyChannelAdmin::EventChannelFactory::_duplicate (ecf)), - poa_ (PortableServer::POA::_duplicate (poa)) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - CosNotifyChannelAdmin::ChannelID channel_id; - - CosNotification::QoSProperties initial_qos; - CosNotification::AdminProperties initial_admin; - - - ACE_ASSERT (!CORBA::is_nil (this->notify_factory_.in ())); - - this->event_channel_ = - this->notify_factory_->create_channel (initial_qos, - initial_admin, - channel_id - ACE_ENV_ARG_PARAMETER); -} - -TAO_NotifyLog_i::~TAO_NotifyLog_i () -{ - this->event_channel_->destroy (); -} - -DsLogAdmin::Log_ptr -TAO_NotifyLog_i::copy (DsLogAdmin::LogId &id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - DsNotifyLogAdmin::NotifyLogFactory_var notifyLogFactory = - DsNotifyLogAdmin::NotifyLogFactory::_narrow (factory_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - CosNotification::QoSProperties* qos = get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - CosNotification::AdminProperties* admin = get_admin (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsNotifyLogAdmin::NotifyLog_var log = - notifyLogFactory->create (DsLogAdmin::halt, 0, thresholds_, static_cast (*qos), - static_cast (*admin), id); - - this->copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); -} - -DsLogAdmin::Log_ptr -TAO_NotifyLog_i::copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - DsNotifyLogAdmin::NotifyLogFactory_var notifyLogFactory = - DsNotifyLogAdmin::NotifyLogFactory::_narrow (factory_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - CosNotification::QoSProperties* qos = get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - CosNotification::AdminProperties* admin = get_admin (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - DsNotifyLogAdmin::NotifyLog_var log = - notifyLogFactory->create_with_id (id, DsLogAdmin::halt, 0, thresholds_, static_cast (*qos), - static_cast (*admin)); - - this->copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); -} - - -void -TAO_NotifyLog_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - notifier_->object_deletion (logid_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Remove ourselves from the list of logs. - this->logmgr_i_.remove (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Deregister with POA. - PortableServer::ObjectId_var id = - this->poa_->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->poa_->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_NotifyLog_i::activate (ACE_ENV_SINGLE_ARG_DECL) -{ - - CosNotifyChannelAdmin::AdminID adminid = 0; - CosNotifyChannelAdmin::InterFilterGroupOperator ifgop = - CosNotifyChannelAdmin::OR_OP; - - this->consumer_admin_ = - this->event_channel_->new_for_consumers (ifgop, adminid ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_ASSERT (!CORBA::is_nil (consumer_admin_.in ())); - - CosNotifyFilter::FilterFactory_var ffact = - this->event_channel_->default_filter_factory (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // setup a filter at the consumer admin - CosNotifyFilter::Filter_var ca_filter = - ffact->create_filter (TCL_GRAMMAR ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_ASSERT (!CORBA::is_nil (ca_filter.in ())); - - CosNotifyFilter::ConstraintExpSeq constraint_list (1); - constraint_list.length (1); - - constraint_list[0].event_types.length (0); - constraint_list[0].constraint_expr = CORBA::string_dup (CA_FILTER); - - ca_filter->add_constraints (constraint_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - consumer_admin_->add_filter (ca_filter.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Setup the CA to receive all type of events - CosNotification::EventTypeSeq added(1); - CosNotification::EventTypeSeq removed (0); - added.length (1); - removed.length (0); - - added[0].domain_name = CORBA::string_dup ("*"); - added[0].type_name = CORBA::string_dup ("*"); - - this->consumer_admin_->subscription_change (added, removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_NEW_THROW_EX (this->my_log_consumer_, - TAO_Notify_LogConsumer (this), - CORBA::NO_MEMORY ()); - - this->my_log_consumer_->connect (this->consumer_admin_.in () ACE_ENV_ARG_PARAMETER); -} - -//IDL to C++ -CosNotifyFilter::Filter_ptr -TAO_NotifyLog_i::get_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - //TODO: need to add impl - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -void -TAO_NotifyLog_i::set_filter (CosNotifyFilter::Filter_ptr /* filter */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); - - //TODO: need to add impl -} - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_NotifyLog_i::MyFactory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - //TODO: need to add impl - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_NotifyLog_i::default_consumer_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->default_consumer_admin (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_NotifyLog_i::default_supplier_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->default_supplier_admin (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyFilter::FilterFactory_ptr -TAO_NotifyLog_i::default_filter_factory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->default_filter_factory (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_NotifyLog_i::new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID& id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->new_for_consumers (op,id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_NotifyLog_i::new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID& id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->new_for_suppliers (op,id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_NotifyLog_i::get_consumeradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::AdminNotFound, - CORBA::SystemException - )) -{ - return this->event_channel_->get_consumeradmin (id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_NotifyLog_i::get_supplieradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotifyChannelAdmin::AdminNotFound, - CORBA::SystemException - )) -{ - return this->event_channel_->get_supplieradmin (id ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::AdminIDSeq* -TAO_NotifyLog_i::get_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->get_all_consumeradmins (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::AdminIDSeq* -TAO_NotifyLog_i::get_all_supplieradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->get_all_supplieradmins (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotification::AdminProperties* -TAO_NotifyLog_i::get_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->get_admin (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_NotifyLog_i::set_admin (const CosNotification::AdminProperties& admin ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotification::UnsupportedAdmin, - CORBA::SystemException - )) -{ - this->event_channel_->set_admin (admin ACE_ENV_ARG_PARAMETER); -} - -CosNotification::QoSProperties* -TAO_NotifyLog_i::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - //need to add merging of QoS from Log_i and EventChannel_i - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -void -TAO_NotifyLog_i::set_qos (const CosNotification::QoSProperties& /* qos */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CosNotification::UnsupportedQoS, - CORBA::SystemException - )) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); - //TODO: need to add later -} - -void -TAO_NotifyLog_i::validate_qos ( - const CosNotification::QoSProperties& /* required_qos */, - CosNotification::NamedPropertyRangeSeq_out /* available_qos */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CosNotification::UnsupportedQoS, - CORBA::SystemException)) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); - - //TODO: need to add later -} - -CosEventChannelAdmin::ConsumerAdmin_ptr -TAO_NotifyLog_i::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->for_consumers(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::SupplierAdmin_ptr -TAO_NotifyLog_i::for_suppliers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->for_suppliers(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h b/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h deleted file mode 100644 index 81218cf3962..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h +++ /dev/null @@ -1,240 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file NotifyLog_i.h - * - * $Id$ - * - * Implementation of the DsNotifyLogAdmin::NotifyLog interface. - * File also conatins TAO_Notify_LogConsumer which is used - * to write events to the Log. - * - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_NOTIFYLOG_I_H -#define TAO_TLS_NOTIFYLOG_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsNotifyLogAdminS.h" -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/Log/NotifyLogConsumer.h" - -#include "orbsvcs/Log/notifylog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_NotifyLog_i; -class TAO_NotifyLogFactory_i; - -/** - * @class TAO_NotifyLog_i - * - * @brief The NotifyLog is an EventChannel and a Log. - * - * It is used to log events that pass through the EventChannel. - * The class supports the @c destroy> method to destroy the Log. - */ -class TAO_NotifyLog_Serv_Export TAO_NotifyLog_i : - public TAO_Log_i, - public POA_DsNotifyLogAdmin::NotifyLog -{ -public: - // = Initialization and Termination. - - /// Constructor. - TAO_NotifyLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - CosNotifyChannelAdmin::EventChannelFactory_ptr ecf, - TAO_LogNotification *log_notifier, - DsLogAdmin::LogId id); - - /// Destructor. - ~TAO_NotifyLog_i (); - - /// Duplicate the log. - virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Duplicate the log specifying an id. - virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// Destroy the log object and all contained records. - void - destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Activate the NotifyLog. - void - activate (ACE_ENV_SINGLE_ARG_DECL); - - // = Methods from CosNotifyChannelAdmin::EventChannel. - 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 - )); - - // = Methods from DsEventLogAdmin::EventLog. - 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 - )); - -private: - /// The PushConsumer that consumes the events and stores them - /// in the log. - TAO_Notify_LogConsumer *my_log_consumer_; - - /// The Event Channel that the log uses. - CosNotifyChannelAdmin::EventChannel_var event_channel_; - - /// The Event Channel ID that the log uses. - CosNotifyChannelAdmin::ChannelID channelID_; - - /// The EventChannelFactory used to create the EventChannel above. - CosNotifyChannelAdmin::EventChannelFactory_var notify_factory_; - - /// The ConsumerAdmin that the log uses. - CosNotifyChannelAdmin::ConsumerAdmin_var consumer_admin_; - - PortableServer::POA_var poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_NOTIFYLOG_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp b/TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp deleted file mode 100644 index 08a2cfd036e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include "orbsvcs/Log/RTEventLog_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Event_Utilities.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Timeout_Generator.h" -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_ConsumerControl.h" -#include "orbsvcs/Event/EC_SupplierControl.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID (Log, - RTEventLogConsumer, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Rtec_LogConsumer::TAO_Rtec_LogConsumer (TAO_RTEventLog_i *log) - : log_ (log) -{ -} - -TAO_Rtec_LogConsumer::~TAO_Rtec_LogConsumer (void) -{ -} - -void -TAO_Rtec_LogConsumer::connect (RtecEventChannelAdmin::ConsumerAdmin_ptr consumer_admin) -{ - RtecEventComm::PushConsumer_var myself = this->_this (); - this->supplier_proxy_ = consumer_admin->obtain_push_supplier (); - - ACE_ConsumerQOS_Factory qos; - qos.start_disjunction_group (1); - qos.insert_type (ACE_ES_EVENT_ANY, - 0); - this->supplier_proxy_->connect_push_consumer (myself.in(), qos.get_ConsumerQOS ()); -} - -void -TAO_Rtec_LogConsumer::push (const RtecEventComm::EventSet& events ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // create a record list... - DsLogAdmin::RecordList recList (1); - recList.length (1); - - recList [0].info <<= events; - - this->log_->write_recordlist (recList ACE_ENV_ARG_PARAMETER); - - ACE_CHECK; - -} - -void -TAO_Rtec_LogConsumer::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->supplier_proxy_->disconnect_push_supplier ( - ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.h b/TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.h deleted file mode 100644 index 05fdb9d65f4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogConsumer.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTEventLogConsumer.h - * - * $Id$ - * - * The RTEventLogConsumer connects to the RTEventLog and logs the events - * that are pushed to the RTEventLog. - * - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_RTEVENTLOGCONSUMER_H -#define TAO_TLS_RTEVENTLOGCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RTEventLogAdminS.h" -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Factory.h" -#include "orbsvcs/Event/EC_Defaults.h" - -#include "orbsvcs/Log/rteventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_RTEventLog_i; -class TAO_RTEventLogFactory_i; - -/** - * @class TAO_Rtec_LogConsumer - * - * @brief An implementation of the PushConsumer interface. - * - * Connects to the RTEventLog and writes LogRecords to the - * Log when events are 'pushed' to the RTEventLog which is an - * EventChannel. - */ -class TAO_RTEventLog_Serv_Export TAO_Rtec_LogConsumer :public virtual POA_RtecEventComm::PushConsumer -{ -public: - // = Initialization and Termination methods. - - /// Constructor. - TAO_Rtec_LogConsumer (TAO_RTEventLog_i *log); - - /// Destructor. - ~TAO_Rtec_LogConsumer (void); - - /// Connect to RTEventLog. - void connect (RtecEventChannelAdmin::ConsumerAdmin_ptr consumer_admin); - -private: - /// Disconnect from EventLog. - void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This method will call TAO_Log_i::log() to write - /// the event to the Log. - void push (const RtecEventComm::EventSet& events ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// ProxyPushSupplier used to connect to RTEventLog. - RtecEventChannelAdmin::ProxyPushSupplier_var supplier_proxy_; - - /// The RTEventLog that this consumer connects to - /// and whose events are to be logged. - TAO_RTEventLog_i *log_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_RTEVENTLOGCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp deleted file mode 100644 index bffeb96ecf4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp +++ /dev/null @@ -1,242 +0,0 @@ -#include "orbsvcs/Log/RTEventLogFactory_i.h" -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/RTEventLogNotification.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/ESF/ESF_Peer_Workers.h" -#include "orbsvcs/ESF/ESF_Peer_Admin.h" -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event_Utilities.h" -#include "orbsvcs/Sched/Config_Scheduler.h" -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "ace/OS_NS_stdio.h" - -#include "ace/Auto_Ptr.h" - -ACE_RCSID (Log, - RTEventLogFactory_i, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_RTEventLogFactory_i::TAO_RTEventLogFactory_i (void) -{ -} - -TAO_RTEventLogFactory_i::~TAO_RTEventLogFactory_i() -{ -} - -int -TAO_RTEventLogFactory_i::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) -{ - TAO_LogMgr_i::init (orb, poa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - - PortableServer::POA_var defPOA = - this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - TAO_EC_Event_Channel_Attributes attr (defPOA.in (), defPOA.in ()); - - this->impl = 0; - ACE_NEW_THROW_EX (impl, - TAO_EC_Event_Channel (attr), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (-1); - - auto_ptr ec (impl); - - impl->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - PortableServer::ObjectId_var oidec = poa_->activate_object (ec.get () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - ec.release (); - - CORBA::Object_var objec = - poa_->id_to_reference (oidec.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - this->event_channel_ = RtecEventChannelAdmin::EventChannel::_narrow (objec.in ()); - - - this->consumer_admin_ = this->event_channel_->for_consumers(ACE_ENV_SINGLE_ARG_PARAMETER); - - ACE_NEW_THROW_EX (this->notifier_, - TAO_RTEventLogNotification(this->event_channel_.in ()), - CORBA::NO_MEMORY ()); - return 0; -} - -RTEventLogAdmin::EventLogFactory_ptr -TAO_RTEventLogFactory_i::activate (ACE_ENV_SINGLE_ARG_DECL) -{ - RTEventLogAdmin::EventLogFactory_var v_return; - - PortableServer::ObjectId_var oid = - this->factory_poa_->activate_object (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (v_return._retn ()); - - CORBA::Object_var obj = - this->factory_poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (v_return._retn ()); - - // narrow and store the result.. - this->log_mgr_ = - DsLogAdmin::LogMgr::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (v_return._retn ()); - - v_return = - RTEventLogAdmin::EventLogFactory::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLogFactory::_nil ()); - - return v_return._retn (); -} - -RTEventLogAdmin::EventLog_ptr -TAO_RTEventLogFactory_i::create ( - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - DsLogAdmin::LogId_out id_out - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold - )) -{ - this->create_i (full_action, - max_size, - & thresholds, - id_out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); - DsLogAdmin::LogId id = id_out; - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); -#endif - - // narrow to EventLog - RTEventLogAdmin::EventLog_var event_log = - RTEventLogAdmin::EventLog::_narrow (log.in ()); - - // @@ JTC - squelch exception? - notifier_->object_creation (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); - - return event_log._retn(); -} - -RTEventLogAdmin::EventLog_ptr -TAO_RTEventLogFactory_i::create_with_id ( - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold - )) -{ - this->create_with_id_i (id, - full_action, - max_size, - & thresholds - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); - -#if (TAO_HAS_MINIMUM_POA == 0) - DsLogAdmin::Log_var log = - this->create_log_reference (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); -#else - DsLogAdmin::Log_var log = - this->create_log_object (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); -#endif - - // narrow to EventLog - RTEventLogAdmin::EventLog_var event_log = - RTEventLogAdmin::EventLog::_narrow (log.in ()); - - // @@ JTC - squelch exception? - notifier_->object_creation (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (RTEventLogAdmin::EventLog::_nil ()); - - return event_log._retn (); -} - -CORBA::RepositoryId -TAO_RTEventLogFactory_i::create_repositoryid () -{ - return CORBA::string_dup("IDL:omg.org/RTEventLogAdmin:EventLog:1.0"); -} - -PortableServer::ServantBase* -TAO_RTEventLogFactory_i::create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL) -{ - TAO_RTEventLog_i* event_log_i; - - ACE_NEW_THROW_EX (event_log_i, - TAO_RTEventLog_i (this->orb_.in (), - this->poa_.in (), - this->log_poa_.in (), - *this, - this->log_mgr_.in (), - this->notifier_, - id - ), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - event_log_i->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - //initialise the LogConsumer object - event_log_i->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return event_log_i; -} - -RtecEventChannelAdmin::ProxyPushSupplier_ptr -TAO_RTEventLogFactory_i::obtain_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return consumer_admin_->obtain_push_supplier(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h b/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h deleted file mode 100644 index d416bd028ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h +++ /dev/null @@ -1,141 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTEventLogFactory_i.h - * - * $Id$ - * - * Implements the Factory for NotifyLog Objects. - * - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TLS_RTEVENTLOGFACTORY_I_H -#define TLS_RTEVENTLOGFACTORY_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/RTEventLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/DsLogAdminS.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/RtecEventChannelAdminS.h" -#include "orbsvcs/RtecSchedulerS.h" - -#include "orbsvcs/Log/RTEventLog_i.h" -#include "orbsvcs/Log/rteventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_RTEventLog_i; -class TAO_RTEventLogNotification; - -/** - * @class TAO_RTEventLogFactory_i - * - * @brief The TAO_RTEventLogFactory is a factory that is used to create RTEventLogs which are event-aware. - */ -class TAO_RTEventLog_Serv_Export TAO_RTEventLogFactory_i : - public POA_RTEventLogAdmin::EventLogFactory, - public TAO_LogMgr_i -{ -public: - //= Initialization and termination code. - - /// Constructor. - TAO_RTEventLogFactory_i (void); - - /// Destructor. - ~TAO_RTEventLogFactory_i (); - - /// Initialise the EventChannel and obtain a - /// pointer to it. - int - init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /// Activate this servant - RTEventLogAdmin::EventLogFactory_ptr - activate (ACE_ENV_SINGLE_ARG_DECL); - - /// Used to create a RTEventLog. - RTEventLogAdmin::EventLog_ptr create ( - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds, - DsLogAdmin::LogId_out id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold - )); - - /// Same as create (), but allows clients to specify the id. - RTEventLogAdmin::EventLog_ptr create_with_id ( - DsLogAdmin::LogId id, - DsLogAdmin::LogFullActionType full_action, - CORBA::ULongLong max_size, - const DsLogAdmin::CapacityAlarmThresholdList & thresholds - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold - )); - - // = Implementation of the RtecEventChannelAdmin::ConsumerAdmin methods. - RtecEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -protected: - virtual CORBA::RepositoryId - create_repositoryid (); - - virtual PortableServer::ServantBase* - create_log_servant (DsLogAdmin::LogId id - ACE_ENV_ARG_DECL); - - /// Our object ref. after ation. - DsLogAdmin::LogMgr_var log_mgr_; - - /// The event channel used for log generated events. - TAO_EC_Event_Channel *impl; - - /// The object used for log generated events. - TAO_RTEventLogNotification* notifier_; - - /// EventChannel used to obtain the ConsumerAdmin. - RtecEventChannelAdmin::EventChannel_var event_channel_; - - /// The ConsumerAdmin that the EventLogFactory supports. - RtecEventChannelAdmin::ConsumerAdmin_var consumer_admin_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_RTEVENTLOGFACTORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp b/TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp deleted file mode 100644 index d3ceeb987e8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Log/RTEventLogNotification.h" -#include "orbsvcs/Time_Utilities.h" -#include "tao/debug.h" -#include "orbsvcs/Event_Utilities.h" -#include "orbsvcs/RtecEventChannelAdminC.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/ESF/ESF_Peer_Workers.h" -#include "orbsvcs/ESF/ESF_Peer_Admin.h" -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_Filter_Builder.h" -#include "orbsvcs/Event/EC_QOS_Info.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Scheduling_Strategy.h" -#include "orbsvcs/Event/EC_ConsumerControl.h" -#include "orbsvcs/ESF/ESF_RefCount_Guard.h" -#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h" - -ACE_RCSID (Log, - RTEventLogNotification, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_RTEventLogNotification::TAO_RTEventLogNotification ( - RtecEventChannelAdmin::EventChannel_ptr ec) - : TAO_LogNotification (), - event_channel_ (RtecEventChannelAdmin::EventChannel::_duplicate (ec)) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - obtainProxyConsumer (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_RTEventLogNotification::~TAO_RTEventLogNotification (void) -{ - // No-Op. -} - -void -TAO_RTEventLogNotification::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // No-Op. -} - -void -TAO_RTEventLogNotification::obtainProxyConsumer (ACE_ENV_SINGLE_ARG_DECL) -{ - RtecEventChannelAdmin::SupplierAdmin_var supplier_admin = - event_channel_->for_suppliers(); - - consumer_ = supplier_admin->obtain_push_consumer(); - - RtecEventComm::PushSupplier_var supplier = - this->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - - // Simple publication, but usually the helper classes in - // $TAO_ROOT/orbsvcs/Event_Utils.h are a better way to do this. - RtecEventChannelAdmin::SupplierQOS qos; - qos.publications.length (1); - RtecEventComm::EventHeader& h0 = - qos.publications[0].event.header; - h0.type = ACE_ES_EVENT_UNDEFINED; // first free event type - h0.source = 1; // first free event source - - consumer_->connect_push_supplier (supplier.in(), qos); -} - -void -TAO_RTEventLogNotification::send_notification (const CORBA::Any& any) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - RtecEventComm::EventSet event (1); - event.length (1); - event[0].header.type = ACE_ES_EVENT_UNDEFINED; - event[0].header.source = 1; - event[0].header.ttl = 1; -#ifndef TAO_LACKS_EVENT_CHANNEL_ANY - event[0].data.any_value <<= any; -#else - ACE_UNUSED_ARG (any); -#endif - - consumer_->push(event); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.h b/TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.h deleted file mode 100644 index 785efe87c79..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLogNotification.h +++ /dev/null @@ -1,93 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTEventLogNotification.h - * - * $Id$ - * - * Methods to enable log-generated events. - * - * @author D A Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_RTEVENT_LOG_NOTIFICATION_H -#define TAO_TLS_RTEVENT_LOG_NOTIFICATION_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Event/EC_ConsumerAdmin.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/RTEventLogAdminS.h" -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "orbsvcs/RtecEventCommS.h" -#include "orbsvcs/Event/EC_ProxySupplier.h" -#include "orbsvcs/Event/EC_ProxyConsumer.h" - -#include "orbsvcs/Log/rteventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_RTEventLogNotification - * - * @brief Used to forward log generated events to a logging server. - */ -class TAO_RTEventLog_Serv_Export TAO_RTEventLogNotification : - public TAO_LogNotification, - public POA_RtecEventComm::PushSupplier -{ -public: - // = Initialization and Termination methods. - - /// Constructor. - TAO_RTEventLogNotification (RtecEventChannelAdmin::EventChannel_ptr); - - /// Destructor. - ~TAO_RTEventLogNotification (void); - - /// The skeleton methods. - virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)); - -protected: - // = Helper methods - - /// Used to connect this PushSupplier to the EventChannel - /// that will log these events. - void obtainProxyConsumer (ACE_ENV_SINGLE_ARG_DECL); - - // Send the event on the event channel. - virtual void send_notification (const CORBA::Any& any) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - /// The ORB reference. - CORBA::ORB_var orb_; - - /// The event channel we connect to. - RtecEventChannelAdmin::EventChannel_var event_channel_; - - /// The ProxyPushConsumer used to connect to the event channel. - RtecEventChannelAdmin::ProxyPushConsumer_var consumer_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_RTEVENT_LOG_NOTIFICATION_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.cpp b/TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.cpp deleted file mode 100644 index 3aacac1ff86..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.cpp +++ /dev/null @@ -1,166 +0,0 @@ -#include "orbsvcs/Log/RTEventLog_i.h" -#include "orbsvcs/Log/LogMgr_i.h" -#include "orbsvcs/Log/LogNotification.h" -#include "orbsvcs/Event_Utilities.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "orbsvcs/Event/EC_Dispatching.h" -#include "orbsvcs/Event/EC_ConsumerAdmin.h" -#include "orbsvcs/Event/EC_SupplierAdmin.h" -#include "orbsvcs/Event/EC_Timeout_Generator.h" -#include "orbsvcs/Event/EC_ObserverStrategy.h" -#include "orbsvcs/Event/EC_ConsumerControl.h" -#include "orbsvcs/Event/EC_SupplierControl.h" -#include "ace/Dynamic_Service.h" - -ACE_RCSID (Log, - RTEventLog_i, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_RTEventLog_i::TAO_RTEventLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableServer::POA_ptr log_poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - TAO_LogNotification *log_notifier, - DsLogAdmin::LogId id - ) - : TAO_Log_i (orb, logmgr_i, factory, id, log_notifier), - poa_ (PortableServer::POA::_duplicate (poa)), - log_poa_ (PortableServer::POA::_duplicate (log_poa)) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - TAO_EC_Event_Channel_Attributes attr (poa_.in(), poa_.in()); - - ACE_NEW_THROW_EX (this->event_channel_, - TAO_EC_Event_Channel(attr), - CORBA::NO_MEMORY ()); -} - -TAO_RTEventLog_i::~TAO_RTEventLog_i () -{ - this->event_channel_->destroy (); - - delete this->event_channel_; -} - - -DsLogAdmin::Log_ptr -TAO_RTEventLog_i::copy (DsLogAdmin::LogId &id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - RTEventLogAdmin::EventLogFactory_var eventLogFactory = - RTEventLogAdmin::EventLogFactory::_narrow (factory_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - RTEventLogAdmin::EventLog_var log = - eventLogFactory->create (DsLogAdmin::halt, 0, thresholds_, - id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); -} - -DsLogAdmin::Log_ptr -TAO_RTEventLog_i::copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::LogIdAlreadyExists, CORBA::SystemException)) -{ - RTEventLogAdmin::EventLogFactory_var eventLogFactory = - RTEventLogAdmin::EventLogFactory::_narrow (factory_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - RTEventLogAdmin::EventLog_var log = - eventLogFactory->create_with_id (id, DsLogAdmin::halt, 0, - thresholds_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - copy_attributes (log.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (DsLogAdmin::Log::_nil ()); - - return log._retn (); -} - -void -TAO_RTEventLog_i::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - notifier_->object_deletion (logid_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Remove ourselves from the list of logs. - this->logmgr_i_.remove (this->logid_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Deregister with POA. - PortableServer::ObjectId_var id = - this->log_poa_->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->log_poa_->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_RTEventLog_i::activate (ACE_ENV_SINGLE_ARG_DECL) -{ - RtecEventChannelAdmin::ConsumerAdmin_var consumer_admin = - this->event_channel_->for_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->my_log_consumer_ = new TAO_Rtec_LogConsumer (this); - this->my_log_consumer_->connect (consumer_admin.in ()); -} - -RtecEventChannelAdmin::ConsumerAdmin_ptr -TAO_RTEventLog_i::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->event_channel_->for_consumers(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -RtecEventChannelAdmin::SupplierAdmin_ptr -TAO_RTEventLog_i::for_suppliers ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->event_channel_->for_suppliers(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -RtecEventChannelAdmin::Observer_Handle -TAO_RTEventLog_i::append_observer ( - RtecEventChannelAdmin::Observer_ptr observer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)) -{ - return this->observer_strategy_->append_observer (observer - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_RTEventLog_i::remove_observer ( - RtecEventChannelAdmin::Observer_Handle handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)) -{ - this->observer_strategy_->remove_observer (handle ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.h b/TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.h deleted file mode 100644 index 6dc0b4975b3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/RTEventLog_i.h +++ /dev/null @@ -1,138 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTEventLog_i.h - * - * $Id$ - * - * Implementation of the RTEventLogAdmin::NotifyLog interface. - * - * - * @author David A. Hanvey - */ -//============================================================================= - -#ifndef TAO_TLS_RTEVENTLOG_I_H -#define TAO_TLS_RTEVENTLOG_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/DsLogAdminS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RTEventLogAdminS.h" -#include "orbsvcs/Log/Log_i.h" -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Factory.h" -#include "orbsvcs/Event/EC_Defaults.h" -#include "orbsvcs/Log/RTEventLogConsumer.h" - -#include "orbsvcs/Log/rteventlog_serv_export.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_LogMgr_i; -class TAO_RTEventLog_i; -class TAO_RTEventLogFactory_i; - -/** - * @class TAO_RTEventLog_i - * - * @brief The RTEventLog is an EventChannel and a Log. - * - * It is used to log events that pass through the EventChannel. - * The class supports the @c destroy> method to destroy the Log. - */ -class TAO_RTEventLog_Serv_Export TAO_RTEventLog_i : - public TAO_Log_i, - public POA_RTEventLogAdmin::EventLog -{ -public: - // = Initialization and Termination methods. - - /// Constructor. - TAO_RTEventLog_i (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableServer::POA_ptr log_poa, - TAO_LogMgr_i &logmgr_i, - DsLogAdmin::LogMgr_ptr factory, - TAO_LogNotification *log_notifier, - DsLogAdmin::LogId id); - - /// Destructor. - ~TAO_RTEventLog_i (); - - /// Duplicate the log. - virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Duplicate the log specifying an id. - virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((DsLogAdmin::LogIdAlreadyExists, CORBA::SystemException)); - - /// Destroy the log object and all contained records. - void - destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Activate the RTEventLog. - void - activate (ACE_ENV_SINGLE_ARG_DECL); - - // = The RtecEventChannelAdmin::EventChannel interface methods. - RtecEventChannelAdmin::ConsumerAdmin_ptr - for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - RtecEventChannelAdmin::SupplierAdmin_ptr - for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual RtecEventChannelAdmin::Observer_Handle - append_observer (RtecEventChannelAdmin::Observer_ptr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER)); - virtual void - remove_observer (RtecEventChannelAdmin::Observer_Handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR, - RtecEventChannelAdmin::EventChannel::CANT_REMOVE_OBSERVER)); - - private: - /// The EventChannel used. - TAO_EC_Event_Channel *event_channel_; - - /// The LogConsumer which logs the events the EventChannel above - /// receives. - TAO_Rtec_LogConsumer *my_log_consumer_; - - /// The observer strategy - TAO_EC_ObserverStrategy *observer_strategy_; - - PortableServer::POA_var poa_; - - PortableServer::POA_var log_poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_TLS_RTEVENTLOG_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Log/eventlog_export.h b/TAO/orbsvcs/orbsvcs/Log/eventlog_export.h deleted file mode 100644 index 2b21d1f4463..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/eventlog_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_EVENTLOG_EXPORT_H -#define TAO_EVENTLOG_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_EVENTLOG_HAS_DLL) -# define TAO_EVENTLOG_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_EVENTLOG_HAS_DLL */ - -#if !defined (TAO_EVENTLOG_HAS_DLL) -# define TAO_EVENTLOG_HAS_DLL 1 -#endif /* ! TAO_EVENTLOG_HAS_DLL */ - -#if defined (TAO_EVENTLOG_HAS_DLL) && (TAO_EVENTLOG_HAS_DLL == 1) -# if defined (TAO_EVENTLOG_BUILD_DLL) -# define TAO_EventLog_Export ACE_Proper_Export_Flag -# define TAO_EVENTLOG_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENTLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_EVENTLOG_BUILD_DLL */ -# define TAO_EventLog_Export ACE_Proper_Import_Flag -# define TAO_EVENTLOG_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENTLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_EVENTLOG_BUILD_DLL */ -#else /* TAO_EVENTLOG_HAS_DLL == 1 */ -# define TAO_EventLog_Export -# define TAO_EVENTLOG_SINGLETON_DECLARATION(T) -# define TAO_EVENTLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_EVENTLOG_HAS_DLL == 1 */ - -#endif /* TAO_EVENTLOG_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/eventlog_serv_export.h b/TAO/orbsvcs/orbsvcs/Log/eventlog_serv_export.h deleted file mode 100644 index f3537333c31..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/eventlog_serv_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_EVENTLOG_SERV_EXPORT_H -#define TAO_EVENTLOG_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_EVENTLOG_SERV_HAS_DLL) -# define TAO_EVENTLOG_SERV_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_EVENTLOG_SERV_HAS_DLL */ - -#if !defined (TAO_EVENTLOG_SERV_HAS_DLL) -# define TAO_EVENTLOG_SERV_HAS_DLL 1 -#endif /* ! TAO_EVENTLOG_SERV_HAS_DLL */ - -#if defined (TAO_EVENTLOG_SERV_HAS_DLL) && (TAO_EVENTLOG_SERV_HAS_DLL == 1) -# if defined (TAO_EVENTLOG_SERV_BUILD_DLL) -# define TAO_EventLog_Serv_Export ACE_Proper_Export_Flag -# define TAO_EVENTLOG_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENTLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_EVENTLOG_SERV_BUILD_DLL */ -# define TAO_EventLog_Serv_Export ACE_Proper_Import_Flag -# define TAO_EVENTLOG_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENTLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_EVENTLOG_SERV_BUILD_DLL */ -#else /* TAO_EVENTLOG_SERV_HAS_DLL == 1 */ -# define TAO_EventLog_Serv_Export -# define TAO_EVENTLOG_SERV_SINGLETON_DECLARATION(T) -# define TAO_EVENTLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_EVENTLOG_SERV_HAS_DLL == 1 */ - -#endif /* TAO_EVENTLOG_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/eventlog_skel_export.h b/TAO/orbsvcs/orbsvcs/Log/eventlog_skel_export.h deleted file mode 100644 index f0d5cb23cf2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/eventlog_skel_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_EVENTLOG_SKEL_EXPORT_H -#define TAO_EVENTLOG_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_EVENTLOG_SKEL_HAS_DLL) -# define TAO_EVENTLOG_SKEL_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_EVENTLOG_SKEL_HAS_DLL */ - -#if !defined (TAO_EVENTLOG_SKEL_HAS_DLL) -# define TAO_EVENTLOG_SKEL_HAS_DLL 1 -#endif /* ! TAO_EVENTLOG_SKEL_HAS_DLL */ - -#if defined (TAO_EVENTLOG_SKEL_HAS_DLL) && (TAO_EVENTLOG_SKEL_HAS_DLL == 1) -# if defined (TAO_EVENTLOG_SKEL_BUILD_DLL) -# define TAO_EventLog_Skel_Export ACE_Proper_Export_Flag -# define TAO_EVENTLOG_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENTLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_EVENTLOG_SKEL_BUILD_DLL */ -# define TAO_EventLog_Skel_Export ACE_Proper_Import_Flag -# define TAO_EVENTLOG_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_EVENTLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_EVENTLOG_SKEL_BUILD_DLL */ -#else /* TAO_EVENTLOG_SKEL_HAS_DLL == 1 */ -# define TAO_EventLog_Skel_Export -# define TAO_EVENTLOG_SKEL_SINGLETON_DECLARATION(T) -# define TAO_EVENTLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_EVENTLOG_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_EVENTLOG_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/log_export.h b/TAO/orbsvcs/orbsvcs/Log/log_export.h deleted file mode 100644 index 97ea3366e3e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/log_export.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// log_export.h,v 1.2 2000/10/10 22:16:02 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_LOG_EXPORT_H -#define TAO_LOG_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_LOG_HAS_DLL) -# define TAO_LOG_HAS_DLL 0 -# endif /* ! TAO_LOG_HAS_DLL */ -#else -# if !defined (TAO_LOG_HAS_DLL) -# define TAO_LOG_HAS_DLL 1 -# endif /* ! TAO_LOG_HAS_DLL */ -#endif - -#if defined (TAO_LOG_HAS_DLL) && (TAO_LOG_HAS_DLL == 1) -# if defined (TAO_LOG_BUILD_DLL) -# define TAO_Log_Export ACE_Proper_Export_Flag -# define TAO_LOG_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_LOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_LOG_BUILD_DLL */ -# define TAO_Log_Export ACE_Proper_Import_Flag -# define TAO_LOG_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_LOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_LOG_BUILD_DLL */ -#else /* TAO_LOG_HAS_DLL == 1 */ -# define TAO_Log_Export -# define TAO_LOG_SINGLETON_DECLARATION(T) -# define TAO_LOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_LOG_HAS_DLL == 1 */ - -#endif /* TAO_LOG_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/log_serv_export.h b/TAO/orbsvcs/orbsvcs/Log/log_serv_export.h deleted file mode 100644 index 000f75e5922..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/log_serv_export.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// log_serv_export.h,v 1.2 2000/10/10 22:16:02 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_LOG_SERV_EXPORT_H -#define TAO_LOG_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_LOG_SERV_HAS_DLL) -# define TAO_LOG_SERV_HAS_DLL 0 -# endif /* ! TAO_LOG_SERV_HAS_DLL */ -#else -# if !defined (TAO_LOG_SERV_HAS_DLL) -# define TAO_LOG_SERV_HAS_DLL 1 -# endif /* ! TAO_LOG_SERV_HAS_DLL */ -#endif - -#if defined (TAO_LOG_SERV_HAS_DLL) && (TAO_LOG_SERV_HAS_DLL == 1) -# if defined (TAO_LOG_SERV_BUILD_DLL) -# define TAO_Log_Serv_Export ACE_Proper_Export_Flag -# define TAO_LOG_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_LOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_LOG_SERV_BUILD_DLL */ -# define TAO_Log_Serv_Export ACE_Proper_Import_Flag -# define TAO_LOG_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_LOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_LOG_SERV_BUILD_DLL */ -#else /* TAO_LOG_SERV_HAS_DLL == 1 */ -# define TAO_Log_Serv_Export -# define TAO_LOG_SERV_SINGLETON_DECLARATION(T) -# define TAO_LOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_LOG_SERV_HAS_DLL == 1 */ - -#endif /* TAO_LOG_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/log_skel_export.h b/TAO/orbsvcs/orbsvcs/Log/log_skel_export.h deleted file mode 100644 index db1ff0231fc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/log_skel_export.h +++ /dev/null @@ -1,41 +0,0 @@ - - -/* -*- C++ -*- $Id$ */ -// log_skel_export.h,v 1.2 2000/10/10 22:16:02 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_LOG_SKEL_EXPORT_H -#define TAO_LOG_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_LOG_SKEL_HAS_DLL) -# define TAO_LOG_SKEL_HAS_DLL 0 -# endif /* ! TAO_LOG_SKEL_HAS_DLL */ -#else -# if !defined (TAO_LOG_SKEL_HAS_DLL) -# define TAO_LOG_SKEL_HAS_DLL 1 -# endif /* ! TAO_LOG_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_LOG_SKEL_HAS_DLL) && (TAO_LOG_SKEL_HAS_DLL == 1) -# if defined (TAO_LOG_SKEL_BUILD_DLL) -# define TAO_Log_Skel_Export ACE_Proper_Export_Flag -# define TAO_LOG_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_LOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_LOG_SKEL_BUILD_DLL */ -# define TAO_Log_Skel_Export ACE_Proper_Import_Flag -# define TAO_LOG_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_LOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_LOG_SKEL_BUILD_DLL */ -#else /* TAO_LOG_SKEL_HAS_DLL == 1 */ -# define TAO_Log_Skel_Export -# define TAO_LOG_SKEL_SINGLETON_DECLARATION(T) -# define TAO_LOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_LOG_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_LOG_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/notifylog_export.h b/TAO/orbsvcs/orbsvcs/Log/notifylog_export.h deleted file mode 100644 index c9f1d99ef4e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/notifylog_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NOTIFYLOG_EXPORT_H -#define TAO_NOTIFYLOG_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_NOTIFYLOG_HAS_DLL) -# define TAO_NOTIFYLOG_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_NOTIFYLOG_HAS_DLL */ - -#if !defined (TAO_NOTIFYLOG_HAS_DLL) -# define TAO_NOTIFYLOG_HAS_DLL 1 -#endif /* ! TAO_NOTIFYLOG_HAS_DLL */ - -#if defined (TAO_NOTIFYLOG_HAS_DLL) && (TAO_NOTIFYLOG_HAS_DLL == 1) -# if defined (TAO_NOTIFYLOG_BUILD_DLL) -# define TAO_NotifyLog_Export ACE_Proper_Export_Flag -# define TAO_NOTIFYLOG_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFYLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFYLOG_BUILD_DLL */ -# define TAO_NotifyLog_Export ACE_Proper_Import_Flag -# define TAO_NOTIFYLOG_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFYLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFYLOG_BUILD_DLL */ -#else /* TAO_NOTIFYLOG_HAS_DLL == 1 */ -# define TAO_NotifyLog_Export -# define TAO_NOTIFYLOG_SINGLETON_DECLARATION(T) -# define TAO_NOTIFYLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFYLOG_HAS_DLL == 1 */ - -#endif /* TAO_NOTIFYLOG_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/notifylog_serv_export.h b/TAO/orbsvcs/orbsvcs/Log/notifylog_serv_export.h deleted file mode 100644 index b9a3c655dc8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/notifylog_serv_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NOTIFYLOG_SERV_EXPORT_H -#define TAO_NOTIFYLOG_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_NOTIFYLOG_SERV_HAS_DLL) -# define TAO_NOTIFYLOG_SERV_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_NOTIFYLOG_SERV_HAS_DLL */ - -#if !defined (TAO_NOTIFYLOG_SERV_HAS_DLL) -# define TAO_NOTIFYLOG_SERV_HAS_DLL 1 -#endif /* ! TAO_NOTIFYLOG_SERV_HAS_DLL */ - -#if defined (TAO_NOTIFYLOG_SERV_HAS_DLL) && (TAO_NOTIFYLOG_SERV_HAS_DLL == 1) -# if defined (TAO_NOTIFYLOG_SERV_BUILD_DLL) -# define TAO_NotifyLog_Serv_Export ACE_Proper_Export_Flag -# define TAO_NOTIFYLOG_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFYLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFYLOG_SERV_BUILD_DLL */ -# define TAO_NotifyLog_Serv_Export ACE_Proper_Import_Flag -# define TAO_NOTIFYLOG_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFYLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFYLOG_SERV_BUILD_DLL */ -#else /* TAO_NOTIFYLOG_SERV_HAS_DLL == 1 */ -# define TAO_NotifyLog_Serv_Export -# define TAO_NOTIFYLOG_SERV_SINGLETON_DECLARATION(T) -# define TAO_NOTIFYLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFYLOG_SERV_HAS_DLL == 1 */ - -#endif /* TAO_NOTIFYLOG_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/notifylog_skel_export.h b/TAO/orbsvcs/orbsvcs/Log/notifylog_skel_export.h deleted file mode 100644 index b810fa8bb69..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/notifylog_skel_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NOTIFYLOG_SKEL_EXPORT_H -#define TAO_NOTIFYLOG_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_NOTIFYLOG_SKEL_HAS_DLL) -# define TAO_NOTIFYLOG_SKEL_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_NOTIFYLOG_SKEL_HAS_DLL */ - -#if !defined (TAO_NOTIFYLOG_SKEL_HAS_DLL) -# define TAO_NOTIFYLOG_SKEL_HAS_DLL 1 -#endif /* ! TAO_NOTIFYLOG_SKEL_HAS_DLL */ - -#if defined (TAO_NOTIFYLOG_SKEL_HAS_DLL) && (TAO_NOTIFYLOG_SKEL_HAS_DLL == 1) -# if defined (TAO_NOTIFYLOG_SKEL_BUILD_DLL) -# define TAO_NotifyLog_Skel_Export ACE_Proper_Export_Flag -# define TAO_NOTIFYLOG_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFYLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFYLOG_SKEL_BUILD_DLL */ -# define TAO_NotifyLog_Skel_Export ACE_Proper_Import_Flag -# define TAO_NOTIFYLOG_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFYLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFYLOG_SKEL_BUILD_DLL */ -#else /* TAO_NOTIFYLOG_SKEL_HAS_DLL == 1 */ -# define TAO_NotifyLog_Skel_Export -# define TAO_NOTIFYLOG_SKEL_SINGLETON_DECLARATION(T) -# define TAO_NOTIFYLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFYLOG_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_NOTIFYLOG_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/rteventlog_export.h b/TAO/orbsvcs/orbsvcs/Log/rteventlog_export.h deleted file mode 100644 index 9ad106e8d33..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/rteventlog_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTEVENTLOG_EXPORT_H -#define TAO_RTEVENTLOG_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_RTEVENTLOG_HAS_DLL) -# define TAO_RTEVENTLOG_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_RTEVENTLOG_HAS_DLL */ - -#if !defined (TAO_RTEVENTLOG_HAS_DLL) -# define TAO_RTEVENTLOG_HAS_DLL 1 -#endif /* ! TAO_RTEVENTLOG_HAS_DLL */ - -#if defined (TAO_RTEVENTLOG_HAS_DLL) && (TAO_RTEVENTLOG_HAS_DLL == 1) -# if defined (TAO_RTEVENTLOG_BUILD_DLL) -# define TAO_RTEventLog_Export ACE_Proper_Export_Flag -# define TAO_RTEVENTLOG_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENTLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTEVENTLOG_BUILD_DLL */ -# define TAO_RTEventLog_Export ACE_Proper_Import_Flag -# define TAO_RTEVENTLOG_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENTLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTEVENTLOG_BUILD_DLL */ -#else /* TAO_RTEVENTLOG_HAS_DLL == 1 */ -# define TAO_RTEventLog_Export -# define TAO_RTEVENTLOG_SINGLETON_DECLARATION(T) -# define TAO_RTEVENTLOG_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTEVENTLOG_HAS_DLL == 1 */ - -#endif /* TAO_RTEVENTLOG_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/rteventlog_serv_export.h b/TAO/orbsvcs/orbsvcs/Log/rteventlog_serv_export.h deleted file mode 100644 index c3791cd48ae..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/rteventlog_serv_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTEVENTLOG_SERV_EXPORT_H -#define TAO_RTEVENTLOG_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_RTEVENTLOG_SERV_HAS_DLL) -# define TAO_RTEVENTLOG_SERV_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_RTEVENTLOG_SERV_HAS_DLL */ - -#if !defined (TAO_RTEVENTLOG_SERV_HAS_DLL) -# define TAO_RTEVENTLOG_SERV_HAS_DLL 1 -#endif /* ! TAO_RTEVENTLOG_SERV_HAS_DLL */ - -#if defined (TAO_RTEVENTLOG_SERV_HAS_DLL) && (TAO_RTEVENTLOG_SERV_HAS_DLL == 1) -# if defined (TAO_RTEVENTLOG_SERV_BUILD_DLL) -# define TAO_RTEventLog_Serv_Export ACE_Proper_Export_Flag -# define TAO_RTEVENTLOG_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENTLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTEVENTLOG_SERV_BUILD_DLL */ -# define TAO_RTEventLog_Serv_Export ACE_Proper_Import_Flag -# define TAO_RTEVENTLOG_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENTLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTEVENTLOG_SERV_BUILD_DLL */ -#else /* TAO_RTEVENTLOG_SERV_HAS_DLL == 1 */ -# define TAO_RTEventLog_Serv_Export -# define TAO_RTEVENTLOG_SERV_SINGLETON_DECLARATION(T) -# define TAO_RTEVENTLOG_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTEVENTLOG_SERV_HAS_DLL == 1 */ - -#endif /* TAO_RTEVENTLOG_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Log/rteventlog_skel_export.h b/TAO/orbsvcs/orbsvcs/Log/rteventlog_skel_export.h deleted file mode 100644 index bd0276592f9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Log/rteventlog_skel_export.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- C++ -*- $Id$ */ -// generate_export_file.pl,v 1.8 2001/03/04 09:16:29 nanbor Exp -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTEVENTLOG_SKEL_EXPORT_H -#define TAO_RTEVENTLOG_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_RTEVENTLOG_SKEL_HAS_DLL) -# define TAO_RTEVENTLOG_SKEL_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && TAO_RTEVENTLOG_SKEL_HAS_DLL */ - -#if !defined (TAO_RTEVENTLOG_SKEL_HAS_DLL) -# define TAO_RTEVENTLOG_SKEL_HAS_DLL 1 -#endif /* ! TAO_RTEVENTLOG_SKEL_HAS_DLL */ - -#if defined (TAO_RTEVENTLOG_SKEL_HAS_DLL) && (TAO_RTEVENTLOG_SKEL_HAS_DLL == 1) -# if defined (TAO_RTEVENTLOG_SKEL_BUILD_DLL) -# define TAO_RTEventLog_Skel_Export ACE_Proper_Export_Flag -# define TAO_RTEVENTLOG_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENTLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTEVENTLOG_SKEL_BUILD_DLL */ -# define TAO_RTEventLog_Skel_Export ACE_Proper_Import_Flag -# define TAO_RTEVENTLOG_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTEVENTLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTEVENTLOG_SKEL_BUILD_DLL */ -#else /* TAO_RTEVENTLOG_SKEL_HAS_DLL == 1 */ -# define TAO_RTEventLog_Skel_Export -# define TAO_RTEVENTLOG_SKEL_SINGLETON_DECLARATION(T) -# define TAO_RTEVENTLOG_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTEVENTLOG_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_RTEVENTLOG_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Makefile.am b/TAO/orbsvcs/orbsvcs/Makefile.am deleted file mode 100644 index 9ba84c529a9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Makefile.am +++ /dev/null @@ -1,6166 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ../bin/mwc.pl -type automake -noreldefs TAO.mwc - -includedir = @includedir@/orbsvcs -pkgconfigdir = @libdir@/pkgconfig - -ACE_BUILDDIR = $(top_builddir)/.. -ACE_ROOT = $(top_srcdir)/.. -TAO_BUILDDIR = $(top_builddir) -TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl -TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl -TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf -TAO_ROOT = $(top_srcdir) - - -## Makefile.CosNaming_IDL.am - -BUILT_SOURCES = \ - CosNamingC.cpp \ - CosNamingC.h \ - CosNamingC.inl \ - CosNamingS.cpp \ - CosNamingS.h \ - CosNamingS.inl \ - CosNamingS_T.cpp \ - CosNamingS_T.h \ - CosNamingS_T.inl - -CLEANFILES = \ - CosNaming-stamp \ - CosNamingC.cpp \ - CosNamingC.h \ - CosNamingC.inl \ - CosNamingS.cpp \ - CosNamingS.h \ - CosNamingS.inl \ - CosNamingS_T.cpp \ - CosNamingS_T.h \ - CosNamingS_T.inl - -CosNamingC.cpp CosNamingC.h CosNamingC.inl CosNamingS.cpp CosNamingS.h CosNamingS.inl CosNamingS_T.cpp CosNamingS_T.h CosNamingS_T.inl: CosNaming-stamp - -CosNaming-stamp: $(srcdir)/CosNaming.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Naming_Export -Wb,stub_export_include=orbsvcs/Naming/naming_export.h -Wb,skel_export_macro=TAO_Naming_Skel_Export -Wb,skel_export_include=orbsvcs/Naming/naming_skel_export.h $(srcdir)/CosNaming.idl - @touch $@ - - -nobase_include_HEADERS = \ - CosNaming.idl - -## Makefile.CosNaming.am - -lib_LTLIBRARIES = libTAO_CosNaming.la - -libTAO_CosNaming_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_NAMING_BUILD_DLL - -libTAO_CosNaming_la_SOURCES = \ - CosNamingC.cpp \ - Naming/Naming_Client.cpp - -libTAO_CosNaming_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNaming_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosNamingC.h \ - CosNamingC.inl \ - Naming/Naming_Client.h \ - Naming/naming_export.h - -pkgconfig_DATA = \ - TAO_CosNaming.pc - -CLEANFILES += \ - TAO_CosNaming.pc - -TAO_CosNaming.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosNaming.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosNaming.pc.in - -EXTRA_DIST = \ - CosNaming.rc \ - TAO_CosNaming.pc.in - - -## Makefile.CosProperty_IDL.am - -BUILT_SOURCES += \ - CosPropertyC.cpp \ - CosPropertyC.h \ - CosPropertyC.inl \ - CosPropertyS.cpp \ - CosPropertyS.h \ - CosPropertyS.inl \ - CosPropertyS_T.cpp \ - CosPropertyS_T.h \ - CosPropertyS_T.inl - -CLEANFILES += \ - CosProperty-stamp \ - CosPropertyC.cpp \ - CosPropertyC.h \ - CosPropertyC.inl \ - CosPropertyS.cpp \ - CosPropertyS.h \ - CosPropertyS.inl \ - CosPropertyS_T.cpp \ - CosPropertyS_T.h \ - CosPropertyS_T.inl - -CosPropertyC.cpp CosPropertyC.h CosPropertyC.inl CosPropertyS.cpp CosPropertyS.h CosPropertyS.inl CosPropertyS_T.cpp CosPropertyS_T.h CosPropertyS_T.inl: CosProperty-stamp - -CosProperty-stamp: $(srcdir)/CosProperty.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Property_Export -Wb,stub_export_include=orbsvcs/Property/property_export.h -Wb,skel_export_macro=TAO_Property_Skel_Export -Wb,skel_export_include=orbsvcs/Property/property_skel_export.h $(srcdir)/CosProperty.idl - @touch $@ - -BUILT_SOURCES += \ - CosPropertyServiceC.cpp \ - CosPropertyServiceC.h \ - CosPropertyServiceC.inl \ - CosPropertyServiceS.cpp \ - CosPropertyServiceS.h \ - CosPropertyServiceS.inl \ - CosPropertyServiceS_T.cpp \ - CosPropertyServiceS_T.h \ - CosPropertyServiceS_T.inl - -CLEANFILES += \ - CosPropertyService-stamp \ - CosPropertyServiceC.cpp \ - CosPropertyServiceC.h \ - CosPropertyServiceC.inl \ - CosPropertyServiceS.cpp \ - CosPropertyServiceS.h \ - CosPropertyServiceS.inl \ - CosPropertyServiceS_T.cpp \ - CosPropertyServiceS_T.h \ - CosPropertyServiceS_T.inl - -CosPropertyServiceC.cpp CosPropertyServiceC.h CosPropertyServiceC.inl CosPropertyServiceS.cpp CosPropertyServiceS.h CosPropertyServiceS.inl CosPropertyServiceS_T.cpp CosPropertyServiceS_T.h CosPropertyServiceS_T.inl: CosPropertyService-stamp - -CosPropertyService-stamp: $(srcdir)/CosPropertyService.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Property_Export -Wb,stub_export_include=orbsvcs/Property/property_export.h -Wb,skel_export_macro=TAO_Property_Skel_Export -Wb,skel_export_include=orbsvcs/Property/property_skel_export.h $(srcdir)/CosPropertyService.idl - @touch $@ - - -nobase_include_HEADERS += \ - CosProperty.idl \ - CosPropertyService.idl - -## Makefile.CosProperty.am - -lib_LTLIBRARIES += libTAO_CosProperty.la - -libTAO_CosProperty_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_PROPERTY_BUILD_DLL - -libTAO_CosProperty_la_SOURCES = \ - CosPropertyC.cpp \ - CosPropertyServiceC.cpp - -libTAO_CosProperty_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosProperty_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosPropertyC.h \ - CosPropertyC.inl \ - CosPropertyServiceC.h \ - CosPropertyServiceC.inl \ - Property/property_export.h - -pkgconfig_DATA += \ - TAO_CosProperty.pc - -CLEANFILES += \ - TAO_CosProperty.pc - -TAO_CosProperty.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosProperty.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosProperty.pc.in - -EXTRA_DIST += \ - TAO_CosProperty.pc.in - - -## Makefile.CosProperty_Skel.am - -lib_LTLIBRARIES += libTAO_CosProperty_Skel.la - -libTAO_CosProperty_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_PROPERTY_SKEL_BUILD_DLL - -libTAO_CosProperty_Skel_la_SOURCES = \ - CosPropertyS.cpp \ - CosPropertyServiceS.cpp - -libTAO_CosProperty_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosProperty_Skel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosProperty.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosPropertyS.h \ - CosPropertyS.inl \ - CosPropertyS_T.cpp \ - CosPropertyS_T.h \ - CosPropertyS_T.inl \ - CosPropertyServiceS.h \ - CosPropertyServiceS.inl \ - CosPropertyServiceS_T.cpp \ - CosPropertyServiceS_T.h \ - CosPropertyServiceS_T.inl \ - Property/property_skel_export.h - -pkgconfig_DATA += \ - TAO_CosProperty_Skel.pc - -CLEANFILES += \ - TAO_CosProperty_Skel.pc - -TAO_CosProperty_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosProperty_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosProperty_Skel.pc.in - -EXTRA_DIST += \ - TAO_CosProperty_Skel.pc.in - - -## Makefile.CosProperty_Serv.am - -lib_LTLIBRARIES += libTAO_CosProperty_Serv.la - -libTAO_CosProperty_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_PROPERTY_SERV_BUILD_DLL - -libTAO_CosProperty_Serv_la_SOURCES = \ - Property/CosPropertyService_i.cpp - -libTAO_CosProperty_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosProperty_Serv_la_LIBADD = \ - libTAO_CosProperty_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosProperty.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Property/CosPropertyService_i.h \ - Property/property_serv_export.h - -pkgconfig_DATA += \ - TAO_CosProperty_Serv.pc - -CLEANFILES += \ - TAO_CosProperty_Serv.pc - -TAO_CosProperty_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosProperty_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosProperty_Serv.pc.in - -EXTRA_DIST += \ - TAO_CosProperty_Serv.pc.in - - -## Makefile.AV.am - -if !BUILD_ACE_FOR_TAO - -BUILT_SOURCES += \ - AVStreamsC.cpp \ - AVStreamsC.h \ - AVStreamsC.inl \ - AVStreamsS.cpp \ - AVStreamsS.h \ - AVStreamsS.inl \ - AVStreamsS_T.cpp \ - AVStreamsS_T.inl - -CLEANFILES += \ - AVStreams-stamp \ - AVStreamsC.cpp \ - AVStreamsC.h \ - AVStreamsC.inl \ - AVStreamsS.cpp \ - AVStreamsS.h \ - AVStreamsS.inl \ - AVStreamsS_T.cpp \ - AVStreamsS_T.inl - -AVStreamsC.cpp AVStreamsC.h AVStreamsC.inl AVStreamsS.cpp AVStreamsS.h AVStreamsS.inl AVStreamsS_T.cpp AVStreamsS_T.inl: AVStreams-stamp - -AVStreams-stamp: $(srcdir)/AVStreams.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_AV_Export -Wb,export_include=orbsvcs/AV/AV_export.h $(srcdir)/AVStreams.idl - @touch $@ - -BUILT_SOURCES += \ - Null_MediaCtrlC.cpp \ - Null_MediaCtrlC.h \ - Null_MediaCtrlC.inl \ - Null_MediaCtrlS.cpp \ - Null_MediaCtrlS.h \ - Null_MediaCtrlS.inl \ - Null_MediaCtrlS_T.cpp \ - Null_MediaCtrlS_T.inl - -CLEANFILES += \ - Null_MediaCtrl-stamp \ - Null_MediaCtrlC.cpp \ - Null_MediaCtrlC.h \ - Null_MediaCtrlC.inl \ - Null_MediaCtrlS.cpp \ - Null_MediaCtrlS.h \ - Null_MediaCtrlS.inl \ - Null_MediaCtrlS_T.cpp \ - Null_MediaCtrlS_T.inl - -Null_MediaCtrlC.cpp Null_MediaCtrlC.h Null_MediaCtrlC.inl Null_MediaCtrlS.cpp Null_MediaCtrlS.h Null_MediaCtrlS.inl Null_MediaCtrlS_T.cpp Null_MediaCtrlS_T.inl: Null_MediaCtrl-stamp - -Null_MediaCtrl-stamp: $(srcdir)/Null_MediaCtrl.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_AV_Export -Wb,export_include=orbsvcs/AV/AV_export.h $(srcdir)/Null_MediaCtrl.idl - @touch $@ - -BUILT_SOURCES += \ - sfpC.cpp \ - sfpC.h \ - sfpC.inl \ - sfpS.cpp \ - sfpS.h \ - sfpS.inl \ - sfpS_T.cpp \ - sfpS_T.inl - -CLEANFILES += \ - sfp-stamp \ - sfpC.cpp \ - sfpC.h \ - sfpC.inl \ - sfpS.cpp \ - sfpS.h \ - sfpS.inl \ - sfpS_T.cpp \ - sfpS_T.inl - -sfpC.cpp sfpC.h sfpC.inl sfpS.cpp sfpS.h sfpS.inl sfpS_T.cpp sfpS_T.inl: sfp-stamp - -sfp-stamp: $(srcdir)/sfp.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_AV_Export -Wb,export_include=orbsvcs/AV/AV_export.h $(srcdir)/sfp.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_AV.la - -libTAO_AV_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_AV_BUILD_DLL - -libTAO_AV_la_SOURCES = \ - AV/AVStreams_i.cpp \ - AV/AV_Core.cpp \ - AV/Endpoint_Strategy.cpp \ - AV/Fill_ACE_QoS.cpp \ - AV/FlowSpec_Entry.cpp \ - AV/MCast.cpp \ - AV/Policy.cpp \ - AV/Protocol_Factory.cpp \ - AV/QoS_UDP.cpp \ - AV/RTCP.cpp \ - AV/RTCP_Channel.cpp \ - AV/RTCP_Packet.cpp \ - AV/RTP.cpp \ - AV/SCTP_SEQ.cpp \ - AV/TCP.cpp \ - AV/Transport.cpp \ - AV/UDP.cpp \ - AV/default_resource.cpp \ - AV/md5c.cpp \ - AV/media_timer.cpp \ - AV/sfp.cpp \ - AVStreamsC.cpp \ - AVStreamsS.cpp \ - Null_MediaCtrlC.cpp \ - Null_MediaCtrlS.cpp \ - sfpC.cpp \ - sfpS.cpp - -libTAO_AV_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_AV_la_LIBADD = \ - libTAO_CosNaming.la \ - libTAO_CosProperty_Serv.la \ - libTAO_CosProperty_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosProperty.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - AV/AVStreams_i.h \ - AV/AVStreams_i.i \ - AV/AV_Core.h \ - AV/AV_export.h \ - AV/Endpoint_Strategy.h \ - AV/Endpoint_Strategy_T.cpp \ - AV/Endpoint_Strategy_T.h \ - AV/Fill_ACE_QoS.h \ - AV/FlowSpec_Entry.h \ - AV/FlowSpec_Entry.i \ - AV/Flows_T.cpp \ - AV/Flows_T.h \ - AV/MCast.h \ - AV/MCast.i \ - AV/Policy.h \ - AV/Policy.i \ - AV/Protocol_Factory.h \ - AV/QoS_UDP.h \ - AV/QoS_UDP.i \ - AV/RTCP.h \ - AV/RTCP_Channel.h \ - AV/RTCP_Packet.h \ - AV/RTP.h \ - AV/Resource_Factory.h \ - AV/SCTP_SEQ.h \ - AV/TCP.h \ - AV/Transport.h \ - AV/Transport.i \ - AV/UDP.h \ - AV/UDP.i \ - AV/default_resource.h \ - AV/global.h \ - AV/md5.h \ - AV/media_timer.h \ - AV/ntp-time.h \ - AV/sfp.h \ - AVStreams.idl \ - AVStreamsC.h \ - AVStreamsC.inl \ - AVStreamsS.h \ - AVStreamsS.inl \ - AVStreamsS_T.cpp \ - AVStreamsS_T.inl \ - Null_MediaCtrl.idl \ - Null_MediaCtrlC.h \ - Null_MediaCtrlC.inl \ - Null_MediaCtrlS.h \ - Null_MediaCtrlS.inl \ - Null_MediaCtrlS_T.cpp \ - Null_MediaCtrlS_T.inl \ - sfp.idl \ - sfpC.h \ - sfpC.inl \ - sfpS.h \ - sfpS.inl \ - sfpS_T.cpp \ - sfpS_T.inl - -endif !BUILD_ACE_FOR_TAO - -EXTRA_DIST += \ - AV.rc - - -## Makefile.CosConcurrency_IDL.am - -BUILT_SOURCES += \ - CosConcurrencyControlC.cpp \ - CosConcurrencyControlC.h \ - CosConcurrencyControlC.inl \ - CosConcurrencyControlS.cpp \ - CosConcurrencyControlS.h \ - CosConcurrencyControlS.inl \ - CosConcurrencyControlS_T.cpp \ - CosConcurrencyControlS_T.h \ - CosConcurrencyControlS_T.inl - -CLEANFILES += \ - CosConcurrencyControl-stamp \ - CosConcurrencyControlC.cpp \ - CosConcurrencyControlC.h \ - CosConcurrencyControlC.inl \ - CosConcurrencyControlS.cpp \ - CosConcurrencyControlS.h \ - CosConcurrencyControlS.inl \ - CosConcurrencyControlS_T.cpp \ - CosConcurrencyControlS_T.h \ - CosConcurrencyControlS_T.inl - -CosConcurrencyControlC.cpp CosConcurrencyControlC.h CosConcurrencyControlC.inl CosConcurrencyControlS.cpp CosConcurrencyControlS.h CosConcurrencyControlS.inl CosConcurrencyControlS_T.cpp CosConcurrencyControlS_T.h CosConcurrencyControlS_T.inl: CosConcurrencyControl-stamp - -CosConcurrencyControl-stamp: $(srcdir)/CosConcurrencyControl.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Concurrency_Export -Wb,stub_export_include=orbsvcs/Concurrency/concurrency_export.h -Wb,skel_export_macro=TAO_Concurrency_Skel_Export -Wb,skel_export_include=orbsvcs/Concurrency/concurrency_skel_export.h $(srcdir)/CosConcurrencyControl.idl - @touch $@ - - -nobase_include_HEADERS += \ - CosConcurrencyControl.idl - -## Makefile.CosConcurrency.am - -lib_LTLIBRARIES += libTAO_CosConcurrency.la - -libTAO_CosConcurrency_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_CONCURRENCY_BUILD_DLL - -libTAO_CosConcurrency_la_SOURCES = \ - CosConcurrencyControlC.cpp - -libTAO_CosConcurrency_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosConcurrency_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Concurrency/concurrency_export.h \ - CosConcurrencyControlC.h \ - CosConcurrencyControlC.inl - -pkgconfig_DATA += \ - TAO_CosConcurrency.pc - -CLEANFILES += \ - TAO_CosConcurrency.pc - -TAO_CosConcurrency.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosConcurrency.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosConcurrency.pc.in - -EXTRA_DIST += \ - TAO_CosConcurrency.pc.in - - -## Makefile.CosConcurrency_Skel.am - -lib_LTLIBRARIES += libTAO_CosConcurrency_Skel.la - -libTAO_CosConcurrency_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_CONCURRENCY_SKEL_BUILD_DLL - -libTAO_CosConcurrency_Skel_la_SOURCES = \ - CosConcurrencyControlS.cpp - -libTAO_CosConcurrency_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosConcurrency_Skel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosConcurrency.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Concurrency/concurrency_skel_export.h \ - CosConcurrencyControlS.h \ - CosConcurrencyControlS.inl - -pkgconfig_DATA += \ - TAO_CosConcurrency_Skel.pc - -CLEANFILES += \ - TAO_CosConcurrency_Skel.pc - -TAO_CosConcurrency_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosConcurrency_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosConcurrency_Skel.pc.in - -EXTRA_DIST += \ - TAO_CosConcurrency_Skel.pc.in - - -## Makefile.CosConcurrency_Serv.am - -lib_LTLIBRARIES += libTAO_CosConcurrency_Serv.la - -libTAO_CosConcurrency_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_CONCURRENCY_SERV_BUILD_DLL - -libTAO_CosConcurrency_Serv_la_SOURCES = \ - Concurrency/CC_Lock.cpp \ - Concurrency/CC_LockSet.cpp \ - Concurrency/CC_LockSetFactory.cpp \ - Concurrency/Concurrency_Loader.cpp \ - Concurrency/Concurrency_Utils.cpp - -libTAO_CosConcurrency_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosConcurrency_Serv_la_LIBADD = \ - libTAO_CosConcurrency_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosConcurrency.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Concurrency/CC_Lock.h \ - Concurrency/CC_LockSet.h \ - Concurrency/CC_LockSetFactory.h \ - Concurrency/Concurrency_Loader.h \ - Concurrency/Concurrency_Utils.h \ - Concurrency/concurrency_serv_export.h - -pkgconfig_DATA += \ - TAO_CosConcurrency_Serv.pc - -CLEANFILES += \ - TAO_CosConcurrency_Serv.pc - -TAO_CosConcurrency_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosConcurrency_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosConcurrency_Serv.pc.in - -EXTRA_DIST += \ - TAO_CosConcurrency_Serv.pc.in - - -## Makefile.CosEvent_IDL.am - -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - CosTypedEventCommC.cpp \ - CosTypedEventCommC.h \ - CosTypedEventCommC.inl \ - CosTypedEventCommS.cpp \ - CosTypedEventCommS.h \ - CosTypedEventCommS.inl \ - CosTypedEventCommS_T.cpp \ - CosTypedEventCommS_T.h \ - CosTypedEventCommS_T.inl - -CLEANFILES += \ - CosTypedEventComm-stamp \ - CosTypedEventCommC.cpp \ - CosTypedEventCommC.h \ - CosTypedEventCommC.inl \ - CosTypedEventCommS.cpp \ - CosTypedEventCommS.h \ - CosTypedEventCommS.inl \ - CosTypedEventCommS_T.cpp \ - CosTypedEventCommS_T.h \ - CosTypedEventCommS_T.inl - -CosTypedEventCommC.cpp CosTypedEventCommC.h CosTypedEventCommC.inl CosTypedEventCommS.cpp CosTypedEventCommS.h CosTypedEventCommS.inl CosTypedEventCommS_T.cpp CosTypedEventCommS_T.h CosTypedEventCommS_T.inl: CosTypedEventComm-stamp - -CosTypedEventComm-stamp: $(srcdir)/CosTypedEventComm.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,stub_export_macro=TAO_Event_Export -Wb,stub_export_include=orbsvcs/CosEvent/event_export.h -Wb,skel_export_macro=TAO_Event_Skel_Export -Wb,skel_export_include=orbsvcs/CosEvent/event_skel_export.h $(srcdir)/CosTypedEventComm.idl - @touch $@ - -BUILT_SOURCES += \ - CosTypedEventChannelAdminC.cpp \ - CosTypedEventChannelAdminC.h \ - CosTypedEventChannelAdminC.inl \ - CosTypedEventChannelAdminS.cpp \ - CosTypedEventChannelAdminS.h \ - CosTypedEventChannelAdminS.inl \ - CosTypedEventChannelAdminS_T.cpp \ - CosTypedEventChannelAdminS_T.h \ - CosTypedEventChannelAdminS_T.inl - -CLEANFILES += \ - CosTypedEventChannelAdmin-stamp \ - CosTypedEventChannelAdminC.cpp \ - CosTypedEventChannelAdminC.h \ - CosTypedEventChannelAdminC.inl \ - CosTypedEventChannelAdminS.cpp \ - CosTypedEventChannelAdminS.h \ - CosTypedEventChannelAdminS.inl \ - CosTypedEventChannelAdminS_T.cpp \ - CosTypedEventChannelAdminS_T.h \ - CosTypedEventChannelAdminS_T.inl - -CosTypedEventChannelAdminC.cpp CosTypedEventChannelAdminC.h CosTypedEventChannelAdminC.inl CosTypedEventChannelAdminS.cpp CosTypedEventChannelAdminS.h CosTypedEventChannelAdminS.inl CosTypedEventChannelAdminS_T.cpp CosTypedEventChannelAdminS_T.h CosTypedEventChannelAdminS_T.inl: CosTypedEventChannelAdmin-stamp - -CosTypedEventChannelAdmin-stamp: $(srcdir)/CosTypedEventChannelAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,stub_export_macro=TAO_Event_Export -Wb,stub_export_include=orbsvcs/CosEvent/event_export.h -Wb,skel_export_macro=TAO_Event_Skel_Export -Wb,skel_export_include=orbsvcs/CosEvent/event_skel_export.h $(srcdir)/CosTypedEventChannelAdmin.idl - @touch $@ - -BUILT_SOURCES += \ - CosEventCommC.cpp \ - CosEventCommC.h \ - CosEventCommC.inl \ - CosEventCommS.cpp \ - CosEventCommS.h \ - CosEventCommS.inl \ - CosEventCommS_T.cpp \ - CosEventCommS_T.h \ - CosEventCommS_T.inl - -CLEANFILES += \ - CosEventComm-stamp \ - CosEventCommC.cpp \ - CosEventCommC.h \ - CosEventCommC.inl \ - CosEventCommS.cpp \ - CosEventCommS.h \ - CosEventCommS.inl \ - CosEventCommS_T.cpp \ - CosEventCommS_T.h \ - CosEventCommS_T.inl - -CosEventCommC.cpp CosEventCommC.h CosEventCommC.inl CosEventCommS.cpp CosEventCommS.h CosEventCommS.inl CosEventCommS_T.cpp CosEventCommS_T.h CosEventCommS_T.inl: CosEventComm-stamp - -CosEventComm-stamp: $(srcdir)/CosEventComm.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Event_Export -Wb,stub_export_include=orbsvcs/CosEvent/event_export.h -Wb,skel_export_macro=TAO_Event_Skel_Export -Wb,skel_export_include=orbsvcs/CosEvent/event_skel_export.h $(srcdir)/CosEventComm.idl - @touch $@ - -BUILT_SOURCES += \ - CosEventChannelAdminC.cpp \ - CosEventChannelAdminC.h \ - CosEventChannelAdminC.inl \ - CosEventChannelAdminS.cpp \ - CosEventChannelAdminS.h \ - CosEventChannelAdminS.inl \ - CosEventChannelAdminS_T.cpp \ - CosEventChannelAdminS_T.h \ - CosEventChannelAdminS_T.inl - -CLEANFILES += \ - CosEventChannelAdmin-stamp \ - CosEventChannelAdminC.cpp \ - CosEventChannelAdminC.h \ - CosEventChannelAdminC.inl \ - CosEventChannelAdminS.cpp \ - CosEventChannelAdminS.h \ - CosEventChannelAdminS.inl \ - CosEventChannelAdminS_T.cpp \ - CosEventChannelAdminS_T.h \ - CosEventChannelAdminS_T.inl - -CosEventChannelAdminC.cpp CosEventChannelAdminC.h CosEventChannelAdminC.inl CosEventChannelAdminS.cpp CosEventChannelAdminS.h CosEventChannelAdminS.inl CosEventChannelAdminS_T.cpp CosEventChannelAdminS_T.h CosEventChannelAdminS_T.inl: CosEventChannelAdmin-stamp - -CosEventChannelAdmin-stamp: $(srcdir)/CosEventChannelAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Event_Export -Wb,stub_export_include=orbsvcs/CosEvent/event_export.h -Wb,skel_export_macro=TAO_Event_Skel_Export -Wb,skel_export_include=orbsvcs/CosEvent/event_skel_export.h $(srcdir)/CosEventChannelAdmin.idl - @touch $@ - - -nobase_include_HEADERS += \ - CosEventChannelAdmin.idl \ - CosEventComm.idl \ - CosTypedEventChannelAdmin.idl \ - CosTypedEventComm.idl - -endif !BUILD_MINIMUM_CORBA - -## Makefile.CosEvent.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosEvent.la - -libTAO_CosEvent_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_EVENT_BUILD_DLL - -libTAO_CosEvent_la_SOURCES = \ - CosEventChannelAdminC.cpp \ - CosEventCommC.cpp \ - CosTypedEventChannelAdminC.cpp \ - CosTypedEventCommC.cpp - -libTAO_CosEvent_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosEvent_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosEvent/event_export.h \ - CosEventChannelAdminC.h \ - CosEventChannelAdminC.inl \ - CosEventCommC.h \ - CosEventCommC.inl \ - CosTypedEventChannelAdminC.h \ - CosTypedEventChannelAdminC.inl \ - CosTypedEventCommC.h \ - CosTypedEventCommC.inl - -pkgconfig_DATA += \ - TAO_CosEvent.pc - -CLEANFILES += \ - TAO_CosEvent.pc - -TAO_CosEvent.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosEvent.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosEvent.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - CosEvent.rc \ - TAO_CosEvent.pc.in - - -## Makefile.Svc_Utils.am - -BUILT_SOURCES += \ - TimeBaseC.cpp \ - TimeBaseC.h \ - TimeBaseC.inl \ - TimeBaseS.cpp \ - TimeBaseS.h \ - TimeBaseS.inl \ - TimeBaseS_T.cpp \ - TimeBaseS_T.inl - -CLEANFILES += \ - TimeBase-stamp \ - TimeBaseC.cpp \ - TimeBaseC.h \ - TimeBaseC.inl \ - TimeBaseS.cpp \ - TimeBaseS.h \ - TimeBaseS.inl \ - TimeBaseS_T.cpp \ - TimeBaseS_T.inl - -TimeBaseC.cpp TimeBaseC.h TimeBaseC.inl TimeBaseS.cpp TimeBaseS.h TimeBaseS.inl TimeBaseS_T.cpp TimeBaseS_T.inl: TimeBase-stamp - -TimeBase-stamp: $(srcdir)/TimeBase.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Svc_Utils_Export -Wb,export_include=orbsvcs/svc_utils_export.h $(srcdir)/TimeBase.idl - @touch $@ - -BUILT_SOURCES += \ - RtecBaseC.cpp \ - RtecBaseC.h \ - RtecBaseC.inl \ - RtecBaseS.cpp \ - RtecBaseS.h \ - RtecBaseS.inl \ - RtecBaseS_T.cpp \ - RtecBaseS_T.inl - -CLEANFILES += \ - RtecBase-stamp \ - RtecBaseC.cpp \ - RtecBaseC.h \ - RtecBaseC.inl \ - RtecBaseS.cpp \ - RtecBaseS.h \ - RtecBaseS.inl \ - RtecBaseS_T.cpp \ - RtecBaseS_T.inl - -RtecBaseC.cpp RtecBaseC.h RtecBaseC.inl RtecBaseS.cpp RtecBaseS.h RtecBaseS.inl RtecBaseS_T.cpp RtecBaseS_T.inl: RtecBase-stamp - -RtecBase-stamp: $(srcdir)/RtecBase.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Svc_Utils_Export -Wb,export_include=orbsvcs/svc_utils_export.h $(srcdir)/RtecBase.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_Svc_Utils.la - -libTAO_Svc_Utils_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_SVC_UTILS_BUILD_DLL - -libTAO_Svc_Utils_la_SOURCES = \ - IOR_Multicast.cpp \ - RtecBaseC.cpp \ - RtecBaseS.cpp \ - Shutdown_Utilities.cpp \ - TimeBaseC.cpp \ - TimeBaseS.cpp \ - Time_Utilities.cpp - -libTAO_Svc_Utils_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_Svc_Utils_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - IOR_Multicast.h \ - RtecBase.idl \ - RtecBaseC.h \ - RtecBaseC.inl \ - RtecBaseS.h \ - RtecBaseS.inl \ - RtecBaseS_T.cpp \ - RtecBaseS_T.inl \ - Shutdown_Utilities.h \ - TimeBase.idl \ - TimeBaseC.h \ - TimeBaseC.inl \ - TimeBaseS.h \ - TimeBaseS.inl \ - TimeBaseS_T.cpp \ - TimeBaseS_T.inl \ - Time_Utilities.h \ - Time_Utilities.i \ - svc_utils_export.h - -pkgconfig_DATA += \ - TAO_Svc_Utils.pc - -CLEANFILES += \ - TAO_Svc_Utils.pc - -TAO_Svc_Utils.pc: ${top_builddir}/config.status ${srcdir}/TAO_Svc_Utils.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_Svc_Utils.pc.in - -EXTRA_DIST += \ - Svc_Utils.rc \ - TAO_Svc_Utils.pc.in - - -## Makefile.CosEvent_Skel.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosEvent_Skel.la - -libTAO_CosEvent_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_EVENT_SKEL_BUILD_DLL - -libTAO_CosEvent_Skel_la_SOURCES = \ - CosEventChannelAdminS.cpp \ - CosEventCommS.cpp \ - CosTypedEventChannelAdminS.cpp \ - CosTypedEventCommS.cpp - -libTAO_CosEvent_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosEvent_Skel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosEvent.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosEvent/event_skel_export.h \ - CosEventChannelAdminS.h \ - CosEventChannelAdminS.inl \ - CosEventChannelAdminS_T.cpp \ - CosEventChannelAdminS_T.h \ - CosEventChannelAdminS_T.inl \ - CosEventCommS.h \ - CosEventCommS.inl \ - CosEventCommS_T.cpp \ - CosEventCommS_T.h \ - CosEventCommS_T.inl \ - CosTypedEventChannelAdminS.h \ - CosTypedEventChannelAdminS.inl \ - CosTypedEventChannelAdminS_T.cpp \ - CosTypedEventChannelAdminS_T.h \ - CosTypedEventChannelAdminS_T.inl \ - CosTypedEventCommS.h \ - CosTypedEventCommS.inl \ - CosTypedEventCommS_T.cpp \ - CosTypedEventCommS_T.h \ - CosTypedEventCommS_T.inl - -pkgconfig_DATA += \ - TAO_CosEvent_Skel.pc - -CLEANFILES += \ - TAO_CosEvent_Skel.pc - -TAO_CosEvent_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosEvent_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosEvent_Skel.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - CosEvent_Skel.rc \ - TAO_CosEvent_Skel.pc.in - - -## Makefile.CosEvent_Serv.am - -if BUILD_CORBA_MESSAGING -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosEvent_Serv.la - -libTAO_CosEvent_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_EVENT_SERV_BUILD_DLL - -libTAO_CosEvent_Serv_la_SOURCES = \ - CosEvent/CEC_ConsumerAdmin.cpp \ - CosEvent/CEC_ConsumerControl.cpp \ - CosEvent/CEC_Default_Factory.cpp \ - CosEvent/CEC_Dispatching.cpp \ - CosEvent/CEC_Dispatching_Task.cpp \ - CosEvent/CEC_DynamicImplementation.cpp \ - CosEvent/CEC_EventChannel.cpp \ - CosEvent/CEC_Event_Loader.cpp \ - CosEvent/CEC_Factory.cpp \ - CosEvent/CEC_MT_Dispatching.cpp \ - CosEvent/CEC_ProxyPullConsumer.cpp \ - CosEvent/CEC_ProxyPullSupplier.cpp \ - CosEvent/CEC_ProxyPushConsumer.cpp \ - CosEvent/CEC_ProxyPushSupplier.cpp \ - CosEvent/CEC_Pulling_Strategy.cpp \ - CosEvent/CEC_Reactive_ConsumerControl.cpp \ - CosEvent/CEC_Reactive_Pulling_Strategy.cpp \ - CosEvent/CEC_Reactive_SupplierControl.cpp \ - CosEvent/CEC_SupplierAdmin.cpp \ - CosEvent/CEC_SupplierControl.cpp \ - CosEvent/CEC_TypedConsumerAdmin.cpp \ - CosEvent/CEC_TypedEvent.cpp \ - CosEvent/CEC_TypedEventChannel.cpp \ - CosEvent/CEC_TypedProxyPushConsumer.cpp \ - CosEvent/CEC_TypedSupplierAdmin.cpp - -libTAO_CosEvent_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosEvent_Serv_la_LIBADD = \ - libTAO_Svc_Utils.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_IFR_Client.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicInterface.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosEvent_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosEvent.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosEvent/CEC_ConsumerAdmin.h \ - CosEvent/CEC_ConsumerAdmin.i \ - CosEvent/CEC_ConsumerControl.h \ - CosEvent/CEC_Default_Factory.h \ - CosEvent/CEC_Default_Factory.i \ - CosEvent/CEC_Defaults.h \ - CosEvent/CEC_Dispatching.h \ - CosEvent/CEC_Dispatching_Task.h \ - CosEvent/CEC_Dispatching_Task.i \ - CosEvent/CEC_DynamicImplementation.h \ - CosEvent/CEC_DynamicImplementation.i \ - CosEvent/CEC_EventChannel.h \ - CosEvent/CEC_EventChannel.i \ - CosEvent/CEC_Event_Loader.h \ - CosEvent/CEC_Factory.h \ - CosEvent/CEC_MT_Dispatching.h \ - CosEvent/CEC_ProxyPullConsumer.h \ - CosEvent/CEC_ProxyPullConsumer.i \ - CosEvent/CEC_ProxyPullSupplier.h \ - CosEvent/CEC_ProxyPullSupplier.i \ - CosEvent/CEC_ProxyPushConsumer.h \ - CosEvent/CEC_ProxyPushConsumer.i \ - CosEvent/CEC_ProxyPushSupplier.h \ - CosEvent/CEC_ProxyPushSupplier.i \ - CosEvent/CEC_Pulling_Strategy.h \ - CosEvent/CEC_Reactive_ConsumerControl.h \ - CosEvent/CEC_Reactive_ConsumerControl.i \ - CosEvent/CEC_Reactive_Pulling_Strategy.h \ - CosEvent/CEC_Reactive_Pulling_Strategy.i \ - CosEvent/CEC_Reactive_SupplierControl.h \ - CosEvent/CEC_Reactive_SupplierControl.i \ - CosEvent/CEC_SupplierAdmin.h \ - CosEvent/CEC_SupplierAdmin.i \ - CosEvent/CEC_SupplierControl.h \ - CosEvent/CEC_TypedConsumerAdmin.h \ - CosEvent/CEC_TypedConsumerAdmin.i \ - CosEvent/CEC_TypedEvent.h \ - CosEvent/CEC_TypedEvent.i \ - CosEvent/CEC_TypedEventChannel.h \ - CosEvent/CEC_TypedEventChannel.i \ - CosEvent/CEC_TypedProxyPushConsumer.h \ - CosEvent/CEC_TypedProxyPushConsumer.i \ - CosEvent/CEC_TypedSupplierAdmin.h \ - CosEvent/CEC_TypedSupplierAdmin.i \ - CosEvent/event_serv_export.h - -pkgconfig_DATA += \ - TAO_CosEvent_Serv.pc - -CLEANFILES += \ - TAO_CosEvent_Serv.pc - -TAO_CosEvent_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosEvent_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosEvent_Serv.pc.in - -endif !BUILD_MINIMUM_CORBA -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - CosEvent_Serv.rc \ - TAO_CosEvent_Serv.pc.in - - -## Makefile.CosLifeCycle.am - -BUILT_SOURCES += \ - CosLifeCycleC.cpp \ - CosLifeCycleC.h \ - CosLifeCycleC.inl \ - CosLifeCycleS.cpp \ - CosLifeCycleS.h \ - CosLifeCycleS.inl \ - CosLifeCycleS_T.cpp \ - CosLifeCycleS_T.h \ - CosLifeCycleS_T.inl - -CLEANFILES += \ - CosLifeCycle-stamp \ - CosLifeCycleC.cpp \ - CosLifeCycleC.h \ - CosLifeCycleC.inl \ - CosLifeCycleS.cpp \ - CosLifeCycleS.h \ - CosLifeCycleS.inl \ - CosLifeCycleS_T.cpp \ - CosLifeCycleS_T.h \ - CosLifeCycleS_T.inl - -CosLifeCycleC.cpp CosLifeCycleC.h CosLifeCycleC.inl CosLifeCycleS.cpp CosLifeCycleS.h CosLifeCycleS.inl CosLifeCycleS_T.cpp CosLifeCycleS_T.h CosLifeCycleS_T.inl: CosLifeCycle-stamp - -CosLifeCycle-stamp: $(srcdir)/CosLifeCycle.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_LifeCycle_Export -Wb,export_include=orbsvcs/LifeCycle/lifecycle_export.h $(srcdir)/CosLifeCycle.idl - @touch $@ - -BUILT_SOURCES += \ - LifeCycleServiceC.cpp \ - LifeCycleServiceC.h \ - LifeCycleServiceC.inl \ - LifeCycleServiceS.cpp \ - LifeCycleServiceS.h \ - LifeCycleServiceS.inl \ - LifeCycleServiceS_T.cpp \ - LifeCycleServiceS_T.h \ - LifeCycleServiceS_T.inl - -CLEANFILES += \ - LifeCycleService-stamp \ - LifeCycleServiceC.cpp \ - LifeCycleServiceC.h \ - LifeCycleServiceC.inl \ - LifeCycleServiceS.cpp \ - LifeCycleServiceS.h \ - LifeCycleServiceS.inl \ - LifeCycleServiceS_T.cpp \ - LifeCycleServiceS_T.h \ - LifeCycleServiceS_T.inl - -LifeCycleServiceC.cpp LifeCycleServiceC.h LifeCycleServiceC.inl LifeCycleServiceS.cpp LifeCycleServiceS.h LifeCycleServiceS.inl LifeCycleServiceS_T.cpp LifeCycleServiceS_T.h LifeCycleServiceS_T.inl: LifeCycleService-stamp - -LifeCycleService-stamp: $(srcdir)/LifeCycleService.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_LifeCycle_Export -Wb,export_include=orbsvcs/LifeCycle/lifecycle_export.h $(srcdir)/LifeCycleService.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_CosLifeCycle.la - -libTAO_CosLifeCycle_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_LIFECYCLE_BUILD_DLL - -libTAO_CosLifeCycle_la_SOURCES = \ - CosLifeCycleC.cpp \ - CosLifeCycleS.cpp \ - LifeCycleServiceC.cpp \ - LifeCycleServiceS.cpp - -libTAO_CosLifeCycle_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosLifeCycle_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosLifeCycle.idl \ - CosLifeCycleC.h \ - CosLifeCycleC.inl \ - CosLifeCycleS.h \ - CosLifeCycleS.inl \ - CosLifeCycleS_T.cpp \ - CosLifeCycleS_T.h \ - CosLifeCycleS_T.inl \ - LifeCycleService.idl \ - LifeCycleServiceC.h \ - LifeCycleServiceC.inl \ - LifeCycleServiceS.h \ - LifeCycleServiceS.inl \ - LifeCycleServiceS_T.cpp \ - LifeCycleServiceS_T.h \ - LifeCycleServiceS_T.inl - -pkgconfig_DATA += \ - TAO_CosLifeCycle.pc - -CLEANFILES += \ - TAO_CosLifeCycle.pc - -TAO_CosLifeCycle.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosLifeCycle.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosLifeCycle.pc.in - -EXTRA_DIST += \ - CosLifeCycle.rc \ - TAO_CosLifeCycle.pc.in - - -## Makefile.PortableGroup.am - -if BUILD_CORBA_MESSAGING -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - miopC.cpp \ - miopC.h \ - miopC.inl \ - miopS.cpp \ - miopS.h \ - miopS.inl \ - miopS_T.cpp \ - miopS_T.inl - -CLEANFILES += \ - miop-stamp \ - miopC.cpp \ - miopC.h \ - miopC.inl \ - miopS.cpp \ - miopS.h \ - miopS.inl \ - miopS_T.cpp \ - miopS_T.inl - -miopC.cpp miopC.h miopC.inl miopS.cpp miopS.h miopS.inl miopS_T.cpp miopS_T.inl: miop-stamp - -miop-stamp: $(srcdir)/miop.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_PortableGroup_Export -Wb,export_include=orbsvcs/PortableGroup/portablegroup_export.h $(srcdir)/miop.idl - @touch $@ - -BUILT_SOURCES += \ - PortableGroup_Simple_DSC.cpp \ - PortableGroup_Simple_DSC.h \ - PortableGroup_Simple_DSC.inl \ - PortableGroup_Simple_DSS.inl \ - PortableGroup_Simple_DSS_T.inl - -CLEANFILES += \ - PortableGroup_Simple_DS-stamp \ - PortableGroup_Simple_DSC.cpp \ - PortableGroup_Simple_DSC.h \ - PortableGroup_Simple_DSC.inl \ - PortableGroup_Simple_DSS.inl \ - PortableGroup_Simple_DSS_T.inl - -PortableGroup_Simple_DSC.cpp PortableGroup_Simple_DSC.h PortableGroup_Simple_DSC.inl PortableGroup_Simple_DSS.inl PortableGroup_Simple_DSS_T.inl: PortableGroup_Simple_DS-stamp - -PortableGroup_Simple_DS-stamp: $(srcdir)/PortableGroup_Simple_DS.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_PortableGroup_Export -Wb,export_include=orbsvcs/PortableGroup/portablegroup_export.h $(srcdir)/PortableGroup_Simple_DS.idl - @touch $@ - -BUILT_SOURCES += \ - PortableGroupC.cpp \ - PortableGroupC.h \ - PortableGroupC.inl \ - PortableGroupS.cpp \ - PortableGroupS.h \ - PortableGroupS.inl \ - PortableGroupS_T.cpp \ - PortableGroupS_T.inl - -CLEANFILES += \ - PortableGroup-stamp \ - PortableGroupC.cpp \ - PortableGroupC.h \ - PortableGroupC.inl \ - PortableGroupS.cpp \ - PortableGroupS.h \ - PortableGroupS.inl \ - PortableGroupS_T.cpp \ - PortableGroupS_T.inl - -PortableGroupC.cpp PortableGroupC.h PortableGroupC.inl PortableGroupS.cpp PortableGroupS.h PortableGroupS.inl PortableGroupS_T.cpp PortableGroupS_T.inl: PortableGroup-stamp - -PortableGroup-stamp: $(srcdir)/PortableGroup.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_PortableGroup_Export -Wb,export_include=orbsvcs/PortableGroup/portablegroup_export.h -GC $(srcdir)/PortableGroup.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_PortableGroup.la - -libTAO_PortableGroup_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_PORTABLEGROUP_BUILD_DLL - -libTAO_PortableGroup_la_SOURCES = \ - PortableGroup/GOA.cpp \ - PortableGroup/MIOP.cpp \ - PortableGroup/PG_Default_Property_Validator.cpp \ - PortableGroup/PG_FactoryRegistry.cpp \ - PortableGroup/PG_GenericFactory.cpp \ - PortableGroup/PG_Group_Factory.cpp \ - PortableGroup/PG_Group_Guard.cpp \ - PortableGroup/PG_Location_Equal_To.cpp \ - PortableGroup/PG_Location_Hash.cpp \ - PortableGroup/PG_MemberInfo.cpp \ - PortableGroup/PG_Null_Property_Validator.cpp \ - PortableGroup/PG_ObjectGroupManager.cpp \ - PortableGroup/PG_Object_Adapter_Factory.cpp \ - PortableGroup/PG_Object_Group.cpp \ - PortableGroup/PG_Object_Group_Manipulator.cpp \ - PortableGroup/PG_Operators.cpp \ - PortableGroup/PG_Properties_Encoder.cpp \ - PortableGroup/PG_Properties_Support.cpp \ - PortableGroup/PG_PropertyManager.cpp \ - PortableGroup/PG_Property_Set.cpp \ - PortableGroup/PG_Property_Utils.cpp \ - PortableGroup/PG_Servant_Dispatcher.cpp \ - PortableGroup/PG_Utils.cpp \ - PortableGroup/PortableGroup_Acceptor_Registry.cpp \ - PortableGroup/PortableGroup_Loader.cpp \ - PortableGroup/PortableGroup_ORBInitializer.cpp \ - PortableGroup/PortableGroup_Request_Dispatcher.cpp \ - PortableGroup/Portable_Group_Map.cpp \ - PortableGroup/UIPMC_Acceptor.cpp \ - PortableGroup/UIPMC_Connection_Handler.cpp \ - PortableGroup/UIPMC_Connector.cpp \ - PortableGroup/UIPMC_Endpoint.cpp \ - PortableGroup/UIPMC_Factory.cpp \ - PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp \ - PortableGroup/UIPMC_Profile.cpp \ - PortableGroup/UIPMC_Transport.cpp \ - PortableGroup/UIPMC_Wait_Never.cpp \ - PortableGroupC.cpp \ - PortableGroupS.cpp \ - PortableGroup_Simple_DSC.cpp \ - miopC.cpp \ - miopS.cpp - -libTAO_PortableGroup_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_PortableGroup_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - PortableGroup.idl \ - PortableGroup/GOA.h \ - PortableGroup/MIOP.h \ - PortableGroup/PG_Default_Property_Validator.h \ - PortableGroup/PG_FactoryRegistry.h \ - PortableGroup/PG_GenericFactory.h \ - PortableGroup/PG_Group_Factory.h \ - PortableGroup/PG_Group_Guard.h \ - PortableGroup/PG_Location_Equal_To.h \ - PortableGroup/PG_Location_Equal_To.inl \ - PortableGroup/PG_Location_Hash.h \ - PortableGroup/PG_Location_Hash.inl \ - PortableGroup/PG_MemberInfo.h \ - PortableGroup/PG_Null_Property_Validator.h \ - PortableGroup/PG_ObjectGroupManager.h \ - PortableGroup/PG_Object_Adapter_Factory.h \ - PortableGroup/PG_Object_Group.h \ - PortableGroup/PG_Object_Group_Manipulator.h \ - PortableGroup/PG_Operators.h \ - PortableGroup/PG_Properties_Encoder.h \ - PortableGroup/PG_Properties_Encoder.inl \ - PortableGroup/PG_Properties_Support.h \ - PortableGroup/PG_PropertyManager.h \ - PortableGroup/PG_Property_Set.h \ - PortableGroup/PG_Property_Utils.h \ - PortableGroup/PG_Servant_Dispatcher.h \ - PortableGroup/PG_Utils.h \ - PortableGroup/PortableGroup_Acceptor_Registry.h \ - PortableGroup/PortableGroup_Loader.h \ - PortableGroup/PortableGroup_ORBInitializer.h \ - PortableGroup/PortableGroup_Request_Dispatcher.h \ - PortableGroup/Portable_Group_Map.h \ - PortableGroup/UIPMC_Acceptor.h \ - PortableGroup/UIPMC_Acceptor.i \ - PortableGroup/UIPMC_Connection_Handler.h \ - PortableGroup/UIPMC_Connector.h \ - PortableGroup/UIPMC_Endpoint.h \ - PortableGroup/UIPMC_Endpoint.i \ - PortableGroup/UIPMC_Factory.h \ - PortableGroup/UIPMC_Message_Block_Data_Iterator.h \ - PortableGroup/UIPMC_Profile.h \ - PortableGroup/UIPMC_Transport.h \ - PortableGroup/UIPMC_Wait_Never.h \ - PortableGroup/portablegroup_export.h \ - PortableGroupC.h \ - PortableGroupC.inl \ - PortableGroupS.h \ - PortableGroupS.inl \ - PortableGroupS_T.cpp \ - PortableGroupS_T.inl \ - PortableGroup_Simple_DS.idl \ - PortableGroup_Simple_DSC.h \ - PortableGroup_Simple_DSC.inl \ - PortableGroup_Simple_DSS.inl \ - PortableGroup_Simple_DSS_T.inl \ - miop.idl \ - miopC.h \ - miopC.inl \ - miopS.h \ - miopS.inl \ - miopS_T.cpp \ - miopS_T.inl - -pkgconfig_DATA += \ - TAO_PortableGroup.pc - -CLEANFILES += \ - TAO_PortableGroup.pc - -TAO_PortableGroup.pc: ${top_builddir}/config.status ${srcdir}/TAO_PortableGroup.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_PortableGroup.pc.in - -endif !BUILD_MINIMUM_CORBA -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - PortableGroup.rc \ - TAO_PortableGroup.pc.in - - -## Makefile.CosLoadBalancing.am - -if BUILD_AMI -if BUILD_CORBA_MESSAGING -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - CosLoadBalancingC.cpp \ - CosLoadBalancingC.h \ - CosLoadBalancingC.inl \ - CosLoadBalancingS.cpp \ - CosLoadBalancingS.h \ - CosLoadBalancingS.inl \ - CosLoadBalancingS_T.cpp \ - CosLoadBalancingS_T.h \ - CosLoadBalancingS_T.inl - -CLEANFILES += \ - CosLoadBalancing-stamp \ - CosLoadBalancingC.cpp \ - CosLoadBalancingC.h \ - CosLoadBalancingC.inl \ - CosLoadBalancingS.cpp \ - CosLoadBalancingS.h \ - CosLoadBalancingS.inl \ - CosLoadBalancingS_T.cpp \ - CosLoadBalancingS_T.h \ - CosLoadBalancingS_T.inl - -CosLoadBalancingC.cpp CosLoadBalancingC.h CosLoadBalancingC.inl CosLoadBalancingS.cpp CosLoadBalancingS.h CosLoadBalancingS.inl CosLoadBalancingS_T.cpp CosLoadBalancingS_T.h CosLoadBalancingS_T.inl: CosLoadBalancing-stamp - -CosLoadBalancing-stamp: $(srcdir)/CosLoadBalancing.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -GC -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_LoadBalancing_Export -Wb,export_include=orbsvcs/LoadBalancing/LoadBalancing_export.h $(srcdir)/CosLoadBalancing.idl - @touch $@ - -BUILT_SOURCES += \ - LB_ORTC.cpp \ - LB_ORTC.h \ - LB_ORTC.inl \ - LB_ORTS.h \ - LB_ORTS.inl \ - LB_ORTS_T.h \ - LB_ORTS_T.inl - -CLEANFILES += \ - LB_ORT-stamp \ - LB_ORTC.cpp \ - LB_ORTC.h \ - LB_ORTC.inl \ - LB_ORTS.h \ - LB_ORTS.inl \ - LB_ORTS_T.h \ - LB_ORTS_T.inl - -LB_ORTC.cpp LB_ORTC.h LB_ORTC.inl LB_ORTS.h LB_ORTS.inl LB_ORTS_T.h LB_ORTS_T.inl: LB_ORT-stamp - -LB_ORT-stamp: $(srcdir)/LB_ORT.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -GC -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_LoadBalancing_Export -Wb,export_include=orbsvcs/LoadBalancing/LoadBalancing_export.h $(srcdir)/LB_ORT.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_CosLoadBalancing.la - -libTAO_CosLoadBalancing_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_LOADBALANCING_BUILD_DLL - -libTAO_CosLoadBalancing_la_SOURCES = \ - CosLoadBalancingC.cpp \ - CosLoadBalancingS.cpp \ - LB_ORTC.cpp \ - LoadBalancing/LB_CPU_Load_Average_Monitor.cpp \ - LoadBalancing/LB_CPU_Utilization_Monitor.cpp \ - LoadBalancing/LB_ClientComponent.cpp \ - LoadBalancing/LB_ClientORBInitializer.cpp \ - LoadBalancing/LB_ClientRequestInterceptor.cpp \ - LoadBalancing/LB_Component.cpp \ - LoadBalancing/LB_IORInterceptor.cpp \ - LoadBalancing/LB_LeastLoaded.cpp \ - LoadBalancing/LB_LoadAlert.cpp \ - LoadBalancing/LB_LoadAlertInfo.cpp \ - LoadBalancing/LB_LoadAlert_Handler.cpp \ - LoadBalancing/LB_LoadAverage.cpp \ - LoadBalancing/LB_LoadManager.cpp \ - LoadBalancing/LB_LoadMinimum.cpp \ - LoadBalancing/LB_MemberLocator.cpp \ - LoadBalancing/LB_ORBInitializer.cpp \ - LoadBalancing/LB_ObjectReferenceFactory.cpp \ - LoadBalancing/LB_Pull_Handler.cpp \ - LoadBalancing/LB_Random.cpp \ - LoadBalancing/LB_RoundRobin.cpp \ - LoadBalancing/LB_ServerRequestInterceptor.cpp - -libTAO_CosLoadBalancing_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosLoadBalancing_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_IORInterceptor.la \ - $(TAO_BUILDDIR)/tao/libTAO_ObjRefTemplate.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosLoadBalancing.idl \ - CosLoadBalancingC.h \ - CosLoadBalancingC.inl \ - CosLoadBalancingS.h \ - CosLoadBalancingS.inl \ - CosLoadBalancingS_T.cpp \ - CosLoadBalancingS_T.h \ - CosLoadBalancingS_T.inl \ - LB_ORT.idl \ - LB_ORTC.h \ - LB_ORTC.inl \ - LB_ORTS.h \ - LB_ORTS.inl \ - LB_ORTS_T.h \ - LB_ORTS_T.inl \ - LoadBalancing/LB_CPU_Load_Average_Monitor.h \ - LoadBalancing/LB_CPU_Utilization_Monitor.h \ - LoadBalancing/LB_ClientComponent.h \ - LoadBalancing/LB_ClientORBInitializer.h \ - LoadBalancing/LB_ClientRequestInterceptor.h \ - LoadBalancing/LB_Component.h \ - LoadBalancing/LB_IORInterceptor.h \ - LoadBalancing/LB_LeastLoaded.h \ - LoadBalancing/LB_LeastLoaded.inl \ - LoadBalancing/LB_LoadAlert.h \ - LoadBalancing/LB_LoadAlert.inl \ - LoadBalancing/LB_LoadAlertInfo.h \ - LoadBalancing/LB_LoadAlert_Handler.h \ - LoadBalancing/LB_LoadAverage.h \ - LoadBalancing/LB_LoadAverage.inl \ - LoadBalancing/LB_LoadManager.h \ - LoadBalancing/LB_LoadMinimum.h \ - LoadBalancing/LB_LoadMinimum.inl \ - LoadBalancing/LB_MemberLocator.h \ - LoadBalancing/LB_ORBInitializer.h \ - LoadBalancing/LB_ObjectReferenceFactory.h \ - LoadBalancing/LB_Pull_Handler.h \ - LoadBalancing/LB_Random.h \ - LoadBalancing/LB_RoundRobin.h \ - LoadBalancing/LB_ServerRequestInterceptor.h - -pkgconfig_DATA += \ - TAO_CosLoadBalancing.pc - -CLEANFILES += \ - TAO_CosLoadBalancing.pc - -TAO_CosLoadBalancing.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosLoadBalancing.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosLoadBalancing.pc.in - -endif !BUILD_MINIMUM_CORBA -endif BUILD_CORBA_MESSAGING -endif BUILD_AMI - -EXTRA_DIST += \ - CosLoadBalancing.rc \ - TAO_CosLoadBalancing.pc.in - - -## Makefile.CosNaming_Skel.am - -lib_LTLIBRARIES += libTAO_CosNaming_Skel.la - -libTAO_CosNaming_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_NAMING_SKEL_BUILD_DLL - -libTAO_CosNaming_Skel_la_SOURCES = \ - CosNamingS.cpp - -libTAO_CosNaming_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNaming_Skel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosNamingS.h \ - CosNamingS.inl \ - CosNamingS_T.cpp \ - CosNamingS_T.h \ - CosNamingS_T.inl \ - Naming/naming_skel_export.h - -pkgconfig_DATA += \ - TAO_CosNaming_Skel.pc - -CLEANFILES += \ - TAO_CosNaming_Skel.pc - -TAO_CosNaming_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosNaming_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosNaming_Skel.pc.in - -EXTRA_DIST += \ - CosNaming_Skel.rc \ - TAO_CosNaming_Skel.pc.in - - -## Makefile.CosNaming_Serv.am - -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES += libTAO_CosNaming_Serv.la - -libTAO_CosNaming_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_NAMING_SERV_BUILD_DLL - -libTAO_CosNaming_Serv_la_SOURCES = \ - Naming/Entries.cpp \ - Naming/Flat_File_Persistence.cpp \ - Naming/Hash_Naming_Context.cpp \ - Naming/Naming_Context_Interface.cpp \ - Naming/Naming_Loader.cpp \ - Naming/Naming_Server.cpp \ - Naming/Persistent_Context_Index.cpp \ - Naming/Persistent_Entries.cpp \ - Naming/Persistent_Naming_Context.cpp \ - Naming/Storable.cpp \ - Naming/Storable_Naming_Context.cpp \ - Naming/Storable_Naming_Context_Activator.cpp \ - Naming/Transient_Naming_Context.cpp - -libTAO_CosNaming_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNaming_Serv_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_IORTable.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Naming/Entries.h \ - Naming/Flat_File_Persistence.h \ - Naming/Hash_Naming_Context.h \ - Naming/Naming_Context_Interface.h \ - Naming/Naming_Loader.h \ - Naming/Naming_Server.h \ - Naming/Persistent_Context_Index.h \ - Naming/Persistent_Entries.h \ - Naming/Persistent_Naming_Context.h \ - Naming/Storable.h \ - Naming/Storable.inl \ - Naming/Storable_Naming_Context.h \ - Naming/Storable_Naming_Context_Activator.h \ - Naming/Transient_Naming_Context.h \ - Naming/naming_serv_export.h \ - Naming/nsconf.h - -pkgconfig_DATA += \ - TAO_CosNaming_Serv.pc - -CLEANFILES += \ - TAO_CosNaming_Serv.pc - -TAO_CosNaming_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosNaming_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosNaming_Serv.pc.in - -endif !BUILD_ACE_FOR_TAO - -EXTRA_DIST += \ - CosNaming_Serv.rc \ - TAO_CosNaming_Serv.pc.in - - -## Makefile.CosNotification_IDL.am - -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - CosNotificationC.cpp \ - CosNotificationC.h \ - CosNotificationC.inl \ - CosNotificationS.cpp \ - CosNotificationS.h \ - CosNotificationS.inl \ - CosNotificationS_T.cpp \ - CosNotificationS_T.h \ - CosNotificationS_T.inl - -CLEANFILES += \ - CosNotification-stamp \ - CosNotificationC.cpp \ - CosNotificationC.h \ - CosNotificationC.inl \ - CosNotificationS.cpp \ - CosNotificationS.h \ - CosNotificationS.inl \ - CosNotificationS_T.cpp \ - CosNotificationS_T.h \ - CosNotificationS_T.inl - -CosNotificationC.cpp CosNotificationC.h CosNotificationC.inl CosNotificationS.cpp CosNotificationS.h CosNotificationS.inl CosNotificationS_T.cpp CosNotificationS_T.h CosNotificationS_T.inl: CosNotification-stamp - -CosNotification-stamp: $(srcdir)/CosNotification.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h $(srcdir)/CosNotification.idl - @touch $@ - -BUILT_SOURCES += \ - CosNotifyCommC.cpp \ - CosNotifyCommC.h \ - CosNotifyCommC.inl \ - CosNotifyCommS.cpp \ - CosNotifyCommS.h \ - CosNotifyCommS.inl \ - CosNotifyCommS_T.cpp \ - CosNotifyCommS_T.h \ - CosNotifyCommS_T.inl - -CLEANFILES += \ - CosNotifyComm-stamp \ - CosNotifyCommC.cpp \ - CosNotifyCommC.h \ - CosNotifyCommC.inl \ - CosNotifyCommS.cpp \ - CosNotifyCommS.h \ - CosNotifyCommS.inl \ - CosNotifyCommS_T.cpp \ - CosNotifyCommS_T.h \ - CosNotifyCommS_T.inl - -CosNotifyCommC.cpp CosNotifyCommC.h CosNotifyCommC.inl CosNotifyCommS.cpp CosNotifyCommS.h CosNotifyCommS.inl CosNotifyCommS_T.cpp CosNotifyCommS_T.h CosNotifyCommS_T.inl: CosNotifyComm-stamp - -CosNotifyComm-stamp: $(srcdir)/CosNotifyComm.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h $(srcdir)/CosNotifyComm.idl - @touch $@ - -BUILT_SOURCES += \ - CosNotifyFilterC.cpp \ - CosNotifyFilterC.h \ - CosNotifyFilterC.inl \ - CosNotifyFilterS.cpp \ - CosNotifyFilterS.h \ - CosNotifyFilterS.inl \ - CosNotifyFilterS_T.cpp \ - CosNotifyFilterS_T.h \ - CosNotifyFilterS_T.inl - -CLEANFILES += \ - CosNotifyFilter-stamp \ - CosNotifyFilterC.cpp \ - CosNotifyFilterC.h \ - CosNotifyFilterC.inl \ - CosNotifyFilterS.cpp \ - CosNotifyFilterS.h \ - CosNotifyFilterS.inl \ - CosNotifyFilterS_T.cpp \ - CosNotifyFilterS_T.h \ - CosNotifyFilterS_T.inl - -CosNotifyFilterC.cpp CosNotifyFilterC.h CosNotifyFilterC.inl CosNotifyFilterS.cpp CosNotifyFilterS.h CosNotifyFilterS.inl CosNotifyFilterS_T.cpp CosNotifyFilterS_T.h CosNotifyFilterS_T.inl: CosNotifyFilter-stamp - -CosNotifyFilter-stamp: $(srcdir)/CosNotifyFilter.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h $(srcdir)/CosNotifyFilter.idl - @touch $@ - -BUILT_SOURCES += \ - CosNotifyChannelAdminC.cpp \ - CosNotifyChannelAdminC.h \ - CosNotifyChannelAdminC.inl \ - CosNotifyChannelAdminS.cpp \ - CosNotifyChannelAdminS.h \ - CosNotifyChannelAdminS.inl \ - CosNotifyChannelAdminS_T.cpp \ - CosNotifyChannelAdminS_T.h \ - CosNotifyChannelAdminS_T.inl - -CLEANFILES += \ - CosNotifyChannelAdmin-stamp \ - CosNotifyChannelAdminC.cpp \ - CosNotifyChannelAdminC.h \ - CosNotifyChannelAdminC.inl \ - CosNotifyChannelAdminS.cpp \ - CosNotifyChannelAdminS.h \ - CosNotifyChannelAdminS.inl \ - CosNotifyChannelAdminS_T.cpp \ - CosNotifyChannelAdminS_T.h \ - CosNotifyChannelAdminS_T.inl - -CosNotifyChannelAdminC.cpp CosNotifyChannelAdminC.h CosNotifyChannelAdminC.inl CosNotifyChannelAdminS.cpp CosNotifyChannelAdminS.h CosNotifyChannelAdminS.inl CosNotifyChannelAdminS_T.cpp CosNotifyChannelAdminS_T.h CosNotifyChannelAdminS_T.inl: CosNotifyChannelAdmin-stamp - -CosNotifyChannelAdmin-stamp: $(srcdir)/CosNotifyChannelAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h $(srcdir)/CosNotifyChannelAdmin.idl - @touch $@ - -BUILT_SOURCES += \ - NotifyExtC.cpp \ - NotifyExtC.h \ - NotifyExtC.inl \ - NotifyExtS.cpp \ - NotifyExtS.h \ - NotifyExtS.inl \ - NotifyExtS_T.cpp \ - NotifyExtS_T.h \ - NotifyExtS_T.inl - -CLEANFILES += \ - NotifyExt-stamp \ - NotifyExtC.cpp \ - NotifyExtC.h \ - NotifyExtC.inl \ - NotifyExtS.cpp \ - NotifyExtS.h \ - NotifyExtS.inl \ - NotifyExtS_T.cpp \ - NotifyExtS_T.h \ - NotifyExtS_T.inl - -NotifyExtC.cpp NotifyExtC.h NotifyExtC.inl NotifyExtS.cpp NotifyExtS.h NotifyExtS.inl NotifyExtS_T.cpp NotifyExtS_T.h NotifyExtS_T.inl: NotifyExt-stamp - -NotifyExt-stamp: $(srcdir)/NotifyExt.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h $(srcdir)/NotifyExt.idl - @touch $@ - -BUILT_SOURCES += \ - Event_ForwarderC.cpp \ - Event_ForwarderC.h \ - Event_ForwarderC.inl \ - Event_ForwarderS.cpp \ - Event_ForwarderS.h \ - Event_ForwarderS.inl \ - Event_ForwarderS_T.cpp \ - Event_ForwarderS_T.h \ - Event_ForwarderS_T.inl - -CLEANFILES += \ - Event_Forwarder-stamp \ - Event_ForwarderC.cpp \ - Event_ForwarderC.h \ - Event_ForwarderC.inl \ - Event_ForwarderS.cpp \ - Event_ForwarderS.h \ - Event_ForwarderS.inl \ - Event_ForwarderS_T.cpp \ - Event_ForwarderS_T.h \ - Event_ForwarderS_T.inl - -Event_ForwarderC.cpp Event_ForwarderC.h Event_ForwarderC.inl Event_ForwarderS.cpp Event_ForwarderS.h Event_ForwarderS.inl Event_ForwarderS_T.cpp Event_ForwarderS_T.h Event_ForwarderS_T.inl: Event_Forwarder-stamp - -Event_Forwarder-stamp: $(srcdir)/Event_Forwarder.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Notify_Export -Wb,stub_export_include=orbsvcs/Notify/notify_export.h -Wb,skel_export_macro=TAO_Notify_Skel_Export -Wb,skel_export_include=orbsvcs/Notify/notify_skel_export.h $(srcdir)/Event_Forwarder.idl - @touch $@ - - -nobase_include_HEADERS += \ - CosNotification.idl \ - CosNotifyChannelAdmin.idl \ - CosNotifyComm.idl \ - CosNotifyFilter.idl \ - Event_Forwarder.idl \ - NotifyExt.idl - -endif !BUILD_MINIMUM_CORBA - -## Makefile.CosNotification.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosNotification.la - -libTAO_CosNotification_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFY_BUILD_DLL - -libTAO_CosNotification_la_SOURCES = \ - CosNotificationC.cpp \ - CosNotifyChannelAdminC.cpp \ - CosNotifyCommC.cpp \ - CosNotifyFilterC.cpp \ - Event_ForwarderC.cpp \ - Notify/Notify_Extensions.cpp \ - NotifyExtC.cpp - -libTAO_CosNotification_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNotification_la_LIBADD = \ - libTAO_CosEvent.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosNotificationC.h \ - CosNotificationC.inl \ - CosNotifyChannelAdminC.h \ - CosNotifyChannelAdminC.inl \ - CosNotifyCommC.h \ - CosNotifyCommC.inl \ - CosNotifyFilterC.h \ - CosNotifyFilterC.inl \ - Event_ForwarderC.h \ - Event_ForwarderC.inl \ - Notify/Notify_Extensions.h \ - Notify/notify_export.h \ - NotifyExtC.h \ - NotifyExtC.inl - -pkgconfig_DATA += \ - TAO_CosNotification.pc - -CLEANFILES += \ - TAO_CosNotification.pc - -TAO_CosNotification.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosNotification.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosNotification.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - CosNotification.rc \ - TAO_CosNotification.pc.in - - -## Makefile.ETCL.am - -lib_LTLIBRARIES += libTAO_ETCL.la - -libTAO_ETCL_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_ETCL_BUILD_DLL - -libTAO_ETCL_la_SOURCES = \ - ETCL/ETCL_Constraint.cpp \ - ETCL/ETCL_Interpreter.cpp \ - ETCL/ETCL_l.cpp \ - ETCL/ETCL_y.cpp - -libTAO_ETCL_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_ETCL_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - ETCL/ETCL_Constraint.h \ - ETCL/ETCL_Constraint.inl \ - ETCL/ETCL_Constraint_Visitor.h \ - ETCL/ETCL_Interpreter.h \ - ETCL/ETCL_y.h \ - ETCL/etcl_export.h - -pkgconfig_DATA += \ - TAO_ETCL.pc - -CLEANFILES += \ - TAO_ETCL.pc - -TAO_ETCL.pc: ${top_builddir}/config.status ${srcdir}/TAO_ETCL.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_ETCL.pc.in - -EXTRA_DIST += \ - ETCL.rc \ - TAO_ETCL.pc.in - - -## Makefile.CosNotification_Skel.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosNotification_Skel.la - -libTAO_CosNotification_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFY_SKEL_BUILD_DLL - -libTAO_CosNotification_Skel_la_SOURCES = \ - CosNotificationS.cpp \ - CosNotifyChannelAdminS.cpp \ - CosNotifyCommS.cpp \ - CosNotifyFilterS.cpp \ - Event_ForwarderS.cpp \ - NotifyExtS.cpp - -libTAO_CosNotification_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNotification_Skel_la_LIBADD = \ - libTAO_CosEvent_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosNotification.la \ - libTAO_CosEvent.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosNotificationS.h \ - CosNotificationS.inl \ - CosNotificationS_T.cpp \ - CosNotificationS_T.h \ - CosNotificationS_T.inl \ - CosNotifyChannelAdminS.h \ - CosNotifyChannelAdminS.inl \ - CosNotifyChannelAdminS_T.cpp \ - CosNotifyChannelAdminS_T.h \ - CosNotifyChannelAdminS_T.inl \ - CosNotifyCommS.h \ - CosNotifyCommS.inl \ - CosNotifyCommS_T.cpp \ - CosNotifyCommS_T.h \ - CosNotifyCommS_T.inl \ - CosNotifyFilterS.h \ - CosNotifyFilterS.inl \ - CosNotifyFilterS_T.cpp \ - CosNotifyFilterS_T.h \ - CosNotifyFilterS_T.inl \ - Event_ForwarderS.h \ - Event_ForwarderS.inl \ - Event_ForwarderS_T.cpp \ - Event_ForwarderS_T.h \ - Event_ForwarderS_T.inl \ - Notify/notify_skel_export.h \ - NotifyExtS.h \ - NotifyExtS.inl \ - NotifyExtS_T.cpp \ - NotifyExtS_T.h \ - NotifyExtS_T.inl - -pkgconfig_DATA += \ - TAO_CosNotification_Skel.pc - -CLEANFILES += \ - TAO_CosNotification_Skel.pc - -TAO_CosNotification_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosNotification_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosNotification_Skel.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - CosNotification_Skel.rc \ - TAO_CosNotification_Skel.pc.in - - -## Makefile.CosNotification_Serv.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosNotification_Serv.la - -libTAO_CosNotification_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFY_SERV_BUILD_DLL - -libTAO_CosNotification_Serv_la_SOURCES = \ - Notify/Admin.cpp \ - Notify/AdminProperties.cpp \ - Notify/Any/AnyEvent.cpp \ - Notify/Any/CosEC_ProxyPushConsumer.cpp \ - Notify/Any/CosEC_ProxyPushSupplier.cpp \ - Notify/Any/ProxyPushConsumer.cpp \ - Notify/Any/ProxyPushSupplier.cpp \ - Notify/Any/PushConsumer.cpp \ - Notify/Any/PushSupplier.cpp \ - Notify/Bit_Vector.cpp \ - Notify/Buffering_Strategy.cpp \ - Notify/Builder.cpp \ - Notify/Consumer.cpp \ - Notify/ConsumerAdmin.cpp \ - Notify/CosNotify_Initializer.cpp \ - Notify/CosNotify_Service.cpp \ - Notify/Default_Factory.cpp \ - Notify/Delivery_Request.cpp \ - Notify/ETCL_Filter.cpp \ - Notify/ETCL_FilterFactory.cpp \ - Notify/Event.cpp \ - Notify/EventChannel.cpp \ - Notify/EventChannelFactory.cpp \ - Notify/EventType.cpp \ - Notify/EventTypeSeq.cpp \ - Notify/Event_Manager.cpp \ - Notify/Event_Persistence_Factory.cpp \ - Notify/FilterAdmin.cpp \ - Notify/ID_Factory.cpp \ - Notify/Method_Request.cpp \ - Notify/Method_Request_Dispatch.cpp \ - Notify/Method_Request_Event.cpp \ - Notify/Method_Request_Lookup.cpp \ - Notify/Method_Request_Shutdown.cpp \ - Notify/Method_Request_Updates.cpp \ - Notify/Name_Value_Pair.cpp \ - Notify/Notify_Constraint_Interpreter.cpp \ - Notify/Notify_Constraint_Visitors.cpp \ - Notify/Notify_Default_CO_Factory.cpp \ - Notify/Notify_Default_Collection_Factory.cpp \ - Notify/Notify_Default_EMO_Factory.cpp \ - Notify/Notify_Default_POA_Factory.cpp \ - Notify/Notify_EventChannelFactory_i.cpp \ - Notify/Object.cpp \ - Notify/POA_Helper.cpp \ - Notify/Peer.cpp \ - Notify/Persistent_File_Allocator.cpp \ - Notify/Properties.cpp \ - Notify/PropertySeq.cpp \ - Notify/Property_Boolean.cpp \ - Notify/Proxy.cpp \ - Notify/ProxyConsumer.cpp \ - Notify/ProxySupplier.cpp \ - Notify/QoSProperties.cpp \ - Notify/Random_File.cpp \ - Notify/Reactive_Task.cpp \ - Notify/Reconnection_Registry.cpp \ - Notify/Refcountable.cpp \ - Notify/Routing_Slip.cpp \ - Notify/Routing_Slip_Persistence_Manager.cpp \ - Notify/Routing_Slip_Queue.cpp \ - Notify/Sequence/SequenceProxyPushConsumer.cpp \ - Notify/Sequence/SequenceProxyPushSupplier.cpp \ - Notify/Sequence/SequencePushConsumer.cpp \ - Notify/Sequence/SequencePushSupplier.cpp \ - Notify/Service.cpp \ - Notify/Standard_Event_Persistence.cpp \ - Notify/Structured/StructuredEvent.cpp \ - Notify/Structured/StructuredProxyPushConsumer.cpp \ - Notify/Structured/StructuredProxyPushSupplier.cpp \ - Notify/Structured/StructuredPushConsumer.cpp \ - Notify/Structured/StructuredPushSupplier.cpp \ - Notify/Subscription_Change_Worker.cpp \ - Notify/Supplier.cpp \ - Notify/SupplierAdmin.cpp \ - Notify/ThreadPool_Task.cpp \ - Notify/Timer_Queue.cpp \ - Notify/Timer_Reactor.cpp \ - Notify/Topology_Loader.cpp \ - Notify/Topology_Object.cpp \ - Notify/Topology_Saver.cpp \ - Notify/Worker_Task.cpp - -libTAO_CosNotification_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNotification_Serv_la_LIBADD = \ - libTAO_ETCL.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_CosNotification_Skel.la \ - libTAO_CosEvent_Skel.la \ - libTAO_CosNotification.la \ - libTAO_CosEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Notify/Admin.h \ - Notify/Admin.inl \ - Notify/AdminProperties.h \ - Notify/AdminProperties.inl \ - Notify/Any/AnyEvent.h \ - Notify/Any/CosEC_ProxyPushConsumer.h \ - Notify/Any/CosEC_ProxyPushSupplier.h \ - Notify/Any/ProxyPushConsumer.h \ - Notify/Any/ProxyPushSupplier.h \ - Notify/Any/PushConsumer.h \ - Notify/Any/PushSupplier.h \ - Notify/Bit_Vector.h \ - Notify/Buffering_Strategy.h \ - Notify/Builder.h \ - Notify/Consumer.h \ - Notify/Consumer.inl \ - Notify/ConsumerAdmin.h \ - Notify/CosNotify_Initializer.h \ - Notify/CosNotify_Service.h \ - Notify/Default_Factory.h \ - Notify/Delivery_Request.h \ - Notify/Delivery_Request.inl \ - Notify/ETCL_Filter.h \ - Notify/ETCL_FilterFactory.h \ - Notify/Event.h \ - Notify/Event.inl \ - Notify/EventChannel.h \ - Notify/EventChannelFactory.h \ - Notify/EventType.h \ - Notify/EventType.inl \ - Notify/EventTypeSeq.h \ - Notify/Event_Manager.h \ - Notify/Event_Persistence_Factory.h \ - Notify/FilterAdmin.h \ - Notify/FilterAdmin.inl \ - Notify/ID_Factory.h \ - Notify/ID_Factory.inl \ - Notify/Method_Request.h \ - Notify/Method_Request_Dispatch.h \ - Notify/Method_Request_Event.h \ - Notify/Method_Request_Lookup.h \ - Notify/Method_Request_Shutdown.h \ - Notify/Method_Request_Updates.h \ - Notify/Method_Request_Updates_T.cpp \ - Notify/Name_Value_Pair.h \ - Notify/Notify_Constraint_Interpreter.h \ - Notify/Notify_Constraint_Visitors.h \ - Notify/Notify_Default_CO_Factory.h \ - Notify/Notify_Default_Collection_Factory.h \ - Notify/Notify_Default_EMO_Factory.h \ - Notify/Notify_Default_POA_Factory.h \ - Notify/Notify_EventChannelFactory_i.h \ - Notify/Object.h \ - Notify/Object.inl \ - Notify/POA_Helper.h \ - Notify/POA_Helper.inl \ - Notify/Peer.h \ - Notify/Persistent_File_Allocator.h \ - Notify/Properties.h \ - Notify/Properties.inl \ - Notify/PropertySeq.h \ - Notify/PropertySeq.inl \ - Notify/Property_Boolean.h \ - Notify/Property_Boolean.inl \ - Notify/Proxy.h \ - Notify/Proxy.inl \ - Notify/ProxyConsumer.h \ - Notify/ProxyConsumer.inl \ - Notify/ProxyConsumer_T.cpp \ - Notify/ProxySupplier.h \ - Notify/ProxySupplier.inl \ - Notify/ProxySupplier_T.cpp \ - Notify/Proxy_T.cpp \ - Notify/QoSProperties.h \ - Notify/QoSProperties.inl \ - Notify/Random_File.h \ - Notify/Reactive_Task.h \ - Notify/Reactive_Task.inl \ - Notify/Reconnection_Registry.h \ - Notify/Refcountable.h \ - Notify/Routing_Slip.h \ - Notify/Routing_Slip_Persistence_Manager.h \ - Notify/Routing_Slip_Queue.h \ - Notify/Sequence/SequenceProxyPushConsumer.h \ - Notify/Sequence/SequenceProxyPushSupplier.h \ - Notify/Sequence/SequencePushConsumer.h \ - Notify/Sequence/SequencePushSupplier.h \ - Notify/Service.h \ - Notify/Standard_Event_Persistence.h \ - Notify/Structured/StructuredEvent.h \ - Notify/Structured/StructuredProxyPushConsumer.h \ - Notify/Structured/StructuredProxyPushSupplier.h \ - Notify/Structured/StructuredPushConsumer.h \ - Notify/Structured/StructuredPushSupplier.h \ - Notify/Subscription_Change_Worker.h \ - Notify/Supplier.h \ - Notify/Supplier.inl \ - Notify/SupplierAdmin.h \ - Notify/ThreadPool_Task.h \ - Notify/Timer_Queue.h \ - Notify/Timer_Reactor.h \ - Notify/Topology_Loader.h \ - Notify/Topology_Object.h \ - Notify/Topology_Object.inl \ - Notify/Topology_Saver.h \ - Notify/Worker_Task.h \ - Notify/notify_serv_export.h - -pkgconfig_DATA += \ - TAO_CosNotification_Serv.pc - -CLEANFILES += \ - TAO_CosNotification_Serv.pc - -TAO_CosNotification_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosNotification_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosNotification_Serv.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - CosNotification_Serv.rc \ - TAO_CosNotification_Serv.pc.in - - -## Makefile.CosNotification_Persist.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_CosNotification_Persist.la - -libTAO_CosNotification_Persist_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -I$(ACE_ROOT)/ACEXML/common \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFY_PERSIST_BUILD_DLL - -libTAO_CosNotification_Persist_la_SOURCES = \ - Notify/XML_Loader.cpp \ - Notify/XML_Saver.cpp \ - Notify/XML_Topology_Factory.cpp - -libTAO_CosNotification_Persist_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosNotification_Persist_la_LIBADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - libTAO_CosNotification_Serv.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_ETCL.la \ - libTAO_CosNotification_Skel.la \ - libTAO_CosEvent_Skel.la \ - libTAO_CosNotification.la \ - libTAO_CosEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Notify/XML_Loader.h \ - Notify/XML_Saver.h \ - Notify/XML_Topology_Factory.h \ - Notify/notify_persist_export.h - -endif !BUILD_MINIMUM_CORBA -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Makefile.CosTime.am - -BUILT_SOURCES += \ - TimeServiceC.cpp \ - TimeServiceC.h \ - TimeServiceC.inl \ - TimeServiceS.cpp \ - TimeServiceS.h \ - TimeServiceS.inl \ - TimeServiceS_T.cpp - -CLEANFILES += \ - TimeService-stamp \ - TimeServiceC.cpp \ - TimeServiceC.h \ - TimeServiceC.inl \ - TimeServiceS.cpp \ - TimeServiceS.h \ - TimeServiceS.inl \ - TimeServiceS_T.cpp - -TimeServiceC.cpp TimeServiceC.h TimeServiceC.inl TimeServiceS.cpp TimeServiceS.h TimeServiceS.inl TimeServiceS_T.cpp: TimeService-stamp - -TimeService-stamp: $(srcdir)/TimeService.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Time_Export -Wb,export_include=orbsvcs/Time/time_export.h $(srcdir)/TimeService.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_CosTime.la - -libTAO_CosTime_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_TIME_BUILD_DLL - -libTAO_CosTime_la_SOURCES = \ - Time/TAO_TIO.cpp \ - Time/TAO_Time_Service_Clerk.cpp \ - Time/TAO_Time_Service_Server.cpp \ - Time/TAO_UTO.cpp \ - Time/Timer_Helper.cpp \ - TimeServiceC.cpp \ - TimeServiceS.cpp - -libTAO_CosTime_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosTime_la_LIBADD = \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Time/TAO_TIO.h \ - Time/TAO_Time_Service_Clerk.h \ - Time/TAO_Time_Service_Server.h \ - Time/TAO_UTO.h \ - Time/Timer_Helper.h \ - Time/time_export.h \ - TimeService.idl \ - TimeServiceC.h \ - TimeServiceC.inl \ - TimeServiceS.h \ - TimeServiceS.inl \ - TimeServiceS_T.cpp - -pkgconfig_DATA += \ - TAO_CosTime.pc - -CLEANFILES += \ - TAO_CosTime.pc - -TAO_CosTime.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosTime.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosTime.pc.in - -EXTRA_DIST += \ - CosTime.rc \ - TAO_CosTime.pc.in - - -## Makefile.CosTrading_IDL.am - -BUILT_SOURCES += \ - CosTradingC.cpp \ - CosTradingC.h \ - CosTradingC.inl \ - CosTradingS.cpp \ - CosTradingS.h \ - CosTradingS.inl \ - CosTradingS_T.cpp \ - CosTradingS_T.h \ - CosTradingS_T.inl - -CLEANFILES += \ - CosTrading-stamp \ - CosTradingC.cpp \ - CosTradingC.h \ - CosTradingC.inl \ - CosTradingS.cpp \ - CosTradingS.h \ - CosTradingS.inl \ - CosTradingS_T.cpp \ - CosTradingS_T.h \ - CosTradingS_T.inl - -CosTradingC.cpp CosTradingC.h CosTradingC.inl CosTradingS.cpp CosTradingS.h CosTradingS.inl CosTradingS_T.cpp CosTradingS_T.h CosTradingS_T.inl: CosTrading-stamp - -CosTrading-stamp: $(srcdir)/CosTrading.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Trading_Export -Wb,stub_export_include=orbsvcs/Trader/trading_export.h -Wb,skel_export_macro=TAO_Trading_Skel_Export -Wb,skel_export_include=orbsvcs/Trader/trading_skel_export.h $(srcdir)/CosTrading.idl - @touch $@ - -BUILT_SOURCES += \ - CosTradingReposC.cpp \ - CosTradingReposC.h \ - CosTradingReposC.inl \ - CosTradingReposS.cpp \ - CosTradingReposS.h \ - CosTradingReposS.inl \ - CosTradingReposS_T.cpp \ - CosTradingReposS_T.h \ - CosTradingReposS_T.inl - -CLEANFILES += \ - CosTradingRepos-stamp \ - CosTradingReposC.cpp \ - CosTradingReposC.h \ - CosTradingReposC.inl \ - CosTradingReposS.cpp \ - CosTradingReposS.h \ - CosTradingReposS.inl \ - CosTradingReposS_T.cpp \ - CosTradingReposS_T.h \ - CosTradingReposS_T.inl - -CosTradingReposC.cpp CosTradingReposC.h CosTradingReposC.inl CosTradingReposS.cpp CosTradingReposS.h CosTradingReposS.inl CosTradingReposS_T.cpp CosTradingReposS_T.h CosTradingReposS_T.inl: CosTradingRepos-stamp - -CosTradingRepos-stamp: $(srcdir)/CosTradingRepos.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Trading_Export -Wb,stub_export_include=orbsvcs/Trader/trading_export.h -Wb,skel_export_macro=TAO_Trading_Skel_Export -Wb,skel_export_include=orbsvcs/Trader/trading_skel_export.h $(srcdir)/CosTradingRepos.idl - @touch $@ - -BUILT_SOURCES += \ - CosTradingDynamicC.cpp \ - CosTradingDynamicC.h \ - CosTradingDynamicC.inl \ - CosTradingDynamicS.cpp \ - CosTradingDynamicS.h \ - CosTradingDynamicS.inl \ - CosTradingDynamicS_T.cpp \ - CosTradingDynamicS_T.h \ - CosTradingDynamicS_T.inl - -CLEANFILES += \ - CosTradingDynamic-stamp \ - CosTradingDynamicC.cpp \ - CosTradingDynamicC.h \ - CosTradingDynamicC.inl \ - CosTradingDynamicS.cpp \ - CosTradingDynamicS.h \ - CosTradingDynamicS.inl \ - CosTradingDynamicS_T.cpp \ - CosTradingDynamicS_T.h \ - CosTradingDynamicS_T.inl - -CosTradingDynamicC.cpp CosTradingDynamicC.h CosTradingDynamicC.inl CosTradingDynamicS.cpp CosTradingDynamicS.h CosTradingDynamicS.inl CosTradingDynamicS_T.cpp CosTradingDynamicS_T.h CosTradingDynamicS_T.inl: CosTradingDynamic-stamp - -CosTradingDynamic-stamp: $(srcdir)/CosTradingDynamic.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Trading_Export -Wb,stub_export_include=orbsvcs/Trader/trading_export.h -Wb,skel_export_macro=TAO_Trading_Skel_Export -Wb,skel_export_include=orbsvcs/Trader/trading_skel_export.h $(srcdir)/CosTradingDynamic.idl - @touch $@ - - -nobase_include_HEADERS += \ - CosTrading.idl \ - CosTradingDynamic.idl \ - CosTradingRepos.idl - -## Makefile.CosTrading.am - -lib_LTLIBRARIES += libTAO_CosTrading.la - -libTAO_CosTrading_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_TRADING_BUILD_DLL - -libTAO_CosTrading_la_SOURCES = \ - CosTradingC.cpp \ - CosTradingDynamicC.cpp \ - CosTradingReposC.cpp - -libTAO_CosTrading_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosTrading_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosTradingC.h \ - CosTradingC.inl \ - CosTradingDynamicC.h \ - CosTradingDynamicC.inl \ - CosTradingReposC.h \ - CosTradingReposC.inl \ - Trader/trading_export.h - -pkgconfig_DATA += \ - TAO_CosTrading.pc - -CLEANFILES += \ - TAO_CosTrading.pc - -TAO_CosTrading.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosTrading.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosTrading.pc.in - -EXTRA_DIST += \ - CosTrading.rc \ - TAO_CosTrading.pc.in - - -## Makefile.CosTrading_Skel.am - -lib_LTLIBRARIES += libTAO_CosTrading_Skel.la - -libTAO_CosTrading_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_TRADING_SKEL_BUILD_DLL - -libTAO_CosTrading_Skel_la_SOURCES = \ - CosTradingDynamicS.cpp \ - CosTradingReposS.cpp \ - CosTradingS.cpp - -libTAO_CosTrading_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosTrading_Skel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosTrading.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CosTradingDynamicS.h \ - CosTradingDynamicS.inl \ - CosTradingDynamicS_T.cpp \ - CosTradingDynamicS_T.h \ - CosTradingDynamicS_T.inl \ - CosTradingReposS.h \ - CosTradingReposS.inl \ - CosTradingReposS_T.cpp \ - CosTradingReposS_T.h \ - CosTradingReposS_T.inl \ - CosTradingS.h \ - CosTradingS.inl \ - CosTradingS_T.cpp \ - CosTradingS_T.h \ - CosTradingS_T.inl \ - Trader/trading_skel_export.h - -pkgconfig_DATA += \ - TAO_CosTrading_Skel.pc - -CLEANFILES += \ - TAO_CosTrading_Skel.pc - -TAO_CosTrading_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosTrading_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosTrading_Skel.pc.in - -EXTRA_DIST += \ - CosTrading_Skel.rc \ - TAO_CosTrading_Skel.pc.in - - -## Makefile.CosTrading_Serv.am - -lib_LTLIBRARIES += libTAO_CosTrading_Serv.la - -libTAO_CosTrading_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_TRADING_SERV_BUILD_DLL - -libTAO_CosTrading_Serv_la_SOURCES = \ - Trader/Constraint_Interpreter.cpp \ - Trader/Constraint_Nodes.cpp \ - Trader/Constraint_Visitors.cpp \ - Trader/Constraint_l.cpp \ - Trader/Constraint_y.cpp \ - Trader/Interpreter.cpp \ - Trader/Interpreter_Utils.cpp \ - Trader/Offer_Database.cpp \ - Trader/Offer_Iterators.cpp \ - Trader/Service_Type_Repository.cpp \ - Trader/Trader.cpp \ - Trader/Trader_Constraint_Visitors.cpp \ - Trader/Trader_Interfaces.cpp \ - Trader/Trader_Utils.cpp \ - Trader/Trading_Loader.cpp - -libTAO_CosTrading_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_CosTrading_Serv_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_IORTable.la \ - $(TAO_BUILDDIR)/tao/libTAO_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_CosTrading_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosTrading.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Trader/Constraint_Interpreter.h \ - Trader/Constraint_Nodes.h \ - Trader/Constraint_Visitors.h \ - Trader/Interpreter.h \ - Trader/Interpreter_Utils.h \ - Trader/Interpreter_Utils_T.cpp \ - Trader/Offer_Database.h \ - Trader/Offer_Iterators.h \ - Trader/Offer_Iterators_T.cpp \ - Trader/Service_Type_Repository.h \ - Trader/Trader.h \ - Trader/Trader_Constraint_Visitors.h \ - Trader/Trader_Interfaces.h \ - Trader/Trader_T.cpp \ - Trader/Trader_Utils.h \ - Trader/Trading_Loader.h \ - Trader/trading_serv_export.h - -pkgconfig_DATA += \ - TAO_CosTrading_Serv.pc - -CLEANFILES += \ - TAO_CosTrading_Serv.pc - -TAO_CosTrading_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_CosTrading_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_CosTrading_Serv.pc.in - -EXTRA_DIST += \ - CosTrading_Serv.rc \ - TAO_CosTrading_Serv.pc.in - - -## Makefile.DsLogAdmin_IDL.am - -BUILT_SOURCES += \ - DsLogAdminC.cpp \ - DsLogAdminC.h \ - DsLogAdminC.inl \ - DsLogAdminS.cpp \ - DsLogAdminS.h \ - DsLogAdminS.inl \ - DsLogAdminS_T.cpp \ - DsLogAdminS_T.h \ - DsLogAdminS_T.inl - -CLEANFILES += \ - DsLogAdmin-stamp \ - DsLogAdminC.cpp \ - DsLogAdminC.h \ - DsLogAdminC.inl \ - DsLogAdminS.cpp \ - DsLogAdminS.h \ - DsLogAdminS.inl \ - DsLogAdminS_T.cpp \ - DsLogAdminS_T.h \ - DsLogAdminS_T.inl - -DsLogAdminC.cpp DsLogAdminC.h DsLogAdminC.inl DsLogAdminS.cpp DsLogAdminS.h DsLogAdminS.inl DsLogAdminS_T.cpp DsLogAdminS_T.h DsLogAdminS_T.inl: DsLogAdmin-stamp - -DsLogAdmin-stamp: $(srcdir)/DsLogAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Log_Export -Wb,stub_export_include=orbsvcs/Log/log_export.h -Wb,skel_export_macro=TAO_Log_Skel_Export -Wb,skel_export_include=orbsvcs/Log/log_skel_export.h $(srcdir)/DsLogAdmin.idl - @touch $@ - -BUILT_SOURCES += \ - DsLogNotificationC.cpp \ - DsLogNotificationC.h \ - DsLogNotificationC.inl \ - DsLogNotificationS.cpp \ - DsLogNotificationS.h \ - DsLogNotificationS.inl \ - DsLogNotificationS_T.cpp \ - DsLogNotificationS_T.h \ - DsLogNotificationS_T.inl - -CLEANFILES += \ - DsLogNotification-stamp \ - DsLogNotificationC.cpp \ - DsLogNotificationC.h \ - DsLogNotificationC.inl \ - DsLogNotificationS.cpp \ - DsLogNotificationS.h \ - DsLogNotificationS.inl \ - DsLogNotificationS_T.cpp \ - DsLogNotificationS_T.h \ - DsLogNotificationS_T.inl - -DsLogNotificationC.cpp DsLogNotificationC.h DsLogNotificationC.inl DsLogNotificationS.cpp DsLogNotificationS.h DsLogNotificationS.inl DsLogNotificationS_T.cpp DsLogNotificationS_T.h DsLogNotificationS_T.inl: DsLogNotification-stamp - -DsLogNotification-stamp: $(srcdir)/DsLogNotification.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_Log_Export -Wb,stub_export_include=orbsvcs/Log/log_export.h -Wb,skel_export_macro=TAO_Log_Skel_Export -Wb,skel_export_include=orbsvcs/Log/log_skel_export.h $(srcdir)/DsLogNotification.idl - @touch $@ - - -nobase_include_HEADERS += \ - DsLogAdmin.idl \ - DsLogNotification.idl - -## Makefile.DsLogAdmin.am - -lib_LTLIBRARIES += libTAO_DsLogAdmin.la - -libTAO_DsLogAdmin_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_LOG_BUILD_DLL - -libTAO_DsLogAdmin_la_SOURCES = \ - DsLogAdminC.cpp \ - DsLogNotificationC.cpp - -libTAO_DsLogAdmin_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsLogAdmin_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - DsLogAdminC.h \ - DsLogAdminC.inl \ - DsLogNotificationC.h \ - DsLogNotificationC.inl \ - Log/log_export.h - -pkgconfig_DATA += \ - TAO_DsLogAdmin.pc - -CLEANFILES += \ - TAO_DsLogAdmin.pc - -TAO_DsLogAdmin.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsLogAdmin.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsLogAdmin.pc.in - -EXTRA_DIST += \ - DsLogAdmin.rc \ - TAO_DsLogAdmin.pc.in - - -## Makefile.DsEventLogAdmin_IDL.am - -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - DsEventLogAdminC.cpp \ - DsEventLogAdminC.h \ - DsEventLogAdminC.inl \ - DsEventLogAdminS.cpp \ - DsEventLogAdminS.h \ - DsEventLogAdminS.inl \ - DsEventLogAdminS_T.cpp \ - DsEventLogAdminS_T.h \ - DsEventLogAdminS_T.inl - -CLEANFILES += \ - DsEventLogAdmin-stamp \ - DsEventLogAdminC.cpp \ - DsEventLogAdminC.h \ - DsEventLogAdminC.inl \ - DsEventLogAdminS.cpp \ - DsEventLogAdminS.h \ - DsEventLogAdminS.inl \ - DsEventLogAdminS_T.cpp \ - DsEventLogAdminS_T.h \ - DsEventLogAdminS_T.inl - -DsEventLogAdminC.cpp DsEventLogAdminC.h DsEventLogAdminC.inl DsEventLogAdminS.cpp DsEventLogAdminS.h DsEventLogAdminS.inl DsEventLogAdminS_T.cpp DsEventLogAdminS_T.h DsEventLogAdminS_T.inl: DsEventLogAdmin-stamp - -DsEventLogAdmin-stamp: $(srcdir)/DsEventLogAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_EventLog_Export -Wb,stub_export_include=orbsvcs/Log/eventlog_export.h -Wb,skel_export_macro=TAO_EventLog_Skel_Export -Wb,skel_export_include=orbsvcs/Log/eventlog_skel_export.h $(srcdir)/DsEventLogAdmin.idl - @touch $@ - - -nobase_include_HEADERS += \ - DsEventLogAdmin.idl - -endif !BUILD_MINIMUM_CORBA - -## Makefile.DsEventLogAdmin.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_DsEventLogAdmin.la - -libTAO_DsEventLogAdmin_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_EVENTLOG_BUILD_DLL - -libTAO_DsEventLogAdmin_la_SOURCES = \ - DsEventLogAdminC.cpp - -libTAO_DsEventLogAdmin_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsEventLogAdmin_la_LIBADD = \ - libTAO_CosEvent.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - DsEventLogAdminC.h \ - DsEventLogAdminC.inl \ - Log/eventlog_export.h - -pkgconfig_DATA += \ - TAO_DsEventLogAdmin.pc - -CLEANFILES += \ - TAO_DsEventLogAdmin.pc - -TAO_DsEventLogAdmin.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsEventLogAdmin.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsEventLogAdmin.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - DsEventLogAdmin.rc \ - TAO_DsEventLogAdmin.pc.in - - -## Makefile.DsLogAdmin_Skel.am - -lib_LTLIBRARIES += libTAO_DsLogAdmin_Skel.la - -libTAO_DsLogAdmin_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_LOG_SKEL_BUILD_DLL - -libTAO_DsLogAdmin_Skel_la_SOURCES = \ - DsLogAdminS.cpp \ - DsLogNotificationS.cpp - -libTAO_DsLogAdmin_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsLogAdmin_Skel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - DsLogAdminS.h \ - DsLogAdminS.inl \ - DsLogAdminS_T.cpp \ - DsLogAdminS_T.h \ - DsLogAdminS_T.inl \ - DsLogNotificationS.h \ - DsLogNotificationS.inl \ - DsLogNotificationS_T.cpp \ - DsLogNotificationS_T.h \ - DsLogNotificationS_T.inl \ - Log/log_skel_export.h - -pkgconfig_DATA += \ - TAO_DsLogAdmin_Skel.pc - -CLEANFILES += \ - TAO_DsLogAdmin_Skel.pc - -TAO_DsLogAdmin_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsLogAdmin_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsLogAdmin_Skel.pc.in - -EXTRA_DIST += \ - TAO_DsLogAdmin_Skel.pc.in - - -## Makefile.DsLogAdmin_Serv.am - -lib_LTLIBRARIES += libTAO_DsLogAdmin_Serv.la - -libTAO_DsLogAdmin_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_LOG_SERV_BUILD_DLL - -libTAO_DsLogAdmin_Serv_la_SOURCES = \ - Log/BasicLogFactory_i.cpp \ - Log/BasicLog_i.cpp \ - Log/Hash_Iterator_i.cpp \ - Log/Hash_LogRecordStore.cpp \ - Log/Hash_LogStore.cpp \ - Log/Hash_Persistence_Strategy.cpp \ - Log/Iterator_i.cpp \ - Log/LogActivator.cpp \ - Log/LogMgr_i.cpp \ - Log/LogNotification.cpp \ - Log/LogRecordStore.cpp \ - Log/Log_Compaction_Handler.cpp \ - Log/Log_Constraint_Interpreter.cpp \ - Log/Log_Constraint_Visitors.cpp \ - Log/Log_Flush_Handler.cpp \ - Log/Log_i.cpp - -libTAO_DsLogAdmin_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsLogAdmin_Serv_la_LIBADD = \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - libTAO_ETCL.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_DsLogAdmin_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Log/BasicLogFactory_i.h \ - Log/BasicLog_i.h \ - Log/Hash_Iterator_i.h \ - Log/Hash_LogRecordStore.h \ - Log/Hash_LogStore.h \ - Log/Hash_Persistence_Strategy.h \ - Log/Iterator_i.h \ - Log/LogActivator.h \ - Log/LogMgr_i.h \ - Log/LogNotification.h \ - Log/LogRecordStore.h \ - Log/LogStore.h \ - Log/Log_Compaction_Handler.h \ - Log/Log_Constraint_Interpreter.h \ - Log/Log_Constraint_Visitors.h \ - Log/Log_Flush_Handler.h \ - Log/Log_Persistence_Strategy.h \ - Log/Log_i.h \ - Log/log_serv_export.h - -pkgconfig_DATA += \ - TAO_DsLogAdmin_Serv.pc - -CLEANFILES += \ - TAO_DsLogAdmin_Serv.pc - -TAO_DsLogAdmin_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsLogAdmin_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsLogAdmin_Serv.pc.in - -EXTRA_DIST += \ - TAO_DsLogAdmin_Serv.pc.in - - -## Makefile.DsEventLogAdmin_Skel.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_DsEventLogAdmin_Skel.la - -libTAO_DsEventLogAdmin_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_EVENTLOG_SKEL_BUILD_DLL - -libTAO_DsEventLogAdmin_Skel_la_SOURCES = \ - DsEventLogAdminS.cpp - -libTAO_DsEventLogAdmin_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsEventLogAdmin_Skel_la_LIBADD = \ - libTAO_CosEvent_Skel.la \ - libTAO_DsLogAdmin_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_DsEventLogAdmin.la \ - libTAO_CosEvent.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - DsEventLogAdminS.h \ - DsEventLogAdminS.inl \ - DsEventLogAdminS_T.cpp \ - DsEventLogAdminS_T.h \ - DsEventLogAdminS_T.inl \ - Log/eventlog_skel_export.h - -pkgconfig_DATA += \ - TAO_DsEventLogAdmin_Skel.pc - -CLEANFILES += \ - TAO_DsEventLogAdmin_Skel.pc - -TAO_DsEventLogAdmin_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsEventLogAdmin_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsEventLogAdmin_Skel.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - TAO_DsEventLogAdmin_Skel.pc.in - - -## Makefile.DsEventLogAdmin_Serv.am - -if BUILD_CORBA_MESSAGING -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_DsEventLogAdmin_Serv.la - -libTAO_DsEventLogAdmin_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_EVENTLOG_SERV_BUILD_DLL - -libTAO_DsEventLogAdmin_Serv_la_SOURCES = \ - Log/EventLogConsumer.cpp \ - Log/EventLogFactory_i.cpp \ - Log/EventLogNotification.cpp \ - Log/EventLog_i.cpp - -libTAO_DsEventLogAdmin_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsEventLogAdmin_Serv_la_LIBADD = \ - libTAO_CosEvent_Serv.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_IFR_Client.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicInterface.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_DsLogAdmin_Serv.la \ - $(TAO_BUILDDIR)/tao/libTAO_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - libTAO_Svc_Utils.la \ - libTAO_ETCL.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_DsEventLogAdmin_Skel.la \ - libTAO_CosEvent_Skel.la \ - libTAO_DsLogAdmin_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_DsEventLogAdmin.la \ - libTAO_CosEvent.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Log/EventLogConsumer.h \ - Log/EventLogFactory_i.h \ - Log/EventLogNotification.h \ - Log/EventLog_i.h \ - Log/eventlog_serv_export.h - -pkgconfig_DATA += \ - TAO_DsEventLogAdmin_Serv.pc - -CLEANFILES += \ - TAO_DsEventLogAdmin_Serv.pc - -TAO_DsEventLogAdmin_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsEventLogAdmin_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsEventLogAdmin_Serv.pc.in - -endif !BUILD_MINIMUM_CORBA -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - TAO_DsEventLogAdmin_Serv.pc.in - - -## Makefile.DsNotifyLogAdmin_IDL.am - -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - DsNotifyLogAdminC.cpp \ - DsNotifyLogAdminC.h \ - DsNotifyLogAdminC.inl \ - DsNotifyLogAdminS.cpp \ - DsNotifyLogAdminS.h \ - DsNotifyLogAdminS.inl \ - DsNotifyLogAdminS_T.cpp \ - DsNotifyLogAdminS_T.h \ - DsNotifyLogAdminS_T.inl - -CLEANFILES += \ - DsNotifyLogAdmin-stamp \ - DsNotifyLogAdminC.cpp \ - DsNotifyLogAdminC.h \ - DsNotifyLogAdminC.inl \ - DsNotifyLogAdminS.cpp \ - DsNotifyLogAdminS.h \ - DsNotifyLogAdminS.inl \ - DsNotifyLogAdminS_T.cpp \ - DsNotifyLogAdminS_T.h \ - DsNotifyLogAdminS_T.inl - -DsNotifyLogAdminC.cpp DsNotifyLogAdminC.h DsNotifyLogAdminC.inl DsNotifyLogAdminS.cpp DsNotifyLogAdminS.h DsNotifyLogAdminS.inl DsNotifyLogAdminS_T.cpp DsNotifyLogAdminS_T.h DsNotifyLogAdminS_T.inl: DsNotifyLogAdmin-stamp - -DsNotifyLogAdmin-stamp: $(srcdir)/DsNotifyLogAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_NotifyLog_Export -Wb,stub_export_include=orbsvcs/Log/notifylog_export.h -Wb,skel_export_macro=TAO_NotifyLog_Skel_Export -Wb,skel_export_include=orbsvcs/Log/notifylog_skel_export.h $(srcdir)/DsNotifyLogAdmin.idl - @touch $@ - - -nobase_include_HEADERS += \ - DsNotifyLogAdmin.idl - -endif !BUILD_MINIMUM_CORBA - -## Makefile.DsNotifyLogAdmin.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_DsNotifyLogAdmin.la - -libTAO_DsNotifyLogAdmin_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFYLOG_BUILD_DLL - -libTAO_DsNotifyLogAdmin_la_SOURCES = \ - DsNotifyLogAdminC.cpp - -libTAO_DsNotifyLogAdmin_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsNotifyLogAdmin_la_LIBADD = \ - libTAO_CosNotification.la \ - libTAO_DsEventLogAdmin.la \ - libTAO_CosEvent.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - DsNotifyLogAdminC.h \ - DsNotifyLogAdminC.inl \ - Log/notifylog_export.h - -pkgconfig_DATA += \ - TAO_DsNotifyLogAdmin.pc - -CLEANFILES += \ - TAO_DsNotifyLogAdmin.pc - -TAO_DsNotifyLogAdmin.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsNotifyLogAdmin.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsNotifyLogAdmin.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - DsNotifyLogAdmin.rc \ - TAO_DsNotifyLogAdmin.pc.in - - -## Makefile.DsNotifyLogAdmin_Skel.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_DsNotifyLogAdmin_Skel.la - -libTAO_DsNotifyLogAdmin_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFYLOG_SKEL_BUILD_DLL - -libTAO_DsNotifyLogAdmin_Skel_la_SOURCES = \ - DsNotifyLogAdminS.cpp - -libTAO_DsNotifyLogAdmin_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsNotifyLogAdmin_Skel_la_LIBADD = \ - libTAO_CosNotification_Skel.la \ - libTAO_DsEventLogAdmin_Skel.la \ - libTAO_CosEvent_Skel.la \ - libTAO_DsLogAdmin_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_DsNotifyLogAdmin.la \ - libTAO_CosNotification.la \ - libTAO_DsEventLogAdmin.la \ - libTAO_CosEvent.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - DsNotifyLogAdminS.h \ - DsNotifyLogAdminS.inl \ - DsNotifyLogAdminS_T.cpp \ - DsNotifyLogAdminS_T.h \ - DsNotifyLogAdminS_T.inl \ - Log/notifylog_skel_export.h - -pkgconfig_DATA += \ - TAO_DsNotifyLogAdmin_Skel.pc - -CLEANFILES += \ - TAO_DsNotifyLogAdmin_Skel.pc - -TAO_DsNotifyLogAdmin_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsNotifyLogAdmin_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsNotifyLogAdmin_Skel.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - TAO_DsNotifyLogAdmin_Skel.pc.in - - -## Makefile.DsNotifyLogAdmin_Serv.am - -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_DsNotifyLogAdmin_Serv.la - -libTAO_DsNotifyLogAdmin_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_NOTIFYLOG_SERV_BUILD_DLL - -libTAO_DsNotifyLogAdmin_Serv_la_SOURCES = \ - Log/NotifyLogConsumer.cpp \ - Log/NotifyLogFactory_i.cpp \ - Log/NotifyLogNotification.cpp \ - Log/NotifyLog_i.cpp - -libTAO_DsNotifyLogAdmin_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_DsNotifyLogAdmin_Serv_la_LIBADD = \ - libTAO_DsLogAdmin_Serv.la \ - $(TAO_BUILDDIR)/tao/libTAO_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - libTAO_Svc_Utils.la \ - libTAO_ETCL.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_DsNotifyLogAdmin_Skel.la \ - libTAO_CosNotification_Skel.la \ - libTAO_DsEventLogAdmin_Skel.la \ - libTAO_CosEvent_Skel.la \ - libTAO_DsLogAdmin_Skel.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_DsNotifyLogAdmin.la \ - libTAO_CosNotification.la \ - libTAO_DsEventLogAdmin.la \ - libTAO_CosEvent.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Log/NotifyLogConsumer.h \ - Log/NotifyLogFactory_i.h \ - Log/NotifyLogNotification.h \ - Log/NotifyLog_i.h \ - Log/notifylog_serv_export.h - -pkgconfig_DATA += \ - TAO_DsNotifyLogAdmin_Serv.pc - -CLEANFILES += \ - TAO_DsNotifyLogAdmin_Serv.pc - -TAO_DsNotifyLogAdmin_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_DsNotifyLogAdmin_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_DsNotifyLogAdmin_Serv.pc.in - -endif !BUILD_MINIMUM_CORBA - -EXTRA_DIST += \ - TAO_DsNotifyLogAdmin_Serv.pc.in - - -## Makefile.ESF.am - - -nobase_include_HEADERS += \ - ESF/ESF_Busy_Lock.cpp \ - ESF/ESF_Busy_Lock.h \ - ESF/ESF_Busy_Lock.i \ - ESF/ESF_Copy_On_Read.cpp \ - ESF/ESF_Copy_On_Read.h \ - ESF/ESF_Copy_On_Write.cpp \ - ESF/ESF_Copy_On_Write.h \ - ESF/ESF_Copy_On_Write.i \ - ESF/ESF_Defaults.h \ - ESF/ESF_Delayed_Changes.cpp \ - ESF/ESF_Delayed_Changes.h \ - ESF/ESF_Delayed_Changes.i \ - ESF/ESF_Delayed_Command.cpp \ - ESF/ESF_Delayed_Command.h \ - ESF/ESF_Delayed_Command.i \ - ESF/ESF_Immediate_Changes.cpp \ - ESF/ESF_Immediate_Changes.h \ - ESF/ESF_Immediate_Changes.i \ - ESF/ESF_Peer_Admin.cpp \ - ESF/ESF_Peer_Admin.h \ - ESF/ESF_Peer_Workers.cpp \ - ESF/ESF_Peer_Workers.h \ - ESF/ESF_Peer_Workers.i \ - ESF/ESF_Proxy_Admin.cpp \ - ESF/ESF_Proxy_Admin.h \ - ESF/ESF_Proxy_Admin.i \ - ESF/ESF_Proxy_Collection.cpp \ - ESF/ESF_Proxy_Collection.h \ - ESF/ESF_Proxy_List.cpp \ - ESF/ESF_Proxy_List.h \ - ESF/ESF_Proxy_List.i \ - ESF/ESF_Proxy_RB_Tree.cpp \ - ESF/ESF_Proxy_RB_Tree.h \ - ESF/ESF_Proxy_RB_Tree.i \ - ESF/ESF_Proxy_RefCount_Guard.cpp \ - ESF/ESF_Proxy_RefCount_Guard.h \ - ESF/ESF_Proxy_RefCount_Guard.i \ - ESF/ESF_RefCount_Guard.cpp \ - ESF/ESF_RefCount_Guard.h \ - ESF/ESF_RefCount_Guard.i \ - ESF/ESF_Shutdown_Proxy.cpp \ - ESF/ESF_Shutdown_Proxy.h \ - ESF/ESF_Shutdown_Proxy.i \ - ESF/ESF_Worker.cpp \ - ESF/ESF_Worker.h \ - ESF/esf_export.h - -## Makefile.FTORB_Utils.am - -if BUILD_CORBA_MESSAGING -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - FT_CORBA_ORBC.cpp \ - FT_CORBA_ORBC.h \ - FT_CORBA_ORBC.inl \ - FT_CORBA_ORBS.cpp \ - FT_CORBA_ORBS.h \ - FT_CORBA_ORBS.inl \ - FT_CORBA_ORBS_T.cpp \ - FT_CORBA_ORBS_T.h \ - FT_CORBA_ORBS_T.inl - -CLEANFILES += \ - FT_CORBA_ORB-stamp \ - FT_CORBA_ORBC.cpp \ - FT_CORBA_ORBC.h \ - FT_CORBA_ORBC.inl \ - FT_CORBA_ORBS.cpp \ - FT_CORBA_ORBS.h \ - FT_CORBA_ORBS.inl \ - FT_CORBA_ORBS_T.cpp \ - FT_CORBA_ORBS_T.h \ - FT_CORBA_ORBS_T.inl - -FT_CORBA_ORBC.cpp FT_CORBA_ORBC.h FT_CORBA_ORBC.inl FT_CORBA_ORBS.cpp FT_CORBA_ORBS.h FT_CORBA_ORBS.inl FT_CORBA_ORBS_T.cpp FT_CORBA_ORBS_T.h FT_CORBA_ORBS_T.inl: FT_CORBA_ORB-stamp - -FT_CORBA_ORB-stamp: $(srcdir)/FT_CORBA_ORB.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,skel_export_include=tao/PortableServer/PolicyS.h -Wb,export_macro=TAO_FT_ORB_Utils_Export -Wb,export_include=orbsvcs/FaultTolerance/FT_ORB_Utils_export.h $(srcdir)/FT_CORBA_ORB.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_FTORB_Utils.la - -libTAO_FTORB_Utils_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_FT_ORB_UTILS_BUILD_DLL - -libTAO_FTORB_Utils_la_SOURCES = \ - FT_CORBA_ORBC.cpp \ - FT_CORBA_ORBS.cpp \ - FaultTolerance/FT_IOGR_Property.cpp - -libTAO_FTORB_Utils_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FTORB_Utils_la_LIBADD = \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FT_CORBA_ORB.idl \ - FT_CORBA_ORBC.h \ - FT_CORBA_ORBC.inl \ - FT_CORBA_ORBS.h \ - FT_CORBA_ORBS.inl \ - FT_CORBA_ORBS_T.cpp \ - FT_CORBA_ORBS_T.h \ - FT_CORBA_ORBS_T.inl \ - FaultTolerance/FT_IOGR_Property.h \ - FaultTolerance/FT_IOGR_Property.inl \ - FaultTolerance/FT_ORB_Utils_export.h - -pkgconfig_DATA += \ - TAO_FTORB_Utils.pc - -CLEANFILES += \ - TAO_FTORB_Utils.pc - -TAO_FTORB_Utils.pc: ${top_builddir}/config.status ${srcdir}/TAO_FTORB_Utils.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_FTORB_Utils.pc.in - -endif !BUILD_MINIMUM_CORBA -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - TAO_FTORB_Utils.pc.in - - -## Makefile.FTRT_ClientORB.am - -if BUILD_CORBA_MESSAGING - -lib_LTLIBRARIES += libTAO_FTRT_ClientORB.la - -libTAO_FTRT_ClientORB_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_FTRT_BUILD_DLL - -libTAO_FTRT_ClientORB_la_SOURCES = \ - FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.cpp \ - FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.cpp \ - FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp - -libTAO_FTRT_ClientORB_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FTRT_ClientORB_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h \ - FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h \ - FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h - -endif BUILD_CORBA_MESSAGING - -## Makefile.RTEvent.am - -BUILT_SOURCES += \ - RtecDefaultEventDataC.cpp \ - RtecDefaultEventDataC.h \ - RtecDefaultEventDataC.inl \ - RtecDefaultEventDataS_T.cpp - -CLEANFILES += \ - RtecDefaultEventData-stamp \ - RtecDefaultEventDataC.cpp \ - RtecDefaultEventDataC.h \ - RtecDefaultEventDataC.inl \ - RtecDefaultEventDataS_T.cpp - -RtecDefaultEventDataC.cpp RtecDefaultEventDataC.h RtecDefaultEventDataC.inl RtecDefaultEventDataS_T.cpp: RtecDefaultEventData-stamp - -RtecDefaultEventData-stamp: $(srcdir)/RtecDefaultEventData.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_RTEvent_Export -Wb,stub_export_include=orbsvcs/Event/event_export.h -Wb,skel_export_macro=TAO_RTEvent_Skel_Export -Wb,skel_export_include=orbsvcs/Event/event_skel_export.h $(srcdir)/RtecDefaultEventData.idl - @touch $@ - -BUILT_SOURCES += \ - RtecEventCommC.cpp \ - RtecEventCommC.h \ - RtecEventCommC.inl \ - RtecEventCommS_T.cpp - -CLEANFILES += \ - RtecEventComm-stamp \ - RtecEventCommC.cpp \ - RtecEventCommC.h \ - RtecEventCommC.inl \ - RtecEventCommS_T.cpp - -RtecEventCommC.cpp RtecEventCommC.h RtecEventCommC.inl RtecEventCommS_T.cpp: RtecEventComm-stamp - -RtecEventComm-stamp: $(srcdir)/RtecEventComm.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_RTEvent_Export -Wb,stub_export_include=orbsvcs/Event/event_export.h -Wb,skel_export_macro=TAO_RTEvent_Skel_Export -Wb,skel_export_include=orbsvcs/Event/event_skel_export.h $(srcdir)/RtecEventComm.idl - @touch $@ - -BUILT_SOURCES += \ - RtecEventChannelAdminC.cpp \ - RtecEventChannelAdminC.h \ - RtecEventChannelAdminC.inl \ - RtecEventChannelAdminS_T.cpp - -CLEANFILES += \ - RtecEventChannelAdmin-stamp \ - RtecEventChannelAdminC.cpp \ - RtecEventChannelAdminC.h \ - RtecEventChannelAdminC.inl \ - RtecEventChannelAdminS_T.cpp - -RtecEventChannelAdminC.cpp RtecEventChannelAdminC.h RtecEventChannelAdminC.inl RtecEventChannelAdminS_T.cpp: RtecEventChannelAdmin-stamp - -RtecEventChannelAdmin-stamp: $(srcdir)/RtecEventChannelAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_RTEvent_Export -Wb,stub_export_include=orbsvcs/Event/event_export.h -Wb,skel_export_macro=TAO_RTEvent_Skel_Export -Wb,skel_export_include=orbsvcs/Event/event_skel_export.h $(srcdir)/RtecEventChannelAdmin.idl - @touch $@ - -BUILT_SOURCES += \ - RtecUDPAdminC.cpp \ - RtecUDPAdminC.h \ - RtecUDPAdminC.inl \ - RtecUDPAdminS_T.cpp - -CLEANFILES += \ - RtecUDPAdmin-stamp \ - RtecUDPAdminC.cpp \ - RtecUDPAdminC.h \ - RtecUDPAdminC.inl \ - RtecUDPAdminS_T.cpp - -RtecUDPAdminC.cpp RtecUDPAdminC.h RtecUDPAdminC.inl RtecUDPAdminS_T.cpp: RtecUDPAdmin-stamp - -RtecUDPAdmin-stamp: $(srcdir)/RtecUDPAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_RTEvent_Export -Wb,stub_export_include=orbsvcs/Event/event_export.h -Wb,skel_export_macro=TAO_RTEvent_Skel_Export -Wb,skel_export_include=orbsvcs/Event/event_skel_export.h $(srcdir)/RtecUDPAdmin.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_RTEvent.la - -libTAO_RTEvent_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTEVENT_BUILD_DLL - -libTAO_RTEvent_la_SOURCES = \ - Event_Utilities.cpp \ - RtecDefaultEventDataC.cpp \ - RtecEventChannelAdminC.cpp \ - RtecEventCommC.cpp \ - RtecUDPAdminC.cpp - -libTAO_RTEvent_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTEvent_la_LIBADD = \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Event/event_export.h \ - Event/event_skel_export.h \ - Event_Utilities.h \ - Event_Utilities.i \ - RtecDefaultEventData.idl \ - RtecDefaultEventDataC.h \ - RtecDefaultEventDataC.inl \ - RtecEventChannelAdmin.idl \ - RtecEventChannelAdminC.h \ - RtecEventChannelAdminC.inl \ - RtecEventComm.idl \ - RtecEventCommC.h \ - RtecEventCommC.inl \ - RtecUDPAdmin.idl \ - RtecUDPAdminC.h \ - RtecUDPAdminC.inl - -pkgconfig_DATA += \ - TAO_RTEvent.pc - -CLEANFILES += \ - TAO_RTEvent.pc - -TAO_RTEvent.pc: ${top_builddir}/config.status ${srcdir}/TAO_RTEvent.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_RTEvent.pc.in - -EXTRA_DIST += \ - RTEvent.rc \ - TAO_RTEvent.pc.in - - -## Makefile.RTEvent_Skel.am - -if BUILD_CORBA_MESSAGING - -lib_LTLIBRARIES += libTAO_RTEvent_Skel.la - -libTAO_RTEvent_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTEVENT_SKEL_BUILD_DLL - -libTAO_RTEvent_Skel_la_SOURCES = \ - RtecDefaultEventDataS.cpp \ - RtecEventChannelAdminS.cpp \ - RtecEventCommS.cpp \ - RtecUDPAdminS.cpp - -libTAO_RTEvent_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTEvent_Skel_la_LIBADD = \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Event/event_skel_export.h \ - RtecDefaultEventDataS.h \ - RtecDefaultEventDataS.inl \ - RtecEventChannelAdminS.h \ - RtecEventChannelAdminS.inl \ - RtecEventCommS.h \ - RtecEventCommS.inl \ - RtecUDPAdminS.h \ - RtecUDPAdminS.inl - -pkgconfig_DATA += \ - TAO_RTEvent_Skel.pc - -CLEANFILES += \ - TAO_RTEvent_Skel.pc - -TAO_RTEvent_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_RTEvent_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_RTEvent_Skel.pc.in - -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - RTEvent_Skel.rc \ - TAO_RTEvent_Skel.pc.in - - -## Makefile.RTEvent_Serv.am - -if BUILD_CORBA_MESSAGING -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES += libTAO_RTEvent_Serv.la - -libTAO_RTEvent_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTEVENT_SERV_BUILD_DLL - -libTAO_RTEvent_Serv_la_SOURCES = \ - Event/ECG_Adapters.cpp \ - Event/ECG_CDR_Message_Receiver.cpp \ - Event/ECG_CDR_Message_Sender.cpp \ - Event/ECG_Complex_Address_Server.cpp \ - Event/ECG_ConsumerEC_Control.cpp \ - Event/ECG_Mcast_EH.cpp \ - Event/ECG_Mcast_Gateway.cpp \ - Event/ECG_Reactive_ConsumerEC_Control.cpp \ - Event/ECG_Reconnect_ConsumerEC_Control.cpp \ - Event/ECG_Simple_Address_Server.cpp \ - Event/ECG_Simple_Mcast_EH.cpp \ - Event/ECG_UDP_EH.cpp \ - Event/ECG_UDP_Out_Endpoint.cpp \ - Event/ECG_UDP_Receiver.cpp \ - Event/ECG_UDP_Sender.cpp \ - Event/EC_And_Filter.cpp \ - Event/EC_Basic_Factory.cpp \ - Event/EC_Basic_Filter_Builder.cpp \ - Event/EC_Bitmask_Filter.cpp \ - Event/EC_Channel_Destroyer.cpp \ - Event/EC_Conjunction_Filter.cpp \ - Event/EC_ConsumerAdmin.cpp \ - Event/EC_ConsumerControl.cpp \ - Event/EC_Default_Factory.cpp \ - Event/EC_Default_ProxyConsumer.cpp \ - Event/EC_Default_ProxySupplier.cpp \ - Event/EC_Disjunction_Filter.cpp \ - Event/EC_Dispatching.cpp \ - Event/EC_Dispatching_Task.cpp \ - Event/EC_Event_Channel.cpp \ - Event/EC_Event_Channel_Base.cpp \ - Event/EC_Factory.cpp \ - Event/EC_Filter.cpp \ - Event/EC_Filter_Builder.cpp \ - Event/EC_Gateway.cpp \ - Event/EC_Gateway_IIOP.cpp \ - Event/EC_Gateway_IIOP_Factory.cpp \ - Event/EC_Group_Scheduling.cpp \ - Event/EC_Lifetime_Utils.cpp \ - Event/EC_MT_Dispatching.cpp \ - Event/EC_Masked_Type_Filter.cpp \ - Event/EC_Negation_Filter.cpp \ - Event/EC_Null_Factory.cpp \ - Event/EC_Null_Scheduling.cpp \ - Event/EC_ObserverStrategy.cpp \ - Event/EC_Per_Supplier_Filter.cpp \ - Event/EC_Prefix_Filter_Builder.cpp \ - Event/EC_ProxyConsumer.cpp \ - Event/EC_ProxySupplier.cpp \ - Event/EC_Proxy_Disconnector.cpp \ - Event/EC_QOS_Info.cpp \ - Event/EC_Reactive_ConsumerControl.cpp \ - Event/EC_Reactive_Dispatching.cpp \ - Event/EC_Reactive_SupplierControl.cpp \ - Event/EC_Reactive_Timeout_Generator.cpp \ - Event/EC_Scheduling_Strategy.cpp \ - Event/EC_SupplierAdmin.cpp \ - Event/EC_SupplierControl.cpp \ - Event/EC_Supplier_Filter.cpp \ - Event/EC_Supplier_Filter_Builder.cpp \ - Event/EC_TPC_Dispatching.cpp \ - Event/EC_TPC_Dispatching_Task.cpp \ - Event/EC_TPC_Factory.cpp \ - Event/EC_TPC_ProxyConsumer.cpp \ - Event/EC_TPC_ProxySupplier.cpp \ - Event/EC_Timeout_Filter.cpp \ - Event/EC_Timeout_Generator.cpp \ - Event/EC_Trivial_Supplier_Filter.cpp \ - Event/EC_Type_Filter.cpp \ - Event/EC_UDP_Admin.cpp - -libTAO_RTEvent_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTEvent_Serv_la_LIBADD = \ - libTAO_RTEvent_Skel.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Channel_Clients_T.cpp \ - Channel_Clients_T.h \ - Channel_Clients_T.i \ - Event/ECG_Adapters.h \ - Event/ECG_CDR_Message_Receiver.h \ - Event/ECG_CDR_Message_Receiver.i \ - Event/ECG_CDR_Message_Sender.h \ - Event/ECG_CDR_Message_Sender.i \ - Event/ECG_Complex_Address_Server.h \ - Event/ECG_Complex_Address_Server.i \ - Event/ECG_ConsumerEC_Control.h \ - Event/ECG_Mcast_EH.h \ - Event/ECG_Mcast_EH.i \ - Event/ECG_Mcast_Gateway.h \ - Event/ECG_Mcast_Gateway.i \ - Event/ECG_Reactive_ConsumerEC_Control.h \ - Event/ECG_Reconnect_ConsumerEC_Control.h \ - Event/ECG_Simple_Address_Server.h \ - Event/ECG_Simple_Address_Server.i \ - Event/ECG_Simple_Mcast_EH.h \ - Event/ECG_UDP_EH.h \ - Event/ECG_UDP_EH.i \ - Event/ECG_UDP_Out_Endpoint.h \ - Event/ECG_UDP_Out_Endpoint.i \ - Event/ECG_UDP_Receiver.h \ - Event/ECG_UDP_Receiver.i \ - Event/ECG_UDP_Sender.h \ - Event/ECG_UDP_Sender.inl \ - Event/EC_And_Filter.h \ - Event/EC_Basic_Factory.h \ - Event/EC_Basic_Filter_Builder.h \ - Event/EC_Basic_Filter_Builder.i \ - Event/EC_Bitmask_Filter.h \ - Event/EC_Busy_Lock.cpp \ - Event/EC_Busy_Lock.h \ - Event/EC_Busy_Lock.i \ - Event/EC_Channel_Destroyer.h \ - Event/EC_Conjunction_Filter.h \ - Event/EC_ConsumerAdmin.h \ - Event/EC_ConsumerControl.h \ - Event/EC_Default_Factory.h \ - Event/EC_Default_Factory.i \ - Event/EC_Default_ProxyConsumer.h \ - Event/EC_Default_ProxySupplier.h \ - Event/EC_Disjunction_Filter.h \ - Event/EC_Dispatching.h \ - Event/EC_Dispatching_Task.h \ - Event/EC_Dispatching_Task.i \ - Event/EC_Event_Channel.h \ - Event/EC_Event_Channel_Base.h \ - Event/EC_Event_Channel_Base.i \ - Event/EC_Factory.h \ - Event/EC_Filter.h \ - Event/EC_Filter.i \ - Event/EC_Filter_Builder.h \ - Event/EC_Filter_Builder.i \ - Event/EC_Gateway.h \ - Event/EC_Gateway_IIOP.h \ - Event/EC_Gateway_IIOP_Factory.h \ - Event/EC_Gateway_IIOP_Factory.i \ - Event/EC_Group_Scheduling.h \ - Event/EC_Group_Scheduling.inl \ - Event/EC_Lifetime_Utils.h \ - Event/EC_Lifetime_Utils.i \ - Event/EC_Lifetime_Utils_T.cpp \ - Event/EC_Lifetime_Utils_T.h \ - Event/EC_Lifetime_Utils_T.i \ - Event/EC_MT_Dispatching.h \ - Event/EC_Masked_Type_Filter.h \ - Event/EC_Negation_Filter.h \ - Event/EC_Null_Factory.h \ - Event/EC_Null_Scheduling.h \ - Event/EC_Null_Scheduling.i \ - Event/EC_ObserverStrategy.h \ - Event/EC_ObserverStrategy.i \ - Event/EC_Per_Supplier_Filter.h \ - Event/EC_Per_Supplier_Filter.i \ - Event/EC_Prefix_Filter_Builder.h \ - Event/EC_Prefix_Filter_Builder.i \ - Event/EC_ProxyConsumer.h \ - Event/EC_ProxyConsumer.i \ - Event/EC_ProxySupplier.h \ - Event/EC_ProxySupplier.i \ - Event/EC_Proxy_Disconnector.h \ - Event/EC_QOS_Info.h \ - Event/EC_QOS_Info.i \ - Event/EC_Reactive_ConsumerControl.h \ - Event/EC_Reactive_ConsumerControl.i \ - Event/EC_Reactive_Dispatching.h \ - Event/EC_Reactive_SupplierControl.h \ - Event/EC_Reactive_SupplierControl.i \ - Event/EC_Reactive_Timeout_Generator.h \ - Event/EC_Scheduling_Strategy.h \ - Event/EC_SupplierAdmin.h \ - Event/EC_SupplierControl.h \ - Event/EC_Supplier_Filter.h \ - Event/EC_Supplier_Filter.i \ - Event/EC_Supplier_Filter_Builder.h \ - Event/EC_TPC_Dispatching.h \ - Event/EC_TPC_Dispatching_Task.h \ - Event/EC_TPC_Factory.h \ - Event/EC_TPC_ProxyConsumer.h \ - Event/EC_TPC_ProxySupplier.h \ - Event/EC_TPC_ProxySupplier.i \ - Event/EC_Timeout_Filter.h \ - Event/EC_Timeout_Filter.i \ - Event/EC_Timeout_Generator.h \ - Event/EC_Timeout_Generator.i \ - Event/EC_Trivial_Supplier_Filter.h \ - Event/EC_Type_Filter.h \ - Event/EC_UDP_Admin.h - -pkgconfig_DATA += \ - TAO_RTEvent_Serv.pc - -CLEANFILES += \ - TAO_RTEvent_Serv.pc - -TAO_RTEvent_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_RTEvent_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_RTEvent_Serv.pc.in - -endif !BUILD_ACE_FOR_TAO -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - RTEvent_Serv.rc \ - TAO_RTEvent_Serv.pc.in - - -## Makefile.FtRtEvent.am - -if BUILD_CORBA_MESSAGING -if !BUILD_ACE_FOR_TAO -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - FTRTC.cpp \ - FTRTC.h \ - FTRTC.inl \ - FTRTS.cpp \ - FTRTS.h \ - FTRTS.inl \ - FTRTS_T.cpp \ - FTRTS_T.h \ - FTRTS_T.inl - -CLEANFILES += \ - FTRT-stamp \ - FTRTC.cpp \ - FTRTC.h \ - FTRTC.inl \ - FTRTS.cpp \ - FTRTS.h \ - FTRTS.inl \ - FTRTS_T.cpp \ - FTRTS_T.h \ - FTRTS_T.inl - -FTRTC.cpp FTRTC.h FTRTC.inl FTRTS.cpp FTRTS.h FTRTS.inl FTRTS_T.cpp FTRTS_T.h FTRTS_T.inl: FTRT-stamp - -FTRT-stamp: $(srcdir)/FTRT.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FtRtEvent_Export -Wb,export_include=orbsvcs/FtRtEvent/Utils/ftrtevent_export.h -GC $(srcdir)/FTRT.idl - @touch $@ - -BUILT_SOURCES += \ - FtRtecEventCommC.cpp \ - FtRtecEventCommC.h \ - FtRtecEventCommC.inl \ - FtRtecEventCommS.cpp \ - FtRtecEventCommS.h \ - FtRtecEventCommS.inl \ - FtRtecEventCommS_T.cpp \ - FtRtecEventCommS_T.h \ - FtRtecEventCommS_T.inl - -CLEANFILES += \ - FtRtecEventComm-stamp \ - FtRtecEventCommC.cpp \ - FtRtecEventCommC.h \ - FtRtecEventCommC.inl \ - FtRtecEventCommS.cpp \ - FtRtecEventCommS.h \ - FtRtecEventCommS.inl \ - FtRtecEventCommS_T.cpp \ - FtRtecEventCommS_T.h \ - FtRtecEventCommS_T.inl - -FtRtecEventCommC.cpp FtRtecEventCommC.h FtRtecEventCommC.inl FtRtecEventCommS.cpp FtRtecEventCommS.h FtRtecEventCommS.inl FtRtecEventCommS_T.cpp FtRtecEventCommS_T.h FtRtecEventCommS_T.inl: FtRtecEventComm-stamp - -FtRtecEventComm-stamp: $(srcdir)/FtRtecEventComm.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FtRtEvent_Export -Wb,export_include=orbsvcs/FtRtEvent/Utils/ftrtevent_export.h -GC $(srcdir)/FtRtecEventComm.idl - @touch $@ - -BUILT_SOURCES += \ - FTRT_GroupManagerC.cpp \ - FTRT_GroupManagerC.h \ - FTRT_GroupManagerC.inl \ - FTRT_GroupManagerS.cpp \ - FTRT_GroupManagerS.h \ - FTRT_GroupManagerS.inl \ - FTRT_GroupManagerS_T.cpp \ - FTRT_GroupManagerS_T.h \ - FTRT_GroupManagerS_T.inl - -CLEANFILES += \ - FTRT_GroupManager-stamp \ - FTRT_GroupManagerC.cpp \ - FTRT_GroupManagerC.h \ - FTRT_GroupManagerC.inl \ - FTRT_GroupManagerS.cpp \ - FTRT_GroupManagerS.h \ - FTRT_GroupManagerS.inl \ - FTRT_GroupManagerS_T.cpp \ - FTRT_GroupManagerS_T.h \ - FTRT_GroupManagerS_T.inl - -FTRT_GroupManagerC.cpp FTRT_GroupManagerC.h FTRT_GroupManagerC.inl FTRT_GroupManagerS.cpp FTRT_GroupManagerS.h FTRT_GroupManagerS.inl FTRT_GroupManagerS_T.cpp FTRT_GroupManagerS_T.h FTRT_GroupManagerS_T.inl: FTRT_GroupManager-stamp - -FTRT_GroupManager-stamp: $(srcdir)/FTRT_GroupManager.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FtRtEvent_Export -Wb,export_include=orbsvcs/FtRtEvent/Utils/ftrtevent_export.h -GC $(srcdir)/FTRT_GroupManager.idl - @touch $@ - -BUILT_SOURCES += \ - FtRtecEventChannelAdminC.cpp \ - FtRtecEventChannelAdminC.h \ - FtRtecEventChannelAdminC.inl \ - FtRtecEventChannelAdminS.cpp \ - FtRtecEventChannelAdminS.h \ - FtRtecEventChannelAdminS.inl \ - FtRtecEventChannelAdminS_T.cpp \ - FtRtecEventChannelAdminS_T.h \ - FtRtecEventChannelAdminS_T.inl - -CLEANFILES += \ - FtRtecEventChannelAdmin-stamp \ - FtRtecEventChannelAdminC.cpp \ - FtRtecEventChannelAdminC.h \ - FtRtecEventChannelAdminC.inl \ - FtRtecEventChannelAdminS.cpp \ - FtRtecEventChannelAdminS.h \ - FtRtecEventChannelAdminS.inl \ - FtRtecEventChannelAdminS_T.cpp \ - FtRtecEventChannelAdminS_T.h \ - FtRtecEventChannelAdminS_T.inl - -FtRtecEventChannelAdminC.cpp FtRtecEventChannelAdminC.h FtRtecEventChannelAdminC.inl FtRtecEventChannelAdminS.cpp FtRtecEventChannelAdminS.h FtRtecEventChannelAdminS.inl FtRtecEventChannelAdminS_T.cpp FtRtecEventChannelAdminS_T.h FtRtecEventChannelAdminS_T.inl: FtRtecEventChannelAdmin-stamp - -FtRtecEventChannelAdmin-stamp: $(srcdir)/FtRtecEventChannelAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FtRtEvent_Export -Wb,export_include=orbsvcs/FtRtEvent/Utils/ftrtevent_export.h $(srcdir)/FtRtecEventChannelAdmin.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_FtRtEvent.la - -libTAO_FtRtEvent_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_FTRTEVENT_BUILD_DLL - -libTAO_FtRtEvent_la_SOURCES = \ - FTRTC.cpp \ - FTRTS.cpp \ - FTRT_GroupManagerC.cpp \ - FTRT_GroupManagerS.cpp \ - FtRtEvent/Utils/FTEC_Gateway.cpp \ - FtRtEvent/Utils/Log.cpp \ - FtRtEvent/Utils/Safe_InputCDR.cpp \ - FtRtEvent/Utils/UUID.cpp \ - FtRtecEventChannelAdminC.cpp \ - FtRtecEventChannelAdminS.cpp \ - FtRtecEventCommC.cpp \ - FtRtecEventCommS.cpp - -libTAO_FtRtEvent_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FtRtEvent_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \ - libTAO_RTEvent_Serv.la \ - libTAO_RTEvent_Skel.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - libTAO_FTORB_Utils.la \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FTRT.idl \ - FTRTC.h \ - FTRTC.inl \ - FTRTS.h \ - FTRTS.inl \ - FTRTS_T.cpp \ - FTRTS_T.h \ - FTRTS_T.inl \ - FTRT_GroupManager.idl \ - FTRT_GroupManagerC.h \ - FTRT_GroupManagerC.inl \ - FTRT_GroupManagerS.h \ - FTRT_GroupManagerS.inl \ - FTRT_GroupManagerS_T.cpp \ - FTRT_GroupManagerS_T.h \ - FTRT_GroupManagerS_T.inl \ - FtRtEvent/Utils/FTEC_Gateway.h \ - FtRtEvent/Utils/FTEC_Gateway.inl \ - FtRtEvent/Utils/Log.h \ - FtRtEvent/Utils/Log.inl \ - FtRtEvent/Utils/Safe_InputCDR.h \ - FtRtEvent/Utils/Safe_InputCDR.inl \ - FtRtEvent/Utils/UUID.h \ - FtRtEvent/Utils/UUID.inl \ - FtRtecEventChannelAdmin.idl \ - FtRtecEventChannelAdminC.h \ - FtRtecEventChannelAdminC.inl \ - FtRtecEventChannelAdminS.h \ - FtRtecEventChannelAdminS.inl \ - FtRtecEventChannelAdminS_T.cpp \ - FtRtecEventChannelAdminS_T.h \ - FtRtecEventChannelAdminS_T.inl \ - FtRtecEventComm.idl \ - FtRtecEventCommC.h \ - FtRtecEventCommC.inl \ - FtRtecEventCommS.h \ - FtRtecEventCommS.inl \ - FtRtecEventCommS_T.cpp \ - FtRtecEventCommS_T.h \ - FtRtecEventCommS_T.inl - -endif !BUILD_MINIMUM_CORBA -endif !BUILD_ACE_FOR_TAO -endif BUILD_CORBA_MESSAGING - -## Makefile.FTRT_EventChannel.am - -if BUILD_CORBA_MESSAGING -if !BUILD_ACE_FOR_TAO -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_FTRT_EventChannel.la - -libTAO_FTRT_EventChannel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_FTRTEC_BUILD_DLL - -libTAO_FTRT_EventChannel_la_SOURCES = \ - FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp \ - FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp \ - FtRtEvent/EventChannel/Basic_Replication_Strategy.cpp \ - FtRtEvent/EventChannel/Dynamic_Bitset.cpp \ - FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.cpp \ - FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp \ - FtRtEvent/EventChannel/FTEC_Event_Channel.cpp \ - FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.cpp \ - FtRtEvent/EventChannel/FTEC_Factory.cpp \ - FtRtEvent/EventChannel/FTEC_Group_Manager.cpp \ - FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp \ - FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp \ - FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp \ - FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp \ - FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp \ - FtRtEvent/EventChannel/Fault_Detector.cpp \ - FtRtEvent/EventChannel/Fault_Detector_Loader.cpp \ - FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp \ - FtRtEvent/EventChannel/FtEventServiceInterceptor.cpp \ - FtRtEvent/EventChannel/GroupInfoPublisher.cpp \ - FtRtEvent/EventChannel/IOGR_Maker.cpp \ - FtRtEvent/EventChannel/Identification_Service.cpp \ - FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp \ - FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp \ - FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp \ - FtRtEvent/EventChannel/Replication_Service.cpp \ - FtRtEvent/EventChannel/Replication_Strategy.cpp \ - FtRtEvent/EventChannel/Request_Context_Repository.cpp \ - FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp \ - FtRtEvent/EventChannel/Set_Update_Interceptor.cpp \ - FtRtEvent/EventChannel/Update_Manager.cpp \ - FtRtEvent/EventChannel/UpdateableHandler.cpp \ - FtRtEvent/EventChannel/create_persistent_poa.cpp \ - FtRtEvent/EventChannel/replace_key.cpp - -libTAO_FTRT_EventChannel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FTRT_EventChannel_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_Utils.la \ - libTAO_FtRtEvent.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \ - libTAO_RTEvent_Serv.la \ - libTAO_RTEvent_Skel.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - libTAO_FTORB_Utils.la \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h \ - FtRtEvent/EventChannel/AMI_Replication_Strategy.h \ - FtRtEvent/EventChannel/Basic_Replication_Strategy.h \ - FtRtEvent/EventChannel/ConnectionHandler_T.cpp \ - FtRtEvent/EventChannel/ConnectionHandler_T.h \ - FtRtEvent/EventChannel/Dynamic_Bitset.h \ - FtRtEvent/EventChannel/Dynamic_Bitset.inl \ - FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h \ - FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h \ - FtRtEvent/EventChannel/FTEC_Event_Channel.h \ - FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h \ - FtRtEvent/EventChannel/FTEC_Factory.h \ - FtRtEvent/EventChannel/FTEC_Group_Manager.h \ - FtRtEvent/EventChannel/FTEC_ORBInitializer.h \ - FtRtEvent/EventChannel/FTEC_ProxyConsumer.h \ - FtRtEvent/EventChannel/FTEC_ProxySupplier.h \ - FtRtEvent/EventChannel/FTEC_SupplierAdmin.h \ - FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h \ - FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp \ - FtRtEvent/EventChannel/FT_ProxyAdmin_T.h \ - FtRtEvent/EventChannel/Fault_Detector.h \ - FtRtEvent/EventChannel/Fault_Detector_Loader.h \ - FtRtEvent/EventChannel/Fault_Detector_T.cpp \ - FtRtEvent/EventChannel/Fault_Detector_T.h \ - FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h \ - FtRtEvent/EventChannel/FtEventServiceInterceptor.h \ - FtRtEvent/EventChannel/GroupInfoPublisher.h \ - FtRtEvent/EventChannel/IOGR_Maker.h \ - FtRtEvent/EventChannel/Identification_Service.h \ - FtRtEvent/EventChannel/ObjectGroupManagerHandler.h \ - FtRtEvent/EventChannel/ProxyConsumerStateWorker.h \ - FtRtEvent/EventChannel/ProxySupplierStateWorker.h \ - FtRtEvent/EventChannel/Replication_Service.h \ - FtRtEvent/EventChannel/Replication_Strategy.h \ - FtRtEvent/EventChannel/Request_Context_Repository.h \ - FtRtEvent/EventChannel/SCTP_Fault_Detector.h \ - FtRtEvent/EventChannel/Set_Update_Interceptor.h \ - FtRtEvent/EventChannel/Update_Manager.h \ - FtRtEvent/EventChannel/UpdateableHandler.h \ - FtRtEvent/EventChannel/create_persistent_poa.h \ - FtRtEvent/EventChannel/ftrtec_export.h - -endif !BUILD_MINIMUM_CORBA -endif !BUILD_ACE_FOR_TAO -endif BUILD_CORBA_MESSAGING - -## Makefile.FT_ClientORB.am - -if BUILD_ACE_UUID -if BUILD_CORBA_MESSAGING -if BUILD_INTERCEPTORS -if !BUILD_ACE_FOR_TAO -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_FT_ClientORB.la - -libTAO_FT_ClientORB_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_FT_CLIENTORB_BUILD_DLL - -libTAO_FT_ClientORB_la_SOURCES = \ - FaultTolerance/FT_ClientORBInitializer.cpp \ - FaultTolerance/FT_ClientPolicyFactory.cpp \ - FaultTolerance/FT_ClientPolicy_i.cpp \ - FaultTolerance/FT_ClientRequest_Interceptor.cpp \ - FaultTolerance/FT_ClientService_Activate.cpp \ - FaultTolerance/FT_Endpoint_Selector_Factory.cpp \ - FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp \ - FaultTolerance/FT_Service_Callbacks.cpp - -libTAO_FT_ClientORB_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FT_ClientORB_la_LIBADD = \ - libTAO_FTORB_Utils.la \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FaultTolerance/FT_ClientORBInitializer.h \ - FaultTolerance/FT_ClientPolicyFactory.h \ - FaultTolerance/FT_ClientPolicy_i.h \ - FaultTolerance/FT_ClientPolicy_i.inl \ - FaultTolerance/FT_ClientRequest_Interceptor.h \ - FaultTolerance/FT_ClientService_Activate.h \ - FaultTolerance/FT_Endpoint_Selector_Factory.h \ - FaultTolerance/FT_Invocation_Endpoint_Selectors.h \ - FaultTolerance/FT_Service_Callbacks.h - -pkgconfig_DATA += \ - TAO_FT_ClientORB.pc - -CLEANFILES += \ - TAO_FT_ClientORB.pc - -TAO_FT_ClientORB.pc: ${top_builddir}/config.status ${srcdir}/TAO_FT_ClientORB.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_FT_ClientORB.pc.in - -endif !BUILD_MINIMUM_CORBA -endif !BUILD_ACE_FOR_TAO -endif BUILD_INTERCEPTORS -endif BUILD_CORBA_MESSAGING -endif BUILD_ACE_UUID - -EXTRA_DIST += \ - TAO_FT_ClientORB.pc.in - - -## Makefile.FT_ServerORB.am - -if BUILD_CORBA_MESSAGING -if BUILD_INTERCEPTORS -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_FT_ServerORB.la - -libTAO_FT_ServerORB_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_FT_SERVERORB_BUILD_DLL - -libTAO_FT_ServerORB_la_SOURCES = \ - FaultTolerance/FT_ServerORBInitializer.cpp \ - FaultTolerance/FT_ServerPolicyFactory.cpp \ - FaultTolerance/FT_ServerPolicy_i.cpp \ - FaultTolerance/FT_ServerRequest_Interceptor.cpp \ - FaultTolerance/FT_ServerService_Activate.cpp - -libTAO_FT_ServerORB_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FT_ServerORB_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \ - libTAO_FTORB_Utils.la \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FaultTolerance/FT_ServerORBInitializer.h \ - FaultTolerance/FT_ServerPolicyFactory.h \ - FaultTolerance/FT_ServerPolicy_i.h \ - FaultTolerance/FT_ServerPolicy_i.inl \ - FaultTolerance/FT_ServerRequest_Interceptor.h \ - FaultTolerance/FT_ServerService_Activate.h - -pkgconfig_DATA += \ - TAO_FT_ServerORB.pc - -CLEANFILES += \ - TAO_FT_ServerORB.pc - -TAO_FT_ServerORB.pc: ${top_builddir}/config.status ${srcdir}/TAO_FT_ServerORB.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_FT_ServerORB.pc.in - -endif !BUILD_MINIMUM_CORBA -endif BUILD_INTERCEPTORS -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - TAO_FT_ServerORB.pc.in - - -## Makefile.FaultTolerance.am - -if BUILD_ACE_UUID -if BUILD_CORBA_MESSAGING -if BUILD_INTERCEPTORS -if !BUILD_ACE_FOR_TAO -if !BUILD_MINIMUM_CORBA - -BUILT_SOURCES += \ - FT_CORBAC.cpp \ - FT_CORBAC.h \ - FT_CORBAC.inl \ - FT_CORBAS.cpp \ - FT_CORBAS.h \ - FT_CORBAS.inl \ - FT_CORBAS_T.cpp \ - FT_CORBAS_T.inl - -CLEANFILES += \ - FT_CORBA-stamp \ - FT_CORBAC.cpp \ - FT_CORBAC.h \ - FT_CORBAC.inl \ - FT_CORBAS.cpp \ - FT_CORBAS.h \ - FT_CORBAS.inl \ - FT_CORBAS_T.cpp \ - FT_CORBAS_T.inl - -FT_CORBAC.cpp FT_CORBAC.h FT_CORBAC.inl FT_CORBAS.cpp FT_CORBAS.h FT_CORBAS.inl FT_CORBAS_T.cpp FT_CORBAS_T.inl: FT_CORBA-stamp - -FT_CORBA-stamp: $(srcdir)/FT_CORBA.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FT_Export -Wb,export_include=orbsvcs/FaultTolerance/fault_tol_export.h -Wb,skel_export_include=tao/PortableServer/PolicyS.h $(srcdir)/FT_CORBA.idl - @touch $@ - -BUILT_SOURCES += \ - FT_ReplicaC.cpp \ - FT_ReplicaC.h \ - FT_ReplicaC.inl \ - FT_ReplicaS.cpp \ - FT_ReplicaS.h \ - FT_ReplicaS.inl \ - FT_ReplicaS_T.cpp \ - FT_ReplicaS_T.inl - -CLEANFILES += \ - FT_Replica-stamp \ - FT_ReplicaC.cpp \ - FT_ReplicaC.h \ - FT_ReplicaC.inl \ - FT_ReplicaS.cpp \ - FT_ReplicaS.h \ - FT_ReplicaS.inl \ - FT_ReplicaS_T.cpp \ - FT_ReplicaS_T.inl - -FT_ReplicaC.cpp FT_ReplicaC.h FT_ReplicaC.inl FT_ReplicaS.cpp FT_ReplicaS.h FT_ReplicaS.inl FT_ReplicaS_T.cpp FT_ReplicaS_T.inl: FT_Replica-stamp - -FT_Replica-stamp: $(srcdir)/FT_Replica.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FT_Export -Wb,export_include=orbsvcs/FaultTolerance/fault_tol_export.h -Wb,skel_export_include=tao/PortableServer/PolicyS.h $(srcdir)/FT_Replica.idl - @touch $@ - -BUILT_SOURCES += \ - FT_NotifierC.cpp \ - FT_NotifierC.h \ - FT_NotifierC.inl \ - FT_NotifierS.cpp \ - FT_NotifierS.h \ - FT_NotifierS.inl \ - FT_NotifierS_T.cpp \ - FT_NotifierS_T.inl - -CLEANFILES += \ - FT_Notifier-stamp \ - FT_NotifierC.cpp \ - FT_NotifierC.h \ - FT_NotifierC.inl \ - FT_NotifierS.cpp \ - FT_NotifierS.h \ - FT_NotifierS.inl \ - FT_NotifierS_T.cpp \ - FT_NotifierS_T.inl - -FT_NotifierC.cpp FT_NotifierC.h FT_NotifierC.inl FT_NotifierS.cpp FT_NotifierS.h FT_NotifierS.inl FT_NotifierS_T.cpp FT_NotifierS_T.inl: FT_Notifier-stamp - -FT_Notifier-stamp: $(srcdir)/FT_Notifier.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FT_Export -Wb,export_include=orbsvcs/FaultTolerance/fault_tol_export.h -Wb,skel_export_include=tao/PortableServer/PolicyS.h $(srcdir)/FT_Notifier.idl - @touch $@ - -BUILT_SOURCES += \ - FT_FaultDetectorFactoryC.cpp \ - FT_FaultDetectorFactoryC.h \ - FT_FaultDetectorFactoryC.inl \ - FT_FaultDetectorFactoryS.cpp \ - FT_FaultDetectorFactoryS.h \ - FT_FaultDetectorFactoryS.inl \ - FT_FaultDetectorFactoryS_T.cpp \ - FT_FaultDetectorFactoryS_T.inl - -CLEANFILES += \ - FT_FaultDetectorFactory-stamp \ - FT_FaultDetectorFactoryC.cpp \ - FT_FaultDetectorFactoryC.h \ - FT_FaultDetectorFactoryC.inl \ - FT_FaultDetectorFactoryS.cpp \ - FT_FaultDetectorFactoryS.h \ - FT_FaultDetectorFactoryS.inl \ - FT_FaultDetectorFactoryS_T.cpp \ - FT_FaultDetectorFactoryS_T.inl - -FT_FaultDetectorFactoryC.cpp FT_FaultDetectorFactoryC.h FT_FaultDetectorFactoryC.inl FT_FaultDetectorFactoryS.cpp FT_FaultDetectorFactoryS.h FT_FaultDetectorFactoryS.inl FT_FaultDetectorFactoryS_T.cpp FT_FaultDetectorFactoryS_T.inl: FT_FaultDetectorFactory-stamp - -FT_FaultDetectorFactory-stamp: $(srcdir)/FT_FaultDetectorFactory.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FT_Export -Wb,export_include=orbsvcs/FaultTolerance/fault_tol_export.h -Wb,skel_export_include=tao/PortableServer/PolicyS.h $(srcdir)/FT_FaultDetectorFactory.idl - @touch $@ - -BUILT_SOURCES += \ - FT_ReplicationManagerC.cpp \ - FT_ReplicationManagerC.h \ - FT_ReplicationManagerC.inl \ - FT_ReplicationManagerS.cpp \ - FT_ReplicationManagerS.h \ - FT_ReplicationManagerS.inl \ - FT_ReplicationManagerS_T.cpp \ - FT_ReplicationManagerS_T.inl - -CLEANFILES += \ - FT_ReplicationManager-stamp \ - FT_ReplicationManagerC.cpp \ - FT_ReplicationManagerC.h \ - FT_ReplicationManagerC.inl \ - FT_ReplicationManagerS.cpp \ - FT_ReplicationManagerS.h \ - FT_ReplicationManagerS.inl \ - FT_ReplicationManagerS_T.cpp \ - FT_ReplicationManagerS_T.inl - -FT_ReplicationManagerC.cpp FT_ReplicationManagerC.h FT_ReplicationManagerC.inl FT_ReplicationManagerS.cpp FT_ReplicationManagerS.h FT_ReplicationManagerS.inl FT_ReplicationManagerS_T.cpp FT_ReplicationManagerS_T.inl: FT_ReplicationManager-stamp - -FT_ReplicationManager-stamp: $(srcdir)/FT_ReplicationManager.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_FT_Export -Wb,export_include=orbsvcs/FaultTolerance/fault_tol_export.h -Wb,skel_export_include=tao/PortableServer/PolicyS.h $(srcdir)/FT_ReplicationManager.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_FaultTolerance.la - -libTAO_FaultTolerance_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_FT_BUILD_DLL - -libTAO_FaultTolerance_la_SOURCES = \ - FT_CORBAC.cpp \ - FT_CORBAS.cpp \ - FT_FaultDetectorFactoryC.cpp \ - FT_FaultDetectorFactoryS.cpp \ - FT_NotifierC.cpp \ - FT_NotifierS.cpp \ - FT_ReplicaC.cpp \ - FT_ReplicaS.cpp \ - FT_ReplicationManagerC.cpp \ - FT_ReplicationManagerS.cpp - -libTAO_FaultTolerance_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_FaultTolerance_la_LIBADD = \ - libTAO_FT_ServerORB.la \ - libTAO_FT_ClientORB.la \ - libTAO_FTORB_Utils.la \ - libTAO_PortableGroup.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \ - libTAO_CosNotification.la \ - libTAO_CosEvent.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - FT_CORBA.idl \ - FT_CORBAC.h \ - FT_CORBAC.inl \ - FT_CORBAS.h \ - FT_CORBAS.inl \ - FT_CORBAS_T.cpp \ - FT_CORBAS_T.inl \ - FT_FaultDetectorFactory.idl \ - FT_FaultDetectorFactoryC.h \ - FT_FaultDetectorFactoryC.inl \ - FT_FaultDetectorFactoryS.h \ - FT_FaultDetectorFactoryS.inl \ - FT_FaultDetectorFactoryS_T.cpp \ - FT_FaultDetectorFactoryS_T.inl \ - FT_Notifier.idl \ - FT_NotifierC.h \ - FT_NotifierC.inl \ - FT_NotifierS.h \ - FT_NotifierS.inl \ - FT_NotifierS_T.cpp \ - FT_NotifierS_T.inl \ - FT_Replica.idl \ - FT_ReplicaC.h \ - FT_ReplicaC.inl \ - FT_ReplicaS.h \ - FT_ReplicaS.inl \ - FT_ReplicaS_T.cpp \ - FT_ReplicaS_T.inl \ - FT_ReplicationManager.idl \ - FT_ReplicationManagerC.h \ - FT_ReplicationManagerC.inl \ - FT_ReplicationManagerS.h \ - FT_ReplicationManagerS.inl \ - FT_ReplicationManagerS_T.cpp \ - FT_ReplicationManagerS_T.inl \ - FaultTolerance/fault_tol_export.h - -pkgconfig_DATA += \ - TAO_FaultTolerance.pc - -CLEANFILES += \ - TAO_FaultTolerance.pc - -TAO_FaultTolerance.pc: ${top_builddir}/config.status ${srcdir}/TAO_FaultTolerance.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_FaultTolerance.pc.in - -endif !BUILD_MINIMUM_CORBA -endif !BUILD_ACE_FOR_TAO -endif BUILD_INTERCEPTORS -endif BUILD_CORBA_MESSAGING -endif BUILD_ACE_UUID - -EXTRA_DIST += \ - FaultTolerance.rc \ - TAO_FaultTolerance.pc.in - - -## Makefile.HTIOP.am - -if !BUILD_ACE_FOR_TAO - -BUILT_SOURCES += \ - HTIOPC.cpp \ - HTIOPC.h \ - HTIOPC.inl \ - HTIOPS.h \ - HTIOPS.inl \ - HTIOPS_T.cpp \ - HTIOPS_T.h \ - HTIOPS_T.inl - -CLEANFILES += \ - HTIOP-stamp \ - HTIOPC.cpp \ - HTIOPC.h \ - HTIOPC.inl \ - HTIOPS.h \ - HTIOPS.inl \ - HTIOPS_T.cpp \ - HTIOPS_T.h \ - HTIOPS_T.inl - -HTIOPC.cpp HTIOPC.h HTIOPC.inl HTIOPS.h HTIOPS.inl HTIOPS_T.cpp HTIOPS_T.h HTIOPS_T.inl: HTIOP-stamp - -HTIOP-stamp: $(srcdir)/HTIOP.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=HTIOP_Export -Wb,export_include=orbsvcs/HTIOP/HTIOP_Export.h $(srcdir)/HTIOP.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_HTIOP.la - -libTAO_HTIOP_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/protocols \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DHTIOP_BUILD_DLL - -libTAO_HTIOP_la_SOURCES = \ - HTIOP/HTIOP_Acceptor.cpp \ - HTIOP/HTIOP_Acceptor_Impl.cpp \ - HTIOP/HTIOP_Completion_Handler.cpp \ - HTIOP/HTIOP_Connection_Handler.cpp \ - HTIOP/HTIOP_Connector.cpp \ - HTIOP/HTIOP_Connector_Impl.cpp \ - HTIOP/HTIOP_Endpoint.cpp \ - HTIOP/HTIOP_Factory.cpp \ - HTIOP/HTIOP_Profile.cpp \ - HTIOP/HTIOP_Transport.cpp \ - HTIOP/htiop_endpointsC.cpp \ - HTIOPC.cpp - -libTAO_HTIOP_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_HTIOP_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/protocols/ace/HTBP/libACE_HTBP.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - HTIOP.idl \ - HTIOP/HTIOP_Acceptor.h \ - HTIOP/HTIOP_Acceptor.i \ - HTIOP/HTIOP_Acceptor_Impl.h \ - HTIOP/HTIOP_Completion_Handler.h \ - HTIOP/HTIOP_Connection_Handler.h \ - HTIOP/HTIOP_Connector.h \ - HTIOP/HTIOP_Connector_Impl.h \ - HTIOP/HTIOP_Endpoint.h \ - HTIOP/HTIOP_Endpoint.i \ - HTIOP/HTIOP_Factory.h \ - HTIOP/HTIOP_Profile.h \ - HTIOP/HTIOP_Transport.h \ - HTIOP/htiop_endpoints.pidl \ - HTIOP/htiop_endpointsC.h \ - HTIOPC.h \ - HTIOPC.inl \ - HTIOPS.h \ - HTIOPS.inl \ - HTIOPS_T.cpp \ - HTIOPS_T.h \ - HTIOPS_T.inl - -endif !BUILD_ACE_FOR_TAO - -## Makefile.IFRService.am - -if !BUILD_ACE_FOR_TAO -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_IFRService.la - -libTAO_IFRService_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_IFRSERVICE_BUILD_DLL - -libTAO_IFRService_la_SOURCES = \ - IFRService/AbstractInterfaceDef_i.cpp \ - IFRService/AliasDef_i.cpp \ - IFRService/ArrayDef_i.cpp \ - IFRService/AttributeDef_i.cpp \ - IFRService/ComponentContainer_i.cpp \ - IFRService/ComponentDef_i.cpp \ - IFRService/ComponentModuleDef_i.cpp \ - IFRService/ComponentRepository_i.cpp \ - IFRService/ConstantDef_i.cpp \ - IFRService/ConsumesDef_i.cpp \ - IFRService/Contained_i.cpp \ - IFRService/Container_i.cpp \ - IFRService/EmitsDef_i.cpp \ - IFRService/EnumDef_i.cpp \ - IFRService/EventDef_i.cpp \ - IFRService/EventPortDef_i.cpp \ - IFRService/ExceptionDef_i.cpp \ - IFRService/ExtAbstractInterfaceDef_i.cpp \ - IFRService/ExtAttributeDef_i.cpp \ - IFRService/ExtInterfaceDef_i.cpp \ - IFRService/ExtLocalInterfaceDef_i.cpp \ - IFRService/ExtValueDef_i.cpp \ - IFRService/FactoryDef_i.cpp \ - IFRService/FinderDef_i.cpp \ - IFRService/FixedDef_i.cpp \ - IFRService/HomeDef_i.cpp \ - IFRService/IDLType_i.cpp \ - IFRService/IFR_BaseS.cpp \ - IFRService/IFR_BasicS.cpp \ - IFRService/IFR_ComponentsS.cpp \ - IFRService/IFR_ExtendedS.cpp \ - IFRService/IFR_Service_Loader.cpp \ - IFRService/IFR_Service_Utils.cpp \ - IFRService/IRObject_i.cpp \ - IFRService/InterfaceAttrExtension_i.cpp \ - IFRService/InterfaceDef_i.cpp \ - IFRService/LocalInterfaceDef_i.cpp \ - IFRService/ModuleDef_i.cpp \ - IFRService/NativeDef_i.cpp \ - IFRService/OperationDef_i.cpp \ - IFRService/Options.cpp \ - IFRService/PrimitiveDef_i.cpp \ - IFRService/ProvidesDef_i.cpp \ - IFRService/PublishesDef_i.cpp \ - IFRService/RecursDef_i.cpp \ - IFRService/Repository_i.cpp \ - IFRService/SequenceDef_i.cpp \ - IFRService/StringDef_i.cpp \ - IFRService/StructDef_i.cpp \ - IFRService/TypedefDef_i.cpp \ - IFRService/UnionDef_i.cpp \ - IFRService/UsesDef_i.cpp \ - IFRService/ValueBoxDef_i.cpp \ - IFRService/ValueDef_i.cpp \ - IFRService/ValueMemberDef_i.cpp \ - IFRService/WstringDef_i.cpp - -libTAO_IFRService_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_IFRService_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_IORTable.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_TypeCodeFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_IFR_Client.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - IFRService/AbstractInterfaceDef_i.h \ - IFRService/AliasDef_i.h \ - IFRService/ArrayDef_i.h \ - IFRService/AttributeDef_i.h \ - IFRService/ComponentContainer_i.h \ - IFRService/ComponentDef_i.h \ - IFRService/ComponentModuleDef_i.h \ - IFRService/ComponentRepository_i.h \ - IFRService/ConstantDef_i.h \ - IFRService/ConsumesDef_i.h \ - IFRService/Contained_i.h \ - IFRService/Container_i.h \ - IFRService/EmitsDef_i.h \ - IFRService/EnumDef_i.h \ - IFRService/EventDef_i.h \ - IFRService/EventPortDef_i.h \ - IFRService/ExceptionDef_i.h \ - IFRService/ExtAbstractInterfaceDef_i.h \ - IFRService/ExtAttributeDef_i.h \ - IFRService/ExtInterfaceDef_i.h \ - IFRService/ExtLocalInterfaceDef_i.h \ - IFRService/ExtValueDef_i.h \ - IFRService/FactoryDef_i.h \ - IFRService/FinderDef_i.h \ - IFRService/FixedDef_i.h \ - IFRService/HomeDef_i.h \ - IFRService/IDLType_i.h \ - IFRService/IFR_BaseS.h \ - IFRService/IFR_BaseS.inl \ - IFRService/IFR_BaseS_T.cpp \ - IFRService/IFR_BasicS.h \ - IFRService/IFR_BasicS.inl \ - IFRService/IFR_BasicS_T.cpp \ - IFRService/IFR_ComponentsS.h \ - IFRService/IFR_ComponentsS.inl \ - IFRService/IFR_ComponentsS_T.cpp \ - IFRService/IFR_ExtendedS.h \ - IFRService/IFR_ExtendedS.inl \ - IFRService/IFR_ExtendedS_T.cpp \ - IFRService/IFR_Service_Loader.h \ - IFRService/IFR_Service_Utils.h \ - IFRService/IFR_Service_Utils_T.cpp \ - IFRService/IRObject_i.h \ - IFRService/InterfaceAttrExtension_i.h \ - IFRService/InterfaceDef_i.h \ - IFRService/LocalInterfaceDef_i.h \ - IFRService/ModuleDef_i.h \ - IFRService/NativeDef_i.h \ - IFRService/OperationDef_i.h \ - IFRService/Options.h \ - IFRService/PrimitiveDef_i.h \ - IFRService/ProvidesDef_i.h \ - IFRService/PublishesDef_i.h \ - IFRService/RecursDef_i.h \ - IFRService/Repository_i.h \ - IFRService/SequenceDef_i.h \ - IFRService/StringDef_i.h \ - IFRService/StructDef_i.h \ - IFRService/TypedefDef_i.h \ - IFRService/UnionDef_i.h \ - IFRService/UsesDef_i.h \ - IFRService/ValueBoxDef_i.h \ - IFRService/ValueDef_i.h \ - IFRService/ValueMemberDef_i.h \ - IFRService/WstringDef_i.h - -endif !BUILD_MINIMUM_CORBA -endif !BUILD_ACE_FOR_TAO - -EXTRA_DIST += \ - IFRService.rc - - -## Makefile.RTCORBAEvent.am - -if BUILD_CORBA_MESSAGING -if BUILD_RT_CORBA -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES += libTAO_RTCORBAEvent.la - -libTAO_RTCORBAEvent_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTCORBAEVENT_BUILD_DLL - -libTAO_RTCORBAEvent_la_SOURCES = \ - Event/EC_RTCORBA_Dispatching.cpp \ - Event/EC_RTCORBA_Factory.cpp - -libTAO_RTCORBAEvent_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTCORBAEvent_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_RTPortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_RTCORBA.la \ - libTAO_RTEvent_Serv.la \ - libTAO_RTEvent_Skel.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Event/EC_RTCORBA_Dispatching.h \ - Event/EC_RTCORBA_Factory.h - -endif !BUILD_ACE_FOR_TAO -endif BUILD_RT_CORBA -endif BUILD_CORBA_MESSAGING - -## Makefile.RTEventLogAdmin_IDL.am - -if BUILD_CORBA_MESSAGING - -BUILT_SOURCES += \ - RTEventLogAdminC.cpp \ - RTEventLogAdminC.h \ - RTEventLogAdminC.inl \ - RTEventLogAdminS.cpp \ - RTEventLogAdminS.h \ - RTEventLogAdminS.inl \ - RTEventLogAdminS_T.cpp \ - RTEventLogAdminS_T.h \ - RTEventLogAdminS_T.inl - -CLEANFILES += \ - RTEventLogAdmin-stamp \ - RTEventLogAdminC.cpp \ - RTEventLogAdminC.h \ - RTEventLogAdminC.inl \ - RTEventLogAdminS.cpp \ - RTEventLogAdminS.h \ - RTEventLogAdminS.inl \ - RTEventLogAdminS_T.cpp \ - RTEventLogAdminS_T.h \ - RTEventLogAdminS_T.inl - -RTEventLogAdminC.cpp RTEventLogAdminC.h RTEventLogAdminC.inl RTEventLogAdminS.cpp RTEventLogAdminS.h RTEventLogAdminS.inl RTEventLogAdminS_T.cpp RTEventLogAdminS_T.h RTEventLogAdminS_T.inl: RTEventLogAdmin-stamp - -RTEventLogAdmin-stamp: $(srcdir)/RTEventLogAdmin.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,stub_export_macro=TAO_RTEventLog_Export -Wb,stub_export_include=orbsvcs/Log/rteventlog_export.h -Wb,skel_export_macro=TAO_RTEventLog_Skel_Export -Wb,skel_export_include=orbsvcs/Log/rteventlog_skel_export.h $(srcdir)/RTEventLogAdmin.idl - @touch $@ - - -nobase_include_HEADERS += \ - RTEventLogAdmin.idl - -endif BUILD_CORBA_MESSAGING - -## Makefile.RTEventLogAdmin.am - -if BUILD_CORBA_MESSAGING - -lib_LTLIBRARIES += libTAO_RTEventLogAdmin.la - -libTAO_RTEventLogAdmin_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTEVENTLOG_BUILD_DLL - -libTAO_RTEventLogAdmin_la_SOURCES = \ - RTEventLogAdminC.cpp - -libTAO_RTEventLogAdmin_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTEventLogAdmin_la_LIBADD = \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Log/rteventlog_export.h \ - RTEventLogAdminC.h \ - RTEventLogAdminC.inl - -pkgconfig_DATA += \ - TAO_RTEventLogAdmin.pc - -CLEANFILES += \ - TAO_RTEventLogAdmin.pc - -TAO_RTEventLogAdmin.pc: ${top_builddir}/config.status ${srcdir}/TAO_RTEventLogAdmin.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_RTEventLogAdmin.pc.in - -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - TAO_RTEventLogAdmin.pc.in - - -## Makefile.RTSched.am - -BUILT_SOURCES += \ - RtecSchedulerC.cpp \ - RtecSchedulerC.h \ - RtecSchedulerC.inl \ - RtecSchedulerS.cpp \ - RtecSchedulerS.h \ - RtecSchedulerS.inl \ - RtecSchedulerS_T.cpp \ - RtecSchedulerS_T.h \ - RtecSchedulerS_T.inl - -CLEANFILES += \ - RtecScheduler-stamp \ - RtecSchedulerC.cpp \ - RtecSchedulerC.h \ - RtecSchedulerC.inl \ - RtecSchedulerS.cpp \ - RtecSchedulerS.h \ - RtecSchedulerS.inl \ - RtecSchedulerS_T.cpp \ - RtecSchedulerS_T.h \ - RtecSchedulerS_T.inl - -RtecSchedulerC.cpp RtecSchedulerC.h RtecSchedulerC.inl RtecSchedulerS.cpp RtecSchedulerS.h RtecSchedulerS.inl RtecSchedulerS_T.cpp RtecSchedulerS_T.h RtecSchedulerS_T.inl: RtecScheduler-stamp - -RtecScheduler-stamp: $(srcdir)/RtecScheduler.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_RTSched_Export -Wb,export_include=orbsvcs/Sched/sched_export.h $(srcdir)/RtecScheduler.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_RTSched.la - -libTAO_RTSched_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTSCHED_BUILD_DLL - -libTAO_RTSched_la_SOURCES = \ - RtecSchedulerC.cpp \ - RtecSchedulerS.cpp \ - Runtime_Scheduler.cpp \ - Sched/Config_Scheduler.cpp \ - Sched/DynSched.cpp \ - Sched/Reconfig_Sched_Utils.cpp \ - Sched/SchedEntry.cpp \ - Sched/Scheduler.cpp \ - Sched/Scheduler_Generic.cpp \ - Sched/Strategy_Scheduler.cpp \ - Scheduler_Factory.cpp \ - Scheduler_Utilities.cpp - -libTAO_RTSched_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTSched_la_LIBADD = \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - libTAO_CosNaming.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - RtecScheduler.idl \ - RtecSchedulerC.h \ - RtecSchedulerC.inl \ - RtecSchedulerS.h \ - RtecSchedulerS.inl \ - RtecSchedulerS_T.cpp \ - RtecSchedulerS_T.h \ - RtecSchedulerS_T.inl \ - Runtime_Scheduler.h \ - Sched/Config_Scheduler.h \ - Sched/DynSched.h \ - Sched/DynSched.i \ - Sched/Reconfig_Sched_Utils.h \ - Sched/Reconfig_Sched_Utils_T.cpp \ - Sched/SchedEntry.h \ - Sched/SchedEntry.i \ - Sched/Scheduler.h \ - Sched/Scheduler_Generic.h \ - Sched/Strategy_Scheduler.h \ - Scheduler_Factory.h \ - Scheduler_Factory.i \ - Scheduler_Utilities.h \ - Scheduler_Utilities.i - -EXTRA_DIST += \ - RTSched.rc - - -## Makefile.RTEventLogAdmin_Skel.am - -if BUILD_CORBA_MESSAGING - -lib_LTLIBRARIES += libTAO_RTEventLogAdmin_Skel.la - -libTAO_RTEventLogAdmin_Skel_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTEVENTLOG_SKEL_BUILD_DLL - -libTAO_RTEventLogAdmin_Skel_la_SOURCES = \ - RTEventLogAdminS.cpp - -libTAO_RTEventLogAdmin_Skel_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTEventLogAdmin_Skel_la_LIBADD = \ - libTAO_RTEvent_Skel.la \ - libTAO_DsLogAdmin_Skel.la \ - libTAO_RTEventLogAdmin.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Log/rteventlog_skel_export.h \ - RTEventLogAdminS.h \ - RTEventLogAdminS.inl \ - RTEventLogAdminS_T.cpp \ - RTEventLogAdminS_T.h \ - RTEventLogAdminS_T.inl - -pkgconfig_DATA += \ - TAO_RTEventLogAdmin_Skel.pc - -CLEANFILES += \ - TAO_RTEventLogAdmin_Skel.pc - -TAO_RTEventLogAdmin_Skel.pc: ${top_builddir}/config.status ${srcdir}/TAO_RTEventLogAdmin_Skel.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_RTEventLogAdmin_Skel.pc.in - -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - TAO_RTEventLogAdmin_Skel.pc.in - - -## Makefile.RTEventLogAdmin_Serv.am - -if BUILD_CORBA_MESSAGING -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES += libTAO_RTEventLogAdmin_Serv.la - -libTAO_RTEventLogAdmin_Serv_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTEVENTLOG_SERV_BUILD_DLL - -libTAO_RTEventLogAdmin_Serv_la_SOURCES = \ - Log/RTEventLogConsumer.cpp \ - Log/RTEventLogFactory_i.cpp \ - Log/RTEventLogNotification.cpp \ - Log/RTEventLog_i.cpp - -libTAO_RTEventLogAdmin_Serv_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTEventLogAdmin_Serv_la_LIBADD = \ - libTAO_RTSched.la \ - libTAO_CosNaming.la \ - libTAO_RTEvent_Serv.la \ - libTAO_DsLogAdmin_Serv.la \ - $(TAO_BUILDDIR)/tao/libTAO_Utils.la \ - libTAO_ETCL.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_RTEventLogAdmin_Skel.la \ - libTAO_RTEvent_Skel.la \ - libTAO_DsLogAdmin_Skel.la \ - libTAO_RTEventLogAdmin.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - libTAO_DsLogAdmin.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Log/RTEventLogConsumer.h \ - Log/RTEventLogFactory_i.h \ - Log/RTEventLogNotification.h \ - Log/RTEventLog_i.h \ - Log/rteventlog_serv_export.h - -pkgconfig_DATA += \ - TAO_RTEventLogAdmin_Serv.pc - -CLEANFILES += \ - TAO_RTEventLogAdmin_Serv.pc - -TAO_RTEventLogAdmin_Serv.pc: ${top_builddir}/config.status ${srcdir}/TAO_RTEventLogAdmin_Serv.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/TAO_RTEventLogAdmin_Serv.pc.in - -endif !BUILD_ACE_FOR_TAO -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - TAO_RTEventLogAdmin_Serv.pc.in - - -## Makefile.RTKokyuEvent.am - -if BUILD_CORBA_MESSAGING -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES += libTAO_RTKokyuEvent.la - -libTAO_RTKokyuEvent_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -I$(ACE_ROOT)/Kokyu \ - -DTAO_RTKOKYUEVENT_BUILD_DLL - -libTAO_RTKokyuEvent_la_SOURCES = \ - Event/EC_Kokyu_Dispatching.cpp \ - Event/EC_Kokyu_Factory.cpp \ - Event/EC_Kokyu_Filter.cpp \ - Event/EC_Kokyu_Filter_Builder.cpp \ - Event/EC_Kokyu_Scheduling.cpp - -libTAO_RTKokyuEvent_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTKokyuEvent_la_LIBADD = \ - $(ACE_BUILDDIR)/Kokyu/libKokyu.la \ - libTAO_RTSched.la \ - libTAO_CosNaming.la \ - libTAO_RTEvent_Serv.la \ - libTAO_RTEvent_Skel.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Event/EC_Kokyu_Dispatching.h \ - Event/EC_Kokyu_Dispatching.i \ - Event/EC_Kokyu_Factory.h \ - Event/EC_Kokyu_Factory.i \ - Event/EC_Kokyu_Filter.h \ - Event/EC_Kokyu_Filter_Builder.h \ - Event/EC_Kokyu_Filter_Builder.i \ - Event/EC_Kokyu_Scheduling.h \ - Event/EC_Kokyu_Scheduling.i - -endif !BUILD_ACE_FOR_TAO -endif BUILD_CORBA_MESSAGING - -## Makefile.RTSchedEvent.am - -if BUILD_CORBA_MESSAGING -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES += libTAO_RTSchedEvent.la - -libTAO_RTSchedEvent_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_RTSCHEDEVENT_BUILD_DLL - -libTAO_RTSchedEvent_la_SOURCES = \ - Event/EC_Gateway_Sched.cpp \ - Event/EC_Priority_Dispatching.cpp \ - Event/EC_Priority_Scheduling.cpp \ - Event/EC_Sched_Factory.cpp \ - Event/EC_Sched_Filter.cpp \ - Event/EC_Sched_Filter_Builder.cpp - -libTAO_RTSchedEvent_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RTSchedEvent_la_LIBADD = \ - libTAO_RTSched.la \ - libTAO_CosNaming.la \ - libTAO_RTEvent_Serv.la \ - libTAO_RTEvent_Skel.la \ - libTAO_RTEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Event/EC_Gateway_Sched.h \ - Event/EC_Priority_Dispatching.h \ - Event/EC_Priority_Scheduling.h \ - Event/EC_Priority_Scheduling.i \ - Event/EC_Sched_Factory.h \ - Event/EC_Sched_Factory.i \ - Event/EC_Sched_Filter.h \ - Event/EC_Sched_Filter_Builder.h \ - Event/EC_Sched_Filter_Builder.i - -endif !BUILD_ACE_FOR_TAO -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - RTSchedEvent.rc - - -## Makefile.RT_Notification.am - -if BUILD_RT_CORBA -if !BUILD_MINIMUM_CORBA - -lib_LTLIBRARIES += libTAO_RT_Notification.la - -libTAO_RT_Notification_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_HAS_TYPED_EVENT_CHANNEL \ - -DTAO_RT_NOTIFY_BUILD_DLL - -libTAO_RT_Notification_la_SOURCES = \ - Notify/RT_Builder.cpp \ - Notify/RT_Factory.cpp \ - Notify/RT_Notify_Service.cpp \ - Notify/RT_POA_Helper.cpp \ - Notify/RT_Properties.cpp \ - Notify/Structured/RT_StructuredProxyPushSupplier.cpp - -libTAO_RT_Notification_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_RT_Notification_la_LIBADD = \ - libTAO_CosNotification_Serv.la \ - $(TAO_BUILDDIR)/tao/libTAO_DynamicAny.la \ - libTAO_ETCL.la \ - libTAO_CosNotification_Skel.la \ - libTAO_CosEvent_Skel.la \ - libTAO_CosNotification.la \ - libTAO_CosEvent.la \ - libTAO_Svc_Utils.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_RTCORBA.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - Notify/RT_Builder.h \ - Notify/RT_Factory.h \ - Notify/RT_Notify_Service.h \ - Notify/RT_POA_Helper.h \ - Notify/RT_Properties.h \ - Notify/RT_Properties.inl \ - Notify/Structured/RT_StructuredProxyPushSupplier.h - -endif !BUILD_MINIMUM_CORBA -endif BUILD_RT_CORBA - -EXTRA_DIST += \ - RT_Notification.rc - - -## Makefile.Security.am - -if BUILD_CORBA_MESSAGING -if BUILD_INTERCEPTORS - -BUILT_SOURCES += \ - CSIC.cpp \ - CSIC.h \ - CSIC.inl \ - CSIS.inl \ - CSIS_T.inl - -CLEANFILES += \ - CSI-stamp \ - CSIC.cpp \ - CSIC.h \ - CSIC.inl \ - CSIS.inl \ - CSIS_T.inl - -CSIC.cpp CSIC.h CSIC.inl CSIS.inl CSIS_T.inl: CSI-stamp - -CSI-stamp: $(srcdir)/CSI.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/CSI.idl - @touch $@ - -BUILT_SOURCES += \ - CSIIOPC.cpp \ - CSIIOPC.h \ - CSIIOPC.inl \ - CSIIOPS.inl \ - CSIIOPS_T.inl - -CLEANFILES += \ - CSIIOP-stamp \ - CSIIOPC.cpp \ - CSIIOPC.h \ - CSIIOPC.inl \ - CSIIOPS.inl \ - CSIIOPS_T.inl - -CSIIOPC.cpp CSIIOPC.h CSIIOPC.inl CSIIOPS.inl CSIIOPS_T.inl: CSIIOP-stamp - -CSIIOP-stamp: $(srcdir)/CSIIOP.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/CSIIOP.idl - @touch $@ - -BUILT_SOURCES += \ - GSSUPC.cpp \ - GSSUPC.h \ - GSSUPC.inl \ - GSSUPS.inl \ - GSSUPS_T.inl - -CLEANFILES += \ - GSSUP-stamp \ - GSSUPC.cpp \ - GSSUPC.h \ - GSSUPC.inl \ - GSSUPS.inl \ - GSSUPS_T.inl - -GSSUPC.cpp GSSUPC.h GSSUPC.inl GSSUPS.inl GSSUPS_T.inl: GSSUP-stamp - -GSSUP-stamp: $(srcdir)/GSSUP.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/GSSUP.idl - @touch $@ - -BUILT_SOURCES += \ - SecurityC.cpp \ - SecurityC.h \ - SecurityC.inl \ - SecurityS.cpp \ - SecurityS.h \ - SecurityS.inl \ - SecurityS_T.cpp \ - SecurityS_T.inl - -CLEANFILES += \ - Security-stamp \ - SecurityC.cpp \ - SecurityC.h \ - SecurityC.inl \ - SecurityS.cpp \ - SecurityS.h \ - SecurityS.inl \ - SecurityS_T.cpp \ - SecurityS_T.inl - -SecurityC.cpp SecurityC.h SecurityC.inl SecurityS.cpp SecurityS.h SecurityS.inl SecurityS_T.cpp SecurityS_T.inl: Security-stamp - -Security-stamp: $(srcdir)/Security.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/Security.idl - @touch $@ - -BUILT_SOURCES += \ - SecurityLevel1C.cpp \ - SecurityLevel1C.h \ - SecurityLevel1C.inl \ - SecurityLevel1S.cpp \ - SecurityLevel1S.h \ - SecurityLevel1S.inl \ - SecurityLevel1S_T.cpp \ - SecurityLevel1S_T.inl - -CLEANFILES += \ - SecurityLevel1-stamp \ - SecurityLevel1C.cpp \ - SecurityLevel1C.h \ - SecurityLevel1C.inl \ - SecurityLevel1S.cpp \ - SecurityLevel1S.h \ - SecurityLevel1S.inl \ - SecurityLevel1S_T.cpp \ - SecurityLevel1S_T.inl - -SecurityLevel1C.cpp SecurityLevel1C.h SecurityLevel1C.inl SecurityLevel1S.cpp SecurityLevel1S.h SecurityLevel1S.inl SecurityLevel1S_T.cpp SecurityLevel1S_T.inl: SecurityLevel1-stamp - -SecurityLevel1-stamp: $(srcdir)/SecurityLevel1.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/SecurityLevel1.idl - @touch $@ - -BUILT_SOURCES += \ - SecurityLevel2C.cpp \ - SecurityLevel2C.h \ - SecurityLevel2C.inl \ - SecurityLevel2S.cpp \ - SecurityLevel2S.h \ - SecurityLevel2S.inl \ - SecurityLevel2S_T.cpp \ - SecurityLevel2S_T.inl - -CLEANFILES += \ - SecurityLevel2-stamp \ - SecurityLevel2C.cpp \ - SecurityLevel2C.h \ - SecurityLevel2C.inl \ - SecurityLevel2S.cpp \ - SecurityLevel2S.h \ - SecurityLevel2S.inl \ - SecurityLevel2S_T.cpp \ - SecurityLevel2S_T.inl - -SecurityLevel2C.cpp SecurityLevel2C.h SecurityLevel2C.inl SecurityLevel2S.cpp SecurityLevel2S.h SecurityLevel2S.inl SecurityLevel2S_T.cpp SecurityLevel2S_T.inl: SecurityLevel2-stamp - -SecurityLevel2-stamp: $(srcdir)/SecurityLevel2.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/SecurityLevel2.idl - @touch $@ - -BUILT_SOURCES += \ - SecurityLevel3C.cpp \ - SecurityLevel3C.h \ - SecurityLevel3C.inl \ - SecurityLevel3S.inl \ - SecurityLevel3S_T.inl - -CLEANFILES += \ - SecurityLevel3-stamp \ - SecurityLevel3C.cpp \ - SecurityLevel3C.h \ - SecurityLevel3C.inl \ - SecurityLevel3S.inl \ - SecurityLevel3S_T.inl - -SecurityLevel3C.cpp SecurityLevel3C.h SecurityLevel3C.inl SecurityLevel3S.inl SecurityLevel3S_T.inl: SecurityLevel3-stamp - -SecurityLevel3-stamp: $(srcdir)/SecurityLevel3.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h $(srcdir)/SecurityLevel3.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_Security.la - -libTAO_Security_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DTAO_SECURITY_BUILD_DLL - -libTAO_Security_la_SOURCES = \ - CSIC.cpp \ - CSIIOPC.cpp \ - GSSUPC.cpp \ - Security/CSI_Utils.cpp \ - Security/SL2_EstablishTrustPolicy.cpp \ - Security/SL2_QOPPolicy.cpp \ - Security/SL3_ContextEstablishmentPolicy.cpp \ - Security/SL3_CredentialsAcquirerFactory.cpp \ - Security/SL3_CredentialsCurator.cpp \ - Security/SL3_ObjectCredentialsPolicy.cpp \ - Security/SL3_PolicyFactory.cpp \ - Security/SL3_SecurityCurrent.cpp \ - Security/SL3_SecurityCurrent_Impl.cpp \ - Security/SL3_SecurityManager.cpp \ - Security/Security_Current.cpp \ - Security/Security_Current_Impl.cpp \ - Security/Security_ORBInitializer.cpp \ - Security/Security_PolicyFactory.cpp \ - SecurityC.cpp \ - SecurityLevel1C.cpp \ - SecurityLevel1S.cpp \ - SecurityLevel2C.cpp \ - SecurityLevel2S.cpp \ - SecurityLevel3C.cpp \ - SecurityS.cpp - -libTAO_Security_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ - -libTAO_Security_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS += \ - CSI.idl \ - CSIC.h \ - CSIC.inl \ - CSIIOP.idl \ - CSIIOPC.h \ - CSIIOPC.inl \ - CSIIOPS.inl \ - CSIIOPS_T.inl \ - CSIS.inl \ - CSIS_T.inl \ - GSSUP.idl \ - GSSUPC.h \ - GSSUPC.inl \ - GSSUPS.inl \ - GSSUPS_T.inl \ - Security.idl \ - Security/CSI_Utils.h \ - Security/SL2_EstablishTrustPolicy.h \ - Security/SL2_QOPPolicy.h \ - Security/SL3_ContextEstablishmentPolicy.h \ - Security/SL3_CredentialsAcquirerFactory.h \ - Security/SL3_CredentialsCurator.h \ - Security/SL3_ObjectCredentialsPolicy.h \ - Security/SL3_PolicyFactory.h \ - Security/SL3_SecurityCurrent.h \ - Security/SL3_SecurityCurrent.inl \ - Security/SL3_SecurityCurrent_Impl.h \ - Security/SL3_SecurityManager.h \ - Security/Security_Current.h \ - Security/Security_Current.inl \ - Security/Security_Current_Impl.h \ - Security/Security_ORBInitializer.h \ - Security/Security_PolicyFactory.h \ - Security/security_export.h \ - SecurityC.h \ - SecurityC.inl \ - SecurityLevel1.idl \ - SecurityLevel1C.h \ - SecurityLevel1C.inl \ - SecurityLevel1S.h \ - SecurityLevel1S.inl \ - SecurityLevel1S_T.cpp \ - SecurityLevel1S_T.inl \ - SecurityLevel2.idl \ - SecurityLevel2C.h \ - SecurityLevel2C.inl \ - SecurityLevel2S.h \ - SecurityLevel2S.inl \ - SecurityLevel2S_T.cpp \ - SecurityLevel2S_T.inl \ - SecurityLevel3.idl \ - SecurityLevel3C.h \ - SecurityLevel3C.inl \ - SecurityLevel3S.inl \ - SecurityLevel3S_T.inl \ - SecurityS.h \ - SecurityS.inl \ - SecurityS_T.cpp \ - SecurityS_T.inl - -endif BUILD_INTERCEPTORS -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - Security.rc - - -## Makefile.SSLIOP.am - -if BUILD_CORBA_MESSAGING -if BUILD_INTERCEPTORS -if BUILD_SSL -if !BUILD_ACE_FOR_TAO - -BUILT_SOURCES += \ - SSLIOPC.cpp \ - SSLIOPC.h \ - SSLIOPC.inl \ - SSLIOPS_T.cpp - -CLEANFILES += \ - SSLIOP-stamp \ - SSLIOPC.cpp \ - SSLIOPC.h \ - SSLIOPC.inl \ - SSLIOPS_T.cpp - -SSLIOPC.cpp SSLIOPC.h SSLIOPC.inl SSLIOPS_T.cpp: SSLIOP-stamp - -SSLIOP-stamp: $(srcdir)/SSLIOP.idl $(TAO_IDL_DEP) - $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs -GT -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -Wb,export_macro=TAO_SSLIOP_Export -Wb,export_include=orbsvcs/SSLIOP/SSLIOP_Export.h $(srcdir)/SSLIOP.idl - @touch $@ - -lib_LTLIBRARIES += libTAO_SSLIOP.la - -libTAO_SSLIOP_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(TAO_ROOT) \ - -I$(TAO_BUILDDIR) \ - -I$(TAO_ROOT)/orbsvcs \ - -I$(TAO_BUILDDIR)/orbsvcs \ - -DACE_HAS_SSL=1 \ - @ACE_TLS_CPPFLAGS@ \ - -DTAO_SSLIOP_BUILD_DLL - -libTAO_SSLIOP_la_SOURCES = \ - SSLIOP/IIOP_SSL_Acceptor.cpp \ - SSLIOP/IIOP_SSL_Connection_Handler.cpp \ - SSLIOP/IIOP_SSL_Connector.cpp \ - SSLIOP/IIOP_SSL_Transport.cpp \ - SSLIOP/SSLIOP_Accept_Strategy.cpp \ - SSLIOP/SSLIOP_Acceptor.cpp \ - SSLIOP/SSLIOP_ClientCredentials.cpp \ - SSLIOP/SSLIOP_Connection_Handler.cpp \ - SSLIOP/SSLIOP_Connector.cpp \ - SSLIOP/SSLIOP_Credentials.cpp \ - SSLIOP/SSLIOP_CredentialsAcquirer.cpp \ - SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp \ - SSLIOP/SSLIOP_Current.cpp \ - SSLIOP/SSLIOP_Current_Impl.cpp \ - SSLIOP/SSLIOP_EVP_PKEY.cpp \ - SSLIOP/SSLIOP_Endpoint.cpp \ - SSLIOP/SSLIOP_Factory.cpp \ - SSLIOP/SSLIOP_Invocation_Interceptor.cpp \ - SSLIOP/SSLIOP_ORBInitializer.cpp \ - SSLIOP/SSLIOP_OwnCredentials.cpp \ - SSLIOP/SSLIOP_Profile.cpp \ - SSLIOP/SSLIOP_TargetCredentials.cpp \ - SSLIOP/SSLIOP_Transport.cpp \ - SSLIOP/SSLIOP_Util.cpp \ - SSLIOP/params_dup.c \ - SSLIOP/ssl_endpointsC.cpp \ - SSLIOPC.cpp - -libTAO_SSLIOP_la_LDFLAGS = \ - -version-number @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@ @ACE_TLS_LDFLAGS@ - -libTAO_SSLIOP_la_LIBADD = \ - $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \ - $(ACE_BUILDDIR)/ace/SSL/libACE_SSL.la \ - libTAO_Security.la \ - $(TAO_BUILDDIR)/tao/libTAO_PI.la \ - $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \ - $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \ - $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \ - $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \ - $(TAO_BUILDDIR)/tao/libTAO.la \ - $(ACE_BUILDDIR)/ace/libACE.la \ - @ACE_TLS_LIBS@ - -nobase_include_HEADERS += \ - SSLIOP.idl \ - SSLIOP/IIOP_SSL_Acceptor.h \ - SSLIOP/IIOP_SSL_Connection_Handler.h \ - SSLIOP/IIOP_SSL_Connection_Handler.inl \ - SSLIOP/IIOP_SSL_Connector.h \ - SSLIOP/IIOP_SSL_Transport.h \ - SSLIOP/SSLIOP_Accept_Strategy.h \ - SSLIOP/SSLIOP_Acceptor.h \ - SSLIOP/SSLIOP_Acceptor.i \ - SSLIOP/SSLIOP_ClientCredentials.h \ - SSLIOP/SSLIOP_Connection_Handler.h \ - SSLIOP/SSLIOP_Connection_Handler.i \ - SSLIOP/SSLIOP_Connector.h \ - SSLIOP/SSLIOP_Credentials.h \ - SSLIOP/SSLIOP_Credentials.inl \ - SSLIOP/SSLIOP_CredentialsAcquirer.h \ - SSLIOP/SSLIOP_CredentialsAcquirerFactory.h \ - SSLIOP/SSLIOP_Current.h \ - SSLIOP/SSLIOP_Current.inl \ - SSLIOP/SSLIOP_Current_Impl.h \ - SSLIOP/SSLIOP_Current_Impl.inl \ - SSLIOP/SSLIOP_EVP_PKEY.h \ - SSLIOP/SSLIOP_Endpoint.h \ - SSLIOP/SSLIOP_Endpoint.i \ - SSLIOP/SSLIOP_Export.h \ - SSLIOP/SSLIOP_Factory.h \ - SSLIOP/SSLIOP_Invocation_Interceptor.h \ - SSLIOP/SSLIOP_ORBInitializer.h \ - SSLIOP/SSLIOP_OpenSSL_st_T.h \ - SSLIOP/SSLIOP_OpenSSL_st_T.inl \ - SSLIOP/SSLIOP_OwnCredentials.h \ - SSLIOP/SSLIOP_Profile.h \ - SSLIOP/SSLIOP_SSL.h \ - SSLIOP/SSLIOP_TargetCredentials.h \ - SSLIOP/SSLIOP_Transport.h \ - SSLIOP/SSLIOP_Util.h \ - SSLIOP/SSLIOP_X509.h \ - SSLIOP/params_dup.h \ - SSLIOP/ssl_endpoints.pidl \ - SSLIOP/ssl_endpointsC.h \ - SSLIOPC.h \ - SSLIOPC.inl - -endif !BUILD_ACE_FOR_TAO -endif BUILD_SSL -endif BUILD_INTERCEPTORS -endif BUILD_CORBA_MESSAGING - -EXTRA_DIST += \ - SSLIOP.rc - - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/TAO/orbsvcs/orbsvcs/Metrics.idl b/TAO/orbsvcs/orbsvcs/Metrics.idl deleted file mode 100644 index 00e87c7f87a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics.idl +++ /dev/null @@ -1,331 +0,0 @@ -// $Id$ - -#ifndef METRICS_IDL -#define METRICS_IDL - -#include "TimeBase.idl" -#include "RtecScheduler.idl" -#pragma prefix "" - -module Metrics -{ - // Types - - enum TIMEPROBE_EVENT_TYPE - { - WORK_START, - WORK_STOP, - WORK_SUSPEND, - WORK_RESUME - }; - - typedef TIMEPROBE_EVENT_TYPE TIMEPROBE_EVENT_TYPE_t; - - typedef TimeBase::TimeT Time; // time type - typedef sequence Handle_Set_t; // handle sequence - - struct QoSParameter_t - // = TITLE - // Describes the monitored QoS for an "RT_Operation". - // - // = DESCRIPTION - // The deadline success and failure counts for an operation. - { - RtecScheduler::handle_t handle; - // The handle of the operation for which the information is stored - - string entry_point; - // The name of the operation for which the information is stored - - unsigned long deadlines_made; - // The number of deadlines successfully met. - - unsigned long deadlines_missed; - // The number of deadlines missed. - - unsigned long operations_cancelled; - // The number of operations cancelled. - - short is_hrt; - // Indicates whether or not the operation is hard real-time. - }; - - typedef sequence QoSParameter_Set; - - - struct QoSData - // = TITLE - // Describes the monitored QoS for the visualization browser. - // - // = DESCRIPTION - // Aggregate success, failure, and cancellation counts the operations. - { - long hrt_deadlines_made; - // The number of hard real-time deadlines successfully met. - - long hrt_deadlines_missed; - // The number of hard real-time deadlines missed. - - long hrt_operations_cancelled; - // The number of hard real-time operations that were cancelled. - - long srt_deadlines_made; - // The number of soft real-time deadlines successfully met. - - long srt_deadlines_missed; - // The number of soft real-time deadlines missed. - - long srt_operations_cancelled; - // The number of soft real-time operations that were cancelled. - }; - - struct UtilData - // = TITLE - // Describes the monitored QoS for the visualization browser. - // - // = DESCRIPTION - // Aggregate success, failure, and cancellation counts the operations. - { - double hrt_op_utilization; - // The percentage of the time spent in hard real-time operations. - - double srt_op_utilization; - // The percentage of the time spent in soft real-time operations. - - double queue_utilization; - // The percentage of the time spent managing queues. - }; - - struct ProbeIdentity_t - // = TITLE - // Describes the identity of a timeprobe. - // - // = DESCRIPTION - // The name and identifier for a timeprobe. - { - unsigned long probe_id; - // The unique identifier for the timeprobe. - - string probe_name; - // The name of the timeprobe. - }; - - typedef sequence ProbeIdentity_Set; - - struct TimeprobeParameter_t - // = TITLE - // Describes the monitored data for a timeprobe. - // - // = DESCRIPTION - // The duration of an interval for a timeprobe. - { - unsigned long probe_id; - // The name of the timeprobe that collected the data. - - short is_operation; - // Indicates whether or not the data are for an operation. - - short is_hrt; - // Indicates whether or not an operation is hard real-time. - - short is_full_interval; - // Indicates whether or not the time reported is for the entire - // interval measured by the time probe. - - short cross_thread_probe; - // Indicates whether or not the time reported is for the entire - // interval measured by the time probe. - - Time start_event_time; - // The start of the event for sorting purposes. - - Time stop_event_time; - // The start of the event for sorting purposes. - - Time interval; - // The elapsed time within the timeprobe. - }; - - typedef sequence TimeprobeParameter_Set; - - - // Exceptions - - exception SYNCHRONIZATION {}; - // A synchronization error occurred in a method. - - exception INTERNAL {}; - // An error occurred in an internal data structure. - - exception INTERNAL_0 {}; - exception INTERNAL_1 {}; - exception INTERNAL_2 {}; - exception INTERNAL_3 {}; - exception INTERNAL_4 {}; - exception INTERNAL_5 {}; - exception INTERNAL_6 {}; - exception INTERNAL_7 {}; - exception INTERNAL_8 {}; - // These are to track down an infrequently reproducible - // error, and should be removed eventually. - - exception NIL_LOGGER {}; - // An operation was passed a nil logger pointer. - - // Interfaces - - interface QoSLogger - // = TITLE - // This interface provides access to a QoS logger. - // - // = DESCRIPTION - // This interface allows clients log monitored QoS information. - { - oneway void send_banner (in string banner); - // Sends a banner to the logger, which is recorded in the - // output log and communicated to the visualization browser. - - oneway void log_aggregate_QoS (in Metrics::QoSParameter_Set qos_set, - in Time interval); - // Reports the aggregate QoS information for all operations - // to the passed QoS logger. - - oneway void set_identities (in Metrics::ProbeIdentity_Set identity_set); - // Binds the names of various timeprobes to their identifiers so - // that ids alone can be used (for efficiency) in passing data. - - oneway void set_identity (in Metrics::ProbeIdentity_t identity); - // Binds the names of various timeprobes to their identifiers so - // that ids alone can be used (for efficiency) in passing data. - - oneway void log_timeprobe_data (in Metrics::TimeprobeParameter_Set data_set, - in Time interval); - // Reports timeprobe data collected since last run. - }; - - - interface QoSMonitor - // = TITLE - // This interface provides access to a QoS data monitor. - // - // = DESCRIPTION - // This interface allows objects to store and query monitored - // QoS information. - { - void report_made_deadline (in RtecScheduler::handle_t handle) - raises (INTERNAL_0); - // Report a successful upcall. - - void report_missed_deadline (in RtecScheduler::handle_t handle) - raises (INTERNAL_1); - // Report an unsuccessful upcall. - - void reset_statistics (in RtecScheduler::handle_t handle) - raises (INTERNAL_7, INTERNAL_8); - // Resets the aggregate QoS information for the given - // operation handle. - - void get_aggregate_QoS (in RtecScheduler::handle_t handle, - out Metrics::QoSParameter_t qos) - raises (INTERNAL_2, INTERNAL_3); - // Retrieves the aggregate QoS information for the given - // operation handle. - - void get_aggregate_QoS_set (in Metrics::Handle_Set_t handle_set, - out Metrics::QoSParameter_Set qos_set) - raises (INTERNAL_4, INTERNAL_5); - // Retrieves the aggregate QoS information for all operations - // in the passed handle set. - }; - - - interface ReportingQoSMonitor : QoSMonitor - // = TITLE - // This interface provides access to a QoS data monitor. - // - // = DESCRIPTION - // This interface allows objects to report monitored - // QoS information to a QoS logger. - { - void report_aggregate_QoS (in Metrics::QoSLogger logger, - in Metrics::Time interval) - raises (NIL_LOGGER, INTERNAL_6); - // Reports the aggregate QoS information for all operations - // to the passed QoS logger. - }; - - interface FrameManager - // = TITLE - // This interface provides access to a QoS data monitor. - // - // = DESCRIPTION - // This interface allows objects to query or report monitored - // QoS information that was collected by QoS monitoring adapters. - { - short register_period (in RtecScheduler::Period_t p) - raises (INTERNAL, SYNCHRONIZATION); - // Binds the period to the internal frame map, with a new frame data - // structure. Returns 0 if a new entry is bound successfully, - // returns 1 if an attempt is made to bind an existing entry, and - // returns -1 if failures occur. - - short update_all_frames_with_time (in Time tv) - raises (SYNCHRONIZATION); - // Updates time frames, based on the passed time value. - - short update_all_frames () - raises (SYNCHRONIZATION); - // Updates time frames, based on the current time as of the call. - - short update_frame_with_time (in RtecScheduler::Period_t p, in Time tv) - raises (INTERNAL, SYNCHRONIZATION); - // Updates the passed period's time frame, based on the passed time - // value. - - short update_frame (in RtecScheduler::Period_t p) - raises (INTERNAL, SYNCHRONIZATION); - // Updates the passed period's time frame, based on the current time - // as of the call. - - short reset_all_frames_with_time (in Time tv) - raises (SYNCHRONIZATION); - // Resets time frames, based on the passed time value. - - short reset_all_frames () - raises (SYNCHRONIZATION); - // Resets time frames, based on the current time as of the call. - - short reset_frame_with_time (in RtecScheduler::Period_t p, in Time tv) - raises (INTERNAL, SYNCHRONIZATION); - // Resets the passed period's start-of-frame, based on the passed time - // value. - - short reset_frame (in RtecScheduler::Period_t p) - raises (INTERNAL, SYNCHRONIZATION); - // Resets the passed period's start-of-frame, based on the current time - // as of the call. - - short get_start_time (in RtecScheduler::Period_t p, out Time start) - raises (INTERNAL, SYNCHRONIZATION); - // Gets the start time for the period's current frame. - - short get_end_time (in RtecScheduler::Period_t p, out Time end) - raises (INTERNAL, SYNCHRONIZATION); - // Gets the end time for the period's current frame. - - short get_frame_id (in RtecScheduler::Period_t p, out unsigned long id) - raises (INTERNAL, SYNCHRONIZATION); - // Gets the locally unique identifier for the period's current frame. - - short get_frame_data (in RtecScheduler::Period_t p, out Time start, - out Time end, out unsigned long id) - raises (INTERNAL, SYNCHRONIZATION); - // Gets the start time, end time, and id for the period's current frame. - }; - -}; - -#endif /* METRICS_IDL */ - - - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.cpp deleted file mode 100644 index 42663238c81..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#ifndef METRICS_FRAME_MANAGER_CPP -#define METRICS_FRAME_MANAGER_CPP - -#include "orbsvcs/Metrics/Metrics_FrameManager.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_FrameManager.i" -#endif /* __ACE_INLINE__ */ - - -#endif /* METRICS_FRAME_MANAGER_CPP */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.h deleted file mode 100644 index 689ed44ee6f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.h +++ /dev/null @@ -1,37 +0,0 @@ -// $Id$ - -#ifndef METRICS_FRAME_MANAGER_H -#define METRICS_FRAME_MANAGER_H - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Hash_Map_Manager.h" -#include "ace/Singleton.h" - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/RtecSchedulerC.h" - -#include "orbsvcs/Metrics/Metrics_Utils.h" - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_FrameManager.i" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/Metrics/Metrics_FrameManager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Metrics_FrameManager -TAO_METRICS_FRAME_MGR_TYPE; - -typedef ACE_Singleton -TAO_METRICS_FRAME_MGR_SINGLETON; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* METRICS_FRAME_MANAGER_H */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.i deleted file mode 100644 index bb47ba99272..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.i +++ /dev/null @@ -1,9 +0,0 @@ -// $Id$ - -#ifndef METRICS_FRAME_MANAGER_I -#define METRICS_FRAME_MANAGER_I - - - -#endif /* METRICS_FRAME_MANAGER_I */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.cpp deleted file mode 100644 index d8ff5ef8e8b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#ifndef METRICS_FRAME_MANAGER_T_CPP -#define METRICS_FRAME_MANAGER_T_CPP - -#include "orbsvcs/Metrics/Metrics_FrameManager_T.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_FrameManager_T.i" -#endif /* __ACE_INLINE__ */ - - -#endif /* METRICS_FRAME_MANAGER_T_CPP */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.h deleted file mode 100644 index a3226d8647c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.h +++ /dev/null @@ -1,277 +0,0 @@ -// $Id$ - -#ifndef METRICS_FRAME_MANAGER_T_H -#define METRICS_FRAME_MANAGER_T_H - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Hash_Map_Manager.h" -#include "ace/High_Res_Timer.h" - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/MetricsS.h" - -#include "orbsvcs/Metrics/Metrics_FrameManager.h" - - -template -struct TAO_Metrics_Frame_Manager_Data -{ - // = TITLE - // Defines a class for time frame management data. - // - // = DESCRIPTION - // This class makes use of the class to - // store period and endpoint data for a given time frame. - -public: - - TAO_Metrics_Frame_Manager_Data (RtecScheduler::Period_t p) - : frame_id_ (0), period_ (0, p / 10) {} - // Constructor. Note that p is in hundreds of nanoseconds so we - // divide by ten to get microseconds. The start_ and end_ data - // members are set equal to ACE_Time_Value::zero by their own - // default constructors. - - CORBA::ULong frame_id_; - // Stores the number of previous frames for that period. May roll - // over, but is intended to provide a locally (for a large range of - // locality) unique frame identifier. - - ACE_Time_Value period_; - // Relative time to the next frame, from the start of this one. - - ACE_Time_Value start_; - // Absolute time of the start of the frame and end of the last. - - ACE_Time_Value end_; - // Absolute time to the end of the frame and start of the next. - - ACE_LOCK lock_; - // Lock for synchronizing access to the data instance. -}; - - -template -class TAO_Metrics_FrameManager : public POA_Metrics::FrameManager - -{ - // = TITLE - // Defines a class that implements a local metrics cache. - // - // = DESCRIPTION - // This class makes use of the class to - // implement a cache for local use. -public: - - typedef TAO_Metrics_FrameManager TAO_METRICS_FRAME_MANAGER_TYPE; - typedef TAO_Metrics_Frame_Manager_Data TAO_METRICS_FRAME_MANAGER_DATA_TYPE; - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_Null_Mutex> METRICS_FRAME_DATA_MAP; - // Type of map used for O(1) lookup of monitored data for operations. - - typedef ACE_Hash_Map_Entry - METRICS_FRAME_DATA_MAP_ENTRY; - // Type of entry in monitor map. - - typedef ACE_Hash_Map_Iterator_Ex, - ACE_Equal_To, - ACE_Null_Mutex> - METRICS_FRAME_DATA_MAP_ITERATOR; - // Type of iterator for monitor map. - - TAO_Metrics_FrameManager (); - // Constructor. - - ~TAO_Metrics_FrameManager (); - // Destructor. - - CORBA::Short register_period (RtecScheduler::Period_t p, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Binds the period to the internal frame map, with a new frame data - // structure. Returns 0 if a new entry is bound successfully, - // returns 1 if an attempt is made to bind an existing entry, and - // returns -1 if failures occur. - - CORBA::Short update_all_frames (const ACE_Time_Value& tv); - // Updates time frames, based on the passed time value. - - CORBA::Short update_all_frames_with_time (Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)); - // Updates time frames, based on the passed time value. - - CORBA::Short update_all_frames (CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)); - // Updates time frames, based on the current time as of the call. - - CORBA::Short update_frame (RtecScheduler::Period_t p, const ACE_Time_Value& tv); - // Updates the passed period's time frame, based on the passed time - // value. - - CORBA::Short update_frame_with_time (RtecScheduler::Period_t p, - Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Updates the passed period's time frame, based on the passed time - // value. - - CORBA::Short update_frame (RtecScheduler::Period_t p, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Updates the passed period's time frame, based on the current time - // as of the call. - - CORBA::Short reset_all_frames (const ACE_Time_Value& tv); - // Resets time frames, based on the passed time value. - - CORBA::Short reset_all_frames_with_time (Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)); - // Resets time frames, based on the passed time value. - - CORBA::Short reset_all_frames (CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)); - // Resets time frames, based on the current time as of the call. - - CORBA::Short reset_frame (RtecScheduler::Period_t p, const ACE_Time_Value& tv); - // Resets the passed period's start-of-frame, based on the passed time - // value. - - CORBA::Short reset_frame_with_time (RtecScheduler::Period_t p, - Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Resets the passed period's start-of-frame, based on the passed time - // value. - - CORBA::Short reset_frame (RtecScheduler::Period_t p, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Resets the passed period's start-of-frame, based on the current time - // as of the call. - - CORBA::Short get_start_time (RtecScheduler::Period_t p, ACE_Time_Value &start); - // Gets the start time for the period's current frame. - - CORBA::Short get_start_time (RtecScheduler::Period_t p, - Metrics::Time &start, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Gets the start time for the period's current frame. - - CORBA::Short get_end_time (RtecScheduler::Period_t p, ACE_Time_Value &end); - // Gets the end time for the period's current frame. - - CORBA::Short get_end_time (RtecScheduler::Period_t p, - Metrics::Time &end, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Gets the end time for the period's current frame. - - CORBA::Short get_frame_id (RtecScheduler::Period_t p, - CORBA::ULong &id, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Gets the locally unique identifier for the period's current frame. - - CORBA::Short get_frame_data (RtecScheduler::Period_t p, ACE_Time_Value &start, - ACE_Time_Value &end, CORBA::ULong &id); - // Gets the start time, end time, and id period's current frame. - - CORBA::Short get_frame_data (RtecScheduler::Period_t p, - Metrics::Time &start, - Metrics::Time &end, - CORBA::ULong &id, - CORBA::Environment &ACE_TRY_ENV - = CORBA::Environment::default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)); - // Gets the start time, end time, and id period's current frame. - -protected: - - CORBA::Short update_data (TAO_Metrics_Frame_Manager_Data & data, - const ACE_Time_Value& tv); - // Updates the passed frame data structure's start and end times, - // based on the passed time value. This is a protected internal - // method, and should only be called with locks already held. - - - CORBA::Short reset_data (TAO_Metrics_Frame_Manager_Data & data, - const ACE_Time_Value& tv); - // Resets the passed frame data structure's start and end times, to - // the passed time value and one period later, respectively. This - // is a protected internal method, and should only be called with - // locks already held. - - METRICS_FRAME_DATA_MAP frame_data_map_; - // Maps periods to frame data. - - // Count of the number of registered periods. - u_long period_count_; - - ACE_LOCK lock_; - // Lock for synchronizing access to the map. -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Metrics/Metrics_FrameManager_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Metrics_FrameManager_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_FrameManager_T.i" -#endif /* __ACE_INLINE__ */ - -#endif /* METRICS_FRAME_MANAGER_T_H */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.i deleted file mode 100644 index a14671b359e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_FrameManager_T.i +++ /dev/null @@ -1,821 +0,0 @@ -// $Id$ - -#ifndef METRICS_FRAME_MANAGER_T_I -#define METRICS_FRAME_MANAGER_T_I - - -//////////////////////////////////// -// Class TAO_Metrics_FrameManager // -//////////////////////////////////// - - -// Default constructor. - -template -ACE_INLINE -TAO_Metrics_FrameManager:: -TAO_Metrics_FrameManager () - : period_count_ (0) -{ - // Ensure that the high res timer global scale factor - // is set before any of its static methods are used - ACE_High_Res_Timer::global_scale_factor (); -} - -// Destructor. Note: this is *not* thread safe. If we're destroying -// the frame manager then there had better not be any threads in the -// manager anyway. If a use case requires thread safety at -// destruction, then some kind of external reader-writer locking and -// barrier synchronization scheme will be needed to make this work -// efficiently. - -template -ACE_INLINE -TAO_Metrics_FrameManager:: -~TAO_Metrics_FrameManager () -{ - // Iterate through and delete the data structures in the map - METRICS_FRAME_DATA_MAP_ITERATOR iter (frame_data_map_); - while (iter.done () == 0) - { - delete (*iter).int_id_; - ++iter; - } -} - - -// Binds the period to the internal frame map, with a new frame data -// structure. Returns 0 if a new entry is bound successfully, returns -// 1 if an attempt is made to bind an existing entry, and returns -1 -// if failures occur. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -register_period (RtecScheduler::Period_t p, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case: no need to register, but - // no harm if someone tries. - if (p == 0) - { - return 0; - } - - // Synchronize read/write access to the map while the new period's - // frame is being installed. - ACE_Write_Guard mon (this->lock_); - if (mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - int result = 0; - TAO_Metrics_Frame_Manager_Data * data = 0; - if (frame_data_map_.find (p) != 0) - { - ACE_NEW_RETURN (data, TAO_Metrics_Frame_Manager_Data (p), -1); - result = frame_data_map_.trybind (p, data); - if (result == 0) - { - // All is well: count the new period. - ++period_count_; - } - else - { - delete data; - - // We failed to bind: throw an exception. - ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - } - } - - return result; -} - -// Updates time frames, based on the passed time value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_all_frames (const ACE_Time_Value& tv) -{ - // Synchronize read/write access to the map while the new frames are - // being computed. - ACE_Write_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - METRICS_FRAME_DATA_MAP_ITERATOR iter (frame_data_map_); - while (iter.done () == 0) - { - update_data (*((*iter).int_id_), tv); - ++iter; - } - return 0; -} - - -// Updates time frames, based on the passed time value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_all_frames_with_time (Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)) -{ - // Reentrant method that calls locked method. - ACE_Time_Value tv; - ORBSVCS_Time::TimeT_to_Time_Value(tv, mt); - if (this->update_all_frames (tv) < 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - return 0; -} - -// Updates time frames, based on the current time as of the call. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_all_frames (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)) -{ - // Synchronize read/write access to the map while the new frames are - // being computed. - ACE_Write_Guard mon (this->lock_); - if (mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - METRICS_FRAME_DATA_MAP_ITERATOR iter (frame_data_map_); - - // Grab the common time stamp as late as possible, i.e., after all - // locks are held. - ACE_Time_Value tv; - ACE_hrtime_t hrtime_now = ACE_OS::gethrtime (); - ACE_High_Res_Timer::hrtime_to_tv (tv, hrtime_now); - - while (iter.done () == 0) - { - update_data (*((*iter).int_id_), tv); - ++iter; - } - return 0; -} - - -// Updates the passed period's time frame, based on the passed time -// value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_frame (RtecScheduler::Period_t p, const ACE_Time_Value& tv) -{ - // Treat a zero period as a special case. - if (p == 0) - { - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during pointer lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize read/write access to the specific data structure - // instance during update - ACE_Write_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - return -1; - } - return update_data (*data, tv); - } - - return -2; -} - -// Updates the passed period's time frame, based on the passed time -// value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_frame_with_time (RtecScheduler::Period_t p, Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - return 0; - } - - // Reentrant method that calls locked method. - ACE_Time_Value tv; - ORBSVCS_Time::TimeT_to_Time_Value(tv, mt); - switch (this->update_frame (p, tv)) - { - case -1: ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - case -2: ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - default: return 0; - } -} - - -// Updates the passed period's time frame, based on the current time -// as of the call. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_frame (RtecScheduler::Period_t p, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during pointer lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize read/write access to the specific data structure instance during - // update - ACE_Write_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - // Grab the time stamp as late as possible, i.e., after all locks - // are held. - ACE_Time_Value tv; - ACE_hrtime_t hrtime_now = ACE_OS::gethrtime (); - ACE_High_Res_Timer::hrtime_to_tv (tv, hrtime_now); - - return update_data (*data, tv); - } - - ACE_THROW_RETURN (Metrics::INTERNAL (), -1); -} - - -// Resets time frames, based on the passed time value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_all_frames (const ACE_Time_Value& tv) -{ - // Synchronize read/write access to the map during the reset - ACE_Write_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - METRICS_FRAME_DATA_MAP_ITERATOR iter (frame_data_map_); - while (iter.done () == 0) - { - reset_data (*((*iter).int_id_), tv); - ++iter; - } - return 0; -} - - -// Resets time frames, based on the passed time value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_all_frames_with_time (Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)) -{ - // Reentrant method that calls locked method. - ACE_Time_Value tv; - ORBSVCS_Time::TimeT_to_Time_Value(tv, mt); - if (this->reset_all_frames (tv) < 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - return 0; -} - -// Resets time frames, based on the current time as of the call. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_all_frames (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::SYNCHRONIZATION)) -{ - // Synchronize read/write access to the map during the reset - ACE_Write_Guard mon (this->lock_); - if (mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - METRICS_FRAME_DATA_MAP_ITERATOR iter (frame_data_map_); - - // Grab the time stamp as late as possible, i.e., after all locks - // are held. - ACE_Time_Value tv; - ACE_hrtime_t hrtime_now = ACE_OS::gethrtime (); - ACE_High_Res_Timer::hrtime_to_tv (tv, hrtime_now); - - while (iter.done () == 0) - { - reset_data (* ((*iter).int_id_), tv); - ++iter; - } - return 0; -} - - -// Resets the passed period's start-of-frame, based on the passed time -// value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_frame (RtecScheduler::Period_t p, const ACE_Time_Value& tv) -{ - // Treat a zero period as a special case. - if (p == 0) - { - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize read/write access to the individual data - // structure instance during reset - ACE_Write_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - return -1; - } - - return reset_data (*data, tv); - } - - return -2; -} - -// Resets the passed period's start-of-frame, based on the passed time -// value. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_frame_with_time (RtecScheduler::Period_t p, Metrics::Time mt, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - return 0; - } - - // Reentrant method that calls locked method. - ACE_Time_Value tv; - ORBSVCS_Time::TimeT_to_Time_Value(tv, mt); - switch (this->reset_frame (p, tv)) - { - case -1: ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - case -2: ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - default: return 0; - } -} - - -// Resets the passed period's start-of-frame, based on the current -// time as of the call. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_frame (RtecScheduler::Period_t p, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize read/write access to the individual data - // structure instance during reset - ACE_Write_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - // Grab the time stamp as late as possible, i.e., after all locks - // are held. - ACE_Time_Value tv; - ACE_hrtime_t hrtime_now = ACE_OS::gethrtime (); - ACE_High_Res_Timer::hrtime_to_tv (tv, hrtime_now); - - if (data == 0) - { - ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - } - - return reset_data (*data, tv); - } - - ACE_THROW_RETURN (Metrics::INTERNAL (), -1); -} - - -// Gets the start time for the period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_start_time (RtecScheduler::Period_t p, ACE_Time_Value &start) -{ - // Treat a zero period as a special case. - if (p == 0) - { - start = ACE_Time_Value::zero; - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize write access to the individual data structure instance - ACE_Read_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - return -1; - } - - start.set (data->start_.sec (), data->start_.usec ()); - return 0; - } - - return -2; -} - -// Gets the start time for the period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_start_time (RtecScheduler::Period_t p, Metrics::Time &start, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - start = 0; - return 0; - } - - // Reentrant method that calls locked method. - ACE_Time_Value tv; - switch (this->get_start_time (p, tv)) - { - case -1: ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - case -2: ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - default: ORBSVCS_Time::Time_Value_to_TimeT (start, tv); - return 0; - } -} - - -// Gets the end time for the period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_end_time (RtecScheduler::Period_t p, ACE_Time_Value &end) -{ - // Treat a zero period as a special case. - if (p == 0) - { - end = ACE_Time_Value::zero; - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data = 0; - - // Synchronize write access to the map during lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize write access to the individual data structure instance - ACE_Read_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - return -1; - } - - end.set (data->end_.sec (), data->end_.usec ()); - return 0; - } - - return -2; -} - - -// Gets the end time for the period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_end_time (RtecScheduler::Period_t p, Metrics::Time &end, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - end = 0; - return 0; - } - - // Reentrant method that calls locked method. - ACE_Time_Value tv; - switch (this->get_end_time (p, tv)) - { - case -1: ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - case -2: ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - default: ORBSVCS_Time::Time_Value_to_TimeT (end, tv); - return 0; - } -} - -// Gets the locally unique identifier for the period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_frame_id (RtecScheduler::Period_t p, - CORBA::ULong &id, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - id = 0; - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize write access to the individual data structure instance - ACE_Read_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - } - - id = data->frame_id_; - return 0; - } - - ACE_THROW_RETURN (Metrics::INTERNAL (), -1); -} - - -// Gets the start time, end time, and id period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_frame_data (RtecScheduler::Period_t p, ACE_Time_Value &start, - ACE_Time_Value &end, CORBA::ULong &id) -{ - // Treat a zero period as a special case. - if (p == 0) - { - start = ACE_Time_Value::zero; - end = ACE_Time_Value::zero; - id = 0; - return 0; - } - - TAO_Metrics_Frame_Manager_Data * data; - - // Synchronize write access to the map during lookup only - ACE_Read_Guard mon (this->lock_); - if (mon.locked () == 0) - { - return -1; - } - - if (frame_data_map_.find (p, data) == 0 && data != 0) - { - mon.release (); - - // Synchronize write access to the individual data structure instance - ACE_Read_Guard data_mon (data->lock_); - if (data_mon.locked () == 0) - { - return -1; - } - - start.set (data->start_.sec (), data->start_.usec ()); - end.set (data->end_.sec (), data->end_.usec ()); - id = data->frame_id_; - return 0; - } - - return -2; -} - - - -// Gets the start time, end time, and id period's current frame. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -get_frame_data (RtecScheduler::Period_t p, Metrics::Time &start, - Metrics::Time &end, CORBA::ULong &id, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL, - Metrics::SYNCHRONIZATION)) -{ - // Treat a zero period as a special case. - if (p == 0) - { - start = 0; - end = 0; - id = 0; - return 0; - } - - // Reentrant method that calls locked method. - ACE_Time_Value start_tv, end_tv; - switch (this->get_frame_data (p, start_tv, end_tv, id)) - { - case -1: ACE_THROW_RETURN (Metrics::SYNCHRONIZATION (), -1); - case -2: ACE_THROW_RETURN (Metrics::INTERNAL (), -1); - default: ORBSVCS_Time::Time_Value_to_TimeT (start, start_tv); - ORBSVCS_Time::Time_Value_to_TimeT (end, end_tv); - return 0; - } -} - - -// Updates the passed frame data structure's start and end times, -// based on the passed time value. This is a protected internal -// method, and should only be called with locks already held. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -update_data (TAO_Metrics_Frame_Manager_Data & data, const ACE_Time_Value& tv) -{ - if (data.end_ == ACE_Time_Value::zero) - { - return reset_data (data, tv); - } - - // Advance to the frame that encloses the passed time value. - while (data.end_ < tv) - { - data.end_ += data.period_; - ++data.frame_id_; - } - - data.start_.set (data.end_.sec (), data.end_.usec ()); - data.start_ -= data.period_; - return 0; -} - - -// Resets the passed frame data structure's start and end times, to -// the passed time value and one period later, respectively. This is -// a protected internal method, and should only be called with locks -// already held. - -template -ACE_INLINE CORBA::Short -TAO_Metrics_FrameManager:: -reset_data (TAO_Metrics_Frame_Manager_Data & data, const ACE_Time_Value& tv) -{ - data.start_.set (tv.sec (), tv.usec ()); - data.end_.set (tv.sec () + data.period_.sec (), - tv.usec () + data.period_.usec ()); - return 0; -} - - -#endif /* METRICS_FRAME_MANAGER_T_I */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.cpp deleted file mode 100644 index c1b7f9eb788..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// $Id$ - -#ifndef METRICS_LOCAL_CACHE_CPP -#define METRICS_LOCAL_CACHE_CPP - -#include "orbsvcs/Metrics/Metrics_LocalCache.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_LocalCache.i" -#endif /* __ACE_INLINE__ */ - -#endif /* METRICS_LOCAL_CACHE_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.h deleted file mode 100644 index 71fcb092381..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.h +++ /dev/null @@ -1,115 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#ifndef METRICS_LOCAL_CACHE_H -#define METRICS_LOCAL_CACHE_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Hash_Map_Manager.h" -#include "ace/Metrics_Cache.h" -#include "ace/Metrics_Cache_T.h" -#include "ace/Singleton.h" -#include "ace/Synch_Traits.h" -#include "ace/Thread_Mutex.h" - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/Scheduler_Factory.h" -#include "orbsvcs/MetricsC.h" - -#include "orbsvcs/Metrics/Metrics_Utils.h" - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - -#include "orbsvcs/Metrics/Metrics_LocalCache_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Metrics_LocalCache -TAO_METRICS_CACHE_TYPE; - -typedef ACE_Singleton -TAO_METRICS_CACHE_SINGLETON_TYPE; - -typedef TAO_Metrics_ReportingLocalCache -TAO_METRICS_REPORTING_CACHE_TYPE; - -typedef ACE_Singleton -TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE; - -#if defined (TAO_USES_REPORTING_METRICS) -typedef TAO_METRICS_REPORTING_CACHE_TYPE TAO_METRICS_CACHE; -typedef TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE TAO_METRICS_CACHE_SINGLETON; -#else -typedef TAO_METRICS_CACHE_TYPE TAO_METRICS_CACHE; -typedef TAO_METRICS_CACHE_SINGLETON_TYPE TAO_METRICS_CACHE_SINGLETON; -#endif - -/** - * NOTE: This is a simple macro which calls the appropriate registration function with the cache to - * store the data from this pointer. At the ACE level there is no need to give a PROBE_TYPE - * because there is only one probe type (ACE_Timeprobe). - * - * USAGE_LEVEL: TAO - * - * Q1: Where is this and the next macro used? One example is on TAO/orbsvcs/orbsvcs/Metrics. No where in the ace code. - * So is this a ACE or TAO macro? - * - * Q2: Is the function (register + METRICS_REGION) a ACE or TAO? - * A2: TAO. Define in Metrics_Local_Cache_T.h. The only METRICS_REGION that exists is 'base_metrics'. Used - * in $TAO_ROOT/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp - * - * @param METRICS_PTR - Initialized pointer to the Metrics_Cache. This pointer is used to register the probe - * with the associated cache. - * @param METIRCS_REGION - At present there is only one 'base_metrics'. - * @param PROBE_NAME - String name of the probe - * @param PROBE_TYPE - Unsigned integer representing the probe type - * @param METRICS_HANDLE - Variable used to contain the metrics probe handle that is the result of this function - * The type of the handle is a RtecScheduler::handle_t - */ -# define REGISTER_METRICS_PROBE_RETURN(METRICS_PTR,METRICS_REGION,PROBE_NAME,PROBE_TYPE,METRICS_HANDLE) \ -do { if((METRICS_PTR->metrics_enabled())) { \ -METRICS_HANDLE = METRICS_PTR-> \ -register_##METRICS_REGION ( \ -PROBE_NAME, \ -PROBE_TYPE); \ -} } while (0) - -/** - * Same as above but instead of just reporting information to a cache there is also reference to a Metrics_Loger (TAO feature). - * The logger is used to record the information. The type of probe is register with the logger - * - * USAGE_LEVEL: TAO - */ -# define REGISTER_METRICS_REPORTING_PROBE_RETURN(METRICS_PTR,METRICS_REGION,PROBE_NAME,PROBE_TYPE,METRICS_LOGGER_REF,METRICS_HANDLE) \ -do { if((METRICS_PTR->metrics_enabled())) { \ -METRICS_HANDLE = METRICS_PTR-> \ -register_##METRICS_REGION## ( \ -PROBE_NAME, \ -PROBE_TYPE, \ -METRICS_LOGGER_REF); \ -} } while (0) - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_LocalCache.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_ENABLE_TIMEPROBES && ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ - -#include /**/ "ace/post.h" - -#endif /* METRICS_LOCAL_CACHE_H */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.i deleted file mode 100644 index a9ccf1b5acd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.i +++ /dev/null @@ -1,10 +0,0 @@ -// $Id$ - -#ifndef METRICS_LOCAL_CACHE_I -#define METRICS_LOCAL_CACHE_I - -#endif /* METRICS_LOCAL_CACHE_I */ - - - - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.cpp deleted file mode 100644 index 2478ce10532..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.cpp +++ /dev/null @@ -1,488 +0,0 @@ -// $Id$ - -#ifndef METRICS_LOCAL_CACHE_T_CPP -#define METRICS_LOCAL_CACHE_T_CPP - -#include "orbsvcs/Metrics/Metrics_LocalCache_T.h" - -#if defined VXWORKS -#include -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////////////////////// -// Class TAO_Metrics_LocalTimeprobe // -////////////////////////////////////// - -// Default constructor. - -template -TAO_Metrics_LocalTimeprobe:: -TAO_Metrics_LocalTimeprobe (u_int id, - const char *name, - u_long size, - ALLOCATOR * alloc) - : ACE_Metrics_Timeprobe (alloc, id, name, size), - is_operation_ (0), - is_hrt_ (0), - data_set_ (0) -{ -} - -template -void -TAO_Metrics_LocalTimeprobe::report_intervals (int report_full_interval_times) -{ - u_long data_set_length = 0; - - // Modified by BRM. This should also work for ACE_Based_Pointer since the conversion - // operator should fire. - // Metrics::TimeprobeParameter_Set * data_set = data_set_.addr (); - Metrics::TimeprobeParameter_Set * data_set = data_set_; - - //ACE_Time_Value full_start_time (ACE_Time_Value::zero); - ACE_hrtime_t full_start_time = 0; - //ACE_Time_Value full_stop_time (ACE_Time_Value::zero); - ACE_hrtime_t full_stop_time = 0; - - if (!data_set) - { -#if defined (METRICS_CACHE_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_LocalTimeprobe::report_intervals:" - " no data set installed")); -#endif - return; - } - else - { - data_set_length = data_set->length (); - } - - if (this->current_size_ == 0 && this->report_buffer_full_ == 0) - return; - - u_long valid_intervals = 0; - int good_interval; - - // Note the case of current_size_ and report_buffer_full_ both being - // 0 was checked above, which simplifies this code. - // This logic make no sense to me. What are you going for here, Chris? - // If the buffer fills, then report_buffer_full == 1, and current size == 0. - // We always needs i to start at 0, though????? - // u_long i; - // i = (report_buffer_full_ == 0) ? 1 : this->current_size_; - u_long start_evt_ndx = 0; - u_long full_interval_start_evt_ndx = 0; - u_long full_interval_start_ndx_set = 0; - u_long stop_evt_ndx = 0; - short any_cross_thread_event = 0; - short is_cross_thread_event = 0; - do - { - // Begin a new interval at each successive start event. - if (is_event (this->timeprobes ()[start_evt_ndx], - ACE_Metrics_Timeprobe::WORK_START)) - { - // If we see the start event, then reset the cross thread indicator - is_cross_thread_event = 0; - - if (!full_interval_start_ndx_set) - { - full_interval_start_ndx_set = 1; - full_interval_start_evt_ndx = start_evt_ndx; - } - - // Accumulates elapsed time in the measured interval, taking - // into account paired suspend and resume markers. - ACE_Time_Value elapsed_time (ACE_Time_Value::zero); - - // Stores current start time: either from a start or resume event. - ACE_Time_Value start_time (this->timeprobes ()[start_evt_ndx].time_); - - // Check if this start time is less than the full interval for worse - // case time. - if (full_start_time == 0 || - this->timeprobes ()[start_evt_ndx].time_ < full_start_time) - { - full_start_time = this->timeprobes ()[start_evt_ndx].time_; - } - if (full_stop_time == 0 || - this->timeprobes ()[start_evt_ndx].time_ > full_stop_time) - { - full_stop_time = this->timeprobes ()[start_evt_ndx].time_; - } - - good_interval = 1; - - // Increment past the start event and start looking for the stop event - u_long stop_or_suspend_evt_ndx = (start_evt_ndx + 1) % this ->max_size_; // Modulus increment: loops around at the end. - do - { - // If the index is at the end, skip and exit the loop. - if (stop_or_suspend_evt_ndx == this->current_size_) - { - break; - } - - // This needs to be rethought... Events that occur across threads are a real thing. - // So for now, the behavior is to just indicate the events that are cross thread -// if (this->timeprobes ()[start_evt_ndx].thread_ != this->timeprobes ()[stop_or_suspend_evt_ndx].thread_) -// { -// stop_or_suspend_evt_ndx = (stop_or_suspend_evt_ndx + 1) % this ->max_size_; // Modulus increment: loops around at the end. -// continue; -// } - - // Check for the stop event - if (is_event (this->timeprobes ()[stop_or_suspend_evt_ndx], - ACE_Metrics_Timeprobe::WORK_STOP)) - { - ++valid_intervals; - - if (this->timeprobes ()[start_evt_ndx].thread_ != this->timeprobes ()[stop_or_suspend_evt_ndx].thread_) - { - // If any probe is cross, thread then the interval is cross thread. - any_cross_thread_event = 1; - - is_cross_thread_event = 1; - } - - // done this way for efficiency: no temporaries constructed - elapsed_time += this->timeprobes ()[stop_or_suspend_evt_ndx].time_; - elapsed_time -= start_time; - - // This doesn't make sense. Full start time better be the result of - // a start event. -// if (full_start_time == ACE_Time_Value::zero || -// this->timeprobes ()[j].time_ < full_start_time) -// { -// full_start_time.set (this->timeprobes()[j].time_.sec (), -// this->timeprobes()[j].time_.usec()); -// } - - if (full_stop_time == 0 || - this->timeprobes ()[stop_or_suspend_evt_ndx].time_ > full_stop_time) - { - full_stop_time = this->timeprobes()[stop_or_suspend_evt_ndx].time_; - } - - stop_evt_ndx = stop_or_suspend_evt_ndx; - // Increase the length of the data set and record - // the interval info. - ++data_set_length; - data_set->length (data_set_length); - (*(data_set))[data_set_length-1].is_full_interval = 0; - (*(data_set))[data_set_length-1].probe_id = this->id_; - (*(data_set))[data_set_length-1].is_operation = this->is_operation_; - (*(data_set))[data_set_length-1].is_hrt = this->is_hrt_; - (*(data_set))[data_set_length-1].cross_thread_probe = is_cross_thread_event; - ORBSVCS_Time::Time_Value_to_TimeT - ((*(data_set)) [data_set_length-1].start_event_time, - this->timeprobes ()[start_evt_ndx].time_); - ORBSVCS_Time::Time_Value_to_TimeT - ((*(data_set)) [data_set_length-1].stop_event_time, - this->timeprobes ()[stop_or_suspend_evt_ndx].time_); - ORBSVCS_Time::Time_Value_to_TimeT - ((*(data_set)) [data_set_length-1].interval, - elapsed_time); -#if defined (METRICS_CACHE_DEBUG_OUTPUT_ENABLED) - ACE_OS::printf (" %9lu\n", - (u_long) - ACE_U64_TO_U32((*(data_set)) - [data_set_length-1].interval - / 10)); -#endif - break; - } - - // If it wasn't a stop event, check for a suspend event -#if defined (ACE_HAS_METRICS_BASE_POINTERS) - else if (this->timeprobes ()[stop_or_suspend_evt_ndx].event_ == (u_long) - ACE_Metrics_Timeprobe::WORK_SUSPEND) -#else - else if (this->timeprobes ()[stop_or_suspend_evt_ndx].event_.event_number_ == (u_long) - ACE_Metrics_Timeprobe::WORK_SUSPEND) -#endif - { - u_long resume_evt_ndx = (stop_or_suspend_evt_ndx + 1) % this ->max_size_; // Modulus increment: loops around at the end. - do - { - // Skip until we reach the next event in the same thread, or if the - // index is at the end, skip and exit the loop. -// if (this->timeprobes ()[j].thread_ != this->timeprobes ()[k].thread_ -// || k == this->current_size_) -// { -// continue; -// } - - // If we saw a suspend event, the next event has to be a resume event - if (is_event (this->timeprobes ()[resume_evt_ndx], - ACE_Metrics_Timeprobe::WORK_RESUME)) - { - // Store the elapsed time between the last - // start and the suspend event. - elapsed_time += - this->timeprobes ()[stop_or_suspend_evt_ndx].time_ - start_time; - - // Update the start time to be that of the - // resume event. - start_time = this->timeprobes ()[resume_evt_ndx].time_; - - // This code doesn't make sense here. It always has to hit the stop to - // adjust the stop time. Anything else is a partial and invalid. -// if (full_start_time == ACE_Time_Value::zero || -// this->timeprobes ()[resume_evt_ndx].time_ < full_start_time) -// { -// full_start_time. -// set (this->timeprobes()[resume_evt_ndx].time_.sec (), -// this->timeprobes()[resume_evt_ndx].time_.usec ()); -// } -// if (full_stop_time == ACE_Time_Value::zero || -// this->timeprobes ()[resume_evt_ndx].time_ > full_stop_time) -// { -// full_stop_time. -// set (this->timeprobes()[resume_evt_ndx].time_.sec (), -// this->timeprobes()[resume_evt_ndx].time_.usec ()); -// } - - - // Keep looking for the end of the interval - // after the resume event. - stop_or_suspend_evt_ndx = resume_evt_ndx; - break; - } - else if (is_event (this->timeprobes ()[resume_evt_ndx], - ACE_Metrics_Timeprobe::WORK_START) || - is_event (this->timeprobes ()[resume_evt_ndx], - ACE_Metrics_Timeprobe::WORK_STOP) || - is_event (this->timeprobes ()[resume_evt_ndx], - ACE_Metrics_Timeprobe::WORK_SUSPEND)) - { - // Something went wrong during the current interval: - // just ignore the previous start time stamp. - good_interval = 0; - break; - } - - resume_evt_ndx = (resume_evt_ndx + 1) % this ->max_size_; // Modulus increment: loops around at the end. - - } while (resume_evt_ndx != this->current_size_); - } - - // If we got a start event, make sure that we don't see another start or resume - // until we see a stop or suspend event - else if (is_event (this->timeprobes ()[stop_or_suspend_evt_ndx], - ACE_Metrics_Timeprobe::WORK_START) || - is_event (this->timeprobes ()[stop_or_suspend_evt_ndx], - ACE_Metrics_Timeprobe::WORK_RESUME)) - { - // Something went wrong during the current interval: - // just ignore the previous start time stamp. - break; - } - - stop_or_suspend_evt_ndx = (stop_or_suspend_evt_ndx + 1) % this ->max_size_; // Modulus increment: loops around at the end. - - } while (stop_or_suspend_evt_ndx != this->current_size_ && good_interval); - - // If we found the stop of - start_evt_ndx = stop_or_suspend_evt_ndx; - } - - start_evt_ndx = (start_evt_ndx + 1) % this ->max_size_; // Modulus increment: loops around at the end. - - } while (start_evt_ndx < this->current_size_); - - - if (report_full_interval_times) - { - // Increase the length of the data set and record the full interval. - ++data_set_length; - data_set->length (data_set_length); - (*(data_set))[data_set_length-1].is_full_interval = 1; - (*(data_set))[data_set_length-1].probe_id = this->id_; - (*(data_set))[data_set_length-1].is_operation = this->is_operation_; - (*(data_set))[data_set_length-1].is_hrt = this->is_hrt_; - (*(data_set))[data_set_length-1].cross_thread_probe = any_cross_thread_event; - ORBSVCS_Time::Time_Value_to_TimeT - ((*(data_set)) [data_set_length-1].start_event_time, - this->timeprobes ()[start_evt_ndx].time_); - ORBSVCS_Time::Time_Value_to_TimeT - ((*(data_set)) [data_set_length-1].stop_event_time, - this->timeprobes ()[stop_evt_ndx].time_); - ORBSVCS_Time::Time_Value_to_TimeT( - (*(data_set))[data_set_length-1].interval, - full_stop_time - full_start_time); - } -} - - -// Flush the TAO metrics local timeprobe into shared memory. - -template -void -TAO_Metrics_LocalTimeprobe::flush_TAO_Metrics_LocalTimeprobe () -{ -// TBD - 1) replace VXWORKS with a nicer ACE/TAO #define -// 2) provide a general capability to apply an arbitrary -// functor to the whole data structure framework (e.g., flush). - -#if defined VXWORKS - // TBD - implement this -#endif -} - - -////////////////////////////////// -// Class TAO_Metrics_LocalCache // -////////////////////////////////// - - -template -void -TAO_Metrics_LocalCache::reset_statistics () -{ - // Call the base class reset method first. - this->reset_base_statistics (); - - // Iterate over consumer side base map, - // resetting probes. - METRICS_BASE_MONITOR_MAP_ITERATOR - base_iter (this->base_monitor_maps_ [this->consumer_index_]); - - for (TAO_Metrics_Cache_Data_Base * data_base = 0; - base_iter.done () == 0; - ++base_iter) - { - // Modified by BRM. This should also work for ACE_Based_Pointer since the conversion - // operator should fire. -// data_base = (*base_iter).int_id_.addr (); - data_base = (*base_iter).int_id_; - // Modified by BRM. This should also work for ACE_Based_Pointer since the conversion - // operator should fire. -// if (data_base.addr ()) - if (data_base) - { - data_base->probe.reset (); - } - } - - - // Iterate over consumer side monitor map, - // resetting counts and probes. - METRICS_MONITOR_MAP_ITERATOR data_iter (this-> - monitor_maps_ [this-> - consumer_index_]); - for (TAO_Metrics_Cache_Data * data = 0; - data_iter.done () == 0; - ++data_iter) - { - // Modified by BRM. This should also work for ACE_Based_Pointer since the conversion - // operator should fire. -// data = (*data_iter).int_id_.addr (); - data = (*data_iter).int_id_; - if (data) - { - data->probe.reset (); - data->missed_deadlines = 0; - data->made_deadlines = 0; - data->cancellations = 0; - } - } -} - - -// Flush the TAO local metrics cache into shared memory. - -template -void -TAO_Metrics_LocalCache:: -flush_TAO_Metrics_LocalCache () -{ -#if defined VXWORKS - - // TBD - fix this: is it complete? - - // TBD - add base metrics map flush - - // TBD - do probes need their own flush method? - - // flush the class - // cacheFlush ( - // DATA_CACHE, - // this, - // sizeof (TAO_Metrics_LocalCache)); - - // flush the monitor data map hash table - // cacheFlush (DATA_CACHE, - // &monitor_maps_ [this->consumer_index_], - // sizeof (METRICS_MONITOR_MAP)); - - // flush the nodes in the monitor data map hash table - // and the data stored in the nodes. - // METRICS_MONITOR_MAP_ITERATOR data_iter (this-> - // monitor_maps_ [this-> - // consumer_index_]); - // for (; - // data_iter.done () == 0; - // ++data_iter) - // { - // METRICS_MONITOR_MAP_ENTRY *entry; - // data_iter.next (entry); - // if (entry) - // { - // cacheFlush (DATA_CACHE, - // entry, - // sizeof (METRICS_MONITOR_MAP_ENTRY)); - // if (entry->int_id_.addr ()) - // { - // cacheFlush (DATA_CACHE, - // entry->int_id_.addr (), - // sizeof (TAO_Metrics_Cache_Data)); - // } - // } - // } - - // flush the base class probe counts - // cacheFlush (DATA_CACHE, - // this-> - // enqueue_count_ [this->consumer_index_].addr (), - // this->probe_set_size_ * sizeof (u_long)); - - // cacheFlush (DATA_CACHE, - // this-> - // dequeue_count_ [this->consumer_index_].addr (), - // this->probe_set_size_ * sizeof (u_long)); - - // flush the base class probe pointer arrays - // cacheFlush ( - // DATA_CACHE, - // this->enqueue_probes_ [this->consumer_index_], - // this-> - // probe_set_size_ - // * sizeof (ACE_Metrics_Timeprobe *)); - // cacheFlush ( - // DATA_CACHE, - // this->dequeue_probes_ [this->consumer_index_], - // this->probe_set_size_ - // * sizeof (ACE_Metrics_Timeprobe *)); - - // flush the base class probes - // for (u_int i = 0; i < this->probe_set_size_; ++i) - // { - // cacheFlush ( - // DATA_CACHE, - // this->enqueue_probes_ [this->consumer_index_][i], - // sizeof (ACE_Metrics_Timeprobe)); - // cacheFlush ( - // DATA_CACHE, - // this->dequeue_probes_ [this->consumer_index_][i], - // sizeof (ACE_Metrics_Timeprobe)); - // } -#endif -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* METRICS_LOCAL_CACHE_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h deleted file mode 100644 index 97d51de3248..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h +++ /dev/null @@ -1,329 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef METRICS_LOCAL_CACHE_T_H -#define METRICS_LOCAL_CACHE_T_H - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Hash_Map_Manager.h" -#include "ace/Metrics_Cache.h" -#include "ace/Metrics_Cache_T.h" - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/Scheduler_Factory.h" -#include "orbsvcs/MetricsC.h" -#include "orbsvcs/Metrics/Metrics_Utils.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_HAS_METRICS_BASE_POINTERS) - typedef ACE_Based_Pointer ACE_METRICS_STRING_TYPE; - typedef ACE_Based_Pointer ACE_METRICS_PARAMETER_SET_TYPE; -#else - typedef char * ACE_METRICS_STRING_TYPE; - typedef Metrics::TimeprobeParameter_Set * ACE_METRICS_PARAMETER_SET_TYPE; -#endif - -//DCL:Commented out to remove Linux compile error -//#include "orbsvcs/Metrics/Metrics_LocalCache.h" - -template -class TAO_Metrics_LocalTimeprobe - : public ACE_Metrics_Timeprobe -{ - // = TITLE - // Defines a class that implements a local timeprobe. - // - // = DESCRIPTION - // This class makes use of the class to - // implement a timeprobe for use in a local metrics cache. -public: - - typedef TAO_Metrics_LocalTimeprobe TAO_METRICS_TIMEPROBE_TYPE; - - TAO_Metrics_LocalTimeprobe (u_int id = 0, - const char *name = 0, - u_long size - = METRICS_DEFAULT_TIMEPROBE_TABLE_SIZE, - ALLOCATOR * alloc = (ALLOCATOR*)ALLOCATOR::instance()); - // Default constructor. - - void report_intervals (int report_full_interval_times = 0); - // Reports valid intervals between start and stop events. - - void install_data_set (Metrics::TimeprobeParameter_Set *data_set = 0); - // Installs or unistalls the data set into which probe will report. - - void mark_as_operation (void) {this->is_operation_ = 1;} - // Marks the probe as being for an operation. - - void set_hrt (int hrt) {this->is_hrt_ = hrt;} - // Marks the probe as being SRT/HRT. - - ACE_Time_Value last_recorded_timestamp (void); - // Returns the last timestamp that was recorded in the probe. - // If no stamps are recorded, returns zero. - - void flush_TAO_Metrics_LocalTimeprobe (); - // Flush the TAO metrics local timeprobe into shared memory. - -protected: - - int is_operation_; - // Indicates whether or not the probe is for an operation. - - int is_hrt_; - // Indicates whether or not the probe is Hard Real-Time. - - ACE_METRICS_PARAMETER_SET_TYPE data_set_; - // Points to a probe metrics data set. -}; - -template -class TAO_Metrics_LocalCache - : public ACE_Metrics_Cache -{ - // = TITLE - // Defines a class that implements a local metrics cache. - // - // = DESCRIPTION - // This class makes use of the class to - // implement a cache for local use. -public: - - typedef ACE_Metrics_Timeprobe - ACE_METRICS_TIMEPROBE_TYPE; - -#if defined (ACE_HAS_METRICS_BASE_POINTERS) - typedef ACE_Based_Pointer - ACE_METRICS_TIMEPROBE_BASED_PTR_TYPE; -#else - typedef ACE_METRICS_TIMEPROBE_TYPE * ACE_METRICS_TIMEPROBE_BASED_PTR_TYPE; -#endif - - typedef TAO_Metrics_LocalTimeprobe TAO_METRICS_TIMEPROBE_TYPE; - - typedef TAO_Metrics_LocalCache TAO_METRICS_CACHE_TYPE; - - struct TAO_Metrics_Cache_Data_Base - { - ACE_METRICS_STRING_TYPE probe_name; - TAO_Metrics_LocalTimeprobe probe; - }; - - struct TAO_Metrics_Cache_Data : public TAO_Metrics_Cache_Data_Base - { - int is_hrt; - u_long missed_deadlines; - u_long made_deadlines; - u_long cancellations; - }; - -#if defined (ACE_HAS_METRICS_BASE_POINTERS) - typedef ACE_Based_Pointer ACE_METRICS_CACHE_DATA_BASE_TYPE; - typedef ACE_Based_Pointer ACE_METRICS_CACHE_DATA_TYPE; -#else - typedef TAO_Metrics_Cache_Data_Base* ACE_METRICS_CACHE_DATA_BASE_TYPE; - typedef TAO_Metrics_Cache_Data* ACE_METRICS_CACHE_DATA_TYPE; -#endif - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_Null_Mutex> METRICS_BASE_MONITOR_MAP; - // Type of map used for O(1) lookup of monitored data for operations. - - typedef ACE_Hash_Map_Entry - METRICS_BASE_MONITOR_MAP_ENTRY; - // Type of entry in monitor map. - - typedef ACE_Hash_Map_Iterator_Ex, - ACE_Equal_To, - ACE_Null_Mutex> - METRICS_BASE_MONITOR_MAP_ITERATOR; - // Type of iterator for monitor map. - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_Null_Mutex> METRICS_MONITOR_MAP; - // Type of map used for O(1) lookup of monitored data for operations. - - typedef ACE_Hash_Map_Entry - METRICS_MONITOR_MAP_ENTRY; - // Type of entry in monitor map. - - typedef ACE_Hash_Map_Iterator_Ex, - ACE_Equal_To, - ACE_Null_Mutex> - METRICS_MONITOR_MAP_ITERATOR; - // Type of iterator for monitor map. - - TAO_Metrics_LocalCache (u_long table_size - = METRICS_DEFAULT_TIMEPROBE_TABLE_SIZE, - u_long number_of_probes - = METRICS_DEFAULT_TIMEPROBE_COUNT, - ALLOCATOR * alloc = (ALLOCATOR*)ALLOCATOR::instance()); - // Constructor. - - ~TAO_Metrics_LocalCache () {this->fini ();} - // Destructor. - - void reset_statistics (); - // Reset the collection of metrics data. - - int init (u_long number_of_probes); - // Factory method for constructing probes. - - void fini (); - // Method for destroying probes. - - void register_upcall_adapter (RtecScheduler::handle_t handle, - const char *name, - int is_hrt, - unsigned short incr_upcall_id = 1); - // Registers an upcall adapter, allocates monitoring data structures - // for it in hash maps if not already present. - - RtecScheduler::handle_t register_base_metrics (const char *name, - TAO_Metrics_Utils::Base_Metrics_Type bmt, - unsigned short incr_base_id = 1); - // Registers a base metrics probe, allocates monitoring data structures - // for it in hash maps, returns a handle to the metrics segment. - - void report_upcall_start (RtecScheduler::handle_t handle); - // Inline: Records start time of an upcall. - - int report_upcall_stop (RtecScheduler::handle_t handle, - const ACE_Time_Value & deadline); - // Inline: Records end time of an upcall, returns 0 if the deadline - // was made, 1 if the deadline was missed, or -1 if an error occurred. - // If the passed deadline is equal to ACE_Time_Value::zero, by definition - // the deadline is made, and the method returns 0. - - void report_upcall_cancellation (RtecScheduler::handle_t handle); - // Inline: Reports a cancelled upcall. - - void report_base_metrics_start (RtecScheduler::handle_t handle); - // Inline: Records start time of a base metrics segment. - - void report_base_metrics_stop (RtecScheduler::handle_t handle); - // Inline: Records stop time of a base metrics segment. - - void report_base_metrics_suspend (RtecScheduler::handle_t handle); - // Inline: Records start time of a base metrics segment. - - void report_base_metrics_resume (RtecScheduler::handle_t handle); - // Inline: Records stop time of a base metrics segment. - - void flush_TAO_Metrics_LocalCache (); - // Flush the TAO metrics local cache into shared memory. - -protected: - void increment_base_handle(TAO_Metrics_Utils::Base_Metrics_Type bmt); - // Used to increment the probe id counter for a particular metrics type - - void increment_upcall_handle(); - // Used to increment the probe id counter for a upcall probe type - - METRICS_BASE_MONITOR_MAP base_monitor_maps_ [2]; - // These map base metrics ids to base monitor data. - - METRICS_MONITOR_MAP monitor_maps_ [2]; - // These map operation handles to upcall monitor data. - - // Count of the number of registered sched probes. - u_long sched_count_; - - // Count of the number of registered quo probes. - u_long quo_count_; - - // Count of the number of registered tns probes. - u_long tns_count_; - - // Count of the number of registered teec probes. - u_long teec_count_; - - // Count of the number of registered rtarm probes. - u_long rtarm_count_; - - // Count of the number of registered upcall adapters. - u_long upcall_adapter_count_; - - // Holds the next base metrics probe handle to assign - RtecScheduler::handle_t next_base_metrics_handle_; - -}; - - - -template -class TAO_Metrics_ReportingLocalCache - : public TAO_Metrics_LocalCache -{ - // = TITLE - // Defines a class that adds metrics logger reporting to a local cache. - // - // = DESCRIPTION - // This class makes use of the as its - // a cache for local use, and adds reporting to the logger. -public: - - TAO_Metrics_ReportingLocalCache (u_long table_size - = METRICS_DEFAULT_TIMEPROBE_TABLE_SIZE, - u_long number_of_probes - = METRICS_DEFAULT_TIMEPROBE_COUNT, - ALLOCATOR * alloc = (ALLOCATOR*)ALLOCATOR::instance()); - // Constructor. - - ~TAO_Metrics_ReportingLocalCache () {this->fini ();} - // Destructor. - - void output_statistics (Metrics::QoSLogger_ptr logger); - // Output the statistics to the remote logger servant. - - void register_upcall_adapter (RtecScheduler::handle_t handle, - const char *name, - int is_hrt, - Metrics::QoSLogger_ptr logger); - // Registers an upcall adapter, allocates monitoring data structures - // for it in hash maps if not already present. - - RtecScheduler::handle_t register_base_metrics (const char *name, - TAO_Metrics_Utils::Base_Metrics_Type bmt, - Metrics::QoSLogger_ptr logger); - // Registers a base metrics probe, allocates monitoring data structures - // for it in hash maps, returns a handle to the metrics segment. - - int register_probes (Metrics::QoSLogger_ptr logger); - // Registers probes with the logger. - - void flush_TAO_Metrics_ReportingLocalCache (); - // Flush the TAO metrics local cache into shared memory. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Metrics/Metrics_LocalCache_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Metrics_LocalCache_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* METRICS_LOCAL_CACHE_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp deleted file mode 100644 index 71f0e444678..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp +++ /dev/null @@ -1,871 +0,0 @@ -// $Id$ - -#include "orbsvcs/Metrics/Metrics_Logger.h" -#include "ace/Auto_Ptr.h" -#include "ace/ace_wchar.h" - -ACE_RCSID(Metrics_Logger, Metrics_Logger, "$Id$") - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - -static const int OPEN_CLOSE_BANNER_CYCLE = 4; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////////////// -// class TAO_Metrics_Logger // -////////////////////////////// - -// Default constructor. - -TAO_Metrics_Logger::TAO_Metrics_Logger (int generate_events, - int generate_log, - int generate_export_file, - const char *log_filename) - : generate_events_ (generate_events), -#ifdef VXWORKS - generate_log_ (1), - log_filename_ ("logger.txt"), -#else - generate_log_ (generate_log), - log_filename_ (log_filename), -#endif - generate_totals_(0), - generate_export_file_(generate_export_file), - log_started_ (0), - log_file_ (stdout), - export_file_(stdout), - saveFileCnt_(0) -{ -#ifdef VXWORKS - taskPrioritySet( taskIdSelf(), 145 ); -#endif - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (this->generate_events_) - { - // Connect the underlying DOVE event supplier. - if (this->dove_supplier_.connect () < 0) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, "failed to connect DOVE event supplier\n")); -#endif - this->generate_events_ = 0; - } - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - if (generate_log_) - { - if (log_filename_) - { - log_file_ = ACE_OS::fopen (log_filename_, "w+"); - if (log_file_ == NULL) - { - generate_log_ = 0; -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "Logger failed to open log file %s\n", - log_filename_)); -#endif - return; - } - - if (generate_export_file_) - { - export_file_ = ACE_OS::fopen ("remote_logger_export.excel", "w+"); - if (export_file_ == NULL) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, "Logger failed to open log file %s\n", log_filename_)); -#endif - return; - } - } - log_started_ = 1; - } - - // Write a start of logging session message. - time_t current_time = ACE_OS::time (); - ACE_OS::fprintf (log_file_, - "\n\nTAO_Metrics Metrics Logging Session: %s\n\n", - ACE_OS::ctime (& current_time)); - - ACE_OS::fprintf (export_file_, - "\n\nTAO_Metrics Metrics Logging Session: %s\n\n", - ACE_OS::ctime (& current_time)); - if (log_filename_) - { - ACE_OS::fflush (log_file_); - ACE_OS::fflush (export_file_); -// ACE_OS::fclose (log_file_); - } - } -} - - -// Destructor. - -TAO_Metrics_Logger::~TAO_Metrics_Logger () -{ - if (generate_log_) - { - if (log_filename_) - { -// log_file_ = ACE_OS::fopen (log_filename_, "a+"); - } - - ACE_OS::fprintf (log_file_, "\n\n"); - - ACE_OS::fflush (log_file_); - - ACE_OS::fprintf (export_file_, "\n\n"); - ACE_OS::fflush (export_file_); - - if (log_filename_) - { -// ACE_OS::fclose (log_file_); - } - } - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (this->generate_events_) - { - this->dove_supplier_.disconnect (); - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ -} - - -// Active object loop for processing logged data. - -int -TAO_Metrics_Logger::svc (void) -{ - ACE_Message_Block *mb; - - // Loop forever. - while (1) - if (this->getq (mb) < 0) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "(%P|%t) getq failed in TAO_Metrics_Logger::svc")); -#endif - return -1; - } - else if (! mb) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "(%P|%t) null message block pointer in TAO_Metrics_Logger::svc")); -#endif - return -1; - } - else if (! mb->rd_ptr ()) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "(%P|%t) null message block pointer in TAO_Metrics_Logger::svc")); -#endif - return -1; - } - else - { - // Process message. - - TAO_Metrics_Logger_Data *data = (TAO_Metrics_Logger_Data *) mb->rd_ptr (); - switch (data->data_type_) - { - case TAO_Metrics_Logger_Data::QOS_TYPE: - this->process_aggregate_QoS (*data->qos_params_, data->interval_); - delete data; - delete mb; - break; - - case TAO_Metrics_Logger_Data::TIMEPROBE_TYPE: - this->process_timeprobe_data (*data->timeprobe_params_, data->interval_); - delete data; - delete mb; - break; - - case TAO_Metrics_Logger_Data::BANNER_TYPE: - this->process_banner (data->banner_); - delete data; - delete mb; - break; - - default: -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "(%P|%t) unrecognized data type in TAO_Metrics_Logger::svc")); -#endif - return -1; - } - } - -// Modified by BAP. Remove unreachable code. -// return 0; -} - - -// Sends a banner to be written to the log file and to the visualization browser. - -void -TAO_Metrics_Logger::send_banner (const char *banner - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException) -{ - // Package up the data and put it on the task queue. - - TAO_Metrics_Logger_Data *data; - ACE_NEW (data, - TAO_Metrics_Logger_Data (TAO_Metrics_Logger_Data::BANNER_TYPE)); - ACE_NEW (data->banner_, char [ACE_OS::strlen (banner) + 1]); - ACE_OS::strcpy (data->banner_, banner); - - ACE_Message_Block *mb; - ACE_NEW (mb, - ACE_Message_Block ((char *) data, - sizeof (TAO_Metrics_Logger_Data))); - - if (this->putq (mb) < 0) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_Logger::send_banner putq failed")); -#endif - } -} - -void -TAO_Metrics_Logger::process_banner (const char *banner) -{ - if (this->generate_log_) - { - if (log_filename_) - { -// log_file_ = ACE_OS::fopen (log_filename_, "a+"); - } - - ACE_OS::fprintf (log_file_, - "%s\n", banner); - ACE_OS::fprintf (export_file_, - "%s\n", banner); - if (log_filename_) - { - ACE_OS::fflush (log_file_); - ACE_OS::fflush (export_file_); - - // Close and then reopen the file. We can't afford to open & close all of the time. - if (( saveFileCnt_++ % OPEN_CLOSE_BANNER_CYCLE) == 0 ) - { - ACE_OS::fclose (log_file_); - log_file_ = ACE_OS::fopen (log_filename_, "a+"); - - ACE_OS::fclose (export_file_); - export_file_ = ACE_OS::fopen ("remote_logger_export.excel", "a+"); - } - } - } -} - - -// Reports the aggregate QoS information for all operations -// to the passed QoS logger. - -void -TAO_Metrics_Logger::log_aggregate_QoS (const Metrics::QoSParameter_Set & qos_params, - Metrics::Time interval - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException) -{ -// This is a temporary patch to eliminate this data from the log. It was -// done to bypass a long rebuild that would have been required otherwise. -// Remove this patch later. Brian Mendel - - //Added to remove Linux warning (Boeing Extension) - ACE_UNUSED_ARG(qos_params); - ACE_UNUSED_ARG(interval); - - // Package up the data and put it on the task queue. -#if 0 - TAO_Metrics_Logger_Data *data; - ACE_NEW (data, - TAO_Metrics_Logger_Data (TAO_Metrics_Logger_Data::QOS_TYPE, - interval)); - ACE_NEW (data->qos_params_, - Metrics::QoSParameter_Set (qos_params)); - - ACE_Message_Block *mb; - ACE_NEW (mb, - ACE_Message_Block ((char *) data, - sizeof (TAO_Metrics_Logger_Data))); - - if (this->putq (mb) < 0) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_Logger::log_aggregate_QoS putq failed")); -#endif - } -#endif -} - - -// Processes the aggregate QoS information for all operations -// to the passed QoS logger. - -void -TAO_Metrics_Logger::process_aggregate_QoS (const Metrics::QoSParameter_Set & qos_params, - Metrics::Time interval) -{ - //Added to remove Linux warning (Boeing Extension) - ACE_UNUSED_ARG(interval); - - if (this->generate_log_) - { - if (log_filename_) - { -// log_file_ = ACE_OS::fopen (log_filename_, "a+"); - } - - ACE_OS::fprintf (log_file_, - "\nName missed made cancelled\n"); - - ACE_OS::fprintf (export_file_, - "\n\n Name \t missed \t made \t cancelled\n"); - } - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (this->generate_events_) - { - this->qos_data_.hrt_deadlines_missed = 0; - this->qos_data_.hrt_deadlines_made = 0; - this->qos_data_.hrt_operations_cancelled = 0; - this->qos_data_.srt_deadlines_missed = 0; - this->qos_data_.srt_deadlines_made = 0; - this->qos_data_.srt_operations_cancelled = 0; - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - for (u_long i = 0; i < qos_params.length (); ++i) - { -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (this->generate_events_) - { - if (qos_params [i].is_hrt) - { - this->qos_data_.hrt_deadlines_missed += - qos_params [i].deadlines_missed; - this->qos_data_.hrt_deadlines_made += - qos_params [i].deadlines_made; - this->qos_data_.hrt_operations_cancelled += - qos_params [i].operations_cancelled; - } - else - { - this->qos_data_.srt_deadlines_missed += - qos_params [i].deadlines_missed; - this->qos_data_.srt_deadlines_made += - qos_params [i].deadlines_made; - this->qos_data_.srt_operations_cancelled += - qos_params [i].operations_cancelled; - } - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - if (this->generate_log_) - { - ACE_OS::fprintf (log_file_, - "%-50s %8lu %8lu %8lu\n", - (const char *)qos_params [i].entry_point, - qos_params [i].deadlines_missed, - qos_params [i].deadlines_made, - qos_params [i].operations_cancelled); - ACE_OS::fprintf (export_file_, - " %s \t %lu \t %lu \t %lu\n", - (const char *)qos_params [i].entry_point, - qos_params [i].deadlines_missed, - qos_params [i].deadlines_made, - qos_params [i].operations_cancelled); - } - } - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (this->generate_events_) - { - // Push an event to the visualization browser. - CORBA::Any any; - - ACE_TRY_NEW_ENV - { - any.replace (Metrics::_tc_QoSData, &qos_data_, 0, ACE_TRY_ENV); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Metrics_Logger::process_aggregate_QoS"); -#endif - return; - } - ACE_ENDTRY; - - this->dove_supplier_.notify (any); - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - if (this->generate_log_) - { - if (log_filename_) - { - ACE_OS::fflush (log_file_); -// ACE_OS::fclose (log_file_); - } - } -} - - -// Binds the names of various timeprobes to their identifiers so -// that ids alone can be used (for efficiency) in passing data. - -void -TAO_Metrics_Logger::set_identities (const Metrics::ProbeIdentity_Set & - probe_identities - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException) -{ - for (u_long i = 0; i < probe_identities.length (); ++i) - { - this->set_identity (probe_identities [i] - ACE_ENV_ARG_DECL); - ACE_CHECK; - } -} - -void -TAO_Metrics_Logger::set_identity (const Metrics::ProbeIdentity_t & probe_identity - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException) -{ - // Look up the existing name that is bound, creating one if there is - // not one there already. - CORBA::String_var *name = 0; - if (probe_name_map_.find (probe_identity.probe_id, name) != 0 - || name == 0) - { - ACE_NEW_THROW_EX (name, - CORBA::String_var (probe_identity.probe_name), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // What is this used for? BRM - auto_ptr name_ptr (name); - - if (probe_name_map_.rebind (probe_identity.probe_id, name) < 0) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, "TAO_Metrics_Logger::set_identity bind failed.\n")); -#endif - return; - } - - // DEBUG - const char * name_cstr = name->in (); - ACE_DEBUG ((LM_DEBUG, - "Logger registered name [%s] with id [%u]\n", - name_cstr, probe_identity.probe_id)); - - name_ptr.release (); - } - else - { - // DEBUG - const char * old_name_cstr = name->in (); - - // Unconditionally set the name to the new name. - *name = probe_identity.probe_name; - - // DEBUG - const char * new_name_cstr = name->in (); - ACE_DEBUG ((LM_DEBUG, - "Logger CHANGED name from [%s] to [%s] for id [%u]\n", - old_name_cstr, new_name_cstr, probe_identity.probe_id)); - } -} - - -// Reports timeprobe data collected since last run. - -void -TAO_Metrics_Logger::log_timeprobe_data (const Metrics::TimeprobeParameter_Set & - timeprobe_params, - Metrics::Time interval - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException) -{ - // Package up the data and put it on the task queue. - - TAO_Metrics_Logger_Data *data; - ACE_NEW (data, - TAO_Metrics_Logger_Data (TAO_Metrics_Logger_Data::TIMEPROBE_TYPE, - interval)); - ACE_NEW (data->timeprobe_params_, - Metrics::TimeprobeParameter_Set (timeprobe_params)); - - ACE_Message_Block *mb; - ACE_NEW (mb, - ACE_Message_Block ((char *) data, - sizeof (TAO_Metrics_Logger_Data))); - - if (this->putq (mb) < 0) - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_Logger::log_timeprobe_data putq failed")); -#endif - } -} - - -// Processes timeprobe data collected since last run. -void -TAO_Metrics_Logger::process_timeprobe_data (const Metrics::TimeprobeParameter_Set & timeprobe_params, - Metrics::Time interval) -{ - if (this->generate_log_) - { - if (log_filename_) - { - // log_file_ = ACE_OS::fopen (log_filename_, "a+"); - } - - ACE_OS::fprintf (log_file_, - "\n\n\n" - "Interval (usec): %9lu \n\n" - "Probe elapsed_time(usec) Start Time (usecs) Stop Time (usec)\n\n", - // Modified by BAP. This really should be corrected since we are truncating the interval here. - // We can get away with it here for now since the intervals are small enough to not roll over. - (u_long) ACE_U64_TO_U32(interval)/10 ); - - ACE_OS::fprintf (export_file_, - "\n\n\n" - "Interval (usec): \t %9lu \t \n\n" - "Probe \t elapsed_time(usec) \tStart Time (usecs) \t Stop Time (usec)\n\n", - // Modified by BAP. This really should be corrected since we are truncating the interval here. - // We can get away with it here for now since the intervals are small enough to not roll over. - (u_long) ACE_U64_TO_U32(interval)/10 ); - } - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - Metrics::Time queue_time = 0; - Metrics::Time hrt_op_time = 0; - Metrics::Time srt_op_time = 0; -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - for (u_long i = 0; i < timeprobe_params.length (); ++i) - { -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (! timeprobe_params [i].is_full_interval) - { - if (timeprobe_params [i].is_operation) - { - if (timeprobe_params [i].is_hrt) - { - hrt_op_time += timeprobe_params [i].interval; - } - else - { - srt_op_time += timeprobe_params [i].interval; - } - } - else - { - queue_time += timeprobe_params [i].interval; - } - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - if (this->generate_log_) - { - // Look up the name of the probe in the hash map. - // If successful, use the name, and if not just use the probe id. - CORBA::String_var *probe_name = 0; - char format_spec[255]; - char export_spec[255]; - - if (probe_name_map_.find (timeprobe_params [i].probe_id, probe_name) == 0 - && probe_name != 0) - { - if (timeprobe_params [i].cross_thread_probe && - timeprobe_params [i].is_full_interval) - { - if (generate_totals_) - { -#if defined (ACE_LACKS_LONGLONG_T) - // This needs to be fixed for platforms that do not have 64 bit support. This will result - // in overruns as currently written - ACE_OS::fprintf (log_file_, - " %-40s (total) %20lu %20lu %20lu *** Cross Thread Event ***\n", - (const char *) *probe_name, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); - ACE_OS::fprintf (export_file_, - " %s (total) \t %lu \t %lu \t %lu \t ***Cross Thread Event***\n", - (const char *) *probe_name, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); -#else - // Build up the format specifiers since the specifier or not portable - ACE_OS::strcpy(format_spec, " %-40s (total) "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " *** Cross Thread Event ***\n"); - - ACE_OS::strcpy(export_spec, " %-40s (total) \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t*** Cross Thread Event ***\n"); - - ACE_OS::fprintf (log_file_, - format_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); - ACE_OS::fprintf (export_file_, - export_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); -#endif - } - } - else - { -#if defined (ACE_LACKS_LONGLONG_T) - // This needs to be fixed for platforms that do not have 64 bit support. This will result - // in overruns as currently written - ACE_OS::fprintf (log_file_, - " %-40s %20lu %20lu %20lu *** Cross Thread Event ***\n", - (const char *) *probe_name, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); - ACE_OS::fprintf (export_file_, - " %s \t %lu \t %lu \t %lu \t ***Cross Thread Event***\n", - (const char *) *probe_name, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); -#else - // Build up the format specifiers since the specifier or not portable - ACE_OS::strcpy(format_spec, " %-40s "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " *** Cross Thread Event ***\n"); - - ACE_OS::strcpy(export_spec, " %-40s \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t *** Cross Thread Event ***\n"); - - ACE_OS::fprintf (log_file_, - format_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); - ACE_OS::fprintf (export_file_, - export_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); -#endif - } - - } - else - { - if (timeprobe_params [i].cross_thread_probe && - timeprobe_params [i].is_full_interval) - { - if (generate_totals_) -#if defined (ACE_LACKS_LONGLONG_T) - ACE_OS::fprintf (log_file_, - " [id (total): %8lu] %9lu %9lu %9lu *** Cross Thread Event ***\n", - timeprobe_params [i].probe_id, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); - ACE_OS::fprintf (export_file_, - " [id (total): %lu] \t %lu \t %lu \t %lu \t ***Cross Thread Event***\n", - timeprobe_params [i].probe_id, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); -#else - // Build up the format specifiers since the specifier or not portable - ACE_OS::strcpy(format_spec, " [id (total): %8lu] "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " *** Cross Thread Event ***\n"); - - ACE_OS::strcpy(export_spec, " [id (total): %8lu] \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t*** Cross Thread Event ***\n"); - - if (probe_name == 0) - { - ACE_DEBUG((LM_DEBUG, "Found a probe with id: %d with no name\n", timeprobe_params [i].probe_id)); - } - else - { - ACE_OS::fprintf (log_file_, - format_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); - ACE_OS::fprintf (export_file_, - export_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); - } -#endif - } - else -#if defined (ACE_LACKS_LONGLONG_T) - ACE_OS::fprintf (log_file_, - " [id: %14lu] %9lu %9lu %9lu \n", - timeprobe_params [i].probe_id, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); - ACE_OS::fprintf (export_file_, - " [id: %lu] \t %lu \t %lu \t %lu\n", - timeprobe_params [i].probe_id, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].interval)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].start_event_time)/10, - (u_long) ACE_U64_TO_U32(timeprobe_params [i].stop_event_time)/10); -#else - // Build up the format specifiers since the specifier or not portable - ACE_OS::strcpy(format_spec, " [id: %14lu] "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " "); - ACE_OS::strcat(format_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(format_spec, " *** Cross Thread Event ***\n"); - - ACE_OS::strcpy(export_spec, " [id: %lu] \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " \t "); - ACE_OS::strcat(export_spec, ACE_UINT64_FORMAT_SPECIFIER); - ACE_OS::strcat(export_spec, " *** Cross Thread Event ***\n"); - - if (probe_name == 0) - { - ACE_DEBUG((LM_DEBUG, "Found a probe with id: %d with no name\n", timeprobe_params [i].probe_id)); - } - else - { - ACE_OS::fprintf (log_file_, - format_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); - ACE_OS::fprintf (export_file_, - export_spec, - (const char *) *probe_name, - timeprobe_params [i].interval / 10, - timeprobe_params [i].start_event_time / 10, - timeprobe_params [i].stop_event_time / 10); - } -#endif - - } - } // End if (this->generate_log_) - } - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - if (this->generate_events_) - { - CORBA::Any any; - - util_data_.hrt_op_utilization = - static_cast (ACE_UINT64_DBLCAST_ADAPTER (hrt_op_time)) - / static_cast (ACE_UINT64_DBLCAST_ADAPTER (interval)); - - util_data_.srt_op_utilization = - static_cast (ACE_UINT64_DBLCAST_ADAPTER (srt_op_time)) - / static_cast (ACE_UINT64_DBLCAST_ADAPTER (interval)); - - util_data_.queue_utilization = - static_cast (ACE_UINT64_DBLCAST_ADAPTER (queue_time)) - / static_cast (ACE_UINT64_DBLCAST_ADAPTER (interval)); - - ACE_TRY_NEW_ENV - { - any.replace (Metrics::_tc_UtilData, &util_data_, 0, ACE_TRY_ENV); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { -#if defined (METRICS_LOGGER_ERROR_OUTPUT_ENABLED) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Metrics_Logger::process_aggregate_QoS"); -#endif - return; - } - ACE_ENDTRY; - - this->dove_supplier_.notify (any); - } -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - if (this->generate_log_) - { - if (log_filename_) - { - ACE_OS::fflush (log_file_); - ACE_OS::fflush (export_file_); -// ACE_OS::fclose (log_file_); - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.h deleted file mode 100644 index f836ca5faf3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Logger.h +++ /dev/null @@ -1,224 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef METRICS_LOGGER_H -#define METRICS_LOGGER_H - -#if ! defined (VXWORKS) - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - -// Comment out both of these to disable output -# define METRICS_LOGGER_ERROR_OUTPUT_ENABLED -# define METRICS_LOGGER_DEBUG_OUTPUT_ENABLED - -#endif /* ! VXWORKS */ - -// Comment this out to disable event passing -#define TAO_METRICS_LOGGER_SENDS_EVENTS - -#include "ace/OS.h" -#include "ace/Task.h" -#include "ace/Singleton.h" -#include "ace/Functor.h" -#include "ace/Hash_Map_Manager.h" - -//#include "tao/TAO.h" - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/MetricsS.h" -#include "orbsvcs/RtecEventCommS.h" - -#include "orbsvcs/Metrics/Metrics_Utils.h" - -#if defined (METRICS_LOGGER_SENDS_EVENTS) -#include "MetricsC.h" -#include "DOVE_Supplier.h" -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Metrics_Export TAO_Metrics_Logger_Data -{ - // = TITLE - // Defines a class for logger data. - // - // = DESCRIPTION - // This class is used to transfer metrics data to the logger class. -public: - - enum LOGGER_DATA_TYPE {QOS_TYPE, TIMEPROBE_TYPE, BANNER_TYPE}; - - TAO_Metrics_Logger_Data (LOGGER_DATA_TYPE data_type, - Metrics::Time interval = ORBSVCS_Time::zero ()) - : data_type_ (data_type), - interval_ (interval), - qos_params_ (0), - timeprobe_params_ (0), - banner_ (0) - { - } - // Constructor. - - ~TAO_Metrics_Logger_Data () - { - delete qos_params_; - delete timeprobe_params_; - delete banner_; - } - // Destructor. - - LOGGER_DATA_TYPE data_type_; - // Identifies type of data. - - Metrics::Time interval_; - // Time interval over which data were collected. - - Metrics::QoSParameter_Set * qos_params_; - // Points to a QoS parameter data set. - - Metrics::TimeprobeParameter_Set * timeprobe_params_; - // Points to a timeprobe data set. - - char * banner_; - // Banner for entry in the log and/or visualization stream. -}; - - - -class TAO_Metrics_Export TAO_Metrics_Logger - : public ACE_Task, public POA_Metrics::QoSLogger - // = TITLE - // This class implements a Metrics QoS logger. - // - // = DESCRIPTION - // This class allows clients to log monitored QoS. -{ -public: - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_Null_Mutex> PROBE_NAME_MAP; - // Type of map used for O(1) lookup of probe names. - - typedef ACE_Hash_Map_Entry PROBE_NAME_MAP_ENTRY; - // Type of map used for O(1) lookup of RT_Infos by their handles. - - TAO_Metrics_Logger (int generate_events = 0, int generate_log = 0, int generate_export_file = 1, const char *log_filename = 0); - // Default constructor. - - virtual ~TAO_Metrics_Logger (); - // Destructor. - - virtual int svc (void); - // Active object loop for processing logged data. - - void send_banner (const char *banner - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException); - // Sends a banner to be written to the log file and to the visualization browser. - - void process_banner (const char *banner); - // Writes banner to the log file and/or to the visualization browser. - - void log_aggregate_QoS (const Metrics::QoSParameter_Set & qos_params, - Metrics::Time interval - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException); - // Reports the aggregate QoS information for all operations - // to the passed QoS logger. - - void process_aggregate_QoS (const Metrics::QoSParameter_Set & qos_params, - Metrics::Time interval); - // Processes the aggregate QoS information for all operations - // to the passed QoS logger. - - void set_identities (const Metrics::ProbeIdentity_Set & probe_identities - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException); - // Binds the names of various timeprobes to their identifiers so - // that ids alone can be used (for efficiency) in passing data. - - void set_identity (const Metrics::ProbeIdentity_t & probe_identity - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException); - // Binds the names of various timeprobes to their identifiers so - // that ids alone can be used (for efficiency) in passing data. - - void log_timeprobe_data (const Metrics::TimeprobeParameter_Set & timeprobe_params, - Metrics::Time interval - ACE_ENV_ARG_DECL) - throw (CORBA::SystemException); - // Reports timeprobe data collected since last run. - - void process_timeprobe_data (const Metrics::TimeprobeParameter_Set & timeprobe_params, - Metrics::Time interval); - // Processes timeprobe data collected since last run. - -protected: - - int generate_events_; - // Indicates whether or not to generate events for displays. - - int generate_log_; - // Indicates whether or not to generate a text log. - - const char *log_filename_; - // Name of the text log file (if any) - - int generate_totals_; - // Indicates whether information of totals are logged. - - int generate_export_file_; - // Indicates whether information of totals are logged. - - int log_started_; - // Indicates whether or not the log has been started already. - - FILE *log_file_; - // Handle to the text log file (if any). - - FILE *export_file_; - // Handle to the excel export log file (if any). - - PROBE_NAME_MAP probe_name_map_; - // Maps probe ids to their names. - -#if defined (METRICS_LOGGER_SENDS_EVENTS) - DOVE_Supplier dove_supplier_; - // DOVE Event supplier. - - Metrics::QoSData qos_data_; - // QoS data structure. - - Metrics::UtilData util_data_; - // Utilization data structure. - -#endif /* METRICS_LOGGER_SENDS_EVENTS */ - - // Only write the file once every OPEN_CLOSE_BANNER_CYCLE banner - // changes - int saveFileCnt_; -}; - -typedef ACE_Singleton -TAO_METRICS_LOGGER_REF_SINGLETON; - -typedef ACE_Singleton -TAO_METRICS_LOGGER_SINGLETON; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ - -#endif /* METRICS_LOGGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.cpp deleted file mode 100644 index fe4ec645da8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// $Id$ - -#ifndef METRICS_UPCALL_MONITOR_CPP -#define METRICS_UPCALL_MONITOR_CPP - -#include "orbsvcs/Metrics/Metrics_UpcallMonitor.h" - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_UpcallMonitor.i" -#endif /* __ACE_INLINE__ */ - -#else -#error ACE_COMPILE_TIMEPROBES must be defined in order to collect metrics -#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ - - -#endif /* METRICS_UPCALL_MONITOR_CPP */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.h deleted file mode 100644 index 69dde8b966c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.h +++ /dev/null @@ -1,264 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef METRICS_UPCALL_MONITOR_H -#define METRICS_UPCALL_MONITOR_H - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - -#if ! defined (VXWORKS) - -// Comment out both of these to disable output -# define METRICS_MONITOR_ERROR_OUTPUT_ENABLED -# define METRICS_MONITOR_DEBUG_OUTPUT_ENABLED - -#endif /* ! VXWORKS */ - -#include "ace/Singleton.h" -#include "ace/Hash_Map_Manager.h" - -#include "orbsvcs/RtecEventCommS.h" -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/MetricsS.h" - -#include "orbsvcs/Metrics/Metrics_LocalCache.h" -#include "orbsvcs/Metrics/Metrics_FrameManager.h" -#include "orbsvcs/Metrics/Metrics_Utils.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Metrics_Export TAO_Metrics_UpcallMonitor - : public POA_Metrics::QoSMonitor -{ - // = TITLE - // This class implements a Metrics QoS monitor. - // - // = DESCRIPTION - // This class allows clients to monitor QoS, collected - // by the rest of the metrics framework. -public: - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_SYNCH_MUTEX> MONITOR_MAP; - // Type of map used for O(1) lookup of missed/made deadline counts - // by operation handles. - - typedef ACE_Hash_Map_Entry - MONITOR_MAP_ENTRY; - // Type of map used for O(1) lookup of RT_Infos by their handles. - - typedef ACE_Hash_Map_Iterator_Ex, - ACE_Equal_To, - ACE_SYNCH_MUTEX> MONITOR_MAP_ITERATOR; - // Type of map used for O(1) lookup of missed/made deadline counts - // by operation handles. - - - TAO_Metrics_UpcallMonitor (); - // Default constructor. - - ~TAO_Metrics_UpcallMonitor (); - // Destructor. - - virtual void - report_made_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_0)); - // Reports a successful upcall. - - virtual void - report_missed_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_1)); - // Reports an unsuccessful upcall. - - virtual void - get_aggregate_QoS (RtecScheduler::handle_t handle, - Metrics::QoSParameter_t_out qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_2, - Metrics::INTERNAL_3)); - // Get the aggregate QoS statistics collected for the passed handle. - - virtual void get_aggregate_QoS_set ( - const Metrics::Handle_Set_t & handle_set, - Metrics::QoSParameter_Set_out qos_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_4, - Metrics::INTERNAL_5)); - // Get the aggregate QoS statistics collected for each handle in the - // passed set. - - virtual void - reset_statistics (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_7, - Metrics::INTERNAL_8)); - // Resets the aggregate QoS information for the given operation. - - MONITOR_MAP &missed_map (); - // Accessor for map of operation handle to a count of deadlines missed. - - MONITOR_MAP &made_map (); - // Accessor for map of operation handle to a count of deadlines made. - -private: - - // = Implementation members. - - MONITOR_MAP missed_map_; - // Maps operation handle to a count of deadlines missed. - - MONITOR_MAP made_map_; - // Maps operation handle to a count of deadlines made. - -}; - - -class TAO_Metrics_Export TAO_Metrics_ReportingUpcallMonitor - : public POA_Metrics::ReportingQoSMonitor -{ - // = TITLE - // This class implements a reporting extension for a Metrics QoS monitor. - // - // = DESCRIPTION - // This class uses delegation to avoid the ugly consequences of - // multiple inheritance from a common IDL base class along two - // inheritance paths. -public: - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_SYNCH_MUTEX> MONITOR_MAP; - // Type of map used for O(1) lookup of missed/made deadline counts - // by operation handles. - - typedef ACE_Hash_Map_Entry - MONITOR_MAP_ENTRY; - // Type of map used for O(1) lookup of RT_Infos by their handles. - - typedef ACE_Hash_Map_Iterator_Ex, - ACE_Equal_To, - ACE_SYNCH_MUTEX> MONITOR_MAP_ITERATOR; - // Type of map used for O(1) lookup of missed/made deadline counts - // by operation handles. - - - TAO_Metrics_ReportingUpcallMonitor (); - // Default constructor. - - ~TAO_Metrics_ReportingUpcallMonitor (); - // Destructor. - - virtual void - report_made_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_0)); - // Reports a successful upcall. - - virtual void - report_missed_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_1)); - // Reports an unsuccessful upcall. - - virtual void - get_aggregate_QoS (RtecScheduler::handle_t handle, - Metrics::QoSParameter_t_out qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_2, - Metrics::INTERNAL_3)); - // Get the aggregate QoS statistics collected for the passed handle. - - virtual void get_aggregate_QoS_set ( - const Metrics::Handle_Set_t & handle_set, - Metrics::QoSParameter_Set_out qos_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_4, - Metrics::INTERNAL_5)); - // Get the aggregate QoS statistics collected for each handle in the - // passed set. - - virtual void report_aggregate_QoS ( - Metrics::QoSLogger_ptr logger, - Metrics::Time interval - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::NIL_LOGGER, - Metrics::INTERNAL_6)); - // Report the aggregate QoS statistics to the logger. - - virtual void - reset_statistics (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_7, - Metrics::INTERNAL_8)); - // Resets the aggregate QoS information for the given operation. - -private: - - TAO_Metrics_UpcallMonitor monitor_; - // The monitor we're wrapping. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_UpcallMonitor.i" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/Metrics/Metrics_UpcallMonitor_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Metrics_UpcallMonitorAdapter -TAO_METRICS_MONITOR_ADAPTER_TYPE; - -typedef TAO_Metrics_ReportingUpcallMonitorAdapter -TAO_METRICS_REPORTING_MONITOR_ADAPTER_TYPE; - -typedef ACE_Singleton -TAO_METRICS_MONITOR_SINGLETON_TYPE; - -typedef ACE_Singleton -TAO_METRICS_REPORTING_MONITOR_SINGLETON_TYPE; - -#if defined (TAO_USES_REPORTING_METRICS) -typedef TAO_METRICS_REPORTING_MONITOR_ADAPTER_TYPE TAO_METRICS_MONITOR_ADAPTER; -typedef TAO_METRICS_REPORTING_MONITOR_SINGLETON_TYPE TAO_METRICS_MONITOR_SINGLETON; -#else -typedef TAO_METRICS_MONITOR_ADAPTER_TYPE TAO_METRICS_MONITOR_ADAPTER; -typedef TAO_METRICS_MONITOR_SINGLETON_TYPE TAO_METRICS_MONITOR_SINGLETON; -#endif - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ - -#endif /* METRICS_UPCALL_MONITOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.i deleted file mode 100644 index 9b028ba293b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.i +++ /dev/null @@ -1,381 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// @METRICS@ - -#ifndef METRICS_UPCALL_MONITOR_I -#define METRICS_UPCALL_MONITOR_I - -//# if defined (METRICS_USES_OP_CANCELLATION) -//# undef METRICS_USES_OP_CANCELLATION -//# endif /* METRICS_USES_OP_CANCELLATION */ - -# if ! defined (METRICS_USES_OP_CANCELLATION) -# define METRICS_USES_OP_CANCELLATION -# endif /* ! METRICS_USES_OP_CANCELLATION */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -///////////////////////////////////// -// Class TAO_Metrics_UpcallMonitor // -///////////////////////////////////// - -// Default constructor. - -ACE_INLINE -TAO_Metrics_UpcallMonitor::TAO_Metrics_UpcallMonitor () -{ -} - -// Destructor. - -ACE_INLINE -TAO_Metrics_UpcallMonitor::~TAO_Metrics_UpcallMonitor () -{ -} - -// Reports a successful upcall. - -ACE_INLINE void -TAO_Metrics_UpcallMonitor:: -report_made_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_0)) -{ - CORBA::ULong count = 0; - MONITOR_MAP_ENTRY *entry; - - if (made_map_.trybind (handle, count, entry) < 0) - { - ACE_DEBUG ((LM_DEBUG, - "Failed trybind for handle %u in made map\n", handle)); - ACE_THROW (Metrics::INTERNAL_0 ()); - } - - ++entry->int_id_; -} - -// Reports an unsuccessful upcall. - -ACE_INLINE void -TAO_Metrics_UpcallMonitor:: -report_missed_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_1)) -{ - CORBA::ULong count = 0; - MONITOR_MAP_ENTRY *entry; - - if (missed_map_.trybind (handle, count, entry) < 0) - { - ACE_DEBUG ((LM_DEBUG, - "Failed trybind for handle %u in missed map\n", handle)); - ACE_THROW (Metrics::INTERNAL_1 ()); - } - - ++entry->int_id_; -} - - -// Get the aggregate QoS statistics collected so far by the monitor. - -ACE_INLINE void -TAO_Metrics_UpcallMonitor::get_aggregate_QoS (RtecScheduler::handle_t handle, - Metrics::QoSParameter_t_out qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_2, - Metrics::INTERNAL_3)) -{ - CORBA::ULong made_count = 0; - CORBA::ULong missed_count = 0; - MONITOR_MAP_ENTRY *made_entry; - MONITOR_MAP_ENTRY *missed_entry; - - if (made_map_.trybind (handle, made_count, made_entry) < 0) - { - ACE_DEBUG ((LM_DEBUG, "TAO_Metrics_UpcallMonitor::get_aggregate_QoS: " - "Failed trybind for handle %u in made map\n", handle)); - ACE_THROW (Metrics::INTERNAL_2 ()); - } - - if (missed_map_.trybind (handle, missed_count, missed_entry) < 0) - { - ACE_DEBUG ((LM_DEBUG, "TAO_Metrics_UpcallMonitor::get_aggregate_QoS: " - "Failed trybind for handle %u in missed map\n", handle)); - ACE_THROW (Metrics::INTERNAL_3 ()); - } - - ACE_NEW_THROW_EX (qos, - Metrics::QoSParameter_t, - CORBA::NO_MEMORY ()); - - qos->handle = handle; - qos->deadlines_made = made_entry->int_id_; - qos->deadlines_missed = missed_entry->int_id_; - qos->operations_cancelled = 0; - qos->is_hrt = 0; -} - - -// Get the aggregate QoS statistics collected for each handle in the -// passed set. - -ACE_INLINE void -TAO_Metrics_UpcallMonitor::get_aggregate_QoS_set ( - const Metrics::Handle_Set_t & handle_set, - Metrics::QoSParameter_Set_out qos_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_4, - Metrics::INTERNAL_5)) -{ - CORBA::ULong made_count = 0; - CORBA::ULong missed_count = 0; - MONITOR_MAP_ENTRY *made_entry = 0; - MONITOR_MAP_ENTRY *missed_entry = 0; - - ACE_NEW_THROW_EX (qos_set, - Metrics::QoSParameter_Set (handle_set.length ()), - CORBA::NO_MEMORY ()); - qos_set->length (handle_set.length ()); - - - for (u_int i = 0; i < handle_set.length (); ++i) - { - made_count = 0; - missed_count = 0; - made_entry = 0; - missed_entry = 0; - - if (made_map_.trybind (handle_set [i], made_count, made_entry) < 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_Metrics_UpcallMonitor::get_aggregate_QoS_set: " - "Failed trybind for handle_set [%d] = %u in made map\n", - i, handle_set [i])); - ACE_THROW (Metrics::INTERNAL_4 ()); - } - - if (missed_map_.trybind (handle_set [i], missed_count, missed_entry) < 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_Metrics_UpcallMonitor::get_aggregate_QoS_set: " - "Failed trybind for handle_set[%d]=%u in missed map\n", - i, handle_set [i])); - ACE_THROW (Metrics::INTERNAL_5 ()); - } - - qos_set [i].handle = handle_set [i]; - qos_set [i].deadlines_made = made_entry->int_id_; - qos_set [i].deadlines_missed = missed_entry->int_id_; - qos_set [i].operations_cancelled = 0; - qos_set [i].is_hrt = 0; - } -} - - - -// Resets the aggregate QoS information for the given operation. - -ACE_INLINE void -TAO_Metrics_UpcallMonitor::reset_statistics (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_7, - Metrics::INTERNAL_8)) -{ - CORBA::ULong count = 0; - - if (made_map_.rebind (handle, count) < 0) - { - ACE_THROW (Metrics::INTERNAL_7 ()); - } - - if (missed_map_.rebind (handle, count) < 0) - { - ACE_THROW (Metrics::INTERNAL_8 ()); - } -} - - -// Accessor for map of operation handle to a count of deadlines missed. - -ACE_INLINE -TAO_Metrics_UpcallMonitor::MONITOR_MAP & -TAO_Metrics_UpcallMonitor::missed_map () -{ - return this->missed_map_; -} - -// Accessor for map of operation handle to a count of deadlines made. - -ACE_INLINE -TAO_Metrics_UpcallMonitor::MONITOR_MAP & -TAO_Metrics_UpcallMonitor::made_map () -{ - return this->made_map_; -} - -////////////////////////////////////////////// -// Class TAO_Metrics_ReportingUpcallMonitor // -////////////////////////////////////////////// - -// Default constructor. - -ACE_INLINE -TAO_Metrics_ReportingUpcallMonitor::TAO_Metrics_ReportingUpcallMonitor () -{ -} - -// Destructor. - -ACE_INLINE -TAO_Metrics_ReportingUpcallMonitor::~TAO_Metrics_ReportingUpcallMonitor () -{ -} - -// Reports a successful upcall. - -ACE_INLINE void -TAO_Metrics_ReportingUpcallMonitor:: -report_made_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_0)) -{ - monitor_.report_made_deadline (handle - ACE_ENV_ARG_DECL); -} - -// Reports an unsuccessful upcall. - -ACE_INLINE void -TAO_Metrics_ReportingUpcallMonitor:: -report_missed_deadline (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_1)) -{ - monitor_.report_missed_deadline (handle - ACE_ENV_ARG_DECL); -} - - -// Get the aggregate QoS statistics collected so far by the monitor. - -ACE_INLINE void -TAO_Metrics_ReportingUpcallMonitor::get_aggregate_QoS (RtecScheduler::handle_t handle, - Metrics::QoSParameter_t_out qos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_2, - Metrics::INTERNAL_3)) -{ - monitor_.get_aggregate_QoS (handle, - qos - ACE_ENV_ARG_DECL); -} - - -// Get the aggregate QoS statistics collected for each handle in the -// passed set. - -ACE_INLINE void -TAO_Metrics_ReportingUpcallMonitor::get_aggregate_QoS_set ( - const Metrics::Handle_Set_t & handle_set, - Metrics::QoSParameter_Set_out qos_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_4, - Metrics::INTERNAL_5)) -{ - monitor_.get_aggregate_QoS_set (handle_set, - qos_set - ACE_ENV_ARG_DECL); -} - - - -// Resets the aggregate QoS information for the given operation. - -ACE_INLINE void -TAO_Metrics_ReportingUpcallMonitor::reset_statistics (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::INTERNAL_7, - Metrics::INTERNAL_8)) -{ - monitor_.reset_statistics (handle - ACE_ENV_ARG_DECL); -} - - -// Reports the aggregate QoS statistics to the logger. - -ACE_INLINE void -TAO_Metrics_ReportingUpcallMonitor::report_aggregate_QoS ( - Metrics::QoSLogger_ptr logger, - Metrics::Time interval - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Metrics::NIL_LOGGER, - Metrics::INTERNAL_6)) -{ - if (CORBA::is_nil (logger)) - { - ACE_THROW (Metrics::NIL_LOGGER ()); - } - - Metrics::QoSParameter_Set qos_set; - u_int set_length = 1; - - // First, look at made map handles - MONITOR_MAP_ITERATOR iter (monitor_.made_map ()); - for (; iter.done () == 0; ++iter, ++set_length) - { - CORBA::ULong missed_count; - if (monitor_.missed_map ().find ((*iter).ext_id_, missed_count) < 0) - { - missed_count = 0; - } - - qos_set.length (set_length); - - qos_set [set_length - 1].entry_point = (const char *) "MONITOR MADE_MAP_OP"; - qos_set [set_length - 1].handle = (*iter).ext_id_; - qos_set [set_length - 1].deadlines_made = (*iter).int_id_; - qos_set [set_length - 1].deadlines_missed = missed_count; - qos_set [set_length - 1].operations_cancelled = 0; - qos_set [set_length - 1].is_hrt = 0; - } - - // Then, find missed map handles with no made map entry. - MONITOR_MAP_ITERATOR missed_iter (monitor_.missed_map ()); - for (; missed_iter.done () == 0; ++missed_iter) - { - CORBA::ULong made_count; - if (monitor_.made_map ().find ((*missed_iter).ext_id_, made_count) < 0) - { - qos_set.length (set_length); - - qos_set [set_length - 1].entry_point = (const char *) "MONITOR MISS_MAP_OP"; - qos_set [set_length - 1].handle = (*missed_iter).ext_id_; - qos_set [set_length - 1].deadlines_made = 0; - qos_set [set_length - 1].deadlines_missed = (*missed_iter).int_id_; - qos_set [set_length - 1].operations_cancelled = 0; - qos_set [set_length - 1].is_hrt = 0; - - ++set_length; - } - } - - logger->log_aggregate_QoS (qos_set, interval); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* METRICS_UPCALL_MONITOR_I */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp deleted file mode 100644 index 333b49c3ff6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// $Id$ - -#ifndef METRICS_UPCALL_MONITOR_T_CPP -#define METRICS_UPCALL_MONITOR_T_CPP - -#include "orbsvcs/Metrics/Metrics_UpcallMonitor_T.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_UpcallMonitor_T.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Virtual destructor: destroy actual consumer if we own it. -template -TAO_Metrics_UpcallMonitorAdapter:: -~TAO_Metrics_UpcallMonitorAdapter () -{ - if (adapter_owns_consumer_) - { - delete (& consumer_); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* METRICS_UPCALL_MONITOR_T_CPP */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.h deleted file mode 100644 index 4c5958cb09e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.h +++ /dev/null @@ -1,164 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef METRICS_UPCALL_MONITOR_T_H -#define METRICS_UPCALL_MONITOR_T_H - -#if ! defined (VXWORKS) - -// Comment out both of these to disable output -# define METRICS_MONITOR_ERROR_OUTPUT_ENABLED -# define METRICS_MONITOR_DEBUG_OUTPUT_ENABLED - -#endif /* ! VXWORKS */ - -#include "orbsvcs/Metrics/Metrics_LocalCache.h" -#include "orbsvcs/Metrics/Metrics_FrameManager.h" - -#include "ace/Hash_Map_Manager.h" - -#include "orbsvcs/RtecEventCommS.h" -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/MetricsS.h" - -#include "orbsvcs/Metrics/Metrics_UpcallMonitor.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class TAO_Metrics_UpcallMonitorAdapter - : public RtecEventComm::PushConsumer -{ - // = TITLE - // This class implements an adapter for monitoring QoS received by - // an event push consumer. - // - // = DESCRIPTION - // This class wraps the consumer event push upcall with time - // probe and monitor reporting calls. -public: - - TAO_Metrics_UpcallMonitorAdapter ( - POA_Metrics::QoSMonitor & monitor, - TAO_Metrics_LocalCache & cache, - TAO_Metrics_FrameManager & frame_manager, - POA_RtecEventComm::PushConsumer & consumer, - TAO::String_Manager entry_point, - RtecScheduler::handle_t handle, - RtecScheduler::Period_t period, - RtecScheduler::Time wcet, - RtecScheduler::Criticality_t criticality, - int adapter_owns_consumer = 1, - int cache_register = 1); - // Constructor that takes a reference to the various metrics - // objects, the actual push consumer we're monitoring, QoS info - // about the consumer, and an int that indicates whether (non-zero) - // or not (zero) we need to destroy the consumer in our destructor. - - virtual ~TAO_Metrics_UpcallMonitorAdapter (); - // Virtual destructor: destroys actual consumer if it owns it. - - RtecScheduler::Period_t get_period (); - // Get the current period for the adapter. - - void set_period (RtecScheduler::Period_t period); - // Set the current period for the adapter. - - void push (const RtecEventComm::EventSet & data, - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment ()); - // Do a monitored push to the actual PushConsumer for which we're a proxy - - void disconnect_push_consumer (CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment ()); - // Delegates to the actual PushConsumer for which we're a proxy - -protected: - - // = Implementation members. - - POA_Metrics::QoSMonitor & monitor_; - // A reference to the monitor to which we report. - - TAO_Metrics_LocalCache & cache_; - // A reference to the metrics data cache to which we report. - - TAO_Metrics_FrameManager & frame_manager_; - // A reference to the frame manager we use. - - POA_RtecEventComm::PushConsumer & consumer_; - // A reference to the actual PushConsumer for which we're a proxy - - RtecScheduler::handle_t handle_; - // Handle of the operation we're wrapping. - - RtecScheduler::Period_t period_; - // Current period for the adapter. - - ACE_Time_Value execution_time_; - // Current execution time for the adapter. - - int is_critical_; - // Whether or not the adapter is critical. - - int adapter_owns_consumer_; - // indicates whether (non-zero) or not (zero) we need - // to destroy the consumer in our destructor. - -}; - -template -class TAO_Metrics_ReportingUpcallMonitorAdapter - : public TAO_Metrics_UpcallMonitorAdapter -{ - // = TITLE - // This class implements an adapter for monitoring QoS received by - // an event push consumer. - // - // = DESCRIPTION - // This class wraps the consumer event push upcall with time - // probe and monitor reporting calls. -public: - - TAO_Metrics_ReportingUpcallMonitorAdapter ( - POA_Metrics::QoSMonitor & monitor, - TAO_Metrics_ReportingLocalCache & cache, - TAO_Metrics_FrameManager & frame_manager, - POA_RtecEventComm::PushConsumer & consumer, - TAO::String_Manager entry_point, - RtecScheduler::handle_t handle, - RtecScheduler::Period_t period, - RtecScheduler::Time wcet, - RtecScheduler::Criticality_t criticality, - int adapter_owns_consumer = 1, - Metrics::QoSLogger_ptr logger = 0); - // Constructor that takes a reference to a logger object and - // info needed to construct or base class. - -protected: - - // = Implementation members. - - Metrics::QoSLogger_ptr logger_; - // A (possibly null) CORBA pointer to a logging object - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_UpcallMonitor_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Metrics_UpcallMonitor_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* METRICS_UPCALL_MONITOR_T_H */ - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.i deleted file mode 100644 index 08b866de338..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.i +++ /dev/null @@ -1,263 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// @METRICS@ - -#ifndef METRICS_UPCALL_MONITOR_T_I -#define METRICS_UPCALL_MONITOR_T_I - -//# if defined (METRICS_USES_OP_CANCELLATION) -//# undef METRICS_USES_OP_CANCELLATION -//# endif /* METRICS_USES_OP_CANCELLATION */ - -# if ! defined (METRICS_USES_OP_CANCELLATION) -# define METRICS_USES_OP_CANCELLATION -# endif /* ! METRICS_USES_OP_CANCELLATION */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//////////////////////////////////////////// -// class TAO_Metrics_UpcallMonitorAdapter // -//////////////////////////////////////////// - - -// Constructor that takes a reference to the actual push consumer -// we're monitoring and an int that indicates whether (non-zero) or -// not (zero) we need to destroy the consumer in our destructor. - -template -ACE_INLINE -TAO_Metrics_UpcallMonitorAdapter:: -TAO_Metrics_UpcallMonitorAdapter ( - POA_Metrics::QoSMonitor & monitor, - TAO_Metrics_LocalCache &cache, - TAO_Metrics_FrameManager &frame_manager, - POA_RtecEventComm::PushConsumer & consumer, - TAO::String_Manager entry_point, - RtecScheduler::handle_t handle, - RtecScheduler::Period_t period, - RtecScheduler::Time wcet, - RtecScheduler::Criticality_t criticality, - int adapter_owns_consumer, - int cache_register) - : monitor_ (monitor), - cache_ (cache), - frame_manager_ (frame_manager), - consumer_ (consumer), - handle_ (handle), - period_ (period), - adapter_owns_consumer_ (adapter_owns_consumer) -{ -//DCL:Added to remove Linux compile warning - ACE_UNUSED_ARG(entry_point); - - // Ensure that the high res timer global scale factor - // is set before any of its static methods are used - ACE_High_Res_Timer::global_scale_factor (); - - // Store the RT_Info execution time. - ORBSVCS_Time::TimeT_to_Time_Value(this->execution_time_, - wcet); - this->is_critical_ = - (criticality == RtecScheduler::HIGH_CRITICALITY - || criticality == RtecScheduler::VERY_HIGH_CRITICALITY) - ? 1 : 0; - - // Use the type-preserving argument rather than the base class - // reference which is fine everywhere but here. - if (cache_register) - { - if (cache.metrics_enabled()) - cache.register_upcall_adapter (this->handle_, - entry_point, - this->is_critical_); - } -} - - -// Get the current priod for the adapter. - -template -ACE_INLINE RtecScheduler::Period_t -TAO_Metrics_UpcallMonitorAdapter:: -get_period () -{ - return this->period_; -} - - -// Set the current priod for the adapter. - -template -ACE_INLINE void -TAO_Metrics_UpcallMonitorAdapter:: -set_period (RtecScheduler::Period_t period) -{ - this->period_ = period; -} - - -// Do a monitored push to the actual PushConsumer for which we're a proxy -template -ACE_INLINE void -TAO_Metrics_UpcallMonitorAdapter:: -push (const RtecEventComm::EventSet & data, - CORBA::Environment &ACE_TRY_ENV) -{ - // Save stamped deadline. - ACE_Time_Value deadline_tv; - - // If we get an error, just set the deadline to zero, and possibly - // complain. - if (this->frame_manager_.get_end_time (this->period_, deadline_tv) < 0) - { - deadline_tv = ACE_Time_Value::zero; -# if defined (METRICS_MONITOR_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_UpcallMonitorAdapter::push" - " get_end_time failed .\n")); -# endif /* METRICS_MONITOR_ERROR_OUTPUT_ENABLED */ - } - -# if defined (METRICS_USES_OP_CANCELLATION) - - // Take current time stamp and add expected execution to get - // projected completion. Done this way for efficiency, to minimize - // temporaries and their copies and constructor and destructor calls. - ACE_Time_Value projected_tv; - ACE_hrtime_t hrtime_now = ACE_OS::gethrtime (); - ACE_High_Res_Timer::hrtime_to_tv (projected_tv, - hrtime_now); - projected_tv += this->execution_time_; - - // Operation cancellation: uses WCET to determine whether or not - // deadline will be met. A critical operation (is_critical_) is - // dispatched unconditionally. A zero deadline indicates an - // operation is not deadline-bound and thus is not subject to - // cancellation. - if (this->is_critical_ - || deadline_tv >= projected_tv - || deadline_tv == ACE_Time_Value::zero) - { -# endif /* METRICS_USES_OP_CANCELLATION */ - - // Record the start of the upcall in the cache. -#if 0 - if ( this->handle_ != TAO_Metrics_Utils::timeoutEvent ()) -#endif /* 0 */ - if (cache_.metrics_enabled()) - cache_.report_upcall_start (this->handle_); - - // Push to the actual consumer. - consumer_.push (data, ACE_TRY_ENV); - ACE_CHECK; - - // Record the end of the upcall in the cache, and report whether - // the deadline was made or missed to the monitor. - -#if 0 - if ( this->handle_ != TAO_Metrics_Utils::timeoutEvent ()) - { -#else /* 1 */ - if (1) - { -#endif /* 0 */ - if (cache_.metrics_enabled()) - { - int result = cache_.report_upcall_stop (this->handle_, deadline_tv); - if (result == 0) - { - monitor_.report_made_deadline (this->handle_, ACE_TRY_ENV); - ACE_CHECK; - } - else if (result == 1) - { - monitor_.report_missed_deadline (this->handle_, ACE_TRY_ENV); - ACE_CHECK; - } -# if defined (METRICS_MONITOR_ERROR_OUTPUT_ENABLED) - else - { - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_UpcallMonitorAdapter::push" - " upcall stop reporting failed .\n")); - } - -# endif /* METRICS_MONITOR_ERROR_OUTPUT_ENABLED */ - } - } -# if defined (METRICS_USES_OP_CANCELLATION) - } - else - { -# if defined (METRICS_MONITOR_DEBUG_OUTPUT_ENABLED) - ACE_DEBUG ((LM_INFO, - "SRT Operation cancelled .\n")); -# endif /* METRICS_MONITOR_DEBUG_OUTPUT_ENABLED */ - - if (cache_.metrics_enabled()) - { - // The operation push was cancelled: report the cancellation to - // the cache and the missed deadline to the monitor. - cache_.report_upcall_cancellation (this->handle_); - monitor_.report_missed_deadline (this->handle_, ACE_TRY_ENV); - ACE_CHECK; - } - } - -# endif /* METRICS_USES_OP_CANCELLATION */ -} - -// Delegates to the actual PushConsumer for which we're a proxy. - -template -ACE_INLINE void -TAO_Metrics_UpcallMonitorAdapter:: -disconnect_push_consumer (CORBA::Environment &ACE_TRY_ENV) -{ - consumer_.disconnect_push_consumer (ACE_TRY_ENV); -} - - -template -ACE_INLINE -TAO_Metrics_ReportingUpcallMonitorAdapter:: -TAO_Metrics_ReportingUpcallMonitorAdapter ( - POA_Metrics::QoSMonitor & monitor, - TAO_Metrics_ReportingLocalCache &cache, - TAO_Metrics_FrameManager &frame_manager, - POA_RtecEventComm::PushConsumer & consumer, - TAO::String_Manager entry_point, - RtecScheduler::handle_t handle, - RtecScheduler::Period_t period, - RtecScheduler::Time wcet, - RtecScheduler::Criticality_t criticality, - int adapter_owns_consumer, - Metrics::QoSLogger_ptr logger) - : TAO_Metrics_UpcallMonitorAdapter - (monitor, - cache, - frame_manager, - consumer, - entry_point, - handle, - period, - wcet, - criticality, - adapter_owns_consumer, - 0 /* don't register */), - logger_ (logger) -{ - // Use the type-preserving argument rather than the base class - // reference which is fine everywhere but here. - cache.register_upcall_adapter (this->handle_, - entry_point, - this->is_critical_, - this->logger_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* METRICS_UPCALL_MONITOR_T_I */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp deleted file mode 100644 index 99c51fe77b7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp +++ /dev/null @@ -1,534 +0,0 @@ -// $Id$ - -#ifndef METRICS_UTILS_CPP -#define METRICS_UTILS_CPP - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - - -#include "ace/Metrics_Cache.h" -#include "orbsvcs/Metrics/Metrics_Utils.h" -#include "orbsvcs/Metrics/Metrics_LocalCache.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -///////////////////////////// -// Class TAO_Metrics_Utils // -///////////////////////////// - -// Static constants - -const u_int WSOA_Metrics_Handles::WSOA_METRICS_MAX_TILING_FACTOR = 64; - -const u_int TAO_Metrics_Utils::METRICS_BUFSIZE = 64; - -const u_int TAO_Metrics_Utils::METRICS_ENQUEUE_PROBE_ID_BASE = 0; -const u_int TAO_Metrics_Utils::METRICS_DEQUEUE_PROBE_ID_BASE = 1000; -const u_int TAO_Metrics_Utils::METRICS_SCHED_PROBE_ID_BASE = 2000; -const u_int TAO_Metrics_Utils::METRICS_QUO_PROBE_ID_BASE = 3000; -const u_int TAO_Metrics_Utils::METRICS_RTARM_PROBE_ID_BASE = 4000; -const u_int TAO_Metrics_Utils::METRICS_TNS_PROBE_ID_BASE = 5000; -const u_int TAO_Metrics_Utils::METRICS_TEEC_PROBE_ID_BASE = 6000; -const u_int TAO_Metrics_Utils::METRICS_UPCALL_MONITOR_ADAPTER_ID_BASE = 7000; - -// Static variable - -RtecScheduler::handle_t TAO_Metrics_Utils::timeoutEvent_ = 72; - - - -// Static method to set the mission state in the logger. - -void -TAO_Metrics_Utils::set_mission_state (int i, Metrics::QoSLogger_ptr logger) -{ - if (CORBA::is_nil (logger)) - { -#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_Utils::set_mission_state:\n" - "Logger IOR reference is nil.\n")); -#endif - return; - } - - char banner [TAO_Metrics_Utils::METRICS_BUFSIZE]; - ACE_OS::memset (banner, 0, TAO_Metrics_Utils::METRICS_BUFSIZE); - ACE_OS::sprintf (banner, "\n\n*** Mission State %d ***\n\n", i); - - ACE_TRY_NEW_ENV - { - logger->send_banner (banner - ACE_ENV_ARG_DECL); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { -#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_Metrics_LocalCache::set_mission_state:" - " logger call failed\n"); -#endif - } - ACE_ENDTRY; -} - -// Sets the logger reference. - -Metrics::QoSLogger_var -TAO_Metrics_Utils::get_logger (const char * logger_ior_str, - CORBA::ORB_ptr orb) -{ - Metrics::QoSLogger_var logger; - if (logger_ior_str && orb) - { - ACE_TRY_NEW_ENV - { - CORBA::Object_var obj = - orb->string_to_object (logger_ior_str); - ACE_TRY_CHECK; - - if (CORBA::is_nil (obj.in ())) - { -#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_Utils::get_logger:\n" - "Logger IOR string produced a " - "nil reference:\n[%s]", - logger_ior_str)); -#endif - return logger; - } - else - { - logger = Metrics::QoSLogger::_narrow (obj.in ()); - ACE_TRY_CHECK; - - if (CORBA::is_nil (logger.in ())) - { -#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED) - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_LocalCache::set_logger:\n" - "Could not narrow IOR to logger:\n[%s]", - logger_ior_str)); -#endif - return logger; - } - } - } - ACE_CATCHANY - { -#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_Metrics_LocalCache::set_logger exception"); -#endif - return logger; - } - ACE_ENDTRY; - } -#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED) - else - { - ACE_ERROR ((LM_ERROR, - "TAO_Metrics_LocalCache::set_logger:\n" - "must pass a non-zero orb and ior pointer\n")); - } -#endif - return logger; -} - - -//////////////////////////////// -// class WSOA_Metrics_Handles // -//////////////////////////////// - -// Default constructor - registers all WSOA METRICS INSTRUMENTATION handles. - -WSOA_Metrics_Handles::WSOA_Metrics_Handles () - : tiles_requested_ (0) - , compute_metrics_handle_(0) - , RTARM_triggered_adaptation_metrics_handle_(0) - , RTARM_region_transition_metrics_handle_(0) - , QuO_contract_eval_metrics_handle_(0) - , tile_request_delegate_metrics_handle_(0) - , image_received_metrics_handle_(0) - , image_processed_metrics_handle_(0) - , image_quiescent_metrics_handle_(0) - , tile_received_first_metrics_handle_(0) - , tile_queuing_first_metrics_handle_(0) - , tile_decompression_first_metrics_handle_(0) - , tile_decompression_handle_(0) - , tile_ipm_first_metrics_handle_(0) - , tile_processed_first_metrics_handle_(0) - , zlib_compression_handle_(0) - , zlib_decompression_handle_(0) -{ -#ifdef TAO_USES_REPORTING_METRICS - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "TAO_compute_scheduling", - TAO_Metrics_Utils::SCHED, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->compute_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "RTARM_triggered_adaptation", - TAO_Metrics_Utils::RTARM, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->RTARM_triggered_adaptation_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "RTARM_region_transition", - TAO_Metrics_Utils::RTARM, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->RTARM_region_transition_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "QuO_contract_eval", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->QuO_contract_eval_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_request_delegate", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->tile_request_delegate_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "image_received", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->image_received_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "image_processed", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->image_processed_metrics_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "image_quiescent", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->image_quiescent_metrics_handle_); - - char registration_name[64]; - u_int i; - - // Store the first tile received handle, and make room for the others. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_received_0", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->tile_received_first_metrics_handle_); - - RtecScheduler::handle_t temp_metrics_handle = 0; - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_received_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - temp_metrics_handle); - } - - // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_processed_0", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->tile_processed_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_processed_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - temp_metrics_handle); - } - - // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_queuing_0", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->tile_queuing_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_queuing_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - temp_metrics_handle); - } - - // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_decompression_0", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->tile_decompression_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_decompression_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - temp_metrics_handle); - } - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_ipm_0", - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->tile_ipm_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_ipm_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - temp_metrics_handle); - } - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "zlib Compression", - TAO_Metrics_Utils::SCHED, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->zlib_compression_handle_); - - REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "zlib Compression", - TAO_Metrics_Utils::SCHED, - *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), - this->zlib_decompression_handle_); -#else /* ! TAO_USES_REPORTING_METRICS */ - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "TAO_compute_scheduling", - TAO_Metrics_Utils::SCHED, - this->compute_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "RTARM_triggered_adaptation", - TAO_Metrics_Utils::RTARM, - this->RTARM_triggered_adaptation_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "RTARM_region_transition", - TAO_Metrics_Utils::RTARM, - this->RTARM_region_transition_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "QuO_contract_eval", - TAO_Metrics_Utils::QUO, - this->QuO_contract_eval_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_request_delegate", - TAO_Metrics_Utils::QUO, - this->tile_request_delegate_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "image_received", - TAO_Metrics_Utils::QUO, - this->image_received_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "image_processed", - TAO_Metrics_Utils::QUO, - this->image_processed_metrics_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "image_quiescent", - TAO_Metrics_Utils::QUO, - this->image_quiescent_metrics_handle_); - - char registration_name[64]; - u_int i; - - // Store the first tile received handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_received_0", - TAO_Metrics_Utils::QUO, - this->tile_received_first_metrics_handle_); - - RtecScheduler::handle_t temp_metrics_handle; - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_received_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - temp_metrics_handle); - } - - // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_processed_0", - TAO_Metrics_Utils::QUO, - this->tile_processed_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_processed_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - temp_metrics_handle); - } - - // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_queuing_0", - TAO_Metrics_Utils::QUO, - this->tile_queuing_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_queuing_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - temp_metrics_handle); - } - - // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_decompression_0", - TAO_Metrics_Utils::QUO, - this->tile_decompression_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_decompression_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - temp_metrics_handle); - } - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "tile_ipm_0", - TAO_Metrics_Utils::QUO, - this->tile_ipm_first_metrics_handle_); - - for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) - { - ::sprintf (registration_name, "tile_ipm_%d", i); - - // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - temp_metrics_handle); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - registration_name, - TAO_Metrics_Utils::QUO, - tile_decompression_handle_); - } - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "zlib Compression", - TAO_Metrics_Utils::SCHED, - this->zlib_compression_handle_); - - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), - base_metrics, - "zlib Compression", - TAO_Metrics_Utils::SCHED, - this->zlib_decompression_handle_); -#endif /* TAO_USES_REPORTING_METRICS */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_Utils.i" -#endif /* __ACE_INLINE__ */ - -#else -#error ACE_COMPILE_TIMEPROBES must be defined in order to collect metrics -#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ - -#endif /* METRICS_UTILS_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h deleted file mode 100644 index 5e0e0ebd36d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h +++ /dev/null @@ -1,187 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef METRICS_UTILS_H -#define METRICS_UTILS_H - - -#if defined (ACE_METRICS_COLLECTION) - -#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES) - -#if ! defined (VXWORKS) - -// Comment out both of these to disable output -# define METRICS_UTILS_ERROR_OUTPUT_ENABLED -# define METRICS_UTILS_DEBUG_OUTPUT_ENABLED - -#endif /* ! VXWORKS */ - -#include "ace/OS.h" -#include "ace/Singleton.h" -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/MetricsC.h" -#include "orbsvcs/Metrics/metrics_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Metrics_Export TAO_Metrics_Utils -{ - // = TITLE - // Defines a class for various metrics utility functions. - // - // = DESCRIPTION - // This class provides static methods for various general - // purpose tasks for managing and using the metrics framework. - -public: - - // Type declarations - - enum Base_Metrics_Type {SCHED, QUO, RTARM, TNS, TEEC}; - - static const u_int METRICS_BUFSIZE; - // Constant size for local buffers. - - static const u_int METRICS_ENQUEUE_PROBE_ID_BASE; - static const u_int METRICS_DEQUEUE_PROBE_ID_BASE; - static const u_int METRICS_SCHED_PROBE_ID_BASE; - static const u_int METRICS_QUO_PROBE_ID_BASE; - static const u_int METRICS_TNS_PROBE_ID_BASE; - static const u_int METRICS_TEEC_PROBE_ID_BASE; - static const u_int METRICS_RTARM_PROBE_ID_BASE; - static const u_int METRICS_UPCALL_MONITOR_ADAPTER_ID_BASE; - // Constants for offsets into ranges of probe ids. - - static void set_mission_state (int i, Metrics::QoSLogger_ptr logger); - // Sets the mission state in the logger referenced by the passed pointer. - - static void set_mission_state (int i, const char * logger_ior_str); - // Sets the mission state in the logger referenced by the passed ior string. - - static Metrics::QoSLogger_var get_logger (const char * logger_ior_str, - CORBA::ORB_ptr orb_); - // Gets a pointer to a logger from the passed logger ior string, - // using the passed ORB. - - static RtecScheduler::handle_t timeoutEvent (void); - // Accessor for static timeout event handle. This handle is ignored - // by the QoS monitor, since by definition it will be dispatched - // after the end-of-frame. - - static void timeoutEvent (RtecScheduler::handle_t handle); - // Mutator for static timeout event handle. This handle is ignored - // by the QoS monitor, since by definition it will be dispatched - // after the end-of-frame. - -private: - - static RtecScheduler::handle_t timeoutEvent_; -}; - - -struct TAO_Metrics_Export WSOA_Metrics_Handles -{ - // = TITLE - // Defines a helper class for WSOA METRICS INSTRUMENTATION. - // - // = DESCRIPTION - // This class provides a single point of initialization (registration) - // and storage for the handles used in WSOA metrics collection. It is necessary - // to define this class at this level to cross-cut multiple layers of the - // architecture and provide consistent points of instrumentation across layers. - -public: - - WSOA_Metrics_Handles (); - // Default constructor - registers all handles. - - // number of tile handles to reserve in each category. - static const u_int WSOA_METRICS_MAX_TILING_FACTOR; - - // global attribute to decide when image is downloaded. - u_long tiles_requested_; - - // Globally accessible handles for METRICS INSTRUMENTATION - RtecScheduler::handle_t compute_metrics_handle_; - RtecScheduler::handle_t RTARM_triggered_adaptation_metrics_handle_; - RtecScheduler::handle_t RTARM_region_transition_metrics_handle_; - RtecScheduler::handle_t QuO_contract_eval_metrics_handle_; - RtecScheduler::handle_t tile_request_delegate_metrics_handle_; - RtecScheduler::handle_t image_received_metrics_handle_; - RtecScheduler::handle_t image_processed_metrics_handle_; - RtecScheduler::handle_t image_quiescent_metrics_handle_; - RtecScheduler::handle_t tile_received_first_metrics_handle_; - RtecScheduler::handle_t tile_queuing_first_metrics_handle_; - RtecScheduler::handle_t tile_decompression_first_metrics_handle_; - RtecScheduler::handle_t tile_decompression_handle_; - RtecScheduler::handle_t tile_ipm_first_metrics_handle_; - RtecScheduler::handle_t tile_processed_first_metrics_handle_; - - RtecScheduler::handle_t zlib_compression_handle_; - RtecScheduler::handle_t zlib_decompression_handle_; -}; - -typedef ACE_Singleton -WSOA_METRICS_HANDLES_SINGLETON; - -/** - * NOTE: This is a simple macro which calls the appropriate registration function with the cache to - * store the data from this pointer. At the ACE level there is no need to give a PROBE_TYPE - * because there is only one probe type (ACE_Timeprobe). - * - * USAGE_LEVEL: TAO - * - * Q1: Where is this and the next macro used? One example is on TAO/orbsvcs/orbsvcs/Metrics. No where in the ace code. - * So is this a ACE or TAO macro? - * - * Q2: Is the function (register + METRICS_REGION) a ACE or TAO? - * A2: TAO. Define in Metrics_Local_Cache_T.h. The only METRICS_REGION that exists is 'base_metrics'. Used - * in $TAO_ROOT/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp - * - * @param METRICS_PTR - Initialized pointer to the Metrics_Cache. This pointer is used to register the probe - * with the associated cache. - * @param METIRCS_REGION - At present there is only one 'base_metrics'. - * @param PROBE_NAME - String name of the probe - * @param PROBE_TYPE - Unsigned integer representing the probe type - * @param METRICS_HANDLE - Variable used to contain the metrics probe handle that is the result of this function - * The type of the handle is a RtecScheduler::handle_t - */ -# define REGISTER_METRICS_PROBE_RETURN(METRICS_PTR,METRICS_REGION,PROBE_NAME,PROBE_TYPE,METRICS_HANDLE) \ -do { if((METRICS_PTR->metrics_enabled())) { \ -METRICS_HANDLE = METRICS_PTR-> \ -register_##METRICS_REGION ( \ -PROBE_NAME, \ -PROBE_TYPE); \ -} } while (0) - -/** - * Same as above but instead of just reporting information to a cache there is also reference to a Metrics_Loger (TAO feature). - * The logger is used to record the information. The type of probe is register with the logger - * - * USAGE_LEVEL: TAO - */ -# define REGISTER_METRICS_REPORTING_PROBE_RETURN(METRICS_PTR,METRICS_REGION,PROBE_NAME,PROBE_TYPE,METRICS_LOGGER_REF,METRICS_HANDLE) \ -do { if((METRICS_PTR->metrics_enabled())) { \ -METRICS_HANDLE = METRICS_PTR-> \ -register_##METRICS_REGION## ( \ -PROBE_NAME, \ -PROBE_TYPE, \ -METRICS_LOGGER_REF); \ -} } while (0) - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Metrics/Metrics_Utils.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */ -#endif /* ACE_METRICS_COLLECTION */ - -#endif /* METRICS_UTILS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.i deleted file mode 100644 index 04a77bddb52..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.i +++ /dev/null @@ -1,39 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#ifndef METRICS_UTILS_I -#define METRICS_UTILS_I - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -///////////////////////////// -// Class TAO_Metrics_Utils // -///////////////////////////// - -// Accessor for static timeout event handle. This handle is ignored -// by the QoS monitor, since by definition it will be dispatched -// after the end-of-frame. - -ACE_INLINE -RtecScheduler::handle_t -TAO_Metrics_Utils::timeoutEvent (void) -{ - return TAO_Metrics_Utils::timeoutEvent_; -} - - -// Mutator for static timeout event handle. This handle is ignored -// by the QoS monitor, since by definition it will be dispatched -// after the end-of-frame. - -ACE_INLINE -void -TAO_Metrics_Utils::timeoutEvent (RtecScheduler::handle_t handle) -{ - TAO_Metrics_Utils::timeoutEvent_ = handle; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* METRICS_UTILS_I */ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/metrics_export.h b/TAO/orbsvcs/orbsvcs/Metrics/metrics_export.h deleted file mode 100644 index 846c6c45427..00000000000 --- a/TAO/orbsvcs/orbsvcs/Metrics/metrics_export.h +++ /dev/null @@ -1,50 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_Metrics -// ------------------------------ -#ifndef TAO_METRICS_EXPORT_H -#define TAO_METRICS_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (TAO_METRICS_HAS_DLL) -# define TAO_METRICS_HAS_DLL 1 -#endif /* ! TAO_METRICS_HAS_DLL */ - -#if defined (TAO_METRICS_HAS_DLL) && (TAO_METRICS_HAS_DLL == 1) -# if defined (TAO_METRICS_BUILD_DLL) -# define TAO_Metrics_Export ACE_Proper_Export_Flag -# define TAO_METRICS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_METRICS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_METRICS_BUILD_DLL */ -# define TAO_Metrics_Export ACE_Proper_Import_Flag -# define TAO_METRICS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_METRICS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_METRICS_BUILD_DLL */ -#else /* TAO_METRICS_HAS_DLL == 1 */ -# define TAO_Metrics_Export -# define TAO_METRICS_SINGLETON_DECLARATION(T) -# define TAO_METRICS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_METRICS_HAS_DLL == 1 */ - -// Set TAO_METRICS_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_METRICS_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_METRICS_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_METRICS_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_METRICS_NTRACE */ - -#if (TAO_METRICS_NTRACE == 1) -# define TAO_METRICS_TRACE(X) -#else /* (TAO_METRICS_NTRACE == 1) */ -# define TAO_METRICS_TRACE(X) ACE_TRACE_IMPL(X) -#endif /* (TAO_METRICS_NTRACE == 1) */ - -#endif /* TAO_METRICS_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp b/TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp deleted file mode 100644 index bee9ae0c932..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp +++ /dev/null @@ -1,232 +0,0 @@ -// $Id$ - -#ifndef TAO_BINDINGS_ITERATOR_T_CPP -#define TAO_BINDINGS_ITERATOR_T_CPP - -#include "orbsvcs/Naming/Bindings_Iterator_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Bindings_Iterator::TAO_Bindings_Iterator ( - TAO_Hash_Naming_Context *context, - ITERATOR *hash_iter, - PortableServer::POA_ptr poa, - TAO_SYNCH_RECURSIVE_MUTEX &lock) - : destroyed_ (0), - context_ (context), - hash_iter_ (hash_iter), - lock_ (lock), - poa_ (PortableServer::POA::_duplicate (poa)) - -{ -} - -template -TAO_Bindings_Iterator::~TAO_Bindings_Iterator (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - delete hash_iter_; - - // Since we are going away, decrement the reference count on the - // Naming Context we were iterating over. - context_->interface ()->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// Return the Default POA of this Servant -template PortableServer::POA_ptr -TAO_Bindings_Iterator::_default_POA ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -template CORBA::Boolean -TAO_Bindings_Iterator::next_one ( - CosNaming::Binding_out b - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CosNaming::Binding *binding; - - // Allocate a binding to be returned (even if there no more - // bindings, we need to allocate an out parameter.) - ACE_NEW_THROW_EX (binding, - CosNaming::Binding, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - b = binding; - - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // Check to make sure this object is still valid. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0); - - // If the context we are iterating over has been destroyed, - // self-destruct. - if (context_->destroyed ()) - { - destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0); - } - - // If there are no more bindings. - if (hash_iter_->done ()) - { - b->binding_type = CosNaming::nobject; - b->binding_name.length (0); - return 0; - } - else - { - // Return a binding. - TABLE_ENTRY *hash_entry = 0; - hash_iter_->next (hash_entry); - - if (populate_binding (hash_entry, *binding) == 0) - ACE_THROW_RETURN (CORBA::NO_MEMORY (), 0); - - hash_iter_->advance (); - return 1; - } -} - -template CORBA::Boolean -TAO_Bindings_Iterator::next_n ( - CORBA::ULong how_many, - CosNaming::BindingList_out bl - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // We perform an allocation before obtaining the lock so that an out - // parameter is allocated in case we fail to obtain the lock. - ACE_NEW_THROW_EX (bl, - CosNaming::BindingList (0), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - // Obtain the lock. - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // Check to make sure this object is still valid. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0); - - // If the context we are iterating over has been destroyed, - // self-destruct. - if (context_->destroyed ()) - { - destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0); - } - - // Check for illegal parameter values. - if (how_many == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - // If there are no more bindings... - if (hash_iter_->done ()) - return 0; - else - { - // Initially assume that the iterator has the requested number of - // bindings. - bl->length (how_many); - - TABLE_ENTRY *hash_entry = 0; - - // Iterate and populate the BindingList. - for (CORBA::ULong i = 0; i < how_many; i++) - { - hash_iter_->next (hash_entry); - - if (populate_binding (hash_entry, bl[i]) == 0) - ACE_THROW_RETURN (CORBA::NO_MEMORY (), 0); - - if (hash_iter_->advance () == 0) - { - // If no more bindings are left, reset length to the actual - // number of bindings populated, and get out of the loop. - bl->length (i + 1); - break; - } - } - return 1; - } -} - -template void -TAO_Bindings_Iterator::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object is still valid. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Mark the object invalid. - this->destroyed_ = 1; - - PortableServer::ObjectId_var id = - poa_->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - poa_->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -template int -TAO_Bindings_Iterator::populate_binding ( - TABLE_ENTRY *hash_entry, - CosNaming::Binding &b) -{ - b.binding_type = hash_entry->int_id_.type_; - b.binding_name.length (1); - - // Here we perform a check before assignment to make sure - // CORBA::string_dup is not called on 0 pointer, since the spec does - // not say what should happen in that case. - if (hash_entry->ext_id_.id () != 0) - { - b.binding_name[0].id = - hash_entry->ext_id_.id (); - if (b.binding_name[0].id.in () == 0) - return 0; - } - if (hash_entry->ext_id_.kind () != 0) - { - b.binding_name[0].kind = - hash_entry->ext_id_.kind (); - if (b.binding_name[0].kind.in () == 0) - return 0; - } - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_BINDINGS_ITERATOR_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h b/TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h deleted file mode 100644 index 6bed837d729..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h +++ /dev/null @@ -1,145 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Bindings_Iterator_T.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_BINDINGS_ITERATOR_T_H -#define TAO_BINDINGS_ITERATOR_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Naming/Hash_Naming_Context.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Bindings_Iterator - * - * @brief This class implements the interface that is - * part of the idl module. This class works with Hash_Map-based - * implementations of CosNaming::NamingContext. - * - * This class is templatized by the types of the underlying - * hash table iterator and hash table entry, so that it can be - * used for both TAO_Transient_Naming_Context and - * TAO_Persistent_Naming_Context (and any other classes with - * underlying data structures supporting - * ACE_Hash_Map_Manager/Iterator - like interfaces). - * - * Instances of s affect reference counts - * of corresponding Naming Contexts. Reference count on a - * Naming Context is incremented by one for a lifetime of each - * instance of created for that - * context, i.e., a Naming Context cannot - * be cleaned up (but, of course, it can be invalidated) before - * all of its iterators have been cleaned up. When - * method is invoked on a Naming Context, all of its iterators are - * destroyed in a "lazy evaluation" fashion, i.e., whenever a next - * operation is invoked on an iterator, and it can detect that - * the corresponding Naming Context has been invalidated, the - * iterator is destroyed. - */ -template -class TAO_Bindings_Iterator : public virtual POA_CosNaming::BindingIterator -{ -public: - // = Intialization and termination methods. - /** - * Constructor expects a pointer to a - * dynamically allocated hash map iterator (destructor - * deallocates hash map iterator). - */ - TAO_Bindings_Iterator (TAO_Hash_Naming_Context *context, - ITERATOR *hash_iter, - PortableServer::POA_ptr poa, - TAO_SYNCH_RECURSIVE_MUTEX &lock); - - - /// Destructor. - ~TAO_Bindings_Iterator (void); - - /// Returns the Default POA of this Servant object - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); - - // = Idl methods. - - /// This operation passes back the next unseen binding. True is - /// returned if a binding is passed back, and false is returned otherwise. - CORBA::Boolean next_one (CosNaming::Binding_out b - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * This operation passes back at most unseen bindings. - * True is returned if bindings were passed back, and false is - * returned if no bindings were passed back. - */ - CORBA::Boolean next_n (CORBA::ULong how_many, - CosNaming::BindingList_out bl - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This operation destroys the iterator. - void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // = Helper method. - - /** - * Helper function used by TAO_*_Naming_Context and - * TAO_BindingIterator: populate a binding with info contained - * in . Return 1 if everything went smoothly, 0 if an - * allocation failed. - */ - static int populate_binding (TABLE_ENTRY *hash_entry, - CosNaming::Binding &b); - -private: - /** - * Flag indicating whether this iterator is still valid. (The - * iterator becomes invalid when method has been invoked - * on it, or when method has been invoked on the - * corresponding Naming Context.) This flag is necessary - * because immediate destruction of this servant might not be possible - * due to pending requests in the POA. - */ - int destroyed_; - - /** - * Pointer to the Naming Context we are iterating over. We need - * this pointer to make sure the context is still valid before - * each iteration, and to decrement its reference count once we are . - */ - TAO_Hash_Naming_Context *context_; - - /// A pointer to the hash map iterator. - ITERATOR *hash_iter_; - - /// Lock passed on from Naming Context to serialize access to the - /// internal data structure. - TAO_SYNCH_RECURSIVE_MUTEX &lock_; - - /// Implement a different _default_POA(). - PortableServer::POA_var poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Naming/Bindings_Iterator_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Bindings_Iterator_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_BINDINGS_ITERATOR_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Entries.cpp b/TAO/orbsvcs/orbsvcs/Naming/Entries.cpp deleted file mode 100644 index 5fddba2a270..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Entries.cpp +++ /dev/null @@ -1,127 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Entries.cpp -// -// = AUTHOR -// Marina Spivak -// -// ============================================================================ - -#include "orbsvcs/Naming/Entries.h" - -ACE_RCSID(Naming, Entries, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_IntId::TAO_IntId (void) - : type_ (CosNaming::nobject) -{ - ref_ = CORBA::Object::_nil (); -} - -TAO_IntId::TAO_IntId (CORBA::Object_ptr obj, - CosNaming::BindingType type) - : type_ (type) -{ - ref_ = CORBA::Object::_duplicate (obj); -} - -TAO_IntId::TAO_IntId (const TAO_IntId &rhs) -{ - type_ = rhs.type_; - ref_ = CORBA::Object::_duplicate (rhs.ref_); -} - -TAO_IntId::~TAO_IntId (void) -{ - CORBA::release (ref_); -} - -void -TAO_IntId::operator= (const TAO_IntId &rhs) -{ - // check for self assignment. - if (&rhs == this) - return; - - type_ = rhs.type_; - - CORBA::release (ref_); - ref_ = CORBA::Object::_duplicate (rhs.ref_); -} - -TAO_ExtId::TAO_ExtId (void) - : kind_ (), - id_ () -{ -} - -TAO_ExtId::TAO_ExtId (const char *id, - const char *kind) - : kind_ (kind), - id_ (id) -{ -} - -TAO_ExtId::TAO_ExtId (const TAO_ExtId &rhs) -{ - id_ = rhs.id_; - kind_ = rhs.kind_; -} - -TAO_ExtId::~TAO_ExtId (void) -{ -} - -const char * -TAO_ExtId::id (void) -{ - return id_.fast_rep (); -} - -const char * -TAO_ExtId::kind (void) -{ - return kind_.fast_rep (); -} - -void -TAO_ExtId::operator= (const TAO_ExtId &rhs) -{ - // Check for self assignment. - if (&rhs == this) - return; - - id_ = rhs.id_; - kind_ = rhs.kind_; -} - -bool -TAO_ExtId::operator== (const TAO_ExtId &rhs) const -{ - return id_ == rhs.id_ && kind_ == rhs.kind_; -} - -bool -TAO_ExtId::operator!= (const TAO_ExtId &rhs) const -{ - return id_ != rhs.id_ || kind_ != rhs.kind_; -} - -u_long -TAO_ExtId::hash (void) const -{ - ACE_CString temp (id_); - temp += kind_; - - return temp.hash (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Entries.h b/TAO/orbsvcs/orbsvcs/Naming/Entries.h deleted file mode 100644 index e41d9bdf258..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Entries.h +++ /dev/null @@ -1,139 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Entries.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_ENTRIES_H -#define TAO_ENTRIES_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 "ace/SString.h" - -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/Naming/naming_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_IntId - * - * @brief Helper class for TAO_Transient_Bindings_Map: unifies several - * data items, so they can be stored together as a - * for a in a hash table holding the state of a Transient - * Naming Context. - * - * This class holds CORBA Object pointer and a binding type, so - * they can be stored together as a for a in a - * hash table holding the state of a Transient Naming Context. - */ -class TAO_Naming_Serv_Export TAO_IntId -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_IntId (void); - - /// Constructor. - TAO_IntId (CORBA::Object_ptr obj, - CosNaming::BindingType type /* = CosNaming::nobject */); - - /// Copy constructor. - TAO_IntId (const TAO_IntId & rhs); - - /// Destructor. - ~TAO_IntId (void); - - /// Assignment operator (does copy memory). - void operator= (const TAO_IntId & rhs); - - // = Data members. - - /// Object reference to be stored in a Transient Naming Context. - CORBA::Object_ptr ref_; - - /// Binding type for . - CosNaming::BindingType type_; -}; - -/** - * @class TAO_ExtId - * - * @brief Helper class for TAO_Transient_Bindings_Map: unifies several - * data items, so they can be stored together as a - * for a in a hash table holding the state of a Transient - * Naming Context. - * - * This class holds id and kind strings, so - * they can be stored together as a for a in a - * hash table holding the state of a Transient Naming Context. - */ -class TAO_Naming_Serv_Export TAO_ExtId -{ -public: - // = Initialization and termination methods. - - /// Constructor. - TAO_ExtId (void); - - /// Constructor. - TAO_ExtId (const char *id, - const char *kind); - - /// Copy constructor. - TAO_ExtId (const TAO_ExtId & rhs); - - /// Destructor. - ~TAO_ExtId (void); - - // = Assignment and comparison operators. - - /// Assignment operator (does copy memory). - void operator= (const TAO_ExtId & rhs); - - /// Equality comparison operator (must match both id_ and kind_). - bool operator== (const TAO_ExtId &rhs) const; - - /// Inequality comparison operator. - bool operator!= (const TAO_ExtId &rhs) const; - - /// function is required in order for this class to be usable by - /// ACE_Hash_Map_Manager. - u_long hash (void) const; - - // = Data members. - - /// portion of the name to be associated with some object - /// reference in a Transient Naming Context. - ACE_CString kind_; - - /// portion of the name to be associated with some object - /// reference in a Transient Naming Context. - ACE_CString id_; - - // = Accessors - - /// Return in a const char * format. - const char * id (void); - - /// Return in a const char * format. - const char * kind (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_ENTRIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.cpp b/TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.cpp deleted file mode 100644 index 6d5ccc82e09..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.cpp +++ /dev/null @@ -1,361 +0,0 @@ -// $Id$ - -//----------------------------------------------------------------------------- -// Flat File class implementations -//----------------------------------------------------------------------------- -#include "orbsvcs/Naming/Flat_File_Persistence.h" - -#include "ace/Log_Msg.h" -#include "ace/OS_NS_sys_stat.h" -#include "ace/OS_NS_unistd.h" -#include "ace/OS_NS_fcntl.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_NS_FlatFileStream::TAO_NS_FlatFileStream (const ACE_CString & file, - const char * mode) - : fl_ (0) -{ - ACE_TRACE("TAO_NS_FlatFileStream"); - file_ = file; - mode_ = mode; -} - -TAO_NS_FlatFileStream::~TAO_NS_FlatFileStream () -{ - ACE_TRACE("~TAO_NS_FlatFileStream"); - if ( fl_ != 0 ) - this->close(); -} - -void -TAO_NS_FlatFileStream::remove () -{ - ACE_TRACE("remove"); - ACE_OS::unlink(ACE_TEXT_CHAR_TO_TCHAR(file_.c_str())); -} - -int -TAO_NS_FlatFileStream::exists () -{ - ACE_TRACE("exists"); - // We could check the mode for this file, but for now just check exists - return ! ACE_OS::access(file_.c_str(), F_OK); -} - -int -TAO_NS_FlatFileStream::open() -{ - ACE_TRACE("open"); - // For now, three flags exist "r", "w", and "c" - int flags = 0; - const char *fdmode = 0; - if( strchr(mode_.c_str(), 'r') ) - if( strchr(mode_.c_str(), 'w') ) - flags = O_RDWR, fdmode = "r+"; - else - flags = O_RDONLY, fdmode = "r"; - else - flags = O_WRONLY, fdmode = "w"; - if( strchr(mode_.c_str(), 'c') ) - flags |= O_CREAT; -#ifndef ACE_WIN32 - if( ACE_OS::flock_init (&filelock_, flags, ACE_TEXT_CHAR_TO_TCHAR(file_.c_str()), 0666) != 0 ) - ACE_ERROR_RETURN ((LM_ERROR, - "Cannot open file %s for mode %s: (%d) %s\n", - file_.c_str(), mode_.c_str(), - errno, ACE_OS::strerror(errno)), - -1); -#else - if( (filelock_.handle_= ACE_OS::open (ACE_TEXT_CHAR_TO_TCHAR(file_.c_str()), flags, 0)) == ACE_INVALID_HANDLE ) - ACE_ERROR_RETURN ((LM_ERROR, - "Cannot open file %s for mode %s: (%d) %s\n", - file_.c_str(), mode_.c_str(), - errno, ACE_OS::strerror(errno)), - -1); -#endif - this->fl_ = ACE_OS::fdopen(filelock_.handle_, ACE_TEXT_CHAR_TO_TCHAR(fdmode)); - if (this->fl_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Cannot fdopen file %s for mode %s: (%d) %s\n", - file_.c_str(), mode_.c_str(), - errno, ACE_OS::strerror(errno)), - -1); - return 0; -} - -int -TAO_NS_FlatFileStream::close() -{ - ACE_TRACE("close"); - ACE_OS::fflush(fl_); -#ifndef ACE_WIN32 - ACE_OS::flock_destroy (&filelock_, 0); -#endif - ACE_OS::fclose (fl_); // even though flock_destroy closes the handle - // we still need to destroy the FILE* - - fl_ = 0; - return 0; -} - -int -TAO_NS_FlatFileStream::flock (int whence, int start, int len) -{ - ACE_TRACE("flock"); -#if defined (ACE_WIN32) - ACE_UNUSED_ARG (whence); - ACE_UNUSED_ARG (start); - ACE_UNUSED_ARG (len); -#else - if( ACE_OS::strcmp(mode_.c_str(), "r") == 0 ) - ACE_OS::flock_rdlock(&filelock_, whence, start, len); - else - ACE_OS::flock_wrlock(&filelock_, whence, start, len); -#endif - return 0; -} - -int -TAO_NS_FlatFileStream::funlock (int whence, int start, int len) -{ - ACE_TRACE("funlock"); -#if defined (ACE_WIN32) - ACE_UNUSED_ARG (whence); - ACE_UNUSED_ARG (start); - ACE_UNUSED_ARG (len); -#else - ACE_OS::flock_unlock(&filelock_, whence, start, len); -#endif - return 0; -} - -time_t -TAO_NS_FlatFileStream::last_changed(void) -{ - ACE_TRACE("TAO_NS_FlatFileStream::last_changed"); - ACE_stat st; - ACE_OS::fstat(filelock_.handle_, &st); -#if !defined (ACE_HAS_WINCE) - return st.st_mtime; -#else - return st.st_mtime.sec (); -#endif /* ACE_HAS_WINCE */ -} - -TAO_Storable_Base & -TAO_NS_FlatFileStream::operator <<( - const TAO_NS_Persistence_Header &header) -{ - ACE_TRACE("TAO_NS_FlatFileStream::operator <<"); - ACE_OS::rewind(this->fl_); - ACE_OS::fprintf(this->fl_, "%d\n%d\n", header.size(), header.destroyed()); - ACE_OS::fflush(this->fl_); - - return *this; -} - -TAO_Storable_Base & -TAO_NS_FlatFileStream::operator >>( - TAO_NS_Persistence_Header &header) -{ - ACE_TRACE("TAO_NS_FlatFileStream::operator >>"); - unsigned int size; - int destroyed; - - ACE_OS::rewind(this->fl_); - switch (fscanf(fl_, "%u\n", &size)) - { - case 0: - this->setstate (badbit); - return *this; - case EOF: - this->setstate (eofbit); - return *this; - } - header.size(size); - - switch (fscanf(fl_, "%d\n", &destroyed)) - { - case 0: - this->setstate (badbit); - return *this; - case EOF: - this->setstate (eofbit); - return *this; - } - header.destroyed(destroyed); - - return *this; - -} - -TAO_Storable_Base & -TAO_NS_FlatFileStream::operator <<( - const TAO_NS_Persistence_Record &record) -{ - ACE_TRACE("TAO_NS_FlatFileStream::operator <<"); - TAO_NS_Persistence_Record::Record_Type type = record.type(); - ACE_OS::fprintf(this->fl_, "%d\n", type); - - ACE_CString id = record.id(); - ACE_OS::fprintf(this->fl_, ACE_SIZE_T_FORMAT_SPECIFIER ACE_TEXT("\n%s\n"), - id.length(), id.c_str()); - - ACE_CString kind = record.kind(); - ACE_OS::fprintf(this->fl_, ACE_SIZE_T_FORMAT_SPECIFIER ACE_TEXT ("\n%s\n"), - kind.length(), kind.c_str()); - - ACE_CString ref = record.ref(); - ACE_OS::fprintf(this->fl_, ACE_SIZE_T_FORMAT_SPECIFIER ACE_TEXT ("\n%s\n"), - ref.length(), ref.c_str()); - - ACE_OS::fflush(this->fl_); - - return *this; -} - -TAO_Storable_Base & -TAO_NS_FlatFileStream::operator >>( - TAO_NS_Persistence_Record &record) -{ - ACE_TRACE("TAO_NS_FlatFileStream::operator >>"); - TAO_NS_Persistence_Record::Record_Type type; - int temp_type_in; - switch (fscanf(fl_, "%d\n", &temp_type_in)) - { - case 0: - this->setstate (badbit); - return *this; - case EOF: - this->setstate (eofbit); - return *this; - } - type = (TAO_NS_Persistence_Record::Record_Type) temp_type_in; - record.type(type); - - int bufSize = 0; - - //id - switch (fscanf(fl_, "%d\n", &bufSize)) - { - case 0: - this->setstate (badbit); - return *this; - case EOF: - this->setstate (eofbit); - return *this; - } - char *id = new char[bufSize+1]; - //char *id; - //ACE_NEW_RETURN (id, char[bufSize+1], 1); - if (ACE_OS::fgets(ACE_TEXT_CHAR_TO_TCHAR(id), bufSize+1, fl_) == 0 && - bufSize != 0) - { - this->setstate (badbit); - return *this; - } - ACE_CString newId(id); - record.id(newId); - delete [] id; - - //kind - switch (fscanf(fl_, "%d\n", &bufSize)) - { - case 0: - this->setstate (badbit); - return *this; - case EOF: - this->setstate (eofbit); - return *this; - } - char *kind = new char[bufSize+1]; - //char *kind; - //ACE_NEW (kind, char[bufSize+1]); - if (ACE_OS::fgets(ACE_TEXT_CHAR_TO_TCHAR(kind), bufSize+1, fl_) == 0 && - bufSize != 0) - { - this->setstate (badbit); - return *this; - } - kind[bufSize] = '\0'; - ACE_CString newKind(kind); - record.kind(newKind); - delete [] kind; - - //ref - switch (fscanf(fl_, "%d\n", &bufSize)) - { - case 0: - this->setstate (badbit); - return *this; - case EOF: - this->setstate (eofbit); - return *this; - } - char *ref = new char[bufSize+1]; - //char *ref; - //ACE_NEW(ref, char[bufSize+1]); - if (ACE_OS::fgets(ACE_TEXT_CHAR_TO_TCHAR(ref), bufSize+1, fl_) == 0 && - bufSize != 0) - { - this->setstate (badbit); - return *this; - } - ACE_CString newRef(ref); - record.ref(newRef); - delete [] ref; - - return *this; - -} - -TAO_Storable_Base & -TAO_NS_FlatFileStream::operator <<( - const TAO_NS_Persistence_Global &global) -{ - ACE_TRACE("TAO_NS_FlatFileStream::operator <<"); - ACE_OS::rewind(this->fl_); - ACE_OS::fprintf(this->fl_, "%d\n", global.counter()); - ACE_OS::fflush(this->fl_); - - return *this; -} - -TAO_Storable_Base & -TAO_NS_FlatFileStream::operator >>( - TAO_NS_Persistence_Global &global) -{ - ACE_TRACE("TAO_NS_FlatFileStream::operator >>"); - unsigned int counter = 0; - - ACE_OS::rewind(this->fl_); - switch (fscanf(fl_, "%u\n", &counter)) - { - case 0: - this->setstate (badbit); - break; // Still set the global.counter (to 0) - case EOF: - this->setstate (eofbit); - break; // Still set the global.counter (to 0) - } - global.counter(counter); - - return *this; -} - - -TAO_Storable_Base * -TAO_NS_FlatFileFactory::create_stream (const ACE_CString & file, - const ACE_TCHAR * mode) -{ - ACE_TRACE("TAO_NS_FlatFileFactory::create_stream"); - TAO_Storable_Base *stream = 0; - - ACE_NEW_RETURN (stream, - TAO_NS_FlatFileStream(file, ACE_TEXT_ALWAYS_CHAR (mode)), - 0); - return stream; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.h b/TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.h deleted file mode 100644 index 8c76dbc99a3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Flat_File_Persistence.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Flat_File_Persistence.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - -#ifndef TAO_FLAT_FILE_PERSISTENCE_H -#define TAO_FLAT_FILE_PERSISTENCE_H - -#include "orbsvcs/Naming/Storable.h" -#include "ace/OS_NS_stdio.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//------------------------------------------------------------------------ -// The Flat File concrete classes -//------------------------------------------------------------------------ -class TAO_NS_FlatFileStream : public TAO_Storable_Base -{ -public: - - TAO_NS_FlatFileStream(const ACE_CString & file, const char * mode); - virtual ~TAO_NS_FlatFileStream(); - - /// Remove a file by name (file is not open) - virtual void remove(); - - /// Check if a file exists on disk (file is not open) - virtual int exists(); - - /// Open a file (the remaining methods below all require an open file) - virtual int open(); - - /// Close an open file - virtual int close(); - - /// Acquire a file lock - virtual int flock (int whence, int start, int len); - - /// Release a file lock - virtual int funlock (int whence, int start, int len); - - /// Returns the last time an open file was changed - virtual time_t last_changed(void); - - /// Write a header to disk - virtual TAO_Storable_Base& operator << ( - const TAO_NS_Persistence_Header& header); - - /// Read a header from disk - virtual TAO_Storable_Base& operator >> ( - TAO_NS_Persistence_Header& header); - - /// Write a record to disk - virtual TAO_Storable_Base& operator << ( - const TAO_NS_Persistence_Record& record); - - /// Read a record from disk - virtual TAO_Storable_Base& operator >> ( - TAO_NS_Persistence_Record& record); - - /// Write the global data to disk - virtual TAO_Storable_Base& operator << ( - const TAO_NS_Persistence_Global& global); - - /// Read the global data from disk - virtual TAO_Storable_Base& operator >> ( - TAO_NS_Persistence_Global& global); - -private: - ACE_OS::ace_flock_t filelock_; - FILE* fl_; - ACE_CString file_; - ACE_CString mode_; -}; - -class TAO_NS_FlatFileFactory : public TAO_Naming_Service_Persistence_Factory -{ -public: - // Factory Methods - - /// Create the stream that can operate on a disk file - virtual TAO_Storable_Base *create_stream(const ACE_CString & file, - const ACE_TCHAR * mode); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif diff --git a/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp deleted file mode 100644 index 3cb59bd6da9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp +++ /dev/null @@ -1,680 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// TAO_CosNaming -// -// = FILENAME -// Hash_Naming_Context.cpp -// -// = AUTHOR -// Marina Spivak and -// Sergio Flores-Gaitan -// -// ============================================================================ - -#include "orbsvcs/Naming/Hash_Naming_Context.h" -#include "orbsvcs/Naming/nsconf.h" -#include "ace/Auto_Ptr.h" - -ACE_RCSID (Naming, - Hash_Naming_Context, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// ------------------------------------------------- - -TAO_Bindings_Map::~TAO_Bindings_Map (void) -{ -} - -// ------------------------------------------------- - -TAO_Hash_Naming_Context::TAO_Hash_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id) - : context_ (0), - interface_ (0), - destroyed_ (0), - poa_ (PortableServer::POA::_duplicate (poa)), - poa_id_ (poa_id) -{ -} - -void -TAO_Hash_Naming_Context::interface (TAO_Naming_Context *i) -{ - this->interface_ = i; -} - -TAO_Hash_Naming_Context::~TAO_Hash_Naming_Context (void) -{ - delete context_; -} - -PortableServer::POA_ptr -TAO_Hash_Naming_Context::_default_POA (void) -{ - return PortableServer::POA::_duplicate (this->poa_.in ()); -} - -CosNaming::NamingContext_ptr -TAO_Hash_Naming_Context::get_context (const CosNaming::Name &name - ACE_ENV_ARG_DECL) -{ - // Naming context we will return. - CosNaming::NamingContext_var result = - CosNaming::NamingContext::_nil (); - - // Create compound name to be resolved, i.e., - // ( - last component). To avoid copying, we can just reuse - // 's buffer, since we will not be modifying it. - CORBA::ULong name_len = name.length (); - CosNaming::Name comp_name (name.maximum (), - name_len - 1, - const_cast (name.get_buffer ())); - ACE_TRY - { - // Resolve the name. - CORBA::Object_var context = resolve (comp_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Try narrowing object reference to the NamingContext type. - result = CosNaming::NamingContext::_narrow (context.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosNaming::NamingContext::NotFound, ex) - { - // Add the last component of the name, which was stripped before - // the call to resolve. - CORBA::ULong rest_len = ex.rest_of_name.length () + 1; - ex.rest_of_name.length (rest_len); - ex.rest_of_name[rest_len - 1] = name[name_len - 1]; - - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - if (CORBA::is_nil (result.in ())) - { - CosNaming::Name rest; - rest.length (2); - rest[0] = name[name_len - 2]; - rest[1] = name[name_len - 1]; - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, - rest), - CosNaming::NamingContext::_nil ()); - } - // Finally, if everything went smoothly, just return the resolved - // context. - return result._retn (); -} - -void -TAO_Hash_Naming_Context::bind (const CosNaming::Name& n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // If we received compound name, resolve it to get the context in - // which the binding should take place, then perform the binding on - // target context. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - this->get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - ACE_TRY - { - context->bind (simple_name, obj ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TIMEOUT, timeoutEx) - { - ACE_TRY_THROW (CosNaming::NamingContext::CannotProceed - (context.in (), simple_name)); - } - ACE_ENDTRY; - } - // If we received a simple name, we need to bind it in this context. - else - { - // Try binding the name. - int result = this->context_->bind (n[0].id, - n[0].kind, - obj, - CosNaming::nobject); - if (result == 1) - ACE_THROW (CosNaming::NamingContext::AlreadyBound()); - - // Something went wrong with the internal structure - else if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - } -} - -void -TAO_Hash_Naming_Context::rebind (const CosNaming::Name& n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // If we received compound name, resolve it to get the context in - // which the rebinding should take place, then perform the rebinding - // on target context. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - ACE_TRY - { - context->rebind (simple_name, obj ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TIMEOUT, timeoutEx) - { - ACE_TRY_THROW (CosNaming::NamingContext::CannotProceed - (context.in (), simple_name)); - } - ACE_ENDTRY; - } - else - // If we received a simple name, we need to rebind it in this - // context. - { - int result = this->context_->rebind (n[0].id, - n[0].kind, - obj, - CosNaming::nobject); - // Check for error conditions. - if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - - else if (result == -2) - ACE_THROW (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_object, - n)); - } -} - -void -TAO_Hash_Naming_Context::bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Do not allow binding of nil context reference. - if (CORBA::is_nil (nc)) - ACE_THROW (CORBA::BAD_PARAM ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // If we received compound name, resolve it to get the context in - // which the binding should take place, then perform the binding on - // target context. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - ACE_TRY - { - context->bind_context (simple_name, nc ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TIMEOUT, timeoutEx) - { - ACE_TRY_THROW (CosNaming::NamingContext::CannotProceed - (context.in (), simple_name)); - } - ACE_ENDTRY; - } - // If we received a simple name, we need to bind it in this context. - else - { - // Try binding the name. - int result = this->context_->bind (n[0].id, - n[0].kind, - nc, - CosNaming::ncontext); - if (result == 1) - ACE_THROW (CosNaming::NamingContext::AlreadyBound()); - - // Something went wrong with the internal structure - else if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - } -} - -void -TAO_Hash_Naming_Context::rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // If we received compound name, resolve it to get the context in - // which the rebinding should take place, then perform the rebinding - // on target context. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - ACE_TRY - { - context->rebind_context (simple_name, nc ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TIMEOUT, timeoutEx) - { - ACE_TRY_THROW (CosNaming::NamingContext::CannotProceed - (context.in (), simple_name)); - } - ACE_ENDTRY; - } - else - // If we received a simple name, we need to rebind it in this - // context. - { - int result = this->context_->rebind (n[0].id, - n[0].kind, - nc, - CosNaming::ncontext); - // Check for error conditions. - if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - - else if (result == -2) - ACE_THROW (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, - n)); - } -} - -CORBA::Object_ptr -TAO_Hash_Naming_Context::resolve (const CosNaming::Name& n - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CORBA::Object::_nil ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), - CORBA::Object::_nil ()); - - // Resolve the first component of the name. - - // Stores the binding type for the first name component. - CosNaming::BindingType type; - - // Stores the object reference bound to the first name component. - CORBA::Object_var result; - - if (this->context_->find (n[0].id, - n[0].kind, - result.out (), - type) == -1) - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::missing_node, - n), - CORBA::Object::_nil ()); - - // If the name we have to resolve is a compound name, we need to - // resolve it recursively. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - CosNaming::NamingContext::_nil (); - - if (type == CosNaming::ncontext) - { - // Narrow to NamingContext. - context = CosNaming::NamingContext::_narrow (result.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - } - else - // The first name component wasn't bound to a NamingContext. - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, - n), - CORBA::Object::_nil ()); - - // If narrow failed... - if (CORBA::is_nil (context.in ())) - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, - n), - CORBA::Object::_nil ()); - else - { - // Successfully resolved the first name component, need to - // recursively call resolve on without the first component. - - // We need a name just like but without the first - // component. Instead of copying data we can reuse 's - // buffer since we will only be using it for 'in' parameters - // (no modifications). - CosNaming::Name rest_of_name - (n.maximum () - 1, - n.length () - 1, - const_cast (n.get_buffer ()) - + 1); - - // If there are any exceptions, they will propagate up. - ACE_TRY - { - CORBA::Object_ptr resolved_ref; - resolved_ref = context->resolve (rest_of_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - return resolved_ref; - } - ACE_CATCH (CORBA::TIMEOUT, timeoutEx) - { - ACE_TRY_THROW (CosNaming::NamingContext::CannotProceed - (context.in (), rest_of_name)); - } - ACE_ENDTRY; - } - } - // If the name we had to resolve was simple, we just need to return - // the result. - return result._retn (); -} - -void -TAO_Hash_Naming_Context::unbind (const CosNaming::Name& n - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // If we received compound name, resolve it to get the context in - // which the unbinding should take place, then perform the unbinding - // on target context. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - ACE_TRY - { - context->unbind (simple_name ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::TIMEOUT, timeoutEx) - { - ACE_TRY_THROW (CosNaming::NamingContext::CannotProceed - (context.in (), simple_name)); - } - ACE_ENDTRY; - } - // If we received a simple name, we need to unbind it in this - // context. - else - if (this->context_->unbind (n[0].id, - n[0].kind) == -1) - ACE_THROW (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::missing_node, - n)); -} - -CosNaming::NamingContext_ptr -TAO_Hash_Naming_Context::bind_new_context (const CosNaming::Name& n - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CosNaming::NamingContext::_nil ()); - - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), - CosNaming::NamingContext::_nil ()); - - // If we received compound name, resolve it to get the context in - // which the binding should take place, then perform the operation on - // target context. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - return context->bind_new_context (simple_name ACE_ENV_ARG_PARAMETER); - } - - // If we received a simple name, we need to bind it in this context. - - // Stores our new Naming Context. - CosNaming::NamingContext_var result = - CosNaming::NamingContext::_nil (); - - // Create new context. - result = new_context (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Bind the new context to the name. - ACE_TRY - { - bind_context (n, - result.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // If the bind() operation fails we must destroy the recently - // created context, should any exceptions be raised by the - // destroy() operation we want to ignore them. - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY_EX(DESTROY) - { - result->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX(DESTROY); - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - } - // Re-raise the exception in bind_context() - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - return result._retn (); -} - -void -TAO_Hash_Naming_Context::destroy (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - if (this->context_->current_size () != 0) - ACE_THROW (CosNaming::NamingContext::NotEmpty()); - - // Destroy is a no-op on a root context. - if (root ()) - return; - - else - { - this->destroyed_ = 2; - - // Remove self from POA. Because of reference counting, the POA - // will automatically delete the servant when all pending requests - // on this servant are complete. - - PortableServer::POA_var poa = - this->_default_POA (); - - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id_.fast_rep ()); - - ACE_CHECK; - - poa->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -int -TAO_Hash_Naming_Context::root (void) -{ - return (ACE_OS::strcmp (this->poa_id_.fast_rep (), - TAO_ROOT_NAMING_CONTEXT) == 0); -} - -int -TAO_Hash_Naming_Context::destroyed (void) -{ - return this->destroyed_; -} - -TAO_Naming_Context * -TAO_Hash_Naming_Context::interface (void) -{ - return this->interface_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h b/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h deleted file mode 100644 index 21fb9d571f3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h +++ /dev/null @@ -1,280 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Hash_Naming_Context.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_HASH_NAMING_CONTEXT_H -#define TAO_HASH_NAMING_CONTEXT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Naming/Naming_Context_Interface.h" -#include "orbsvcs/Naming/naming_serv_export.h" - -#include "ace/Recursive_Thread_Mutex.h" -#include "ace/SString.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -#if defined (_MSC_VER) -# pragma warning (disable : 4250) -#endif /* _MSC_VER */ - -// Note: 'interface' has been defined as struct on WinCE platform and -// gives a compiler error. This undef has been found harmless on -// Windows and solaris platforms; however, if this generates -// error, then proper ifdef must be added around following block. -#if defined (interface) -#undef interface -#endif // interface - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Bindings_Map - * - * @brief This abstract base class defines an interface for hash-based - * data structures used in implementations of NamingContext - * (i.e., TAO_Transient_Naming_Context and TAO_Persistent_Naming_Context) - * - * Define an interface for several hash-based data structures, so - * that we can write some code that would work with any of them, - * i.e., TAO_Hash_Naming_Context. - */ -class TAO_Naming_Serv_Export TAO_Bindings_Map -{ - -public: - - /// Destructor. - virtual ~TAO_Bindings_Map (void); - - /// Return current number of entries (name bindings) in the - /// underlying hash map. - virtual size_t current_size (void) = 0; - - /** - * Add a binding with the specified parameters to the table. - * Return 0 on success and -1 on failure, 1 if there already is a - * binding with and . - */ - virtual int bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) = 0; - - /** - * Overwrite a binding containing and (or create a new - * one if one doesn't exist) with the specified parameters. Returns - * -1 on failure. - */ - virtual int rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) = 0; - - /// Remove a binding containing and from the table. - /// Return 0 on success and -1 on failure. - virtual int unbind (const char * id, - const char * kind) = 0; - - /** - * Find the binding containing and in the table, and - * pass binding's type and object back to the caller by reference. - * Return 0 on success and -1 on failure. Note: a 'duplicated' object - * reference is assigned to , so the caller is responsible for - * its deallocation. - */ - virtual int find (const char * id, - const char * kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type) = 0; - -}; - -/** - * @class TAO_Hash_Naming_Context - * - * @brief This class factors out common code for two 'ConcreteImplementors' - * in the Bridge pattern architecture of the CosNaming::NamingContext - * implementation. - * - * This class contains 'algorithm' code that is common to two - * hash-table-based implementations of the NamingContext: - * TAO_Transient_Naming_Context and TAO_Persistent_Naming_Context. - * To help achieve this 'templatization', we use the abstract base - * class TAO_Bindings_Map, which provides a common interface to the data structures - * used in TAO_Persistent_Namng_Context and TAO_Transient_Naming_Context. - */ -class TAO_Naming_Serv_Export TAO_Hash_Naming_Context :public TAO_Naming_Context_Impl -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_Hash_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id); - - /// Set our pointer. - void interface (TAO_Naming_Context *i); - - /// Destructor. - virtual ~TAO_Hash_Naming_Context (void); - - // = Accessors. - - /// Get the pointer to our . - TAO_Naming_Context *interface (void); - - /// Returns true if this Naming Context is a root Naming Context for - /// the server, and false otherwise. - int root (void); - - /// Returns true if this context had operation invoked on - /// it, and false otherwise. - int destroyed (void); - - // = CosNaming::NamingContext idl interface methods. - - /** - * Create a binding for name and object in the naming - * context. Compound names are treated as follows: ctx->bind (, obj) = (ctx->resolve ())->bind (, - * obj) if the there already exists a binding for the specified - * name, exception is thrown. Naming contexts should - * be bound using and in order to - * participate in name resolution later. - */ - virtual void bind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - /** - * This is similar to operation above, except for when the - * binding for the specified name already exists in the specified - * context. In that case, the existing binding is replaced with the - * new one. - */ - virtual void rebind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - /** - * This is the version of specifically for binding naming - * contexts, so that they will participate in name resolution when - * compound names are passed to be resolved. - */ - virtual void bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL); - - /** - * This is a version of specifically for naming contexts, - * so that they can participate in name resolution when compound - * names are passed. - */ - virtual void rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL); - - /** - * Return object reference that is bound to the name. Compound name - * resolve is defined as follows: ctx->resolve () = - * ctx->resolve ()->resolve () The naming service - * does not return the type of the object. Clients are responsible - * for "narrowing" the object to the appropriate type. - */ - virtual CORBA::Object_ptr resolve (const CosNaming::Name &n - ACE_ENV_ARG_DECL); - - /** - * Remove the name binding from the context. When compound names - * are used, unbind is defined as follows: ctx->unbind () = (ctx->resolve ())->unbind () - */ - virtual void unbind (const CosNaming::Name &n - ACE_ENV_ARG_DECL); - - /** - * This operation creates a new context and binds it to the name - * supplied as an argument. The newly-created context is - * implemented by the same server as the context in which it was - * bound (the name argument excluding the last component). - */ - virtual CosNaming::NamingContext_ptr bind_new_context (const CosNaming::Name &n - ACE_ENV_ARG_DECL); - - /** - * Delete the naming context. The user should take care to any - * bindings in which the given context is bound to some names, to - * avoid dangling references when invoking operation. - * NOTE: is a no-op on the root context. - * NOTE: after is invoked on a Naming Context, all - * BindingIterators associated with that Naming Context are also destroyed. - */ - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL); - - /// Returns the Default POA of this Servant object - virtual PortableServer::POA_ptr _default_POA (void); - -protected: - // = Helper method used by other methods. - - /** - * is used by methods that need to resolve a compound - * name before performing the actual operation (e.g., bind, unbind, - * etc.) takes a full name (including the last - * component that doesn't need to be resolved), and returns a - * pointer to the target context. - */ - CosNaming::NamingContext_ptr get_context (const CosNaming::Name &name - ACE_ENV_ARG_DECL); - - /** - * Pointer to the data structure used to store this Naming Context's - * bindings. is initialized with a concrete data - * structure by subclasses, which know which data structure to use. - */ - TAO_Bindings_Map *context_; - - /** - * Pointer to the object for which we serve as a - * , i.e., the object that delegates to us - * all client CosNaming::NamingContext CORBA calls. - * We need this pointer for reference counting. - */ - TAO_Naming_Context *interface_; - - /// Lock used to serialize access to the underlying data structure. - TAO_SYNCH_RECURSIVE_MUTEX lock_; - - /** - * Flag indicating whether this Naming Context is no longer valid. - * This flag is necessary because immediate destruction - * might not be possible if there are pending requests on this servant - * in the POA. - */ - int destroyed_; - - /// POA we are registered with. - PortableServer::POA_var poa_; - - /** - * ID with which we are registered with . - * Note, if is equivalent to TAO_ROOT_NAMING_CONTEXT, then this Naming Context - * is the root Naming Context for the server, i.e., it is unable. - */ - ACE_CString poa_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_HASH_NAMING_CONTEXT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Client.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Client.cpp deleted file mode 100644 index ac7c42f87d0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Client.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// $Id$ - -#include "orbsvcs/Naming/Naming_Client.h" -#include "orbsvcs/CosNamingC.h" -#include "ace/Log_Msg.h" - -ACE_RCSID (Naming, - Naming_Client, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CosNaming::NamingContext_ptr -TAO_Naming_Client::operator -> (void) const -{ - return this->naming_context_.ptr (); -} - -CosNaming::NamingContext_ptr -TAO_Naming_Client::get_context (void) const -{ - // Must duplicate this pointer so it can be stored in a _var. - return CosNaming::NamingContext::_duplicate (this->naming_context_.in ()); -} - -int -TAO_Naming_Client::init (CORBA::ORB_ptr orb, - ACE_Time_Value *timeout) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::Object_var naming_obj = - orb->resolve_initial_references ("NameService", timeout ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (naming_obj.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the NameService.\n"), - -1); - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Naming_Client::init"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - return 0; -} - -TAO_Naming_Client::TAO_Naming_Client (void) -{ - // Do nothing -} - -TAO_Naming_Client::~TAO_Naming_Client (void) -{ - // Do nothing -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Client.h b/TAO/orbsvcs/orbsvcs/Naming/Naming_Client.h deleted file mode 100644 index 56b48d7f37d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Client.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file Naming_Client.h - * - * $Id$ - * - * Implement wrappers useful to Naming Service clients. - * - * - * @author Nagarajan Surendran (naga@cs.wustl.edu) - * @author Matt Braun - * @author and Douglas C. Schmidt . - */ -//============================================================================= - - -#ifndef TAO_NAMING_CLIENT_H -#define TAO_NAMING_CLIENT_H -#include /**/ "ace/pre.h" - -#include "tao/ORB.h" -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/Naming/naming_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Naming_Client - * - * @brief This class is intended to simplify programs that want to play - * the role of Naming Service clients. - * - * Wrapper class that locates the root Naming Context. It also - * defines the operator-> so that functions like - * , etc. can be directly called on a - * object, and will be forwarded to the root - * Naming Context. - */ -class TAO_Naming_Export TAO_Naming_Client -{ -public: - // = Initialization and termination methods. - - /// Default constructor. - TAO_Naming_Client (void); - - /** - * Look for a Naming Service for a period of using - * . Return 0 if Naming Service is - * successfully located, and -1 on failure. - */ - int init (CORBA::ORB_ptr orb, - ACE_Time_Value *timeout = 0); - - /// Destructor. - ~TAO_Naming_Client (void); - - /// Returns a pointer to the root Naming Context. - CosNaming::NamingContext_ptr operator-> (void) const; - - /** - * Returns a pointer to the root Naming Context. This ptr is - * duplicated via <_duplicate> so that it can be stored into a - * <*_var>. - */ - CosNaming::NamingContext_ptr get_context (void) const; - -protected: - /// Reference to the root Naming Context. - CosNaming::NamingContext_var naming_context_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_NAMING_CLIENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp deleted file mode 100644 index 809c1795a42..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp +++ /dev/null @@ -1,539 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Naming_Context_Interface.cpp -// -// = AUTHOR -// Marina Spivak -// -// ============================================================================ - -#include "orbsvcs/Naming/Naming_Context_Interface.h" -#include "ace/ACE.h" -#include "ace/OS_NS_string.h" -#include "ace/os_include/os_ctype.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Naming_Context::TAO_Naming_Context (TAO_Naming_Context_Impl *impl) - : impl_ (impl) -{ -} - -TAO_Naming_Context::~TAO_Naming_Context (void) -{ - delete impl_; -} - -PortableServer::POA_ptr -TAO_Naming_Context::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*env*/) -{ - return impl_->_default_POA (); -} - -void -TAO_Naming_Context::bind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName, - CosNaming::NamingContext::AlreadyBound)) -{ - impl_->bind (n, obj ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Naming_Context::rebind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)) -{ - impl_->rebind (n, obj ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Naming_Context::bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName, - CosNaming::NamingContext::AlreadyBound)) -{ - impl_->bind_context (n, nc ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Naming_Context::rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)) -{ - impl_->rebind_context (n, nc ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_Naming_Context::resolve (const CosNaming::Name &n - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)) -{ - return impl_->resolve (n ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Naming_Context::unbind (const CosNaming::Name &n - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)) -{ - impl_->unbind (n ACE_ENV_ARG_PARAMETER); -} - -CosNaming::NamingContext_ptr -TAO_Naming_Context::new_context (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return impl_->new_context (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNaming::NamingContext_ptr -TAO_Naming_Context::bind_new_context (const CosNaming::Name &n - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::AlreadyBound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)) -{ - return impl_->bind_new_context (n ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Naming_Context::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotEmpty)) -{ - impl_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Naming_Context::list (CORBA::ULong how_many, - CosNaming::BindingList_out bl, - CosNaming::BindingIterator_out bi - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - impl_->list (how_many, bl, bi ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Naming_Context:: -to_string_helper_length (CORBA::ULong &len, const char * &src) -{ - for (const char *j =src; *j != '\0'; ++j) - { - ++len; - if (*j == '.' || *j == '\\' || *j == '/') - ++len; - } - ++len; // '.' seperator or '/' seperator - -} - -void -TAO_Naming_Context:: -to_string_helper_assign (char * &k, const char * &src) -{ - for (; *src != '\0'; ++src) - { - if (*src == '.' || *src == '\\' || *src == '/') - { - *k = '\\'; - ++k; - } - *k = *src; - ++k; - } - -} - -char * -TAO_Naming_Context::to_string (const CosNaming::Name &n - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::InvalidName)) -{ - // Accepts a Name and returns a stringified name. - - // Check for invalid name. - if (n.length () == 0) - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), - 0); - - // Length of the return string - CORBA::ULong len = 0; - - CORBA::ULong i; - for (i=0; i < n.length (); ++i) - { - const char *id = n[i].id.in (); - - // Count number of characters in id - this->to_string_helper_length (len, id); - - const char *kind = n[i].kind.in (); - - // Count number of characters in kind - this->to_string_helper_length (len, kind); - } - - // Allocate memory to the return parameter - // - char *str_name = CORBA::string_alloc (len); - - // check for memory allocation - // - if (str_name == 0) - { - ACE_THROW_RETURN (CORBA::NO_MEMORY (), 0); - } - - char *k = str_name; - - // Stringify the name - for (i=0; i < n.length (); ++i) - { - - // Stringify Id - // - const char *id = n[i].id.in (); - this->to_string_helper_assign (k, id); - - const char *kind = n[i].kind.in (); - - if (*kind != '\0') - { - // If 'kind' is set, - // Append a seperator between the id and kind. - // - *k = '.'; - ++k; - - // Stringify Kind - // - this->to_string_helper_assign (k, kind); - } - - // If this is not the last name component, add a seperator - // between the name components - // - if (i != (n.length ()-1)) - { - *k = '/'; - ++k; - } - - } - // Terminate - *k = '\0'; - ++k; - - return str_name; -} - -void -TAO_Naming_Context:: -to_name_helper (char *dest, const char*& src, Hint hint) -{ - for (; *src != '\0'; ++src, ++dest) - { - if ((hint == HINT_ID && *src == '.') || *src == '/') - { - *dest = '\0'; - return; - } - - if (*src == '\\') - { - src++; - if (*src == '\0') - { - // Case: The very last component - *dest = '\0'; - return; - } - } - - // In all cases. - *dest = *src; - } - - // Terminate. - *dest = '\0'; -} - -CosNaming::Name * -TAO_Naming_Context::to_name (const char *sn - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::InvalidName)) -{ - // Returns the Name from its stringified form. - CosNaming::Name n; - - // Total number of name components in the name - CORBA::ULong ncomp = 0; - - // Total length of the unstrigified name - CORBA::ULong len=0; - - - for (const char *j = sn; *j != '\0'; ++j) - { - // Make a pass through the Name and count each character - if (*j == '/') - { - ncomp++; - } - else if (*j == '\\') - { - ++j; - - if (*j == '\0') - { - // Case: The very last component - ++len; - } - } - - // In all cases. - ++len; - } - - - // Check for InvalidName i.e. Invalid stringified name - // - if (len == 0) - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), - 0); - - // Assign the length of the return unstringified name. - // - n.length (ncomp+1); - - // Keeps track of the number of the name component - // - CORBA::ULong count = 0; - - for (const char *k = sn; *k != '\0';) - { - if (count > ncomp) - { - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), 0); - } - - char *id = CORBA::string_alloc (len); - char *kind = CORBA::string_alloc (len); - - // Assign to the id. - this->to_name_helper (id, k, HINT_ID); - - if (*k == '.') - { - k++; - // Assign to kind - this->to_name_helper (kind, k, HINT_KIND); - } - else - { - *kind = '\0'; - } - - n[count].id = id; - n[count].kind = kind; - - count++; - - // End - if (*k == '\0') - break; - k++; - } - - return new CosNaming::Name (n); -} - -int -TAO_Naming_Context::to_url_is_alnum_or_punctuation (char c) -{ - if (isalnum (c)) - return 1; - - // NON US-ASCII charcters excluding those in this array are the - // characters that need to be escaped - static char non_escaped_punctuation[] = - { ';', '/', ':', '?', '@', '=', '+', '$', ',', '-', - '_', '.', '!', '~', '*', '\'', '(', ')' }; - const size_t non_escaped_punctuation_count = - sizeof(non_escaped_punctuation)/sizeof(non_escaped_punctuation[0]); - for (const char *j = non_escaped_punctuation; - j != non_escaped_punctuation + non_escaped_punctuation_count; - ++j) - { - // But if the character is one of the 18 non US-ASCII characters - // and hence need not be escaped, then don't increment the - // count. - if (*j == c) - return 1; - } - return 0; -} - -size_t -TAO_Naming_Context::to_url_validate_and_compute_size ( - const char *addr, - const char *sn - ACE_ENV_ARG_DECL) -{ - size_t addr_len = ACE_OS::strlen (addr); - - // Check for invalid address - if (addr_len == 0) - ACE_THROW_RETURN (CosNaming::NamingContextExt::InvalidAddress (), - 0); - - // Make a pass through the in string name to count the number of - // characters and if the character - // is to be escaped, increment the number of characters by 3. - size_t sn_len = 0; - for (const char *i = sn; *i != '\0'; ++i) - { - ++sn_len; - - if (TAO_Naming_Context::to_url_is_alnum_or_punctuation (*i)) - continue; - sn_len += 3; - } - - if (sn_len == 0) - ACE_THROW_RETURN (CosNaming::NamingContextExt::InvalidName (), 0); - - return addr_len + sn_len; -} - -char * -TAO_Naming_Context::to_url (const char * addr, - const char * sn - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContextExt::InvalidAddress, - CosNaming::NamingContext::InvalidName)) -{ - /// Compute how many characters will be required for the URL - size_t no_char = - TAO_Naming_Context::to_url_validate_and_compute_size (addr, sn - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - - // The 'corbaname:' tag is to be prepended at the starting of the - // return parameter. - // - char prefix []= "corbaname:"; - - // Allocate dynamic memory - // - char *str_url = CORBA::string_alloc (static_cast (no_char + sizeof (prefix))); - - // Copy 'prefix' to the return parameter. - char *dest = ACE_OS::strcpy (str_url , prefix); - - /// move to end of dest string - dest += ACE_OS::strlen(dest); - - // Concatenate the address - dest = ACE_OS::strcat (dest, addr); - - /// Concatenate the seperator between the addr and Name - dest += ACE_OS::strlen(dest); - dest = ACE_OS::strcat (dest, "#"); - - /// move to end of dest string - dest += ACE_OS::strlen(dest); - - // Now append the stringified object name to the return variable. - // The percent '%' character is used as an escape. If a character - // that requires escaping is present in a name component it is - // encoded as two hexadecimal digits following a '%' character to - // represent the octet. The first hexadecimal character represents - // the low-order nibble of the octet and the second hexadecimal - // character represents the low order nibble. - - for (const char *i = sn; *i != '\0'; ++i) - { - if (TAO_Naming_Context::to_url_is_alnum_or_punctuation (*i)) - { - // If the character is a US-ASCII Alphanumeric value... - *dest = *i; ++dest; - continue; - } - // this must be an escaped character - - *dest = '%'; ++dest; - - // Append the hexadecimal representation of the character. - *dest = ACE::nibble2hex ((*i) >> 4); ++dest; - *dest = ACE::nibble2hex (*i); ++dest; - } - - // Terminate the string - *dest = '\0'; - - // ACE_OS::strcat (str_url, dest); - return str_url; -} - -CORBA::Object_ptr -TAO_Naming_Context::resolve_str (const char * n - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName - )) -{ - // Similar to above. It accepts a strigified name as an - // argument instead of a Name. - - // Get the unstrigified name. - CosNaming::Name_var name = this->to_name (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Pass this unstringified name to resolve and return an Object_ptr - return this->resolve (name.in () ACE_ENV_ARG_PARAMETER); -} - -TAO_Naming_Context_Impl::~TAO_Naming_Context_Impl (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h b/TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h deleted file mode 100644 index 54140eb5e57..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h +++ /dev/null @@ -1,422 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Naming_Context_Interface.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - -#ifndef TAO_NAMING_CONTEXT_INTERFACE_H -#define TAO_NAMING_CONTEXT_INTERFACE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosNamingS.h" - -#include "orbsvcs/Naming/naming_serv_export.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Naming_Context_Impl; - -// This is to remove "inherits via dominance" warnings from MSVC. -#if defined (_MSC_VER) -# pragma warning (disable : 4250) -#endif /* _MSC_VER */ - -/** - * @class TAO_Naming_Context - * - * @brief This class plays a role of the 'Abstraction' (aka 'Interface') - * in the Bridge pattern architecture of the CosNaming::NamingContext - * implementation. - * - * This class simply forwards all client requests to a concrete - * NamingContext implementation through its pointer. See - * README file for more info. Comments for the idl methods - * describe methods semantics - actual actions are carried out by - * concrete implementors. - */ - -class TAO_Naming_Serv_Export TAO_Naming_Context : - public virtual POA_CosNaming::NamingContextExt -{ -public: - - // = Initialization and termination methods. - /// Constructor. Initializes with a concrete implementation. - TAO_Naming_Context (TAO_Naming_Context_Impl *impl); - - /// Destructor. - ~TAO_Naming_Context (void); - - // = CosNaming::NamingContext idl interface methods. - - /** - * Create a binding for name and object in the naming - * context. Compound names are treated as follows: ctx->bind (, obj) = (ctx->resolve ())->bind (, - * obj) if the there already exists a binding for the specified - * name, exception is thrown. Naming contexts should - * be bound using and in order to - * participate in name resolution later. - */ - virtual void bind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName, - CosNaming::NamingContext::AlreadyBound)); - - /** - * This is similar to operation above, except for when the - * binding for the specified name already exists in the specified - * context. In that case, the existing binding is replaced with the - * new one. - */ - virtual void rebind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)); - - /** - * This is the version of specifically for binding naming - * contexts, so that they will participate in name resolution when - * compound names are passed to be resolved. - */ - virtual void bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName, - CosNaming::NamingContext::AlreadyBound)); - - /** - * This is a version of specifically for naming contexts, - * so that they can participate in name resolution when compound - * names are passed. - */ - virtual void rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)); - - /** - * Return object reference that is bound to the name. Compound name - * resolve is defined as follows: ctx->resolve () = - * ctx->resolve ()->resolve () The naming service - * does not return the type of the object. Clients are responsible - * for "narrowing" the object to the appropriate type. - */ - virtual CORBA::Object_ptr resolve (const CosNaming::Name &n - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)); - - /** - * Remove the name binding from the context. When compound names - * are used, unbind is defined as follows: ctx->unbind () = (ctx->resolve ())->unbind () - */ - virtual void unbind (const CosNaming::Name &n - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)); - - - /** - * This operation returns a new naming context implemented by the - * same naming server in which the operation was invoked. The - * context is not bound. - */ - virtual CosNaming::NamingContext_ptr new_context ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * This operation creates a new context and binds it to the name - * supplied as an argument. The newly-created context is - * implemented by the same server as the context in which it was - * bound (the name argument excluding the last component). - */ - virtual CosNaming::NamingContext_ptr bind_new_context ( - const CosNaming::Name &n - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::AlreadyBound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName)); - - /** - * Delete the naming context. The user should take care to any - * bindings in which the given context is bound to some names, to - * avoid dangling references when invoking operation. - * NOTE: is a no-op on the root context. - * NOTE: after is invoked on a Naming Context, all - * BindingIterators associated with that Naming Context are also destroyed. - */ - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::NotEmpty)); - - /** - * Returns at most the requested number of bindings in - * . If the naming context contains additional bindings, they - * are returned with a BindingIterator. In the naming context does - * not contain any additional bindings returned as null. - */ - virtual void list (CORBA::ULong how_many, - CosNaming::BindingList_out bl, - CosNaming::BindingIterator_out bi - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Stringify the name using '\' as the escape character. The - * characters '.' , '/' and '\' are to be escaped. If the input name - * is invalid i.e. if the number of characters in the name is zero, - * an InvalidName exception is to be raised. - */ - virtual char * to_string (const CosNaming::Name &n - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::InvalidName)); - - /** - * The in parameter is an stringified name. This function removes the - * escape character '\' and destringifies the stringified name and returns - * it. - */ - virtual CosNaming::Name * to_name (const char *sn - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNaming::NamingContext::InvalidName)); - - /** - * The in parameter addr refers to the address of the naming context - * and sn refers to the strigified name of the object in that - * context. This function returns a fully formed URL string like - * iiopname://1.1@myhost.555xyz.com:9999/a/b/c - */ - virtual char * to_url ( const char * addr, - const char * sn - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNaming::NamingContextExt::InvalidAddress, - CosNaming::NamingContext::InvalidName - )); - - /** - * Similar to as in the CosNaming::NamingContext interface. - * It accepts a strigified name as an argument instead of a Name. - */ - virtual CORBA::Object_ptr resolve_str (const char * n - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNaming::NamingContext::NotFound, - CosNaming::NamingContext::CannotProceed, - CosNaming::NamingContext::InvalidName - )); - - /// Returns the Default POA of this Servant object - virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - -private: - - enum Hint - { - HINT_ID, - HINT_KIND - }; - - /** - * This private function is used as a helper to . It reads - * character by character from 'src' and depending on the character, - * either assigns it to 'dest' or returns back to the calling - * function. If the character is a seperator between the 'id' and - * 'kind' fields or a seperator between two name components, the - * control is returned back to the calling function . - */ - void to_name_helper (char *dest, const char*& src, Hint hint); - - /** - * This method functions similar to . If the - * character read is '.' or '/' or '\', an escape character '\' is - * prepended before the character. - */ - void to_string_helper_assign (char * &k, const char * &src); - - /** - * This method helps count the number of characters in 'src' so - * that memory can be allocated for the return parameter. For - * all '.' , '/' and '\', the count is incremented by 'one' to - * account for the escape character that needs to be - * added. Seperators between 'id' and 'kind' as well as seperators - * between the name components are also counted. - */ - void to_string_helper_length (CORBA::ULong &len, const char * &src); - - /// Return 1 if the character is alphanumeric or a non-scaped - /// punctuation. - static int to_url_is_alnum_or_punctuation (char c); - - /// Validate the to_url() method input, and compute the size of the - /// returned URL address. - static size_t to_url_validate_and_compute_size (const char *add, - const char *sn - ACE_ENV_ARG_DECL); - -protected: - - /// A concrete implementor of the NamingContext functions. - TAO_Naming_Context_Impl *impl_; -}; - -/** - * @class TAO_Naming_Context_Impl - * - * @brief This abstract base class plays a role of the 'Implementor' in the Bridge - * pattern architecture of the NamingContext implementation. - * - * Subclasses of TAO_Naming_Context_Impl provide concrete - * implementations of the NamingContext functionality. - */ -class TAO_Naming_Serv_Export TAO_Naming_Context_Impl -{ - -public: - - /// Destructor. - virtual ~TAO_Naming_Context_Impl (void); - - // = CosNaming::NamingContext idl interface methods. - - /** - * Create a binding for name and object in the naming - * context. Compound names are treated as follows: ctx->bind (, obj) = (ctx->resolve ())->bind (, - * obj) if the there already exists a binding for the specified - * name, exception is thrown. Naming contexts should - * be bound using and in order to - * participate in name resolution later. - */ - virtual void bind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) = 0; - - /** - * This is similar to operation above, except for when the - * binding for the specified name already exists in the specified - * context. In that case, the existing binding is replaced with the - * new one. - */ - virtual void rebind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) = 0; - - /** - * This is the version of specifically for binding naming - * contexts, so that they will participate in name resolution when - * compound names are passed to be resolved. - */ - virtual void bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) = 0; - - /** - * This is a version of specifically for naming contexts, - * so that they can participate in name resolution when compound - * names are passed. - */ - virtual void rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) = 0; - - /** - * Return object reference that is bound to the name. Compound name - * resolve is defined as follows: ctx->resolve () = - * ctx->resolve ()->resolve () The naming service - * does not return the type of the object. Clients are responsible - * for "narrowing" the object to the appropriate type. - */ - virtual CORBA::Object_ptr resolve (const CosNaming::Name &n - ACE_ENV_ARG_DECL) = 0; - - /** - * Remove the name binding from the context. When compound names - * are used, unbind is defined as follows: ctx->unbind () = (ctx->resolve ())->unbind () - */ - virtual void unbind (const CosNaming::Name &n - ACE_ENV_ARG_DECL) = 0; - - /** - * This operation returns a new naming context implemented by the - * same naming server in which the operation was invoked. The - * context is not bound. - */ - virtual CosNaming::NamingContext_ptr new_context (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /** - * This operation creates a new context and binds it to the name - * supplied as an argument. The newly-created context is - * implemented by the same server as the context in which it was - * bound (the name argument excluding the last component). - */ - virtual CosNaming::NamingContext_ptr bind_new_context (const CosNaming::Name &n - ACE_ENV_ARG_DECL) = 0; - - /** - * Delete the naming context. The user should take care to any - * bindings in which the given context is bound to some names, to - * avoid dangling references when invoking operation. - * NOTE: is a no-op on the root context. - * NOTE: after is invoked on a Naming Context, all - * BindingIterators associated with that Naming Context are also destroyed. - */ - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /** - * Returns at most the requested number of bindings in - * . If the naming context contains additional bindings, they - * are returned with a BindingIterator. In the naming context does - * not contain any additional bindings returned as null. - */ - virtual void list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL) = 0; - - /// Returns the Default POA of this Servant object - virtual PortableServer::POA_ptr _default_POA (void) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_NAMING_CONTEXT_INTERFACE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.cpp deleted file mode 100644 index 6426cb81819..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.cpp +++ /dev/null @@ -1,98 +0,0 @@ -// $Id$ - -// ================================================================ -// LIBRARY -// libTAO_CosNaming.so -// -// DESCRIPTION -// This class allows for dynamically loading -// the Naming Service. -// -// AUTHORS -// Priyanka Gontla -// Carlos O'Ryan -// ================================================================ - -#include "orbsvcs/Naming/Naming_Loader.h" -#include "ace/Dynamic_Service.h" -#include "ace/Argv_Type_Converter.h" - -ACE_RCSID (Naming, Naming_Loader, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Naming_Loader::TAO_Naming_Loader (void) -{ - // Constructor -} - -TAO_Naming_Loader::~TAO_Naming_Loader (void) -{ - // Destructor -} - -int -TAO_Naming_Loader::init (int argc, ACE_TCHAR *argv[]) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Copy command line parameter. - ACE_Argv_Type_Converter command_line(argc, argv); - - // Initialize the ORB - CORBA::ORB_var orb = - CORBA::ORB_init (command_line.get_argc(), - command_line.get_ASCII_argv(), - 0 - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // This function call initializes the Naming Service - CORBA::Object_var object = - this->create_object (orb.in (), - command_line.get_argc(), - command_line.get_TCHAR_argv () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Should we log this??? - return -1; - } - ACE_ENDTRY; - return 0; -} - -int -TAO_Naming_Loader::fini (void) -{ - // Remove the Naming Service. - return this->naming_server_.fini (); -} - -CORBA::Object_ptr -TAO_Naming_Loader::create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[] - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - int result; - - // Initializes the Naming Service. Returns -1 - // on an error. - result = this->naming_server_.init_with_orb (argc, - argv, - orb); - if (result == -1) - return CORBA::Object::_nil (); - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_Naming_Serv, TAO_Naming_Loader) diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.h b/TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.h deleted file mode 100644 index 9f9543ce3f9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Loader.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// FILENAME -// Naming_Loader.h -// -// DESCRIPTION -// This class loads the Naming Service dynamically -// either from svc.conf file or call. -// -// AUTHORS -// Priyanka Gontla -// -// ============================================================================ - -#ifndef TAO_NAMING_LOADER_H -#define TAO_NAMING_LOADER_H - -#include "tao/Object_Loader.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Naming/Naming_Server.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Naming_Serv_Export TAO_Naming_Loader : public TAO_Object_Loader -{ -public: - - /// Constructor - TAO_Naming_Loader (void); - - /// Destructor - ~TAO_Naming_Loader (void); - - /// Called by the Service Configurator framework to initialize the - /// Event Service. Defined in - virtual int init (int argc, ACE_TCHAR *argv[]); - - /// Called by the Service Configurator framework to remove the - /// Event Service. Defined in - virtual int fini (void); - - /// This function call initializes the Naming Service given a reference to the - /// ORB and the command line parameters. - virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[] - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - protected: - /// Instance of the TAO_Naming_Server - TAO_Naming_Server naming_server_; - -private: - TAO_Naming_Loader (const TAO_Naming_Loader &); - TAO_Naming_Loader &operator = (const TAO_Naming_Loader &); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_Naming_Serv, TAO_Naming_Loader) - -#endif /* TAO_NAMING_LOADER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp deleted file mode 100644 index 5ea0c3bbc03..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp +++ /dev/null @@ -1,768 +0,0 @@ -// $Id$ - -#include "orbsvcs/Naming/Naming_Server.h" -#include "orbsvcs/Naming/Transient_Naming_Context.h" -#include "orbsvcs/Naming/Persistent_Context_Index.h" -#include "orbsvcs/Naming/Storable_Naming_Context.h" -#include "orbsvcs/Naming/Storable_Naming_Context_Activator.h" -#include "orbsvcs/Naming/Flat_File_Persistence.h" -#include "orbsvcs/CosNamingC.h" - -#include "tao/debug.h" -#include "tao/default_ports.h" -#include "tao/ORB_Core.h" - -#include "tao/IORTable/IORTable.h" - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 -#include "tao/Messaging/Messaging.h" -#endif - -#include "tao/AnyTypeCode/Any.h" - -#include "ace/Arg_Shifter.h" -#include "ace/Auto_Ptr.h" -#include "ace/Get_Opt.h" -#include "ace/OS_NS_unistd.h" - -ACE_RCSID (Naming, - Naming_Server, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Naming_Server::TAO_Naming_Server (void) - : naming_context_ (), - ior_multicast_ (0), - naming_service_ior_ (), - context_index_ (0), - ior_file_name_ (0), - pid_file_name_ (0), - context_size_ (ACE_DEFAULT_MAP_SIZE), - persistence_file_name_ (0), - base_address_ (TAO_NAMING_BASE_ADDR), - multicast_ (0), - use_storable_context_ (0), - use_servant_activator_ (0), - servant_activator_ (0), - use_redundancy_(0), - round_trip_timeout_ (0), - use_round_trip_timeout_ (0) -{ -} - -TAO_Naming_Server::TAO_Naming_Server (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size, - ACE_Time_Value *timeout, - int resolve_for_existing_naming_service, - const ACE_TCHAR *persistence_location, - void *base_addr, - int enable_multicast, - int use_storable_context, - int round_trip_timeout, - int use_round_trip_timeout) - : naming_context_ (), - ior_multicast_ (0), - naming_service_ior_ (), - context_index_ (0), - ior_file_name_ (0), - pid_file_name_ (0), - context_size_ (ACE_DEFAULT_MAP_SIZE), - persistence_file_name_ (0), - base_address_ (TAO_NAMING_BASE_ADDR), - multicast_ (0), - use_storable_context_ (use_storable_context), - use_servant_activator_ (0), - servant_activator_ (0), - use_redundancy_(0), - round_trip_timeout_ (0), - use_round_trip_timeout_ (0) -{ - if (this->init (orb, - poa, - context_size, - timeout, - resolve_for_existing_naming_service, - persistence_location, - base_addr, - enable_multicast, - use_storable_context, - round_trip_timeout, - use_round_trip_timeout) == -1) - ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_Naming_Server::init")); -} - - -int -TAO_Naming_Server::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size, - ACE_Time_Value *timeout, - int resolve_for_existing_naming_service, - const ACE_TCHAR *persistence_location, - void *base_addr, - int enable_multicast, - int use_storable_context, - int round_trip_timeout, - int use_round_trip_timeout) -{ - if (resolve_for_existing_naming_service) - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Try to find an existing Naming Service. - CORBA::Object_var naming_obj = - orb->resolve_initial_references ("NameService", - timeout - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (!CORBA::is_nil (naming_obj.in ())) - { - // - // Success in finding a Naming Service. - // - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "\nNameService found!\n")); - - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->naming_service_ior_ = - orb->object_to_string (naming_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - return 0; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Naming_Server::init"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - } - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "\nWe'll become a NameService\n")); - - // Become a Naming Service. - return this->init_new_naming (orb, - poa, - persistence_location, - base_addr, - context_size, - enable_multicast, - use_storable_context, - round_trip_timeout, - use_round_trip_timeout); -} - -int -TAO_Naming_Server::parse_args (int argc, - ACE_TCHAR *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("b:do:p:s:f:m:u:r:z:")); - - int c; - int size, result; - - // This is declared this way to avoid warnings from - // some compilers that complain about mismatching types - // in the sscanf. -#if ACE_SIZEOF_VOID_P == ACE_SIZEOF_LONG_LONG - ptrdiff_t address; -#else - long int address; -#endif /* ACE_SIZEOF_VOID_P */ - - // Make sure only one persistence option is specified - int f_opt_used = 0; - int u_opt_used = 0; - int r_opt_used = 0; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'd': // debug flag. - TAO_debug_level++; - break; - case 'o': // outputs the naming service ior to a file. - this->ior_file_name_ = get_opts.opt_arg (); - break; - case 'p': - this->pid_file_name_ = get_opts.opt_arg (); - break; - case 's': - size = ACE_OS::atoi (get_opts.opt_arg ()); - if (size >= 0) - this->context_size_ = size; - break; - case 'b': - result = ::sscanf (ACE_TEXT_ALWAYS_CHAR (get_opts.opt_arg ()), -#if ACE_SIZEOF_VOID_P == ACE_SIZEOF_LONG_LONG - ACE_INT64_FORMAT_SPECIFIER, -#else - "%ld", -#endif /* ACE_SIZEOF_VOID_P */ - &address); - if (result == 0 || result == EOF) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to process <-b> option"), - -1); - this->base_address_ = (void *) address; - break; - case 'm': - this->multicast_ = ACE_OS::atoi(get_opts.opt_arg ()); - break; - case 'f': - this->persistence_file_name_ = get_opts.opt_arg (); - f_opt_used = 1; - break; - case 'r': - this->use_redundancy_ = 1; - this->use_storable_context_ = 1; - this->persistence_file_name_ = get_opts.opt_arg (); - r_opt_used = 1; - break; - case 'u': - this->use_storable_context_ = 1; - this->persistence_file_name_ = get_opts.opt_arg (); - u_opt_used = 1; - break; - case 'z': - this->use_round_trip_timeout_ = 1; - this->round_trip_timeout_ = (int)1.0e7 * ACE_OS::atoi (get_opts.opt_arg ()); - break; - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("usage: %s ") - ACE_TEXT ("-d ") - ACE_TEXT ("-o ") - ACE_TEXT ("-p ") - ACE_TEXT ("-s ") - ACE_TEXT ("-b ") - ACE_TEXT ("-m <1=enable multicast, 0=disable multicast(default) ") - ACE_TEXT ("-f ") - ACE_TEXT ("-u ") - ACE_TEXT ("-r ") - ACE_TEXT ("-z ") - ACE_TEXT ("\n"), - argv [0]), - -1); - } - - if (f_opt_used + u_opt_used + r_opt_used > 1) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Only one persistence option can be passed") - ACE_TEXT ("\n")), - -1); - - return 0; -} - -int -TAO_Naming_Server::init_with_orb (int argc, - ACE_TCHAR *argv [], - CORBA::ORB_ptr orb) -{ - int result; - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Duplicate the ORB - this->orb_ = CORBA::ORB::_duplicate (orb); - - // Get the POA from the ORB. - CORBA::Object_var poa_object = - orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (poa_object.in ())) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT(" (%P|%t) Unable to initialize the POA.\n")), - -1); - } - - // Check the non-ORB arguments. this needs to come before we - // initialize my_naming_server so that we can pass on some of - // the command-line arguments. - result = this->parse_args (argc, argv); - - if (result < 0) - return result; - - // Get the POA object. - this->root_poa_ = PortableServer::POA::_narrow (poa_object.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Get the POA_Manager. - PortableServer::POAManager_var poa_manager = - this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - int numPolicies = 2; -#if (TAO_HAS_MINIMUM_POA == 0) - if (this->use_storable_context_) - { - this->use_servant_activator_ = 1; - } - - if (this->use_servant_activator_) { - numPolicies += 2; - } -#endif /* TAO_HAS_MINIMUM_POA */ - - CORBA::PolicyList policies (numPolicies); - policies.length (numPolicies); - - // Id Assignment policy - policies[0] = - this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Lifespan policy - policies[1] = - this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - -#if (TAO_HAS_MINIMUM_POA == 0) - if (this->use_servant_activator_) - { - // Request Processing Policy - policies[2] = - this->root_poa_->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Servant Retention Policy - policies[3] = - this->root_poa_->create_servant_retention_policy (PortableServer::RETAIN - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } -#endif /* TAO_HAS_MINIMUM_POA */ - - // We use a different POA, otherwise the user would have to change - // the object key each time it invokes the server. - this->ns_poa_ = this->root_poa_->create_POA ("NameService", - poa_manager.in (), - policies - ACE_ENV_ARG_PARAMETER); - // Warning! If create_POA fails, then the policies won't be - // destroyed and there will be hell to pay in memory leaks! - ACE_TRY_CHECK; - - // Creation of the new POAs over, so destroy the Policy_ptr's. - for (CORBA::ULong i = 0; - i < policies.length (); - ++i) - { - CORBA::Policy_ptr policy = policies[i]; - policy->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - result = this->init (orb, - this->ns_poa_.in (), - this->context_size_, - 0, - 0, - this->persistence_file_name_, - this->base_address_, - this->multicast_, - this->use_storable_context_, - this->round_trip_timeout_, - this->use_round_trip_timeout_); - if (result == -1) - return result; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Naming_Server::init_with_orb"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - if (this->ior_file_name_ != 0) - { - FILE *iorf = ACE_OS::fopen (this->ior_file_name_, ACE_TEXT("w")); - if (iorf == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("Unable to open %s for writing:(%u) %p\n"), - this->ior_file_name_, - errno, - ACE_TEXT("TAO_Naming_Server::init_with_orb")), - -1); - } - - CORBA::String_var str = this->naming_service_ior (); - - ACE_OS::fprintf (iorf, "%s\n", str.in ()); - ACE_OS::fclose (iorf); - } - - if (this->pid_file_name_ != 0) - { - FILE *pidf = ACE_OS::fopen (this->pid_file_name_, ACE_TEXT("w")); - if (pidf != 0) - { - ACE_OS::fprintf (pidf, - "%ld\n", - static_cast (ACE_OS::getpid ())); - ACE_OS::fclose (pidf); - } - } - - return 0; -} - -int -TAO_Naming_Server::init_new_naming (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const ACE_TCHAR *persistence_location, - void *base_addr, - size_t context_size, - int enable_multicast, - int use_storable_context, - int round_trip_timeout, - int use_round_trip_timeout) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - if (use_storable_context) - { - // In lieu of a fully implemented service configurator version - // of this Reader and Writer, let's just take something off the - // command line for now. - TAO_Naming_Service_Persistence_Factory* pf = 0; - ACE_NEW_RETURN(pf, TAO_NS_FlatFileFactory, -1); - auto_ptr persFactory(pf); - // This instance will either get deleted after recreate all or, - // in the case of a servant activator's use, on destruction of the - // activator. - - // Was a location specified? - if (persistence_location == 0) - { - // No, assign the default location "NameService" - persistence_location = ACE_TEXT("NameService"); - } - - // Now make sure this directory exists - if (ACE_OS::access (persistence_location, W_OK|X_OK)) - { - ACE_ERROR ((LM_ERROR, "Invalid persistence directory\n")); - return -1; - } - -#if (TAO_HAS_MINIMUM_POA == 0) - if (this->use_servant_activator_) - { - ACE_NEW_THROW_EX (this->servant_activator_, - TAO_Storable_Naming_Context_Activator (orb, - persFactory.get(), - persistence_location, - context_size), - CORBA::NO_MEMORY ()); - this->ns_poa_->set_servant_manager(this->servant_activator_); - } -#endif /* TAO_HAS_MINIMUM_POA */ - - this->naming_context_ = - TAO_Storable_Naming_Context::recreate_all (orb, - poa, - TAO_ROOT_NAMING_CONTEXT, - context_size, - 0, - persFactory.get(), - persistence_location, - use_redundancy_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (this->use_servant_activator_) - persFactory.release(); - } - else if (persistence_location != 0) - // - // Initialize Persistent Naming Service. - // - { - // Allocate and initialize Persistent Context Index. - ACE_NEW_RETURN (this->context_index_, - TAO_Persistent_Context_Index (orb, poa), - -1); - - if (this->context_index_->open (persistence_location, - base_addr) == -1 - || this->context_index_->init (context_size) == -1) - { - if (TAO_debug_level >0) - ACE_DEBUG ((LM_DEBUG, - "TAO_Naming_Server: context_index initialization failed\n")); - return -1; - } - - // Set the root Naming Context reference. - this->naming_context_ = - this->context_index_->root_context (); - } - else - { - // - // Initialize Transient Naming Service. - // - this->naming_context_ = - TAO_Transient_Naming_Context::make_new_context (poa, - TAO_ROOT_NAMING_CONTEXT, - context_size - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - } - - // Register with the ORB's resolve_initial_references() - // mechanism. Primarily useful for dynamically loaded Name - // Services. - orb->register_initial_reference ("NameService", - this->naming_context_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Set the ior of the root Naming Context. - this->naming_service_ior_= - orb->object_to_string (this->naming_context_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::Object_var table_object = - orb->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - IORTable::Table_var adapter = - IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil (adapter.in ())) - { - ACE_ERROR ((LM_ERROR, "Nil IORTable\n")); - } - else - { - CORBA::String_var ior = - orb->object_to_string (this->naming_context_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - adapter->bind ("NameService", ior.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - -#if defined (ACE_HAS_IP_MULTICAST) - if (enable_multicast) - { - // @@ Marina: is there anyway to implement this stuff - // without using ORB_Core_instance()? For example can you - // pass the ORB as an argument? - - // - // Install ior multicast handler. - // - // Get reactor instance from TAO. - ACE_Reactor *reactor = orb->orb_core()->reactor (); - - // See if the -ORBMulticastDiscoveryEndpoint option was specified. - ACE_CString mde (orb->orb_core ()->orb_params ()->mcast_discovery_endpoint ()); - - // First, see if the user has given us a multicast port number - // on the command-line; - u_short port = - orb->orb_core ()->orb_params ()->service_port (TAO::MCAST_NAMESERVICE); - - if (port == 0) - { - // Check environment var. for multicast port. - const char *port_number = - ACE_OS::getenv ("NameServicePort"); - - if (port_number != 0) - port = static_cast (ACE_OS::atoi (port_number)); - } - - // Port wasn't specified on the command-line or in environment - - // use the default. - if (port == 0) - port = TAO_DEFAULT_NAME_SERVER_REQUEST_PORT; - - // Instantiate a handler which will handle client requests for - // the root Naming Context ior, received on the multicast port. - ACE_NEW_RETURN (this->ior_multicast_, - TAO_IOR_Multicast (), - -1); - - if (mde.length () != 0) - { - if (this->ior_multicast_->init (this->naming_service_ior_.in (), - mde.c_str (), - TAO_SERVICEID_NAMESERVICE) == -1) - return -1; - } - else - { - if (this->ior_multicast_->init (this->naming_service_ior_.in (), - port, - ACE_DEFAULT_MULTICAST_ADDR, - TAO_SERVICEID_NAMESERVICE) == -1) - return -1; - } - - // Register event handler for the ior multicast. - if (reactor->register_handler (this->ior_multicast_, - ACE_Event_Handler::READ_MASK) == -1) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_Naming_Server: cannot register Event handler\n")); - return -1; - } - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "TAO_Naming_Server: The multicast server setup is done.\n")); - } -#else - ACE_UNUSED_ARG (enable_multicast); -#endif /* ACE_HAS_IP_MULTICAST */ - -#if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 - if (use_round_trip_timeout == 1) - { - TimeBase::TimeT roundTripTimeoutVal = round_trip_timeout; - CORBA::Any anyObjectVal; - anyObjectVal <<= roundTripTimeoutVal; - CORBA::PolicyList polList (1); - polList.length (1); - polList[0] = orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, - anyObjectVal); - ACE_TRY_CHECK; - - // set a timeout on the orb - // - CORBA::Object_var orbPolicyManagerObj = - orb->resolve_initial_references ("ORBPolicyManager" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::PolicyManager_var orbPolicyManager = - CORBA::PolicyManager::_narrow (orbPolicyManagerObj.in ()); - ACE_TRY_CHECK; - orbPolicyManager->set_policy_overrides (polList, CORBA::SET_OVERRIDE); - - polList[0]->destroy (); - ACE_TRY_CHECK; - polList[0] = CORBA::Policy::_nil (); - } -#else - ACE_UNUSED_ARG (use_round_trip_timeout); -#endif /* TAO_HAS_CORBA_MESSAGING */ - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Naming_Server::init_new_naming"); - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - return 0; -} - -int -TAO_Naming_Server::fini (void) -{ - // Destroy the child POA ns_poa that is created when initializing - // the Naming Service - ACE_TRY_NEW_ENV - { - this->ns_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - - CORBA::Object_var table_object = - this->orb_->resolve_initial_references ("IORTable" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - IORTable::Table_var adapter = - IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil (adapter.in ())) - { - ACE_ERROR ((LM_ERROR, "Nil IORTable\n")); - } - else - { - adapter->unbind ("NameService" ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - // Ignore - } - ACE_ENDTRY; - - - if (this->ior_multicast_ != 0) - { - orb_->orb_core()->reactor ()->remove_handler (this->ior_multicast_, - ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); - delete this->ior_multicast_; - } - - delete this->context_index_; - - return 0; -} - -char* -TAO_Naming_Server::naming_service_ior (void) -{ - return CORBA::string_dup (this->naming_service_ior_.in ()); -} - -CosNaming::NamingContext_ptr -TAO_Naming_Server::operator-> (void) const -{ - return this->naming_context_.ptr (); -} - -TAO_Naming_Server::~TAO_Naming_Server (void) -{ -#if (TAO_HAS_MINIMUM_POA == 0) - if (this->use_servant_activator_) - delete this->servant_activator_; -#endif /* TAO_HAS_MINIMUM_POA */ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.h b/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.h deleted file mode 100644 index 5d7c3919fb6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.h +++ /dev/null @@ -1,239 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Naming_Server.h - * - * $Id$ - * - * Implement wrappers useful to Naming Service servers. - * - * - * @author Nagarajan Surendran (naga@cs.wustl.edu) - * @author Matt Braun - * @author Douglas C. Schmidt . - */ -//============================================================================= - - -#ifndef TAO_NAMING_SERVER_H -#define TAO_NAMING_SERVER_H -#include /**/ "ace/pre.h" - -#include "tao/ORB.h" -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/IOR_Multicast.h" -#include "orbsvcs/Naming/Naming_Context_Interface.h" -#include "orbsvcs/Naming/nsconf.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward decl; -class TAO_Persistent_Context_Index; -class TAO_Storable_Naming_Context_Activator; - -/** - * @class TAO_Naming_Server - * - * @brief Defines a wrapper class that holds the root Naming Context. - * - * This class either finds an existing Naming Service (if the - * flag is set) or creates - * one (if flag isn't set or - * Naming Service was not found). This class also defines the - * operator-> so that functions like , - * .. can be called directly on a - * object, and be forwareded to the root Naming Context. - * This class is intended to simplify - * programs that want to play the role of a Naming Service - * server. To simplify programs that want to play the role of - * Naming Service clients, use . - * If a Naming Service is created locally, a TAO_IOR_Multicast - * event handler is created and installed on the ORB's reactor. - * This event handler allows other clients on the network to - * discover and use this Naming Service. - * Event handler listens on a multicast port for messages from - * clients looking for a Naming Service, and sends back the ior - * of the root Naming Context. For more information on how this - * bootstraping through a multicast process works, check out - * orbsvcs/orbsvcs/TAO_IOR_Multicast.*, implementation of - * , and orbsvcs/Naming/README. - */ -class TAO_Naming_Serv_Export TAO_Naming_Server -{ -public: - /// Default constructor. - TAO_Naming_Server (void); - - /** - * Constructor. Attempts to find an existing Naming Service if - * is set to true. If it is - * false, or no Naming Service was found during a period, - * create the Naming Service in this process. If creating the - * Naming Service locally, make the root context of size - * , register it under the , and make the Naming - * Service persistent if is not 0. - * ( specifies name of the file to use for - * persistent storage, specifies the address used for - * memory mapping file). - * If is not zero then the service will respond - * to multicast location queries. - */ - TAO_Naming_Server (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size = ACE_DEFAULT_MAP_SIZE, - ACE_Time_Value *timeout = 0, - int resolve_for_existing_naming_service = 1, - const ACE_TCHAR *persistence_location = 0, - void *base_addr = TAO_NAMING_BASE_ADDR, - int enable_multicast = 1, - int use_storable_context = 0, - int round_trip_timeout = 0, - int use_round_trip_timeout = 0); - - /** - * Initializer. Attempts to find an existing Naming Service if - * is set to true. If it is - * false, or no Naming Service was found during a period, - * create the Naming Service in this process. If creating the - * Naming Service locally, make the root context of size - * , register it under the , and make the Naming - * Service persistent if is not 0. - * ( specifies name of the file to use for - * persistent storage, specifies the address used for - * memory mapping file). - * If is not zero then the service will respond - * to multicast location queries. - */ - int init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - size_t context_size = ACE_DEFAULT_MAP_SIZE, - ACE_Time_Value *timeout = 0, - int resolve_for_existing_naming_service = 1, - const ACE_TCHAR *persistence_location = 0, - void *base_addr = TAO_NAMING_BASE_ADDR, - int enable_multicast = 1, - int use_storable_context = 0, - int round_trip_timeout = 0, - int use_round_trip_timeout = 0); - - /// Initialize the Naming Service with the command line arguments and - /// the ORB. - int init_with_orb (int argc, - ACE_TCHAR *argv [], - CORBA::ORB_ptr orb); - - /// Destroy the child POA created in - int fini (void); - - /// Destructor. - ~TAO_Naming_Server (void); - - /// Returns the IOR of the naming service. - char * naming_service_ior (void); - - /// Returns a for the root Naming Context. - CosNaming::NamingContext_ptr operator-> (void) const; - -protected: - /** - * Helper method: create Naming Service locally. - * Make the root context of size - * , register it under the , and make the Naming - * Service persistent if is not 0. - * ( specifies name of the file to use for - * persistent storage). - * If is not zero then the service will respond - * to multicast location queries. - */ - int init_new_naming (CORBA::ORB_ptr orb, - PortableServer::POA_ptr root_poa, - const ACE_TCHAR *persistence_location, - void *base_addr, - size_t context_size, - int enable_multicast, - int use_storable_context, - int round_trip_timeout = 0, - int use_round_trip_timeout = 0); - - /// parses the arguments. - int parse_args (int argc, ACE_TCHAR *argv[]); - - /// Root NamingContext_ptr. - CosNaming::NamingContext_var naming_context_; - - /// The ior_multicast event handler. - TAO_IOR_Multicast *ior_multicast_; - - /// The IOR string of the root naming context. - CORBA::String_var naming_service_ior_; - - /** - * Pointer to the object used to create/initialize - * the Naming Service when local persistent Naming Service is - * desired. - */ - TAO_Persistent_Context_Index *context_index_; - - /// The ORB - CORBA::ORB_var orb_; - - /// The Root POA. - PortableServer::POA_var root_poa_; - - /// The Naming Service POA. - PortableServer::POA_var ns_poa_; - - /// File to output the Naming Service IOR. - const ACE_TCHAR *ior_file_name_; - - /// File to output the process id. - const ACE_TCHAR *pid_file_name_; - - /** - * Size of the hash_table allocated upon the creation of the Naming - * Service context (if one is created). Note: all the contexts - * created under the given context will use the same size for their - * initial hash table allocations. - */ - size_t context_size_; - - /// Path to the file to be used to store/read in Naming Service - /// persistent state. - const ACE_TCHAR *persistence_file_name_; - - /// Address to be used for memory mapping Naming Service state file, - /// identified by the . - void *base_address_; - - /// If not zero multicast is enabled. - int multicast_; - - /// If not zero use flat file persistence - int use_storable_context_; - - /** - * If not zero use servant activator that uses flat file persistence. - */ - int use_servant_activator_; - - /** - * Need to retain the servant activator between calls to - * init_with_orb() and init_new_naming(). - */ - TAO_Storable_Naming_Context_Activator *servant_activator_; - - /** - * If not zero support redundant naming servers. - */ - int use_redundancy_; - - // If not zero use round trip timeout policy set to value specified - int round_trip_timeout_; - int use_round_trip_timeout_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_NAMING_SERVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.cpp b/TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.cpp deleted file mode 100644 index a9d8fd2b50b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.cpp +++ /dev/null @@ -1,392 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Naming_Service_Container.cpp -// -// = AUTHOR -// Bruce Trask -// -// ============================================================================ - - -#ifndef NS_CONTAINER_CPP -#define NS_CONTAINER_CPP - -#include "ace/Malloc_Base.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Naming/Naming_Service_Container.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_ALLOC_HOOK_DEFINE(ACE_NS_Node) - -# if ! defined (ACE_HAS_BROKEN_NOOP_DTORS) -template -ACE_NS_Node::~ACE_NS_Node (void) -{ -} -# endif /* ! defined (ACE_HAS_BROKEN_NOOP_DTORS) */ - -template -ACE_NS_Node::ACE_NS_Node (const T &i, ACE_NS_Node *n) - : next_ (n), - item_ (i) -{ - // ACE_TRACE ("ACE_NS_Node::ACE_NS_Node"); -} - -template -ACE_NS_Node::ACE_NS_Node (ACE_NS_Node *n, int) - : next_ (n) -{ - // ACE_TRACE ("ACE_NS_Node::ACE_NS_Node"); -} - -template -ACE_NS_Node::ACE_NS_Node (const ACE_NS_Node &s) - : next_ (s.next_), - item_ (s.item_) -{ - // ACE_TRACE ("ACE_NS_Node::ACE_NS_Node"); -} - - -ACE_ALLOC_HOOK_DEFINE(ACE_Unbounded_List) - - template size_t -ACE_Unbounded_List::size (void) const -{ - // ACE_TRACE ("ACE_Unbounded_List::size"); - return this->cur_size_; -} - -template int -ACE_Unbounded_List::insert_tail (const T &item) -{ - ACE_NS_Node *temp; - - // Insert into the old dummy node location. - this->head_->item_ = item; - - // Create a new dummy node. - ACE_NEW_MALLOC_RETURN (temp, - (ACE_NS_Node*) this->allocator_->malloc (sizeof (ACE_NS_Node)), - ACE_NS_Node (this->head_->next_), - -1); - // Link this pointer into the list. - this->head_->next_ = temp; - - // Point the head to the new dummy node. - this->head_ = temp; - - this->cur_size_++; - return 0; -} - -template void -ACE_Unbounded_List::reset (void) -{ - ACE_TRACE ("reset"); - - this->delete_nodes (); -} - -template void -ACE_Unbounded_List::dump (void) const -{ - ACE_TRACE ("ACE_Unbounded_List::dump"); - - ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nhead_ = %u"), this->head_)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nhead_->next_ = %u"), this->head_->next_)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\ncur_size_ = %d\n"), this->cur_size_)); - - T *item = 0; -#if !defined (ACE_NLOGGING) - size_t count = 1; -#endif /* ! ACE_NLOGGING */ - - for (ACE_Unbounded_List_Iterator iter (*(ACE_Unbounded_List *) this); - iter.next (item) != 0; - iter.advance ()) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("count = %d\n"), count++)); - - ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); -} - -template void -ACE_Unbounded_List::copy_nodes (const ACE_Unbounded_List &us) -{ - for (ACE_NS_Node *curr = us.head_->next_; - curr != us.head_; - curr = curr->next_) - this->insert_tail (curr->item_); -} - -template void -ACE_Unbounded_List::delete_nodes (void) -{ - ACE_NS_Node *curr = this->head_->next_; - - // Keep looking until we've hit the dummy node. - - while (curr != this->head_) - { - ACE_NS_Node *temp = curr; - curr = curr->next_; - ACE_DES_FREE_TEMPLATE (temp, - this->allocator_->free, - ACE_NS_Node, - ); - this->cur_size_--; - } - - // Reset the list to be a circular list with just a dummy node. - this->head_->next_ = this->head_; -} - -template -ACE_Unbounded_List::~ACE_Unbounded_List (void) -{ - // ACE_TRACE ("ACE_Unbounded_List::~ACE_Unbounded_List"); - - this->delete_nodes (); - - // Delete the dummy node. - ACE_DES_FREE_TEMPLATE (head_, - this->allocator_->free, - ACE_NS_Node, - ); - this->head_ = 0; -} - -template -ACE_Unbounded_List::ACE_Unbounded_List (ACE_Allocator *alloc) - : head_ (0), - cur_size_ (0), - allocator_ (alloc) -{ - // ACE_TRACE ("ACE_Unbounded_List::ACE_Unbounded_List"); - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_NS_Node*) this->allocator_->malloc (sizeof (ACE_NS_Node)), - ACE_NS_Node); - // Make the list circular by pointing it back to itself. - this->head_->next_ = this->head_; -} - -template -ACE_Unbounded_List::ACE_Unbounded_List (const ACE_Unbounded_List &us) - : head_ (0), - cur_size_ (0), - allocator_ (us.allocator_) -{ - ACE_TRACE ("ACE_Unbounded_List::ACE_Unbounded_List"); - - if (this->allocator_ == 0) - this->allocator_ = ACE_Allocator::instance (); - - ACE_NEW_MALLOC (this->head_, - (ACE_NS_Node*) this->allocator_->malloc (sizeof (ACE_NS_Node)), - ACE_NS_Node); - this->head_->next_ = this->head_; - this->copy_nodes (us); -} - -template void -ACE_Unbounded_List::operator= (const ACE_Unbounded_List &us) -{ - ACE_TRACE ("ACE_Unbounded_List::operator="); - - if (this != &us) - { - this->delete_nodes (); - this->copy_nodes (us); - } -} - -template int -ACE_Unbounded_List::insert (const T &item) -{ - ACE_TRACE ("ACE_Unbounded_List::insert"); - return this->insert_tail (item); -} - -template int -ACE_Unbounded_List::remove (const T &item) -{ - // ACE_TRACE ("ACE_Unbounded_List::remove"); - - // Insert the item to be founded into the dummy node. - this->head_->item_ = item; - - ACE_NS_Node *curr = this->head_; - - while (!(curr->next_->item_ == item)) - curr = curr->next_; - - if (curr->next_ == this->head_) - return -1; // Item was not found. - else - { - ACE_NS_Node *temp = curr->next_; - // Skip over the node that we're deleting. - curr->next_ = temp->next_; - this->cur_size_--; - ACE_DES_FREE_TEMPLATE (temp, - this->allocator_->free, - ACE_NS_Node, - ); - return 0; - } -} - -template ACE_Unbounded_List_Iterator -ACE_Unbounded_List::begin (void) -{ - // ACE_TRACE ("ACE_Unbounded_List::begin"); - return ACE_Unbounded_List_Iterator (*this); -} - -template ACE_Unbounded_List_Iterator -ACE_Unbounded_List::end (void) -{ - // ACE_TRACE ("ACE_Unbounded_List::end"); - return ACE_Unbounded_List_Iterator (*this, 1); -} - - -ACE_ALLOC_HOOK_DEFINE(ACE_Unbounded_List_Iterator) - - template void -ACE_Unbounded_List_Iterator::dump (void) const -{ - // ACE_TRACE ("ACE_Unbounded_List_Iterator::dump"); -} - -template -ACE_Unbounded_List_Iterator::ACE_Unbounded_List_Iterator (ACE_Unbounded_List &s, int end) - : current_ (end == 0 ? s.head_->next_ : s.head_ ), - set_ (&s) -{ - // ACE_TRACE ("ACE_Unbounded_List_Iterator::ACE_Unbounded_List_Iterator"); -} - -template int -ACE_Unbounded_List_Iterator::advance (void) -{ - // ACE_TRACE ("ACE_Unbounded_List_Iterator::advance"); - this->current_ = this->current_->next_; - return this->current_ != this->set_->head_; -} - -template int -ACE_Unbounded_List_Iterator::first (void) -{ - // ACE_TRACE ("ACE_Unbounded_List_Iterator::first"); - this->current_ = this->set_->head_->next_; - return this->current_ != this->set_->head_; -} - -template int -ACE_Unbounded_List_Iterator::done (void) const -{ - ACE_TRACE ("ACE_Unbounded_List_Iterator::done"); - - return this->current_ == this->set_->head_; -} - -template int -ACE_Unbounded_List_Iterator::next (T *&item) -{ - // ACE_TRACE ("ACE_Unbounded_List_Iterator::next"); - if (this->current_ == this->set_->head_) - return 0; - else - { - item = &this->current_->item_; - return 1; - } -} - -template ACE_Unbounded_List_Iterator -ACE_Unbounded_List_Iterator::operator++ (int) -{ - //ACE_TRACE ("ACE_Unbounded_List_Iterator::operator++ (int)"); - ACE_Unbounded_List_Iterator retv (*this); - - // postfix operator - - this->advance (); - return retv; -} - -template ACE_Unbounded_List_Iterator& -ACE_Unbounded_List_Iterator::operator++ (void) -{ - // ACE_TRACE ("ACE_Unbounded_List_Iterator::operator++ (void)"); - - // prefix operator - - this->advance (); - return *this; -} - -template T& -ACE_Unbounded_List_Iterator::operator* (void) -{ - //ACE_TRACE ("ACE_Unbounded_List_Iterator::operator*"); - T *retv = 0; - - int result = this->next (retv); - ACE_ASSERT (result != 0); - ACE_UNUSED_ARG (result); - - return *retv; -} - -template bool -ACE_Unbounded_List_Iterator::operator== (const ACE_Unbounded_List_Iterator &rhs) const -{ - //ACE_TRACE ("ACE_Unbounded_List_Iterator::operator=="); - return (this->set_ == rhs.set_ && this->current_ == rhs.current_); -} - -template bool -ACE_Unbounded_List_Iterator::operator!= (const ACE_Unbounded_List_Iterator &rhs) const -{ - //ACE_TRACE ("ACE_Unbounded_List_Iterator::operator!="); - return (this->set_ != rhs.set_ || this->current_ != rhs.current_); -} - -// --- - -template int -ACE_Unbounded_List::is_empty (void) const -{ - ACE_TRACE ("ACE_Unbounded_List::is_empty"); - return this->head_ == this->head_->next_; -} - -template int -ACE_Unbounded_List::is_full (void) const -{ - ACE_TRACE ("ACE_Unbounded_List::is_full"); - return 0; // We should implement a "node of last resort for this..." -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#endif /* NS_CONTAINERS_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.h b/TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.h deleted file mode 100644 index 0d4a61f123f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Naming_Service_Container.h +++ /dev/null @@ -1,234 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Naming_Service_Container.h - * - * $Id$ - * - * @author Bruce Trask - */ -//============================================================================= - - - -#ifndef NS_CONTAINER_H -#define NS_CONTAINER_H -#include /**/ "ace/pre.h" - -#include "ace/ACE.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "tao/orbconf.h" - -// Need by ACE_DLList_Node. -#include "ace/Containers.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Allocator; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class ACE_Unbounded_List; -template class ACE_Unbounded_List_Iterator; - -/** - * @class ACE_NS_Node - * - * @brief Implementation element in a Queue, List, and Stack. - */ -template -class ACE_NS_Node -{ -public: - friend class ACE_Unbounded_List; - friend class ACE_Unbounded_List_Iterator; - -# if ! defined (ACE_HAS_BROKEN_NOOP_DTORS) - /// This isn't necessary, but it keeps some compilers happy. - ~ACE_NS_Node (void); -# endif /* ! defined (ACE_HAS_BROKEN_NOOP_DTORS) */ - -private: - // = Initialization methods - ACE_NS_Node (const T &i, ACE_NS_Node *n); - ACE_NS_Node (ACE_NS_Node *n = 0, int = 0); - ACE_NS_Node (const ACE_NS_Node &n); - - /// Pointer to next element in the list of s. - ACE_NS_Node *next_; - - /// Current value of the item in this node. - T item_; -}; - -/** - * @class ACE_Unbounded_List_Iterator - * - * @brief Implement an iterator over an unbounded List. - */ -template -class ACE_Unbounded_List_Iterator -{ -public: - // = Initialization method. - ACE_Unbounded_List_Iterator (ACE_Unbounded_List &s, int end = 0); - - // = Iteration methods. - - /// Pass back the that hasn't been seen in the List. - /// Returns 0 when all items have been seen, else 1. - int next (T *&next_item); - - /// Move forward by one element in the List. Returns 0 when all the - /// items in the List have been seen, else 1. - int advance (void); - - /// Move to the first element in the List. Returns 0 if the - /// List is empty, else 1. - int first (void); - - /// Returns 1 when all items have been seen, else 0. - int done (void) const; - - /// Dump the state of an object. - void dump (void) const; - - // = STL styled iteration, compare, and reference functions. - - /// Postfix advance. - ACE_Unbounded_List_Iterator operator++ (int); - - /// Prefix advance. - ACE_Unbounded_List_Iterator& operator++ (void); - - /// Returns a reference to the interal element is pointing to. - T& operator* (void); - - /// Check if two iterators point to the same position - bool operator== (const ACE_Unbounded_List_Iterator &) const; - bool operator!= (const ACE_Unbounded_List_Iterator &) const; - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -private: - - /// Pointer to the current node in the iteration. - ACE_NS_Node *current_; - - /// Pointer to the set we're iterating over. - ACE_Unbounded_List *set_; -}; - -/** - * @class ACE_Unbounded_List - * - * @brief Implement a simple unordered set of of unbounded size. - * - * This implementation of an unordered set uses a circular - * linked list with a dummy node. This implementation does not - * allow duplicates, but it maintains FIFO ordering of insertions. - */ -template -class ACE_Unbounded_List -{ -public: - friend class ACE_Unbounded_List_Iterator; - - // Trait definition. - typedef ACE_Unbounded_List_Iterator ITERATOR; - typedef ACE_Unbounded_List_Iterator iterator; - - // = Initialization and termination methods. - /// Constructor. Use user specified allocation strategy - /// if specified. - ACE_Unbounded_List (ACE_Allocator *alloc = 0); - - /// Copy constructor. - ACE_Unbounded_List (const ACE_Unbounded_List &); - - /// Assignment operator. - void operator= (const ACE_Unbounded_List &); - - /// Destructor. - ~ACE_Unbounded_List (void); - - // = Check boundary conditions. - - /// Returns 1 if the container is empty, otherwise returns 0. - int is_empty (void) const; - - /// Returns 1 if the container is full, otherwise returns 0. - int is_full (void) const; - - // = Classic unordered set operations. - - /** - * Insert into the set (doesn't allow duplicates). - * Returns -1 if failures occur, 1 if item is already present, else - * 0. - */ - int insert (const T &new_item); - - /** - * Remove first occurrence of from the set. Returns 0 if - * it removes the item, -1 if it can't find the item, and -1 if a - * failure occurs. - */ - int remove (const T &item); - - /// Size of the set. - size_t size (void) const; - - /// Dump the state of an object. - void dump (void) const; - - /// Reset the to be empty. - void reset (void); - - // = STL-styled unidirectional iterator factory. - ACE_Unbounded_List_Iterator begin (void); - ACE_Unbounded_List_Iterator end (void); - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -private: - /// Insert at the tail of the set (doesn't check for - /// duplicates). - int insert_tail (const T &item); - - /// Delete all the nodes in the List. - void delete_nodes (void); - - /// Copy nodes into this set. - void copy_nodes (const ACE_Unbounded_List &); - - /// Head of the linked list of NS_Nodes. - ACE_NS_Node *head_; - - /// Current size of the set. - size_t cur_size_; - - /// Allocation strategy of the set. - ACE_Allocator *allocator_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Naming/Naming_Service_Container.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Naming_Service_Container.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* NS_CONTAINERS_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp deleted file mode 100644 index 97c2407a6bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp +++ /dev/null @@ -1,310 +0,0 @@ -// $Id$ - -#include "orbsvcs/Naming/Persistent_Context_Index.h" -#include "orbsvcs/Naming/Persistent_Naming_Context.h" - -#include "tao/debug.h" - -#include "ace/Auto_Ptr.h" -#include "ace/OS_NS_unistd.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Persistent_Context_Index::unbind (const char *poa_id) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - TAO_Persistent_Index_ExtId name (poa_id); - TAO_Persistent_Index_IntId entry; - if (this->index_->unbind (name, entry, this->allocator_) != 0) - return -1; - else - { - // Free up the memory we allocated in bind(). - this->allocator_->free ((void *) (entry.counter_)); - return 0; - } -} - -int -TAO_Persistent_Context_Index::bind (const char *poa_id, - ACE_UINT32 *&counter, - TAO_Persistent_Context_Index::CONTEXT *hash_map) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, -1); - - // Allocate memory for items to be stored in the table. - size_t poa_id_len = ACE_OS::strlen (poa_id) + 1; - size_t counter_len = sizeof (ACE_UINT32); - char *ptr = (char *) this->allocator_->malloc (poa_id_len + counter_len); - - if (ptr == 0) - return -1; - else - { - // Populate memory with data. - counter = reinterpret_cast (ptr); - *counter = 0; - char * poa_id_ptr = ptr + counter_len; - ACE_OS::strcpy (poa_id_ptr, poa_id); - - TAO_Persistent_Index_ExtId name (poa_id_ptr); - TAO_Persistent_Index_IntId entry (counter, hash_map); - int result = -1; - - // Do a normal bind. This will fail if there's already an - // entry with the same name. - result = this->index_->bind (name, entry, this->allocator_); - - if (result == 1) - { - // Entry already existed so bind failed. Free our dynamically - // allocated memory. - this->allocator_->free ((void *) ptr); - return result; - } - - if (result == -1) - // Free our dynamically allocated memory. - this->allocator_->free ((void *) ptr); - else - // If bind() succeed, it will automatically sync - // up the map manager entry. However, we must sync up our - // name/value memory. - this->allocator_->sync (ptr, poa_id_len + counter_len); - - return result; - } -} - -TAO_Persistent_Context_Index::TAO_Persistent_Context_Index - (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa) - : allocator_ (0), - index_ (0), - index_file_ (0), - base_address_ (0), - orb_ (CORBA::ORB::_duplicate (orb)), - poa_ (PortableServer::POA::_duplicate (poa)) -{ -} - -TAO_Persistent_Context_Index::~TAO_Persistent_Context_Index (void) -{ - delete allocator_; - ACE_OS::free (reinterpret_cast (const_cast (index_file_))); -} - -ACE_Allocator* -TAO_Persistent_Context_Index::allocator (void) -{ - return allocator_; -} - -CosNaming::NamingContext_ptr -TAO_Persistent_Context_Index::root_context (void) -{ - return CosNaming::NamingContext::_duplicate (root_context_.in ()); -} - -CORBA::ORB_ptr -TAO_Persistent_Context_Index::orb (void) -{ - return orb_.in (); -} - -int -TAO_Persistent_Context_Index::open (const ACE_TCHAR *file_name, - void *base_address) -{ - this->base_address_ = base_address; - - index_file_ = ACE_OS::strdup (file_name); - if (index_file_ == 0) - return -1; - - return create_index (); -} - -int -TAO_Persistent_Context_Index::init (size_t context_size) -{ - // Note: in case of an early exit from this (or helper) function due - // to an error condition, we rely on POA to clean up all of the servants - // already registered with it. - - // Return value of this function (necessary to keep compilers quiet). - int status = 0; - - if (index_->current_size () == 0) - // CASE 1:there are no Naming Contexts registered. We need to create - // one. - { - ACE_DECLARE_NEW_CORBA_ENV; - - this->root_context_ = - TAO_Persistent_Naming_Context::make_new_context (poa_.in (), - TAO_ROOT_NAMING_CONTEXT, - context_size, - this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - } - - else - // CASE 2:Recreate all Naming Contexts. - status = recreate_all (); - - return status; -} - -int -TAO_Persistent_Context_Index::recreate_all (void) -{ - CONTEXT_INDEX::ITERATOR *index_iter = 0; - - ACE_NEW_RETURN (index_iter, - (CONTEXT_INDEX::ITERATOR) (*index_), - -1); - - ACE_Auto_Basic_Ptr it (index_iter); - - // Because of broken old g++!!! - typedef ACE_Hash_Map_With_Allocator IND_DEF; - - IND_DEF::ENTRY *entry = 0; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Starting to recreate Naming Contexts from the file... \n")); - - // For each entry in , create a Naming Context servant. - do - { - index_iter->next (entry); - - // Put together a servant for the new Naming Context. - - TAO_Persistent_Naming_Context *context_impl = 0; - ACE_NEW_RETURN (context_impl, - TAO_Persistent_Naming_Context (poa_.in (), - entry->ext_id_.poa_id_, - this, - entry->int_id_.hash_map_, - entry->int_id_.counter_), - -1); - - - // Put into the auto pointer temporarily, in case next - // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); - - TAO_Naming_Context *context = 0; - ACE_NEW_RETURN (context, - TAO_Naming_Context (context_impl), - -1); - - // Let know about it's . - context_impl->interface (context); - - // Release auto pointer and start using reference counting to - // control our servant. - temp.release (); - PortableServer::ServantBase_var s = context; - - // Register with the POA. - ACE_DECLARE_NEW_CORBA_ENV; - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (entry->ext_id_.poa_id_); - - this->poa_->activate_object_with_id (id.in (), - context - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - CosNaming::NamingContext_var result = context->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // If this is the root Naming Context, take a note of it. - if (context_impl->root ()) - this->root_context_= result._retn (); - - } while (index_iter->advance ()); - - return 0; -} - -int -TAO_Persistent_Context_Index::create_index (void) -{ - // Make sure that the file name is of the legal length. - if (ACE_OS::strlen (index_file_) >= MAXNAMELEN + MAXPATHLEN) - { - errno = ENAMETOOLONG; - return -1; - } - -#if !defined (CHORUS) - ACE_MMAP_Memory_Pool::OPTIONS options (base_address_); -#else - // Use base address == 0, don't use a fixed address. - ACE_MMAP_Memory_Pool::OPTIONS options (0, - 0, - 0, - ACE_CHORUS_LOCAL_NAME_SPACE_T_SIZE); -#endif /* CHORUS */ - - // Create the allocator with the appropriate options. The name used - // for the lock is the same as one used for the file. - ACE_NEW_RETURN (this->allocator_, - ALLOCATOR (this->index_file_, - this->index_file_, - &options), - -1); - -#if !defined (ACE_LACKS_ACCESS) - // Now check if the backing store has been created successfully. - if (ACE_OS::access (this->index_file_, F_OK) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "create_index\n"), - -1); -#endif /* ACE_LACKS_ACCESS */ - - void *context_index = 0; - - // This is the easy case since if we find hash table in the - // memory-mapped file we know it's already initialized. - if (this->allocator_->find (TAO_NAMING_CONTEXT_INDEX, context_index) == 0) - this->index_ = (CONTEXT_INDEX *) context_index; - - // Create a new (because we've just created a new - // memory-mapped file). - else - { - size_t index_size = sizeof (CONTEXT_INDEX); - context_index = this->allocator_->malloc (index_size); - - if (context_index == 0 - || create_index_helper (context_index) == -1 - || this->allocator_->bind (TAO_NAMING_CONTEXT_INDEX, - context_index) == -1) - { - // Attempt to clean up. - ACE_ERROR ((LM_ERROR, - "create_index\n")); - this->allocator_->remove (); - return -1; - } - } - return 0; -} - -int -TAO_Persistent_Context_Index::create_index_helper (void *buffer) -{ - this->index_ = new (buffer) CONTEXT_INDEX (this->allocator_); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h deleted file mode 100644 index 97bd7b76018..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h +++ /dev/null @@ -1,171 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Persistent_Context_Index.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_PERSISTENT_CONTEXT_INDEX_H -#define TAO_PERSISTENT_CONTEXT_INDEX_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Naming/Persistent_Entries.h" -#include "orbsvcs/Naming/naming_serv_export.h" -#include "orbsvcs/Naming/nsconf.h" -#include "tao/PortableServer/PortableServer.h" - -#include "ace/Malloc_T.h" -#include "ace/MMAP_Memory_Pool.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Persistent_Context_Index - * - * @brief This class facilitates implementation of Persistent - * Naming Service. It keeps track, centrally, of several pieces of - * info for each Persistent Naming Context, allowing to perform the - * initialization necessary for each Naming Context to - * restore the state of the Naming Service from persistent storage - * on server start-up. - * - * This class creates a memory-mapped file, allocates a hash - * table from that file, and uses the hash table to store POA id, - * and table and counter pointers for each Persistent Naming - * Context. There are methods for adding and deleting entries - * from this hash table as new Persistent Naming Contexts are - * created and old ones are destroyed. This hash table - * facilitates Persistent Naming Context servant initialization - * upon Naming Server start-up. - */ -class TAO_Naming_Serv_Export TAO_Persistent_Context_Index -{ -public: - // = Some typedefs for convenience. - - /// Hash map in which we will store info about each Persistent Naming Context. - typedef ACE_Hash_Map_With_Allocator CONTEXT_INDEX; - - /// Hash map used by Persistent Naming Context to keep its state. - typedef ACE_Hash_Map_With_Allocator CONTEXT; - - /// Allocator we will be using to make the Naming Service persistent. - typedef ACE_Allocator_Adapter - > ALLOCATOR; - - // = Initialization and termination methods. - - /// Constructor. - TAO_Persistent_Context_Index (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa); - - /** - * Create ACE_Allocator, open/create memory-mapped file with the - * specified file name/base address. Find or allocate . - * Return 0 on success or -1 on failure. - */ - int open (const ACE_TCHAR *file_name, - void * base_address = TAO_NAMING_BASE_ADDR); - - /** - * If contains no entries (i.e., was just created), create - * a root Persistent Naming Context servant with table of size - * , and make an entry for it - * in the . If contains entries, create a - * Persistent Naming Context servant for each entry. Return 0 on - * success and -1 on failure. - */ - int init (size_t context_size); - - /** - * Destructor. The memory mapped file that was opened/created is - * not deleted, since we want it to keep the state of the Naming - * Service until the next run. - */ - ~TAO_Persistent_Context_Index (void); - - // = Methods for adding/removing entries. - - /** - * Create an entry for a Persistent Naming Context in , - * i.e., a context with , and has just - * been created, and is registering with us. - */ - int bind (const char *poa_id, - ACE_UINT32 *&counter, - CONTEXT *hash_map); - - /// Remove an entry for the Persistent Naming Context with - /// from (i.e., this context has just been destroyed). - int unbind (const char *poa_id); - - // = Accessors. - - /// Return allocator. - ACE_Allocator *allocator (void); - - /// Return orb pointer. - CORBA::ORB_ptr orb (void); - - /// Return a pointer to the root Naming Context (returns a copy - must be - /// deallocated by the user). - CosNaming::NamingContext_ptr root_context (void); - -private: - - /// Helper for the method. Iterates over , and - /// creates a servant for each entry. - int recreate_all (void); - - /// Helper for the method. - int create_index (void); - - /// Helper for method: places hash table into an - /// allocated space. - int create_index_helper (void *buffer); - - /// Lock to prevent multiple threads from modifying entries in the - /// simultanneously. - TAO_SYNCH_MUTEX lock_; - - /** - * Allocator that deals out memory from a memory-mapped file. We - * use it here, and in TAO_Persistent_Naming_Context, whenever we - * deal with data that should be kept in persistent store. - */ - ALLOCATOR *allocator_; - - /// Hash map where we keep entries for all Persistent Naming - /// Contexts. - CONTEXT_INDEX *index_; - - /// Name of the memory-mapped file used by . - const ACE_TCHAR *index_file_; - - /// Base address for the memory-mapped file. - void *base_address_; - - /// ORB. We use it for several object_to_string conversions, and - /// keep it around for Persistent Naming Contexts' use. - CORBA::ORB_var orb_; - - /// POA under which to register Persistent Naming Context servants - /// during start-up. - PortableServer::POA_var poa_; - - /// The reference to the root Naming Context. - CosNaming::NamingContext_var root_context_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PERSISTENT_CONTEXT_INDEX_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp deleted file mode 100644 index f5d31b0874c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp +++ /dev/null @@ -1,208 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Persistent_Entries.cpp -// -// = AUTHOR -// Marina Spivak -// -// ============================================================================ - -#include "orbsvcs/Naming/Persistent_Entries.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Persistent_IntId::TAO_Persistent_IntId (void) - : ref_ (0), - type_ (CosNaming::nobject) -{ -} - -TAO_Persistent_IntId::TAO_Persistent_IntId (char * obj_ref, - CosNaming::BindingType type) - : ref_ (obj_ref), - type_ (type) -{ -} - -TAO_Persistent_IntId::TAO_Persistent_IntId (const TAO_Persistent_IntId &rhs) -{ - ref_ = rhs.ref_; - type_ = rhs.type_; -} - -TAO_Persistent_IntId::~TAO_Persistent_IntId (void) -{ -} - -void -TAO_Persistent_IntId::operator= (const TAO_Persistent_IntId &rhs) -{ - // check for self assignment. - if (&rhs == this) - return; - - type_ = rhs.type_; - ref_ = rhs.ref_; -} - -TAO_Persistent_ExtId::TAO_Persistent_ExtId (void) - : id_ (0), - kind_ (0) -{ -} - -TAO_Persistent_ExtId::TAO_Persistent_ExtId (const char *id, - const char *kind) - : id_ (id), - kind_ (kind) - -{ -} - -TAO_Persistent_ExtId::TAO_Persistent_ExtId (const TAO_Persistent_ExtId &rhs) -{ - id_ = rhs.id_; - kind_ = rhs.kind_; -} - -TAO_Persistent_ExtId::~TAO_Persistent_ExtId (void) -{ -} - -void -TAO_Persistent_ExtId::operator= (const TAO_Persistent_ExtId &rhs) -{ - // Check for self assignment. - if (&rhs == this) - return; - - id_ = rhs.id_; - kind_ = rhs.kind_; -} - -bool -TAO_Persistent_ExtId::operator== (const TAO_Persistent_ExtId &rhs) const -{ - return (ACE_OS::strcmp (id_, rhs.id_) == 0) - && (ACE_OS::strcmp (kind_, rhs.kind_) == 0); -} - -bool -TAO_Persistent_ExtId::operator!= (const TAO_Persistent_ExtId &rhs) const -{ - return (ACE_OS::strcmp (id_, rhs.id_) != 0) - || (ACE_OS::strcmp (kind_, rhs.kind_) != 0); -} - -u_long -TAO_Persistent_ExtId::hash (void) const -{ - ACE_CString temp (id_); - temp += kind_; - - return temp.hash (); -} - -const char * -TAO_Persistent_ExtId::id (void) -{ - return id_; -} - -const char * -TAO_Persistent_ExtId::kind (void) -{ - return kind_; -} - -TAO_Persistent_Index_IntId::TAO_Persistent_Index_IntId (void) - : counter_ (0), - hash_map_ (0) -{ -} - -TAO_Persistent_Index_IntId::TAO_Persistent_Index_IntId (ACE_UINT32 *counter, - ACE_Hash_Map_With_Allocator * hash_map) - : counter_ (counter), - hash_map_ (hash_map) -{ -} - -TAO_Persistent_Index_IntId::TAO_Persistent_Index_IntId (const TAO_Persistent_Index_IntId &rhs) -{ - counter_ = rhs.counter_; - hash_map_ = rhs.hash_map_; -} - -TAO_Persistent_Index_IntId::~TAO_Persistent_Index_IntId (void) -{ -} - -void -TAO_Persistent_Index_IntId::operator= (const TAO_Persistent_Index_IntId &rhs) -{ - // check for self assignment. - if (&rhs == this) - return; - - counter_ = rhs.counter_; - hash_map_ = rhs.hash_map_; -} - -TAO_Persistent_Index_ExtId::TAO_Persistent_Index_ExtId (void) - : poa_id_ (0) -{ -} - -TAO_Persistent_Index_ExtId::TAO_Persistent_Index_ExtId (const char *poa_id) - : poa_id_ (poa_id) -{ -} - -TAO_Persistent_Index_ExtId::TAO_Persistent_Index_ExtId (const TAO_Persistent_Index_ExtId &rhs) -{ - poa_id_ = rhs.poa_id_; -} - -TAO_Persistent_Index_ExtId::~TAO_Persistent_Index_ExtId (void) -{ -} - -void -TAO_Persistent_Index_ExtId::operator= (const TAO_Persistent_Index_ExtId &rhs) -{ - // Check for self assignment. - if (&rhs == this) - return; - - poa_id_ = rhs.poa_id_; -} - -bool -TAO_Persistent_Index_ExtId::operator== (const TAO_Persistent_Index_ExtId &rhs) const -{ - return (ACE_OS::strcmp (poa_id_, rhs.poa_id_) == 0); -} - -bool -TAO_Persistent_Index_ExtId::operator!= (const TAO_Persistent_Index_ExtId &rhs) const -{ - return (ACE_OS::strcmp (poa_id_, rhs.poa_id_) != 0); -} - -u_long -TAO_Persistent_Index_ExtId::hash (void) const -{ - ACE_CString temp (poa_id_); - return temp.hash (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.h b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.h deleted file mode 100644 index d418414a945..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Entries.h +++ /dev/null @@ -1,233 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Persistent_Entries.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_PERSISTENT_ENTRIES_H -#define TAO_PERSISTENT_ENTRIES_H -#include /**/ "ace/pre.h" - -#include "ace/Hash_Map_With_Allocator_T.h" -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/Naming/naming_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Persistent_IntId - * - * @brief Helper class for TAO_Persistent_Bindings_Map: unifies several - * data items, so they can be stored together as a - * for a in a hash table holding the state of a Persistent - * Naming Context. - * - * This class holds a strigified IOR and a binding type, so - * they can be stored together as a for a in a - * hash table holding the state of a Persistent Naming Context. - * Memory for the ior isn't allocated/deallocated, this class just - * copies a pointer. - */ -class TAO_Naming_Serv_Export TAO_Persistent_IntId -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_Persistent_IntId (void); - - /// Constructor. - TAO_Persistent_IntId (char * obj_ref, - CosNaming::BindingType type /* = CosNaming::nobject */); - - /// Copy constructor. - TAO_Persistent_IntId (const TAO_Persistent_IntId & rhs); - - /// Destructor. - ~TAO_Persistent_IntId (void); - - /// Assignment operator. - void operator= (const TAO_Persistent_IntId & rhs); - - // = Data members. - - /// Stringified IOR to be stored in a Persistent Naming Context. - const char *ref_; - - /// Binding type for . - CosNaming::BindingType type_; -}; - -/** - * @class TAO_Persistent_ExtId - * - * @brief Helper class for TAO_Persistent_Bindings_Map: unifies several - * data items, so they can be stored together as a - * for a in a hash table holding the state of a Persistent - * Naming Context. - * - * This class holds id and kind strings, so - * they can be stored together as a for a in a - * hash table holding the state of a Persistent Naming Context. - * Memory for id and kind isn't allocated/deallocated, this - * class just copies pointers. - */ -class TAO_Naming_Serv_Export TAO_Persistent_ExtId -{ -public: - // = Initialization and termination methods. - - /// Constructor. - TAO_Persistent_ExtId (void); - - /// Constructor. - TAO_Persistent_ExtId (const char *id, - const char *kind); - - /// Copy constructor. - TAO_Persistent_ExtId (const TAO_Persistent_ExtId & rhs); - - /// Destructor. - ~TAO_Persistent_ExtId (void); - - // = Assignment and comparison methods. - - /// Assignment operator (does copy memory). - void operator= (const TAO_Persistent_ExtId & rhs); - - /// Equality comparison operator (must match both id_ and kind_). - bool operator== (const TAO_Persistent_ExtId &rhs) const; - - /// Inequality comparison operator. - bool operator!= (const TAO_Persistent_ExtId &rhs) const; - - /// function is required in order for this class to be usable by - /// ACE_Hash_Map_Manager. - u_long hash (void) const; - - // = Data members. - - /// portion of the name to be associated with some object - /// reference in a Persistent Naming Context. - const char * id_; - - /// portion of the name to be associated with some object - /// reference in a Persistent Naming Context. - const char * kind_; - - // Accessors. - - const char * id (void); - const char * kind (void); -}; - -/** - * @class TAO_Persistent_Index_IntId - * - * @brief Helper class for TAO_Persistent_Context_Index: unifies several - * data items, so they can be stored together as a - * for a in a hash table holding the state of a Persistent - * Context Index. (Persistent Context Index is like directory - * that stores info about every active Naming Context). - * - * This class holds a counter and a hash map pointers, so - * they can be stored together as a for a in a - * hash table holding the state of a Persistent Context Index. - */ -class TAO_Naming_Serv_Export TAO_Persistent_Index_IntId -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_Persistent_Index_IntId (void); - - /// Constructor. - TAO_Persistent_Index_IntId (ACE_UINT32 *counter, - ACE_Hash_Map_With_Allocator * hash_map); - - /// Copy constructor. - TAO_Persistent_Index_IntId (const TAO_Persistent_Index_IntId & rhs); - - /// Destructor. - ~TAO_Persistent_Index_IntId (void); - - /// Assignment operator (does copy memory). - void operator= (const TAO_Persistent_Index_IntId & rhs); - - // = Data members. - - /// Pointer to a Persistent Naming Context's counter. - ACE_UINT32 *counter_; - - /// Pointer to a Persistent Naming Context's hash map. - ACE_Hash_Map_With_Allocator * hash_map_; -}; - -/** - * @class TAO_Persistent_Index_ExtId - * - * @brief Helper class for TAO_Persistent_Context_Index: holds - * Persistent Naming Context POA id, so it can be stored as a - * for a in a hash table holding state of a Persistent - * Context Index. (Persistent Context Index is like directory - * that stores info about every active Naming Context). - * - * We need this wrapper class around the actual data because we must - * provide function for it to work with - * ACE_Hash_Map_Manager. - */ -class TAO_Naming_Serv_Export TAO_Persistent_Index_ExtId -{ -public: - // = Initialization and termination methods. - - /// Constructor. - TAO_Persistent_Index_ExtId (void); - - /// Constructor. - TAO_Persistent_Index_ExtId (const char *poa_id); - - /// Copy constructor. - TAO_Persistent_Index_ExtId (const TAO_Persistent_Index_ExtId & rhs); - - /// Destructor. - ~TAO_Persistent_Index_ExtId (void); - - // = Assignment and comparison methods. - - /// Assignment operator (does copy memory). - void operator= (const TAO_Persistent_Index_ExtId & rhs); - - /// Equality comparison operator (must match both id_ and kind_). - bool operator== (const TAO_Persistent_Index_ExtId &rhs) const; - - /// Inequality comparison operator. - bool operator!= (const TAO_Persistent_Index_ExtId &rhs) const; - - /// function is required in order for this class to be usable by - /// ACE_Hash_Map_Manager. - u_long hash (void) const; - - // = Data member. - - /// POA id to be associated with the rest of the info for some - /// Persistent Naming Context in the Persistent Context Index. - const char * poa_id_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PERSISTENT_ENTRIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp deleted file mode 100644 index 80b4a7f4aa7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp +++ /dev/null @@ -1,541 +0,0 @@ -#include "orbsvcs/Naming/Persistent_Naming_Context.h" -#include "orbsvcs/Naming/Persistent_Context_Index.h" -#include "orbsvcs/Naming/Bindings_Iterator_T.h" -#include "ace/OS_NS_stdio.h" - -// The following #pragma is needed to disable a warning that occurs -// in MSVC 6 due to the overly long debugging symbols generated for -// the ACE_Auto_Basic_Ptr > template -// instance used by some of the methods in this file. -#ifdef _MSC_VER -# pragma warning(disable: 4786) /* identifier was truncated to '255' - characters in the browser - information */ -#endif /* _MSC_VER */ - -#include "ace/Auto_Ptr.h" - -ACE_RCSID (Naming, - Persistent_Naming_Context, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Persistent_Bindings_Map::unbind (const char *id, - const char *kind) -{ - TAO_Persistent_ExtId name (id, kind); - TAO_Persistent_IntId entry; - if (this->map_->unbind (name, entry, this->allocator_) != 0) - return -1; - else - { - // Free up the memory we allocated in shared_bind(). Note that - // this assumes that the "ref" pointer comes first and that - // the ref, id and kind are contiguously allocated (see - // shared_bind() for details). - this->allocator_->free ((void *) (entry.ref_)); - return 0; - } -} - -int -TAO_Persistent_Bindings_Map::bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) -{ - return this->shared_bind (id, kind, obj, type, 0); -} - -int -TAO_Persistent_Bindings_Map::rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) -{ - return this->shared_bind (id, kind, obj, type, 1); -} - -int -TAO_Persistent_Bindings_Map::find (const char *id, - const char *kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type) -{ - TAO_Persistent_ExtId name (id, kind); - TAO_Persistent_IntId entry; - - if (this->map_->find (name, - entry, - this->allocator_) != 0) - return -1; - else - { - ACE_DECLARE_NEW_CORBA_ENV; - obj = orb_->string_to_object (entry.ref_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - type = entry.type_; - - return 0; - } -} - -TAO_Persistent_Bindings_Map::TAO_Persistent_Bindings_Map (CORBA::ORB_ptr orb) - : allocator_ (0), - map_ (0), - orb_ (CORBA::ORB::_duplicate (orb)) -{ -} - -TAO_Persistent_Bindings_Map::~TAO_Persistent_Bindings_Map (void) -{ -} - -void -TAO_Persistent_Bindings_Map::destroy (void) -{ - this->map_->ACE_Hash_Map_With_Allocator::~ACE_Hash_Map_With_Allocator (); - this->allocator_->free (map_); -} - -TAO_Persistent_Bindings_Map::HASH_MAP * -TAO_Persistent_Bindings_Map::map (void) -{ - return this->map_; -} - -size_t -TAO_Persistent_Bindings_Map::total_size (void) -{ - return this->map_->total_size (); -} - -size_t -TAO_Persistent_Bindings_Map::current_size (void) -{ - return map_->current_size (); -} - -int -TAO_Persistent_Bindings_Map::open (size_t hash_table_size, - ACE_Allocator *alloc) -{ - allocator_ = alloc; - - // Use allocator to allocate space for the hash map. - void *hash_map = 0; - size_t map_size = sizeof (HASH_MAP); - hash_map = this->allocator_->malloc (map_size); - - // If allocation failed ... - if (hash_map == 0) - return -1; - - // Initialize allocated hash map through placement new. - if (open_helper (hash_table_size, hash_map) == -1) - this->allocator_->free (hash_map); - - return 0; -} - -int -TAO_Persistent_Bindings_Map::open_helper (size_t hash_table_size, - void *buffer) -{ - this->map_ = new (buffer) HASH_MAP (hash_table_size, this->allocator_); - return 0; -} - -void -TAO_Persistent_Bindings_Map::set (HASH_MAP *map, - ACE_Allocator *alloc) -{ - allocator_ = alloc; - map_ = map; -} - -int -TAO_Persistent_Bindings_Map::shared_bind (const char * id, - const char * kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type, - int rebind) -{ - // Obtain a stringified ior of (i.e., the representation we can store). - ACE_DECLARE_NEW_CORBA_ENV; - CORBA::String_var ref = orb_->object_to_string (obj ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Calculate and allocate the memory we need to store this name to - // object binding. - size_t id_len = ACE_OS::strlen (id) + 1; - size_t kind_len = ACE_OS::strlen (kind) + 1; - size_t ref_len = ACE_OS::strlen (ref.in ()) + 1; - size_t total_len = id_len + kind_len + ref_len; - char *ptr = (char *) this->allocator_->malloc (total_len); - - // Allocation failed - bail out. - if (ptr == 0) - return -1; - - // Allocation succeded - place the data into the allocated memory - // and procceed. - else - { - // Note that the *must* come first to make sure we can - // retrieve this pointer later on in unbind(). - char * ref_ptr = ptr; - char * id_ptr = ptr + ref_len; - char * kind_ptr = ptr + ref_len + id_len; - ACE_OS::strcpy (ref_ptr, ref.in ()); - ACE_OS::strcpy (id_ptr, id); - ACE_OS::strcpy (kind_ptr, kind); - - TAO_Persistent_ExtId new_name (id_ptr, kind_ptr); - TAO_Persistent_IntId new_entry (ref_ptr, type); - int result = -1; - - if (rebind == 0) - { - // Do a normal bind. This will fail if there's already an - // with the same name. - result = this->map_->bind (new_name, new_entry, this->allocator_); - - if (result == 1) - { - // Entry already existed so bind failed. Free our - // dynamically allocated memory. - this->allocator_->free ((void *) ptr); - return result; - } - } - else - // Rebind. - { - TAO_Persistent_ExtId old_name; - TAO_Persistent_IntId old_entry; - - // Check that the types of old and new entries match. - if (this->map_->find (new_name, - old_entry, - this->allocator_) == 0 - && type != old_entry.type_) - result = -2; - - // If types match, perform rebind. - else - result = this->map_->rebind (new_name, new_entry, - old_name, old_entry, - this->allocator_); - if (result == 1) - { - // Free up the old binding's memory, if it was replaced. - // Note, this assumes that the "ref" pointer comes - // first, and that the id, kind, and ref are contiguously - // allocated (see beginning of this method for details). - this->allocator_->free ((void *) old_entry.ref_); - } - } - - // Check for failures, and clean up dynamically allocated memory - // if necessary. - if (result < 0) - this->allocator_->free ((void *) ptr); - - else - // If bind() or rebind() succeeded, they will automatically sync - // up the map manager entry. However, we must sync up our - // name/value memory. - this->allocator_->sync (ptr, total_len); - - return result; - } -} - -TAO_Persistent_Naming_Context::TAO_Persistent_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id, - TAO_Persistent_Context_Index *context_index) - - : TAO_Hash_Naming_Context (poa, - poa_id), - counter_ (0), - persistent_context_ (0), - index_ (context_index) -{ - ACE_NEW (this->persistent_context_, - TAO_Persistent_Bindings_Map (context_index->orb ())); - - // Set the superclass pointer. - context_ = persistent_context_; -} - -TAO_Persistent_Naming_Context::TAO_Persistent_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id, - TAO_Persistent_Context_Index *context_index, - HASH_MAP *map, - ACE_UINT32 *counter) - : TAO_Hash_Naming_Context (poa, - poa_id), - counter_ (counter), - persistent_context_ (0), - index_ (context_index) -{ - ACE_NEW (this->persistent_context_, - TAO_Persistent_Bindings_Map (context_index->orb ())); - - // Set the superclass pointer. - context_ = persistent_context_; - - persistent_context_->set (map, index_->allocator ()); -} - -int -TAO_Persistent_Naming_Context::init (size_t hash_table_size) -{ - return persistent_context_->open (hash_table_size, index_->allocator ()); -} - -TAO_Persistent_Naming_Context::~TAO_Persistent_Naming_Context (void) -{ - // Perform appropriate cleanup based on the destruction level specified. - - if (this->destroyed_ > 1) - { - // Remove ourselves from context index. - index_->unbind (poa_id_.c_str ()); - // Remove the underlying data structure from persistent storage. - persistent_context_->destroy (); - } - else if (this->destroyed_ == 1) - // Remove the underlying data structure from persistent storage. - persistent_context_->destroy (); -} - -void -TAO_Persistent_Naming_Context::set_cleanup_level (int level) -{ - this->destroyed_ = level; -} - -CosNaming::NamingContext_ptr -TAO_Persistent_Naming_Context::make_new_context (PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size, - TAO_Persistent_Context_Index * ind - ACE_ENV_ARG_DECL) -{ - // Store the stub we will return here. - CosNaming::NamingContext_var result; - - // Put together a servant for the new Naming Context. - - TAO_Persistent_Naming_Context *context_impl = 0; - ACE_NEW_THROW_EX (context_impl, - TAO_Persistent_Naming_Context (poa, - poa_id, - ind), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (result._retn ()); - - // Put into the auto pointer temporarily, in case next - // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); - - if (context_impl->init (context_size) == -1) - ACE_THROW_RETURN (CORBA::NO_MEMORY (), result._retn ()); - - // Insure appropriate cleanup in case of exception conditions ahead. - context_impl->set_cleanup_level (1); - - // Register with the index of Naming Contexts. - if (ind->bind (context_impl->poa_id_.c_str (), - context_impl->counter_, - context_impl->persistent_context_->map ()) == -1) - ACE_THROW_RETURN (CORBA::INTERNAL (), result._retn ()); - - // Insure appropriate cleanup in case of exception conditions ahead. - context_impl->set_cleanup_level (2); - - TAO_Naming_Context *context = 0; - ACE_NEW_THROW_EX (context, - TAO_Naming_Context (context_impl), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (result._retn ()); - - // Let know about it's . - context_impl->interface (context); - - // Release auto pointer, and start using reference counting to - // control our servant. - temp.release (); - PortableServer::ServantBase_var s = context; - - // Register the new context with the POA. - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id); - - poa->activate_object_with_id (id.in (), - context - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (result._retn ()); - - result = context->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Everything went smoothly, without errors - we don't need any cleanup. - context_impl->set_cleanup_level (0); - - return result._retn (); -} - -CosNaming::NamingContext_ptr -TAO_Persistent_Naming_Context::new_context (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CosNaming::NamingContext::_nil ()); - - // Generate a POA id for the new context. - char poa_id[BUFSIZ]; - ACE_OS::sprintf (poa_id, - "%s_%d", - this->poa_id_.c_str (), - (*this->counter_)++); - - CosNaming::NamingContext_var result = - make_new_context (this->poa_.in (), - poa_id, - this->persistent_context_->total_size (), - this->index_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - return result._retn (); -} - -void -TAO_Persistent_Naming_Context::list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL) -{ - // Allocate nil out parameters in case we won't be able to complete - // the operation. - bi = CosNaming::BindingIterator::_nil (); - ACE_NEW_THROW_EX (bl, - CosNaming::BindingList (0), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Obtain a lock before we proceed with the operation. - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Dynamically allocate hash map iterator. - HASH_MAP::ITERATOR *hash_iter = 0; - ACE_NEW_THROW_EX (hash_iter, - HASH_MAP::ITERATOR - (*persistent_context_->map ()), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Store temp (hash_iter); - - // Silliness below is required because of broken old g++!!! E.g., - // without it, we could have just said HASH_MAP::ITERATOR everywhere we use ITER_DEF. - typedef ACE_Hash_Map_With_Allocator::ITERATOR ITER_DEF; - typedef ACE_Hash_Map_With_Allocator::ENTRY ENTRY_DEF; - - // Typedef to the type of BindingIterator servant for ease of use. - typedef TAO_Bindings_Iterator ITER_SERVANT; - - // A pointer to BindingIterator servant. - ITER_SERVANT *bind_iter = 0; - - // Number of bindings that will go into the BindingList. - CORBA::ULong n; - - // Calculate number of bindings that will go into bl. - if (this->context_->current_size () > how_many) - n = how_many; - else - n = static_cast (this->context_->current_size ()); - - // Use hash iterator to populate a BindingList with bindings. - bl->length (n); - - ENTRY_DEF *hash_entry = 0; - - for (CORBA::ULong i = 0; i < n; i++) - { - hash_iter->next (hash_entry); - hash_iter->advance (); - - if (ITER_SERVANT::populate_binding (hash_entry, bl[i]) == 0) - ACE_THROW (CORBA::NO_MEMORY()); - } - - // Now we are done with the BindingsList, and we can follow up on - // the iterator business. - - // If we do not need to pass back BindingIterator. - if (this->context_->current_size () <= how_many) - return; - else - { - // Create a BindingIterator for return. - ACE_NEW_THROW_EX (bind_iter, - ITER_SERVANT (this, hash_iter, this->poa_.in (), this->lock_), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Release from auto pointer, and start using the - // reference counting to control our servant. - temp.release (); - PortableServer::ServantBase_var iter = bind_iter; - - // Increment reference count on this Naming Context, so it doesn't get - // deleted before the BindingIterator servant gets deleted. - interface_->_add_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Register with the POA. - char poa_id[BUFSIZ]; - ACE_OS::sprintf (poa_id, - "%s_%d", - this->poa_id_.c_str (), - (*this->counter_)++); - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id); - - this->poa_->activate_object_with_id (id.in (), - bind_iter - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - bi = bind_iter->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h b/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h deleted file mode 100644 index 4ad3b2e61c0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h +++ /dev/null @@ -1,273 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Persistent_Naming_Context.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_PERSISTENT_NAMING_CONTEXT_H -#define TAO_PERSISTENT_NAMING_CONTEXT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Naming/Hash_Naming_Context.h" -#include "orbsvcs/Naming/Persistent_Entries.h" -#include "orbsvcs/Naming/naming_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Persistent_Bindings_Map - * - * @brief Provides hash-table-based persistent storage for - * name to object bindings in a Naming Context. - * - * Wrapper on top of ACE_Hash_Map_With_Allocator (which is a wrapper - * around ACE_Hash_Map_Manager). Uses ACE_Allocator (allocating - * from persistent storage) to make bindings persistent and - * supports TAO_Bindings_Map interface. Used by TAO_Persistent_Naming_Context. - */ -class TAO_Naming_Serv_Export TAO_Persistent_Bindings_Map - : public TAO_Bindings_Map -{ -public: - - /// Underlying data structure - typedef for ease of use. - typedef ACE_Hash_Map_With_Allocator HASH_MAP; - - // = Initialization and termination methods. - - /// Constructor. - TAO_Persistent_Bindings_Map (CORBA::ORB_ptr orb); - - /// Allocate hash map of size from persistent storage - /// using the . - int open (size_t hash_map_size, - ACE_Allocator *alloc); - - /// The hash map has already been preallocated for us. We just need - /// to set our data members take ownership of it. - void set (HASH_MAP *map, - ACE_Allocator *alloc); - - /// Destructor. Does not deallocate the hash map: if an instance of - /// this class goes out of scope, its hash_map remains in persistent storage. - virtual ~TAO_Persistent_Bindings_Map (void); - - /** - * This method removes the hash map from persistent storage/frees up - * the memory. The hash map better be empty, since we are not - * cleaning up the insides. (We could add to clean entries, - * but not the data inside the entries. - */ - void destroy (void); - - // = Accessor methods. - - /// Get a pointer to the underlying hash map. - HASH_MAP *map (void); - - /// Return the size of the underlying hash table. - size_t total_size (void); - - /// Return the size of the underlying hash table. - virtual size_t current_size (void); - - // = Name bindings manipulation methods. - - /** - * Add a binding with the specified parameters to the table. - * Return 0 on success and -1 on failure, 1 if there already is a - * binding with and . - */ - virtual int bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type); - - /** - * Overwrite a binding containing and (or create a new - * one if one doesn't exist) with the specified parameters. Return - * 0 or 1 on success. Return -1 or -2 on failure. (-2 is returned - * if the new and old bindings differ in type). - */ - virtual int rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type); - - /** - * Remove a binding containing and from the table. - * Return 0 on success and -1 on failure. - */ - virtual int unbind (const char * id, - const char * kind); - - /** - * Find the binding containing and in the table, and - * pass binding's type and object back to the caller by reference. - * Return 0 on success and -1 on failure. Note: a 'duplicated' object - * reference is assigned to , so the caller is responsible for - * its deallocation. - */ - virtual int find (const char * id, - const char * kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type); - -protected: - - /** - * Helper to the method. By isolating placement new into a - * separate method, we can deal with memory allocation failures more - * efficiently. If there is a problem in HASH_MAP constructor, we - * can clean up preallocated space. - */ - int open_helper (size_t hash_table_size, - void *buffer); - - /// Helper: factors common code from and . - int shared_bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type, - int rebind); - - /// Pointer to the allocator we use to make bindings persistent. - ACE_Allocator *allocator_; - - /// Pointer to the underlying hash map. - HASH_MAP *map_; - - /// Pointer to the orb. We need it to do string/object conversions. - CORBA::ORB_var orb_; -}; - -class TAO_Persistent_Context_Index; - -/** - * @class TAO_Persistent_Naming_Context - * - * @brief This class plays a role of a 'ConcreteImplementor' in the - * Bridge pattern architecture of the CosNaming::NamingContext implementation. - * - * This class provides a persistent implementation of the - * NamingContext functionality, i.e., the state is preserved across - * process boundaries. Derives from TAO_Hash_Naming_Context and - * uses TAO_Persistent_Bindings_Map to store name to object bindings. - */ -class TAO_Naming_Serv_Export TAO_Persistent_Naming_Context : public TAO_Hash_Naming_Context -{ -public: - /// Underlying data structure - typedef for ease of use. - typedef TAO_Persistent_Bindings_Map::HASH_MAP HASH_MAP; - - // = Initialization and termination methods. - - /// Constructor. MUST be followed up by to allocate the - /// underlying data structure from persistent storage! - TAO_Persistent_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id, - TAO_Persistent_Context_Index *context_index); - - /// Allocate the underlying data structure from persistent storage. - /// Returns 0 on success and -1 on failure. - int init (size_t hash_table_size = ACE_DEFAULT_MAP_SIZE); - - /** - * Constructor that takes in preallocated data structure and takes - * ownership of it. This constructor is for 'recreating' servants - * from persistent state. - */ - TAO_Persistent_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id, - TAO_Persistent_Context_Index *context_index, - HASH_MAP * map, - ACE_UINT32 *counter); - - /// Destructor. - virtual ~TAO_Persistent_Naming_Context (void); - - // = Utility methods. - /** - * This utility method factors out the code needed to create a new - * Persistent Naming Context servant and activate it under the - * specified POA with the specified id. This function is static so - * that the code can be used, both from inside the class (e.g., ), - * and from outside (e.g., Naming_Utils.cpp). - */ - static CosNaming::NamingContext_ptr make_new_context (PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size, - TAO_Persistent_Context_Index *ind - ACE_ENV_ARG_DECL); - - // = Methods not implemented in TAO_Hash_Naming_Context. - - /** - * This operation returns a new naming context implemented by the - * same naming server in which the operation was invoked. The - * context is not bound. - */ - virtual CosNaming::NamingContext_ptr new_context (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Returns at most the requested number of bindings in - * . If the naming context contains additional bindings, they - * are returned with a BindingIterator. In the naming context does - * not contain any additional bindings returned as null. - */ - virtual void list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL); - -protected: - - /** - * Set flag (inherited from TAO_Hash_Naming_Context) to - * . Legal values for are 0, 1, and 2. The - * values specify the extent of cleanup that should take place in the - * context's destructor: - * '0' - no cleanup (e.g., if the context goes out of scope, but - * it's state is to remain in persistent storage); - * '1' - free up the underlying data structure in persistent storage - * (e.g., if the initialization of this context was only partially completed - * due to some failures, and we need to roll back); - * '2' - free up the underlying data structure, and deregister this - * naming context from its (e.g., if the context had - * method invoked and needs to be completely removed from existence). - */ - void set_cleanup_level (int level); - - /// Counter used for generation of POA ids for children Naming - /// Contexts. - ACE_UINT32 *counter_; - - /** - * A pointer to the underlying data structure used to store name - * bindings. While our superclass (TAO_Hash_Naming_Context) also - * maintains a pointer to the data structure, keeping this pointer - * around saves us from the need to downcast when invoking - * non-virtual methods. - */ - TAO_Persistent_Bindings_Map *persistent_context_; - - /** - * A pointer to the index object of this naming service: it keeps - * track of all the naming contexts created. Every time we make a - * new context or destroy one, we need to make an entry there. - * Also, we get the allocator needed to initialize us from this guy. - */ - TAO_Persistent_Context_Index *index_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PERSISTENT_NAMING_CONTEXT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/README b/TAO/orbsvcs/orbsvcs/Naming/README deleted file mode 100644 index 5145337c611..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/README +++ /dev/null @@ -1,69 +0,0 @@ -// $Id$ - -CONTENT -======= -This directory contains files implementing CosNaming idl interfaces -(from CORBA COSS), as well as a few utilities. Server code, service -executable, and documentation for using the service are located in -$TAO_ROOT/orbsvcs/Naming_Service. - - -UTILITIES -========= -Naming_{Client,Server}.{h,cpp} contain utility classes that can simplify -programs which play a role of Naming Service server or client. See -$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service.{h,cpp} and -$TAO_ROOT/orbsvcs/tests/Simple_Naming/client.{h,cpp} for examples of -using these classes. - - -IMPLEMENTATION -============== -The architecture for TAO's implementation of CosNaming::NamingContext -interface follows the Bridge pattern. - - * TAO_Naming_Context (in Naming_Context_Interface.h) inherits from - POA skeleton, and plays the role of 'Abstraction' (aka 'Interface') - in the Bridge architecture - it forwards all client requests to a - 'ConcreteImplementor' through an 'Implementor' pointer. - - * TAO_Naming_Context_Impl (in Naming_Context_Interface.h) is an - abstract base class for all concrete implementations of - NamingContext functionality (i.e., 'Implementor'). - - * Currently, TAO Naming Service has two 'ConcreteImplementors': - TAO_Transient_Naming_Context (in Transient_Naming_Context.h), and - TAO_Persistent_Naming_Context (in Persistent_Naming_Context.h), - providing non-persistent and persistent, hash-table-based implementations of the - NamingContext functionality, correspondingly. Both - 'ConcreteImplementors' inherit from TAO_Hash_Naming_Context (in - Hash_Naming_Context.h), which, in turn, inherits from - TAO_Naming_Context_Impl. TAO_Hash_Naming_Context factors out code - common to both 'ConcreteImplementors'. (Here we have a form of the - Template Method pattern). - -* Other major classes: - - TAO_Persistent_Context_Index - facilitates implementation of the - Persistent version of the Naming Service. - - TAO_BindingsIterator - implements CosNaming::BindingIterator - interface. Can be used with either of the NamingContext 'ConcreteImplementors'. - -* Persistent implementation of the Naming Service uses ACE_Allocators - and memory-mapped files. - -The Bridge implementation class structure makes it easy to: - -1) Create and plug-in different CosNaming::NamingContext implementations by - subclassing TAO_Naming_Context_Impl. - -2) Dynamically load an appropriate NamingContext implementation at - run-time, based on the config file entry, by making TAO_Naming_Context_Impl - inherit from ACE_Service_Object... - - -TO-DO -===== -Extend CosNaming::NamingContext interface and its implementation to -support binding of more than one object per name and name -resolution according to policies (e.g., random or round robin), to provide -Load Balancing functionality. diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable.cpp deleted file mode 100644 index b04ee7c389d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Storable.cpp -// -// = AUTHOR -// Bruce Trask -// Chanaka Liyanaarachchi -// -// ============================================================================ - -#include "orbsvcs/Naming/Storable.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Naming/Storable.inl" -#endif /* __ACE_INLINE__ */ - - - - - diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable.h b/TAO/orbsvcs/orbsvcs/Naming/Storable.h deleted file mode 100644 index 1fcb9bf14b2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable.h +++ /dev/null @@ -1,165 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Storable.h - * - * $Id$ - * - * @author Bruce Trask - * @author Chanaka Liyanaarachchi - */ -//============================================================================= - - -#ifndef TAO_NAMING_STORABLE_H -#define TAO_NAMING_STORABLE_H - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -static const int szInt = sizeof(int); -static const int szChar = sizeof(char); -static const int szBool = sizeof(int); - -class TAO_NS_Persistence_Header -{ - public: - void size (unsigned int size); - unsigned int size () const ; - - void destroyed (int flag); - int destroyed () const ; - - private: - unsigned int size_; - int destroyed_; -}; - -class TAO_NS_Persistence_Record -{ - public: - enum Record_Type {LOCAL_NCONTEXT, OBJREF, REMOTE_NCONTEXT}; - - Record_Type type () const; - void type (Record_Type type); - - ACE_CString id () const; - void id (const ACE_CString& id); - - ACE_CString kind () const; - void kind (const ACE_CString& kind); - - ACE_CString ref () const; - void ref (const ACE_CString& ior); - - private: - Record_Type type_; - ACE_CString id_; - ACE_CString kind_; - ACE_CString ref_; -}; - -class TAO_NS_Persistence_Global -{ - public: - void counter (unsigned int counter); - unsigned int counter () const ; - - private: - unsigned int counter_; -}; - -class TAO_Storable_Base -{ -public: - TAO_Storable_Base(); - - virtual ~TAO_Storable_Base(); - - virtual void remove() = 0; - - virtual int exists() = 0; - - virtual int open () = 0; - - virtual int close () = 0; - - virtual int flock (int whence, int start, int len) = 0; - - virtual int funlock (int whence, int start, int len) = 0; - - virtual time_t last_changed(void) = 0; - - // Mimic a portion of the std::ios interface. We need to be able - // to indicate error states from the extraction operators below. - enum Storable_State { goodbit = 0, - badbit = 1, - eofbit = 2, - failbit = 4 - }; - - void clear (Storable_State state = goodbit); - - void setstate (Storable_State state); - - Storable_State rdstate (void) const; - - bool good (void) const; - - bool bad (void) const; - - bool eof (void) const; - - bool fail (void) const; - - virtual TAO_Storable_Base& operator << ( - const TAO_NS_Persistence_Header& header) = 0; - - virtual TAO_Storable_Base& operator << ( - const TAO_NS_Persistence_Record& record) = 0; - - virtual TAO_Storable_Base& operator >> ( - TAO_NS_Persistence_Header& header) = 0; - - virtual TAO_Storable_Base& operator >> ( - TAO_NS_Persistence_Record& record) = 0; - - virtual TAO_Storable_Base& operator << ( - const TAO_NS_Persistence_Global& global) = 0; - - virtual TAO_Storable_Base& operator >> ( - TAO_NS_Persistence_Global& global) = 0; - -private: - Storable_State state_; -}; - -class TAO_Naming_Service_Persistence_Factory -{ -public: - TAO_Naming_Service_Persistence_Factory(); - - virtual ~TAO_Naming_Service_Persistence_Factory(); - - // Factory Methods - - virtual TAO_Storable_Base *create_stream(const ACE_CString & file, - const ACE_TCHAR * mode) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Naming/Storable.inl" -#endif /* __ACE_INLINE_ */ - -#endif /* TAO_NAMING_STORABLE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable.inl b/TAO/orbsvcs/orbsvcs/Naming/Storable.inl deleted file mode 100644 index 50a149a9c0c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable.inl +++ /dev/null @@ -1,170 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Storable.i -// -// = AUTHOR -// Bruce Trask -// Chanaka Liyanaarachchi -// -// ============================================================================ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO_NS_Persistence_Header::size (unsigned int size) -{ - this->size_ = size; -} - -ACE_INLINE unsigned int -TAO_NS_Persistence_Header::size () const -{ - return this->size_; -} - -ACE_INLINE void -TAO_NS_Persistence_Header::destroyed (int flag) -{ - this->destroyed_ = flag; -} - -ACE_INLINE int -TAO_NS_Persistence_Header::destroyed () const -{ - return this->destroyed_; -} - - -ACE_INLINE TAO_NS_Persistence_Record::Record_Type -TAO_NS_Persistence_Record::type () const -{ - return this->type_; -} - -ACE_INLINE void -TAO_NS_Persistence_Record::type (Record_Type type) -{ - this->type_ = type; -} - -ACE_INLINE ACE_CString -TAO_NS_Persistence_Record::id () const -{ - return this->id_; -} - -ACE_INLINE void -TAO_NS_Persistence_Record::id (const ACE_CString& id) -{ - this->id_ = id; -} - -ACE_INLINE ACE_CString -TAO_NS_Persistence_Record::kind () const -{ - return this->kind_; -} - -ACE_INLINE void -TAO_NS_Persistence_Record::kind (const ACE_CString& kind) -{ - this->kind_ = kind; -} - -ACE_INLINE ACE_CString -TAO_NS_Persistence_Record::ref () const -{ - return this->ref_; -} - -ACE_INLINE void -TAO_NS_Persistence_Record::ref (const ACE_CString& ref) -{ - this->ref_ = ref; -} - -ACE_INLINE void -TAO_NS_Persistence_Global::counter (unsigned int counter) -{ - this->counter_ = counter; -} - -ACE_INLINE unsigned int -TAO_NS_Persistence_Global::counter () const -{ - return this->counter_; -} - - -ACE_INLINE -TAO_Naming_Service_Persistence_Factory::TAO_Naming_Service_Persistence_Factory() -{ -} - -ACE_INLINE -TAO_Naming_Service_Persistence_Factory::~TAO_Naming_Service_Persistence_Factory() -{ -} - -ACE_INLINE -TAO_Storable_Base::TAO_Storable_Base() - : state_ (goodbit) -{ -} - -ACE_INLINE -TAO_Storable_Base::~TAO_Storable_Base() -{ -} - -ACE_INLINE void -TAO_Storable_Base::clear (TAO_Storable_Base::Storable_State state) -{ - this->state_ = state; -} - -ACE_INLINE void -TAO_Storable_Base::setstate (TAO_Storable_Base::Storable_State state) -{ - this->clear (static_cast ( - this->rdstate () | state)); -} - -ACE_INLINE TAO_Storable_Base::Storable_State -TAO_Storable_Base::rdstate (void) const -{ - return this->state_; -} - -ACE_INLINE bool -TAO_Storable_Base::good (void) const -{ - return (this->state_ == goodbit); -} - -ACE_INLINE bool -TAO_Storable_Base::bad (void) const -{ - return (this->state_ & badbit); -} - -ACE_INLINE bool -TAO_Storable_Base::eof (void) const -{ - return (this->state_ & eofbit); -} - -ACE_INLINE bool -TAO_Storable_Base::fail (void) const -{ - return (this->state_ & failbit); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp deleted file mode 100644 index cdcfa73cb3d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp +++ /dev/null @@ -1,1584 +0,0 @@ -#include "orbsvcs/Naming/Storable_Naming_Context.h" -#include "orbsvcs/Naming/Bindings_Iterator_T.h" - -#include "tao/debug.h" - -// The following #pragma is needed to disable a warning that occurs -// in MSVC 6 due to the overly long debugging symbols generated for -// the ACE_Auto_Basic_Ptr > template -// instance used by some of the methods in this file. -#ifdef _MSC_VER -# pragma warning(disable: 4786) /* identifier was truncated to '255' - characters in the browser - information */ -#endif /* _MSC_VER */ - -#include "ace/Auto_Ptr.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID (Naming, - Storable_Naming_Context, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const char * TAO_Storable_Naming_Context::root_name_; -ACE_UINT32 TAO_Storable_Naming_Context::gcounter_; -ACE_Auto_Ptr TAO_Storable_Naming_Context::gfl_; -int TAO_Storable_Naming_Context::redundant_; - -TAO_Storable_IntId::TAO_Storable_IntId (void) - : ref_ (CORBA::string_dup ("")), - type_ (CosNaming::nobject) -{ -} - -TAO_Storable_IntId::TAO_Storable_IntId (const char * ior, - CosNaming::BindingType type) - : ref_ (ior), - type_ (type) -{ -} - -TAO_Storable_IntId::TAO_Storable_IntId (const TAO_Storable_IntId &rhs) -{ - ref_ = rhs.ref_; - type_ = rhs.type_; -} - -TAO_Storable_IntId::~TAO_Storable_IntId (void) -{ -} - -void -TAO_Storable_IntId::operator= (const TAO_Storable_IntId &rhs) -{ - // check for self assignment. - if (&rhs == this) - return; - - type_ = rhs.type_; - ref_ = rhs.ref_; -} - -TAO_Storable_ExtId::TAO_Storable_ExtId (void) - : id_ (CORBA::string_dup ("")), - kind_ (CORBA::string_dup ("")) -{ -} - -TAO_Storable_ExtId::TAO_Storable_ExtId (const char *id, - const char *kind) - : id_ (id) - , kind_ (kind) -{ -} - -TAO_Storable_ExtId::TAO_Storable_ExtId (const TAO_Storable_ExtId &rhs) -{ - id_ = rhs.id_; - kind_ = rhs.kind_; -} - -TAO_Storable_ExtId::~TAO_Storable_ExtId (void) -{ -} - -void -TAO_Storable_ExtId::operator= (const TAO_Storable_ExtId &rhs) -{ - // Check for self assignment. - if (&rhs == this) - return; - - id_ = rhs.id_; - kind_ = rhs.kind_; -} - -bool -TAO_Storable_ExtId::operator== (const TAO_Storable_ExtId &rhs) const -{ - return (ACE_OS::strcmp (id_.in(), rhs.id_.in()) == 0) - && (ACE_OS::strcmp (kind_.in(), rhs.kind_.in()) == 0); -} - -bool -TAO_Storable_ExtId::operator!= (const TAO_Storable_ExtId &rhs) const -{ - return (ACE_OS::strcmp (id_.in(), rhs.id_.in()) != 0) - || (ACE_OS::strcmp (kind_.in(), rhs.kind_.in()) != 0); -} - -u_long -TAO_Storable_ExtId::hash (void) const -{ - // @CJC I wager this could be optimized a bit better, but I'm not - // sure how much it's called. At the very least, we could allocate - // just one ACE_CString, and copy id_ and kind_ into that, rather than - // taking a double-hit on allocations. - ACE_CString temp (id_.in()); - temp += kind_.in(); - - return temp.hash (); -} - -const char * -TAO_Storable_ExtId::id (void) -{ - return id_.in(); -} - -const char * -TAO_Storable_ExtId::kind (void) -{ - return kind_.in(); -} - -int -TAO_Storable_Bindings_Map::unbind (const char *id, - const char *kind) -{ - ACE_TRACE("unbind"); - TAO_Storable_ExtId name (id, kind); - return this->map_.unbind (name); -} - -int -TAO_Storable_Bindings_Map::bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) -{ - ACE_TRACE("bind"); - return this->shared_bind (id, kind, obj, type, 0); -} - -int -TAO_Storable_Bindings_Map::rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) -{ - ACE_TRACE("rebind"); - return this->shared_bind (id, kind, obj, type, 1); -} - -int -TAO_Storable_Bindings_Map::find (const char *id, - const char *kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type) -{ - ACE_TRACE("find"); - TAO_Storable_ExtId name (id, kind); - TAO_Storable_IntId entry; - - if (this->map_.find (name, - entry) != 0) - { - return -1; - } - else - { - ACE_DECLARE_NEW_CORBA_ENV; - obj = orb_->string_to_object (entry.ref_.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - type = entry.type_; - - return 0; - } -} - -TAO_Storable_Bindings_Map::TAO_Storable_Bindings_Map (size_t hash_table_size, - CORBA::ORB_ptr orb) - : map_ (hash_table_size), - orb_(CORBA::ORB::_duplicate (orb)) -{ - ACE_TRACE("TAO_Storable_Bindings_Map"); -} - -TAO_Storable_Bindings_Map::~TAO_Storable_Bindings_Map (void) -{ - ACE_TRACE("~TAO_Storable_Bindings_Map"); -} - -TAO_Storable_Bindings_Map::HASH_MAP & -TAO_Storable_Bindings_Map::map (void) -{ - ACE_TRACE("map"); - return map_; -} - -size_t -TAO_Storable_Bindings_Map::current_size (void) -{ - ACE_TRACE("current_size"); - return map_.current_size (); -} - -size_t -TAO_Storable_Bindings_Map::total_size (void) -{ - ACE_TRACE("total_size"); - return map_.total_size (); -} - -int -TAO_Storable_Bindings_Map::shared_bind (const char * id, - const char * kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type, - int rebind) -{ - ACE_TRACE("shared_bind"); - TAO_Storable_ExtId new_name (id, kind); - CORBA::String_var ior = orb_->object_to_string(obj); - TAO_Storable_IntId new_entry (ior.in(), type); - TAO_Storable_IntId old_entry; - - if (rebind == 0) - { - // Do a normal bind. - return this->map_.bind (new_name, new_entry); - } - else - // Rebind. - { - // Check that types of old and new entries match. - if (this->map_.find (new_name, - old_entry) == 0 - && type != old_entry.type_) - return -2; - - else - return this->map_.rebind (new_name, new_entry); - } -} - -void TAO_Storable_Naming_Context::Write(TAO_Storable_Base& wrtr) -{ - ACE_TRACE("Write"); - TAO_NS_Persistence_Header header; - - header.size (static_cast (storable_context_->current_size())); - header.destroyed (destroyed_); - - wrtr << header; - - if (0u == header.size ()) - return; - - ACE_Hash_Map_Iterator it = storable_context_->map().begin(); - ACE_Hash_Map_Iterator itend = storable_context_->map().end(); - - ACE_Hash_Map_Entry ent = *it; - - while (!(it == itend)) - { - TAO_NS_Persistence_Record record; - - ACE_CString name; - CosNaming::BindingType bt = (*it).int_id_.type_; - if (bt == CosNaming::ncontext) - { - CORBA::Object_var - obj = orb_->string_to_object ((*it).int_id_.ref_.in ()); - if (obj->_is_collocated ()) - { - // This is a local (i.e. non federated context) we therefore - // store only the ObjectID (persistence filename) for the object. - - // The driving force behind storing ObjectIDs rather than IORs for - // local contexts is to provide for a redundant naming service. - // That is, a naming service that runs simultaneously on multiple - // machines sharing a file system. It allows multiple redundant - // copies to be started and stopped independently. - // The original target platform was Tru64 Clusters where there was - // a cluster address. In that scenario, clients may get different - // servers on each request, hence the requirement to keep - // synchronized to the disk. It also works on non-cluster system - // where the client picks one of the redundant servers and uses it, - // while other systems can pick different servers. (However in this - // scenario, if a server fails and a client must pick a new server, - // that client may not use any saved context IORs, instead starting - // from the root to resolve names. So this latter mode is not quite - // transparent to clients.) [Rich Seibel (seibel_r) of ociweb.com] - - PortableServer::ObjectId_var - oid = poa_->reference_to_id (obj.in ()); - CORBA::String_var - nm = PortableServer::ObjectId_to_string (oid.in ()); - const char - *newname = nm.in (); - name.set (newname); // The local ObjectID (persistance filename) - record.type (TAO_NS_Persistence_Record::LOCAL_NCONTEXT); - } - else - { - // Since this is a foreign (federated) context, we can not store - // the objectID (because it isn't in our storage), if we did, when - // we restore, we would end up either not finding a permanent - // record (and thus ending up incorrectly assuming the context was - // destroyed) or loading another context altogether (just because - // the contexts shares its objectID filename which is very likely). - // [Simon Massey (sma) of prismtech.com] - - name.set ((*it).int_id_.ref_.in ()); // The federated context IOR - record.type (TAO_NS_Persistence_Record::REMOTE_NCONTEXT); - } - } - else // if (bt == CosNaming::nobject) // shouldn't be any other, can there? - { - name.set ((*it).int_id_.ref_.in ()); // The non-context object IOR - record.type (TAO_NS_Persistence_Record::OBJREF); - } - record.ref(name); - - const char *myid = (*it).ext_id_.id(); - ACE_CString id(myid); - record.id(id); - - const char *mykind = (*it).ext_id_.kind(); - ACE_CString kind(mykind); - record.kind(kind); - - wrtr << record; - it.advance(); - } -} - -// Helper function to load a new context into the binding_map -int -TAO_Storable_Naming_Context::load_map(File_Open_Lock_and_Check *flck - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("load_map"); - // assume file already open for reading - TAO_Storable_Bindings_Map *bindings_map; - - // create the new bindings map - ACE_NEW_THROW_EX (bindings_map, - TAO_Storable_Bindings_Map (hash_table_size_,orb_.in()), - CORBA::NO_MEMORY ()); - - // get the data for this bindings map from the file - - TAO_NS_Persistence_Header header; - TAO_NS_Persistence_Record record; - - // we are only using the size from this header - flck->peer() >> header; - if (!flck->peer ().good ()) - { - flck->peer ().clear (); - ACE_THROW_RETURN (CORBA::INTERNAL (), -1); - } - - // reset the destroyed flag - this->destroyed_ = header.destroyed(); - - // read in the data for the map - for (unsigned int i= 0u; ipeer() >> record; - if (!flck->peer ().good ()) - { - flck->peer ().clear (); - ACE_THROW_RETURN (CORBA::INTERNAL (), -1); - } - - if (TAO_NS_Persistence_Record::LOCAL_NCONTEXT == record.type ()) - { - PortableServer::ObjectId_var - id = PortableServer::string_to_ObjectId (record.ref ().c_str ()); - const char - *intf = interface_->_interface_repository_id (); - CORBA::Object_var - objref = poa_->create_reference_with_id (id.in (), intf); - bindings_map->bind ( record.id ().c_str (), - record.kind ().c_str (), - objref.in (), - CosNaming::ncontext ); - } - else - { - CORBA::Object_var - objref = orb_->string_to_object (record.ref ().c_str ()); - bindings_map->bind ( record.id ().c_str (), - record.kind ().c_str (), - objref.in (), - ((TAO_NS_Persistence_Record::REMOTE_NCONTEXT == record.type ()) - ? CosNaming::ncontext // REMOTE_NCONTEXT - : CosNaming::nobject )); // OBJREF - } - } - storable_context_ = bindings_map; - context_ = storable_context_; - return 0; -} - -TAO_Storable_Naming_Context:: -File_Open_Lock_and_Check::File_Open_Lock_and_Check( - TAO_Storable_Naming_Context * context, - const char * mode - ACE_ENV_ARG_DECL) -:closed_(1), - context_(context) -{ - ACE_TRACE("File_Open_Lock_and_Check"); - // We only accept a subset of mode argument, check it - rwflags_ = 0; - for( unsigned int i = 0; ipersistence_directory_); - file_name += "/"; - file_name += context->name_; - - // Create the stream - fl_ = context->factory_->create_stream(file_name, ACE_TEXT_CHAR_TO_TCHAR(mode)); - if (TAO_Storable_Naming_Context::redundant_) - { - if (fl_->open() != 0) - { - delete fl_; - ACE_THROW(CORBA::PERSIST_STORE()); - } - - // acquire a lock on it - if (fl_ -> flock(0, 0, 0) != 0) - { - fl_->close(); - delete fl_; - ACE_THROW(CORBA::INTERNAL()); - } - - // now that the file is successfully opened and locked it must be - // unlocked/closed before we leave this class - closed_ = 0; - - if ( ! (rwflags_ & mode_create) ) - { - // Check if our copy is up to date - time_t new_last_changed = fl_->last_changed(); - if( new_last_changed > context->last_changed_ ) - { - context->last_changed_ = new_last_changed; - // Throw our map away - delete context->storable_context_; - // and build a new one from disk - context->load_map(this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - } - else if ( ! context->storable_context_ || (rwflags_ & mode_write) ) - { - if (fl_->open() != 0) - { - delete fl_; - ACE_THROW(CORBA::PERSIST_STORE()); - } - - // now that the file is successfully opened - // unlocked/closed before we leave this class - closed_ = 0; - - if(!context->storable_context_) - { - // Load the map from disk - context->load_map(this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - else - { - // Need to insure that fl_ gets deleted - delete fl_; - } -} - -void -TAO_Storable_Naming_Context:: -File_Open_Lock_and_Check::release(void) -{ - ACE_TRACE("release"); - if ( ! closed_ ) - { - // If we updated the disk, save the time stamp - if(TAO_Storable_Naming_Context::redundant_) - { - if( rwflags_ & mode_write ) - context_->last_changed_ = fl_->last_changed(); - fl_->funlock(0, 0, 0); - } - fl_->close(); - delete fl_; - closed_ = 1; - } -} - -TAO_Storable_Naming_Context:: -File_Open_Lock_and_Check::~File_Open_Lock_and_Check(void) -{ - ACE_TRACE("~File_Open_Lock_and_Check"); - this->release(); -} - -TAO_Storable_Base & -TAO_Storable_Naming_Context:: -File_Open_Lock_and_Check::peer(void) -{ - ACE_TRACE("peer"); - return *fl_; -} - -TAO_Storable_Naming_Context::TAO_Storable_Naming_Context ( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const char *poa_id, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - size_t hash_table_size) - : TAO_Hash_Naming_Context (poa, - poa_id), - counter_ (0), - storable_context_ (0), - orb_(CORBA::ORB::_duplicate (orb)), - name_ (poa_id), - poa_ (PortableServer::POA::_duplicate (poa)), - factory_(factory), - persistence_directory_ (ACE_TEXT_ALWAYS_CHAR(persistence_directory)), - hash_table_size_(hash_table_size), - last_changed_(0) -{ - ACE_TRACE("TAO_Storable_Naming_Context"); -} - -TAO_Storable_Naming_Context::~TAO_Storable_Naming_Context (void) -{ - ACE_TRACE("~TAO_Storable_Naming_Context"); - - // If we're in the DTOR as a result of the destroy() operation, - // then we go ahead and delete the file. Otherwise, we leave the - // file around because they need to be there for persistence. - if (this->destroyed_) - { - // Make sure we delete the associated stream - ACE_CString file_name (this->persistence_directory_); - file_name += "/"; - file_name += this->name_; - - // Now delete the file - ACE_Auto_Ptr - fl ( - this->factory_->create_stream(file_name.c_str(), - ACE_TEXT("r")) - ); - if (fl.get()) - { - if (TAO_debug_level > 5) - ACE_DEBUG ((LM_DEBUG, "(%P|%t) NameService: removing file %s\n", - file_name.fast_rep())); - fl->remove (); - } - } -} - -CosNaming::NamingContext_ptr -TAO_Storable_Naming_Context::make_new_context ( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - TAO_Storable_Naming_Context **new_context - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("make_new_context"); - // Store the stub we will return here. - CosNaming::NamingContext_var result; - - // Put together a servant for the new Naming Context. - - TAO_Storable_Naming_Context *context_impl = 0; - ACE_NEW_THROW_EX (context_impl, - TAO_Storable_Naming_Context (orb, - poa, - poa_id, - factory, - persistence_directory, - context_size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (result._retn ()); - - // Put into the auto pointer temporarily, in case next - // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); - - TAO_Naming_Context *context = 0; - ACE_NEW_THROW_EX (context, - TAO_Naming_Context (context_impl), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (result._retn ()); - - // Let know about it's . - context_impl->interface (context); - - // Release auto pointer, and start using reference counting to - // control our servant. - temp.release (); - PortableServer::ServantBase_var s = context; - - // Register the new context with the POA. - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id); - - // If we try to register a naming context that is already registered, - // the following activation causes a POA::ObjectAlreadyActive exception be - // thrown which is transmitted as a CORBA::UNKNOWN on the wire. To rectify - // this problem, we explicitly throw the correct INS exception in - // this situation. - ACE_TRY - { - poa->activate_object_with_id (id.in (), - context - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (PortableServer::POA::ObjectAlreadyActive, ex) - { - ACE_THROW_RETURN (CosNaming::NamingContext::AlreadyBound(), - CosNaming::NamingContext::_nil ()); - } - ACE_ENDTRY; - - ACE_CHECK_RETURN (result._retn ()); - - result = context->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // return the address of the new context object so that caller can finish - *new_context = context_impl; - - return result._retn (); -} - -CosNaming::NamingContext_ptr -TAO_Storable_Naming_Context::new_context (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRACE("new_context"); - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - { - // Open the backing file - File_Open_Lock_and_Check flck(this, "r" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CosNaming::NamingContext::_nil ()); - } - - TAO_NS_Persistence_Global global; - - // Generate a POA id for the new context. - if(redundant_) - { - // acquire a lock on the file that holds our counter - if (gfl_->open() != 0) - { - delete gfl_.release(); - ACE_THROW_RETURN(CORBA::PERSIST_STORE(), - CosNaming::NamingContext::_nil ()); - } - if (gfl_ -> flock(0, 0, 0) != 0) - ACE_THROW_RETURN (CORBA::INTERNAL(), - CosNaming::NamingContext::_nil ()); - // get the counter from disk - *gfl_.get() >> global; - if (!gfl_.get ()->good () && - gfl_.get ()->rdstate () != TAO_Storable_Base::eofbit) - { - gfl_.get ()->clear (); - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - gcounter_ = global.counter(); - // use it to generate a new name - } - char poa_id[BUFSIZ]; - ACE_OS::sprintf (poa_id, - "%s_%d", - root_name_, - gcounter_++); - // then save it back on disk - global.counter(gcounter_); - *gfl_.get() << global; - if(redundant_) - { - // and release our lock - if (gfl_ -> flock(0, 0, 0) != 0) - ACE_THROW_RETURN(CORBA::INTERNAL(), - CosNaming::NamingContext::_nil ()); - gfl_->close(); - } - - // Create a new context. - TAO_Storable_Naming_Context *new_context = 0; - CosNaming::NamingContext_var result = - make_new_context (this->orb_.in (), - this->poa_.in (), - poa_id, - this->storable_context_->total_size (), - this->factory_, - ACE_TEXT_CHAR_TO_TCHAR (this->persistence_directory_.c_str ()), - &new_context - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Since this is a new context, make an empty map in it - ACE_NEW_THROW_EX (new_context->storable_context_, - TAO_Storable_Bindings_Map (hash_table_size_,orb_.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - new_context->context_ = new_context->storable_context_; - - File_Open_Lock_and_Check flck(new_context, "wc" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - new_context->Write(flck.peer()); - - return result._retn (); -} - -void -TAO_Storable_Naming_Context::rebind (const CosNaming::Name& n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("rebind"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // we didn't need a lock to check the input arg, but now we do - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // If we received compound name, resolve it to get the context in - // which the rebinding should take place, then perform the rebinding - // on target context. - if (name_len > 1) - { - // This had been a read on the file so now we are done with it - flck.release(); - - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - context->rebind (simple_name, obj ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - // If we received a simple name, we need to rebind it in this - // context. - else - { - int result = this->context_->rebind (n[0].id, - n[0].kind, - obj, - CosNaming::nobject); - - // Check for error conditions. - if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - - else if (result == -2) - ACE_THROW (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_object, n)); - - this->Write(flck.peer()); - } -} - -void -TAO_Storable_Naming_Context::bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("TAO_Storable_Naming_Context::bind_context"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // Do not allow binding of nil context reference. - if (CORBA::is_nil (nc)) - ACE_THROW (CORBA::BAD_PARAM ()); - - // we didn't need a lock to check the input arg, but now we do - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // If we received compound name, resolve it to get the context in - // which the binding should take place, then perform the binding - // on target context. - if (name_len > 1) - { - // This had been a read on the file so now we are done with it - flck.release(); - - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - context->bind_context (simple_name, nc ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - // If we received a simple name, we need to bind it in this context. - else - { - // Try binding the name. - int result = this->context_->bind (n[0].id, - n[0].kind, - nc, - CosNaming::ncontext); - if (result == 1) - ACE_THROW (CosNaming::NamingContext::AlreadyBound()); - - // Something went wrong with the internal structure - else if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - - this->Write(flck.peer()); - } -} - -void -TAO_Storable_Naming_Context::rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("rebind_context"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // we didn't need a lock to check the input arg, but now we do - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // If we received compound name, resolve it to get the context in - // which the rebinding should take place, then perform the rebinding - // on target context. - if (name_len > 1) - { - // This had been a read on the file so now we are done with it - flck.release(); - - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - context->rebind_context (simple_name, nc ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - // If we received a simple name, we need to rebind it in this - // context. - else - { - int result = this->context_->rebind (n[0].id, - n[0].kind, - nc, - CosNaming::ncontext); - // Check for error conditions. - if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - else if (result == -2) - ACE_THROW (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, n)); - - this->Write(flck.peer()); - } -} - -CORBA::Object_ptr -TAO_Storable_Naming_Context::resolve (const CosNaming::Name& n - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("resolve"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), - CORBA::Object::_nil ()); - - // we didn't need a lock to check the input arg, but now we do - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Open the backing file - File_Open_Lock_and_Check flck(this, "r" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CORBA::Object::_nil ()); - - // Resolve the first component of the name. - flck.release(); - - // Stores the binding type for the first name component. - CosNaming::BindingType type; - // Stores the object reference bound to the first name component. - CORBA::Object_ptr obj = CORBA::Object::_nil (); - - if (this->context_->find (n[0].id, - n[0].kind, - obj, - type) == -1) - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::missing_node, n), - CORBA::Object::_nil ()); - - // Store the value in var to avoid memory leaks. - CORBA::Object_var result = obj; - - // If the name we have to resolve is a compound name, we need to - // resolve it recursively. - if (name_len > 1) - { - CosNaming::NamingContext_var context = - CosNaming::NamingContext::_nil (); - - if (type == CosNaming::ncontext) - { - // Narrow to NamingContext. - context = CosNaming::NamingContext::_narrow (result.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (result._retn ()); - } - else - // The first name component wasn't bound to a NamingContext. - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, - n), - CORBA::Object::_nil ()); - - // If narrow failed... - if (CORBA::is_nil (context.in ())) - ACE_THROW_RETURN (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::not_context, n), - CORBA::Object::_nil ()); - else - { - // Successfully resolved the first name component, need to - // recursively call resolve on without the first component. - - // We need a name just like but without the first - // component. Instead of copying data we can reuse 's - // buffer since we will only be using it for 'in' parameters - // (no modifications). - CosNaming::Name rest_of_name - (n.maximum () - 1, - n.length () - 1, - const_cast (n.get_buffer ()) + 1); - - // If there are any exceptions, they will propagate up. - return context->resolve (rest_of_name - ACE_ENV_ARG_PARAMETER); - } - } - // If the name we had to resolve was simple, we just need to return - // the result. - return result._retn (); -} - -void -TAO_Storable_Naming_Context::unbind (const CosNaming::Name& n - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("unbind"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // we didn't need a lock to check the input arg, but now we do - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // If we received compound name, resolve it to get the context in - // which the unbinding should take place, then perform the unbinding - // on target context. - if (name_len > 1) - { - // This had been a read on the file so now we are done with it - flck.release(); - - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - context->unbind (simple_name ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - // If we received a simple name, we need to unbind it in this - // context. - else - { - if (this->context_->unbind (n[0].id, - n[0].kind) == -1) - ACE_THROW (CosNaming::NamingContext::NotFound - (CosNaming::NamingContext::missing_node, n)); - - this->Write(flck.peer()); - } -} - -CosNaming::NamingContext_ptr -TAO_Storable_Naming_Context::bind_new_context (const CosNaming::Name& n - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("bind_new_context"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW_RETURN (CosNaming::NamingContext::InvalidName(), - CosNaming::NamingContext::_nil ()); - - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CosNaming::NamingContext::_nil ()); - - // Open the backing file - File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CosNaming::NamingContext::_nil ()); - - // If we received compound name, resolve it to get the context in - // which the binding should take place, then perform the operation on - // target context. - if (name_len > 1) - { - // This had been a read on the file so now we are done with it - flck.release(); - - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - return context->bind_new_context (simple_name ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - } - // If we received a simple name, we need to bind it in this context. - - // This had been a read on the file so now we are done with it - flck.release(); - - // Stores our new Naming Context. - CosNaming::NamingContext_var result = - CosNaming::NamingContext::_nil (); - - // Create new context. - result = new_context (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Bind the new context to the name. - ACE_TRY - { - bind_context (n, - result.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY_EX(DESTROY) - { - result->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK_EX(DESTROY); - } - ACE_CATCHANY - { - // Do nothing? - } - ACE_ENDTRY; - } - // Re-raise the exception in bind_context() - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - return result._retn (); -} - -void -TAO_Storable_Naming_Context::destroy (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRACE("destroy"); - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - if (this->context_->current_size () != 0) - ACE_THROW (CosNaming::NamingContext::NotEmpty()); - - // Destroy is a no-op on a root context. - if (root ()) - return; - - else - { - this->destroyed_ = 2; - - // Remove self from POA. Because of reference counting, the POA - // will automatically delete the servant when all pending requests - // on this servant are complete. - - PortableServer::POA_var poa = - this->_default_POA (); - - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id_.fast_rep ()); - - ACE_CHECK; - - poa->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->Write(flck.peer()); - } -} - - -void -TAO_Storable_Naming_Context::bind (const CosNaming::Name& n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("TAO_Storable_Naming_Context::bind"); - // Get the length of the name. - CORBA::ULong name_len = n.length (); - - // Check for invalid name. - if (name_len == 0) - ACE_THROW (CosNaming::NamingContext::InvalidName()); - - // we didn't need a lock to check the input arg, but now we do - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // If we received compound name, resolve it to get the context in - // which the binding should take place, then perform the binding - // on target context. - if (name_len > 1) - { - // This had been a read on the file so now we are done with it - flck.release(); - - CosNaming::NamingContext_var context = - get_context (n ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CosNaming::Name simple_name; - simple_name.length (1); - simple_name[0] = n[name_len - 1]; - context->bind (simple_name, obj ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - // If we received a simple name, we need to bind it in this context. - else - { - // Try binding the name. - int result = this->context_->bind (n[0].id, - n[0].kind, - obj, - CosNaming::nobject); - if (result == 1) - ACE_THROW (CosNaming::NamingContext::AlreadyBound()); - - // Something went wrong with the internal structure - else if (result == -1) - ACE_THROW (CORBA::INTERNAL ()); - - this->Write(flck.peer()); - } -} - - -void -TAO_Storable_Naming_Context::list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("list"); - // Allocate nil out parameters in case we won't be able to complete - // the operation. - bi = CosNaming::BindingIterator::_nil (); - ACE_NEW_THROW_EX (bl, - CosNaming::BindingList (0), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Obtain a lock before we proceed with the operation. - ACE_GUARD_THROW_EX (ACE_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Open the backing file - File_Open_Lock_and_Check flck(this, "r" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // We have the map in memory, let the disk go - flck.release(); - - // Dynamically allocate iterator for traversing the underlying hash map. - HASH_MAP::ITERATOR *hash_iter = 0; - ACE_NEW_THROW_EX (hash_iter, - HASH_MAP::ITERATOR (storable_context_->map ()), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Store temp (hash_iter); - - // Silliness below is required because of broken old g++!!! E.g., - // without it, we could have just said HASH_MAP::ITERATOR everywhere we use ITER_DEF. - typedef ACE_Hash_Map_Manager::ITERATOR ITER_DEF; - typedef ACE_Hash_Map_Manager::ENTRY ENTRY_DEF; - - // Typedef to the type of BindingIterator servant for ease of use. - typedef TAO_Bindings_Iterator ITER_SERVANT; - - // A pointer to BindingIterator servant. - ITER_SERVANT *bind_iter = 0; - - // Number of bindings that will go into the BindingList . - CORBA::ULong n; - - // Calculate number of bindings that will go into . - if (this->context_->current_size () > how_many) - n = how_many; - else - n = static_cast (this->context_->current_size ()); - - // Use the hash map iterator to populate with bindings. - bl->length (n); - - ENTRY_DEF *hash_entry = 0; - - for (CORBA::ULong i = 0; i < n; i++) - { - hash_iter->next (hash_entry); - hash_iter->advance (); - - if (ITER_SERVANT::populate_binding (hash_entry, bl[i]) == 0) - ACE_THROW (CORBA::NO_MEMORY()); - } - - // Now we are done with the BindingsList, and we can follow up on - // the BindingIterator business. - - // If we do not need to pass back BindingIterator. - if (this->context_->current_size () <= how_many) - return; - else - { - // *** This is a problem. Is there an exception we can throw? *** - ACE_UNUSED_ARG (bind_iter); - ACE_THROW (CORBA::NO_IMPLEMENT ()); - -#if 0 - // Create a BindingIterator for return. - ACE_NEW_THROW_EX (bind_iter, - ITER_SERVANT (this, hash_iter, - this->poa_.in (), this->lock_), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Release from auto pointer, and start using - // reference counting to control our servant. - temp.release (); - PortableServer::ServantBase_var iter = bind_iter; - - // Increment reference count on this Naming Context, so it doesn't get - // deleted before the BindingIterator servant gets deleted. - interface_->_add_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Register with the POA. - char poa_id[BUFSIZ]; - ACE_OS::sprintf (poa_id, - "%s_%d", - this->poa_id_.c_str (), - this->counter_++); - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id); - - this->poa_->activate_object_with_id (id.in (), - bind_iter - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - bi = bind_iter->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -#endif /* 0 */ - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include "orbsvcs/Naming/Naming_Service_Container.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CosNaming::NamingContext_ptr TAO_Storable_Naming_Context::recreate_all( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size, - int reentering, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - int use_redundancy - ACE_ENV_ARG_DECL) -{ - ACE_TRACE("recreate_all"); - - ACE_UNUSED_ARG (reentering); - - // Whether we are redundant is global - redundant_ = use_redundancy; - - // Save the root name for later use - root_name_ = poa_id; - - // Create a new context. - TAO_Storable_Naming_Context *new_context = 0; - CosNaming::NamingContext_var result = - make_new_context (orb, - poa, - poa_id, - context_size, - factory, - persistence_directory, - &new_context - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Now does this already exist on disk? - ACE_TString file_name(persistence_directory); - file_name += ACE_TEXT("/"); - file_name += ACE_TEXT_CHAR_TO_TCHAR(poa_id); - ACE_Auto_Ptr fl (factory->create_stream(ACE_TEXT_ALWAYS_CHAR(file_name.c_str()), ACE_TEXT("r"))); - if (fl->exists()) - { - // Load the map from disk - File_Open_Lock_and_Check flck(new_context, "r" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - } - else - { - // Since this is a new context, make and empty map in it - ACE_NEW_THROW_EX (new_context->storable_context_, - TAO_Storable_Bindings_Map (context_size,orb), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - new_context->context_ = new_context->storable_context_; - File_Open_Lock_and_Check flck(new_context, "wc" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - new_context->Write(flck.peer()); - } - - // build the global file name - file_name += ACE_TEXT("_global"); - - // Create the stream for the counter used to uniquely creat context names - gfl_.reset(factory->create_stream(ACE_TEXT_ALWAYS_CHAR(file_name.c_str()), ACE_TEXT("crw"))); - if (gfl_->open() != 0) - { - delete gfl_.release(); - ACE_THROW_RETURN(CORBA::PERSIST_STORE(), - CosNaming::NamingContext::_nil ()); - } - - // get the counter from disk - TAO_NS_Persistence_Global global; - *gfl_.get() >> global; - if (!gfl_.get ()->good () && - gfl_.get ()->rdstate () != TAO_Storable_Base::eofbit) - { - gfl_.get ()->clear (); - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - gcounter_ = global.counter(); - if(redundant_) gfl_->close(); - - return result._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h deleted file mode 100644 index 87f8bb203a2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h +++ /dev/null @@ -1,474 +0,0 @@ -/* -*- C++ -*- */ -//============================================================================= -/** - * @file Storable_Naming_Context.h - * - * $Id$ - * - * @author Bruce Trask - */ -//============================================================================= - - -#ifndef TAO_STORABLE_NAMING_CONTEXT_H -#define TAO_STORABLE_NAMING_CONTEXT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Naming/Hash_Naming_Context.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Auto_Ptr.h" - -#include "orbsvcs/Naming/Storable.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Naming_Serv_Export TAO_Storable_IntId -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_Storable_IntId (void); - - /// Constructor. - TAO_Storable_IntId (/* in */ const char * ior, - CosNaming::BindingType type /* = CosNaming::nobject */); - - /// Copy constructor. - TAO_Storable_IntId (const TAO_Storable_IntId & rhs); - - /// Destructor. - ~TAO_Storable_IntId (void); - - /// Assignment operator. - void operator= (const TAO_Storable_IntId & rhs); - - // = Data members. - - /// Stringified IOR to be stored in a Persistent Naming Context. - CORBA::String_var ref_; - - /// Binding type for . - CosNaming::BindingType type_; -}; - -class TAO_Naming_Serv_Export TAO_Storable_ExtId -{ -public: - // = Initialization and termination methods. - - /// Constructor. - TAO_Storable_ExtId (void); - - /// Constructor. - TAO_Storable_ExtId (/* in */ const char *id, - /* in */ const char *kind); - - /// Copy constructor. - TAO_Storable_ExtId (const TAO_Storable_ExtId & rhs); - - /// Destructor. - ~TAO_Storable_ExtId (void); - - // = Assignment and comparison methods. - - /// Assignment operator (does copy memory). - void operator= (const TAO_Storable_ExtId & rhs); - - /// Equality comparison operator (must match both id_ and kind_). - bool operator== (const TAO_Storable_ExtId &rhs) const; - - /// Inequality comparison operator. - bool operator!= (const TAO_Storable_ExtId &rhs) const; - - /// function is required in order for this class to be usable by - /// ACE_Hash_Map_Manager. - u_long hash (void) const; - - // = Data members. - - /// portion of the name to be associated with some object - /// reference in a Storable Naming Context. - CORBA::String_var id_; - - /// portion of the name to be associated with some object - /// reference in a Storable Naming Context. - CORBA::String_var kind_; - - // Accessors. - // follow the mapping rules! - - const char * id (void); - const char * kind (void); - -}; - - -/** - * @class TAO_Storable_Bindings_Map - * - * @brief Provides hash-table-based transient storage for name to object - * bindings in a Naming Context. - * - * A thin wrapper on top of ACE_Hash_Map_Manager. Supports - * TAO_Bindings_Map interface. Used by TAO_Transient_Naming_Context. - */ -class TAO_Naming_Serv_Export TAO_Storable_Bindings_Map : public TAO_Bindings_Map -{ -public: - - /// Underlying data structure - typedef for ease of use. - typedef ACE_Hash_Map_Manager HASH_MAP; - - // = Initialization and termination methods. - - /// Constructor. - TAO_Storable_Bindings_Map (size_t hash_table_size, CORBA::ORB_ptr orb); - - /// Destructor. - virtual ~TAO_Storable_Bindings_Map (void); - - // = Accessors. - - /// Get a reference to the underlying hash map. - HASH_MAP &map (void); - - /// Return the size of the underlying hash table. - size_t total_size (void); - - /// Return current number of entries (name bindings) in the - /// underlying hash map. - virtual size_t current_size (void); - - // = Name bindings manipulation methods. - - /** - * Add a binding with the specified parameters to the table. - * Return 0 on success and -1 on failure, 1 if there already is a - * binding with and . - */ - virtual int bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type); - - /** - * Overwrite a binding containing and (or create a new - * one if one doesn't exist) with the specified parameters. Return - * 0 or 1 on success. Return -1 or -2 on failure. (-2 is returned - * if the new and old bindings differ in type). - */ - virtual int rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type); - - /** - * Remove a binding containing and from the table. - * Return 0 on success and -1 on failure. - */ - virtual int unbind (const char * id, - const char * kind); - - /** - * Find the binding containing and in the table, and - * pass binding's type and object back to the caller by reference. - * Return 0 on success and -1 on failure. Note: a 'duplicated' object - * reference is assigned to , so the caller is responsible for - * its deallocation. - */ - virtual int find (const char * id, - const char * kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type); - -private: - - /// Helper: factors common code from and . - int shared_bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type, - int rebind); - - /// Hash map used for storage. - HASH_MAP map_; - - CORBA::ORB_var orb_; - -}; - -/** - * @class TAO_Storable_Naming_Context - * - * @brief This class plays a role of a 'ConcreteImplementor' in the - * Bridge pattern architecture of the CosNaming::NamingContext - * implementation. - * - * This class provides a implementation of the - * NamingContext functionality, i.e., the state can be preserved - * across process boundaries. Derives from - * TAO_Hash_Naming_Context and uses TAO_Storable_Bindings_Map to - * store name to object bindings. - */ -class TAO_Naming_Serv_Export TAO_Storable_Naming_Context : public TAO_Hash_Naming_Context -{ - -public: - - /// Underlying data structure - typedef for ease of use. - typedef TAO_Storable_Bindings_Map::HASH_MAP HASH_MAP; - - // = Initialization and termination methods. - - /// Constructor. - TAO_Storable_Naming_Context (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const char *poa_id, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - size_t hash_table_size = ACE_DEFAULT_MAP_SIZE); - - /// Destructor. - virtual ~TAO_Storable_Naming_Context (void); - - // = Utility methods. - /** - * This utility method factors out the code needed to create a new - * Storable Naming Context servant and activate it under the - * specified POA with the specified id. This function is static so - * that the code can be used, both from inside the class (e.g., - * ), and from outside (e.g., Naming_Utils.cpp). - */ - static CosNaming::NamingContext_ptr make_new_context ( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - TAO_Storable_Naming_Context **new_context - ACE_ENV_ARG_DECL); - - // = Methods not implemented in TAO_Hash_Naming_Context. - - static CosNaming::NamingContext_ptr recreate_all( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size, - int reentering, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - int use_redundancy - ACE_ENV_ARG_DECL); - - - /** - * This operation returns a new naming context implemented by the - * same naming server in which the operation was invoked. The - * context is not bound. - */ - virtual CosNaming::NamingContext_ptr new_context (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Returns at most the requested number of bindings in - * . If the naming context contains additional bindings, they - * are returned with a BindingIterator. In the naming context does - * not contain any additional bindings returned as null. - */ - virtual void list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL); - - - virtual void rebind (const CosNaming::Name& n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - /** - * Create a binding for name and object in the naming - * context. Compound names are treated as follows: ctx->bind (, obj) = (ctx->resolve ())->bind (, - * obj) if the there already exists a binding for the specified - * name, exception is thrown. Naming contexts should - * be bound using and in order to - * participate in name resolution later. - */ - virtual void bind (const CosNaming::Name &n, - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - - /** - * This is the version of specifically for binding naming - * contexts, so that they will participate in name resolution when - * compound names are passed to be resolved. - */ - virtual void bind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL); - - /** - * This is a version of specifically for naming contexts, - * so that they can participate in name resolution when compound - * names are passed. - */ - virtual void rebind_context (const CosNaming::Name &n, - CosNaming::NamingContext_ptr nc - ACE_ENV_ARG_DECL); - - /** - * Return object reference that is bound to the name. Compound name - * resolve is defined as follows: ctx->resolve () = - * ctx->resolve ()->resolve () The naming service - * does not return the type of the object. Clients are responsible - * for "narrowing" the object to the appropriate type. - */ - virtual CORBA::Object_ptr resolve (const CosNaming::Name &n - ACE_ENV_ARG_DECL); - - /** - * Remove the name binding from the context. When compound names - * are used, unbind is defined as follows: ctx->unbind () = (ctx->resolve ())->unbind () - */ - virtual void unbind (const CosNaming::Name &n - ACE_ENV_ARG_DECL); - - /** - * This operation creates a new context and binds it to the name - * supplied as an argument. The newly-created context is - * implemented by the same server as the context in which it was - * bound (the name argument excluding the last component). - */ - virtual CosNaming::NamingContext_ptr bind_new_context ( - const CosNaming::Name &n - ACE_ENV_ARG_DECL); - - /** - * Delete the naming context. The user should take care to any - * bindings in which the given context is bound to some names, to - * avoid dangling references when invoking operation. - * NOTE: is a no-op on the root context. - * NOTE: after is invoked on a Naming Context, all - * BindingIterators associated with that Naming Context are also destroyed. - */ - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL); - -protected: - - /// Global counter used for generation of POA ids for children Naming - /// Contexts. - static ACE_UINT32 gcounter_; - - /// Counter used for generation of transients - ACE_UINT32 counter_; - - /** - * A pointer to the underlying data structure used to store name - * bindings. While our superclass (TAO_Hash_Naming_Context) also - * maintains a pointer to the data structure, keeping this pointer - * around saves us from the need to downcast when invoking - * non-virtual methods. - */ - TAO_Storable_Bindings_Map *storable_context_; - - CORBA::ORB_var orb_; - - ACE_CString name_; - - PortableServer::POA_var poa_; - - TAO_Naming_Service_Persistence_Factory *factory_; - - /// The directory in which to store the files - ACE_CString persistence_directory_; - - /// Save the hash table initial size - size_t hash_table_size_; - - /// Disk time that match current memory state - time_t last_changed_; - - /// Flag to tell use whether we are redundant or not - static int redundant_; - - static const char * root_name_; - - /// The pointer to the global file used to allocate new contexts - static ACE_Auto_Ptr gfl_; - -/** - * @class File_Open_Lock_and_Check - * - * @brief Helper class for the TAO_Storable_Naming_Context. - * - * Guard class for the TAO_Storable_Naming_Context. It opens - * a file for read/write and sets a lock on it. It then checks - * if the file has changed and re-reads it if it has. - * - * The destructor insures that the lock gets released. - * - *
- * How to use this class:
- *   File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw");
-     ACE_CHECK;
- * 
- */ -class File_Open_Lock_and_Check -{ -public: - - /// Constructor - we always need the object which we guard. - File_Open_Lock_and_Check(TAO_Storable_Naming_Context * context, - const char * mode - ACE_ENV_ARG_DECL); - - /// Destructor - ~File_Open_Lock_and_Check(void); - - /// Releases the lock, closes the file, and deletes the I/O stream. - void release(void); - - /// Returns the stream to read/write on - TAO_Storable_Base & peer(void); - -private: - /// Default constructor - File_Open_Lock_and_Check(void); - - /// A flag to keep us from trying to close things more than once. - int closed_; - - /// We need to save the pointer to our parent for cleaning up - TAO_Storable_Naming_Context * context_; - - /// The pointer to the actual file I/O (bridge pattern) - TAO_Storable_Base *fl_; - - /// The flags that we were opened with - int rwflags_; - - /// Symbolic values for the flags in the above - enum{ mode_write = 1, mode_read = 2, mode_create = 4 }; -}; // end of embedded class File_Open_Lock_and_Check - - friend class File_Open_Lock_and_Check; - - int load_map(File_Open_Lock_and_Check *flck ACE_ENV_ARG_DECL); - - void Write(TAO_Storable_Base& wrtr); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_STORABLE_NAMING_CONTEXT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp deleted file mode 100644 index b2bb63bf6cf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp +++ /dev/null @@ -1,125 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Storable_Naming_Context_Activator.h -// -// = AUTHOR -// Byron Harris -// -// ============================================================================ - -#include "orbsvcs/Naming/Storable_Naming_Context_Activator.h" - -#if (TAO_HAS_MINIMUM_POA == 0) -#include "orbsvcs/Naming/Naming_Context_Interface.h" -#include "orbsvcs/Naming/Storable_Naming_Context.h" -#include "orbsvcs/Naming/Storable.h" -#include "ace/Auto_Ptr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Storable_Naming_Context_Activator::TAO_Storable_Naming_Context_Activator ( - CORBA::ORB_ptr orb, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - size_t context_size) - : orb_(orb), - factory_(factory), - persistence_directory_(persistence_directory), - context_size_(context_size) -{ -} - -TAO_Storable_Naming_Context_Activator::~TAO_Storable_Naming_Context_Activator () -{ - delete factory_; -} - -PortableServer::Servant -TAO_Storable_Naming_Context_Activator::incarnate ( - const PortableServer::ObjectId &oid, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::ForwardRequest)) -{ - - // Make sure complete initialization has been done - ACE_ASSERT (factory_ != 0); - - CORBA::String_var poa_id = PortableServer::ObjectId_to_string (oid); - - // The approached used is to simply verify that there is a - // persistence element that exists that corresponds to the - // poa_id. If so, an empty context is created. Later, when the - // context is accessed it will be determined that the contents of - // the persistence elment needs to be read in. - - // Does this already exist on disk? - ACE_TString file_name(persistence_directory_); - file_name += ACE_TEXT("/"); - file_name += ACE_TEXT_CHAR_TO_TCHAR(poa_id.in()); - TAO_Storable_Base * fl = factory_->create_stream(ACE_TEXT_ALWAYS_CHAR(file_name.c_str()), ACE_TEXT("rw")); - if (!fl->exists()) { - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - 0); - } - - // Store the stub we will return here. - CosNaming::NamingContext_var result (CosNaming::NamingContext::_nil()); - - // Put together a servant for the new Naming Context. - - TAO_Storable_Naming_Context *context_impl = 0; - ACE_NEW_THROW_EX (context_impl, - TAO_Storable_Naming_Context (orb_, - poa, - poa_id.in (), - factory_, - persistence_directory_, - context_size_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - // Put into the auto pointer temporarily, in case next - // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); - - TAO_Naming_Context *context = 0; - ACE_NEW_THROW_EX (context, - TAO_Naming_Context (context_impl), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - // Let know about it's . - context_impl->interface (context); - - // Release auto pointer, and start using reference counting to - // control our servant. - temp.release (); - - return context; -} - -void -TAO_Storable_Naming_Context_Activator::etherealize ( - const PortableServer::ObjectId &/*oid*/, - PortableServer::POA_ptr /*adapter*/, - PortableServer::Servant servant, - CORBA::Boolean /*cleanup_in_progress*/, - CORBA::Boolean remaining_activations - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (!remaining_activations) { - delete servant; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.h b/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.h deleted file mode 100644 index d8799fd1137..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.h +++ /dev/null @@ -1,91 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Storable_Naming_Context_Activator.h -// -// = AUTHOR -// Byron Harris -// -// ============================================================================ - -#ifndef TAO_STORABLE_NAMING_CONTEXT_ACTIVATOR_H -#define TAO_STORABLE_NAMING_CONTEXT_ACTIVATOR_H -#include /**/ "ace/pre.h" - -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/ServantActivatorC.h" -#include "tao/LocalObject.h" - -#if (TAO_HAS_MINIMUM_POA == 0) - -#include "orbsvcs/Naming/naming_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Naming_Service_Persistence_Factory; - -/** - * A servant activator to be use with a TAO_Storable_Naming_Context. - * Permits contexts saved to disk in one naming service process to be - * "lazily" created on demand in other processes by reading the - * context file off disk only when a request to the context is made. - */ -class TAO_Naming_Serv_Export TAO_Storable_Naming_Context_Activator : - public virtual PortableServer::ServantActivator -{ -public: - - /** - * The constructor takes arguments needed to create a - * TAO_Storable_Naming_Context and TAO_Naming_Context on demand. - */ - TAO_Storable_Naming_Context_Activator(CORBA::ORB_ptr orb, - TAO_Naming_Service_Persistence_Factory *factory, - const ACE_TCHAR *persistence_directory, - size_t context_size); - - virtual ~TAO_Storable_Naming_Context_Activator(); - - /** - * Create a TAO_Storable_Naming_Context and TAO_Naming_Context on - * demand if a request to a naming context CORBA reference is made - * and the servant implementing this reference does not yet exist. - */ - virtual PortableServer::Servant incarnate (const PortableServer::ObjectId &oid, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::ForwardRequest)); - - /** - * Used by the POA to delete the servant created from a call to incarnate. - */ - virtual void etherealize (const PortableServer::ObjectId &oid, - PortableServer::POA_ptr adapter, - PortableServer::Servant servant, - CORBA::Boolean cleanup_in_progress, - CORBA::Boolean remaining_activations - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - - CORBA::ORB_ptr orb_; - TAO_Naming_Service_Persistence_Factory *factory_; - const ACE_TCHAR *persistence_directory_; - size_t context_size_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_HAS_MINIMUM_POA */ - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp b/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp deleted file mode 100644 index 06eb43a44b5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp +++ /dev/null @@ -1,344 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// Transient_Naming_Context.cpp -// -// = AUTHOR -// Marina Spivak and -// Sergio Flores-Gaitan -// -// ============================================================================ -#include "ace/Auto_Ptr.h" -#include "orbsvcs/Naming/Transient_Naming_Context.h" -#include "orbsvcs/Naming/Bindings_Iterator_T.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID(Naming, Transient_Naming_Context, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Transient_Bindings_Map::unbind (const char *id, - const char *kind) -{ - TAO_ExtId name (id, kind); - return this->map_.unbind (name); -} - -int -TAO_Transient_Bindings_Map::bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) -{ - return this->shared_bind (id, kind, obj, type, 0); -} - -int -TAO_Transient_Bindings_Map::rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type) -{ - return this->shared_bind (id, kind, obj, type, 1); -} - -int -TAO_Transient_Bindings_Map::find (const char *id, - const char *kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type) -{ - TAO_ExtId name (id, kind); - TAO_IntId entry; - - if (this->map_.find (name, - entry) != 0) - return -1; - else - { - obj = CORBA::Object::_duplicate (entry.ref_); - type = entry.type_; - return 0; - } -} - -TAO_Transient_Bindings_Map::TAO_Transient_Bindings_Map (size_t hash_table_size) - : map_ (hash_table_size) -{ -} - -TAO_Transient_Bindings_Map::~TAO_Transient_Bindings_Map (void) -{ -} - -TAO_Transient_Bindings_Map::HASH_MAP & -TAO_Transient_Bindings_Map::map (void) -{ - return map_; -} - -size_t -TAO_Transient_Bindings_Map::current_size (void) -{ - return map_.current_size (); -} - -size_t -TAO_Transient_Bindings_Map::total_size (void) -{ - return map_.total_size (); -} - -int -TAO_Transient_Bindings_Map::shared_bind (const char * id, - const char * kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type, - int rebind) -{ - TAO_ExtId new_name (id, kind); - TAO_IntId new_entry (obj, type); - TAO_IntId old_entry; - - if (rebind == 0) - // Do a normal bind. - return this->map_.bind (new_name, new_entry); - - else - // Rebind. - { - // Check that types of old and new entries match. - if (this->map_.find (new_name, - old_entry) == 0 - && type != old_entry.type_) - return -2; - - else - return this->map_.rebind (new_name, new_entry); - } -} - -TAO_Transient_Naming_Context::TAO_Transient_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id, - size_t hash_table_size) - : TAO_Hash_Naming_Context (poa, - poa_id), - counter_ (0), - transient_context_ (0) -{ - ACE_NEW (this->transient_context_, - TAO_Transient_Bindings_Map (hash_table_size)); - - context_ = transient_context_; -} - -TAO_Transient_Naming_Context::~TAO_Transient_Naming_Context (void) -{ -} - -CosNaming::NamingContext_ptr -TAO_Transient_Naming_Context::make_new_context (PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size - ACE_ENV_ARG_DECL) -{ - // Store the stub we will return here. - CosNaming::NamingContext_var result; - - // Put together a servant for the new Naming Context. - - TAO_Transient_Naming_Context *context_impl = 0; - ACE_NEW_THROW_EX (context_impl, - TAO_Transient_Naming_Context (poa, - poa_id, - context_size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (result._retn ()); - - // Put into the auto pointer temporarily, in case next - // allocation fails. - ACE_Auto_Basic_Ptr temp (context_impl); - - TAO_Naming_Context *context = 0; - ACE_NEW_THROW_EX (context, - TAO_Naming_Context (context_impl), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (result._retn ()); - - // Let know about it's . - context_impl->interface (context); - - // Release auto pointer, and start using reference counting to - // control our servant. - temp.release (); - PortableServer::ServantBase_var s = context; - - // Register the new context with the POA. - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id); - - poa->activate_object_with_id (id.in (), - context - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (result._retn ()); - - result = context->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - return result._retn (); -} - -CosNaming::NamingContext_ptr -TAO_Transient_Naming_Context::new_context (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), - CosNaming::NamingContext::_nil ()); - - // Generate a POA id for the new context. - char poa_id[BUFSIZ]; - ACE_OS::sprintf (poa_id, - "%s_%d", - this->poa_id_.c_str (), - this->counter_++); - - // Create a new context. - CosNaming::NamingContext_var result = - make_new_context (this->poa_.in (), - poa_id, - this->transient_context_->total_size () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNaming::NamingContext::_nil ()); - - return result._retn (); -} - -void -TAO_Transient_Naming_Context::list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL) -{ - // Allocate nil out parameters in case we won't be able to complete - // the operation. - bi = CosNaming::BindingIterator::_nil (); - ACE_NEW_THROW_EX (bl, - CosNaming::BindingList (0), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Obtain a lock before we proceed with the operation. - ACE_GUARD_THROW_EX (TAO_SYNCH_RECURSIVE_MUTEX, - ace_mon, - this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Check to make sure this object didn't have method - // invoked on it. - if (this->destroyed_) - ACE_THROW (CORBA::OBJECT_NOT_EXIST ()); - - // Dynamically allocate iterator for traversing the underlying hash map. - HASH_MAP::ITERATOR *hash_iter = 0; - ACE_NEW_THROW_EX (hash_iter, - HASH_MAP::ITERATOR (transient_context_->map ()), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Store temp (hash_iter); - - // Silliness below is required because of broken old g++!!! E.g., - // without it, we could have just said HASH_MAP::ITERATOR everywhere we use ITER_DEF. - typedef ACE_Hash_Map_Manager::ITERATOR ITER_DEF; - typedef ACE_Hash_Map_Manager::ENTRY ENTRY_DEF; - - // Typedef to the type of BindingIterator servant for ease of use. - typedef TAO_Bindings_Iterator - ITER_SERVANT; - - // A pointer to BindingIterator servant. - ITER_SERVANT *bind_iter = 0; - - // Number of bindings that will go into the BindingList . - CORBA::ULong n; - - // Calculate number of bindings that will go into . - if (this->context_->current_size () > how_many) - n = how_many; - else - n = static_cast (this->context_->current_size ()); - - // Use the hash map iterator to populate with bindings. - bl->length (n); - - ENTRY_DEF *hash_entry = 0; - - for (CORBA::ULong i = 0; i < n; i++) - { - hash_iter->next (hash_entry); - hash_iter->advance (); - - if (ITER_SERVANT::populate_binding (hash_entry, bl[i]) == 0) - ACE_THROW (CORBA::NO_MEMORY()); - } - - // Now we are done with the BindingsList, and we can follow up on - // the BindingIterator business. - - // If we do not need to pass back BindingIterator. - if (this->context_->current_size () <= how_many) - return; - else - { - // Create a BindingIterator for return. - ACE_NEW_THROW_EX (bind_iter, - ITER_SERVANT (this, hash_iter, this->poa_.in (), this->lock_), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Release from auto pointer, and start using - // reference counting to control our servant. - temp.release (); - PortableServer::ServantBase_var iter = bind_iter; - - // Increment reference count on this Naming Context, so it doesn't get - // deleted before the BindingIterator servant gets deleted. - interface_->_add_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Register with the POA. - char poa_id[BUFSIZ]; - ACE_OS::sprintf (poa_id, - "%s_%d", - this->poa_id_.c_str (), - this->counter_++); - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId (poa_id); - - this->poa_->activate_object_with_id (id.in (), - bind_iter - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - bi = bind_iter->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h b/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h deleted file mode 100644 index 2c3de8a61f3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h +++ /dev/null @@ -1,204 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Transient_Naming_Context.h - * - * $Id$ - * - * @author Marina Spivak - */ -//============================================================================= - - -#ifndef TAO_TRANSIENT_NAMING_CONTEXT_H -#define TAO_TRANSIENT_NAMING_CONTEXT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Naming/Hash_Naming_Context.h" -#include "orbsvcs/Naming/Entries.h" -#include "ace/Hash_Map_Manager.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Transient_Bindings_Map - * - * @brief Provides hash-table-based transient storage for name to object - * bindings in a Naming Context. - * - * A thin wrapper on top of ACE_Hash_Map_Manager. Supports - * TAO_Bindings_Map interface. Used by TAO_Transient_Naming_Context. - */ -class TAO_Naming_Serv_Export TAO_Transient_Bindings_Map : public TAO_Bindings_Map -{ -public: - - /// Underlying data structure - typedef for ease of use. - typedef ACE_Hash_Map_Manager HASH_MAP; - - // = Initialization and termination methods. - - /// Constructor. - TAO_Transient_Bindings_Map (size_t hash_table_size); - - /// Destructor. - virtual ~TAO_Transient_Bindings_Map (void); - - // = Accessors. - - /// Get a reference to the underlying hash map. - HASH_MAP &map (void); - - /// Return the size of the underlying hash table. - size_t total_size (void); - - /// Return current number of entries (name bindings) in the - /// underlying hash map. - virtual size_t current_size (void); - - // = Name bindings manipulation methods. - - /** - * Add a binding with the specified parameters to the table. - * Return 0 on success and -1 on failure, 1 if there already is a - * binding with and . - */ - virtual int bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type); - - /** - * Overwrite a binding containing and (or create a new - * one if one doesn't exist) with the specified parameters. Return - * 0 or 1 on success. Return -1 or -2 on failure. (-2 is returned - * if the new and old bindings differ in type). - */ - virtual int rebind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type); - - /** - * Remove a binding containing and from the table. - * Return 0 on success and -1 on failure. - */ - virtual int unbind (const char * id, - const char * kind); - - /** - * Find the binding containing and in the table, and - * pass binding's type and object back to the caller by reference. - * Return 0 on success and -1 on failure. Note: a 'duplicated' object - * reference is assigned to , so the caller is responsible for - * its deallocation. - */ - virtual int find (const char * id, - const char * kind, - CORBA::Object_ptr & obj, - CosNaming::BindingType &type); - -private: - - /// Helper: factors common code from and . - int shared_bind (const char *id, - const char *kind, - CORBA::Object_ptr obj, - CosNaming::BindingType type, - int rebind); - - /// Hash map used for storage. - HASH_MAP map_; -}; - -/** - * @class TAO_Transient_Naming_Context - * - * @brief This class plays a role of a 'ConcreteImplementor' in the - * Bridge pattern architecture of the CosNaming::NamingContext - * implementation. - * - * This class provides a transient implementation of the - * NamingContext functionality, i.e., the state is not preserved - * across process boundaries. Derives from - * TAO_Hash_Naming_Context and uses TAO_Transient_Bindings_Map to - * store name to object bindings. - */ -class TAO_Naming_Serv_Export TAO_Transient_Naming_Context : public TAO_Hash_Naming_Context -{ - -public: - - /// Underlying data structure - typedef for ease of use. - typedef TAO_Transient_Bindings_Map::HASH_MAP HASH_MAP; - - // = Initialization and termination methods. - - /// Constructor. - TAO_Transient_Naming_Context (PortableServer::POA_ptr poa, - const char *poa_id, - size_t hash_table_size - = ACE_DEFAULT_MAP_SIZE); - - /// Destructor. - virtual ~TAO_Transient_Naming_Context (void); - - // = Utility methods. - /** - * This utility method factors out the code needed to create a new - * Transient Naming Context servant and activate it under the - * specified POA with the specified id. This function is static so - * that the code can be used, both from inside the class (e.g., ), - * and from outside (e.g., Naming_Utils.cpp). - */ - static CosNaming::NamingContext_ptr make_new_context (PortableServer::POA_ptr poa, - const char *poa_id, - size_t context_size - ACE_ENV_ARG_DECL); - - // = Methods not implemented in TAO_Hash_Naming_Context. - - /** - * This operation returns a new naming context implemented by the - * same naming server in which the operation was invoked. The - * context is not bound. - */ - virtual CosNaming::NamingContext_ptr new_context (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Returns at most the requested number of bindings in - * . If the naming context contains additional bindings, they - * are returned with a BindingIterator. In the naming context does - * not contain any additional bindings returned as null. - */ - virtual void list (CORBA::ULong how_many, - CosNaming::BindingList_out &bl, - CosNaming::BindingIterator_out &bi - ACE_ENV_ARG_DECL); - -protected: - - /// Counter used for generation of POA ids for children Naming - /// Contexts. - ACE_UINT32 counter_; - - /** - * A pointer to the underlying data structure used to store name - * bindings. While our superclass (TAO_Hash_Naming_Context) also - * maintains a pointer to the data structure, keeping this pointer - * around saves us from the need to downcast when invoking - * non-virtual methods. - */ - TAO_Transient_Bindings_Map *transient_context_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_TRANSIENT_NAMING_CONTEXT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Naming/naming_export.h b/TAO/orbsvcs/orbsvcs/Naming/naming_export.h deleted file mode 100644 index 3bc9c600e49..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/naming_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NAMING_EXPORT_H -#define TAO_NAMING_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NAMING_HAS_DLL) -# define TAO_NAMING_HAS_DLL 0 -# endif /* ! TAO_NAMING_HAS_DLL */ -#else -# if !defined (TAO_NAMING_HAS_DLL) -# define TAO_NAMING_HAS_DLL 1 -# endif /* ! TAO_NAMING_HAS_DLL */ -#endif - -#if defined (TAO_NAMING_HAS_DLL) && (TAO_NAMING_HAS_DLL == 1) -# if defined (TAO_NAMING_BUILD_DLL) -# define TAO_Naming_Export ACE_Proper_Export_Flag -# define TAO_NAMING_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NAMING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NAMING_BUILD_DLL */ -# define TAO_Naming_Export ACE_Proper_Import_Flag -# define TAO_NAMING_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NAMING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NAMING_BUILD_DLL */ -#else /* TAO_NAMING_HAS_DLL == 1 */ -# define TAO_Naming_Export -# define TAO_NAMING_SINGLETON_DECLARATION(T) -# define TAO_NAMING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NAMING_HAS_DLL == 1 */ - -#endif /* TAO_NAMING_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Naming/naming_serv_export.h b/TAO/orbsvcs/orbsvcs/Naming/naming_serv_export.h deleted file mode 100644 index 220b76294f0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/naming_serv_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NAMING_SERV_EXPORT_H -#define TAO_NAMING_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NAMING_SERV_HAS_DLL) -# define TAO_NAMING_SERV_HAS_DLL 0 -# endif /* ! TAO_NAMING_SERV_HAS_DLL */ -#else -# if !defined (TAO_NAMING_SERV_HAS_DLL) -# define TAO_NAMING_SERV_HAS_DLL 1 -# endif /* ! TAO_NAMING_SERV_HAS_DLL */ -#endif - -#if defined (TAO_NAMING_SERV_HAS_DLL) && (TAO_NAMING_SERV_HAS_DLL == 1) -# if defined (TAO_NAMING_SERV_BUILD_DLL) -# define TAO_Naming_Serv_Export ACE_Proper_Export_Flag -# define TAO_NAMING_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NAMING_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NAMING_SERV_BUILD_DLL */ -# define TAO_Naming_Serv_Export ACE_Proper_Import_Flag -# define TAO_NAMING_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NAMING_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NAMING_SERV_BUILD_DLL */ -#else /* TAO_NAMING_SERV_HAS_DLL == 1 */ -# define TAO_Naming_Serv_Export -# define TAO_NAMING_SERV_SINGLETON_DECLARATION(T) -# define TAO_NAMING_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NAMING_SERV_HAS_DLL == 1 */ - -#endif /* TAO_NAMING_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Naming/naming_skel_export.h b/TAO/orbsvcs/orbsvcs/Naming/naming_skel_export.h deleted file mode 100644 index aef94b094c2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/naming_skel_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NAMING_SKEL_EXPORT_H -#define TAO_NAMING_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NAMING_SKEL_HAS_DLL) -# define TAO_NAMING_SKEL_HAS_DLL 0 -# endif /* ! TAO_NAMING_SKEL_HAS_DLL */ -#else -# if !defined (TAO_NAMING_SKEL_HAS_DLL) -# define TAO_NAMING_SKEL_HAS_DLL 1 -# endif /* ! TAO_NAMING_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_NAMING_SKEL_HAS_DLL) && (TAO_NAMING_SKEL_HAS_DLL == 1) -# if defined (TAO_NAMING_SKEL_BUILD_DLL) -# define TAO_Naming_Skel_Export ACE_Proper_Export_Flag -# define TAO_NAMING_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NAMING_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NAMING_SKEL_BUILD_DLL */ -# define TAO_Naming_Skel_Export ACE_Proper_Import_Flag -# define TAO_NAMING_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NAMING_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NAMING_SKEL_BUILD_DLL */ -#else /* TAO_NAMING_SKEL_HAS_DLL == 1 */ -# define TAO_Naming_Skel_Export -# define TAO_NAMING_SKEL_SINGLETON_DECLARATION(T) -# define TAO_NAMING_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NAMING_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_NAMING_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Naming/nsconf.h b/TAO/orbsvcs/orbsvcs/Naming/nsconf.h deleted file mode 100644 index 6f5b66d830e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Naming/nsconf.h +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================= -/** - * @file nsconf.h - * - * $Id$ - * - * Name service configuration file. - * - * - * @author Chris Cleeland - * @author Douglas C. Schmidt - */ -//============================================================================= - -#ifndef TAO_NAMESERVICE_CONF_H -#define TAO_NAMESERVICE_CONF_H -#include /**/ "ace/pre.h" -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// TAO Naming Service. - -// Memory mapping address used by TAO's Naming Service when run in -// persistent mode. -#if !defined (TAO_NAMING_BASE_ADDR) -# define TAO_NAMING_BASE_ADDR ACE_DEFAULT_BASE_ADDR -#endif /* ! TAO_NAMING_BASE_ADDR */ - -// Poa id of the root Naming Context in a Naming server. -#if !defined (TAO_ROOT_NAMING_CONTEXT) -# define TAO_ROOT_NAMING_CONTEXT "NameService" -#endif /* ! TAO_ROOT_NAMING_CONTEXT */ - -// The name under which the index of naming contexts is stored in -// persistent naming service. -#if !defined (TAO_NAMING_CONTEXT_INDEX) -# define TAO_NAMING_CONTEXT_INDEX "Naming_Context_Index" -#endif /* ! TAO_NAMING_CONTEXT_INDEX */ - - -#include /**/ "ace/post.h" -#endif /*TAO_NAMESERVICE_CONF_H*/ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp b/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp deleted file mode 100644 index 48a0a7d9de0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp +++ /dev/null @@ -1,222 +0,0 @@ -// $Id$ -#include "orbsvcs/Notify/Admin.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Admin.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, - TAO_Notify_Admin, - "$Id$") - -#include "orbsvcs/CosNotifyChannelAdminC.h" - -#include "orbsvcs/Notify/Container_T.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/Topology_Saver.h" -#include "orbsvcs/Notify/Save_Persist_Worker_T.h" -#include "orbsvcs/Notify/Reconnect_Worker_T.h" -#include "orbsvcs/Notify/Consumer_Map.h" -#include "orbsvcs/Notify/Supplier_Map.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" -#include "orbsvcs/Notify/SupplierAdmin.h" - -#include "tao/debug.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Admin::TAO_Notify_Admin () - : ec_ (0) - , filter_operator_ (CosNotifyChannelAdmin::OR_OP) - , is_default_ (false) -{ - // Initialize all Admin objects to initially be subscribed for all - // events. This is a reasonable default and is required to allow - // Cos Event consumers/suppliers to send/receive events, - this->subscribed_types_.insert (TAO_Notify_EventType::special ()); -} - -TAO_Notify_Admin::~TAO_Notify_Admin () -{ -} - -void -TAO_Notify_Admin::init (TAO_Notify::Topology_Parent* parent ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (this->ec_.get() == 0); - - this->ec_.reset (dynamic_cast(parent)); - ACE_ASSERT (this->ec_.get() != 0); - - // this-> on the following line confuses VC6 - initialize (parent ACE_ENV_ARG_PARAMETER); - - TAO_Notify_Proxy_Container* proxy_container = 0; - ACE_NEW_THROW_EX (proxy_container, - TAO_Notify_Proxy_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->proxy_container_.reset (proxy_container); - - this->proxy_container().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -} - -void -TAO_Notify_Admin::remove (TAO_Notify_Proxy* proxy ACE_ENV_ARG_DECL) -{ - this->proxy_container().remove (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_Admin::subscribed_types (TAO_Notify_EventTypeSeq& subscribed_types ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // Adopt the Admin's subscription. - TAO_Notify_EventTypeSeq added (this->subscribed_types_), removed; - - added.add_and_remove (subscribed_types, removed); - - subscribed_types = added; -} - -int -TAO_Notify_Admin::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - int sd_ret = TAO_Notify_Object::shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - if (sd_ret == 1) - return 1; - - this->proxy_container().shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - return 0; -} - -void -TAO_Notify_Admin::insert (TAO_Notify_Proxy* proxy ACE_ENV_ARG_DECL) -{ - this->proxy_container().insert (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Admin::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - bool changed = this->children_changed_; - this->children_changed_ = false; - this->self_changed_ = false; - - if (is_persistent ()) - { - TAO_Notify::NVPList attrs; - this->save_attrs(attrs); - - const char* type = this->get_admin_type_name(); - - bool want_all_children = - saver.begin_object(this->id(), type, attrs, changed - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (want_all_children || this->filter_admin_.is_changed ()) - { - this->filter_admin_.save_persistent(saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - if (want_all_children || this->subscribed_types_.is_changed ()) - { - this->subscribed_types_.save_persistent(saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - TAO_Notify::Save_Persist_Worker - wrk(saver, want_all_children); - this->proxy_container().collection()->for_each(&wrk - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - saver.end_object(this->id(), type ACE_ENV_ARG_PARAMETER); - } -} - -void -TAO_Notify_Admin::save_attrs (TAO_Notify::NVPList& attrs) -{ - TAO_Notify_Object::save_attrs(attrs); - attrs.push_back(TAO_Notify::NVP("InterFilterGroupOperator", - this->filter_operator_)); - if (this->is_default_) - { - attrs.push_back (TAO_Notify::NVP ("default", "yes")); - } -} - -void -TAO_Notify_Admin::load_attrs(const TAO_Notify::NVPList& attrs) -{ - TAO_Notify_Object::load_attrs (attrs); - const char* value = 0; - if (attrs.find ("InterFilterGroupOperator", value)) - { - this->filter_operator_ = static_cast (ACE_OS::atoi (value)); - } - - if (attrs.find ("default", value)) - { - this->is_default_ = (ACE_OS::strcmp (value, "yes") == 0); - } -} - -TAO_Notify::Topology_Object* -TAO_Notify_Admin::load_child (const ACE_CString &type, - CORBA::Long id, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_UNUSED_ARG (attrs); - TAO_Notify::Topology_Object* result = this; - if (type == "subscriptions") - { - if (DEBUG_LEVEL) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload subscription %d\n"), - static_cast (id) - )); - // since we initialized our subscribed types to everything - // in the constructor. we have to clear it out first. - this->subscribed_types_.reset(); - result = &this->subscribed_types_; - } - else if (type == "filter_admin") - { - if (DEBUG_LEVEL) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload filter_admin %d\n"), - static_cast (id) - )); - result = & this->filter_admin_; - } - return result; -} - -void -TAO_Notify_Admin::reconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify::Reconnect_Worker wrk; - this->proxy_container().collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.h b/TAO/orbsvcs/orbsvcs/Notify/Admin.h deleted file mode 100644 index a7a9487c8c4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Admin.h +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Admin.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_ADMIN_H -#define TAO_Notify_ADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/FilterAdmin.h" -#include "orbsvcs/Notify/EventTypeSeq.h" -#include "orbsvcs/Notify/Topology_Object.h" -#include "orbsvcs/Notify/EventChannel.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Proxy; -template class TAO_Notify_Container_T; - -/** - * @class TAO_Notify_Admin - * - * @brief Base class for the ConsumerAdmin and SupplierAdmin. - * - */ - -class TAO_Notify_Serv_Export TAO_Notify_Admin : public TAO_Notify::Topology_Parent -{ - friend class TAO_Notify_Builder; -public: - typedef CosNotifyChannelAdmin::AdminIDSeq SEQ; - typedef CosNotifyChannelAdmin::AdminIDSeq_var SEQ_VAR; - - /// Constuctor - TAO_Notify_Admin (); - - /// Destructor - virtual ~TAO_Notify_Admin (); - - /// Init - void init (TAO_Notify::Topology_Parent * parent ACE_ENV_ARG_DECL); - - /// Insert the proxy in the . - void insert (TAO_Notify_Proxy* proxy ACE_ENV_ARG_DECL); - - /// Remove type from container_ - void remove (TAO_Notify_Proxy *proxy ACE_ENV_ARG_DECL); - - /// Access Admin FilterAdmin. - TAO_Notify_FilterAdmin& filter_admin (void); - - /// Set Filter operator - void filter_operator ( - CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator - ); - - /// Access Filter operator - CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator (void); - - /// Obtain the Admin's subscribed types. - void subscribed_types (TAO_Notify_EventTypeSeq& subscribed_types - ACE_ENV_ARG_DECL); - - TAO_Notify_EventChannel * event_channel () const; - /// Shutdown - virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, - CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL); - virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL); - - void set_default (bool is_default); - bool is_default () const; - virtual void load_attrs(const TAO_Notify::NVPList& attrs); - -protected: - void save_attrs (TAO_Notify::NVPList& attrs); - virtual const char * get_admin_type_name (void) const = 0; - - typedef TAO_Notify_Container_T TAO_Notify_Proxy_Container; - - TAO_Notify_Proxy_Container& proxy_container(); - /// = Data Members - - /// The EventChannel. - TAO_Notify_EventChannel::Ptr ec_; - - - /// The types that we've subscribed our proxy objects with the event manager. - TAO_Notify_EventTypeSeq subscribed_types_; - - /// Filter Administration - TAO_Notify_FilterAdmin filter_admin_; - - /// Filter operator - CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator_; - - bool is_default_; -private: - /// The Proxy Container. - ACE_Auto_Ptr< TAO_Notify_Proxy_Container > proxy_container_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Admin.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_ADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.inl b/TAO/orbsvcs/orbsvcs/Notify/Admin.inl deleted file mode 100644 index d7cb523081e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Admin.inl +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_Notify_EventChannel * -TAO_Notify_Admin::event_channel () const -{ - return this->ec_.get(); -} - - -ACE_INLINE TAO_Notify_FilterAdmin& -TAO_Notify_Admin::filter_admin (void) -{ - return this->filter_admin_; -} - -ACE_INLINE void -TAO_Notify_Admin::filter_operator (CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator) -{ - this->filter_operator_ = filter_operator; -} - -ACE_INLINE CosNotifyChannelAdmin::InterFilterGroupOperator -TAO_Notify_Admin::filter_operator (void) -{ - return this->filter_operator_; -} - -ACE_INLINE -void -TAO_Notify_Admin::set_default (bool is_default) -{ - this->is_default_ = is_default; -} - -ACE_INLINE -bool -TAO_Notify_Admin::is_default (void) const -{ - return this->is_default_; -} - -ACE_INLINE TAO_Notify_Admin::TAO_Notify_Proxy_Container& -TAO_Notify_Admin::proxy_container() -{ - ACE_ASSERT( proxy_container_.get() != 0 ); - return *proxy_container_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.cpp b/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.cpp deleted file mode 100644 index 37798f3088f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.cpp +++ /dev/null @@ -1,94 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/AdminProperties.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/AdminProperties.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, - TAO_Notify_AdminProperties, - "$Id$") - -#include "orbsvcs/CosNotificationC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_AdminProperties::TAO_Notify_AdminProperties (void) - : max_global_queue_length_ (CosNotification::MaxQueueLength, 0) - , max_consumers_ (CosNotification::MaxConsumers, 0) - , max_suppliers_ (CosNotification::MaxSuppliers, 0) - , reject_new_events_ (CosNotification::RejectNewEvents, 0) - , global_queue_length_ (0) - , global_queue_not_full_ (global_queue_lock_) -{ -} - -TAO_Notify_AdminProperties::~TAO_Notify_AdminProperties () -{ -} - -int -TAO_Notify_AdminProperties::init (const CosNotification::PropertySeq& prop_seq) -{ - if (TAO_Notify_PropertySeq::init (prop_seq) != 0) - return -1; - - this->max_global_queue_length_.set (*this); - this->max_consumers_.set (*this); - this->max_suppliers_.set (*this); - this->reject_new_events_.set (*this); - - //@@ check if unsupported property was set. - // This will happen when number of successfull inits != numbers of items bound in map_. - - return 0; -} - -void -TAO_Notify_AdminProperties::init () -{ - // This method should only be called once, (during topo load) - ACE_ASSERT(this->size() == 0); - - if (this->max_global_queue_length_.is_valid()) - { - CORBA::Any a; - a <<= this->max_global_queue_length_.value(); - this->add(this->max_global_queue_length_.name(), a); - } - if (this->max_consumers_.is_valid()) - { - CORBA::Any a; - a <<= this->max_consumers_.value(); - this->add(this->max_consumers_.name(), a); - } - if (this->max_suppliers_.is_valid()) - { - CORBA::Any a; - a <<= this->max_suppliers_.value(); - this->add(this->max_suppliers_.name(), a); - } - if (this->reject_new_events_.is_valid()) - { - CORBA::Any a; - a <<= CORBA::Any::from_boolean(this->reject_new_events_.value()); - this->add(this->reject_new_events_.name(), a); - } -} - -CORBA::Boolean -TAO_Notify_AdminProperties::queue_full (void) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->global_queue_lock_, 1); - - if (this->max_global_queue_length () == 0) - return 0; - else - if (this->global_queue_length_ >= this->max_global_queue_length ().value ()) - return 1; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.h b/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.h deleted file mode 100644 index 163e22dc13c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file AdminProperties.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_ADMINPROPERTIES_H -#define TAO_Notify_ADMINPROPERTIES_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/PropertySeq.h" -#include "orbsvcs/Notify/Property_T.h" -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Property_Boolean.h" - -#include "tao/orbconf.h" - -#include "ace/Atomic_Op.h" -#include "ace/Bound_Ptr.h" -#include "ace/Condition_Thread_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_AdminProperties - * - * @brief The AdminProperties per EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_AdminProperties - : public TAO_Notify_PropertySeq -{ -public: - typedef ACE_Strong_Bound_Ptr Ptr; - /// Constuctor - TAO_Notify_AdminProperties (void); - - /// Destructor - virtual ~TAO_Notify_AdminProperties (); - - // Init - int init (const CosNotification::PropertySeq& prop_seq); - - // finish initialization after values are set by topology load - void init (); - - // = Const Accessors - const TAO_Notify_Property_Long& max_global_queue_length (void) const; - const TAO_Notify_Property_Long& max_consumers (void) const; - const TAO_Notify_Property_Long& max_suppliers (void) const; - const TAO_Notify_Property_Boolean& reject_new_events (void) const; - - // = Non-const accessors - TAO_Notify_Property_Long & max_global_queue_length (void); - TAO_Notify_Property_Long & max_consumers (void); - TAO_Notify_Property_Long & max_suppliers (void); - TAO_Notify_Property_Boolean & reject_new_events (void); - - CORBA::Long& global_queue_length (void); - TAO_SYNCH_MUTEX& global_queue_lock (void); - TAO_SYNCH_CONDITION& global_queue_not_full (void); - - TAO_Notify_Atomic_Property_Long& consumers (void); - TAO_Notify_Atomic_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. - */ - TAO_Notify_Property_Long max_global_queue_length_; - - /// The maximum number of consumers that can be connected to the channel at - /// any given time. - TAO_Notify_Property_Long max_consumers_; - - /// The maximum number of suppliers that can be connected to the channel at - /// any given time. - TAO_Notify_Property_Long max_suppliers_; - - /// Reject any new event. - TAO_Notify_Property_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. - CORBA::Long global_queue_length_; - - /// Global queue lock used to serialize access to all queues. - TAO_SYNCH_MUTEX global_queue_lock_; - - /// The condition that the queue_length_ is not at max. - TAO_SYNCH_CONDITION global_queue_not_full_; - - /// These are used to count the number of consumers and suppliers connected to - /// the system. - TAO_Notify_Atomic_Property_Long consumers_; - TAO_Notify_Atomic_Property_Long suppliers_; -}; - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/AdminProperties.inl" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_ADMINPROPERTIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.inl b/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.inl deleted file mode 100644 index bc93ae89184..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/AdminProperties.inl +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const TAO_Notify_Property_Long& -TAO_Notify_AdminProperties::max_global_queue_length (void) const -{ - return this->max_global_queue_length_; -} - -ACE_INLINE TAO_Notify_Property_Long& -TAO_Notify_AdminProperties::max_global_queue_length (void) -{ - return this->max_global_queue_length_; -} - -ACE_INLINE const TAO_Notify_Property_Long& -TAO_Notify_AdminProperties::max_consumers (void) const -{ - return this->max_consumers_; -} - -ACE_INLINE TAO_Notify_Property_Long& -TAO_Notify_AdminProperties::max_consumers (void) -{ - return this->max_consumers_; -} - -ACE_INLINE const TAO_Notify_Property_Long& -TAO_Notify_AdminProperties::max_suppliers (void) const -{ - return this->max_suppliers_; -} - -ACE_INLINE TAO_Notify_Property_Long& -TAO_Notify_AdminProperties::max_suppliers (void) -{ - return this->max_suppliers_; -} - -ACE_INLINE const TAO_Notify_Property_Boolean& -TAO_Notify_AdminProperties::reject_new_events (void) const -{ - return this->reject_new_events_; -} - -ACE_INLINE TAO_Notify_Property_Boolean& -TAO_Notify_AdminProperties::reject_new_events (void) -{ - return this->reject_new_events_; -} - -ACE_INLINE CORBA::Long& -TAO_Notify_AdminProperties::global_queue_length (void) -{ - return this->global_queue_length_; -} - -ACE_INLINE TAO_SYNCH_MUTEX& -TAO_Notify_AdminProperties::global_queue_lock (void) -{ - return this->global_queue_lock_; -} - -ACE_INLINE TAO_SYNCH_CONDITION& -TAO_Notify_AdminProperties::global_queue_not_full(void) -{ - return this->global_queue_not_full_; -} - -ACE_INLINE TAO_Notify_Atomic_Property_Long& -TAO_Notify_AdminProperties::consumers (void) -{ - return this->consumers_; -} - -ACE_INLINE TAO_Notify_Atomic_Property_Long& -TAO_Notify_AdminProperties::suppliers (void) -{ - return this->suppliers_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/AllocTracker.h b/TAO/orbsvcs/orbsvcs/Notify/AllocTracker.h deleted file mode 100644 index e7b1b61ea8a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/AllocTracker.h +++ /dev/null @@ -1,81 +0,0 @@ -// $Id$ -#ifndef ALLOC_TRACKER_H -#define ALLOC_TRACKER_H -#include /**/"ace/pre.h" - -#include "orbsvcs/Notify/notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -//#define DEBUG_MEMORY_USE -#if defined(_MSC_VER) && defined (_DEBUG) && defined (DEBUG_MEMORY_USE) -namespace CRT{ - -/// \brief dump heap allocation stats -/// -/// This works only on microsoft/windows compilers -/// but it's handy to diagnose memory allocation problems. -/// To use, add the following macro in the scope where you -/// want to check memory usage. -/// ACE_WIN32_HEAP_MONITOR(name); -/// where name is a quoted string to label the stats. -/// When the object created by this macro goes out of scope -/// it will write a log message like: -/// (10056|6396) name: New heap blocks: 39; bytes: 19550 -/// -/// For non-debug, or non-vc builds, the macro expands to nothing -class CrtHeapDumper -{ -public: - CrtHeapDumper(const char * name, bool verbose = false) - : name_ (name) - , verbose_ (verbose) - { - _CrtMemCheckpoint (&before_); - } - - ~CrtHeapDumper() - { - dump(); - } - void dump() - { - _CrtMemState after; - _CrtMemCheckpoint (&after); - _CrtMemState diff; - _CrtMemDifference (&diff, &before_, &after); - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) %s: New heap blocks: %d; bytes: %d\n"), - name_.c_str (), - static_cast (diff.lCounts[_NORMAL_BLOCK]), - static_cast (diff.lSizes[_NORMAL_BLOCK]) - )); - if (this->verbose_) - { - _CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE ); - _CrtSetReportFile( _CRT_WARN, _CRTDBG_FILE_STDOUT ); - _CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_FILE ); - _CrtSetReportFile( _CRT_ERROR, _CRTDBG_FILE_STDOUT ); - _CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE ); - _CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDOUT ); - _CrtMemDumpAllObjectsSince (&this->before_); - } - } - -private: - ACE_CString name_; - bool verbose_; - _CrtMemState before_; -}; -} //namespace -#define ACE_WIN32_HEAP_MONITOR(name) \ - CRT::CrtHeapDumper heap_check___(name); \ - ACE_UNUSED_ARG (heap_check___) -#else // _MSC_VER etc - #define ACE_WIN32_HEAP_MONITOR(name) -#endif // _MSC_VER etc -#include /**/"ace/post.h" -#endif // ALLOC_TRACKER_H diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp deleted file mode 100644 index 2c47a4225ef..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/AnyEvent.h" - -ACE_RCSID (Notify, TAO_Notify_AnyEvent, "$Id$") - -#include "orbsvcs/Notify/Consumer.h" - -#include "tao/corba.h" -#include "tao/debug.h" - -//#define DEBUG_LEVEL 10 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_EventType TAO_Notify_AnyEvent_No_Copy::event_type_; - -TAO_Notify_AnyEvent_No_Copy::TAO_Notify_AnyEvent_No_Copy (const CORBA::Any &event) - : event_ (&event) -{ -} - -TAO_Notify_AnyEvent_No_Copy::~TAO_Notify_AnyEvent_No_Copy () -{ -} - -const TAO_Notify_EventType& -TAO_Notify_AnyEvent_No_Copy::type (void) const -{ - return this->event_type_; -} - -void -TAO_Notify_AnyEvent_No_Copy::convert (CosNotification::StructuredEvent& notification) const -{ - TAO_Notify_Event::translate (*this->event_, notification); -} - -CORBA::Boolean -TAO_Notify_AnyEvent_No_Copy::do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) const -{ - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - " - "TAO_Notify_AnyEvent::do_match ()\n")); - - return filter->match(*this->event_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_AnyEvent_No_Copy::push (TAO_Notify_Consumer* consumer ACE_ENV_ARG_DECL) const -{ - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - " - "TAO_Notify_AnyEvent::push \n")); - - consumer->push (*this->event_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_AnyEvent_No_Copy::push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - CosNotification::StructuredEvent notification; - - TAO_Notify_Event::translate (*this->event_, notification); - - forwarder->forward_structured (notification ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_AnyEvent_No_Copy::push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - CosNotification::StructuredEvent notification; - - TAO_Notify_Event::translate (*this->event_, notification); - - forwarder->forward_structured_no_filtering (notification ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_AnyEvent_No_Copy::push (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - forwarder->forward_any (*this->event_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_AnyEvent_No_Copy::push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - forwarder->forward_any_no_filtering (*this->event_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_AnyEvent_No_Copy::marshal (TAO_OutputCDR & cdr) const -{ - const ACE_CDR::Octet ANY_CODE = MARSHAL_ANY; - cdr.write_octet (ANY_CODE); - cdr << (*this->event_); -} - -//static -TAO_Notify_AnyEvent * -TAO_Notify_AnyEvent_No_Copy::unmarshal (TAO_InputCDR & cdr) -{ - TAO_Notify_AnyEvent * event = 0; - CORBA::Any body; - if (cdr >> body) - { - event = new TAO_Notify_AnyEvent (body); - } - return event; -} - -TAO_Notify_Event * -TAO_Notify_AnyEvent_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL) const -{ - TAO_Notify_Event * new_event; - ACE_NEW_THROW_EX (new_event, - TAO_Notify_AnyEvent (*this->event_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - return new_event; -} - - -/*****************************************************************************/ - -TAO_Notify_AnyEvent::TAO_Notify_AnyEvent (const CORBA::Any &event) - : TAO_Notify_AnyEvent_No_Copy (event) - , any_copy_ (event) -{ - this->event_ = &any_copy_; -} - -TAO_Notify_AnyEvent::~TAO_Notify_AnyEvent () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.h b/TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.h deleted file mode 100644 index 49c5604065f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/AnyEvent.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file AnyEvent.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_ANYEVENT_H -#define TAO_Notify_ANYEVENT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/EventType.h" - -#include "orbsvcs/CosNotificationC.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Consumer; -class TAO_Notify_AnyEvent; -/** - * @class TAO_Notify_AnyEvent - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_AnyEvent_No_Copy : public TAO_Notify_Event -{ - friend class TAO_Notify_Builder; -public: - /// Constuctor - TAO_Notify_AnyEvent_No_Copy (const CORBA::Any &event); - - /// Destructor - virtual ~TAO_Notify_AnyEvent_No_Copy (); - - /// Get the event type. - virtual const TAO_Notify_EventType& type (void) const; - - CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) const; - - /// Convert to CosNotification::Structured type - virtual void convert (CosNotification::StructuredEvent& notification) const; - - /// Push event to consumer - virtual void push (TAO_Notify_Consumer* consumer ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// marshal this event into a CDR buffer (for persistence) - virtual void marshal (TAO_OutputCDR & cdr) const; - - /// unmarshal this event from a CDR buffer (for persistence) - /// \param code a code indicating what type of event to create. - /// \param cdr a CDR stream containing the marshalled data for the event. - /// \return the new event, or NULL if this is the wrong type of event. - static TAO_Notify_AnyEvent * unmarshal (TAO_InputCDR & cdr); - -protected: - /// returns a copy of this event allocated from the heap - virtual TAO_Notify_Event * copy (ACE_ENV_SINGLE_ARG_DECL) const; - -protected: - - // This must be a pointer rather than a reference, because the derived - // class needs to redirect it to a new copy - const CORBA::Any* event_; - - /// Our event type. - static TAO_Notify_EventType event_type_; -}; - -/****************************************************************************/ - -/** - * @class TAO_Notify_AnyEvent - * - * @brief AnyEvent implementation. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_AnyEvent : public TAO_Notify_AnyEvent_No_Copy -{ -public: - /// Constuctor - TAO_Notify_AnyEvent (const CORBA::Any &event); - - /// Destructor - virtual ~TAO_Notify_AnyEvent (); - -protected: - /// Copy of the Event. - CORBA::Any any_copy_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_ANYEVENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp deleted file mode 100644 index bcaef713001..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp +++ /dev/null @@ -1,90 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h" - -ACE_RCSID (Notify, TAO_Notify_CosEC_ProxyPushConsumer, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Method_Request_Lookup.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Any/AnyEvent.h" -#include "orbsvcs/Notify/Any/PushSupplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_CosEC_ProxyPushConsumer::TAO_Notify_CosEC_ProxyPushConsumer (void) -{ -} - -TAO_Notify_CosEC_ProxyPushConsumer::~TAO_Notify_CosEC_ProxyPushConsumer () -{ -} - -void -TAO_Notify_CosEC_ProxyPushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_CosEC_ProxyPushConsumer::push (const CORBA::Any& any ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventComm::Disconnected - )) -{ - // Check if we should proceed at all. - if (this->admin_properties().reject_new_events () == 1 - && this->admin_properties().queue_full ()) - ACE_THROW (CORBA::IMP_LIMIT ()); - - if (this->is_connected () == 0) - { - ACE_THROW (CosEventComm::Disconnected ()); - } - - TAO_Notify_AnyEvent_No_Copy event (any); - - TAO_Notify_Method_Request_Lookup_No_Copy request (&event, this); - - this->execute_task (request ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_CosEC_ProxyPushConsumer::connect_push_supplier (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )) -{ - // Convert Supplier to Base Type - TAO_Notify_PushSupplier *supplier; - ACE_NEW_THROW_EX (supplier, - TAO_Notify_PushSupplier (this), - CORBA::NO_MEMORY ()); - - supplier->init (push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_CosEC_ProxyPushConsumer::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_CosEC_ProxyPushConsumer::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -const char * -TAO_Notify_CosEC_ProxyPushConsumer::get_proxy_type_name (void) const -{ - return "ec_proxy_push_consumer"; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h deleted file mode 100644 index 4690fc1fcdd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file CosEC_ProxyPushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_COSEC_PROXYPUSHCONSUMER_H -#define TAO_Notify_COSEC_PROXYPUSHCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEventChannelAdminS.h" - -#include "orbsvcs/Notify/ProxyConsumer_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_CosEC_ProxyPushConsumer - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_CosEC_ProxyPushConsumer - : public virtual TAO_Notify_ProxyConsumer_T -{ - friend class TAO_Notify_Builder; -public: - /// Constuctor - TAO_Notify_CosEC_ProxyPushConsumer (void); - - /// Destructor - virtual ~TAO_Notify_CosEC_ProxyPushConsumer (); - - - virtual const char * get_proxy_type_name (void) const; - -protected: - ///= CosNotifyChannelAdmin::ProxyPushConsumer methods - - virtual void push (const CORBA::Any & data ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventComm::Disconnected - )); - - virtual void connect_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 - )); -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_COSEC_PROXYPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp deleted file mode 100644 index 694b6c378b5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h" - -ACE_RCSID (Notify, TAO_Notify_CosEC_ProxyPushSupplier, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/Any/PushConsumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_CosEC_ProxyPushSupplier::TAO_Notify_CosEC_ProxyPushSupplier (void) -{ -} - -TAO_Notify_CosEC_ProxyPushSupplier::~TAO_Notify_CosEC_ProxyPushSupplier () -{ -} - -void -TAO_Notify_CosEC_ProxyPushSupplier::release (void) -{ - - delete this; - //@@ inform factory -} - -void -TAO_Notify_CosEC_ProxyPushSupplier::connect_push_consumer (CosEventComm::PushConsumer_ptr push_consumer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError - )) -{ - // Convert Consumer to Base Type - TAO_Notify_PushConsumer* consumer; - ACE_NEW_THROW_EX (consumer, - TAO_Notify_PushConsumer (this), - CORBA::NO_MEMORY ()); - - consumer->init (push_consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_CosEC_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_CosEC_ProxyPushSupplier::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -const char * -TAO_Notify_CosEC_ProxyPushSupplier::get_proxy_type_name (void) const -{ - return "ec_proxy_push_supplier"; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h deleted file mode 100644 index 0858c51475e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file CosEC_ProxyPushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_COSEC_PROXYPUSHSUPPLIER_H -#define TAO_Notify_COSEC_PROXYPUSHSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEventChannelAdminS.h" - -#include "orbsvcs/Notify/ProxySupplier_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -template class TAO_Notify_Serv_Export -TAO_Notify_ProxySupplier_T; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ - -/** - * @class TAO_Notify_CosEC_ProxyPushSupplier - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_CosEC_ProxyPushSupplier - : public virtual TAO_Notify_ProxySupplier_T -{ - friend class TAO_Notify_Builder; -public: - /// Constuctor - TAO_Notify_CosEC_ProxyPushSupplier (void); - - /// Destructor - virtual ~TAO_Notify_CosEC_ProxyPushSupplier (); - - virtual const char * get_proxy_type_name (void) const; - - // = Interface methods - virtual void connect_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 - )); - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_COSEC_PROXYPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp deleted file mode 100644 index 2ae0cda9608..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp +++ /dev/null @@ -1,134 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/ProxyPushConsumer.h" - -ACE_RCSID (Notify, TAO_Notify_ProxyPushConsumer, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Any/AnyEvent.h" -#include "orbsvcs/Notify/Any/PushSupplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ProxyPushConsumer::TAO_Notify_ProxyPushConsumer (void) -{ -} - -TAO_Notify_ProxyPushConsumer::~TAO_Notify_ProxyPushConsumer () -{ -} - -void -TAO_Notify_ProxyPushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -CosNotifyChannelAdmin::ProxyType -TAO_Notify_ProxyPushConsumer::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::PUSH_ANY; -} - -void -TAO_Notify_ProxyPushConsumer::push (const CORBA::Any& any ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventComm::Disconnected - )) -{ - // Check if we should proceed at all. - if (this->admin_properties().reject_new_events () == 1 - && this->admin_properties().queue_full ()) - ACE_THROW (CORBA::IMP_LIMIT ()); - - if (this->is_connected () == 0) - { - ACE_THROW (CosEventComm::Disconnected ()); - } - - TAO_Notify_AnyEvent_No_Copy event (any); - this->push_i (&event ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_ProxyPushConsumer::connect_any_push_supplier (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )) -{ - // Convert Supplier to Base Type - TAO_Notify_PushSupplier *supplier; - ACE_NEW_THROW_EX (supplier, - TAO_Notify_PushSupplier (this), - CORBA::NO_MEMORY ()); - - supplier->init (push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void TAO_Notify_ProxyPushConsumer::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_ProxyPushConsumer::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -const char * -TAO_Notify_ProxyPushConsumer::get_proxy_type_name (void) const -{ - return "proxy_push_consumer"; -} - -void -TAO_Notify_ProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs) -{ - SuperClass::load_attrs(attrs); - ACE_CString ior; - if (attrs.load("PeerIOR", ior)) - { - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - ACE_TRY_CHECK; - CosNotifyComm::PushSupplier_var ps = CosNotifyComm::PushSupplier::_nil(); - if ( ior.length() > 0 ) - { - CORBA::Object_var obj = - orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - ps = CosNotifyComm::PushSupplier::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - // minor hack: suppress generating subscription updates during reload. - bool save_updates = this->updates_off_; - this->updates_off_ = true; - this->connect_any_push_supplier(ps.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->updates_off_ = save_updates; - } - ACE_CATCHALL - { - ACE_ASSERT(0); - } - ACE_ENDTRY; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h deleted file mode 100644 index 5d7bb8b4b8e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ProxyPushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_PROXYPUSHCONSUMER_H -#define TAO_Notify_PROXYPUSHCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/Notify/ProxyConsumer_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_ProxyPushConsumer - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ProxyPushConsumer - : public virtual TAO_Notify_ProxyConsumer_T < - POA_CosNotifyChannelAdmin::ProxyPushConsumer - > -{ - typedef TAO_Notify_ProxyConsumer_T SuperClass; - friend class TAO_Notify_Builder; -public: - /// Constuctor - TAO_Notify_ProxyPushConsumer (void); - - /// Destructor - virtual ~TAO_Notify_ProxyPushConsumer (); - - -// virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual const char * get_proxy_type_name (void) const; - - virtual void load_attrs (const TAO_Notify::NVPList& attrs); - -protected: - ///= CosNotifyChannelAdmin::ProxyPushConsumer methods - - virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual 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 - )); - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROXYPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp deleted file mode 100644 index d478b3253cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp +++ /dev/null @@ -1,110 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/ProxyPushSupplier.h" - -ACE_RCSID (Notify, TAO_Notify_ProxyPushSupplier, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/Any/PushConsumer.h" -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ProxyPushSupplier::TAO_Notify_ProxyPushSupplier (void) -{ -} - -TAO_Notify_ProxyPushSupplier::~TAO_Notify_ProxyPushSupplier () -{ -} - -void -TAO_Notify_ProxyPushSupplier::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_ProxyPushSupplier::connect_any_push_consumer (CosEventComm::PushConsumer_ptr push_consumer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError - )) -{ - // Convert Consumer to Base Type - TAO_Notify_PushConsumer* consumer; - ACE_NEW_THROW_EX (consumer, - TAO_Notify_PushConsumer (this), - CORBA::NO_MEMORY ()); - - consumer->init (push_consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_ProxyPushSupplier::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxyType -TAO_Notify_ProxyPushSupplier::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::PUSH_ANY; -} - -const char * -TAO_Notify_ProxyPushSupplier::get_proxy_type_name (void) const -{ - return "proxy_push_supplier"; -} - -void -TAO_Notify_ProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& attrs) -{ - SuperClass::load_attrs(attrs); - ACE_CString ior; - if (attrs.load("PeerIOR", ior)) - { - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CosNotifyComm::PushConsumer_var pc = - CosNotifyComm::PushConsumer::_nil(); - if (ior.length() > 0) - { - CORBA::Object_var obj = - orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - pc = CosNotifyComm::PushConsumer::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - this->connect_any_push_consumer(pc.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // if we can't reconnect, tough... - } - ACE_ENDTRY; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h deleted file mode 100644 index e9450202c1c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ProxyPushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_PROXYPUSHSUPPLIER_H -#define TAO_Notify_PROXYPUSHSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/Event_ForwarderS.h" - -#include "orbsvcs/Notify/ProxySupplier_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -template class TAO_Notify_Serv_Export -TAO_Notify_ProxySupplier_T; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ - -/** - * @class TAO_Notify_ProxyPushSupplier - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ProxyPushSupplier - : public virtual TAO_Notify_ProxySupplier_T -{ - typedef TAO_Notify_ProxySupplier_T SuperClass; - friend class TAO_Notify_Builder; -public: - /// Constuctor - TAO_Notify_ProxyPushSupplier (void); - - /// Destructor - virtual ~TAO_Notify_ProxyPushSupplier (); - - virtual const char * get_proxy_type_name (void) const; - - virtual void load_attrs (const TAO_Notify::NVPList& attrs); - - // = Interface methods - virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - 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 - )); - -private: - /// TAO_Notify_Destroy_Callback methods - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_PROXYPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp deleted file mode 100644 index 8048c1dcaa5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp +++ /dev/null @@ -1,118 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/PushConsumer.h" - -ACE_RCSID (Notify, - TAO_Notify_PushConsumer, - "$Id$") - -#include "ace/Bound_Ptr.h" -#include "orbsvcs/CosEventCommC.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_PushConsumer::TAO_Notify_PushConsumer (TAO_Notify_ProxySupplier* proxy) - :TAO_Notify_Consumer (proxy) -{ -} - -TAO_Notify_PushConsumer::~TAO_Notify_PushConsumer () -{ -} - -void -TAO_Notify_PushConsumer::init (CosEventComm::PushConsumer_ptr push_consumer - ACE_ENV_ARG_DECL) -{ - // Initialize only once - ACE_ASSERT( CORBA::is_nil (this->push_consumer_.in()) ); - - // push_consumer not optional - if (CORBA::is_nil (push_consumer)) - { - ACE_THROW (CORBA::BAD_PARAM()); - } - - this->push_consumer_ = CosEventComm::PushConsumer::_duplicate (push_consumer); - - ACE_TRY - { - this->publish_ = - CosNotifyComm::NotifyPublish::_narrow (push_consumer - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // _narrow failed which probably means the interface is CosEventComm type. - } - ACE_ENDTRY; -} - -void -TAO_Notify_PushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_PushConsumer::push (const CORBA::Any& payload ACE_ENV_ARG_DECL) -{ - this->push_consumer_->push (payload ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_PushConsumer::push (const CosNotification::StructuredEvent& event ACE_ENV_ARG_DECL) -{ - CORBA::Any any; - - TAO_Notify_Event::translate (event, any); - - this->push_consumer_->push (any ACE_ENV_ARG_PARAMETER); -} - -/// Push a batch of events to this consumer. -void -TAO_Notify_PushConsumer::push (const CosNotification::EventBatch& event ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_ASSERT(false); - ACE_UNUSED_ARG (event); - // TODO exception? -} - -ACE_CString -TAO_Notify_PushConsumer::get_ior (void) const -{ - ACE_CString result; - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::String_var ior = orb->object_to_string(this->push_consumer_.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = static_cast (ior.in ()); - } - ACE_CATCHANY - { - result.fast_clear(); - } - ACE_ENDTRY; - return result; -} - -void -TAO_Notify_PushConsumer::reconnect_from_consumer (TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL) -{ - TAO_Notify_PushConsumer* tmp = - dynamic_cast (old_consumer); - ACE_ASSERT(tmp != 0); - this->init(tmp->push_consumer_.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->schedule_timer(false); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.h deleted file mode 100644 index b6d8a5827e2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/PushConsumer.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file PushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_PUSHCONSUMER_H -#define TAO_Notify_PUSHCONSUMER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyCommC.h" -#include "orbsvcs/Notify/Consumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_PushConsumer - * - * @brief Wrapper for the PushConsumer that connect to the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_PushConsumer : public TAO_Notify_Consumer -{ -public: - /// Constuctor - TAO_Notify_PushConsumer (TAO_Notify_ProxySupplier* proxy); - - /// Destructor - virtual ~TAO_Notify_PushConsumer (); - - /// Init - void init (CosEventComm::PushConsumer_ptr push_consumer ACE_ENV_ARG_DECL); - - /// Push to this consumer. -// virtual void push_i (const TAO_Notify_Event* event ACE_ENV_ARG_DECL); - - /// Push to this consumer. - virtual void push (const CORBA::Any& event ACE_ENV_ARG_DECL); - - /// Push to this consumer. - virtual void push (const CosNotification::StructuredEvent& event ACE_ENV_ARG_DECL); - - /// Push a batch of events to this consumer. - virtual void push (const CosNotification::EventBatch& event ACE_ENV_ARG_DECL); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const; - - /// on reconnect we need to move events from the old consumer - /// to the new one - virtual void reconnect_from_consumer ( - TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL); - -protected: - /// The Consumer - CosEventComm::PushConsumer_var push_consumer_; - -private: - /// TAO_Notify_Destroy_Callback methods. - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp deleted file mode 100644 index e60246795e2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Any/PushSupplier.h" - -ACE_RCSID (Notify, TAO_Notify_PushSupplier, "$Id$") -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_PushSupplier::TAO_Notify_PushSupplier (TAO_Notify_ProxyConsumer* proxy) - :TAO_Notify_Supplier (proxy) -{ -} - -TAO_Notify_PushSupplier::~TAO_Notify_PushSupplier () -{ -} - -void -TAO_Notify_PushSupplier::init (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL) -{ - // TODO: verify single init call - // push_supplier is optional - this->push_supplier_ = CosEventComm::PushSupplier::_duplicate (push_supplier); - - ACE_TRY - { - this->subscribe_ = CosNotifyComm::NotifySubscribe::_narrow (push_supplier ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // _narrow failed which probably means the interface is CosEventComm type. - } - ACE_ENDTRY; -} - -void -TAO_Notify_PushSupplier::release (void) -{ - delete this; - //@@ inform factory -} - -ACE_CString -TAO_Notify_PushSupplier::get_ior (void) const -{ - ACE_CString result; - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::String_var ior = orb->object_to_string(this->push_supplier_.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = static_cast (ior.in ()); - } - ACE_CATCHANY - { - result.fast_clear(); - } - ACE_ENDTRY; - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.h deleted file mode 100644 index 47b7c94d0a7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file PushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_PUSHSUPPLIER_H -#define TAO_Notify_PUSHSUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "orbsvcs/CosNotifyCommC.h" -#include "orbsvcs/Notify/Supplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxyConsumer; - -/** - * @class TAO_Notify_StructuredPushSupplier - * - * @brief Wrapper for the PushSupplier that connect to the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_PushSupplier : public TAO_Notify_Supplier -{ -public: - /// Constuctor - TAO_Notify_PushSupplier (TAO_Notify_ProxyConsumer* proxy); - - /// Destructor - virtual ~TAO_Notify_PushSupplier (); - - /// Init - void init (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const; - -protected: - /// The Supplier - CosEventComm::PushSupplier_var push_supplier_; - -private: - /// TAO_Notify_Destroy_Callback methods - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp b/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp deleted file mode 100644 index fd77791b525..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp +++ /dev/null @@ -1,114 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Bit_Vector.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -Bit_Vector::Bit_Vector() - : size_(0) - , first_set_bit_(0) - , first_cleared_bit_(0) -{ -} - -Bit_Vector::~Bit_Vector() -{ -} - -bool -Bit_Vector::is_set(const size_t location) const -{ - bool result = false; - if (location < this->size_) - { - result = (0 != (this->bitvec_[location >> BPW_LOG_2] & (1 << (location % BITS_PER_WORD)))); - } - return result; -} - -void -Bit_Vector::set_bit(const size_t location, bool set) -{ - if (location >= this->size_) - { - if ((location >> BPW_LOG_2) >= (this->size_ >> BPW_LOG_2)) - { - size_t need = (location >> BPW_LOG_2) - (this->size_ >> BPW_LOG_2); - this->bitvec_.resize(this->bitvec_.size() + need + 1, 0); - } - this->size_ = location + 1; - } - if (set) - { - this->bitvec_[location >> BPW_LOG_2] |= (1 << (location % BITS_PER_WORD)); - } - else - { - this->bitvec_[location >> BPW_LOG_2] &= ~(1 << (location % BITS_PER_WORD)); - } - this->evaluate_firsts(location, set); -} - -size_t -Bit_Vector::find_first_bit(bool set) const -{ - size_t result = 0; - if (set) - { - result = this->first_set_bit_; - } - else - { - result = this->first_cleared_bit_; - } - return result; -} - -void -Bit_Vector::evaluate_firsts(const size_t location, bool set) -{ - if (set) - { - if (this->first_cleared_bit_ == location) - { - this->first_cleared_bit_ = this->find_first_bit_of(location, false); - } - if (this->first_set_bit_ > location) - { - this->first_set_bit_ = location; - } - } - else if (!set) - { - if (this->first_set_bit_ == location) - { - this->first_set_bit_ = this->find_first_bit_of(location, true); - } - if (this->first_cleared_bit_ > location) - { - this->first_cleared_bit_ = location; - } - } -} - -size_t -Bit_Vector::find_first_bit_of(const size_t location, bool set) -{ - size_t newloc = 0; - size_t idx = 0; - for (idx = location; (newloc == 0) && (idx < this->size_ + 1); idx++) - { - if (is_set(idx) == set) - { - newloc = idx; - } - } - return newloc; -} - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h b/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h deleted file mode 100644 index 46f668814bf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Bit_Vector.h - * - * $Id$ - * - * This is a basic bit vector class. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef BIT_VECTOR_H -#define BIT_VECTOR_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -#include "ace/Vector_T.h" -#include "ace/Basic_Types.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -/// \brief Simple bit vector. -/// -/// Written to support block allocation from persistent storage. -/// Should be promoted to the ACE level to make it generally usable. -class TAO_Notify_Serv_Export Bit_Vector -{ - typedef ACE_UINT32 BASIC_UINT_TYPE; - typedef ACE_Vector VECTOR_TYPE; - enum { - BITS_PER_WORD = 32, - BPW_LOG_2 = 5 - }; -public: - - /// The constructor. - Bit_Vector(); - /// The destructor. - ~Bit_Vector(); - - /// \brief Determine if a bit at location is set. - bool is_set(const size_t location) const; - /// \brief Set or unset a bit at location, growing the vector as needed. - void set_bit(const size_t location, bool set); - - /// \brief Find the first bit that is either set or unset in an O(1). - size_t find_first_bit(bool set) const; - -private: - /// Update our first set and unset bits. - void evaluate_firsts(const size_t location, bool set); - /// Iterate from location to the end, finding the first bit that - /// matches the requested set or unset value. - size_t find_first_bit_of(const size_t location, bool set); - -private: - VECTOR_TYPE bitvec_; - size_t size_; - size_t first_set_bit_; - size_t first_cleared_bit_; -}; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* BIT_VECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp b/TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp deleted file mode 100644 index 08b6a810187..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp +++ /dev/null @@ -1,266 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Buffering_Strategy.h" - -ACE_RCSID (Notify, Buffering_Strategy, "$Id$") - - -#include "orbsvcs/Notify/Method_Request.h" -#include "orbsvcs/Notify/Notify_Extensions.h" -#include "orbsvcs/Notify/QoSProperties.h" -#include "orbsvcs/Notify/Notify_Extensions.h" - -#include "orbsvcs/CosNotificationC.h" -#include "orbsvcs/Time_Utilities.h" - -#include "tao/debug.h" - -#include "ace/Message_Queue.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Buffering_Strategy::TAO_Notify_Buffering_Strategy ( - TAO_Notify_Message_Queue& msg_queue, - const TAO_Notify_AdminProperties::Ptr& admin_properties) -: msg_queue_ (msg_queue) -, admin_properties_ (admin_properties) -, global_queue_lock_ (admin_properties->global_queue_lock ()) -, global_queue_length_ (admin_properties->global_queue_length ()) -, max_queue_length_ (admin_properties->max_global_queue_length ()) -, order_policy_ (CosNotification::OrderPolicy, CosNotification::AnyOrder) -, discard_policy_ (CosNotification::DiscardPolicy, CosNotification::AnyOrder) -, max_events_per_consumer_ (CosNotification::MaxEventsPerConsumer) -, blocking_policy_ (TAO_Notify_Extensions::BlockingPolicy) -, global_not_full_ (admin_properties->global_queue_not_full()) -, local_not_full_ (global_queue_lock_) -, local_not_empty_ (global_queue_lock_) -, shutdown_ (false) -{ -} - -TAO_Notify_Buffering_Strategy::~TAO_Notify_Buffering_Strategy () -{ -} - -void -TAO_Notify_Buffering_Strategy::update_qos_properties - (const TAO_Notify_QoSProperties& qos_properties) -{ - this->order_policy_.set (qos_properties); - this->discard_policy_.set (qos_properties); - this->max_events_per_consumer_.set(qos_properties); - this->blocking_policy_.set (qos_properties); -} - -void -TAO_Notify_Buffering_Strategy::shutdown (void) -{ - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->global_queue_lock_); - - if (this->shutdown_) - { - return; - } - - this->shutdown_ = true; - - this->local_not_empty_.broadcast (); - this->global_not_full_.broadcast(); - this->local_not_full_.broadcast(); -} - -int -TAO_Notify_Buffering_Strategy::enqueue (TAO_Notify_Method_Request_Queueable* method_request) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->global_queue_lock_, -1); - - if (this->shutdown_) - return -1; - - bool discarded_existing = false; - - bool local_overflow = this->max_events_per_consumer_.is_valid() && - static_cast (this->msg_queue_.message_count ()) >= this->max_events_per_consumer_.value(); - - bool global_overflow = this->max_queue_length_.value () != 0 && - this->global_queue_length_ >= this->max_queue_length_.value (); - - while (local_overflow || global_overflow) - { - if (blocking_policy_.is_valid()) - { - ACE_Time_Value timeout; - ORBSVCS_Time::TimeT_to_Time_Value(timeout, blocking_policy_.value()); - // Condition variables take an absolute time - timeout += ACE_OS::gettimeofday(); - if (local_overflow) - { - local_not_full_.wait(&timeout); - } - else - { - global_not_full_.wait(&timeout); - } - if (errno != ETIME) - { - local_overflow = - this->max_events_per_consumer_.is_valid() && - static_cast (this->msg_queue_.message_count ()) >= this->max_events_per_consumer_.value(); - global_overflow = - this->max_queue_length_.value () != 0 && - this->global_queue_length_ >= this->max_queue_length_.value (); - continue; - } - } - - discarded_existing = this->discard(method_request); - if (discarded_existing) - { - --this->global_queue_length_; - local_not_full_.signal(); - global_not_full_.signal(); - } - break; - } - - if (! (local_overflow || global_overflow) || discarded_existing) - { - if (this->queue (method_request) == -1) - { - ACE_DEBUG((LM_DEBUG, - "Notify (%P|%t) - Panic! failed to enqueue event\n")); - return -1; - } - - ++this->global_queue_length_; - - local_not_empty_.signal (); - } - return this->msg_queue_.message_count (); -} - -int -TAO_Notify_Buffering_Strategy::dequeue (TAO_Notify_Method_Request_Queueable* &method_request, const ACE_Time_Value *abstime) -{ - ACE_Message_Block *mb; - - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->global_queue_lock_, -1); - - if ( this->shutdown_ ) - return -1; - - while (this->msg_queue_.message_count () == 0) - { - this->local_not_empty_.wait (abstime); - - if (this->shutdown_) - return -1; - - if (errno == ETIME) - return 0; - } - - if (this->msg_queue_.dequeue (mb) == -1) - return -1; - - method_request = dynamic_cast(mb); - - if (method_request == 0) - return -1; - - --this->global_queue_length_; - local_not_full_.signal(); - global_not_full_.signal(); - - return 1; -} - -int -TAO_Notify_Buffering_Strategy::queue (TAO_Notify_Method_Request_Queueable* method_request) -{ - if ( this->shutdown_ ) - return -1; - - CORBA::Short order = this->order_policy_.value(); - - if (! this->order_policy_.is_valid() || - order == CosNotification::AnyOrder || - order == CosNotification::FifoOrder) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - enqueue in fifo order\n")); - return this->msg_queue_.enqueue_tail (method_request); - } - - if (order == CosNotification::PriorityOrder) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - enqueue in priority order\n")); - return this->msg_queue_.enqueue_prio (method_request); - } - - if (order == CosNotification::DeadlineOrder) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - enqueue in deadline order\n")); - return this->msg_queue_.enqueue_deadline (method_request); - } - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - Invalid order policy\n")); - return this->msg_queue_.enqueue_tail (method_request); -} - -bool -TAO_Notify_Buffering_Strategy::discard (TAO_Notify_Method_Request_Queueable* method_request) -{ - if (this->shutdown_) - { - return false; - } - - ACE_Message_Block* mb = 0; - int result = -1; - - if (this->discard_policy_.is_valid() == 0 || - this->discard_policy_ == CosNotification::AnyOrder || - this->discard_policy_ == CosNotification::FifoOrder) - { - result = this->msg_queue_.dequeue_head (mb); - } - else if (this->discard_policy_ == CosNotification::LifoOrder) - { - // The most current message is NOT the newest one in the queue. It's - // the one we're about to add to the queue. - result = -1; - } - else if (this->discard_policy_ == CosNotification::DeadlineOrder) - { - result = this->msg_queue_.dequeue_deadline (mb); - } - else if (this->discard_policy_ == CosNotification::PriorityOrder) - { - result = this->msg_queue_.dequeue_prio (mb); - if (mb->msg_priority() >= method_request->msg_priority()) - { - this->msg_queue_.enqueue_prio (mb); - result = -1; - } - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - Invalid discard policy\n")); - result = this->msg_queue_.dequeue_head (mb); - } - - if (result != -1) - { - ACE_Message_Block::release (mb); - return true; - } - - return false; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.h b/TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.h deleted file mode 100644 index 7baa636a2d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Buffering_Strategy.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Buffering_Strategy.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_BUFFERING_STRATEGY_H -#define TAO_Notify_BUFFERING_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Null_Condition.h" -#include "ace/Message_Queue.h" - -#include "orbsvcs/TimeBaseC.h" - -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Property_T.h" -#include "orbsvcs/Notify/AdminProperties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Method_Request_Queueable; -class TAO_Notify_QoSProperties; - -typedef ACE_Message_Queue TAO_Notify_Message_Queue; - -/** - * @class TAO_Notify_Buffering_Strategy - * - * @brief Base Strategy to enqueue and dequeue items from a Message Queue. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Buffering_Strategy -{ -public: - TAO_Notify_Buffering_Strategy ( - TAO_Notify_Message_Queue& msg_queue, - const TAO_Notify_AdminProperties::Ptr& admin_properties); - - ~TAO_Notify_Buffering_Strategy (); - - /// Update state with the following QoS Properties: - /// Order Policy - /// Discard Policy - /// MaxEventsPerConsumer - void update_qos_properties (const TAO_Notify_QoSProperties& qos_properties); - - /// Enqueue according the enqueing strategy. - /// Return -1 on error else the number of items in the queue. - int enqueue (TAO_Notify_Method_Request_Queueable* method_request); - - /// Dequeue batch. This method will block for @a abstime if non-zero or else blocks till an item is available. - /// Return -1 on error or if nothing is available, else the number of items actually dequeued (1). - int dequeue (TAO_Notify_Method_Request_Queueable* &method_request, - const ACE_Time_Value *abstime); - - /// Shutdown - void shutdown (void); - -private: - - /// Apply the Order Policy and queue. return -1 on error. - int queue (TAO_Notify_Method_Request_Queueable* method_request); - - /// Discard as per the Discard Policy. - bool discard (TAO_Notify_Method_Request_Queueable* method_request); - - ///= Data Members - - /// The local Message Queue - TAO_Notify_Message_Queue& msg_queue_; - - /// Reference to the properties per event channel. - TAO_Notify_AdminProperties::Ptr admin_properties_; - - /// The shared global lock used by all the queues. - ACE_SYNCH_MUTEX& global_queue_lock_; - - /// The global queue length - queue length accross all the queues. - CORBA::Long& global_queue_length_; - - /// The maximum events that can be queued overall. - const TAO_Notify_Property_Long& max_queue_length_; - - /// Order of events in internal buffers. - TAO_Notify_Property_Short order_policy_; - - /// Policy to discard when buffers are full. - TAO_Notify_Property_Short discard_policy_; - - TAO_Notify_Property_Long max_events_per_consumer_; - TAO_Notify_Property_Time blocking_policy_; - - - TAO_SYNCH_CONDITION& global_not_full_; - TAO_SYNCH_CONDITION local_not_full_; - - /// Condition that batch size reached. - TAO_SYNCH_CONDITION local_not_empty_; - - /// Flag to shutdown. - bool shutdown_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_BUFFERING_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp b/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp deleted file mode 100644 index bab9d61ecf0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Builder.cpp +++ /dev/null @@ -1,592 +0,0 @@ -// $Id$ -#include "orbsvcs/Notify/Builder.h" - -ACE_RCSID (Notify, - Builder, - "$Id$") - -#include "ace/Dynamic_Service.h" - -#include "tao/PortableServer/PortableServerC.h" - -#include "orbsvcs/Notify/Factory.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/POA_Helper.h" -#include "orbsvcs/Notify/ID_Factory.h" -#include "orbsvcs/Notify/EventChannelFactory.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/SupplierAdmin.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Reactive_Task.h" -#include "orbsvcs/Notify/ThreadPool_Task.h" -#include "orbsvcs/Notify/FilterFactory.h" -#include "orbsvcs/Notify/Object.h" -#include "orbsvcs/Notify/EventType.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Any/AnyEvent.h" -#include "orbsvcs/Notify/Any/ProxyPushConsumer.h" -#include "orbsvcs/Notify/Any/ProxyPushSupplier.h" -#include "orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h" -#include "orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h" -#include "orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h" -#include "orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h" -#include "orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h" -#include "orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h" -#include "orbsvcs/Notify/ETCL_FilterFactory.h" -#include "orbsvcs/Notify/Container_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class TAO_Notify_Proxy_Builder_T -{ -public: - PROXY_PTR - build (PARENT *parent, CosNotifyChannelAdmin::ProxyID_out proxy_id - , const CosNotification::QoSProperties & initial_qos ACE_ENV_ARG_DECL) - { - PROXY_VAR proxy_ret; - - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - PROXY_IMPL* proxy = 0; - factory->create (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy_ret._retn ()); - - PortableServer::ServantBase_var servant (proxy); - - proxy->init (parent ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy_ret._retn ()); - - proxy->set_qos (initial_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy_ret._retn ()); - - CORBA::Object_var obj = proxy->activate (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy_ret._retn ()); - - proxy_id = proxy->id (); - - proxy_ret = PROXY::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy_ret._retn ()); - - // insert proxy in admin container. - parent->insert (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PROXY::_nil ()); - - return proxy_ret._retn (); - } - - PROXY_IMPL* - build (PARENT *parent, const CosNotifyChannelAdmin::ProxyID proxy_id - ACE_ENV_ARG_DECL) - { - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - PROXY_IMPL* proxy = 0; - factory->create (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - PortableServer::ServantBase_var servant (proxy); - - proxy->init (parent ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - proxy->activate (proxy, proxy_id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // insert proxy in admin container. - parent->insert (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return proxy; - } - -}; - -// define the ProxyConsumer Builders. -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_ProxyPushConsumer_Builder; - -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_StructuredProxyPushConsumer_Builder; - -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_SequenceProxyPushConsumer_Builder; - -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_CosEC_ProxyPushConsumer_Builder; - -// define the ProxySupplier Builders. -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_ProxyPushSupplier_Builder; - -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_StructuredProxyPushSupplier_Builder; - -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_SequenceProxyPushSupplier_Builder; - -typedef TAO_Notify_Proxy_Builder_T -TAO_Notify_CosEC_ProxyPushSupplier_Builder; - -TAO_Notify_Builder::TAO_Notify_Builder (void) -{ - // Init the static members. - TAO_Notify_AnyEvent::event_type_ = TAO_Notify_EventType::special (); -} - -TAO_Notify_Builder::~TAO_Notify_Builder () -{ -} - -CosNotifyFilter::FilterFactory_ptr -TAO_Notify_Builder::build_filter_factory (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_FilterFactory* ff = ACE_Dynamic_Service::instance ("TAO_Notify_FilterFactory"); - - if (ff == 0) - { - ACE_NEW_THROW_EX (ff, - TAO_Notify_ETCL_FilterFactory (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosNotifyFilter::FilterFactory::_nil ()); - } - - PortableServer::POA_var default_poa = TAO_Notify_PROPERTIES::instance ()->default_poa (); - - return ff->create (default_poa ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_Notify_Builder::build_event_channel_factory (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::EventChannelFactory_var ecf_ret; - - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - // Create ECF - TAO_Notify_EventChannelFactory* ecf = 0; - factory->create (ecf ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ecf_ret._retn ()); - - ecf->init (poa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ecf_ret._retn ()); - ecf_ret = ecf->activate_self (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (ecf_ret._retn ()); - - return (ecf_ret._retn ()); -} - -CosNotifyChannelAdmin::EventChannel_ptr -TAO_Notify_Builder::build_event_channel ( - TAO_Notify_EventChannelFactory* ecf, - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin, - CosNotifyChannelAdmin::ChannelID_out id ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::EventChannel_var ec_ret; - - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - TAO_Notify_EventChannel* ec = 0; - factory->create (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ec_ret._retn ()); - - ec->init (ecf, initial_qos, initial_admin ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ec_ret._retn ()); - - // insert ec in ec container. - ecf->ec_container().insert (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ec_ret._retn ()); - - CORBA::Object_var obj = ec->activate (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ec_ret._retn ()); - - // Populate the ID to return. - id = ec->id (); - - ec_ret = CosNotifyChannelAdmin::EventChannel::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ec_ret._retn ()); - - return ec_ret._retn (); -} - -TAO_Notify_EventChannel * -TAO_Notify_Builder::build_event_channel ( - TAO_Notify_EventChannelFactory* ecf, - const CosNotifyChannelAdmin::ChannelID id ACE_ENV_ARG_DECL) -{ - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - TAO_Notify_EventChannel* ec = 0; - factory->create (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ec->init (ecf ACE_ENV_ARG_PARAMETER); //, initial_qos, initial_admin - ACE_CHECK_RETURN (0); - - // insert ec in ec container. - ecf->ec_container().insert (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ec->activate (ec, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return ec; -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_Notify_Builder::build_consumer_admin ( - TAO_Notify_EventChannel* ec, - CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::ConsumerAdmin_var ca_ret; - - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - TAO_Notify_ConsumerAdmin* ca = 0; - factory->create (ca ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ca_ret._retn ()); - - ca->init (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ca_ret._retn ()); - - ca->filter_operator (op); - - CORBA::Object_var obj = ca->activate (ca ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ca_ret._retn ()); - - id = ca->id (); - - ca_ret = CosNotifyChannelAdmin::ConsumerAdmin::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ca_ret._retn ()); - - // insert admin in CA container. - ec->ca_container_->insert (ca ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ca_ret._retn ()); - - return ca_ret._retn (); -} - -TAO_Notify_ConsumerAdmin * -TAO_Notify_Builder::build_consumer_admin ( - TAO_Notify_EventChannel* ec, - const CosNotifyChannelAdmin::ChannelID id - ACE_ENV_ARG_DECL) -{ - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - TAO_Notify_ConsumerAdmin * ca = 0; - factory->create (ca ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ca->init (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Object_var obj = ca->activate (ca, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // insert admin in CA container. - ec->ca_container_->insert (ca ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - return ca; -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_Notify_Builder::build_supplier_admin (TAO_Notify_EventChannel* ec, CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::SupplierAdmin_var sa_ret; - - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - TAO_Notify_SupplierAdmin* sa = 0; - factory->create (sa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (sa_ret._retn ()); - - sa->init (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (sa_ret._retn ()); - - sa->filter_operator (op); - - CORBA::Object_var obj = sa->activate (sa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (sa_ret._retn ()); - - id = sa->id (); - - sa_ret = CosNotifyChannelAdmin::SupplierAdmin::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (sa_ret._retn ()); - - // insert admin in SA container. - ec->sa_container().insert (sa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (sa_ret._retn ()); - - return sa_ret._retn (); -} - -TAO_Notify_SupplierAdmin * -TAO_Notify_Builder::build_supplier_admin ( - TAO_Notify_EventChannel* ec, - const CosNotifyChannelAdmin::ChannelID id - ACE_ENV_ARG_DECL) -{ - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - TAO_Notify_SupplierAdmin * sa = 0; - factory->create (sa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - sa->init (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Object_var obj = sa->activate (sa, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // insert admin in CA container. - ec->sa_container().insert (sa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return sa; -} - -CosNotifyChannelAdmin::ProxyConsumer_ptr -TAO_Notify_Builder::build_proxy(TAO_Notify_SupplierAdmin* sa - , CosNotifyChannelAdmin::ClientType ctype - , CosNotifyChannelAdmin::ProxyID_out proxy_id - , const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL) -{ - switch (ctype) - { - case CosNotifyChannelAdmin::ANY_EVENT: - { - TAO_Notify_ProxyPushConsumer_Builder pb; - return pb.build (sa, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::STRUCTURED_EVENT: - { - TAO_Notify_StructuredProxyPushConsumer_Builder pb; - return pb.build (sa, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::SEQUENCE_EVENT: - { - TAO_Notify_SequenceProxyPushConsumer_Builder pb; - return pb.build (sa, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); - } - break; - - default: - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - CosNotifyChannelAdmin::ProxyConsumer::_nil ()); - } -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_Notify_Builder::build_proxy(TAO_Notify_ConsumerAdmin* ca - , CosNotifyChannelAdmin::ClientType ctype - , CosNotifyChannelAdmin::ProxyID_out proxy_id - , const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL) -{ - switch (ctype) - { - case CosNotifyChannelAdmin::ANY_EVENT: - { - TAO_Notify_ProxyPushSupplier_Builder pb; - return pb.build (ca, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::STRUCTURED_EVENT: - { - TAO_Notify_StructuredProxyPushSupplier_Builder pb; - return pb.build (ca, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::SEQUENCE_EVENT: - { - TAO_Notify_SequenceProxyPushSupplier_Builder pb; - return pb.build (ca, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); - } - break; - - default: - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - CosNotifyChannelAdmin::ProxySupplier::_nil ()); - } -} - -TAO_Notify_ProxyConsumer * -TAO_Notify_Builder::build_proxy(TAO_Notify_SupplierAdmin* sa - , CosNotifyChannelAdmin::ClientType ctype - , const CosNotifyChannelAdmin::ProxyID proxy_id - ACE_ENV_ARG_DECL) -{ - switch (ctype) - { - case CosNotifyChannelAdmin::ANY_EVENT: - { - TAO_Notify_ProxyPushConsumer_Builder pb; - return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::STRUCTURED_EVENT: - { - TAO_Notify_StructuredProxyPushConsumer_Builder pb; - return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::SEQUENCE_EVENT: - { - TAO_Notify_SequenceProxyPushConsumer_Builder pb; - return pb.build (sa, proxy_id ACE_ENV_ARG_PARAMETER); - } - break; - - default: - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - 0); - } -} - -TAO_Notify_ProxySupplier * -TAO_Notify_Builder::build_proxy(TAO_Notify_ConsumerAdmin* ca - , CosNotifyChannelAdmin::ClientType ctype - , const CosNotifyChannelAdmin::ProxyID proxy_id - ACE_ENV_ARG_DECL) -{ - switch (ctype) - { - case CosNotifyChannelAdmin::ANY_EVENT: - { - TAO_Notify_ProxyPushSupplier_Builder pb; - return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::STRUCTURED_EVENT: - { - TAO_Notify_StructuredProxyPushSupplier_Builder pb; - return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER); - } - break; - - case CosNotifyChannelAdmin::SEQUENCE_EVENT: - { - TAO_Notify_SequenceProxyPushSupplier_Builder pb; - return pb.build (ca, proxy_id ACE_ENV_ARG_PARAMETER); - } - break; - - default: - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - 0); - } -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_Notify_Builder::build_proxy (TAO_Notify_ConsumerAdmin* ca ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::ProxyID proxy_id; - - TAO_Notify_CosEC_ProxyPushSupplier_Builder pb; - - CosNotification::QoSProperties initial_qos; - - return pb.build (ca, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); -} - -CosEventChannelAdmin::ProxyPushConsumer_ptr -TAO_Notify_Builder::build_proxy (TAO_Notify_SupplierAdmin* sa ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::ProxyID proxy_id; - - TAO_Notify_CosEC_ProxyPushConsumer_Builder pb; - - CosNotification::QoSProperties initial_qos; - - return pb.build (sa, proxy_id, initial_qos ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Builder::apply_reactive_concurrency (TAO_Notify_Object& object ACE_ENV_ARG_DECL) -{ - TAO_Notify_Reactive_Task* worker_task; - - ACE_NEW_THROW_EX (worker_task, - TAO_Notify_Reactive_Task (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - object.set_worker_task (worker_task); - - worker_task->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_Builder::apply_thread_pool_concurrency (TAO_Notify_Object& object, const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL) -{ - TAO_Notify_ThreadPool_Task* worker_task; - - ACE_NEW_THROW_EX (worker_task, - TAO_Notify_ThreadPool_Task (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - object.set_worker_task (worker_task); - - worker_task->init (tp_params, object.admin_properties_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_Builder::apply_lane_concurrency (TAO_Notify_Object& /*object*/, const NotifyExt::ThreadPoolLanesParams& /*tpl_params*/ ACE_ENV_ARG_DECL) -{ - // No lane support - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Builder.h b/TAO/orbsvcs/orbsvcs/Notify/Builder.h deleted file mode 100644 index 7ed2c219c65..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Builder.h +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Builder.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_BUILDER_H -#define TAO_Notify_BUILDER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminC.h" -#include "orbsvcs/NotifyExtC.h" - -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Topology_Object.h" - -#include "tao/PortableServer/PortableServer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_EventChannelFactory; -class TAO_Notify_EventChannel; -class TAO_Notify_SupplierAdmin; -class TAO_Notify_ConsumerAdmin; -class TAO_Notify_ProxyConsumer; -class TAO_Notify_ProxySupplier; -class TAO_Notify_FilterFactory; -class TAO_Notify_Object; - -/** - * @class TAO_Notify_Builder - * - * @brief Helper class to create and activate CORBA objects. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Builder -{ -public: - TAO_Notify_Builder (void); - - virtual ~TAO_Notify_Builder (); - - ///= Factory Methods - - /// Build EventChannel Factory. - virtual CosNotifyChannelAdmin::EventChannelFactory_ptr - build_event_channel_factory (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL); - - /// Build the Filter Factory. - virtual CosNotifyFilter::FilterFactory_ptr build_filter_factory ( - ACE_ENV_SINGLE_ARG_DECL - ); - - /// Build EventChannel. - virtual CosNotifyChannelAdmin::EventChannel_ptr - build_event_channel (TAO_Notify_EventChannelFactory* ecf - , const CosNotification::QoSProperties & initial_qos - , const CosNotification::AdminProperties & initial_admin - , CosNotifyChannelAdmin::ChannelID_out id - ACE_ENV_ARG_DECL); - - - virtual TAO_Notify_EventChannel * - build_event_channel (TAO_Notify_EventChannelFactory* ecf - , const CosNotifyChannelAdmin::ChannelID id - ACE_ENV_ARG_DECL); - - - /// Build ConsumerAdmin - virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr - build_consumer_admin (TAO_Notify_EventChannel* ec - , CosNotifyChannelAdmin::InterFilterGroupOperator op - , CosNotifyChannelAdmin::AdminID_out id - ACE_ENV_ARG_DECL); - - /// Build ConsumerAdmin during topology restore - /// TODO: this returns a reference to the actual type - /// to accomodate loadable builder/factory there should - /// be an appropriate base class for it to return. - virtual TAO_Notify_ConsumerAdmin * - build_consumer_admin (TAO_Notify_EventChannel* ec - , const CosNotifyChannelAdmin::AdminID id //CORBA::Long id // note: an in parameter! - ACE_ENV_ARG_DECL); - - /// Build SupplierAdmin - virtual CosNotifyChannelAdmin::SupplierAdmin_ptr - build_supplier_admin (TAO_Notify_EventChannel * ec - , CosNotifyChannelAdmin::InterFilterGroupOperator op - , CosNotifyChannelAdmin::AdminID_out id - ACE_ENV_ARG_DECL); - - /// Build ConsumerAdmin during topology restore - /// TODO: this returns a reference to the actual type - /// to accomodate loadable builder/factory there should - /// be an appropriate base class for it to return. - virtual TAO_Notify_SupplierAdmin * - build_supplier_admin (TAO_Notify_EventChannel * ec - , const CosNotifyChannelAdmin::AdminID id //CORBA::Long id // note: an in parameter! - ACE_ENV_ARG_DECL); - - /// Build ProxyConsumer - virtual CosNotifyChannelAdmin::ProxyConsumer_ptr - build_proxy (TAO_Notify_SupplierAdmin* sa - , CosNotifyChannelAdmin::ClientType ctype - , CosNotifyChannelAdmin::ProxyID_out proxy_id - , const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL); - - /// Reload ProxyConsumer - virtual TAO_Notify_ProxyConsumer * - build_proxy (TAO_Notify_SupplierAdmin* sa - , CosNotifyChannelAdmin::ClientType ctype - , const CosNotifyChannelAdmin::ProxyID proxy_id - ACE_ENV_ARG_DECL); - - /// Build ProxySupplier. - virtual CosNotifyChannelAdmin::ProxySupplier_ptr - build_proxy (TAO_Notify_ConsumerAdmin* ca - , CosNotifyChannelAdmin::ClientType ctype - , CosNotifyChannelAdmin::ProxyID_out proxy_id - , const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL); - - /// Reload ProxySupplier. - virtual TAO_Notify_ProxySupplier * - build_proxy (TAO_Notify_ConsumerAdmin* ca - , CosNotifyChannelAdmin::ClientType ctype - , const CosNotifyChannelAdmin::ProxyID proxy_id - ACE_ENV_ARG_DECL); - - /// Build CosEC style ProxySupplier. - virtual CosEventChannelAdmin::ProxyPushSupplier_ptr - build_proxy (TAO_Notify_ConsumerAdmin* ca ACE_ENV_ARG_DECL); - - /// Build CosEC style ProxyConsumer. - virtual CosEventChannelAdmin::ProxyPushConsumer_ptr - build_proxy (TAO_Notify_SupplierAdmin* sa ACE_ENV_ARG_DECL); - - /// Apply Reactive concurrency. - virtual void apply_reactive_concurrency ( - TAO_Notify_Object& object ACE_ENV_ARG_DECL - ); - - /// Apply Thread Pools. - virtual void apply_thread_pool_concurrency ( - TAO_Notify_Object& object, - const NotifyExt::ThreadPoolParams& tp_params - ACE_ENV_ARG_DECL - ); - - /// Apply Thread Pools with Lanes. - virtual void apply_lane_concurrency ( - TAO_Notify_Object& object, - const NotifyExt::ThreadPoolLanesParams& tpl_params - ACE_ENV_ARG_DECL - ); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp deleted file mode 100644 index 7b19b418ebc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp +++ /dev/null @@ -1,702 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Consumer.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Consumer.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (RT_Notify, TAO_Notify_Consumer, "$Id$") - -#include "orbsvcs/Notify/Timer.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/Method_Request_Event.h" - -#include "orbsvcs/Time_Utilities.h" - -#include "tao/debug.h" -#include "tao/corba.h" - -#include "ace/Bound_Ptr.h" -#include "ace/Unbounded_Queue.h" - -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -static const int DEFAULT_RETRY_TIMEOUT = 10;//120; // Note : This should be a config param or qos setting - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Consumer::TAO_Notify_Consumer (TAO_Notify_ProxySupplier* proxy) -: proxy_ (proxy) -, is_suspended_ (0) -, pacing_ (proxy->qos_properties_.pacing_interval ()) -, max_batch_size_ (CosNotification::MaximumBatchSize, 0) -, timer_id_ (-1) -, timer_ (0) -{ - Request_Queue* pending_events = 0; - ACE_NEW (pending_events, TAO_Notify_Consumer::Request_Queue ()); - this->pending_events_.reset( pending_events ); - - this->timer_.reset( this->proxy ()->timer () ); -} - -TAO_Notify_Consumer::~TAO_Notify_Consumer () -{ - if (this->timer_.isSet()) - { - this->cancel_timer (); - this->timer_.reset (); - } -} - -TAO_Notify_Proxy* -TAO_Notify_Consumer::proxy (void) -{ - return this->proxy_supplier (); -} - -void -TAO_Notify_Consumer::qos_changed (const TAO_Notify_QoSProperties& qos_properties) -{ - this->max_batch_size_ = qos_properties.maximum_batch_size (); -} - -void -TAO_Notify_Consumer::resume (ACE_ENV_SINGLE_ARG_DECL) -{ - this->is_suspended_ = 0; - - this->dispatch_pending (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_Consumer::enqueue_request ( - TAO_Notify_Method_Request_Event * request - ACE_ENV_ARG_DECL) -{ - TAO_Notify_Event::Ptr event ( - request->event ()->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK; - - TAO_Notify_Method_Request_Event_Queueable * queue_entry; - ACE_NEW_THROW_EX (queue_entry, - TAO_Notify_Method_Request_Event_Queueable (*request, event), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - if (DEBUG_LEVEL > 3) ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("Consumer %d: enqueue_request (%d) @%@.\n"), - static_cast (this->proxy ()->id ()), - request->sequence (), - request - )); - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, *this->proxy_lock ()); - this->pending_events().enqueue_tail (queue_entry); -} - -bool -TAO_Notify_Consumer::enqueue_if_necessary (TAO_Notify_Method_Request_Event * request ACE_ENV_ARG_DECL) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, *this->proxy_lock (), false); - if (! this->pending_events().is_empty ()) - { - if (DEBUG_LEVEL > 3) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Consumer %d: enqueuing another event. %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - TAO_Notify_Event::Ptr event ( - request->event ()->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK_RETURN (false); - TAO_Notify_Method_Request_Event_Queueable * queue_entry; - ACE_NEW_THROW_EX (queue_entry, - TAO_Notify_Method_Request_Event_Queueable (*request, - event), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (false); - this->pending_events().enqueue_tail (queue_entry); - this->schedule_timer (false); - return true; - } - if (this->is_suspended_ == 1) - { - if (DEBUG_LEVEL > 3) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Suspended Consumer %d enqueing event. %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - TAO_Notify_Event::Ptr event ( - request->event ()->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK_RETURN (false); - TAO_Notify_Method_Request_Event_Queueable * queue_entry; - ACE_NEW_THROW_EX (queue_entry, - TAO_Notify_Method_Request_Event_Queueable (*request, - event), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (false); - this->pending_events().enqueue_tail (queue_entry); - this->schedule_timer (false); - return true; - } - return false; -} - -void -TAO_Notify_Consumer::deliver (TAO_Notify_Method_Request_Event * request - ACE_ENV_ARG_DECL) -{ - // Increment reference counts (safely) to prevent this object and its proxy - // from being deleted while the push is in progress. - TAO_Notify_Proxy::Ptr proxy_guard (this->proxy ()); - bool queued = enqueue_if_necessary (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - if (!queued) - { - DispatchStatus status = this->dispatch_request (request); - switch (status) - { - case DISPATCH_SUCCESS: - { - request->complete (); - break; - } - case DISPATCH_RETRY: - { - if (DEBUG_LEVEL > 1) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Consumer %d enqueing event %d due ") - ACE_TEXT ("to failed dispatch.\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - this->enqueue_request (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->schedule_timer (true); - break; - } - case DISPATCH_DISCARD: - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Consumer %d: Error during " - "direct dispatch. Discarding event:%d.\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - request->complete (); - break; - } - case DISPATCH_FAIL: - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Consumer %d: Failed during " - "direct dispatch :%d. Discarding event.\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - request->complete (); - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - this->proxy_supplier ()->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // todo is there something meaningful we can do here? - ; - } - ACE_ENDTRY; - break; - } - } - } -} - -TAO_Notify_Consumer::DispatchStatus -TAO_Notify_Consumer::dispatch_request (TAO_Notify_Method_Request_Event * request) -{ - DispatchStatus result = DISPATCH_SUCCESS; - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - request->event ()->push (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (DEBUG_LEVEL > 8) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Consumer %d dispatched single event %d.\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer %d::push " - "(request) %s\n"), - static_cast (this->proxy ()->id ()), - ex._info ().c_str () - )); - } - result = DISPATCH_FAIL; - } - ACE_CATCH (CORBA::TRANSIENT, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer %d::push " - "(request) Transient (minor=%d) %s\n"), - static_cast (this->proxy ()->id ()), - ex.minor (), - ex._info ().c_str () - )); - const CORBA::ULong BITS_5_THRU_12_MASK = 0x00000f80u; - switch (ex.minor () & 0xfffff000u) - { - case CORBA::OMGVMCID: - switch (ex.minor () & 0x00000fffu) - { - case 2: // No usable profile - case 3: // Request cancelled - case 4: // POA destroyed - result = DISPATCH_FAIL; - break; - default: - result = DISPATCH_DISCARD; - } - break; - - case TAO::VMCID: - default: - switch (ex.minor () & BITS_5_THRU_12_MASK) - { - case TAO_INVOCATION_SEND_REQUEST_MINOR_CODE: - result = DISPATCH_FAIL; - break; - case TAO_POA_DISCARDING: - case TAO_POA_HOLDING: - default: - result = DISPATCH_RETRY; - } break; - } - } - ACE_CATCH (CORBA::TIMEOUT, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer %u::push " - "(request) %s\n"), - this->proxy ()->id (), - ex._info().c_str () - )); - result = DISPATCH_FAIL; - } - ACE_CATCH (CORBA::COMM_FAILURE, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer %u::push " - "(request) %s\n"), - this->proxy ()->id (), - ex._info().c_str () - )); - result = DISPATCH_FAIL; - } - ACE_CATCH (CORBA::SystemException, ex) - { - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer %d::push " - "(request) SystemException %s\n"), - static_cast (this->proxy ()->id ()), - ex._info ().c_str () - )); - } - result = DISPATCH_DISCARD; - } - ACE_CATCHANY - { - ACE_ERROR ( (LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer %d::push " - "(request) Caught unexpected exception " - "pushing event to consumer.\n"), - static_cast (this->proxy ()->id ()) - )); - result = DISPATCH_DISCARD; - } - ACE_ENDTRY; - - // for persistent events that haven't timed out - // convert "FAIL" & "DISCARD" to "RETRY" - // for transient events, convert RETRY to DISCARD (hey, best_effort.) - if (result == DISPATCH_FAIL || result == DISPATCH_DISCARD) - { - if (request->should_retry ()) - { - result = DISPATCH_RETRY; - } - } - else if (result == DISPATCH_RETRY) - { - if (! request->should_retry ()) - { - result = DISPATCH_DISCARD; - } - } - - return result; -} - -TAO_Notify_Consumer::DispatchStatus -TAO_Notify_Consumer::dispatch_batch (const CosNotification::EventBatch& batch) -{ - DispatchStatus result = DISPATCH_SUCCESS; - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - this->push (batch ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer " - "%d::dispatch_batch() %s\n"), - static_cast (this->proxy ()->id ()), - ex._info ().c_str () - )); - result = DISPATCH_FAIL; - } - ACE_CATCH (CORBA::TRANSIENT, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer " - "%d::dispatch_batch() Transient (minor=%d) %s\n"), - static_cast (this->proxy ()->id ()), - ex.minor (), - ex._info ().c_str () - )); - const CORBA::ULong BITS_5_THRU_12_MASK = 0x00000f80u; - switch (ex.minor () & 0xfffff000u) - { - case CORBA::OMGVMCID: - switch (ex.minor () & 0x00000fffu) - { - case 2: // No usable profile - case 3: // Request cancelled - case 4: // POA destroyed - result = DISPATCH_FAIL; - break; - default: - result = DISPATCH_DISCARD; - } - break; - - case TAO::VMCID: - default: - switch (ex.minor () & BITS_5_THRU_12_MASK) - { - case TAO_INVOCATION_SEND_REQUEST_MINOR_CODE: - result = DISPATCH_FAIL; - break; - case TAO_POA_DISCARDING: - case TAO_POA_HOLDING: - default: - result = DISPATCH_RETRY; - } break; - } - } - ACE_CATCH (CORBA::TIMEOUT, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer " - "%u::dispatch_batch() %s\n"), - this->proxy ()->id (), - ex._info().c_str () - )); - result = DISPATCH_FAIL; - } - ACE_CATCH (CORBA::COMM_FAILURE, ex) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer " - "%u::dispatch_batch() %s\n"), - this->proxy ()->id (), - ex._info().c_str () - )); - result = DISPATCH_FAIL; - } - ACE_CATCH (CORBA::SystemException, ex) - { - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer " - "%d::dispatch_batch() SystemException %s\n"), - static_cast (this->proxy ()->id ()), - ex._info ().c_str () - )); - } - result = DISPATCH_DISCARD; - } - ACE_CATCHANY - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Consumer " - "%d::dispatch_batch() Caught unexpected " - "exception pushing batch to consumer.\n"), - static_cast (this->proxy ()->id ()) - )); - result = DISPATCH_DISCARD; - } - ACE_ENDTRY; - return result; -} - -void -TAO_Notify_Consumer::dispatch_pending (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - if (DEBUG_LEVEL > 5) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Consumer %d dispatching pending events. Queue size: %d\n"), - static_cast (this->proxy ()->id ()), - this->pending_events().size () - )); - - // lock ourselves in memory for the duration - TAO_Notify_Consumer::Ptr self_grd (this); - - // dispatch events until: 1) the queue is empty; 2) the proxy shuts down, or 3) the dispatch fails - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, *this->proxy_lock ()); - bool ok = true; - while (ok - && !this->proxy_supplier ()->has_shutdown () - && !this->pending_events().is_empty ()) - { - if (! dispatch_from_queue ( this->pending_events(), ace_mon)) - { - this->schedule_timer (true); - ok = false; - } - } -} - - -// virtual: this is the default, overridden for SequencePushConsumer -bool -TAO_Notify_Consumer::dispatch_from_queue (Request_Queue & requests, ACE_Guard & ace_mon) -{ - bool result = true; - TAO_Notify_Method_Request_Event_Queueable * request; - if (requests.dequeue_head (request) == 0) - { - ace_mon.release (); - DispatchStatus status = this->dispatch_request (request); - switch (status) - { - case DISPATCH_SUCCESS: - { - request->complete (); - request->release (); - result = true; - ace_mon.acquire (); - break; - } - case DISPATCH_RETRY: - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Consumer %d: Will retry %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - ace_mon.acquire (); - requests.enqueue_head (request); // put the failed event back where it was - result = false; - break; - } - case DISPATCH_DISCARD: - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Consumer %d: Error during " - "dispatch. Discarding event:%d.\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - request->complete (); - ace_mon.acquire (); - result = true; - break; - } - case DISPATCH_FAIL: - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Consumer %d: Failed. " - "Discarding event %d.\n"), - static_cast (this->proxy ()->id ()), - request->sequence () - )); - request->complete (); - ace_mon.acquire (); - while (requests.dequeue_head (request) == 0) - { - ace_mon.release (); - request->complete (); - ace_mon.acquire (); - } - ace_mon.release (); - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - this->proxy_supplier ()->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // todo is there something reasonable to do here? - } - ACE_ENDTRY; - ace_mon.acquire (); - result = true; - break; - } - default: - { - ace_mon.acquire (); - result = false; - break; - } - } - } - return result; -} - -//@@todo: rather than is_error, use pacing interval so it will be configurable -//@@todo: find some way to use batch buffering stratgy for sequence consumers. -void -TAO_Notify_Consumer::schedule_timer (bool is_error) -{ - if (this->timer_id_ != -1) - { - return; // We only want a single timeout scheduled. - } - // don't schedule timer if there's nothing that can be done - if (this->is_suspended ()) - { - return; - } - - ACE_ASSERT (this->timer_.get() != 0); - - // If we're scheduling the timer due to an error then we want to - // use the retry timeout, otherwise we'll assume that the pacing - // interval is sufficient for now. - ACE_Time_Value tv (DEFAULT_RETRY_TIMEOUT); - - if (! is_error) - { - if (this->pacing_.is_valid ()) - { - tv = ORBSVCS_Time::to_Time_Value (this->pacing_.value ()); - } - } - - if (DEBUG_LEVEL > 5) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Consumer %d: scheduling pacing/retry for %dms.\n"), - static_cast (this->proxy ()->id ()), tv.msec ())); - } - - this->timer_id_ = - this->timer_->schedule_timer (this, tv, ACE_Time_Value::zero); - if (this->timer_id_ == -1) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO_Notify_Consumer %d::schedule_timer () " - "Error scheduling timer.\n"), - static_cast (this->proxy ()->id ()) - )); - } -} - -void -TAO_Notify_Consumer::cancel_timer (void) -{ - if (this->timer_.isSet() && this->timer_id_ != -1) - { - if (DEBUG_LEVEL > 5) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Consumer %d canceling dispatch timer.\n"), - static_cast (this->proxy ()->id ()) - )); - - this->timer_->cancel_timer (timer_id_); - } - this->timer_id_ = -1; -} - -int -TAO_Notify_Consumer::handle_timeout (const ACE_Time_Value&, const void*) -{ - TAO_Notify_Consumer::Ptr grd (this); - this->timer_id_ = -1; // This must come first, because dispatch_pending may try to resched - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - this->dispatch_pending (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHALL - { - } - ACE_ENDTRY; - - return 0; -} - -void -TAO_Notify_Consumer::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - if (this->timer_.isSet ()) - { - this->cancel_timer (); - this->timer_.reset (); - } -} - -void -TAO_Notify_Consumer::dispatch_updates_i (const CosNotification::EventTypeSeq& added, const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL) -{ - if (!CORBA::is_nil (this->publish_.in ())) - this->publish_->offer_change (added, removed ACE_ENV_ARG_PARAMETER); -} - -TAO_SYNCH_MUTEX* -TAO_Notify_Consumer::proxy_lock (void) -{ - return &this->proxy_->lock_; -} - -TAO_Notify_ProxySupplier* -TAO_Notify_Consumer::proxy_supplier (void) -{ - return this->proxy_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer.h b/TAO/orbsvcs/orbsvcs/Notify/Consumer.h deleted file mode 100644 index 43b591b51e4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Consumer.h +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Consumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_NOTIFY_CONSUMER_H -#define TAO_NOTIFY_CONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyCommC.h" -#include "orbsvcs/CosNotificationC.h" - -#include "orbsvcs/Notify/Peer.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Timer.h" -#include "ace/Event_Handler.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxySupplier; -class TAO_Notify_Proxy; -class TAO_Notify_Method_Request_Event_Queueable; -class TAO_Notify_Method_Request_Event; -/** - * @class TAO_Notify_Consumer - * - * @brief Astract Base class for wrapping consumer objects that connect to the EventChannel - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Consumer - : public TAO_Notify_Peer - , public ACE_Event_Handler // to support timer -{ - -public: - /// Status returned from dispatch attempts - enum DispatchStatus { - DISPATCH_SUCCESS, - DISPATCH_RETRY, // retry this message - DISPATCH_DISCARD, // discard this message - DISPATCH_FAIL}; // discard all messages and disconnect consumer - -public: - /// Constuctor - TAO_Notify_Consumer (TAO_Notify_ProxySupplier* proxy); - - /// Destructor - virtual ~TAO_Notify_Consumer (); - - /// Access Specific Proxy. - TAO_Notify_ProxySupplier* proxy_supplier (void); - - /// Access Base Proxy. - virtual TAO_Notify_Proxy* proxy (void); - - /// Dispatch Event to consumer - void deliver (TAO_Notify_Method_Request_Event * request ACE_ENV_ARG_DECL); - - /// Push to this consumer. - virtual void push (const CORBA::Any& event ACE_ENV_ARG_DECL) = 0; - - /// Push to this consumer. - virtual void push (const CosNotification::StructuredEvent& event ACE_ENV_ARG_DECL) = 0; - - /// Push a batch of events to this consumer. - virtual void push (const CosNotification::EventBatch& event ACE_ENV_ARG_DECL) = 0; - - /// Dispatch the batch of events to the attached consumer - DispatchStatus dispatch_batch (const CosNotification::EventBatch& batch); - - /// Dispatch the pending events - void dispatch_pending (ACE_ENV_SINGLE_ARG_DECL); - - /// Is the connection suspended? - CORBA::Boolean is_suspended (void); - - /// Suspend Connection - void suspend (ACE_ENV_SINGLE_ARG_DECL); - - /// Resume Connection - void resume (ACE_ENV_SINGLE_ARG_DECL); - - /// Shutdown the consumer - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// on reconnect we need to move events from the old consumer - /// to the new one - virtual void reconnect_from_consumer ( - TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL) = 0; - - /// Override, Peer::qos_changed - virtual void qos_changed (const TAO_Notify_QoSProperties& qos_properties); - -protected: - typedef ACE_Unbounded_Queue Request_Queue; - - DispatchStatus dispatch_request (TAO_Notify_Method_Request_Event * request); - - /** - * \brief Attempt to dispatch event from a queue. - * - * Called by dispatch_pending. Deliver one or more events to the Consumer. - * If delivery fails, events are left in the queue (or discarded depending - * on QoS parameters.) - * Undelivered, undiscarded requests are left at the front of the queue. - * Overridden in sequence consumer to dispatch as an EventBatch. - * \return false if delivery failed and the request(s) cannot be discarded. - */ - virtual bool dispatch_from_queue ( - Request_Queue & requests, - ACE_Guard & ace_mon); - - void enqueue_request(TAO_Notify_Method_Request_Event * request ACE_ENV_ARG_DECL); - - /// Add request to a queue if necessary. - /// Overridden by sequence consumer to "always" put incoming events into the queue. - /// @returns true the request has been enqueued; false the request should be handled now. - virtual bool enqueue_if_necessary( - TAO_Notify_Method_Request_Event * request - ACE_ENV_ARG_DECL); - - // Dispatch updates - virtual void dispatch_updates_i (const CosNotification::EventTypeSeq& added, - const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL); - - /// Get the shared Proxy Lock - TAO_SYNCH_MUTEX* proxy_lock (void); - -protected: - virtual int handle_timeout (const ACE_Time_Value& current_time, - const void* act = 0); - - - /// Schedule timer - void schedule_timer (bool is_error = false); - - /// Cancel timer - void cancel_timer (void); - - ///= Protected Data Members -protected: - Request_Queue& pending_events(); - - /// The Proxy that we associate with. - TAO_Notify_ProxySupplier* proxy_; - - /// Suspended Flag. - CORBA::Boolean is_suspended_; - - /// Interface that accepts offer_changes - CosNotifyComm::NotifyPublish_var publish_; - - /// The Pacing Interval - const TAO_Notify_Property_Time & pacing_; - - /// Max. batch size. - TAO_Notify_Property_Long max_batch_size_; - - /// Timer Id. - long timer_id_; - - /// The Timer Manager that we use. - TAO_Notify_Timer::Ptr timer_; - -private: - - /// Events pending to be delivered. - ACE_Auto_Ptr< Request_Queue > pending_events_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Consumer.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_NOTIFY_CONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer.inl b/TAO/orbsvcs/orbsvcs/Notify/Consumer.inl deleted file mode 100644 index c1dcd33bbe7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Consumer.inl +++ /dev/null @@ -1,27 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO_Notify_Consumer::Request_Queue& -TAO_Notify_Consumer::pending_events() -{ - ACE_ASSERT( pending_events_.get() != 0 ); - return *pending_events_; -} - -ACE_INLINE CORBA::Boolean -TAO_Notify_Consumer::is_suspended (void) -{ - return this->is_suspended_; -} - -ACE_INLINE void -TAO_Notify_Consumer::suspend (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->is_suspended_ = 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp deleted file mode 100644 index 7b10e3bd40b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp +++ /dev/null @@ -1,488 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ConsumerAdmin.h" - -ACE_RCSID (RT_Notify, - TAO_Notify_ConsumerAdmin, - "$Id$") - -#include "orbsvcs/Notify/Subscription_Change_Worker.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Factory.h" -#include "orbsvcs/Notify/Builder.h" -#include "orbsvcs/Notify/Find_Worker_T.h" -#include "orbsvcs/Notify/Seq_Worker_T.h" -#include "orbsvcs/Notify/ProxySupplier.h" - -#include "tao/debug.h" - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#include "ace/Auto_Ptr.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Notify_Find_Worker_T -TAO_Notify_ProxySupplier_Find_Worker; - -typedef TAO_Notify_Seq_Worker_T TAO_Notify_Proxy_Seq_Worker; - -TAO_Notify_ConsumerAdmin::TAO_Notify_ConsumerAdmin (void) - : TAO_Notify_Admin () -{ -} - -const char * -TAO_Notify_ConsumerAdmin::get_admin_type_name () const -{ - return "consumer_admin"; -} - - - -TAO_Notify_ConsumerAdmin::~TAO_Notify_ConsumerAdmin () -{ -} - -void -TAO_Notify_ConsumerAdmin::init (TAO_Notify_EventChannel *ec ACE_ENV_ARG_DECL) -{ - TAO_Notify_Admin::init (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const CosNotification::QoSProperties &default_ca_qos = - TAO_Notify_PROPERTIES::instance ()->default_consumer_admin_qos_properties (); - - this->set_qos (default_ca_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_ConsumerAdmin::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_Notify_ConsumerAdmin::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_Notify_ConsumerAdmin::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_ConsumerAdmin::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - int result = this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if ( result == 1) - return; - - this->ec_->remove (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -TAO_Notify::Topology_Object* -TAO_Notify_ConsumerAdmin::load_child (const ACE_CString &type, - CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL) -{ - TAO_Notify::Topology_Object* result = this; - if (type == "proxy_push_supplier") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, CosNotifyChannelAdmin::ANY_EVENT, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else if (type == "structured_proxy_push_supplier") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, CosNotifyChannelAdmin::STRUCTURED_EVENT, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else if (type == "sequence_proxy_push_supplier") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, CosNotifyChannelAdmin::SEQUENCE_EVENT, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } -#if 0 - else if (type == "ec_proxy_push_supplier") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } -#endif - else - { - result = TAO_Notify_Admin::load_child (type, id, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return result; -} - -TAO_Notify::Topology_Object* -TAO_Notify_ConsumerAdmin::load_proxy ( - CORBA::Long id, - CosNotifyChannelAdmin::ClientType ctype, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL) -{ - TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); - TAO_Notify_ProxySupplier * proxy = - bld->build_proxy (this - , ctype - , id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - ACE_ASSERT(proxy != 0); - proxy->load_attrs (attrs); - return proxy; -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_Notify_ConsumerAdmin::obtain_notification_push_supplier (CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID_out proxy_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminLimitExceeded - )) -{ - CosNotification::QoSProperties initial_qos; - - CosNotifyChannelAdmin::ProxySupplier_var proxy = - TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this - , ctype - , proxy_id - , initial_qos - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - return proxy._retn (); -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_Notify_ConsumerAdmin::obtain_notification_push_supplier_with_qos (CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID_out proxy_id, - const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminLimitExceeded - , CosNotification::UnsupportedQoS - )) -{ - CosNotifyChannelAdmin::ProxySupplier_var proxy = - TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this - , ctype - , proxy_id - , initial_qos - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - return proxy._retn (); -} - -CosEventChannelAdmin::ProxyPushSupplier_ptr -TAO_Notify_ConsumerAdmin::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosEventChannelAdmin::ProxyPushSupplier_var proxy = - TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - return proxy._retn (); -} - -CosNotifyChannelAdmin::AdminID -TAO_Notify_ConsumerAdmin::MyID (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->id (); -} - -CosNotifyChannelAdmin::EventChannel_ptr -TAO_Notify_ConsumerAdmin::MyChannel (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->ec_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -::CosNotifyChannelAdmin::InterFilterGroupOperator -TAO_Notify_ConsumerAdmin::MyOperator (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->filter_operator_; -} - -CosNotifyChannelAdmin::ProxyIDSeq* -TAO_Notify_ConsumerAdmin::push_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_Proxy_Seq_Worker seq_worker; - - return seq_worker.create (this->proxy_container() ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_Notify_ConsumerAdmin::get_proxy_supplier (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::ProxyNotFound - )) -{ - TAO_Notify_ProxySupplier_Find_Worker find_worker; - - return find_worker.resolve (proxy_id, this->proxy_container() ACE_ENV_ARG_PARAMETER); -} - -void TAO_Notify_ConsumerAdmin::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedQoS - )) -{ - this->TAO_Notify_Object::set_qos (qos ACE_ENV_ARG_PARAMETER); -} - - -CosNotification::QoSProperties* -TAO_Notify_ConsumerAdmin::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_ConsumerAdmin::subscription_change (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyComm::InvalidEventType - )) -{ - TAO_Notify_EventTypeSeq seq_added (added); - TAO_Notify_EventTypeSeq seq_removed (removed); - - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->subscribed_types_.add_and_remove (seq_added, seq_removed); - - TAO_Notify_Subscription_Change_Worker worker (added, removed); - - this->proxy_container().collection()->for_each (&worker ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -CosNotifyFilter::FilterID -TAO_Notify_ConsumerAdmin::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotifyFilter::FilterID fid = - this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (fid); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (fid); - return fid; -} - -void -TAO_Notify_ConsumerAdmin::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::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::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::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -/************ UNIMPLMENTED METHODS *************************/ - -CosNotifyFilter::MappingFilter_ptr -TAO_Notify_ConsumerAdmin::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::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::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::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::pull_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CosNotifyChannelAdmin::ProxySupplier_ptr -TAO_Notify_ConsumerAdmin::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 ()); -} - -void -TAO_Notify_ConsumerAdmin::validate_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 ()); -} - -CosEventChannelAdmin::ProxyPullSupplier_ptr -TAO_Notify_ConsumerAdmin::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosEventChannelAdmin::ProxyPullSupplier::_nil ()); -} - -TAO_Notify_ProxySupplier * -TAO_Notify_ConsumerAdmin::find_proxy_supplier ( - TAO_Notify::IdVec & id_path, - size_t position - ACE_ENV_ARG_DECL) -{ - TAO_Notify_ProxySupplier * result = 0; - size_t path_size = id_path.size (); - if (position < path_size) - { - TAO_Notify_ProxySupplier_Find_Worker find_worker; - TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - result = dynamic_cast (proxy); - } - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h deleted file mode 100644 index a17453cfc07..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h +++ /dev/null @@ -1,254 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ConsumerAdmin.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_CONSUMERADMIN_H -#define TAO_Notify_CONSUMERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/NotifyExtS.h" - -#include "orbsvcs/Notify/Admin.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxySupplier; - -/** - * @class TAO_Notify_ConsumerAdmin - * - * @brief Implementation of CosNotifyChannelAdmin::ConsumerAdmin - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ConsumerAdmin : public POA_NotifyExt::ConsumerAdmin - , public virtual TAO_Notify_Admin -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_ConsumerAdmin > Ptr; - /// Constuctor - TAO_Notify_ConsumerAdmin (void); - - /// Destructor - virtual ~TAO_Notify_ConsumerAdmin (); - - /// Init - void init (TAO_Notify_EventChannel *ec ACE_ENV_ARG_DECL); - - /// ServantBase refcount methods. - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - - - virtual const char * get_admin_type_name () const; - - virtual TAO_Notify::Topology_Object* load_child ( - const ACE_CString &type, - CORBA::Long id, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL); - - TAO_Notify_ProxySupplier * find_proxy_supplier ( - TAO_Notify::IdVec & id_path, - size_t position - ACE_ENV_ARG_DECL); - -protected: - TAO_Notify::Topology_Object *load_proxy ( - CORBA::Long id, - CosNotifyChannelAdmin::ClientType ctype, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL); - - /// = NotifyExt::ConsumerAdmin methods - virtual CosNotifyChannelAdmin::ProxySupplier_ptr - obtain_notification_push_supplier_with_qos (CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID_out proxy_id, - const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminLimitExceeded - , CosNotification::UnsupportedQoS - )); - - /// = CosNotifyChannelAdmin::ConsumerAdmin 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 - )); - -private: - - /// Release this object. - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_CONSUMERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer_Map.h b/TAO/orbsvcs/orbsvcs/Notify/Consumer_Map.h deleted file mode 100644 index eec7e570347..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Consumer_Map.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Consumer_Map.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_CONSUMER_MAP_H -#define TAO_Notify_CONSUMER_MAP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#include "orbsvcs/Notify/Event_Map_T.h" -#include "orbsvcs/Notify/ProxySupplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Consumer_Map - * - * @brief The Event Map for Consumers. - * - */ -typedef TAO_Notify_Event_Map_T - TAO_Notify_Consumer_Map; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_CONSUMER_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Container_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Container_T.cpp deleted file mode 100644 index 3656e3dca86..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Container_T.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_CONTAINER_T_CPP -#define TAO_Notify_CONTAINER_T_CPP - -#include "orbsvcs/Notify/Container_T.h" - -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Factory.h" -#include "orbsvcs/Notify/POA_Helper.h" - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Container_T.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Container_T::TAO_Notify_Container_T (void) - : collection_ (0) -{ -} - -template -TAO_Notify_Container_T::~TAO_Notify_Container_T () -{ - delete collection_; -} - -template void -TAO_Notify_Container_T::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_ESF_Shutdown_Proxy shutdown_worker; - - this->collection_->for_each (&shutdown_worker ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_Container_T::insert (TYPE* type ACE_ENV_ARG_DECL) -{ - this->collection_->connected (type ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_Container_T::remove (TYPE* type ACE_ENV_ARG_DECL) -{ - this->collection_->disconnected (type ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_Container_T::init (ACE_ENV_SINGLE_ARG_DECL) -{ - // get the factory - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - // Init variables - factory->create (this->collection_ ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_CONTAINER_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Container_T.h b/TAO/orbsvcs/orbsvcs/Notify/Container_T.h deleted file mode 100644 index 9c06930d1b2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Container_T.h +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Container_T.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_CONTAINER_T_H -#define TAO_Notify_CONTAINER_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Container_T - * - * @brief A template class that manages a collection. - * TYPE = type of collection - * - */ -template -class TAO_Notify_Serv_Export TAO_Notify_Container_T -{ - typedef TAO_ESF_Proxy_Collection COLLECTION; - public: - - /// Constuctor - TAO_Notify_Container_T (void); - - /// Destructor - virtual ~TAO_Notify_Container_T (); - - /// Init this object. - void init (ACE_ENV_SINGLE_ARG_DECL); - - /// Insert object to this container. - virtual void insert (TYPE* type ACE_ENV_ARG_DECL); - - /// Remove type from container_ - virtual void remove (TYPE* type ACE_ENV_ARG_DECL); - - /// Shutdown - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Collection - COLLECTION* collection (void); - -protected: - /// The collection data structure that we add objects to. - COLLECTION* collection_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Container_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Container_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Container_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_CONTAINER_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Container_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Container_T.inl deleted file mode 100644 index ccf274aecbf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Container_T.inl +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE ACE_TYPENAME TAO_Notify_Container_T::COLLECTION* -TAO_Notify_Container_T:: collection (void) -{ - return this->collection_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp b/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp deleted file mode 100644 index 86d6e46106a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/CosNotify_Initializer.h" - -ACE_RCSID(Notify, TAO_Notify_CosNotify_Initializer, "$Id$") - -#include "orbsvcs/Notify/CosNotify_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_CosNotify_Initializer::TAO_Notify_CosNotify_Initializer (void) -{ - ACE_Service_Config::static_svcs ()->insert (&ace_svc_desc_TAO_CosNotify_Service); - ACE_Service_Config::static_svcs ()->insert (&ace_svc_desc_TAO_Notify_Default_EMO_Factory_OLD); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h b/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h deleted file mode 100644 index ce08ffd76eb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file CosNotify_Initializer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_COSNOTIFY_INITIALIZER_H -#define TAO_Notify_COSNOTIFY_INITIALIZER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_CosNotify_Initializer - * - * @brief Helper to load the Cos Notification service into the service conf. for static links. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_CosNotify_Initializer -{ -public: - /// Constuctor - TAO_Notify_CosNotify_Initializer (void); -}; - -static TAO_Notify_CosNotify_Initializer TAO_Notify_CosNotify_initializer; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_COSNOTIFY_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp b/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp deleted file mode 100644 index 2128c1852a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp +++ /dev/null @@ -1,314 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/CosNotify_Service.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Default_Factory.h" -#include "orbsvcs/Notify/Builder.h" -#include "ace/Sched_Params.h" -#include "ace/Arg_Shifter.h" -#include "ace/Dynamic_Service.h" -#include "tao/ORB_Core.h" -#include "orbsvcs/NotifyExtC.h" -#include "tao/debug.h" - -ACE_RCSID (Notify, - TAO_CosNotify_Service, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_CosNotify_Service::TAO_CosNotify_Service (void) -{ -} - -TAO_CosNotify_Service::~TAO_CosNotify_Service () -{ -} - -int -TAO_CosNotify_Service::init (int argc, ACE_TCHAR *argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - const ACE_TCHAR *current_arg = 0; - - // Default to an all reactive system. - int ec_threads = 0; - int consumer_threads = 0; - int supplier_threads = 0; - - int task_per_proxy = 0; - - TAO_Notify_Properties *properties = TAO_Notify_PROPERTIES::instance(); - - while (arg_shifter.is_anything_left ()) - { - if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-MTDispatching")) == 0) - { - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) The -MTDispatching option has been deprecated, use -DispatchingThreads \n"))); - } - else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-DispatchingThreads")))) - { - consumer_threads += ACE_OS::atoi (current_arg); - arg_shifter.consume_arg (); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-MTSourceEval")) == 0) - { - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) The -MTSourceEval option has been deprecated, use -SourceThreads \n"))); - } - else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-SourceThreads")))) - { - supplier_threads += ACE_OS::atoi (current_arg); - arg_shifter.consume_arg (); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-MTLookup")) == 0) - { - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) The -MTLookup option has been deprecated, use -SourceThreads \n"))); - } - else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-LookupThreads")))) - { - supplier_threads += ACE_OS::atoi (current_arg); - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) The -LookupThreads option has been deprecated, use -SourceThreads \n"))); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-MTListenerEval")) == 0) - { - arg_shifter.consume_arg (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) The -MTListenerEval option has been deprecated, use -DispatchingThreads \n"))); - } - else if (0 != (current_arg = arg_shifter.get_the_parameter (ACE_TEXT("-ListenerThreads")))) - { - // Since this option is always added to consumer_threads, we'll - // deprecate it in favor of that option. - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) The -ListenerThreads option has been deprecated, use -DispatchingThreads \n"))); - consumer_threads += ACE_OS::atoi (current_arg); - arg_shifter.consume_arg (); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-AsynchUpdates")) == 0) - { - arg_shifter.consume_arg (); - - properties->asynch_updates (1); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-NoUpdates")) == 0) - { - arg_shifter.consume_arg (); - - properties->updates (0); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-AllocateTaskperProxy")) == 0) - { - task_per_proxy = 1; - arg_shifter.consume_arg (); - } - else if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT("-AllowReconnect")) == 0) - { - arg_shifter.consume_arg (); - TAO_Notify_PROPERTIES::instance()->allow_reconnect (true); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Ignoring unknown option for Notify Factory: %s\n"), - arg_shifter.get_current() - )); - arg_shifter.consume_arg (); - } - } - - // Init the EC QoS - { - CosNotification::QoSProperties qos; - this->set_threads (qos, ec_threads); - properties->default_event_channel_qos_properties (qos); - } - - if (task_per_proxy == 0) - { - // Set the per ConsumerAdmin QoS - { - if (consumer_threads > 0) - ACE_DEBUG((LM_DEBUG, "Using %d threads for each ConsumerAdmin.\n", consumer_threads)); - CosNotification::QoSProperties qos; - this->set_threads (qos, consumer_threads); - properties->default_consumer_admin_qos_properties (qos); - } - - // Set the per SupplierAdmin QoS - { - if (supplier_threads > 0) - ACE_DEBUG((LM_DEBUG, "Using %d threads for each SupplierAdmin.\n", supplier_threads)); - CosNotification::QoSProperties qos; - this->set_threads (qos, supplier_threads); - properties->default_supplier_admin_qos_properties (qos); - } - } - else - { - // Set the per ProxyConsumer QoS - { - if (supplier_threads > 0) - ACE_DEBUG((LM_DEBUG, "Using %d threads for each Supplier.\n", supplier_threads)); - CosNotification::QoSProperties qos; - this->set_threads (qos, supplier_threads); // lookup thread per proxy doesn't make sense. - properties->default_proxy_consumer_qos_properties (qos); - } - - // Set the per ProxySupplier QoS - { - if (consumer_threads > 0) - ACE_DEBUG((LM_DEBUG, "Using %d threads for each Consumer.\n", consumer_threads)); - CosNotification::QoSProperties qos; - this->set_threads (qos, consumer_threads); - properties->default_proxy_supplier_qos_properties (qos); - } - } - - return 0; -} - -void -TAO_CosNotify_Service::set_threads (CosNotification::QoSProperties &qos, int threads) -{ - NotifyExt::ThreadPoolParams tp_params = - {NotifyExt::CLIENT_PROPAGATED, 0, 0, (unsigned)threads, 0, 0, 0, 0, 0 }; - - qos.length (1); - qos[0].name = CORBA::string_dup (NotifyExt::ThreadPool); - qos[0].value <<= tp_params; -} - -int -TAO_CosNotify_Service::fini (void) -{ - return 0; -} - -void -TAO_CosNotify_Service::init_service (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) -{ - ACE_DEBUG ((LM_DEBUG, "Loading the Cos Notification Service...\n")); - - this->init_i (orb ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_CosNotify_Service::init_i (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) -{ - // Obtain the Root POA - CORBA::Object_var object = - orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (object.in ())) - ACE_ERROR ((LM_ERROR, - " (%P|%t) Unable to resolve the RootPOA.\n")); - - PortableServer::POA_var default_poa = PortableServer::POA::_narrow (object.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - /// Set the properties - TAO_Notify_Properties* properties = TAO_Notify_PROPERTIES::instance(); - - properties->orb (orb); - properties->default_poa (default_poa.in ()); - - // Init the factory - this->factory_.reset (this->create_factory (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK; - ACE_ASSERT( this->factory_.get() != 0 ); - TAO_Notify_PROPERTIES::instance()->factory (this->factory_.get()); - - this->builder_.reset (this->create_builder (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK; - ACE_ASSERT( this->builder_.get() != 0 ); - TAO_Notify_PROPERTIES::instance()->builder (this->builder_.get()); -} - -TAO_Notify_Factory* -TAO_CosNotify_Service::create_factory (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Factory* factory = ACE_Dynamic_Service::instance ("TAO_Notify_Factory"); - if (factory == 0) - { - ACE_NEW_THROW_EX (factory, - TAO_Notify_Default_Factory (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - } - return factory; -} - -TAO_Notify_Builder* -TAO_CosNotify_Service::create_builder (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Builder* builder = 0; - ACE_NEW_THROW_EX (builder, - TAO_Notify_Builder (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return builder; -} - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_CosNotify_Service::create (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) -{ - return this->builder().build_event_channel_factory (poa ACE_ENV_ARG_PARAMETER); -} - -void -TAO_CosNotify_Service::remove (TAO_Notify_EventChannelFactory* /*ecf*/ ACE_ENV_ARG_DECL_NOT_USED) -{ - // NOP. -} - -TAO_Notify_Factory& -TAO_CosNotify_Service::factory (void) -{ - ACE_ASSERT( this->factory_.get() != 0 ); - return *this->factory_; -} - -TAO_Notify_Builder& -TAO_CosNotify_Service::builder (void) -{ - ACE_ASSERT( this->builder_.get() != 0 ); - return *this->builder_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - - -/*********************************************************************************************************************/ - -ACE_STATIC_SVC_DEFINE (TAO_Notify_Default_EMO_Factory_OLD, - ACE_TEXT (TAO_NOTIFY_DEF_EMO_FACTORY_NAME), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_CosNotify_Service), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - -/*********************************************************************************************************************/ - -ACE_STATIC_SVC_DEFINE (TAO_CosNotify_Service, - ACE_TEXT (TAO_COS_NOTIFICATION_SERVICE_NAME), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_CosNotify_Service), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) - - -ACE_FACTORY_DEFINE (TAO_Notify_Serv, TAO_CosNotify_Service) - -/*********************************************************************************************************************/ diff --git a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h b/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h deleted file mode 100644 index cc91e77d372..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/CosNotify_Service.h +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file CosNotify_Service.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_COSNOTIFY_SERVICE_H -#define TAO_Notify_COSNOTIFY_SERVICE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Service.h" -#include "orbsvcs/Notify/Builder.h" -#include "orbsvcs/Notify/Factory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Properties; -class TAO_Notify_EventChannelFactory; - -/** - * @class TAO_CosNotify_Service - * - * @brief A service object for creating the Notify Service Factory. - * - */ -class TAO_Notify_Serv_Export TAO_CosNotify_Service : public TAO_Notify_Service -{ -public: - /// Constuctor - TAO_CosNotify_Service (void); - - /// Destructor - virtual ~TAO_CosNotify_Service (); - - /// Init the service from configurator - virtual int init (int argc, ACE_TCHAR *argv[]); - - /// Init the service from driver - virtual void init_service (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL); - - virtual int fini (void); - - /// Create the Channel Factory. - virtual CosNotifyChannelAdmin::EventChannelFactory_ptr create (PortableServer::POA_ptr default_POA ACE_ENV_ARG_DECL); - - /// Called by the factory when it is destroyed. - virtual void remove (TAO_Notify_EventChannelFactory* ecf ACE_ENV_ARG_DECL); - -protected: - /// Init the data members - virtual void init_i (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL); - -private: - - /// Create the Factory for Notify objects. - virtual TAO_Notify_Factory* create_factory (ACE_ENV_SINGLE_ARG_DECL); - - /// Create the Builder for Notify objects. - virtual TAO_Notify_Builder* create_builder (ACE_ENV_SINGLE_ARG_DECL); - - /// Set thread options on . - void set_threads (CosNotification::QoSProperties &qos, int threads); - - TAO_Notify_Factory& factory(); - - /// Service component for building NS participants. - TAO_Notify_Builder& builder(); - - /// Service component for object factory operations. - ACE_Auto_Ptr< TAO_Notify_Factory > factory_; - - /// Service component for building NS participants. - ACE_Auto_Ptr< TAO_Notify_Builder > builder_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_CosNotify_Service) -ACE_FACTORY_DECLARE (TAO_Notify_Serv, TAO_CosNotify_Service) - -ACE_STATIC_SVC_DECLARE (TAO_Notify_Default_EMO_Factory_OLD) - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_COSNOTIFY_SERVICE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Default_Factory.cpp deleted file mode 100644 index 990da34bdbc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Default_Factory.cpp +++ /dev/null @@ -1,197 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Default_Factory.h" - -ACE_RCSID (Notify, - TAO_Notify_Default_Factory, - "$Id$") - -#include "orbsvcs/Notify/EventChannelFactory.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/Admin.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/SupplierAdmin.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" -#include "orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h" -#include "orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h" -#include "orbsvcs/Notify/Any/ProxyPushConsumer.h" -#include "orbsvcs/Notify/Any/ProxyPushSupplier.h" -#include "orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h" -#include "orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h" -#include "orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h" -#include "orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h" -#include "orbsvcs/Notify/Supplier.h" - -#include "orbsvcs/ESF/ESF_Proxy_List.h" -#include "orbsvcs/ESF/ESF_Copy_On_Write.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class COW_Collection_Default_Factory -{ -public: - typedef ACE_TYPENAME TAO_ESF_Proxy_List::Iterator PROXY_ITER; - typedef TAO_ESF_Copy_On_Write,PROXY_ITER, ACE_SYNCH> COLLECTION; - typedef TAO_ESF_Proxy_Collection BASE_COLLECTION; - - void create (BASE_COLLECTION* &collection ACE_ENV_ARG_DECL) - { - ACE_NEW_THROW_EX (collection, - COLLECTION (), - CORBA::INTERNAL ()); - } -}; - -TAO_Notify_Default_Factory::TAO_Notify_Default_Factory (void) -{ -} - -TAO_Notify_Default_Factory::~TAO_Notify_Default_Factory () -{ -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_ProxySupplier_Collection* &collection ACE_ENV_ARG_DECL) -{ - COW_Collection_Default_Factory f; - f.create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_ProxyConsumer_Collection* &collection ACE_ENV_ARG_DECL) -{ - COW_Collection_Default_Factory f; - f.create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_EventChannel_Collection* &collection ACE_ENV_ARG_DECL) -{ - COW_Collection_Default_Factory f; - f.create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_ConsumerAdmin_Collection* &collection ACE_ENV_ARG_DECL) -{ - COW_Collection_Default_Factory f; - f.create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_SupplierAdmin_Collection* &collection ACE_ENV_ARG_DECL) -{ - COW_Collection_Default_Factory f; - f.create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_Proxy_Collection* &collection ACE_ENV_ARG_DECL) -{ - COW_Collection_Default_Factory f; - f.create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_EventChannelFactory*& factory ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (factory, - TAO_Notify_EventChannelFactory (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (channel, - TAO_Notify_EventChannel (), - CORBA::NO_MEMORY ()); -} - - -void -TAO_Notify_Default_Factory::create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (admin, - TAO_Notify_SupplierAdmin (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (admin, - TAO_Notify_ConsumerAdmin (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_StructuredProxyPushConsumer (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_StructuredProxyPushSupplier (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_ProxyPushConsumer (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_ProxyPushSupplier (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_CosEC_ProxyPushConsumer (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_CosEC_ProxyPushSupplier (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_SequenceProxyPushConsumer (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_Default_Factory::create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_SequenceProxyPushSupplier (), - CORBA::NO_MEMORY ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_Notify_Serv, TAO_Notify_Default_Factory) - diff --git a/TAO/orbsvcs/orbsvcs/Notify/Default_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Default_Factory.h deleted file mode 100644 index 106d7cb265d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Default_Factory.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Default_Factory.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_DEFAULT_FACTORY_H -#define TAO_Notify_DEFAULT_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Factory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Default_Factory - * - * @brief Default_Factory interface for creating Notify Objects. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Default_Factory : public TAO_Notify_Factory -{ -public: - /// Constructor - TAO_Notify_Default_Factory (void); - - /// Destructor - virtual ~TAO_Notify_Default_Factory (); - - /// Create ProxySupplier Collection - virtual void create (TAO_Notify_ProxySupplier_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create ProxyConsumer Collection - virtual void create (TAO_Notify_ProxyConsumer_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create EventChannel Collection - virtual void create (TAO_Notify_EventChannel_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create ConsumerAdmin Collection - virtual void create (TAO_Notify_ConsumerAdmin_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create SupplierAdmin Collection - virtual void create (TAO_Notify_SupplierAdmin_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create Proxy Collection - virtual void create (TAO_Notify_Proxy_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create EventChannelDefault_Factory - virtual void create (TAO_Notify_EventChannelFactory*& channel_factory ACE_ENV_ARG_DECL); - - /// Create EventChannel - virtual void create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL); - - /// Create SupplierAdmin - virtual void create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL); - - /// Create ConsumerAdmin - virtual void create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL); - - /// Create ProxyPushConsumer - virtual void create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create ProxyPushSupplier - virtual void create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); - - /// Create CosEC_ProxyPushConsumer - virtual void create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create CosEC_ProxyPushSupplier - virtual void create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); - - /// Create StructuredProxyPushConsumer - virtual void create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create StructuredProxyPushSupplier - virtual void create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); - - /// Create SequenceProxyPushConsumer - virtual void create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create SequenceProxyPushSupplier - virtual void create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_Notify_Serv, TAO_Notify_Default_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_DEFAULT_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp deleted file mode 100644 index a40986b1a0c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp +++ /dev/null @@ -1,103 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Delivery_Request.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Delivery_Request.inl" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/Notify/Routing_Slip.h" - -#include "tao/debug.h" -#include "tao/corba.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -/////////////////// -// Delivery_Request -Delivery_Request::Delivery_Request (const Routing_Slip_Ptr & routing_slip, size_t request_id) - : routing_slip_ (routing_slip) - , request_id_ (request_id) - , delivery_type_ (0) -{ - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Delivery_Request:: constructor\n") - )); -} - -Delivery_Request::~Delivery_Request () -{ - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Delivery_Request:: destructor\n") - )); -} - -// DO NOT INLINE THIS. It uses the Routing_Slip_Ptr which cannot be declared at -// the time Delivery_Request.inl is compiled. -void -Delivery_Request::complete () -{ - routing_slip_->delivery_request_complete (this->request_id_); -} - -// DO NOT INLINE THIS. It uses the Routing_Slip_Ptr which cannot be declared at -// the time Delivery_Request.inl is compiled. -const TAO_Notify_Event::Ptr & -Delivery_Request::event () const -{ - return this->routing_slip_->event (); -} - -void -Delivery_Request::marshal (TAO_OutputCDR & cdr) -{ - if (this->delivery_type_ != 0) - { - cdr.write_octet (this->delivery_type_); - size_t dest_count = this->destination_id_.size (); - cdr.write_ulong (dest_count); - for (size_t ndest = 0; ndest < dest_count; ++ ndest) - { - cdr.write_ulong (this->destination_id_ [ndest]); - } - } -} - -unsigned long -Delivery_Request::sequence () const -{ - return this->routing_slip_->sequence (); -} - - -bool -Delivery_Request::should_retry () const -{ - return this->routing_slip_->should_retry (); -} - -void -Delivery_Request::dispatch ( - TAO_Notify_ProxySupplier * proxy_supplier, - bool filter ACE_ENV_ARG_DECL) -{ - this->routing_slip_->dispatch (proxy_supplier, filter ACE_ENV_ARG_PARAMETER); -} - -const Routing_Slip_Ptr & -Delivery_Request::routing_slip () const -{ - return this->routing_slip_; -} - -} // namespace - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h deleted file mode 100644 index 744bca7d733..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h +++ /dev/null @@ -1,135 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#ifndef TAO_NOTIFY_DELIVERY_REQUEST_H -#define TAO_NOTIFY_DELIVERY_REQUEST_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Topology_Object.h" -#include "orbsvcs/Notify/Event.h" -#include -#include -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations of referenced classes -class TAO_Notify_EventChannelFactory; -class TAO_Notify_ProxySupplier; - -namespace TAO_Notify -{ - -// Forward declarations of TAO_Notify classes/pointers/collections declared -// in this header -class Delivery_Request; -/// A reference-counted smart pointer to a Delivery_Request. -typedef ACE_Strong_Bound_Ptr Delivery_Request_Ptr; - -typedef ACE_Unbounded_Queue Delivery_Request_Queue; - -// Forward declarations of TAO_Notify classes/pointers/collections referenced -// in this header - -class Routing_Slip; -typedef ACE_Strong_Bound_Ptr Routing_Slip_Ptr; - -/// \brief Represents a request to deliver an event to a particular destination. -/// -/// A Routing Slip contains a collection of Delivery Requests. -/// A Delivery Request is associated with a Delivery Method. Delivery Methods -/// should be lightweight objects because they are copied, queued, and otherwise -/// passed around while they are waiting to be executed. The Delivery Request is -/// more stable. -class TAO_Notify_Serv_Export Delivery_Request -{ -public: - /// Normal constructor - /// \param routing_slip the routing slip that owns this Delivery Request. - /// \param request_id an id that identifies this Delivery Request to the Routing Slip. - Delivery_Request (const Routing_Slip_Ptr & routing_slip, size_t request_id); - - /// \brief A static "factory" method for use during restart. - /// - /// \param routing_slip. The routing slip to which the new Delivery Request should be attached. - /// \param request_id The id used to identify this Delivery Request to the Routing Slip. - /// \param ecf The EventChannelFactory responsible for reloading this Delivery Method. - /// \param cdr A CDR stream from which the peristent information for this Delivery Requect can be retrieved. - /// \return a pointer to the newly-allocated Delivery Request - static Delivery_Request_Ptr create ( - const Routing_Slip_Ptr & routing_slip, - size_t request_id, - TAO_Notify_EventChannelFactory & ecf, - TAO_InputCDR & cdr); - - /// a normal destructor. - ~Delivery_Request (); - - /// \brief A method to indicate the delivery is complete. - /// - /// To be called by the delivery method associated with this delivery request. - void complete (); - - /// \brief An accessor method for the event associated with the Routing Slip that owns this Delivery request. - const TAO_Notify_Event::Ptr & event () const; - - /// \brief An accessor method for the routing slip that owns this request. - const Routing_Slip_Ptr & routing_slip ()const; - - /// \brief Capture Delivery Type for the Delivery Method - /// - /// Called by the delivery method to capture information that should be persisted. - void set_delivery_type (ACE_CDR::Octet type); - - /// \brief Capture destination ID for the Delivery Request. - /// - /// Called by the delivery method to capture information that should be persisted. - void set_destination_id (IdVec & destination_id); - - /// \brief Marshal peristent information for this delivery request and its delivery methods into a CDR stream. - /// - /// Called during persistent event storage. - void marshal (TAO_OutputCDR & cdr); - - /// expose routing slip method - unsigned long sequence () const; - - /// expose routing slip method - bool should_retry () const; - - /// expose routing slip method - void dispatch (TAO_Notify_ProxySupplier * proxy_supplier, bool filter ACE_ENV_ARG_DECL); - - // Meaningless, but needed by ACE_Vector on some platforms (gcc2.x LynxOS) - bool operator == (const Delivery_Request & rhs) const; - // Meaningless, but needed by ACE_Vector on some platforms - bool operator != (const Delivery_Request & rhs) const; - -private: - /// No null constructor. - Delivery_Request (); - /// No copy constructor. - Delivery_Request (const Delivery_Request & rhs); - /// no assignment operator - Delivery_Request & operator = (const Delivery_Request & rhs); - -private: - Routing_Slip_Ptr routing_slip_; - size_t request_id_; - ACE_CDR::Octet delivery_type_; - IdVec destination_id_; -}; - -} // namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Delivery_Request.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_NOTIFY_DELIVERY_REQUEST_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl deleted file mode 100644 index a34687b5c64..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl +++ /dev/null @@ -1,27 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -ACE_INLINE -void -Delivery_Request::set_delivery_type (ACE_CDR::Octet type) -{ - this->delivery_type_ = type; -} - -ACE_INLINE -void -Delivery_Request::set_destination_id (IdVec & destination_id) -{ - this->destination_id_ = destination_id; -} - -} // namespace TAO_Notify - - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp b/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp deleted file mode 100644 index ca9765dc57e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp +++ /dev/null @@ -1,448 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ETCL_Filter.h" - -ACE_RCSID(Notify, - TAO_Notify_ETCL_Filter, - "$Id$") - -#include "ace/Auto_Ptr.h" -#include "tao/debug.h" -#include "orbsvcs/Notify/Notify_Constraint_Visitors.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ETCL_Filter::TAO_Notify_ETCL_Filter (void) - :constraint_expr_ids_ (0) -{ -} - -TAO_Notify_ETCL_Filter::~TAO_Notify_ETCL_Filter () -{ - ACE_TRY_NEW_ENV - { - this->remove_all_constraints (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - if (TAO_debug_level) - ACE_DEBUG ((LM_DEBUG, "Error in Filter dtor\n")); - - // @@ eat exception. - } - ACE_ENDTRY; - - if (TAO_debug_level > 1) - ACE_DEBUG ((LM_DEBUG, "Filter Destroyed\n")); -} - -char* -TAO_Notify_ETCL_Filter::constraint_grammar (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CORBA::string_dup ("ETCL"); -} - -void -TAO_Notify_ETCL_Filter::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) - { - TAO_Notify_Constraint_Expr* notify_constr_expr; - - ACE_NEW_THROW_EX (notify_constr_expr, - TAO_Notify_Constraint_Expr (), - CORBA::NO_MEMORY ()); - auto_ptr auto_expr (notify_constr_expr); - - 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_CHECK; - - notify_constr_expr->constr_expr = expr; - - CosNotifyFilter::ConstraintID cnstr_id = ++constraint_expr_ids_; - - if (this->constraint_expr_list_.bind (cnstr_id, notify_constr_expr) == -1) - ACE_THROW (CORBA::INTERNAL ()); - - if (TAO_debug_level > 1) - ACE_DEBUG ((LM_DEBUG, "Added constraint to filter %x\n", this, expr.constraint_expr.in ())); - - auto_expr.release (); - } -} - -CosNotifyFilter::ConstraintInfoSeq* -TAO_Notify_ETCL_Filter::add_constraints (const CosNotifyFilter::ConstraintExpSeq& constraint_list - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::InvalidConstraint - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - 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_ptr; - ACE_NEW_THROW_EX (infoseq_ptr, - CosNotifyFilter::ConstraintInfoSeq (constraint_length), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CosNotifyFilter::ConstraintInfoSeq_var infoseq (infoseq_ptr); - infoseq->length (constraint_length); - - // 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\n", - pop_index, - constraint_list [pop_index].constraint_expr.in ())); - } - } - - this->add_constraints_i (infoseq.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return infoseq._retn (); -} - -void -TAO_Notify_ETCL_Filter::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 - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // 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 constr_saved (modify_list.length ()); - TAO_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; - } - } - - // 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_; - - if (constraint_expr_list_.bind (cnstr_id, constr_saved[index]) == -1) - ACE_THROW (CORBA::NO_RESOURCES ()); - } - - 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_ETCL_Filter::get_constraints (const CosNotifyFilter::ConstraintIDSeq & id_list - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNotifyFilter::ConstraintNotFound)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // Create the list that goes out. - CosNotifyFilter::ConstraintInfoSeq *infoseq_ptr; - ACE_NEW_THROW_EX (infoseq_ptr, - CosNotifyFilter::ConstraintInfoSeq (id_list.length ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CosNotifyFilter::ConstraintInfoSeq_var infoseq (infoseq_ptr); - - TAO_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]; - } - - return infoseq._retn (); -} - -CosNotifyFilter::ConstraintInfoSeq * -TAO_Notify_ETCL_Filter::get_all_constraints (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - CORBA::ULong current_size = static_cast (this->constraint_expr_list_.current_size ()); - - // Create the list that goes out. - CosNotifyFilter::ConstraintInfoSeq *infoseq_ptr; - ACE_NEW_THROW_EX (infoseq_ptr, - CosNotifyFilter::ConstraintInfoSeq (current_size), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CosNotifyFilter::ConstraintInfoSeq_var infoseq (infoseq_ptr); - - infoseq->length (current_size); - - CONSTRAINT_EXPR_LIST::ITERATOR iter (this->constraint_expr_list_); - CONSTRAINT_EXPR_LIST::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 = - static_cast (entry->int_id_->constr_expr); - - infoseq[index].constraint_id = entry->ext_id_; - } - } - - return infoseq._retn (); -} - -void -TAO_Notify_ETCL_Filter::remove_all_constraints (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->remove_all_constraints_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_ETCL_Filter::remove_all_constraints_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CONSTRAINT_EXPR_LIST::ITERATOR iter (this->constraint_expr_list_); - CONSTRAINT_EXPR_LIST::ENTRY *entry; - - u_int index; - - for (index = 0; iter.done () == 0; iter.advance (), ++index) - { - if (iter.next (entry) != 0) - { - delete entry->int_id_; - entry->int_id_ = 0; - } - } - - this->constraint_expr_list_.unbind_all (); -} - -void -TAO_Notify_ETCL_Filter::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->remove_all_constraints_i (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_ETCL_Filter::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_ETCL_Filter::match_structured (const CosNotification::StructuredEvent & filterable_data - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNotifyFilter::UnsupportedFilterableData)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // We want to return true if at least one constraint matches. - CONSTRAINT_EXPR_LIST::ITERATOR iter (this->constraint_expr_list_); - CONSTRAINT_EXPR_LIST::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_ETCL_Filter::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_ETCL_Filter::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_ETCL_Filter::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_ETCL_Filter::get_callbacks (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - 0); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.h b/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.h deleted file mode 100644 index 758c3ea4e38..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ETCL_Filter.h +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ETCL_Filter.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_ETCL_FILTER_H -#define TAO_Notify_ETCL_FILTER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Containers_T.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Atomic_Op.h" -#include "orbsvcs/CosNotifyFilterS.h" -#include "orbsvcs/Notify/Notify_Constraint_Interpreter.h" -#include "ace/Null_Mutex.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_ETCL_Filter - * - * @brief Implementation of CosNotifyFilter::Filter servant. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ETCL_Filter - : public POA_CosNotifyFilter::Filter -{ -public: - /// Constuctor - TAO_Notify_ETCL_Filter (void); - - /// Destructor - virtual ~TAO_Notify_ETCL_Filter (); - -protected: - 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 - )); - - void remove_all_constraints_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - struct TAO_Notify_Constraint_Expr - { - // = DESCRIPTION - // Structure for associating ConstraintInfo with an interpreter. - // - CosNotifyFilter::ConstraintExp constr_expr; - // Constraint Expression. - - TAO_Notify_Constraint_Interpreter interpreter; - // Constraint Interpreter. - }; - - /// Lock to serialize access to data members. - TAO_SYNCH_MUTEX lock_; - - /// Id generator for ConstraintInfo's. - CORBA::Long constraint_expr_ids_; - - /// A list of the constraints stored in this filter. - typedef ACE_Hash_Map_Manager - CONSTRAINT_EXPR_LIST; - - CONSTRAINT_EXPR_LIST constraint_expr_list_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" -#endif /* TAO_ETCL_FILTER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp b/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp deleted file mode 100644 index 25d53cd5370..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp +++ /dev/null @@ -1,81 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ETCL_FilterFactory.h" - -ACE_RCSID(Notify, TAO_Notify_ETCL_FilterFactory, "$Id$") - -#include "orbsvcs/Notify/ETCL_Filter.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ETCL_FilterFactory::TAO_Notify_ETCL_FilterFactory (void) -{ -} - -TAO_Notify_ETCL_FilterFactory::~TAO_Notify_ETCL_FilterFactory () -{ -} - -CosNotifyFilter::FilterFactory_ptr -TAO_Notify_ETCL_FilterFactory::create (PortableServer::POA_var& filter_poa ACE_ENV_ARG_DECL) -{ - this->filter_poa_ = filter_poa; // save the filter poa. - - PortableServer::ServantBase_var servant_var (this); - - return _this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyFilter::Filter_ptr -TAO_Notify_ETCL_FilterFactory::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_OS::strcmp (constraint_grammar, "EXTENDED_TCL") != 0) - ACE_THROW_RETURN (CosNotifyFilter::InvalidGrammar (), 0); - - - // Create the RefCounted servant. - TAO_Notify_ETCL_Filter* filter = 0; - - ACE_NEW_THROW_EX (filter, - TAO_Notify_ETCL_Filter (), - CORBA::NO_MEMORY ()); - - PortableServer::ServantBase_var filter_var (filter); - - PortableServer::ObjectId_var oid = - this->filter_poa_->activate_object (filter - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyFilter::Filter::_nil ()); - - CORBA::Object_var obj = - this->filter_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); -} - -CosNotifyFilter::MappingFilter_ptr -TAO_Notify_ETCL_FilterFactory::create_mapping_filter (const char * /*constraint_grammar*/, - const CORBA::Any & /*default_value*/ - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::InvalidGrammar - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosNotifyFilter::MappingFilter::_nil ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_Notify_Serv, TAO_Notify_ETCL_FilterFactory) diff --git a/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h b/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h deleted file mode 100644 index 615f010c0cd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ETCL_FilterFactory.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_ETCL_FILTERFACTORY_H -#define TAO_Notify_ETCL_FILTERFACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyFilterS.h" - -#include "orbsvcs/Notify/FilterFactory.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_ETCL_FilterFactory - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ETCL_FilterFactory : - public virtual POA_CosNotifyFilter::FilterFactory, - public virtual TAO_Notify_FilterFactory -{ -public: - /// Constuctor - TAO_Notify_ETCL_FilterFactory (void); - - /// Destructor - virtual ~TAO_Notify_ETCL_FilterFactory (); - - ///= TAO_Notify_FilterFactory methods. - - virtual CosNotifyFilter::FilterFactory_ptr create ( - PortableServer::POA_var& filter_poa - ACE_ENV_ARG_DECL - ); - - ///= CosNotifyFilter::FilterFactory methods - - 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 - )); - -protected: - /// The POA in which to activate the Filters. - PortableServer::POA_var filter_poa_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -ACE_FACTORY_DECLARE (TAO_Notify_Serv, TAO_Notify_ETCL_FilterFactory) - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_ETCL_FILTERFACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event.cpp b/TAO/orbsvcs/orbsvcs/Notify/Event.cpp deleted file mode 100644 index 98d7bfd48cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Event.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Event.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, - TAO_Notify_Event, - "$Id$") - -#include "tao/debug.h" -#include "tao/CDR.h" -#include "orbsvcs/CosNotificationC.h" -// NOTE: unfortunately we must know about derived types to implement unmarshal -#include "orbsvcs/Notify/Any/AnyEvent.h" -#include "orbsvcs/Notify/Structured/StructuredEvent.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Event::TAO_Notify_Event (void) -: priority_ (CosNotification::Priority, CosNotification::DefaultPriority) -, timeout_ (CosNotification::Timeout) -, reliable_ (CosNotification::EventReliability, false) -, clone_ (0) -, is_on_heap_ (false) -{ - // if (TAO_debug_level > 0) - // ACE_DEBUG ((LM_DEBUG,"event:%x created\n", this )); -} - -TAO_Notify_Event::~TAO_Notify_Event () -{ - // if (TAO_debug_level > 1) - // ACE_DEBUG ((LM_DEBUG,"event:%x destroyed\n", this )); -} -void -TAO_Notify_Event::release (void) -{ - delete this; -} - -void -TAO_Notify_Event::translate (const CORBA::Any& any, CosNotification::StructuredEvent& notification) -{ - notification.remainder_of_body <<= any; - notification.header.fixed_header.event_type.type_name = CORBA::string_dup ("%ANY"); - notification.header.fixed_header.event_type.domain_name = CORBA::string_dup (""); -} - -void -TAO_Notify_Event::translate (const CosNotification::StructuredEvent& notification, CORBA::Any& any) -{ - any <<= notification; // is the typecode set by this operation or do we need to set it explicity. -} -/// Unmarshal an event from a CDR. (for persistence) -//static -TAO_Notify_Event * -TAO_Notify_Event::unmarshal (TAO_InputCDR & cdr) -{ - TAO_Notify_Event * result = 0; - ACE_CDR::Octet code = 0; - if (cdr.read_octet (code)) - { - switch (code) - { - case MARSHAL_ANY: - result = TAO_Notify_AnyEvent::unmarshal (cdr); - break; - case MARSHAL_STRUCTURED: - result = TAO_Notify_StructuredEvent::unmarshal (cdr); - break; - default: - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Event::unmarshal: unknown event code %d\n"), - code)); - break; - } - } - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event.h b/TAO/orbsvcs/orbsvcs/Notify/Event.h deleted file mode 100644 index 1b44711ce46..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event.h +++ /dev/null @@ -1,139 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Event.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_NOTIFY_EVENT_H -#define TAO_NOTIFY_EVENT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Refcountable.h" -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Property_Boolean.h" -#include "orbsvcs/Notify/Property_T.h" - -#include "orbsvcs/Event_ForwarderS.h" -#include "orbsvcs/CosNotifyFilterC.h" -#include "orbsvcs/CosNotificationC.h" - -#include "ace/Copy_Disabled.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Consumer; -class TAO_Notify_EventType; - -/** - * @class TAO_Notify_Event - * - * @brief Base class abstraction for Events flowing through the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Event - : public TAO_Notify_Refcountable - , private ACE_Copy_Disabled -{ -public: - typedef TAO_Notify_Refcountable_Guard_T Ptr; - - // Codes to distinguish marshaled events in persistent storage - enum {MARSHAL_ANY=1,MARSHAL_STRUCTURED=2}; - /// Constuctor - TAO_Notify_Event (void); - - /// Destructor - virtual ~TAO_Notify_Event (); - - /// Translate Any to Structured - static void translate (const CORBA::Any& any, CosNotification::StructuredEvent& notification); - - /// Translate Structured to Any - static void translate (const CosNotification::StructuredEvent& notification, CORBA::Any& any); - - /// Get the event type. - virtual const TAO_Notify_EventType& type (void) const = 0; - - /// Returns true if the filter matches. - virtual CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) const = 0; - - /// Convert to CosNotification::Structured type - virtual void convert (CosNotification::StructuredEvent& notification) const = 0; - - /// Push event to consumer - virtual void push (TAO_Notify_Consumer* consumer ACE_ENV_ARG_DECL) const = 0; - - /// Push event to the Event_Forwarder interface - virtual void push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const = 0; - - /// Push event to the Event_Forwarder interface - virtual void push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const = 0; - - /// Push event to the Event_Forwarder interface - virtual void push (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const = 0; - - /// Push event to the Event_Forwarder interface - virtual void push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const = 0; - - /// Return a pointer to a copy of this event on the heap - TAO_Notify_Event* queueable_copy (ACE_ENV_SINGLE_ARG_DECL) const; - - /// marshal this event into a CDR buffer (for persistence) - virtual void marshal (TAO_OutputCDR& cdr) const = 0; - - /// Unmarshal an event from a CDR. (for persistence) - static TAO_Notify_Event* unmarshal (TAO_InputCDR & cdr); - - ///= Accessors - /// Priority - const TAO_Notify_Property_Short& priority (void) const; - - /// Timeout - const TAO_Notify_Property_Time& timeout (void) const; - - /// Reliable - const TAO_Notify_Property_Boolean& reliable(void) const; - -protected: - /// = QoS properties - - /// Priority. - TAO_Notify_Property_Short priority_; - - /// Timeout. - TAO_Notify_Property_Time timeout_; - - /// Reliability - TAO_Notify_Property_Boolean reliable_; - -private: - /// Return a pointer to a copy of this event on the heap - virtual TAO_Notify_Event* copy (ACE_ENV_SINGLE_ARG_DECL) const = 0; - - virtual void release (void); - - mutable Ptr clone_; - bool is_on_heap_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Event.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_NOTIFY_EVENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event.inl b/TAO/orbsvcs/orbsvcs/Notify/Event.inl deleted file mode 100644 index 36bdd57e0f5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event.inl +++ /dev/null @@ -1,43 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const TAO_Notify_Property_Short& -TAO_Notify_Event::priority (void) const -{ - return this->priority_; -} - -ACE_INLINE const TAO_Notify_Property_Time& -TAO_Notify_Event::timeout (void) const -{ - return this->timeout_; -} - -ACE_INLINE const TAO_Notify_Property_Boolean& -TAO_Notify_Event::reliable (void) const -{ - return this->reliable_; -} - -ACE_INLINE -TAO_Notify_Event* -TAO_Notify_Event::queueable_copy (ACE_ENV_SINGLE_ARG_DECL) const -{ - if ( is_on_heap_ ) - { - return const_cast< TAO_Notify_Event* >( this ); - } - else if (this->clone_.get() == 0) - { - TAO_Notify_Event* copied = this->copy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - copied->is_on_heap_ = true; - this->clone_.reset( copied ); - } - return this->clone_.get(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp deleted file mode 100644 index a55f5e44f6c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp +++ /dev/null @@ -1,685 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/EventChannel.h" - -#include "orbsvcs/Notify/Container_T.h" -#include "orbsvcs/Notify/EventChannelFactory.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" -#include "orbsvcs/Notify/SupplierAdmin.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Factory.h" -#include "orbsvcs/Notify/Builder.h" -#include "orbsvcs/Notify/Find_Worker_T.h" -#include "orbsvcs/Notify/Seq_Worker_T.h" -#include "orbsvcs/Notify/Topology_Saver.h" -#include "orbsvcs/Notify/Save_Persist_Worker_T.h" -#include "orbsvcs/Notify/Reconnect_Worker_T.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/Event_Manager.h" -#include "orbsvcs/Notify/POA_Helper.h" - -#include "tao/debug.h" -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -ACE_RCSID(Notify, TAO_Notify_EventChannel, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Notify_Find_Worker_T -TAO_Notify_ConsumerAdmin_Find_Worker; - -typedef TAO_Notify_Find_Worker_T -TAO_Notify_SupplierAdmin_Find_Worker; - -typedef TAO_Notify_Seq_Worker_T TAO_Notify_ConsumerAdmin_Seq_Worker; -typedef TAO_Notify_Seq_Worker_T TAO_Notify_SupplierAdmin_Seq_Worker; - -TAO_Notify_EventChannel::TAO_Notify_EventChannel (void) - : ecf_ (0) - , ca_container_ (0) - , sa_container_ (0) -{ -} - -TAO_Notify_EventChannel::~TAO_Notify_EventChannel () -{ -} - -void -TAO_Notify_EventChannel::init (TAO_Notify_EventChannelFactory* ecf - , const CosNotification::QoSProperties & initial_qos - , const CosNotification::AdminProperties & initial_admin - ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (this->ca_container_.get() == 0); - - // this-> on the following line confuses VC6 - initialize (ecf ACE_ENV_ARG_PARAMETER); - - this->ecf_.reset (ecf); - - // Init ca_container_ - TAO_Notify_ConsumerAdmin_Container* ca_container = 0; - ACE_NEW_THROW_EX (ca_container, - TAO_Notify_ConsumerAdmin_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->ca_container_.reset (ca_container); - - this->ca_container().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Init ca_container_ - TAO_Notify_SupplierAdmin_Container* sa_container = 0; - ACE_NEW_THROW_EX (sa_container, - TAO_Notify_SupplierAdmin_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->sa_container_.reset (sa_container); - - this->sa_container().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Set the admin properties. - TAO_Notify_AdminProperties* admin_properties = 0; - ACE_NEW_THROW_EX (admin_properties, - TAO_Notify_AdminProperties (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - this->set_admin_properties (admin_properties); - - // create the event manager. @@ use factory - TAO_Notify_Event_Manager* event_manager = 0; - ACE_NEW_THROW_EX (event_manager, - TAO_Notify_Event_Manager (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->set_event_manager (event_manager); - - this->event_manager().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - const CosNotification::QoSProperties &default_ec_qos = - TAO_Notify_PROPERTIES::instance ()->default_event_channel_qos_properties (); - - this->set_qos (default_ec_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->set_qos (initial_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->set_admin (initial_admin ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Note originally default admins were allocated here, bt this caused problems - // attempting to save the topology changes before the Event Channel was completely - // constructed and linked to the ECF. - // Lazy evaluation also avoids creating unneded admins. -} - - -void -TAO_Notify_EventChannel::init (TAO_Notify::Topology_Parent* parent ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (this->ecf_.get() == 0); - // this-> on the following line confuses VC6 - initialize (parent ACE_ENV_ARG_PARAMETER); - - this->ecf_.reset (dynamic_cast (parent)); - ACE_ASSERT (this->ecf_.get() !=0); - - // Init ca_container_ - TAO_Notify_ConsumerAdmin_Container* ca_container = 0; - ACE_NEW_THROW_EX (ca_container, - TAO_Notify_ConsumerAdmin_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->ca_container_.reset (ca_container); - - this->ca_container().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify_SupplierAdmin_Container* sa_container = 0; - // Init ca_container_ - ACE_NEW_THROW_EX (sa_container, - TAO_Notify_SupplierAdmin_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->sa_container_.reset (sa_container); - - this->sa_container().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Set the admin properties. - TAO_Notify_AdminProperties* admin_properties = 0; - ACE_NEW_THROW_EX (admin_properties, - TAO_Notify_AdminProperties (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - this->set_admin_properties (admin_properties); - - // create the event manager. @@ use factory - TAO_Notify_Event_Manager* event_manager = 0; - ACE_NEW_THROW_EX (event_manager, - TAO_Notify_Event_Manager (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->set_event_manager (event_manager); - - this->event_manager().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - const CosNotification::QoSProperties &default_ec_qos = - TAO_Notify_PROPERTIES::instance ()->default_event_channel_qos_properties (); - - this->set_qos (default_ec_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -} - - -void -TAO_Notify_EventChannel::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_Notify_EventChannel::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_Notify_EventChannel::release (void) -{ - delete this; - //@@ inform factory -} - -int -TAO_Notify_EventChannel::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - int sd_ret = TAO_Notify_Object::shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - if (sd_ret == 1) - return 1; - - this->ca_container().shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - this->sa_container().shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - this->event_manager().shutdown (); - - return 0; -} - -void -TAO_Notify_EventChannel::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_EventChannel::Ptr guard( this ); - - int result = this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if ( result == 1) - return; - - this->ecf_->remove (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->sa_container_.reset( 0 ); - this->ca_container_.reset( 0 ); -} - -void -TAO_Notify_EventChannel::remove (TAO_Notify_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL) -{ - this->ca_container().remove (consumer_admin ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannel::remove (TAO_Notify_SupplierAdmin* supplier_admin ACE_ENV_ARG_DECL) -{ - this->sa_container().remove (supplier_admin ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannel::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedQoS - )) -{ - this->TAO_Notify_Object::set_qos (qos ACE_ENV_ARG_PARAMETER); -} - -CosNotification::QoSProperties* -TAO_Notify_EventChannel::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_Notify_EventChannel::MyFactory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->ecf_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_Notify_EventChannel::default_consumer_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - if (CORBA::is_nil (default_consumer_admin_.in ())) - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->default_admin_mutex_, CosNotifyChannelAdmin::ConsumerAdmin::_nil()); - if (CORBA::is_nil (default_consumer_admin_.in ())) - { - CosNotifyChannelAdmin::AdminID id; - this->default_consumer_admin_ = this->new_for_consumers (CosNotifyChannelAdmin::OR_OP, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::ConsumerAdmin::_nil()); - // Wish there was a better way to do this! - PortableServer::ServantBase * admin_servant = - this->poa()->reference_to_servant ( - this->default_consumer_admin_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::ConsumerAdmin::_nil()); - TAO_Notify_Admin * pAdmin = dynamic_cast (admin_servant); - ACE_ASSERT (pAdmin != 0); // if this assert triggers, we have mixed implementations? - if (pAdmin != 0) - { - pAdmin->set_default (true); - } - } - } - return CosNotifyChannelAdmin::ConsumerAdmin::_duplicate (this->default_consumer_admin_.in ()); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_Notify_EventChannel::default_supplier_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - if (CORBA::is_nil (default_supplier_admin_.in ())) - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->default_admin_mutex_, CosNotifyChannelAdmin::SupplierAdmin::_nil()); - if (CORBA::is_nil (default_supplier_admin_.in ())) - { - CosNotifyChannelAdmin::AdminID id; - this->default_supplier_admin_ = this->new_for_suppliers (CosNotifyChannelAdmin::OR_OP, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::SupplierAdmin::_nil()); - PortableServer::ServantBase * admin_servant = - this->poa()->poa()->reference_to_servant ( - this->default_supplier_admin_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - TAO_Notify_Admin * pAdmin = dynamic_cast (admin_servant); - ACE_ASSERT (pAdmin != 0); // if this assert triggers, we have mixed implementations? - if (pAdmin != 0) - { - pAdmin->set_default (true); - } - } - } - return CosNotifyChannelAdmin::SupplierAdmin::_duplicate (this->default_supplier_admin_.in ()); -} - -::CosNotifyFilter::FilterFactory_ptr TAO_Notify_EventChannel::default_filter_factory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->ecf_->get_default_filter_factory (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -::CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_Notify_EventChannel::new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) - -{ - ::CosNotifyChannelAdmin::ConsumerAdmin_var ca = - TAO_Notify_PROPERTIES::instance()->builder()->build_consumer_admin (this, op, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (ca._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (ca._retn ()); - return ca._retn (); -} - -::CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_Notify_EventChannel::new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ::CosNotifyChannelAdmin::SupplierAdmin_var sa = - TAO_Notify_PROPERTIES::instance()->builder()->build_supplier_admin (this, op, id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (sa._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (sa._retn ()); - return sa._retn (); -} - -CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_Notify_EventChannel::get_consumeradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminNotFound - )) -{ - TAO_Notify_ConsumerAdmin_Find_Worker find_worker; - - return find_worker.resolve (id, this->ca_container() ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_Notify_EventChannel::get_supplieradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminNotFound - )) -{ - TAO_Notify_SupplierAdmin_Find_Worker find_worker; - - return find_worker.resolve (id, this->sa_container() ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::AdminIDSeq* -TAO_Notify_EventChannel::get_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_ConsumerAdmin_Seq_Worker seq_worker; - - return seq_worker.create (this->ca_container() ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::AdminIDSeq* -TAO_Notify_EventChannel::get_all_supplieradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_SupplierAdmin_Seq_Worker seq_worker; - - return seq_worker.create (this->sa_container() ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannel::set_admin (const CosNotification::AdminProperties & admin ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedAdmin - )) -{ - this->admin_properties().init (admin); -} - -CosNotification::AdminProperties* -TAO_Notify_EventChannel::get_admin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotification::AdminProperties_var properties; - - ACE_NEW_THROW_EX (properties, - CosNotification::AdminProperties (), - CORBA::NO_MEMORY ()); - - this->admin_properties().populate (properties); - - return properties._retn (); -} - -CosEventChannelAdmin::ConsumerAdmin_ptr -TAO_Notify_EventChannel::for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->default_consumer_admin(ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosEventChannelAdmin::SupplierAdmin_ptr -TAO_Notify_EventChannel::for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->default_supplier_admin (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannel::validate_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 ()); -} - -void -TAO_Notify_EventChannel::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - bool changed = this->self_changed_; - this->self_changed_ = false; - this->children_changed_ = false; - - if (is_persistent ()) - { - TAO_Notify::NVPList attrs; - this->save_attrs(attrs); - - bool want_all_children = saver.begin_object( - this->id(), "channel", attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify::Save_Persist_Worker ca_wrk(saver, want_all_children); - - this->ca_container().collection()->for_each(&ca_wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify::Save_Persist_Worker sa_wrk(saver, want_all_children); - this->sa_container().collection()->for_each(&sa_wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - saver.end_object(this->id(), "channel" ACE_ENV_ARG_PARAMETER); - } -} - -namespace { - template - void add_attr(TAO_Notify::NVPList& attrs, const T& prop) { - if (prop.is_valid()) - { - attrs.push_back(TAO_Notify::NVP (prop)); - } - } -} - -void -TAO_Notify_EventChannel::save_attrs(TAO_Notify::NVPList& attrs) -{ - TAO_Notify_Object::save_attrs(attrs); - add_attr(attrs, this->admin_properties().max_global_queue_length()); - add_attr(attrs, this->admin_properties().max_consumers()); - add_attr(attrs, this->admin_properties().max_suppliers()); - add_attr(attrs, this->admin_properties().reject_new_events()); -} - -void -TAO_Notify_EventChannel::load_attrs(const TAO_Notify::NVPList& attrs) -{ - TAO_Notify_Object::load_attrs(attrs); - attrs.load(this->admin_properties().max_global_queue_length()); - attrs.load(this->admin_properties().max_consumers()); - attrs.load(this->admin_properties().max_suppliers()); - attrs.load(this->admin_properties().reject_new_events()); - this->admin_properties().init(); -} - -TAO_Notify::Topology_Object * -TAO_Notify_EventChannel::load_child (const ACE_CString &type, - CORBA::Long id, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL) -{ - TAO_Notify::Topology_Object* result = this; - if (type == "consumer_admin") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) EventChannel reload consumer_admin %d\n") - , static_cast (id) - )); - - // call special builder method to reload - TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); - TAO_Notify_ConsumerAdmin * ca = bld->build_consumer_admin ( - this, - id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - ca->load_attrs (attrs); - if (ca->is_default ()) - { - CORBA::Object_var caob = this->poa()->servant_to_reference (ca ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - this->default_consumer_admin_ = - CosNotifyChannelAdmin::ConsumerAdmin::_narrow ( - caob.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - result = ca; - } - else if (type == "supplier_admin") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) EventChannel reload supplier_admin %d\n") - , static_cast (id) - )); - TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); - - TAO_Notify_SupplierAdmin * sa = bld->build_supplier_admin ( - this, - id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - sa->load_attrs (attrs); - if (sa->is_default ()) - { - CORBA::Object_var saob = this->poa()->servant_to_reference (sa ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - this->default_supplier_admin_ = - CosNotifyChannelAdmin::SupplierAdmin::_narrow ( - saob.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - result = sa; - } - return result; -} -TAO_Notify_ProxyConsumer * -TAO_Notify_EventChannel::find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL) -{ - TAO_Notify_ProxyConsumer * result = 0; - size_t path_size = id_path.size (); - if (position < path_size) - { - TAO_Notify_SupplierAdmin_Find_Worker find_worker; - TAO_Notify_SupplierAdmin * admin = find_worker.find (id_path[position], this->sa_container() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ++position; - if (admin != 0) - { - result = admin->find_proxy_consumer (id_path, position - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - } - return result; -} - -TAO_Notify_ProxySupplier * -TAO_Notify_EventChannel::find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL) -{ - TAO_Notify_ProxySupplier * result = 0; - size_t path_size = id_path.size (); - if (position < path_size) - { - TAO_Notify_ConsumerAdmin_Find_Worker find_worker; - TAO_Notify_ConsumerAdmin * admin = find_worker.find (id_path[position], this->ca_container() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ++position; - if (admin != 0) - { - result = admin->find_proxy_supplier (id_path, position - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - } - return result; -} - - -void -TAO_Notify_EventChannel::reconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify::Reconnect_Worker ca_wrk; - this->ca_container().collection()->for_each(&ca_wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify::Reconnect_Worker sa_wrk; - this->sa_container().collection()->for_each(&sa_wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_Notify_EventChannel::TAO_Notify_ConsumerAdmin_Container& -TAO_Notify_EventChannel::ca_container() -{ - ACE_ASSERT( this->ca_container_.get() != 0 ); - return *ca_container_; -} - -TAO_Notify_EventChannel::TAO_Notify_SupplierAdmin_Container& -TAO_Notify_EventChannel::sa_container() -{ - ACE_ASSERT( this->sa_container_.get() != 0 ); - return *sa_container_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h deleted file mode 100644 index 2fe1c13ff05..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h +++ /dev/null @@ -1,254 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EventChannel.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENTCHANNEL_H -#define TAO_Notify_EVENTCHANNEL_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/Notify/Topology_Object.h" -#include "orbsvcs/Notify/Object.h" -#include "orbsvcs/Notify/EventChannelFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ConsumerAdmin; -class TAO_Notify_SupplierAdmin; -class TAO_Notify_EventChannelFactory; -class TAO_Notify_ProxyConsumer; -class TAO_Notify_ProxySupplier; -template class TAO_Notify_Container_T; - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -/** - * @class TAO_Notify_EventChannel - * - * @brief Implementation of CosNotifyChannelAdmin::EventChannel - * - */ -class TAO_Notify_Serv_Export TAO_Notify_EventChannel - : public POA_CosNotifyChannelAdmin::EventChannel, - public TAO_Notify::Topology_Parent -{ - friend class TAO_Notify_Builder; - -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannel > Ptr; - typedef CosNotifyChannelAdmin::ChannelIDSeq SEQ; - typedef CosNotifyChannelAdmin::ChannelIDSeq_var SEQ_VAR; - - /// Constuctor - TAO_Notify_EventChannel (void); - - /// Destructor - virtual ~TAO_Notify_EventChannel (); - - /// Init - void init (TAO_Notify_EventChannelFactory* ecf - , const CosNotification::QoSProperties & initial_qos - , const CosNotification::AdminProperties & initial_admin - ACE_ENV_ARG_DECL); - - /// Init (for reload) - void init (TAO_Notify::Topology_Parent * parent - ACE_ENV_ARG_DECL); - - /// Remove ConsumerAdmin from its container. - void remove (TAO_Notify_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL); - - /// Remove SupplierAdmin from its container. - void remove (TAO_Notify_SupplierAdmin* supplier_admin ACE_ENV_ARG_DECL); - - /// ServantBase refcount methods. - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - - // TAO_Notify::Topology_Parent - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, - CORBA::Long id, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL); - virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL); - - virtual TAO_Notify_Object::ID get_id () const {return id();} - - TAO_Notify_ProxyConsumer * find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL); - TAO_Notify_ProxySupplier * find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL); - - /// Shutdown - virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - virtual void load_attrs(const TAO_Notify::NVPList& attrs); - -private: - typedef TAO_Notify_Container_T TAO_Notify_ConsumerAdmin_Container; - typedef TAO_Notify_Container_T TAO_Notify_SupplierAdmin_Container; - - virtual void save_attrs(TAO_Notify::NVPList& attrs); - - /// = Data Members - /// The parent object. - TAO_Notify_EventChannelFactory::Ptr ecf_; - - TAO_SYNCH_MUTEX default_admin_mutex_; - - // Default Consumer Admin - CosNotifyChannelAdmin::ConsumerAdmin_var default_consumer_admin_; - - // Default Supplier Admin - CosNotifyChannelAdmin::SupplierAdmin_var default_supplier_admin_; - - /// =CosNotifyChannelAdmin::EventChannel methods - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::EventChannelFactory_ptr MyFactory (ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::ConsumerAdmin_ptr default_consumer_admin (ACE_ENV_SINGLE_ARG_DECL - - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::SupplierAdmin_ptr default_supplier_admin (ACE_ENV_SINGLE_ARG_DECL - - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyFilter::FilterFactory_ptr default_filter_factory (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::ConsumerAdmin_ptr new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::SupplierAdmin_ptr new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, - CosNotifyChannelAdmin::AdminID_out id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::ConsumerAdmin_ptr get_consumeradmin (CosNotifyChannelAdmin::AdminID id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminNotFound - )); - - virtual ::CosNotifyChannelAdmin::SupplierAdmin_ptr get_supplieradmin (CosNotifyChannelAdmin::AdminID id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminNotFound - )); - - virtual ::CosNotifyChannelAdmin::AdminIDSeq * get_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosNotifyChannelAdmin::AdminIDSeq * get_all_supplieradmins (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 ::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 - )); - - virtual ::CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual ::CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - TAO_Notify_ConsumerAdmin_Container& ca_container(); - TAO_Notify_SupplierAdmin_Container& sa_container(); - - /// ConsumerAdmin Container. - ACE_Auto_Ptr< TAO_Notify_ConsumerAdmin_Container > ca_container_; - - /// SupplierAdmin Container. - ACE_Auto_Ptr< TAO_Notify_SupplierAdmin_Container > sa_container_; - - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_EVENTCHANNEL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp deleted file mode 100644 index 2cf855c3009..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp +++ /dev/null @@ -1,564 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/EventChannelFactory.h" - -ACE_RCSID(Notify, TAO_Notify_EventChannelFactory, "$Id$") - -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Factory.h" -#include "orbsvcs/Notify/Builder.h" -#include "orbsvcs/Notify/Topology_Saver.h" -#include "orbsvcs/Notify/Topology_Loader.h" -#include "orbsvcs/Notify/Save_Persist_Worker_T.h" -#include "orbsvcs/Notify/Reconnect_Worker_T.h" -#include "orbsvcs/Notify/Event_Persistence_Strategy.h" -#include "orbsvcs/Notify/Routing_Slip_Persistence_Manager.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/Container_T.h" -#include "orbsvcs/Notify/Find_Worker_T.h" -#include "orbsvcs/Notify/Seq_Worker_T.h" -#include "orbsvcs/Notify/POA_Helper.h" - -#include "ace/Dynamic_Service.h" - -#include "tao/debug.h" -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Include this here since this is the only file that -// requires Topology_Factory. -namespace TAO_Notify -{ - // virtual - Topology_Factory::~Topology_Factory () - { - } -} - -typedef TAO_Notify_Find_Worker_T -TAO_Notify_EventChannel_Find_Worker; - -typedef TAO_Notify_Seq_Worker_T TAO_Notify_EventChannel_Seq_Worker; - -TAO_Notify_EventChannelFactory::TAO_Notify_EventChannelFactory (void) - : topology_save_seq_ (0) - , topology_factory_(0) - , reconnect_registry_(*this) - , loading_topology_ (false) -{ -} - -TAO_Notify_EventChannelFactory::~TAO_Notify_EventChannelFactory () -{ -} - -void -TAO_Notify_EventChannelFactory::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - int result = this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if ( result == 1) - return; - - TAO_Notify_Properties* properties = TAO_Notify_PROPERTIES::instance(); - - // Reset references to CORBA objects. - properties->orb (CORBA::ORB::_nil ()); - properties->default_poa (PortableServer::POA::_nil ()); - - ec_container_.reset( 0 ); -} - -void -TAO_Notify_EventChannelFactory::init (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (this->ec_container_.get() == 0); - - this->default_filter_factory_ = - TAO_Notify_PROPERTIES::instance()->builder()->build_filter_factory (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Init ec_container_ - TAO_Notify_EventChannel_Container* ecc = 0; - ACE_NEW_THROW_EX (ecc, - TAO_Notify_EventChannel_Container (), - CORBA::INTERNAL ()); - ACE_CHECK; - this->ec_container_.reset( ecc ); - - this->ec_container().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify_POA_Helper* object_poa = 0; - - // Bootstrap initial Object POA - ACE_NEW_THROW_EX (object_poa, - TAO_Notify_POA_Helper (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - ACE_Auto_Ptr auto_object_poa (object_poa); - - object_poa->init (poa ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->adopt_poa (auto_object_poa.release ()); - - // Note topology factory is configured separately from the "builder" mediated - // objects since it is independant of the "style" of Notification Service. - this->topology_factory_ = - ACE_Dynamic_Service ::instance ("Topology_Factory"); - - this->load_topology (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->load_event_persistence (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_EventChannelFactory::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_Notify_EventChannelFactory::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_Notify_EventChannelFactory::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_EventChannelFactory::remove (TAO_Notify_EventChannel* event_channel ACE_ENV_ARG_DECL) -{ - this->ec_container().remove (event_channel ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -int -TAO_Notify_EventChannelFactory::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - int sd_ret = TAO_Notify_Object::shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - if (sd_ret == 1) - return 1; - - this->ec_container().shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - return 0; -} - -CosNotifyFilter::FilterFactory_ptr -TAO_Notify_EventChannelFactory::get_default_filter_factory (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return CosNotifyFilter::FilterFactory::_duplicate (this->default_filter_factory_.in ()); -} - -::CosNotifyChannelAdmin::EventChannel_ptr TAO_Notify_EventChannelFactory::create_channel ( - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin, - CosNotifyChannelAdmin::ChannelID_out id ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedQoS - , CosNotification::UnsupportedAdmin - )) -{ - CosNotifyChannelAdmin::EventChannel_var ec = - TAO_Notify_PROPERTIES::instance()->builder()->build_event_channel (this - , initial_qos - , initial_admin - , id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::EventChannel::_nil()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::EventChannel::_nil()); - return ec._retn (); -} - -CosNotifyChannelAdmin::ChannelIDSeq* -TAO_Notify_EventChannelFactory::get_all_channels (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_EventChannel_Seq_Worker seq_worker; - - return seq_worker.create (this->ec_container() ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::EventChannel_ptr -TAO_Notify_EventChannelFactory::get_event_channel (CosNotifyChannelAdmin::ChannelID id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::ChannelNotFound - )) -{ - TAO_Notify_EventChannel_Find_Worker find_worker; - - return find_worker.resolve (id, this->ec_container() ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannelFactory::set_topology_factory(TAO_Notify::Topology_Factory* f) -{ - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P,%t) Debug Topology_Factory installed in EventChannelFactory.\n") - )); - // If the above meessage appears when you don't expect it - // use svc.conf to install the topology factory rather - // than calling this method. - this->topology_factory_ = f; -} - -void -TAO_Notify_EventChannelFactory::load_topology (ACE_ENV_SINGLE_ARG_DECL) -{ - this->loading_topology_ = true; - if (this->topology_factory_ != 0) - { - // create_loader will open and load the persistence file for validation - auto_ptr tl(this->topology_factory_->create_loader()); - if (tl.get () != 0) - { - tl->load (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Topology persistence disabled.\n"))); - } - this->loading_topology_ = false; -} -bool -TAO_Notify_EventChannelFactory::is_persistent () const -{ - return true; -} - -void -TAO_Notify_EventChannelFactory::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - bool changed = this->self_changed_; - this->self_changed_ = false; - this->children_changed_ = false; - - TAO_Notify::NVPList attrs; // ECF has no attributes - - bool want_all_children = - saver.begin_object(0, "channel_factory", attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // for each deleted child - // delete_child // if the child has persistence. - - TAO_Notify::Save_Persist_Worker wrk(saver, want_all_children); - - this->ec_container().collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (want_all_children || this->reconnect_registry_.is_changed ()) - { - this->reconnect_registry_.save_persistent(saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - saver.end_object(0, "channel_factory" ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannelFactory::load_event_persistence (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify::Event_Persistence_Strategy * strategy = - ACE_Dynamic_Service ::instance ("Event_Persistence"); - if (strategy != 0) - { - if (this->topology_factory_ != 0) - { - TAO_Notify::Event_Persistence_Factory * factory = strategy->get_factory (); - if (factory != 0) - { - for ( - TAO_Notify::Routing_Slip_Persistence_Manager * rspm = factory->first_reload_manager(); - rspm != 0; - rspm = rspm->load_next ()) - { - TAO_Notify::Routing_Slip_Ptr routing_slip = TAO_Notify::Routing_Slip::create (*this, rspm); - if (!routing_slip.null ()) - { - this->routing_slip_restart_set_.insert (routing_slip); - } - else - { - //@@todo: tell the rspm it's an orphan, but we can't during reload - // we need collect these and come back later to remove them - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reload persistent event failed.\n") - )); - } - } - } - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Notify Service: Configuration error. Event Persistence requires Topology Persistence.\n") - )); - ACE_THROW (CORBA::PERSIST_STORE()); - ACE_CHECK; - } - } -} - -bool -TAO_Notify_EventChannelFactory::change_to_parent (ACE_ENV_SINGLE_ARG_DECL) -{ - bool saving = false; - if (! this->loading_topology_) - { - // A null pointer means that saving of topology is disabled. - if (this->topology_factory_ != 0) - { - saving = true; - // seq is used to check save-in-progress - // if it changes while we're waiting for the lock - // then our change may have already been saved, so - // just return. Caller will signal change again if necessary. - short seq = this->topology_save_seq_; - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->topology_save_lock_, CORBA::INTERNAL ()); - ACE_CHECK_RETURN(false); - if (seq == this->topology_save_seq_) - { - auto_ptr saver(this->topology_factory_->create_saver()); - if (saver.get() != 0) - { - this->save_persistent(*saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(false); - saver->close (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - } - this->topology_save_seq_ += 1; - } - } - } - return saving; -} - -TAO_Notify::Topology_Object* -TAO_Notify_EventChannelFactory::load_child (const ACE_CString& type, - CORBA::Long id, - const TAO_Notify:: - NVPList& attrs - ACE_ENV_ARG_DECL) -{ - // ignore anything but our valid children (ie channel) - TAO_Notify::Topology_Object * result = this; - if (type == "channel") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) EventChannelFactory reload channel %d\n") - , static_cast (id) - )); - - TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); - TAO_Notify_EventChannel * ec = bld->build_event_channel( - this , - id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - - ec->load_attrs (attrs); - - result = ec; - } - else if (type == TAO_Notify::REGISTRY_TYPE) - { - result = & this->reconnect_registry_; - } - return result; -} - -void -TAO_Notify_EventChannelFactory::reconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - // Reconnect all children first - TAO_Notify::Reconnect_Worker wrk; - - this->ec_container().collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Then send reconnection announcement to registered clients - ACE_ASSERT (!CORBA::is_nil (this->channel_factory_.in ())); - this->reconnect_registry_.send_reconnect (this->channel_factory_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // reactivate events in-progress - Routing_Slip_Set::CONST_ITERATOR iter (this->routing_slip_restart_set_); - TAO_Notify::Routing_Slip_Ptr * routing_slip; - for (iter.first(); iter.next(routing_slip); iter.advance()) - { - (*routing_slip)->reconnect(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - this->routing_slip_restart_set_.reset (); -} - -NotifyExt::ReconnectionRegistry::ReconnectionID -TAO_Notify_EventChannelFactory::register_callback ( - NotifyExt::ReconnectionCallback_ptr reconnection - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->reconnect_registry_.register_callback ( - reconnection - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_EventChannelFactory::unregister_callback ( - NotifyExt::ReconnectionRegistry::ReconnectionID id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->reconnect_registry_.unregister_callback ( - id - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Boolean -TAO_Notify_EventChannelFactory::is_alive (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::Boolean (1); -} - -void -TAO_Notify_EventChannelFactory::save_topology (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_Notify_ProxyConsumer * -TAO_Notify_EventChannelFactory::find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL) -{ - TAO_Notify_ProxyConsumer * result = 0; - size_t path_size = id_path.size (); - - // EventChannelFactory only: The first id is proably for the ECF itself - // if so, silently consume it. - if (position < path_size && id_path[position] == this->id()) - { - ++position; - } - if (position < path_size) - { - TAO_Notify_EventChannel_Find_Worker find_worker; - - TAO_Notify_EventChannel * ec = find_worker.find (id_path[position], this->ec_container() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ++position; - if (ec != 0) - { - result = ec->find_proxy_consumer (id_path, position - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - } - return result; -} - -TAO_Notify_ProxySupplier * -TAO_Notify_EventChannelFactory::find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL) -{ - TAO_Notify_ProxySupplier * result = 0; - size_t path_size = id_path.size (); - - // EventChannelFactory only: The first id is proably for the ECF itself - // if so, silently consume it. - if (position < path_size && id_path[position] == this->id()) - { - ++position; - } - if (position < path_size) - { - TAO_Notify_EventChannel_Find_Worker find_worker; - TAO_Notify_EventChannel * ec = find_worker.find (id_path[position], this->ec_container() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ++position; - if (ec != 0) - { - result = ec->find_proxy_supplier (id_path, position - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - } - } - return result; -} - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_Notify_EventChannelFactory::activate_self (ACE_ENV_SINGLE_ARG_DECL) -{ - CORBA::Object_var obj = this->activate (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::EventChannelFactory::_nil ()); - this->channel_factory_ - = CosNotifyChannelAdmin::EventChannelFactory::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::EventChannelFactory::_nil ()); - CosNotifyChannelAdmin::EventChannelFactory::_narrow (obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CosNotifyChannelAdmin::EventChannelFactory::_nil ()); - - ACE_TRY_NEW_ENV - { - if (DEBUG_LEVEL > 9) - { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) TAO_Notify_EventChannelFactory::activate_self") )); - } - this->reconnect (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // ignore for now - } - ACE_ENDTRY; - return this->channel_factory_._retn(); -} - - -TAO_Notify_Object::ID -TAO_Notify_EventChannelFactory::get_id () const -{ - return id(); -} - -TAO_Notify_EventChannelFactory::TAO_Notify_EventChannel_Container& -TAO_Notify_EventChannelFactory::ec_container() -{ - ACE_ASSERT( this->ec_container_.get() != 0 ); - return *ec_container_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h deleted file mode 100644 index be559fae20a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h +++ /dev/null @@ -1,207 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EventChannelFactory.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENTCHANNELFACTORY_H -#define TAO_Notify_EVENTCHANNELFACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Topology_Object.h" -#include "orbsvcs/Notify/Topology_Factory.h" -#include "orbsvcs/Notify/Reconnection_Registry.h" -#include "orbsvcs/Notify/Routing_Slip.h" - -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/NotifyExtS.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -class TAO_Notify_EventChannel; -template class TAO_Notify_Container_T; - -/** - * @class TAO_Notify_EventChannelFactory - * - * @brief Implementation of CosNotifyChannelAdmin::EventChannelFactory - * - */ -class TAO_Notify_Serv_Export TAO_Notify_EventChannelFactory - : public virtual POA_NotifyExt::EventChannelFactory - , public TAO_Notify::Topology_Parent - -{ - friend class TAO_Notify_Builder; - typedef ACE_Unbounded_Set Routing_Slip_Set; - -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannelFactory > Ptr; - - /// Constuctor - TAO_Notify_EventChannelFactory (void); - - /// Init the factory - void init (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL); - - /// Destructor - virtual ~TAO_Notify_EventChannelFactory (); - - /// = ServantBase Methods - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - - /// Remove from the - void remove (TAO_Notify_EventChannel* channel ACE_ENV_ARG_DECL); - - /// Accesor for the default filter factory shared by all EC's. - virtual CosNotifyFilter::FilterFactory_ptr get_default_filter_factory ( - ACE_ENV_SINGLE_ARG_DECL - ); - - - ////////////////////////// - // The following methods are for - // unit testing and debugging - - /// Use the registered Topology_Factory to create a loader, and - /// load the topology. If no Topology_Factory is registered - /// then nothing will be loaded. - void load_topology (ACE_ENV_SINGLE_ARG_DECL); - - /// Use the passed in saver factory to generate topology saver objects. - /// Does not take ownership. - void set_topology_factory(TAO_Notify::Topology_Factory* sf); - - //-- Topology_Parent - - virtual bool is_persistent () const; - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual bool change_to_parent (ACE_ENV_SINGLE_ARG_DECL); - virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, - CORBA::Long id, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL); - CosNotifyChannelAdmin::EventChannelFactory_ptr activate_self (ACE_ENV_SINGLE_ARG_DECL); - virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL); - - /// handle change notifications - bool handle_change (ACE_ENV_SINGLE_ARG_DECL); - - void load_event_persistence (ACE_ENV_SINGLE_ARG_DECL); - - virtual void save_topology (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - TAO_Notify_ProxyConsumer * find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL); - TAO_Notify_ProxySupplier * find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL); - TAO_Notify_Object * follow_id_path (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL); - virtual TAO_Notify_Object::ID get_id () const; - - - private: - - /// = Data Members - - /// The default filter factory. - CosNotifyFilter::FilterFactory_var default_filter_factory_; - - /// = NotifyExt methods - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// shutdown - virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - - virtual - NotifyExt::ReconnectionRegistry::ReconnectionID register_callback ( - NotifyExt::ReconnectionCallback_ptr reconnection - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void unregister_callback ( - NotifyExt::ReconnectionRegistry::ReconnectionID id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// = CosNotifyChannelAdmin Methods - - virtual ::CosNotifyChannelAdmin::EventChannel_ptr create_channel ( - const CosNotification::QoSProperties & initial_qos, - const CosNotification::AdminProperties & initial_admin, - CosNotifyChannelAdmin::ChannelID_out id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNotification::UnsupportedQoS, - CosNotification::UnsupportedAdmin)); - - virtual ::CosNotifyChannelAdmin::ChannelIDSeq * get_all_channels ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::CosNotifyChannelAdmin::EventChannel_ptr get_event_channel ( - CosNotifyChannelAdmin::ChannelID id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNotifyChannelAdmin::ChannelNotFound)); - -private: - typedef TAO_Notify_Container_T TAO_Notify_EventChannel_Container; - - TAO_Notify_EventChannel_Container& ec_container(); - - /// Container for Event Channels. - ACE_Auto_Ptr< TAO_Notify_EventChannel_Container > ec_container_; - - TAO_SYNCH_MUTEX topology_save_lock_; - - CosNotifyChannelAdmin::EventChannelFactory_var channel_factory_; - - /// change-in-progress detector to avoid duplicates - short topology_save_seq_; - TAO_Notify::Topology_Factory* topology_factory_; - TAO_Notify::Reconnection_Registry reconnect_registry_; - bool loading_topology_; - - Routing_Slip_Set routing_slip_restart_set_; - - /// Release this object. - virtual void release (void); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_EVENTCHANNELFACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp deleted file mode 100644 index e86593e9583..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp +++ /dev/null @@ -1,180 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/EventType.h" - -#include "ace/ACE.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_string.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/EventType.inl" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/Notify/Topology_Saver.h" - -ACE_RCSID (Notify, - TAO_Notify_EventType, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_EventType -TAO_Notify_EventType::special (void) -{ - return TAO_Notify_EventType ("*", "%ALL"); -} - -TAO_Notify_EventType::TAO_Notify_EventType (void) -{ -} - -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 = (const char* )"*"; - this->event_type_.type_name = (const char* )"%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 () -{ -} - -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); -} - -TAO_Notify_EventType& -TAO_Notify_EventType::operator=(const CosNotification::EventType& event_type) -{ - this->init_i (event_type.domain_name.in (),event_type.type_name.in ()); - - return *this; -} - -TAO_Notify_EventType& -TAO_Notify_EventType::operator=(const TAO_Notify_EventType& event_type) -{ - if (this == &event_type) - return *this; - - this->init_i (event_type.event_type_.domain_name.in (),event_type.event_type_.type_name.in ()); - - return *this; -} - -bool -TAO_Notify_EventType::operator==(const TAO_Notify_EventType& event_type) const -{ - if (this->hash () != event_type.hash ()) - return false; - else // compare the strings - return (ACE_OS::strcmp (this->event_type_.type_name, event_type.event_type_.type_name) == 0 && - ACE_OS::strcmp (this->event_type_.domain_name, event_type.event_type_.domain_name) == 0 - ); -} - -bool -TAO_Notify_EventType::operator!=(const TAO_Notify_EventType& event_type) const -{ - if (this->hash () != event_type.hash ()) - return true; - else // compare the strings - return (ACE_OS::strcmp (this->event_type_.type_name, event_type.event_type_.type_name) != 0 || - ACE_OS::strcmp (this->event_type_.domain_name, event_type.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; -} - -void -TAO_Notify_EventType::dump (void) const -{ - ACE_DEBUG ((LM_DEBUG, - "(%s,%s)", - this->event_type_.domain_name.in (), - this->event_type_.type_name.in ())); -} - -/// Initialize from an NVPList, return false on failure -bool TAO_Notify_EventType::init(const TAO_Notify::NVPList& attrs) -{ - bool result = false; - - ACE_CString domain; - ACE_CString type; - if (attrs.load("Domain", domain) && attrs.load("Type", type)) - { - this->init_i(domain.c_str(), type.c_str()); - result = true; - } - return result; - -} - - // TAO_Notify::Topology_Object - -void -TAO_Notify_EventType::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - TAO_Notify::NVPList attrs; - bool changed = true; - - attrs.push_back(TAO_Notify::NVP("Domain", this->event_type_.domain_name.in())); - attrs.push_back(TAO_Notify::NVP("Type", this->event_type_.type_name.in())); - saver.begin_object(0, "subscription", attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - saver.end_object(0, "subscription" ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventType.h b/TAO/orbsvcs/orbsvcs/Notify/EventType.h deleted file mode 100644 index d6ba4bd1033..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventType.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EventType.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENTTYPE_H -#define TAO_Notify_EVENTTYPE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotificationC.h" -#include "orbsvcs/Notify/Topology_Object.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_EventType - * - * @brief - * - * 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_Serv_Export TAO_Notify_EventType : public TAO_Notify::Topology_Savable -{ -public: - /// Constuctor - TAO_Notify_EventType (void); - TAO_Notify_EventType (const char* domain_name, const char* type_name); - TAO_Notify_EventType (const CosNotification::EventType& event_type); - // Constuctor - - /// Destructor - virtual ~TAO_Notify_EventType (); - - /// hash value - u_long hash (void) const; - - /// Assignment from CosNotification::EventType - TAO_Notify_EventType& operator=(const CosNotification::EventType& event_type); - - /// Assignment operator. - TAO_Notify_EventType& operator=(const TAO_Notify_EventType& event_type); - - /// == operator - bool operator==(const TAO_Notify_EventType& notify_event_type) const; - - /// != operator - bool operator!=(const TAO_Notify_EventType& notify_event_type) const; - - static TAO_Notify_EventType special (void); - // Return the special event type. - - CORBA::Boolean is_special (void) const; - // Is this the special event (accept everything). - - const CosNotification::EventType& native (void) const; - // Get the type underneath us. - - /// Helper to print contents. - void dump (void) const; - - /// Initialize from an NVPList, return false on failure - bool init(const TAO_Notify::NVPList& attrs); - - // TAO_Notify::Topology_Object - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - -protected: - /// Init this object. - void init_i (const char* domain_name, const char* type_name); - - void recompute_hash (void); - // Recompute the hash value. - - // = Data Members - CosNotification::EventType event_type_; - // The event_type that we're decorating. - - u_long hash_value_; - // The hash value computed. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/EventType.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_EVENTTYPE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventType.inl b/TAO/orbsvcs/orbsvcs/Notify/EventType.inl deleted file mode 100644 index 95a07479666..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventType.inl +++ /dev/null @@ -1,19 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE u_long -TAO_Notify_EventType::hash (void) const -{ - return this->hash_value_; -} - -ACE_INLINE const CosNotification::EventType& -TAO_Notify_EventType::native (void) const -{ - return event_type_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp deleted file mode 100644 index bd9d489dd63..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp +++ /dev/null @@ -1,317 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/EventTypeSeq.h" -#include "orbsvcs/Notify/Topology_Saver.h" - -#include "tao/debug.h" -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -ACE_RCSID(Notify, TAO_Notify_EventTypeSeq, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_EventTypeSeq::TAO_Notify_EventTypeSeq (void) -{ -} - -TAO_Notify_EventTypeSeq::TAO_Notify_EventTypeSeq (const CosNotification::EventTypeSeq& event_type_seq) -{ - this->insert_seq (event_type_seq); -} - -TAO_Notify_EventTypeSeq & -TAO_Notify_EventTypeSeq::operator = (const TAO_Notify_EventTypeSeq & rhs) -{ - ACE_Unbounded_Set ::operator = (rhs); - return *this; -} - -TAO_Notify_EventTypeSeq::TAO_Notify_EventTypeSeq (const TAO_Notify_EventTypeSeq & rhs) - : TAO_Notify_Object () - , TAO_Notify::Topology_Savable () - , ACE_Unbounded_Set (rhs) - , TAO_Notify::Topology_Object () -{ -} - -void -TAO_Notify_EventTypeSeq::populate (CosNotification::EventTypeSeq& event_type_seq) const -{ - event_type_seq.length (static_cast (this->size ())); - - inherited::CONST_ITERATOR iter (*this); - - TAO_Notify_EventType* event_type = 0; - - CORBA::ULong i = 0; - for (iter.first (); iter.next (event_type); iter.advance (), ++i) - event_type_seq[i] = event_type->native (); -} - -void -TAO_Notify_EventTypeSeq::populate_no_special (CosNotification::EventTypeSeq& event_type_seq) const -{ - // If the special exists in us, don't include it. - const TAO_Notify_EventType& special = TAO_Notify_EventType::special (); - - if (this->find (special) == 0) - { - event_type_seq.length (static_cast (this->size () - 1)); - } - else - event_type_seq.length (static_cast (this->size ())); - - inherited::CONST_ITERATOR iter (*this); - - TAO_Notify_EventType* event_type; - - CORBA::ULong i = 0; - for (iter.first (); iter.next (event_type); iter.advance (), ++i) - { - if (event_type->is_special () == 0) // if its not the special event type. - event_type_seq[i] = event_type->native (); - } -} - -void -TAO_Notify_EventTypeSeq::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_EventTypeSeq::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_EventTypeSeq::insert_seq (const TAO_Notify_EventTypeSeq& event_type_seq) -{ - TAO_Notify_EventTypeSeq::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_EventTypeSeq::remove_seq (const TAO_Notify_EventTypeSeq& event_type_seq) -{ - TAO_Notify_EventTypeSeq::CONST_ITERATOR iter (event_type_seq); - - TAO_Notify_EventType* event_type; - - for (iter.first (); iter.next (event_type); iter.advance ()) - inherited::remove (*event_type); -} - -void -TAO_Notify_EventTypeSeq::add_and_remove (TAO_Notify_EventTypeSeq& seq_added, TAO_Notify_EventTypeSeq& seq_remove) -{ - const TAO_Notify_EventType& special = TAO_Notify_EventType::special (); - - if (this->find (special) == 0) // If this object has the special type. - { - if (seq_added.find (special) == 0) // if the seq. being added has the special type, you cannot be adding or removing anythings. * overrides. - { - seq_added.reset (); // remove everything from the sequence bening added. - seq_remove.reset (); // remove everything form whats being removed. - } - else // sequence being added does not have * - { - if (!seq_added.is_empty ()) // if sequence being added is non empty - { - this->reset (); // take away the * from this object. - this->insert_seq (seq_added); // insert the sequence being added as the new list of types. - - seq_remove.reset (); // reset all that is being removed. - seq_remove.insert (special); // remove * - } - else // nothing is being added - { - if (seq_remove.find (special) == 0) // we're removing everything - { - this->reset (); - seq_remove.reset (); // reset all that is being removed. - seq_remove.insert (special); // remove * - } - else if (!seq_remove.is_empty ()) - { - // if we're currently subscribed for everything and did not added anything, we can't remove something. - seq_remove.reset (); - } - } - } - } - else // if this object does not have the special type. - { - if (seq_added.find (special) == 0) // but the seq. being added has the special type, - { - if (seq_remove.find (special) == 0) // and you're removing * as well - { - seq_added.reset (); // ignore the request - seq_remove.reset (); // ignore the request - } - else // seq being removed does not have the special type - { - seq_remove.reset (); // everything that we're subscribed for is being removed. - seq_remove.insert_seq (*this); - - this->reset (); // insert the special in this object. - this->insert (special); - - seq_added.reset (); // also clear our set and add only * - seq_added.insert (special); - } - } - else // seq being added does not have special. - { - if (seq_remove.find (special) == 0) // but we're removing everything. - { - seq_remove.reset (); // move all that we have currently to removed. - seq_remove.insert_seq (*this); - } - - // so now there are no specials anywhere.. - { - //= First remove the duplicates in the added and removes lists. - // compute the intersection. - - TAO_Notify_EventTypeSeq common; - common.intersection (seq_added, seq_remove); - - // remove the common elements from both the lists so Added {BCDK} and Removed {CDEA} will yield Added {BK} and Removed {EA} - seq_added.remove_seq (common); - seq_remove.remove_seq (common); - - // If we're already subscribed for an element we should not subscribe again (duplicate events). - // so if we currently subscribe for ABC and we Added {BK} we should now get ABCK as current subscription and Added {K} - common.reset (); - common.intersection (*this, seq_added); - // remove the common elements from the added list. i,e. doent ask to add what we're already added for. - seq_added.remove_seq (common); - // update the current subscription. - this->insert_seq (seq_added); - - - // Similarly for removed.. if we're removing EA and now our current list looks like ABC we should emd up with - // current subscription BC and Removed {A} - common.reset (); - common.intersection (*this, seq_remove); - - seq_remove.reset (); - seq_remove.insert_seq (common); // only remove what we currently have. - - this->remove_seq (seq_remove); - } - } - } -} - -void -TAO_Notify_EventTypeSeq::intersection (const TAO_Notify_EventTypeSeq& rhs, const TAO_Notify_EventTypeSeq& lhs) -{ - // linear search. - TAO_Notify_EventTypeSeq::CONST_ITERATOR rhs_iter (rhs); - TAO_Notify_EventType* rhs_event_type; - - TAO_Notify_EventTypeSeq::CONST_ITERATOR lhs_iter (lhs); - TAO_Notify_EventType* lhs_event_type; - - for (rhs_iter.first (); rhs_iter.next (rhs_event_type); rhs_iter.advance ()) - { - for (lhs_iter.first (); lhs_iter.next (lhs_event_type); lhs_iter.advance ()) - { - if (*rhs_event_type == *lhs_event_type) // if both are same add to this object. - this->insert (*rhs_event_type); - } - } -} - -void -TAO_Notify_EventTypeSeq::dump (void) const -{ - TAO_Notify_EventTypeSeq::CONST_ITERATOR iter (*this); - - TAO_Notify_EventType* event_type; - - for (iter.first (); iter.next (event_type); iter.advance ()) - { - event_type->dump (); - ACE_DEBUG ((LM_DEBUG, ", ")); - } -} - - // TAO_Notify::Topology_Object -void -TAO_Notify_EventTypeSeq::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - bool changed = this->self_changed_; - this->self_changed_ = false; - this->children_changed_ = false; - TAO_Notify::NVPList attrs; - - TAO_Notify_EventTypeSeq::ITERATOR iter (*this); - TAO_Notify_EventType* event_type; - - if (this->size() != 0) - { - saver.begin_object(0, "subscriptions", attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - for (iter.first (); iter.next (event_type) != 0; iter.advance ()) - { - event_type->save_persistent(saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -// todo: -// for all deleted children -// { -// saver.delete_child(child_type, child_id); -// } - saver.end_object(0, "subscriptions" ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -TAO_Notify::Topology_Object* -TAO_Notify_EventTypeSeq::load_child (const ACE_CString &type, CORBA::Long id, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_UNUSED_ARG (id); - TAO_Notify::Topology_Object *result = this; - TAO_Notify_EventType et; - - if ((type == "subscription") && et.init(attrs)) - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Event_Type reload subscription\n") - )); - inherited::insert(et); - } - return result; -} - -void -TAO_Notify_EventTypeSeq::release (void) -{ - delete this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h b/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h deleted file mode 100644 index cf66b603c04..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EventTypeSeq.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENTTYPESEQ_H -#define TAO_Notify_EVENTTYPESEQ_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/EventType.h" -#include "ace/Unbounded_Set.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_EventTypeSeq - * - * @brief Allows operations using the CosNotification::EventTypeSeq type. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_EventTypeSeq - : public ACE_Unbounded_Set - , public TAO_Notify::Topology_Object -{ - typedef ACE_Unbounded_Set inherited; - -public: - /// Constructor - TAO_Notify_EventTypeSeq (void); - TAO_Notify_EventTypeSeq (const CosNotification::EventTypeSeq& event_type_seq); - TAO_Notify_EventTypeSeq (const TAO_Notify_EventTypeSeq & rhs); - TAO_Notify_EventTypeSeq & operator = (const TAO_Notify_EventTypeSeq & rhs); - - /// Preprocess the types added and removed. - void add_and_remove (TAO_Notify_EventTypeSeq& added, TAO_Notify_EventTypeSeq& removed); - - /// Populate this sequence with the intersection of rhs and lhs. - void intersection (const TAO_Notify_EventTypeSeq& rhs, const TAO_Notify_EventTypeSeq& lhs); - - /// insert_seq the contents of into this object. - void insert_seq (const CosNotification::EventTypeSeq& event_type_seq); - - /// remove_seq the contents of from this object. - void remove_seq (const CosNotification::EventTypeSeq& event_type_seq); - - /// insert_seq the contents of into this object. - void insert_seq (const TAO_Notify_EventTypeSeq& event_type_seq); - - /// remove_seq the contents of from this object. - void remove_seq (const TAO_Notify_EventTypeSeq& event_type_seq); - - /// Populate with the contents of this object. - void populate (CosNotification::EventTypeSeq& event_type) const; - - /// Populate with the contents of this object. - // Excludes the special event type. This is used to avoid sending * type updates to proxys. - void populate_no_special (CosNotification::EventTypeSeq& event_type) const; - - /// Print the contents. - void dump (void) const; - - // TAO_Notify::Topology_Object - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL); - -private: - - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_EVENTTYPESEQ_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.cpp b/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.cpp deleted file mode 100644 index 35264373bd4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.cpp +++ /dev/null @@ -1,309 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Event_Manager.h" - -ACE_RCSID(Notify, TAO_Notify_Event_Manager, "$Id$") - -#include "orbsvcs/Notify/ProxyConsumer.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/Consumer_Map.h" -#include "orbsvcs/Notify/Supplier_Map.h" -#include "orbsvcs/Notify/Event_Map_T.h" - -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#include "tao/debug.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/*****************************************************************************/ - -/** - * @class TAO_Notify_ProxyConsumer_Update_Worker - * - * @brief Inform ProxyConsumer of updates. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ProxyConsumer_Update_Worker : public TAO_ESF_Worker -{ -public: - TAO_Notify_ProxyConsumer_Update_Worker (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed); - -protected: - ///= TAO_ESF_Worker method - void work (TAO_Notify_ProxyConsumer* proxy ACE_ENV_ARG_DECL); - - const TAO_Notify_EventTypeSeq& added_; - const TAO_Notify_EventTypeSeq& removed_; -}; - -/********************************************************************************/ - -/** - * @class TAO_Notify_ProxySupplier_Update_Worker - * - * @brief Inform ProxySupplier of updates. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ProxySupplier_Update_Worker : public TAO_ESF_Worker -{ -public: - TAO_Notify_ProxySupplier_Update_Worker (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed); - -protected: - ///= TAO_ESF_Worker method - void work (TAO_Notify_ProxySupplier* proxy ACE_ENV_ARG_DECL); - - const TAO_Notify_EventTypeSeq& added_; - const TAO_Notify_EventTypeSeq& removed_; -}; - -/********************************************************************************/ - -TAO_Notify_Event_Manager::TAO_Notify_Event_Manager (void) -{ -} - -TAO_Notify_Event_Manager::~TAO_Notify_Event_Manager () -{ - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, "destroying consumer/supplier map count = %d/%d, \n", - this->consumer_map().proxy_count (), this->supplier_map().proxy_count ())); - } -} - -void TAO_Notify_Event_Manager::release() -{ - delete this; -} - -void -TAO_Notify_Event_Manager::init (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_ASSERT (this->consumer_map_.get() == 0); - - TAO_Notify_Consumer_Map* consumer_map = 0; - ACE_NEW_THROW_EX (consumer_map, - TAO_Notify_Consumer_Map (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - this->consumer_map_.reset( consumer_map ); - - this->consumer_map().init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify_Supplier_Map* supplier_map = 0; - ACE_NEW_THROW_EX (supplier_map, - TAO_Notify_Supplier_Map (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - this->supplier_map_.reset( supplier_map ); - - this->supplier_map_->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_Event_Manager::shutdown (void) -{ -} - -void -TAO_Notify_Event_Manager::connect (TAO_Notify_ProxySupplier* proxy_supplier ACE_ENV_ARG_DECL) -{ - this->consumer_map().connect (proxy_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Inform about offered types. - TAO_Notify_EventTypeSeq removed; - proxy_supplier->types_changed (this->offered_types (), removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_Notify_Event_Manager::disconnect (TAO_Notify_ProxySupplier* proxy_supplier ACE_ENV_ARG_DECL) -{ - this->consumer_map().disconnect (proxy_supplier ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Event_Manager::connect (TAO_Notify_ProxyConsumer* proxy_consumer ACE_ENV_ARG_DECL) -{ - this->supplier_map().connect (proxy_consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - // Inform about subscription types. - TAO_Notify_EventTypeSeq removed; - proxy_consumer->types_changed (this->subscription_types (), removed ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Event_Manager::disconnect (TAO_Notify_ProxyConsumer* proxy_consumer ACE_ENV_ARG_DECL) -{ - this->supplier_map().disconnect (proxy_consumer ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Event_Manager::offer_change (TAO_Notify_ProxyConsumer* proxy_consumer, const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq new_added, last_removed; - - this->publish (proxy_consumer, added, new_added ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->un_publish (proxy_consumer, removed, last_removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify_Consumer_Map::ENTRY::COLLECTION* updates_collection = this->consumer_map().updates_collection (); - - TAO_Notify_ProxySupplier_Update_Worker worker (new_added, last_removed); - - if (updates_collection != 0) - updates_collection->for_each (&worker ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Event_Manager::subscription_change (TAO_Notify_ProxySupplier* proxy_supplier, const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq new_added, last_removed; - - this->subscribe (proxy_supplier, added, new_added ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->un_subscribe (proxy_supplier, removed, last_removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify_Supplier_Map::ENTRY::COLLECTION* updates_collection = this->supplier_map().updates_collection (); - - TAO_Notify_ProxyConsumer_Update_Worker worker (new_added, last_removed); - - if (updates_collection != 0) - { - updates_collection->for_each (&worker ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_Notify_Event_Manager::subscribe (TAO_Notify_ProxySupplier* proxy_supplier, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& new_seq ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq::CONST_ITERATOR iter (seq); - - TAO_Notify_EventType* event_type; - - for (iter.first (); iter.next (event_type) != 0; iter.advance ()) - { - int result = this->consumer_map().insert (proxy_supplier, *event_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (result == 1) - new_seq.insert (*event_type); - } -} - -void -TAO_Notify_Event_Manager::un_subscribe (TAO_Notify_ProxySupplier* proxy_supplier, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& last_seq ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq::CONST_ITERATOR iter (seq); - - TAO_Notify_EventType* event_type = 0; - - for (iter.first (); iter.next (event_type) != 0; iter.advance ()) - { - int result = this->consumer_map().remove (proxy_supplier, *event_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (result == 1) - last_seq.insert (*event_type); - } -} - -void -TAO_Notify_Event_Manager::publish (TAO_Notify_ProxyConsumer* proxy_consumer, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& new_seq ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq::CONST_ITERATOR iter (seq); - - TAO_Notify_EventType* event_type = 0; - - for (iter.first (); iter.next (event_type) != 0; iter.advance ()) - { - int result = supplier_map().insert (proxy_consumer, *event_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (result == 1) - new_seq.insert (*event_type); - } -} - -void -TAO_Notify_Event_Manager::un_publish (TAO_Notify_ProxyConsumer* proxy_consumer, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& last_seq ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq::CONST_ITERATOR iter (seq); - - TAO_Notify_EventType* event_type = 0; - - for (iter.first (); iter.next (event_type) != 0; iter.advance ()) - { - int result = supplier_map().remove (proxy_consumer, *event_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (result == 1) - last_seq.insert (*event_type); - } -} - -TAO_Notify_Consumer_Map& -TAO_Notify_Event_Manager::consumer_map (void) -{ - ACE_ASSERT( this->consumer_map_.get() != 0 ); - return *this->consumer_map_; -} - -TAO_Notify_Supplier_Map& -TAO_Notify_Event_Manager::supplier_map (void) -{ - ACE_ASSERT( this->supplier_map_.get() != 0 ); - return *this->supplier_map_; -} - -const TAO_Notify_EventTypeSeq& -TAO_Notify_Event_Manager::offered_types (void) const -{ - return this->supplier_map_->event_types (); -} - -const TAO_Notify_EventTypeSeq& -TAO_Notify_Event_Manager::subscription_types (void) const -{ - return this->consumer_map_->event_types (); -} - -/********************************************************************************/ - -TAO_Notify_ProxyConsumer_Update_Worker::TAO_Notify_ProxyConsumer_Update_Worker (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed) - :added_ (added), removed_ (removed) -{ -} - -void -TAO_Notify_ProxyConsumer_Update_Worker::work (TAO_Notify_ProxyConsumer* proxy ACE_ENV_ARG_DECL) -{ - proxy->types_changed (added_, removed_ ACE_ENV_ARG_PARAMETER); -} - -/*****************************************************************************/ - -TAO_Notify_ProxySupplier_Update_Worker::TAO_Notify_ProxySupplier_Update_Worker (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed) - :added_ (added), removed_ (removed) -{ -} - -void -TAO_Notify_ProxySupplier_Update_Worker::work (TAO_Notify_ProxySupplier* proxy ACE_ENV_ARG_DECL) -{ - proxy->types_changed (added_, removed_ ACE_ENV_ARG_PARAMETER); -} - -/*****************************************************************************/ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h deleted file mode 100644 index ee897512072..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Manager.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Event_Manager.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENT_MANAGER_H -#define TAO_Notify_EVENT_MANAGER_H - -#include /**/ "ace/pre.h" -#include "ace/Auto_Ptr.h" - -#include "orbsvcs/Notify/Refcountable.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/orbconf.h" - -#include "ace/CORBA_macros.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxySupplier; -class TAO_Notify_ProxyConsumer; -class TAO_Notify_EventTypeSeq; - -template -class TAO_Notify_Event_Map_T; - -typedef TAO_Notify_Event_Map_T - TAO_Notify_Consumer_Map; - -typedef TAO_Notify_Event_Map_T - TAO_Notify_Supplier_Map; - -namespace CORBA -{ - class Environment; -} - -/** - * @class TAO_Notify_Event_Manager - * - * @brief A class that manages the Consumer and Supplier maps. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Event_Manager : public TAO_Notify_Refcountable -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Event_Manager > Ptr; - /// Constuctor - TAO_Notify_Event_Manager (void); - - /// Destructor - virtual ~TAO_Notify_Event_Manager (); - - void release(); - - /// Init - void init (ACE_ENV_SINGLE_ARG_DECL); - - /// Init - void shutdown (void); - - /// Connect ProxySupplier - void connect (TAO_Notify_ProxySupplier* proxy_supplier ACE_ENV_ARG_DECL); - - /// Disconnect ProxySupplier - void disconnect (TAO_Notify_ProxySupplier* proxy_supplier ACE_ENV_ARG_DECL); - - /// Connect ProxyConsumer - void connect (TAO_Notify_ProxyConsumer* proxy_consumer ACE_ENV_ARG_DECL); - - /// Disconnect ProxyConsumer - void disconnect (TAO_Notify_ProxyConsumer* proxy_consumer ACE_ENV_ARG_DECL); - - /// Map accessors. - TAO_Notify_Consumer_Map& consumer_map (void); - TAO_Notify_Supplier_Map& supplier_map (void); - - /// Offer change received on . - void offer_change (TAO_Notify_ProxyConsumer* proxy_consumer, const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed ACE_ENV_ARG_DECL); - - /// Subscription change received on . - void subscription_change (TAO_Notify_ProxySupplier* proxy_supplier, const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed ACE_ENV_ARG_DECL); - - /// What are the types being offered. - const TAO_Notify_EventTypeSeq& offered_types (void) const; - - /// What are the types being subscribed. - const TAO_Notify_EventTypeSeq& subscription_types (void) const; - -protected: - /// Subscribe to the event type sequence list . - void subscribe (TAO_Notify_ProxySupplier* proxy_supplier, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& new_seq ACE_ENV_ARG_DECL); - - /// Unsubscribe to the event type sequence list . - void un_subscribe (TAO_Notify_ProxySupplier* proxy_supplier, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& last_seq ACE_ENV_ARG_DECL); - - /// Subscribe to the event type sequence list . - void publish (TAO_Notify_ProxyConsumer* proxy_consumer, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& new_seq ACE_ENV_ARG_DECL); - - /// Subscribe to the event type sequence list . - void un_publish (TAO_Notify_ProxyConsumer* proxy_consumer, const TAO_Notify_EventTypeSeq& seq, TAO_Notify_EventTypeSeq& last_seq ACE_ENV_ARG_DECL); - -private: - // Disallow copying and assignment; we don't need them - // and if we let the compiler generate them it needs the - // full declaration of the template arguments for ACE_Auto_Ptr<> - // below. - TAO_Notify_Event_Manager (TAO_Notify_Event_Manager&); - TAO_Notify_Event_Manager& operator= (TAO_Notify_Event_Manager&); - - /// Consumer Map - ACE_Auto_Ptr< TAO_Notify_Consumer_Map > consumer_map_; - - /// Supplier Map - ACE_Auto_Ptr< TAO_Notify_Supplier_Map > supplier_map_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_EVENT_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp deleted file mode 100644 index 5488c3ad420..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_EVENT_MAP_ENTRY_CPP -#define TAO_Notify_EVENT_MAP_ENTRY_CPP - -#include "orbsvcs/Notify/Event_Map_Entry_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Event_Map_Entry_T.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, - TAO_Notify_Event_Map_Entry_T, - "$Id$") - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Factory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Event_Map_Entry_T::TAO_Notify_Event_Map_Entry_T (void) - : collection_ (0), count_ (0), usage_count_ (1) -{ -} - -template -TAO_Notify_Event_Map_Entry_T::~TAO_Notify_Event_Map_Entry_T () -{ - delete collection_; -} - -template void -TAO_Notify_Event_Map_Entry_T::init (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); - - factory->create (collection_ ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_Event_Map_Entry_T::connected (PROXY* proxy ACE_ENV_ARG_DECL) -{ - this->collection_->connected (proxy ACE_ENV_ARG_PARAMETER); - ++count_; -} - -template void -TAO_Notify_Event_Map_Entry_T::disconnected (PROXY* proxy ACE_ENV_ARG_DECL) -{ - this->collection_->disconnected (proxy ACE_ENV_ARG_PARAMETER); - --count_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_EVENT_MAP_ENTRY_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h deleted file mode 100644 index e362f9a7efb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Event_Map_Entry_T.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENT_MAP_ENTRY_T_H -#define TAO_Notify_EVENT_MAP_ENTRY_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Copy_Disabled.h" -#include "ace/Atomic_Op.h" -#include "ace/CORBA_macros.h" -#include "tao/ORB_Constants.h" -#include "tao/orbconf.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_Notify_Event_Map_T; -template class TAO_ESF_Proxy_Collection; - -/** - * @class TAO_Notify_Event_Map_Entry_T - * - * @brief The entry stored in the event map. - * - */ -template -class TAO_Notify_Event_Map_Entry_T : private ACE_Copy_Disabled -{ -public: - typedef TAO_ESF_Proxy_Collection COLLECTION; - - /// Constructor - TAO_Notify_Event_Map_Entry_T (void); - - /// Destructor - ~TAO_Notify_Event_Map_Entry_T (void); - - /// Init - Allocates collection - void init (ACE_ENV_SINGLE_ARG_DECL); - - /// Connect - void connected (PROXY* proxy ACE_ENV_ARG_DECL); - - /// Disconnect - void disconnected (PROXY* proxy ACE_ENV_ARG_DECL); - - /// Collection accessor - COLLECTION* collection (void); - - /// Count accessor - int count (void); - - ///= Reference counting methods. - // Incr the ref count. - CORBA::ULong _incr_refcnt (void); - - // Decr the ref count. This object is destroyed when the count is 0. - CORBA::ULong _decr_refcnt (void); - -protected: - /// The Collection - COLLECTION* collection_; - - /// Count of PROXY's connected in the collection; - int count_; - - /// Count of users accessing this entry. - ACE_Atomic_Op usage_count_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Event_Map_Entry_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Event_Map_Entry_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Event_Map_Entry_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_EVENT_MAP_ENTRY_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl deleted file mode 100644 index 89da0eaed96..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl +++ /dev/null @@ -1,31 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE ACE_TYPENAME -TAO_Notify_Event_Map_Entry_T::COLLECTION* -TAO_Notify_Event_Map_Entry_T::collection (void) { - return collection_; -} - -template ACE_INLINE int -TAO_Notify_Event_Map_Entry_T::count (void) -{ - return this->count_; -} - -template ACE_INLINE CORBA::ULong -TAO_Notify_Event_Map_Entry_T::_incr_refcnt (void) -{ - return ++this->usage_count_; -} - -template ACE_INLINE CORBA::ULong -TAO_Notify_Event_Map_Entry_T::_decr_refcnt (void) -{ - return --this->usage_count_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.cpp deleted file mode 100644 index 121d1f51fd0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.cpp +++ /dev/null @@ -1,166 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_EVENT_MAP_T_CPP -#define TAO_Notify_EVENT_MAP_T_CPP - -#include "orbsvcs/Notify/Event_Map_T.h" -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/Notify/Event_Map_Entry_T.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Factory.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Event_Map_T.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Event_Map_T::TAO_Notify_Event_Map_T (void) - :proxy_count_ (0) -{ - -} - -template -TAO_Notify_Event_Map_T::~TAO_Notify_Event_Map_T () -{ -} - -template void -TAO_Notify_Event_Map_T::init (ACE_ENV_SINGLE_ARG_DECL) -{ - this->broadcast_entry_.init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - this->updates_entry_.init (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template void -TAO_Notify_Event_Map_T::connect (PROXY* proxy ACE_ENV_ARG_DECL) -{ - this->updates_entry_.connected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_WRITE_GUARD (ACE_LOCK, ace_mon, this->lock_); - ++this->proxy_count_; -} - -template void -TAO_Notify_Event_Map_T::disconnect (PROXY* proxy ACE_ENV_ARG_DECL) -{ - this->updates_entry_.disconnected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_WRITE_GUARD (ACE_LOCK, ace_mon, this->lock_); - --this->proxy_count_; -} - -template int -TAO_Notify_Event_Map_T::insert (PROXY* proxy, const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL) -{ - ENTRY* entry; - - int result = -1; - - if (event_type.is_special () == 1) - { - entry = &this->broadcast_entry_; - - result = 0; - } - else - { - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - result = this->map_.find (event_type, entry); - } - - if (result == -1) // This type is being seen for the first time. - { - ACE_NEW_THROW_EX (entry, - ENTRY (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (-1); - - entry->init (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - entry->connected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - if (map_.bind (event_type, entry) == -1) - ACE_THROW_RETURN (CORBA::NO_MEMORY (), -1); - - if (this->event_types_.insert (event_type) == -1) - return -1; - - return 1; - } - else // Add to existing entry or the broadcast entry. - { - entry->connected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - } - - return 0; -} - -template int -TAO_Notify_Event_Map_T::remove (PROXY* proxy, const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL) -{ - ENTRY* entry = 0; - - if (event_type.is_special () == 1) - { - entry = &this->broadcast_entry_; - - entry->disconnected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - } - else - { - int result = -1; - - { - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - result = this->map_.find (event_type, entry); - } - - if (result == 0) - { - entry->disconnected (proxy ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (entry->count () == 0) - { - /// Exec a strategy for removing entries. - /// Strategy 1: remove_immediately - /// Strategy 2: remove a bunch_after crossing a threshold - /// Strategy 3: use cached allocator and 1 - - // Strategy 1: - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - this->map_.unbind (event_type); - - if (entry->_decr_refcnt () == 0) - delete entry; - - if (this->event_types_.remove (event_type) == -1) - return -1; - - return 1; - } - } - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_EVENT_MAP_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.h deleted file mode 100644 index 011cb6530da..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.h +++ /dev/null @@ -1,123 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Event_Map_T.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_EVENT_MAP_T_H -#define TAO_Notify_EVENT_MAP_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Hash_Map_Manager.h" -#include "ace/CORBA_macros.h" - -#include "orbsvcs/Notify/EventType.h" -#include "orbsvcs/Notify/Event_Map_Entry_T.h" -#include "orbsvcs/Notify/EventTypeSeq.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Event_Map_T - * - * @brief Template class for storing the collection of Proxys. - * - */ -template -class TAO_Notify_Event_Map_T -{ - -public: - typedef TAO_Notify_Event_Map_Entry_T ENTRY; - - /// Constuctor - TAO_Notify_Event_Map_T (void); - - /// Destructor - ~TAO_Notify_Event_Map_T (); - - /// Init - void init (ACE_ENV_SINGLE_ARG_DECL); - - /// Connect a PROXY - void connect (PROXY* proxy ACE_ENV_ARG_DECL); - - /// Disconnect a PROXY - void disconnect (PROXY* proxy ACE_ENV_ARG_DECL); - - /// Associate PROXY and event_type. - /// Returns 1 if is being seem for the 1st time otherwise returns 0. - /// Returns -1 on error. - int insert (PROXY* proxy, const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL); - - /// Remove association of PROXY and event_type. - /// Returns 1 if is being seem for the last time otherwise returns 0. - /// Returns -1 on error. - int remove (PROXY* proxy, const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL); - - /// Find the collection mapped to the - /// The usage_count on the entry returned is incremented. - ENTRY* find (const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL); - - /// Find the default broadcast list. - ACE_TYPENAME ENTRY::COLLECTION* broadcast_collection (void); - - /// Find the update list. This is all the PROXYS connected to this Map. - ACE_TYPENAME ENTRY::COLLECTION* updates_collection (void); - - /// Release the usage count on this entry. - void release (ENTRY* entry); - - /// Access all the event types available - const TAO_Notify_EventTypeSeq& event_types (void); - - /// Access number of proxys connected in all. - int proxy_count (void); - -protected: - /// The Map that stores eventtype to entry mapping. - ACE_Hash_Map_Manager map_; - - /// The lock to use. - ACE_LOCK lock_; - - /// Count of proxys connected. - int proxy_count_; - - /// The default broadcast list for EventType::special. - ENTRY broadcast_entry_; - - /// Update Entry - Keeps a list of all PROXY's connected to this Map. Updates are send to this list. - ENTRY updates_entry_; - - /// The event types that are available in this map. - TAO_Notify_EventTypeSeq event_types_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Event_Map_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Event_Map_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Event_Map_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_EVENT_MAP_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl deleted file mode 100644 index 2b485893049..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Map_T.inl +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE TAO_Notify_Event_Map_Entry_T* -TAO_Notify_Event_Map_T::find (const TAO_Notify_EventType& event_type ACE_ENV_ARG_DECL_NOT_USED) -{ - TAO_Notify_Event_Map_Entry_T* entry; - - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, 0); - - if (map_.find (event_type, entry) == 0) - { - entry->_incr_refcnt (); - return entry; - } - else - return 0; -} - -template ACE_INLINE void -TAO_Notify_Event_Map_T::release (ENTRY* entry) -{ - ACE_WRITE_GUARD (ACE_LOCK, ace_mon, this->lock_); - - if (entry->_decr_refcnt () == 0) - delete entry; -} - -template ACE_INLINE ACE_TYPENAME TAO_Notify_Event_Map_Entry_T::COLLECTION* -TAO_Notify_Event_Map_T::broadcast_collection (void) -{ - return this->broadcast_entry_.collection (); -} - -template ACE_INLINE ACE_TYPENAME TAO_Notify_Event_Map_Entry_T::COLLECTION* -TAO_Notify_Event_Map_T::updates_collection (void) -{ - return this->updates_entry_.collection (); -} - -template ACE_INLINE int -TAO_Notify_Event_Map_T::proxy_count (void) -{ - return this->proxy_count_; -} - -template ACE_INLINE const TAO_Notify_EventTypeSeq& -TAO_Notify_Event_Map_T::event_types (void) -{ - return this->event_types_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.cpp deleted file mode 100644 index 3caa8a0c5a1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "orbsvcs/Notify/Event_Persistence_Factory.h" - -ACE_RCSID (Notify, - Event_Persistence_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify::Event_Persistence_Factory::~Event_Persistence_Factory (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h deleted file mode 100644 index 0abc936b92a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file Event_Persistence_Factory.h - * - * $Id$ - * - * A factory class that creates a Routing_Slip_Persistence_Manager. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef EVENT_PERSISTENCE_FACTORY_H -#define EVENT_PERSISTENCE_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - class Routing_Slip_Persistence_Manager; - class Persistent_Callback; - - /// interface to be implemented by specific Event_Persistence_Factories - class TAO_Notify_Serv_Export Event_Persistence_Factory - { - public: - virtual ~Event_Persistence_Factory(); - - /// Create a Persistence Manager - virtual Routing_Slip_Persistence_Manager * - create_routing_slip_persistence_manager (Persistent_Callback * callback) = 0; - - /// Begin the reload process by returning the first Routing_Slip_Persistence_Manager - /// to continue call Routing_Slip_Persistence_Manager::load_next () - virtual Routing_Slip_Persistence_Manager * first_reload_manager () = 0; - - }; -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* EVENT_PERSISTENCE_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h deleted file mode 100644 index 51019bac62a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file Event_Persistence_Strategy.h - * - * $Id$ - * - * A factory class that creates a Routing_Slip_Persistence_Manager. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef EVENT_PERSISTENCE_STRATEGY_H -#define EVENT_PERSISTENCE_STRATEGY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" -#include "ace/Service_Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - class Event_Persistence_Factory; - - /// Interface to be implemented by specific strategies - class TAO_Notify_Serv_Export Event_Persistence_Strategy: public ACE_Service_Object - { - public: - - // get the current factory, creating it if necessary - virtual Event_Persistence_Factory * get_factory () = 0; - - // release the current factory so a new one can be created - virtual void reset () = 0; - }; - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* EVENT_PERSISTENCE_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Factory.h deleted file mode 100644 index 22fc4dcf653..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Factory.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Factory.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_FACTORY_H -#define TAO_Notify_FACTORY_H - -#include /**/ "ace/pre.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" -#include "ace/CORBA_macros.h" -#include "ace/Service_Object.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Lock; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Object; -class TAO_Notify_EventChannelFactory; -class TAO_Notify_EventChannel; -class TAO_Notify_SupplierAdmin; -class TAO_Notify_ConsumerAdmin; -class TAO_Notify_ProxyPushConsumer; -class TAO_Notify_CosEC_ProxyPushSupplier; -class TAO_Notify_CosEC_ProxyPushConsumer; -class TAO_Notify_ProxyPushSupplier; -class TAO_Notify_StructuredProxyPushConsumer; -class TAO_Notify_StructuredProxyPushSupplier; -class TAO_Notify_SequenceProxyPushConsumer; -class TAO_Notify_SequenceProxyPushSupplier; -class TAO_Notify_ProxyConsumer; -class TAO_Notify_ProxySupplier; -class TAO_Notify_ConsumerAdmin; -class TAO_Notify_SupplierAdmin; -class TAO_Notify_Proxy; -class TAO_Notify_Consumer; -class TAO_Notify_Supplier; -class TAO_Notify_Peer; - -namespace CORBA -{ - class Environment; -} - -template class TAO_ESF_Proxy_Collection; - -typedef TAO_ESF_Proxy_Collection TAO_Notify_ProxyConsumer_Collection; -typedef TAO_ESF_Proxy_Collection TAO_Notify_ProxySupplier_Collection; - -typedef TAO_ESF_Proxy_Collection TAO_Notify_EventChannel_Collection; -typedef TAO_ESF_Proxy_Collection TAO_Notify_ConsumerAdmin_Collection; -typedef TAO_ESF_Proxy_Collection TAO_Notify_SupplierAdmin_Collection; -typedef TAO_ESF_Proxy_Collection TAO_Notify_Proxy_Collection; - -/** - * @class TAO_Notify_Factory - * - * @brief Factory interface for creating Notify Objects. - * - */ -class /*TAO_Notify_Serv_Export*/ TAO_Notify_Factory : public ACE_Service_Object -{ -public: - /// Create ProxySupplier Collection - virtual void create (TAO_Notify_ProxySupplier_Collection*& collection ACE_ENV_ARG_DECL) = 0; - - /// Create ProxyConsumer Collection - virtual void create (TAO_Notify_ProxyConsumer_Collection*& collection ACE_ENV_ARG_DECL) = 0; - - /// Create EventChannel Collection - virtual void create (TAO_Notify_EventChannel_Collection*& collection ACE_ENV_ARG_DECL) = 0; - - /// Create ConsumerAdmin Collection - virtual void create (TAO_Notify_ConsumerAdmin_Collection*& collection ACE_ENV_ARG_DECL) = 0; - - /// Create SupplierAdmin Collection - virtual void create (TAO_Notify_SupplierAdmin_Collection*& collection ACE_ENV_ARG_DECL) = 0; - - /// Create Proxy Collection - virtual void create (TAO_Notify_Proxy_Collection*& collection ACE_ENV_ARG_DECL) = 0; - - /// Create EventChannelFactory - virtual void create (TAO_Notify_EventChannelFactory*& channel_factory ACE_ENV_ARG_DECL) = 0; - - /// Create EventChannel - virtual void create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL) = 0; - - /// Create SupplierAdmin - virtual void create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL) = 0; - - /// Create ConsumerAdmin - virtual void create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL) = 0; - - /// Create ProxyPushConsumer - virtual void create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create ProxyPushSupplier - virtual void create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create CosEC_ProxyPushConsumer - virtual void create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create CosEC_ProxyPushSupplier - virtual void create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create StructuredProxyPushConsumer - virtual void create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create StructuredProxyPushSupplier - virtual void create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create SequenceProxyPushConsumer - virtual void create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) = 0; - - /// Create SequenceProxyPushSupplier - virtual void create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp deleted file mode 100644 index 81b86902a36..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp +++ /dev/null @@ -1,204 +0,0 @@ -/* -*- C++ -*- $Id$ */ - -#include "orbsvcs/Notify/FilterAdmin.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/FilterAdmin.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, FilterAdmin, "$Id$") - -#include "orbsvcs/Notify/Topology_Saver.h" -#include "orbsvcs/Notify/Properties.h" -#include "ace/Bound_Ptr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Implementation skeleton constructor -TAO_Notify_FilterAdmin::TAO_Notify_FilterAdmin (void) -{ -} - -// Implementation skeleton destructor -TAO_Notify_FilterAdmin::~TAO_Notify_FilterAdmin (void) -{ -} - -CosNotifyFilter::FilterID -TAO_Notify_FilterAdmin::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); - - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - CosNotifyFilter::FilterID new_id = this->filter_ids_.id (); - - 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 - return new_id; -} - -void -TAO_Notify_FilterAdmin::remove_filter (CosNotifyFilter::FilterID filter_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::FilterNotFound - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - if (this->filter_list_.unbind (filter_id) == -1) - ACE_THROW (CosNotifyFilter::FilterNotFound ()); -} - -CosNotifyFilter::Filter_ptr -TAO_Notify_FilterAdmin::get_filter (CosNotifyFilter::FilterID filter_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::FilterNotFound - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNotifyFilter::Filter::_nil ()); - - CosNotifyFilter::Filter_var filter_var; - - if (this->filter_list_.find (filter_id, - filter_var) == -1) - ACE_THROW_RETURN (CosNotifyFilter::FilterNotFound (), - 0); - - return filter_var._retn (); -} - -CosNotifyFilter::FilterIDSeq* -TAO_Notify_FilterAdmin::get_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // Figure out the length of the list. - size_t len = this->filter_list_.current_size (); - - CosNotifyFilter::FilterIDSeq* list_ptr; - - // Allocate the list of length. - ACE_NEW_THROW_EX (list_ptr, - CosNotifyFilter::FilterIDSeq, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - CosNotifyFilter::FilterIDSeq_var list (list_ptr); - - list->length (static_cast (len)); - - FILTER_LIST::ITERATOR iter (this->filter_list_); - FILTER_LIST::ENTRY *entry; - - u_int index; - - for (index = 0; iter.next (entry) != 0; iter.advance (), ++index) - { - list[index] = entry->ext_id_; - } - - return list._retn (); -} - -void -TAO_Notify_FilterAdmin::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->filter_list_.unbind_all (); -} - -void -TAO_Notify_FilterAdmin::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - if (this->filter_list_.current_size() == 0) - return; - - bool changed = true; - - TAO_Notify::NVPList attrs; - bool want_children = saver.begin_object(0, "filter_admin", attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - if (want_children) - { - FILTER_LIST::ITERATOR iter (this->filter_list_); - FILTER_LIST::ENTRY* entry; - - TAO_Notify_Properties* properties = TAO_Notify_PROPERTIES::instance(); - CORBA::ORB_var orb = properties->orb(); - ACE_ASSERT(! CORBA::is_nil(orb.in())); - - for (; iter.next(entry) != 0; iter.advance()) - { - TAO_Notify::NVPList fattrs; - CORBA::Long id = entry->ext_id_; - CORBA::String_var ior = orb->object_to_string(entry->int_id_.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - fattrs.push_back(TAO_Notify::NVP("IOR", ior.in())); - saver.begin_object(id, "filter", fattrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - saver.end_object(id, "filter" ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - - saver.end_object(0, "filter_admin" ACE_ENV_ARG_PARAMETER); -} - -TAO_Notify::Topology_Object* -TAO_Notify_FilterAdmin::load_child (const ACE_CString &type, CORBA::Long id, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL) -{ - if (type == "filter") - { - TAO_Notify_Properties* properties = TAO_Notify_PROPERTIES::instance(); - CORBA::ORB_var orb = properties->orb(); - ACE_ASSERT(! CORBA::is_nil(orb.in())); - ACE_CString ior; - attrs.load("IOR", ior); - - CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - CosNotifyFilter::Filter_var filter = CosNotifyFilter::Filter::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - if (! CORBA::is_nil(filter.in())) - { - this->filter_ids_.set_last_used(id); - if (this->filter_list_.bind (id, filter) != 0) - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - } - return this; -} - -void -TAO_Notify_FilterAdmin::release (void) -{ - delete this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h deleted file mode 100644 index dfa0d7eb7af..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h +++ /dev/null @@ -1,117 +0,0 @@ -// -*- C++ -*- -//============================================================================= -/** - * @file FilterAdmin.h - * - * $Id$ - * - * @author Pradeep Gore - */ -//============================================================================= - - -#ifndef NOTIFY_FILTERADMIN_H - -#define NOTIFY_FILTERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosNotifyFilterS.h" - -#include "ace/Hash_Map_Manager.h" - -#include "orbsvcs/Notify/ID_Factory.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Topology_Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_FilterAdmin - * - * @brief FilterAdmin interface methods implementation. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_FilterAdmin - : public TAO_Notify::Topology_Object -{ - - public: - /// Constructor - TAO_Notify_FilterAdmin (void); - - /// Destructor - virtual ~TAO_Notify_FilterAdmin (void); - - // = match operation on all the filters - /// See if any of the filters match. - CORBA::Boolean match (const TAO_Notify_Event::Ptr &event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::UnsupportedFilterableData - )); - - // = match operation on all the filters - /// See if any of the filters match. - CORBA::Boolean match (const 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 - )); - - - // TAO_Notify::Topology_Object - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL); - private: - typedef ACE_Hash_Map_Manager FILTER_LIST; - - virtual void release (void); - - /// Mutex to serialize access to data members. - TAO_SYNCH_MUTEX lock_; - - /// List of filters - FILTER_LIST filter_list_; - - /// Id generator for proxy suppliers - TAO_Notify_ID_Factory filter_ids_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/FilterAdmin.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* NOTIFY_FILTERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.inl b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.inl deleted file mode 100644 index 3b30256fbb4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.inl +++ /dev/null @@ -1,39 +0,0 @@ -// -*- C++ -*- -// -//$Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_Notify_FilterAdmin::match (const TAO_Notify_Event* event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::UnsupportedFilterableData - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // If no filter is active, match is successfull. - if (this->filter_list_.current_size () == 0) - 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; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterFactory.h b/TAO/orbsvcs/orbsvcs/Notify/FilterFactory.h deleted file mode 100644 index a806f8d9437..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/FilterFactory.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file FilterFactory.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_FILTERFACTORY_H -#define TAO_Notify_FILTERFACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Object.h" - -#include "tao/PortableServer/PortableServer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_FilterFactory - * - * @brief Service Object to obtain a CosNotifyFilter::FilterFactory reference. - * - */ -class /*TAO_Notify_Serv_Export*/ TAO_Notify_FilterFactory : public ACE_Service_Object -{ -public: - /// Factory method to create a FilterFactory reference - /// The Factory is activated in the default POA. The filters created are activated in the . - virtual CosNotifyFilter::FilterFactory_ptr create ( - PortableServer::POA_var& filter_poa - ACE_ENV_ARG_DECL) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_FILTERFACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp deleted file mode 100644 index de2822ae61b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_FIND_WORKER_T_CPP -#define TAO_Notify_FIND_WORKER_T_CPP - -#include "orbsvcs/Notify/Find_Worker_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Find_Worker_T.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Find_Worker_T::TAO_Notify_Find_Worker_T (void) - :id_ (0), result_ (0) -{ -} - -template TYPE* -TAO_Notify_Find_Worker_T::find (const TAO_Notify_Object::ID id, CONTAINER& container ACE_ENV_ARG_DECL) -{ - this->id_ = id; - - container.collection ()->for_each (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->result_; -} - -template INTERFACE_PTR -TAO_Notify_Find_Worker_T::resolve (const TAO_Notify_Object::ID id, CONTAINER& container ACE_ENV_ARG_DECL) -{ - this->find (id, container ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (INTERFACE::_nil ()); - - if (this->result_ == 0) - ACE_THROW_RETURN (EXCEPTION () - , INTERFACE::_nil ()); - - CORBA::Object_var object = this->result_->ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (INTERFACE::_nil ()); - - return INTERFACE::_narrow (object.in () ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_FIND_WORKER_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.h b/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.h deleted file mode 100644 index c9c09eca0fa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Find_Worker_T.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_FIND_WORKER_T_H -#define TAO_Notify_FIND_WORKER_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/Notify/Container_T.h" -#include "orbsvcs/Notify/Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Find_Worker_T - * - * @brief Helper to locate a TYPE given its ID. - * - */ -template -class TAO_Notify_Serv_Export TAO_Notify_Find_Worker_T : public TAO_ESF_Worker -{ - typedef TAO_Notify_Container_T CONTAINER; - typedef TAO_ESF_Proxy_Collection COLLECTION; - -public: - /// Constructor - TAO_Notify_Find_Worker_T (void); - - /// Find the Type. - TYPE* find (const TAO_Notify_Object::ID id, CONTAINER& container ACE_ENV_ARG_DECL); - - /// Find and resolve to the Interface. - INTERFACE_PTR resolve (const TAO_Notify_Object::ID id, CONTAINER& container ACE_ENV_ARG_DECL); - -protected: - ///= TAO_ESF_Worker method - void work (TYPE* object ACE_ENV_ARG_DECL); - - /// The id we're looking for. - TAO_Notify_Object::ID id_; - - /// The result - TYPE* result_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Find_Worker_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Find_Worker_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Find_Worker_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_FIND_WORKER_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.inl deleted file mode 100644 index 2b9af82e37a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Find_Worker_T.inl +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE void -TAO_Notify_Find_Worker_T::work (TYPE* type ACE_ENV_ARG_DECL_NOT_USED) -{ - if (type->id () == this->id_) - this->result_ = type; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.cpp deleted file mode 100644 index 71f0721ee0e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ID_Factory.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/ID_Factory.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_ID_Factory, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ID_Factory::TAO_Notify_ID_Factory (void) - : seed_ (0) -{ -} - -TAO_Notify_ID_Factory::~TAO_Notify_ID_Factory () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.h deleted file mode 100644 index f6596be8410..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file ID_Factory.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_ID_FACTORY_H -#define TAO_Notify_ID_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Atomic_Op.h" - -#include "orbsvcs/Notify/Object.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_ID_Factory - * - * @brief A simple factory for generating ID's for objects created by Notify. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ID_Factory -{ -public: - /// Constuctor - TAO_Notify_ID_Factory (void); - - /// Destructor - ~TAO_Notify_ID_Factory (); - - TAO_Notify_Object::ID id (void); - - void set_last_used (const TAO_Notify_Object::ID id); - -private: - // Can't use atomic op, because we added the set_last_used() method. - TAO_Notify_Object::ID seed_; - TAO_SYNCH_MUTEX mtx_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/ID_Factory.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_ID_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.inl b/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.inl deleted file mode 100644 index 6aa178a4421..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ID_Factory.inl +++ /dev/null @@ -1,24 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_Notify_Object::ID -TAO_Notify_ID_Factory::id (void) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mtx_, 0); - return ++seed_; -} - -ACE_INLINE void -TAO_Notify_ID_Factory::set_last_used (const TAO_Notify_Object::ID id) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mtx_); - if (this->seed_ < id) - { - this->seed_ = id; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp deleted file mode 100644 index e9dc45dbb07..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Method_Request.h" - -#include "orbsvcs/Time_Utilities.h" -#include "ace/OS_NS_sys_time.h" - -ACE_RCSID(Notify, TAO_Notify_Method_Request_Queueable, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Method_Request::~TAO_Notify_Method_Request (void) -{ -} - -TAO_Notify_Method_Request_Queueable * -TAO_Notify_Method_Request_Queueable::copy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - return this; -} - -TAO_Notify_Method_Request_Queueable::TAO_Notify_Method_Request_Queueable() -{ -} - -TAO_Notify_Method_Request_Queueable::TAO_Notify_Method_Request_Queueable(const TAO_Notify_Event * event) -{ - this->init (event); -} - -void -TAO_Notify_Method_Request_Queueable::init (const TAO_Notify_Event* event) -{ - ACE_ASSERT( event != 0 ); - // 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). - - // 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)event->priority ().value () + 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) - - const TAO_Notify_Property_Time& timeout = event->timeout (); - - if (timeout.is_valid () && timeout != 0) - { - ACE_Time_Value deadline; - ORBSVCS_Time::TimeT_to_Time_Value(deadline, timeout.value()); - deadline += ACE_OS::gettimeofday (); - this->msg_deadline_time (deadline); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h deleted file mode 100644 index 271c2d721b4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- C++ -*- - -/** - * @file Method_Request.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_METHOD_REQUEST_H -#define TAO_Notify_METHOD_REQUEST_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Message_Block.h" -#include "ace/Bound_Ptr.h" -#include "ace/OS_NS_sys_time.h" - -#include "orbsvcs/Notify/Event.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Method_Request_Queueable; - -/** - * @class TAO_Notify_Method_Request - * - * @brief Base class for Method Requests - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request -{ -public: - /// Destructor. - virtual ~TAO_Notify_Method_Request (void); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL) = 0; - virtual TAO_Notify_Method_Request_Queueable* copy (ACE_ENV_SINGLE_ARG_DECL) = 0; -}; - -/***********************************************************************/ - -/** - * @class TAO_Notify_Method_Request_Queueable - * - * @brief Interface for NS method Requests - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Queueable - : public ACE_Message_Block - , public TAO_Notify_Method_Request -{ -public: - enum {PRIORITY_BASE = 32768}; - - TAO_Notify_Method_Request_Queueable(); - TAO_Notify_Method_Request_Queueable(const TAO_Notify_Event * event); - - virtual TAO_Notify_Method_Request_Queueable* copy (ACE_ENV_SINGLE_ARG_DECL); - void init (const TAO_Notify_Event * event); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_METHOD_REQUEST_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp deleted file mode 100644 index af503aa3077..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp +++ /dev/null @@ -1,304 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Method_Request_Dispatch.h" - -ACE_RCSID(Notify, TAO_Notify_Method_Request_Dispatch, "$Id$") - -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/Consumer.h" -#include "orbsvcs/Notify/Admin.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" -#include "orbsvcs/Notify/EventChannelFactory.h" - -#include "tao/debug.h" -#include "tao/CDR.h" - -#include "ace/OS_NS_stdio.h" - -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Constuct from event -TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch ( - const TAO_Notify_Event * event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Event (event) - , proxy_supplier_ (proxy_supplier) - , filtering_ (filtering) -{ -} - -// Construct from a delivery rquest -TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch ( - const TAO_Notify::Delivery_Request_Ptr & delivery, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Event (delivery) - , proxy_supplier_ (proxy_supplier) - , filtering_ (filtering) -{ -} - -// Constuct construct from another method request+event -// event is passed separately because we may be using a copy -// of the one in the previous method request -TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch ( - const TAO_Notify_Method_Request_Event & request, - const TAO_Notify_Event * event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Event (request, event) - , proxy_supplier_ (proxy_supplier) - , filtering_ (filtering) -{ -} - -TAO_Notify_Method_Request_Dispatch::~TAO_Notify_Method_Request_Dispatch () -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Destroy TAO_Notify_Method_Request_Dispatch @%@\n"), - this)); -#endif -} - -int TAO_Notify_Method_Request_Dispatch::execute_i (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->proxy_supplier_->has_shutdown ()) - return 0; // If we were shutdown while waiting in the queue, return with no action. - - if (this->filtering_ == 1) - { - TAO_Notify_Admin& parent = this->proxy_supplier_->consumer_admin (); - CORBA::Boolean val = this->proxy_supplier_->check_filters (this->event_, - parent.filter_admin (), - parent.filter_operator () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (TAO_debug_level > 1) - ACE_DEBUG ((LM_DEBUG, "Proxysupplier %x filter eval result = %d",&this->proxy_supplier_ , val)); - - // Filter failed - do nothing. - if (val == 0) - return 0; - } - - ACE_TRY - { - TAO_Notify_Consumer* consumer = this->proxy_supplier_->consumer (); - - if (consumer != 0) - { - consumer->deliver (this ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT ("TAO_Notify_Method_Request_Dispatch::: error sending event.\n ") - ); - } - ACE_ENDTRY; - - return 0; -} - -/// Static method used to reconstruct a Method Request Dispatch -TAO_Notify_Method_Request_Dispatch_Queueable * -TAO_Notify_Method_Request_Dispatch::unmarshal ( - TAO_Notify::Delivery_Request_Ptr & delivery_request, - TAO_Notify_EventChannelFactory &ecf, - TAO_InputCDR & cdr - ACE_ENV_ARG_DECL) -{ - bool ok = true; - TAO_Notify_Method_Request_Dispatch_Queueable * result = 0; - ACE_CString textpath; - CORBA::ULong count; - if (cdr.read_ulong (count)) - { - TAO_Notify::IdVec id_path (count); - for (size_t nid = 0; ok && nid < count; ++nid) - { - TAO_Notify_Object::ID id = 0; - if ( cdr.read_long (id)) - { - id_path.push_back (id); - char idbuf[20]; - ACE_OS::snprintf (idbuf, sizeof(idbuf)-1, "/%d", static_cast (id)); - textpath += idbuf; - } - else - { - ok = false; - } - } - - if (ok) - { - TAO_Notify_ProxySupplier* proxy_supplier = ecf.find_proxy_supplier (id_path, - 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - if (proxy_supplier != 0) - { - if (DEBUG_LEVEL > 6) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch reload event for %s\n") - , textpath.c_str() - )); - ACE_NEW_NORETURN (result, - TAO_Notify_Method_Request_Dispatch_Queueable (delivery_request, proxy_supplier, true)); - } - else - { - TAO_Notify_ProxyConsumer * proxy_consumer = ecf.find_proxy_consumer (id_path, 0 ACE_ENV_ARG_PARAMETER); //@@todo - if (proxy_consumer == 0) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch::unmarshal: unknown proxy id %s\n") - , textpath.c_str() - )); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch::unmarshal: wrong type of proxy id %s\n") - , textpath.c_str() - )); - } - } - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch::unmarshal: Cant read proxy id path\n") - )); - } - } - return result; -} - -/////////////////////////////////////////////////////////////////////////////// - - -/*******************************************************************/ - -// Constuct construct from another method request+event -// event is passed separately because we may be using a copy -// of the one in the previous method request -TAO_Notify_Method_Request_Dispatch_Queueable::TAO_Notify_Method_Request_Dispatch_Queueable ( - const TAO_Notify_Method_Request_Event & request, - TAO_Notify_Event::Ptr & event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Dispatch (request, event.get (), proxy_supplier, filtering) - , TAO_Notify_Method_Request_Queueable (event.get ()) - , event_var_( event ) -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch @%@\n"), - this)); -#endif -} - - /// Constuct construct from Delivery Request - /// should ONLY be used by unmarshall -TAO_Notify_Method_Request_Dispatch_Queueable::TAO_Notify_Method_Request_Dispatch_Queueable ( - const TAO_Notify::Delivery_Request_Ptr & request, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Dispatch (request, request->event ().get (), proxy_supplier, filtering) - , TAO_Notify_Method_Request_Queueable (request->event ().get ()) - , event_var_( request->event () ) - -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Construct unmarshalled Method_Request_Dispatch_Queueable @%@\n"), - this)); -#endif -} - -TAO_Notify_Method_Request_Dispatch_Queueable::~TAO_Notify_Method_Request_Dispatch_Queueable () -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Destroy TAO_Notify_Method_Request_Dispatch_Queueable @%@\n"), - this)); -#endif -} - -int -TAO_Notify_Method_Request_Dispatch_Queueable::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -/*********************************************************************************************************/ - -TAO_Notify_Method_Request_Dispatch_No_Copy::TAO_Notify_Method_Request_Dispatch_No_Copy ( - const TAO_Notify_Event* event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Dispatch (event, proxy_supplier, filtering) -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch_No_Copy @%@\n"), - this)); -#endif -} - /// Constuct construct from another method request -TAO_Notify_Method_Request_Dispatch_No_Copy::TAO_Notify_Method_Request_Dispatch_No_Copy ( - const TAO_Notify_Method_Request_Event & request, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering) - : TAO_Notify_Method_Request_Dispatch (request, request.event (), proxy_supplier, filtering) -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch_No_Copy @%@\n"), - this)); -#endif -} - -TAO_Notify_Method_Request_Dispatch_No_Copy:: ~TAO_Notify_Method_Request_Dispatch_No_Copy () -{ -#if 0 - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Destroy Method_Request_Dispatch_No_Copy @%@\n"), - this)); -#endif -} - -int -TAO_Notify_Method_Request_Dispatch_No_Copy::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_Notify_Method_Request_Queueable* -TAO_Notify_Method_Request_Dispatch_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Method_Request_Queueable* request; - - TAO_Notify_Event::Ptr event_var ( - this->event_->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER) ); - ACE_CHECK_RETURN (0); - - ACE_NEW_THROW_EX (request, - TAO_Notify_Method_Request_Dispatch_Queueable (*this, event_var, this->proxy_supplier_.get(), this->filtering_), - //TAO_Notify_Method_Request_Dispatch_Queueable (*this, event_var, this->proxy_supplier_, this->filtering_), - CORBA::INTERNAL ()); - - return request; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h deleted file mode 100644 index fed8d063cfa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h +++ /dev/null @@ -1,170 +0,0 @@ -// -*- C++ -*- - -/** - * @file Method_Request_Dispatch.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_DISPATCH_METHOD_REQUEST_H -#define TAO_Notify_DISPATCH_METHOD_REQUEST_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Method_Request.h" -#include "orbsvcs/Notify/Refcountable.h" -#include "orbsvcs/Notify/Method_Request_Event.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/Delivery_Request.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_EventChannelFactory; -class TAO_InputCDR; -class TAO_Notify_Method_Request_Dispatch_Queueable; - -/** - * @class TAO_Notify_Method_Request_Dispatch - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Dispatch - : public TAO_Notify_Method_Request_Event -{ -public: - /// an arbitrary code (Octet) to identify this delivery method type in persistent storage - enum {persistence_code = 1}; - - /// Constuct from event - TAO_Notify_Method_Request_Dispatch ( - const TAO_Notify_Event * event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - - /// Construct from a delivery rquest - TAO_Notify_Method_Request_Dispatch ( - const TAO_Notify::Delivery_Request_Ptr & delivery, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - - /// Constuct construct from another method request+event - /// event is passed separately because we may be using a copy - /// of the one in the previous method request - TAO_Notify_Method_Request_Dispatch ( - const TAO_Notify_Method_Request_Event & request, - const TAO_Notify_Event * event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - -public: - /// Destructor - virtual ~TAO_Notify_Method_Request_Dispatch (); - - /// Static method used to reconstruct a Method Request Dispatch - static TAO_Notify_Method_Request_Dispatch_Queueable * unmarshal ( - TAO_Notify::Delivery_Request_Ptr & delivery_request, - TAO_Notify_EventChannelFactory &ecf, - TAO_InputCDR & cdr - ACE_ENV_ARG_DECL); - - -protected: - /// Execute the dispatch operation. - int execute_i (ACE_ENV_SINGLE_ARG_DECL); - -protected: - /// The Proxy - TAO_Notify_ProxySupplier::Ptr proxy_supplier_; - - /// Flag is true if we want to do filtering else false. - bool filtering_; -}; - -/** - * @class TAO_Notify_Method_Request_Dispatch_Queueable - * - * @brief Dispatchs an event to a proxy supplier. - * - */ - -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Dispatch_Queueable - : public TAO_Notify_Method_Request_Dispatch - , public TAO_Notify_Method_Request_Queueable -{ -public: - /// Construct construct from another method request+event - /// event is passed separately because we may be using a copy - /// of the one in the previous method request - TAO_Notify_Method_Request_Dispatch_Queueable ( - const TAO_Notify_Method_Request_Event & request, - TAO_Notify_Event::Ptr & event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - - /// Constuct construct from Delivery Request - /// should ONLY be used by unmarshall - TAO_Notify_Method_Request_Dispatch_Queueable ( - const TAO_Notify::Delivery_Request_Ptr & request, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Dispatch_Queueable (); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); - -private: - TAO_Notify_Event::Ptr event_var_; - TAO_Notify_ProxySupplier::Ptr proxy_guard_; -}; - -/*****************************************************************************/ - -/** - * @class TAO_Notify_Method_Request_Dispatch_No_Copy - * - * @brief Dispatchs an event to a proxy supplier. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Dispatch_No_Copy - : public TAO_Notify_Method_Request_Dispatch - , public TAO_Notify_Method_Request -{ -public: - /// Constuct from event - TAO_Notify_Method_Request_Dispatch_No_Copy ( - const TAO_Notify_Event * event, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - - /// Constuct construct from another method request - TAO_Notify_Method_Request_Dispatch_No_Copy ( - const TAO_Notify_Method_Request_Event & request, - TAO_Notify_ProxySupplier* proxy_supplier, - bool filtering); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Dispatch_No_Copy (); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); - - /// Create a copy of this method request - virtual TAO_Notify_Method_Request_Queueable* copy (ACE_ENV_SINGLE_ARG_DECL); -}; - -/*****************************************************************************/ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_DISPATCH_METHOD_REQUEST_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp deleted file mode 100644 index 53ab33da14c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Method_Request_Event.h" -#include "orbsvcs/Notify/Delivery_Request.h" - -ACE_RCSID (Notify, TAO_Notify_Method_Request_Event_Queueable, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event ( - const TAO_Notify_Event * event) - : event_ (event) -{ -} - -TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event ( - const TAO_Notify::Delivery_Request_Ptr & request) - : event_ (request->event ().get ()) - , delivery_request_ (request) -{ -} - -TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event ( - const TAO_Notify_Method_Request_Event & rhs, - const TAO_Notify_Event * event) - : event_ (event) - , delivery_request_ (rhs.delivery_request_) -{ -} - -TAO_Notify_Method_Request_Event::~TAO_Notify_Method_Request_Event() -{ -} - -void -TAO_Notify_Method_Request_Event::complete () -{ - if (this->delivery_request_.get () != 0) - { - this->delivery_request_->complete (); - } -} - - -unsigned long -TAO_Notify_Method_Request_Event::sequence () -{ - if (this->delivery_request_.get () != 0) - { - return this->delivery_request_->sequence (); - } - return 0; -} - -bool -TAO_Notify_Method_Request_Event::should_retry () -{ - if (this->delivery_request_.get () != 0) - { - return this->delivery_request_->should_retry (); - } - return false; -} - -/**********************************************************/ - - -TAO_Notify_Method_Request_Event_Queueable::TAO_Notify_Method_Request_Event_Queueable ( - const TAO_Notify_Method_Request_Event & prev_request, - const TAO_Notify_Event::Ptr& event) - : TAO_Notify_Method_Request_Queueable (event.get ()) - , TAO_Notify_Method_Request_Event (prev_request, event.get ()) - , event_var_ (event) -{ -} - -TAO_Notify_Method_Request_Event_Queueable::TAO_Notify_Method_Request_Event_Queueable ( - TAO_Notify::Delivery_Request_Ptr & request) - : TAO_Notify_Method_Request_Queueable (request->event ().get ()) - , TAO_Notify_Method_Request_Event (request, request->event ().get ()) - , event_var_ (request->event ()) -{ -} - -TAO_Notify_Method_Request_Event_Queueable::~TAO_Notify_Method_Request_Event_Queueable () -{ -} - -int -TAO_Notify_Method_Request_Event_Queueable::execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - ACE_ASSERT (false); - return -1; -} - -const TAO_Notify_Event * -TAO_Notify_Method_Request_Event::event() const -{ - return this->event_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h deleted file mode 100644 index 4acb97f10d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h +++ /dev/null @@ -1,104 +0,0 @@ -// -*- C++ -*- - -/** - * @file Method_Request_Event.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_METHOD_REQUEST_EVENT_H -#define TAO_Notify_METHOD_REQUEST_EVENT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Method_Request.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "tao/Basic_Types.h" -#include "ace/CORBA_macros.h" -#include "orbsvcs/Notify/Delivery_Request.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Method_Request_Event - * - * @brief A base class for all Method Requests that are associated with events. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Event -{ -public: - /// Construct from event - TAO_Notify_Method_Request_Event (const TAO_Notify_Event *); - - /// Construct from a delivery request - TAO_Notify_Method_Request_Event ( - const TAO_Notify::Delivery_Request_Ptr & delivery_request); - - /// Construct from another Method Request - /// Event is passed separately because it may be a copy of the one in request. - TAO_Notify_Method_Request_Event (const TAO_Notify_Method_Request_Event & rhs, - const TAO_Notify_Event * event); - -public: - /// Destructor - virtual ~TAO_Notify_Method_Request_Event (); - - const TAO_Notify_Event * event() const; - void complete (); - unsigned long sequence (); - bool should_retry (); - -protected: - - /// The Event - const TAO_Notify_Event * event_; - - /// Pointer to the routing slip's delivery request (if any) - TAO_Notify::Delivery_Request_Ptr delivery_request_; -}; - -/***************************************************************/ - -/** - * @class TAO_Notify_Method_Request_Event_Queueable - * - * @brief A method request for storing events. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Event_Queueable - : public TAO_Notify_Method_Request_Queueable - , public TAO_Notify_Method_Request_Event -{ -public: - /// Constuctor - /// Not the event_var is passed as a separate parameter to avoid throwing - /// exceptions from the constructor if it's necessary to copy the event. - TAO_Notify_Method_Request_Event_Queueable ( - const TAO_Notify_Method_Request_Event & prev_request, - const TAO_Notify_Event::Ptr & event); - - TAO_Notify_Method_Request_Event_Queueable ( - TAO_Notify::Delivery_Request_Ptr & request); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Event_Queueable (); - - /// satisfy the pure virtual method. Should never be called. - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); -private: - TAO_Notify_Event::Ptr event_var_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_METHOD_REQUEST_EVENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp deleted file mode 100644 index bee058ab534..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp +++ /dev/null @@ -1,233 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Method_Request_Lookup.h" - -ACE_RCSID(Notify, TAO_Notify_Method_Request_Lookup, "$Id$") - -#include "orbsvcs/Notify/Consumer_Map.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/ProxyConsumer.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/Admin.h" -#include "orbsvcs/Notify/SupplierAdmin.h" -#include "orbsvcs/Notify/Method_Request_Dispatch.h" -#include "orbsvcs/Notify/Delivery_Request.h" -#include "orbsvcs/Notify/EventChannelFactory.h" -#include "orbsvcs/Notify/Event_Manager.h" -#include "orbsvcs/Notify/Factory.h" - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -#include "tao/debug.h" -#include "tao/CDR.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Method_Request_Lookup::TAO_Notify_Method_Request_Lookup ( - const TAO_Notify_Event * event, - TAO_Notify_ProxyConsumer * proxy) - : TAO_Notify_Method_Request_Event (event) - , proxy_consumer_ (proxy) -{ -} - -TAO_Notify_Method_Request_Lookup::~TAO_Notify_Method_Request_Lookup () -{ -} - -void -TAO_Notify_Method_Request_Lookup::work ( - TAO_Notify_ProxySupplier* proxy_supplier - ACE_ENV_ARG_DECL) -{ - if (delivery_request_.get () == 0) - { - TAO_Notify_Method_Request_Dispatch_No_Copy request (*this, proxy_supplier, true); - proxy_supplier->deliver (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - delivery_request_->dispatch (proxy_supplier, true ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -int TAO_Notify_Method_Request_Lookup::execute_i (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->proxy_consumer_->has_shutdown ()) - return 0; // If we were shutdown while waiting in the queue, return with no action. - - TAO_Notify_SupplierAdmin& parent = this->proxy_consumer_->supplier_admin (); - - CORBA::Boolean val = this->proxy_consumer_->check_filters (this->event_, - parent.filter_admin (), - parent.filter_operator () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (TAO_debug_level > 1) - ACE_DEBUG ((LM_DEBUG, "Proxyconsumer %x filter eval result = %d",&this->proxy_consumer_ , val)); - - // Filter failed - do nothing. - if (val == 0) - return 0; - - // The map of subscriptions. - TAO_Notify_Consumer_Map& map = this->proxy_consumer_->event_manager ().consumer_map (); - - TAO_Notify_Consumer_Map::ENTRY* entry = map.find (this->event_->type () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO_Notify_ProxySupplier_Collection* consumers = 0; - - if (entry != 0) - { - consumers = entry->collection (); - - if (consumers != 0) - { - consumers->for_each (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - map.release (entry); - } - - // Get the default consumers - consumers = map.broadcast_collection (); - - if (consumers != 0) - { - consumers->for_each (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - this->complete (); - return 0; -} - -/// Static method used to reconstruct a Method Request Dispatch -TAO_Notify_Method_Request_Lookup_Queueable * -TAO_Notify_Method_Request_Lookup::unmarshal ( - TAO_Notify::Delivery_Request_Ptr & delivery_request, - TAO_Notify_EventChannelFactory &ecf, - TAO_InputCDR & cdr - ACE_ENV_ARG_DECL) -{ - bool ok = true; - TAO_Notify_Method_Request_Lookup_Queueable * result = 0; - CORBA::ULong count; - if (cdr.read_ulong (count)) - { - TAO_Notify::IdVec id_path (count); - for (size_t nid = 0; ok && nid < count; ++nid) - { - TAO_Notify_Object::ID id = 0; - if ( cdr.read_long (id)) - { - id_path.push_back (id); - } - else - { - ok = false; - } - } - - if (ok) - { - TAO_Notify_ProxyConsumer * proxy_consumer = ecf.find_proxy_consumer ( - id_path, - 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - if (proxy_consumer != 0) - { - ACE_NEW_NORETURN (result, - TAO_Notify_Method_Request_Lookup_Queueable (delivery_request, proxy_consumer)); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Lookup_No_Copy::unmarshal: unknown proxy id\n") - )); - } - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Lookup_No_Copy::unmarshal: Cant read proxy id path\n") - )); - } - } - return result; - -} - - -/****************************************************************/ - -TAO_Notify_Method_Request_Lookup_Queueable::TAO_Notify_Method_Request_Lookup_Queueable ( - const TAO_Notify_Event::Ptr& event, - TAO_Notify_ProxyConsumer* proxy_consumer) - : TAO_Notify_Method_Request_Lookup (event.get (), proxy_consumer) - , TAO_Notify_Method_Request_Queueable (event.get ()) - , event_var_ (event) - , proxy_guard_ (proxy_consumer) -{ -} - -TAO_Notify_Method_Request_Lookup_Queueable::TAO_Notify_Method_Request_Lookup_Queueable ( - TAO_Notify::Delivery_Request_Ptr & request, - TAO_Notify_ProxyConsumer * proxy_consumer) - : TAO_Notify_Method_Request_Lookup (request->event ().get (), proxy_consumer) - , TAO_Notify_Method_Request_Queueable (request->event ().get ()) - , event_var_ (request->event ()) - , proxy_guard_ (proxy_consumer) -{ -} - - -TAO_Notify_Method_Request_Lookup_Queueable::~TAO_Notify_Method_Request_Lookup_Queueable () -{ -} - -int -TAO_Notify_Method_Request_Lookup_Queueable::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -/******************************************************************************************************/ - -TAO_Notify_Method_Request_Lookup_No_Copy::TAO_Notify_Method_Request_Lookup_No_Copy ( - const TAO_Notify_Event* event, - TAO_Notify_ProxyConsumer* proxy_consumer) - : TAO_Notify_Method_Request_Lookup (event, proxy_consumer) -{ -} - -TAO_Notify_Method_Request_Lookup_No_Copy::~TAO_Notify_Method_Request_Lookup_No_Copy () -{ -} - -int -TAO_Notify_Method_Request_Lookup_No_Copy::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_Notify_Method_Request_Queueable* -TAO_Notify_Method_Request_Lookup_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Method_Request_Queueable* request; - - TAO_Notify_Event::Ptr event(this->event_->queueable_copy(ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK_RETURN (0); - - ACE_NEW_THROW_EX (request, - TAO_Notify_Method_Request_Lookup_Queueable (event, this->proxy_consumer_), - CORBA::INTERNAL ()); - - return request; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h deleted file mode 100644 index d54bb62833e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h +++ /dev/null @@ -1,140 +0,0 @@ -// -*- C++ -*- - -/** - * @file Method_Request_Lookup.h - * - * $Id$ - * - * @author Pradeep Gore - */ -#ifndef TAO_Notify_LOOKUP_METHOD_REQUEST_H -#define TAO_Notify_LOOKUP_METHOD_REQUEST_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/Notify/Method_Request_Event.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/ProxyConsumer.h" -#include "orbsvcs/Notify/Consumer_Map.h" -#include "orbsvcs/Notify/Delivery_Request.h" - -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Method_Request_Lookup_Queueable; -class TAO_Notify_Event; - -/** - * @class TAO_Notify_Method_Request_Lookup - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Lookup - : public TAO_ESF_Worker - , public TAO_Notify_Method_Request_Event -{ -public: - - /// an arbitrary code (Octet) to identify this type of request in persistent storage - enum {persistence_code = 2}; - - /// Destructor - virtual ~TAO_Notify_Method_Request_Lookup (); - - /// Static method used to reconstruct a Method Request Dispatch - static TAO_Notify_Method_Request_Lookup_Queueable * unmarshal ( - TAO_Notify::Delivery_Request_Ptr & delivery_request, - TAO_Notify_EventChannelFactory &ecf, - TAO_InputCDR & cdr - ACE_ENV_ARG_DECL); - -protected: - /// Constuctor - TAO_Notify_Method_Request_Lookup (const TAO_Notify_Event * event, TAO_Notify_ProxyConsumer * proxy); - - /// Execute the dispatch operation. - int execute_i (ACE_ENV_SINGLE_ARG_DECL); - - ///= TAO_ESF_Worker method - virtual void work (TAO_Notify_ProxySupplier* proxy_supplier ACE_ENV_ARG_DECL); - -protected: - - /// The Proxy - TAO_Notify_ProxyConsumer* proxy_consumer_; -}; - -/***************************************************************/ - -/** - * @class TAO_Notify_Method_Request_Lookup_Queueable - * - * @brief Lookup command object looks up the event type of the given event in the consumer map and send the event to each proxysupplier. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Lookup_Queueable - : public TAO_Notify_Method_Request_Lookup - , public TAO_Notify_Method_Request_Queueable -{ -public: - /// Constuctor from event - TAO_Notify_Method_Request_Lookup_Queueable ( - const TAO_Notify_Event::Ptr& event, - TAO_Notify_ProxyConsumer * proxy_consumer); - - /// Constuctor from delivery request - TAO_Notify_Method_Request_Lookup_Queueable ( - TAO_Notify::Delivery_Request_Ptr & request, - TAO_Notify_ProxyConsumer * proxy_consumer); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Lookup_Queueable (); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); - -private: - TAO_Notify_Event::Ptr event_var_; - TAO_Notify_ProxyConsumer::Ptr proxy_guard_; -}; - -/*****************************************************************************************************************************/ - -/** - * @class TAO_Notify_Method_Request_Lookup_No_Copy - * - * @brief Lookup command object looks up the event type of the given event in the consumer map and send the event to each proxysupplier. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Lookup_No_Copy - : public TAO_Notify_Method_Request_Lookup - , public TAO_Notify_Method_Request -{ -public: - /// Constuctor - TAO_Notify_Method_Request_Lookup_No_Copy ( - const TAO_Notify_Event* event, - TAO_Notify_ProxyConsumer* proxy_consumer); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Lookup_No_Copy (); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); - - /// Create a copy of this object. - virtual TAO_Notify_Method_Request_Queueable* copy (ACE_ENV_SINGLE_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_LOOKUP_METHOD_REQUEST_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp deleted file mode 100644 index 74ca99ef829..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Method_Request_Shutdown.h" -#include "orbsvcs/Notify/ThreadPool_Task.h" - -ACE_RCSID(Notify, TAO_Notify_Method_Request_Shutdown, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Method_Request_Shutdown::TAO_Notify_Method_Request_Shutdown (TAO_Notify_ThreadPool_Task* task) - : task_ (task) -{ -} - -TAO_Notify_Method_Request_Shutdown::~TAO_Notify_Method_Request_Shutdown () -{ -} - -TAO_Notify_Method_Request_Queueable* -TAO_Notify_Method_Request_Shutdown::copy (void) -{ - return new TAO_Notify_Method_Request_Shutdown (this->task_); -} - -int -TAO_Notify_Method_Request_Shutdown::execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // Shut down the scheduler by deactivating the activation queue's - // underlying message queue - should pop all worker threads off their - // wait and they'll exit. - this->task_->msg_queue ()->deactivate (); - return -1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.h deleted file mode 100644 index af38f816524..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.h +++ /dev/null @@ -1,58 +0,0 @@ -// -*- C++ -*- - -/** - * @file Method_Request_Shutdown.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_METHOD_REQUEST_SHUTDOWN_H -#define TAO_Notify_METHOD_REQUEST_SHUTDOWN_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Method_Request.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ThreadPool_Task; - -/** - * @class TAO_Notify_Method_Request_Shutdown - * - * @brief Shutdown message for the ThreadPool_Task - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Shutdown : public TAO_Notify_Method_Request_Queueable -{ -public: - /// Constuctor - TAO_Notify_Method_Request_Shutdown (TAO_Notify_ThreadPool_Task* task); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Shutdown (); - - /// Create a copy of this object. - TAO_Notify_Method_Request_Queueable* copy (void); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); - -private: - // Task to shutdown - TAO_Notify_ThreadPool_Task* task_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_METHOD_REQUEST_SHUTDOWN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp deleted file mode 100644 index 18ac5fa1841..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Method_Request_Updates.h" - -ACE_RCSID(Notify, TAO_Notify_Method_Request_Updates, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/Peer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Method_Request_Updates::TAO_Notify_Method_Request_Updates (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed, TAO_Notify_Proxy* proxy) - : TAO_Notify_Method_Request_Updates_Base (added, removed, proxy) -{ -} - -TAO_Notify_Method_Request_Updates::~TAO_Notify_Method_Request_Updates () -{ -} - -int -TAO_Notify_Method_Request_Updates::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -/*****************************************************************************/ - -TAO_Notify_Method_Request_Updates_No_Copy::TAO_Notify_Method_Request_Updates_No_Copy (const TAO_Notify_EventTypeSeq& added - , const TAO_Notify_EventTypeSeq& removed, TAO_Notify_Proxy* proxy) - : TAO_Notify_Method_Request_Updates_No_Copy_Base (added, removed, proxy) -{ -} - -TAO_Notify_Method_Request_Updates_No_Copy::~TAO_Notify_Method_Request_Updates_No_Copy () -{ -} - -TAO_Notify_Method_Request_Queueable* -TAO_Notify_Method_Request_Updates_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Method_Request_Queueable* request = 0; - - ACE_NEW_THROW_EX (request, - TAO_Notify_Method_Request_Updates (this->added_, this->removed_, this->proxy_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (request); - - return request; -} - -int -TAO_Notify_Method_Request_Updates_No_Copy::execute (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->execute_i (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.h deleted file mode 100644 index b9410188772..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates.h +++ /dev/null @@ -1,90 +0,0 @@ -// -*- C++ -*- - -/** - * @file Method_Request_Updates.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_METHOD_REQUEST_UPDATES_H -#define TAO_Notify_METHOD_REQUEST_UPDATES_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Method_Request_Updates_T.h" -#include "orbsvcs/Notify/Method_Request.h" -#include "orbsvcs/Notify/EventTypeSeq.h" -#include "orbsvcs/Notify/Proxy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Notify_Method_Request_Updates_T TAO_Notify_Method_Request_Updates_Base; - -/** - * @class TAO_Notify_Method_Request_Updates - * - * @brief Command Object to send updates to proxys. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Updates - : public TAO_Notify_Method_Request_Updates_Base - , public TAO_Notify_Method_Request_Queueable -{ -public: - /// Constuctor - TAO_Notify_Method_Request_Updates (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed, TAO_Notify_Proxy* proxy); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Updates (); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); -}; - -/*****************************************************************************/ - -typedef TAO_Notify_Method_Request_Updates_T TAO_Notify_Method_Request_Updates_No_Copy_Base; - -/** - * @class TAO_Notify_Method_Request_Updates_No_Copy - * - * @brief Command Object to send updates to proxys. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Updates_No_Copy - : public TAO_Notify_Method_Request_Updates_No_Copy_Base - , public TAO_Notify_Method_Request -{ -public: - /// Constuctor - TAO_Notify_Method_Request_Updates_No_Copy (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed, TAO_Notify_Proxy* proxy); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Updates_No_Copy (); - - /// Create a copy of this object. - virtual TAO_Notify_Method_Request_Queueable* copy (ACE_ENV_SINGLE_ARG_DECL); - - /// Execute the Request - virtual int execute (ACE_ENV_SINGLE_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_METHOD_REQUEST_UPDATES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.cpp deleted file mode 100644 index 19db54e852f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_Method_Request_Updates_T_CPP -#define TAO_Notify_Method_Request_Updates_T_CPP - -#include "orbsvcs/Notify/Method_Request_Updates_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Method_Request_Updates_T.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Method_Request_Updates_T::TAO_Notify_Method_Request_Updates_T (SEQ_PARAM added, SEQ_PARAM removed, - PROXY_PARAM proxy) - : added_ (added), removed_ (removed), proxy_ (proxy) -{ -} - -template -TAO_Notify_Method_Request_Updates_T::~TAO_Notify_Method_Request_Updates_T () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_Method_Request_Updates_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.h deleted file mode 100644 index 53b6c1d7b30..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.h +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Method_Request_Updates_T.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_METHOD_REQUEST_UPDATES_T_H -#define TAO_Notify_METHOD_REQUEST_UPDATES_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/orbconf.h" -#include "ace/CORBA_macros.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace CORBA -{ - class Environment; -} - -/** - * @class TAO_Notify_Method_Request_Updates_T - * - * @brief - * - */ -template -class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Updates_T -{ -public: - /// Constuctor - TAO_Notify_Method_Request_Updates_T (SEQ_PARAM added, - SEQ_PARAM removed, - PROXY_PARAM proxy); - - /// Destructor - virtual ~TAO_Notify_Method_Request_Updates_T (); - - /// Execute the Request - int execute_i (ACE_ENV_SINGLE_ARG_DECL); - -protected: - /// Update Added - SEQ added_; - - /// Update Removed - SEQ removed_; - - /// The Proxy that will receive the updates. - PROXY proxy_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Method_Request_Updates_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Method_Request_Updates_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Method_Request_Updates_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_METHOD_REQUEST_UPDATES_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.inl deleted file mode 100644 index 657b6dd0929..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.inl +++ /dev/null @@ -1,36 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "tao/debug.h" -#include "orbsvcs/Notify/Peer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE int -TAO_Notify_Method_Request_Updates_T::execute_i (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->proxy_->has_shutdown ()) - return 0; // If we were shutdown while waiting in the queue, return with no action. - - ACE_TRY - { - TAO_Notify_Peer* peer = this->proxy_->peer(); - - if (peer != 0) - { - peer->dispatch_updates (this->added_, this->removed_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_Notify_Method_Request_Updates::execute error sending updates\n "); - } - ACE_ENDTRY; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp b/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp deleted file mode 100644 index 7d1109eb65e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp +++ /dev/null @@ -1,216 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Name_Value_Pair.h" -#include "orbsvcs/Notify/Property_T.h" -#include "ace/OS_String.h" -#include "ace/OS_NS_stdio.h" - -namespace -{ - ACE_UINT64 string_to_uint64 (const char * s) - { - size_t const len = ACE_OS::strlen (s); - if (len == 0) - return 0; - if (! isdigit(s[0])) - return 0; - - ACE_UINT64 t = 0; - for (size_t i = 0; i < len; ++i) - { - if (isdigit(s[i]) == 0) - { - break; - } - t *= 10; - t += (s[i] - '0'); - } - return t; - } -} - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - NVP::NVP() - { - } - - NVP::NVP(const TAO_Notify_Property_Short& p) - : name(p.name()) - { - char buf[64]; - ACE_OS::sprintf (buf, "%d", p.value ()); - value = buf; - } - - NVP::NVP(const TAO_Notify_Property_Long& p) - : name(p.name()) - { - char buf[64]; - long temp = static_cast (p.value ()); - ACE_OS::sprintf (buf, "%ld", temp); - value = buf; - } - - NVP::NVP(const TAO_Notify_Property_Time& p) - : name(p.name()) - { - ACE_TCHAR buf[128]; - ACE_UINT64 us = p.value(); -#ifdef ACE_LACKS_LONGLONG_T - us.as_string(buf); -#else - ACE_OS::sprintf(buf, ACE_UINT64_FORMAT_SPECIFIER, us); -#endif /* ACE_LACKS_LONGLONG_T */ - value = ACE_TEXT_ALWAYS_CHAR (buf); - } - - NVP::NVP(const TAO_Notify_Property_Boolean& p) - : name(p.name()) - { - value = p.value() ? "true" : "false"; - } - - NVP::NVP(const char * n, CORBA::Long v) - : name(n) - { - char buf[64]; - long temp = v; - ACE_OS::sprintf (buf, "%ld", temp); - value = buf; - } - - NVP::NVP(const char * n, const char * v) - : name(n), value(v) - { - } - - NVP::NVP(const char * n, const ACE_CString & v) - : name(n), value(v) - { - } - - bool NVP::operator==(const NVP& rhs) const - { - return (this->name == rhs.name) != 0; - } - - bool NVP::operator!=(const NVP& rhs) const - { - return ! (rhs == *this); - } - - bool NVPList::find (const char * name, ACE_CString& val) const - { - for (size_t i = 0; i < list_.size(); ++i) - { - if (list_[i].name == name) - { - val = list_[i].value; - return true; - } - } - return false; - } - - bool NVPList::find (const char * name, const char *& val) const - { - for (size_t i = 0; i < list_.size(); ++i) - { - if (list_[i].name == name) - { - val = list_[i].value.c_str (); - return true; - } - } - return false; - } - - void NVPList::load(TAO_Notify_Property_Short& p) const - { - const char * v; - if (find(p.name(), v)) - { - p.assign (static_cast (ACE_OS::atoi(v))); - } - } - - void NVPList::load(TAO_Notify_Property_Long& p) const - { - const char * v; - if (find(p.name(), v)) - { - p.assign (static_cast (ACE_OS::atoi(v))); - } - } - - void NVPList::load(TAO_Notify_Property_Time& p) const - { - const char * v; - if (find(p.name (), v)) - { - p.assign (static_cast (string_to_uint64(v))); - } - } - - void NVPList::load(TAO_Notify_Property_Boolean& p) const - { - ACE_CString v; - if (find(p.name (), v)) - { - if (v == "true") - { - p = 1; - } - else - { - p = 0; - } - } - } - - bool NVPList::load(const char * n, CORBA::Long& v) const - { - const char * val; - if (find(n, val)) - { - v = static_cast (ACE_OS::atoi(val)); - return true; - } - return false; - } - - bool NVPList::load(const char * n, ACE_CString& v) const - { - return find(n, v); - } - - void NVPList::push_back(const NVP& v) - { - for (size_t i = 0; i < list_.size(); ++i) - { - if (list_[i].name == v.name) - { - list_[i].value = v.value; - return; - } - } - list_.push_back(v); - } - - size_t NVPList::size() const - { - return list_.size(); - } - - const NVP& NVPList::operator[](size_t ndx) const - { - ACE_ASSERT (ndx < list_.size()); - return list_[ndx]; - } - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h b/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h deleted file mode 100644 index 6aa695f0e4a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h +++ /dev/null @@ -1,102 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** -* @file Name_Value_Pair.h -* -* $Id$ -* -* @author Jonathan Pollack -*/ -//============================================================================= - -#ifndef NAME_VALUE_PAIR_H -#define NAME_VALUE_PAIR_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Property_Boolean.h" -#include "orbsvcs/Notify/notify_serv_export.h" - -#include "ace/SString.h" -#include "ace/Vector_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - /** - * \brief Name/Value Pair - * - * Associates a name (character string) with a value (encoded into a character string) - * For use in managing properties. - */ - class TAO_Notify_Serv_Export NVP { - public: - /// Construct an undefined name/value (to allow use in collections) - NVP(); - /// Construct from a property containing a short value. - explicit NVP(const TAO_Notify_Property_Short& p); - /// Construct from a property containing a long value. - explicit NVP(const TAO_Notify_Property_Long& p); - /// Construct from a property containing a time value - explicit NVP(const TAO_Notify_Property_Time& p); - /// Construct from a property containing a boolean value - explicit NVP(const TAO_Notify_Property_Boolean& p); - - /// Construct from name and long value. - NVP(const char * n, CORBA::Long v); - /// Construct from name and string value. - NVP(const char * n, const char * v); - /// Construct from name and string value. - NVP(const char * n, const ACE_CString & v); - - /// Assignment operator - bool operator==(const NVP& rhs) const; - /// Comparison operator compares only name (not value) - bool operator!=(const NVP& rhs) const; - ACE_CString name; - ACE_CString value; - }; - - /** - * \brief Collection of Name/Value Pairs - */ - class TAO_Notify_Serv_Export NVPList { - public: - /// Find the NVP with the same name as the property, copy the value. - void load(TAO_Notify_Property_Short& p) const; - /// Find the NVP with the same name as the property, copy the value. - void load(TAO_Notify_Property_Long& p) const; - /// Find the NVP with the same name as the property, copy the value. - void load(TAO_Notify_Property_Time& p) const; - /// Find the NVP with the same name as the property, copy the value. - void load(TAO_Notify_Property_Boolean& p) const; - /// Find the NVP with specified name, copy the value to a string. - bool load(const char * n, CORBA::Long& v) const; - /// Find the NVP with specified name, copy the value to a long. - bool load(const char * n, ACE_CString& v) const; - /// add a new name/value pair. - void push_back(const NVP& v); - /// size of the collection. - size_t size() const; - /// access NVP via numeric index. - const NVP& operator[](size_t ndx) const; - /// low level access: find - bool find (const char * name, ACE_CString& val) const; - /// low level access: use this when you don't need a CString - bool find (const char * name, const char *& val) const; - - private: - ACE_Vector list_; - }; -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* NAME_VALUE_PAIR_H */ 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 5d6f3e11e21..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Constraint_Interpreter.h" -#include "orbsvcs/Notify/Notify_Constraint_Visitors.h" - -ACE_RCSID(Notify, NS_Constraint_Interpreter, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -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) -{ - return evaluator.evaluate_constraint (this->root_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL 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 acb7c8b9d86..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Notify_Constraint_Interpreter.h - * - * $Id$ - * - * @author Pradeep Gore - */ -//============================================================================= - - -#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 "orbsvcs/Notify/notify_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Constraint_Visitor; - -/** - * @class TAO_Notify_Constraint_Interpreter - * - * @brief "ETCL" Interpreter for the Notify queries. - */ -class TAO_Notify_Serv_Export TAO_Notify_Constraint_Interpreter : public TAO_ETCL_Interpreter -{ -public: - // = Initialization and termination methods. - TAO_Notify_Constraint_Interpreter (void); - - /// Destructor - virtual ~TAO_Notify_Constraint_Interpreter (void); - - /** - * This method builds an expression tree representing the - * constraint specified in , 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); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#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 f342c7e93f5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp +++ /dev/null @@ -1,1465 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Constraint_Visitors.h" -#include "orbsvcs/ETCL/ETCL_Constraint.h" -#include "orbsvcs/ETCL/ETCL_y.h" -#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.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" -#include "tao/CDR.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Constraint_Visitor::TAO_Notify_Constraint_Visitor (void) - : implicit_id_ (TAO_Notify_Constraint_Visitor::EMPTY), - implicit_ids_(implicit_ids_size_), - filterable_data_(filterable_data_size_), - variable_header_(variable_header_size_) -{ - (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, - 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, - 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; - - if (this->filterable_data_.find (key, any) == 0) - { - if (any.impl() != 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); - TAO_InputCDR in_cdr (cdr); - TAO::Unknown_IDL_Type *unk = 0; - ACE_NEW_RETURN (unk, - TAO::Unknown_IDL_Type (disc_tc.in (), - in_cdr), - -1); - - disc_any.replace (unk); - 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_.ptr ()); - this->queue_.enqueue_head (lit); - return 0; - } - else - return nested->accept (this); - } - else - return -1; - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -} - -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.ptr ()); - this->queue_.enqueue_head (result); - return 0; - } - else - { - this->current_value_ = value._retn (); - return comp->accept (this); - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -} - -int -TAO_Notify_Constraint_Visitor::visit_component_assoc ( - TAO_ETCL_Component_Assoc *assoc - ) -{ - CORBA::Any any; - ACE_CString name (assoc->identifier ()->value (), - 0, - 0); - - switch (this->implicit_id_) - { - case FILTERABLE_DATA: - if (this->filterable_data_.find (name, any) != 0 - || any.impl() == 0) - return -1; - break; - case VARIABLE_HEADER: - if (this->variable_header_.find (name, any) != 0 - || any.impl() == 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.ptr ()); - this->queue_.enqueue_head (result); - return 0; - } - else - { - this->current_value_ = value._retn (); - return comp->accept (this); - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; -} - -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 (); - tc = TAO_DynAnyFactory::strip_alias (tc.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - switch (special->type ()) - { - case TAO_ETCL_LENGTH: - { - CORBA::ULong length; - - switch (kind) - { - case CORBA::tk_sequence: - { - TAO_DynSequence_i dyn_seq; - dyn_seq.init (current_value_.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - DynamicAny::AnySeq_var any_seq = - dyn_seq.get_elements (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - length = any_seq->length (); - } - break; - case CORBA::tk_array: - { - length = tc->length (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - break; - default: - return -1; - } - - 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.ptr ()); - 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; -} - -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_ = TAO_Notify_Constraint_Visitor::EMPTY; - - // 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_ == TAO_Notify_Constraint_Visitor::EMPTY) - { - 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; -} - -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::TypeCode_var base_type = - TAO_DynAnyFactory::strip_alias (type.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - CORBA::TypeCode_var content_type = - base_type->content_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - CORBA::TCKind kind = - TAO_DynAnyFactory::unalias (content_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; -} - -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 (const_cast(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; - break; - case TAO_ETCL_DOUBLE: - if (tc_kind != CORBA::tk_double - && tc_kind != CORBA::tk_float) - return 0; - break; - 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; - break; - case TAO_ETCL_UNSIGNED: - if (tc_kind != CORBA::tk_ushort - && tc_kind != CORBA::tk_ulong - && tc_kind != CORBA::tk_ulonglong) - return 0; - break; - case TAO_ETCL_BOOLEAN: - if (tc_kind != CORBA::tk_boolean) - return 0; - break; - default: - return 0; - } - return 1; -} - -const size_t TAO_Notify_Constraint_Visitor::implicit_ids_size_ = 27; -const size_t TAO_Notify_Constraint_Visitor::filterable_data_size_ = 31; -const size_t TAO_Notify_Constraint_Visitor::variable_header_size_ = 31; - -TAO_END_VERSIONED_NAMESPACE_DECL 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 2033737b4ec..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h +++ /dev/null @@ -1,168 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Notify_Constraint_Visitors.h - * - * $Id$ - * - * @author Pradeep Gore - * @author Jeff Parsons - */ -//============================================================================= - - -#ifndef NOTIFY_CONSTRAINT_VISITORS_H -#define NOTIFY_CONSTRAINT_VISITORS_H - -#include /**/ "ace/pre.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Unbounded_Queue.h" -#include "ace/Null_Mutex.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ETCL/ETCL_Constraint_Visitor.h" -#include "orbsvcs/ETCL/ETCL_Constraint.h" -#include "orbsvcs/CosNotificationC.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Property_Constraint; - -class TAO_Notify_Serv_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 , 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, - EMPTY - }; - - /// Storage for the type of implicit id the component has (if any). - structured_event_field implicit_id_; - - /// Size of implicit_ids_ hash map. - /// @note A fixed set of 9 keys are stored in this map. In the absence - /// of a minimal perfect hash, ACE's default hash_pjw() and a hash size - /// of 27 ensures each element is hashed to a unique bucket. - /// TODO: define inline once VC6 support is deprecated. - static const size_t implicit_ids_size_; - - /// Lookup table for the implicit ids, to avoid string comparisons in - /// derived visitors. - ACE_Hash_Map_Manager - implicit_ids_; - - /// Size of filterable_data_ hash map. - /// TODO: define inline once VC6 support is deprecated. - static const size_t filterable_data_size_; - - /// Used to lookup names and values in the event's 'filterable_data' field. - ACE_Hash_Map_Manager - filterable_data_; - - /// Size of variable_header_ hash map. - /// TODO: define inline once VC6 support is deprecated. - static const size_t variable_header_size_; - - /// Used to lookup names and values in the event's 'variable_header' field. - ACE_Hash_Map_Manager - 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 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_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* NOTIFY_CONSTRAINT_VISITORS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp deleted file mode 100644 index 5110d567625..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Default_CO_Factory.h" - -ACE_RCSID(Notify, Notify_Default_CO_Factory, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Notify_Default_CO_Factory::init_svc (void) -{ - // NOP. - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h deleted file mode 100644 index 8976e345f10..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- C++ -*- */ -//============================================================================= -/** - * @file Notify_Default_CO_Factory.h - * - * $Id$ - * - * - * @author Pradeep Gore - */ -//============================================================================= - - -#ifndef NOTIFY_DEFAULT_CO_FACTORY_H -#define NOTIFY_DEFAULT_CO_FACTORY_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Default_CO_Factory - * - * @brief TAO_Notify_Default_CO_Factory - * - * Maintained for backward compatibility. - */ -class TAO_Notify_Serv_Export TAO_Notify_Default_CO_Factory -{ -public: - /// Helper function to register the default factory into the service - /// configurator. - static int init_svc (void); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* NOTIFY_DEFAULT_CO_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp deleted file mode 100644 index 37a286dbb99..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Default_Collection_Factory.h" - -ACE_RCSID(Notify, Notify_Default_Collection_Factory, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Notify_Default_Collection_Factory::init_svc (void) -{ - // NOP. - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h deleted file mode 100644 index c416d093de5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Notify_Default_Collection_Factory.h - * - * $Id$ - * - * @author Pradeep Gore - */ -//============================================================================= - - -#ifndef NOTIFY_DEFAULT_COLLECTION_FACTORY_H -#define NOTIFY_DEFAULT_COLLECTION_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Default_Collection_Factory - * - * @brief Maintained for backward compatibility. - * - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Default_Collection_Factory -{ -public: - - /// Helper function to register the default factory into the service - /// configurator. - static int init_svc (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* NOTIFY_DEFAULT_COLLECTION_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp deleted file mode 100644 index 2c9cc3f9237..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Default_EMO_Factory.h" - -ACE_RCSID(Notify, Notify_Default_EMO_Factory, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Notify_Default_EMO_Factory::init_svc (void) -{ - // NOP. - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h deleted file mode 100644 index 73023b439bf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h +++ /dev/null @@ -1,45 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Notify_Default_EMO_Factory.h - * - * $Id$ - * - * @author Pradeep Gore - */ -//============================================================================= - - -#ifndef NOTIFY_DEFAULT_EMO_FACTORY_H -#define NOTIFY_DEFAULT_EMO_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Default_EMO_Factory - * - * @brief Maintained for backward compatibility. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Default_EMO_Factory -{ -public: - /// Helper function to register the default factory into the service - /// configurator. - static int init_svc (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* NOTIFY_DEFAULT_EMO_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp deleted file mode 100644 index 6d32c554047..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Default_POA_Factory.h" - -ACE_RCSID(Notify, Notify_Default_POA_Factory, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int -TAO_Notify_Default_POA_Factory::init_svc (void) -{ - // NOP. - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.h deleted file mode 100644 index 62674479d29..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.h +++ /dev/null @@ -1,44 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Notify_Default_POA_Factory.h - * - * $Id$ - * - * @author Pradeep Gore - */ -//============================================================================= - - -#ifndef TAO_NOTIFY_DEFAULT_POA_FACTORY_H -#define TAO_NOTIFY_DEFAULT_POA_FACTORY_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Default_POA_Factory - * - * @brief Maintained for backward compatibility. - */ -class TAO_Notify_Serv_Export TAO_Notify_Default_POA_Factory -{ -public: - /// Helper function to register the default factory into the service - /// configurator. - static int init_svc (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_NOTIFY_DEFAULT_POA_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp deleted file mode 100644 index 2bc881f15a7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_EventChannelFactory_i.h" - -#include "orbsvcs/Notify/Service.h" -#include "ace/Dynamic_Service.h" -#include "tao/PortableServer/Root_POA.h" -#include "tao/ORB_Core.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CosNotifyChannelAdmin::EventChannelFactory_ptr -TAO_Notify_EventChannelFactory_i::create (PortableServer::POA_ptr default_POA ACE_ENV_ARG_DECL) -{ - CosNotifyChannelAdmin::EventChannelFactory_var notify_factory; - - TAO_Notify_Service* notify_service = ACE_Dynamic_Service::instance (TAO_COS_NOTIFICATION_SERVICE_NAME); - - if (notify_service == 0) - { - ACE_DEBUG ((LM_DEBUG, "Service not found! check conf. file\n")); - return notify_factory._retn (); - } - - TAO_Root_POA *poa = dynamic_cast (default_POA); - - if (poa == 0) - return notify_factory._retn (); - - CORBA::ORB_ptr orb = poa->orb_core ().orb () ; - - notify_service->init_service (orb ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (notify_factory._retn ()); - - notify_factory = notify_service->create (default_POA ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (notify_factory._retn ()); - - return notify_factory._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h deleted file mode 100644 index 60ccb0b068d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h +++ /dev/null @@ -1,44 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Notify_EventChannelFactory_i.h - * - * $Id$ - * - * @author Pradeep Gore - */ -//============================================================================= - - -#ifndef NOTIFY_EVENTCHANNELFACTORY_I_H -#define NOTIFY_EVENTCHANNELFACTORY_I_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_EventChannelFactory_i - * - * @brief Class maintained for Backward compatibility. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_EventChannelFactory_i -{ -public: - /// Create a factory servant and activates it with the default POA. - /// Also creates a resource factory and assigns it this default_POA. - static CosNotifyChannelAdmin::EventChannelFactory_ptr create (PortableServer::POA_ptr default_POA ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* NOTIFY_EVENTCHANNELFACTORY_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp deleted file mode 100644 index a73b9be6a6c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Notify_Extensions.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify_Extensions -{ - const char BlockingPolicy[] = "BlockingPolicy"; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.h deleted file mode 100644 index 247e7655d40..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Extensions.h +++ /dev/null @@ -1,33 +0,0 @@ -// -*- C++ -*- -// $Id$ - -#ifndef TAO_NOTIFY_EXTENSIONS_H -#define TAO_NOTIFY_EXTENSIONS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/orbconf.h" - -#if defined (TAO_EXPORT_MACRO) -# undef TAO_EXPORT_MACRO -#endif /* TAO_EXPORT_MACRO */ -#define TAO_EXPORT_MACRO TAO_Notify_Export - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify_Extensions -{ - TAO_NAMESPACE_STORAGE_CLASS const char BlockingPolicy[]; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_NOTIFY_EXTENSIONS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.cpp b/TAO/orbsvcs/orbsvcs/Notify/Object.cpp deleted file mode 100644 index a00a6c374b8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Object.cpp +++ /dev/null @@ -1,372 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Object.h" -#include "orbsvcs/Notify/POA_Helper.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Builder.h" -#include "orbsvcs/Notify/ThreadPool_Task.h" -#include "orbsvcs/Notify/Reactive_Task.h" -#include "tao/debug.h" -#include "orbsvcs/Notify/Event_Manager.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Object.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_Object, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Object::TAO_Notify_Object (void) -: poa_ (0) -, proxy_poa_ (0) -, own_proxy_poa_ (false) -, object_poa_ (0) -, own_object_poa_ (false) -, id_ (0) -, own_worker_task_ (false) -, shutdown_ (false) -{ - if (TAO_debug_level > 2 ) - ACE_DEBUG ((LM_DEBUG,"object:%x created\n", this )); -} - -TAO_Notify_Object::~TAO_Notify_Object () -{ - if (TAO_debug_level > 2 ) - ACE_DEBUG ((LM_DEBUG,"object:%x destroyed\n", this )); - - this->destroy_proxy_poa (); - this->destroy_object_poa (); - this->destroy_poa (); -} - -void -TAO_Notify_Object::initialize (TAO_Notify_Object* parent) -{ - ACE_ASSERT (parent != 0 && this->event_manager_.get() == 0); - - // Do not use sets to avoid asserts. - // Object must be able to inherit NULL references - // due to current design. - this->event_manager_ = parent->event_manager_; - this->admin_properties_ = parent->admin_properties_; - this->inherit_poas( *parent ); - this->worker_task_ = parent->worker_task_; - - // Pass QoS - parent->qos_properties_.transfer (this->qos_properties_); - this->qos_changed (this->qos_properties_); -} - -void -TAO_Notify_Object::set_event_manager( TAO_Notify_Event_Manager* event_manager ) -{ - ACE_ASSERT( event_manager != 0 ); - this->event_manager_.reset( event_manager ); -} - -CORBA::Object_ptr -TAO_Notify_Object::activate (PortableServer::Servant servant ACE_ENV_ARG_DECL) -{ - return this->poa_->activate (servant, this->id_ ACE_ENV_ARG_PARAMETER); -} - -/// Activate with existing id -CORBA::Object_ptr -TAO_Notify_Object::activate ( - PortableServer::Servant servant, - CORBA::Long id - ACE_ENV_ARG_DECL) -{ - this->id_ = id; - return this->poa_->activate_with_id (servant, this->id_ ACE_ENV_ARG_PARAMETER); -} - - -void -TAO_Notify_Object::deactivate (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_TRY - { - this->poa_->deactivate (this->id_ ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Do not propagate any exceptions - if (TAO_debug_level > 2) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "(%P|%t)\n"); - ACE_DEBUG ((LM_DEBUG, "Could not deactivate object %d\n", this->id_)); - } - } - ACE_ENDTRY; -} - -int -TAO_Notify_Object::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 1); - - if (this->shutdown_ == 1) - return 1; // Another thread has already run shutdown. - - this->shutdown_ = 1; - } - - this->deactivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - this->shutdown_worker_task (); - - return 0; -} - -CORBA::Object_ptr -TAO_Notify_Object::ref (ACE_ENV_SINGLE_ARG_DECL) -{ - return this->poa_->id_to_reference (this->id_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Object::shutdown_worker_task (void) -{ - // Only do this if we are the owner. - TAO_Notify_Worker_Task::Ptr task( this->worker_task_ ); - this->worker_task_.reset(); - if ( task.isSet() ) - { - if ( this->own_worker_task_ ) - { - task->shutdown (); - } - } -} - -void -TAO_Notify_Object::destroy_proxy_poa (void) -{ - if (this->proxy_poa_ != 0) - { - ACE_TRY_NEW_ENV - { - if ( this->proxy_poa_ == this->object_poa_ ) this->object_poa_ = 0; - if ( this->proxy_poa_ == this->poa_ ) this->poa_ = 0; - - if ( this->own_proxy_poa_ == true ) - { - this->own_proxy_poa_ = false; - ACE_Auto_Ptr< TAO_Notify_POA_Helper > app( object_poa_ ); - this->proxy_poa_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - this->proxy_poa_ = 0; - } - ACE_CATCHANY - { - if (TAO_debug_level > 2) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Proxy shutdown error (%P|%t)\n"); - } - ACE_ENDTRY; - } -} - -void -TAO_Notify_Object::destroy_object_poa (void) -{ - if (this->object_poa_ != 0) - { - ACE_TRY_NEW_ENV - { - if ( this->object_poa_ == this->proxy_poa_ ) this->proxy_poa_ = 0; - if ( this->object_poa_ == this->poa_ ) this->poa_ = 0; - - if ( this->own_object_poa_ == true ) - { - this->own_object_poa_ = false; - ACE_Auto_Ptr< TAO_Notify_POA_Helper > aop( object_poa_ ); - this->object_poa_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - this->object_poa_ = 0; - } - ACE_CATCHANY - { - if (TAO_debug_level > 2) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Proxy shutdown error (%P|%t)\n"); - } - ACE_ENDTRY; - } -} - -/// Shutdown the current poa. -void TAO_Notify_Object::destroy_poa (void) -{ - this->poa_ = 0; -} - -void -TAO_Notify_Object::set_worker_task (TAO_Notify_Worker_Task* worker_task) -{ - ACE_ASSERT( worker_task != 0 ); - - // shutdown the current worker. - this->shutdown_worker_task (); - - this->worker_task_.reset (worker_task); - - this->own_worker_task_ = true; -} - -void -TAO_Notify_Object::set_proxy_poa (TAO_Notify_POA_Helper* proxy_poa) -{ - // shutdown current proxy poa. - this->destroy_proxy_poa (); - - this->proxy_poa_ = proxy_poa; - - this->own_proxy_poa_ = true; -} - -void -TAO_Notify_Object::set_object_poa (TAO_Notify_POA_Helper* object_poa) -{ - // shutdown current object poa. - this->destroy_object_poa (); - - this->object_poa_ = object_poa; - - this->own_object_poa_ = true; -} - -void -TAO_Notify_Object::set_poa (TAO_Notify_POA_Helper* poa) -{ - this->poa_ = poa; -} - -void -TAO_Notify_Object::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL) -{ - CosNotification::PropertyErrorSeq err_seq; - - TAO_Notify_QoSProperties new_qos_properties; - - if (new_qos_properties.init (qos, err_seq) == -1) - ACE_THROW (CORBA::INTERNAL ()); - - // Apply the appropriate concurrency QoS - if (new_qos_properties.thread_pool ().is_valid ()) - { - if (new_qos_properties.thread_pool ().value ().static_threads == 0) - { - TAO_Notify_PROPERTIES::instance()->builder()->apply_reactive_concurrency (*this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - TAO_Notify_PROPERTIES::instance()->builder()-> - apply_thread_pool_concurrency (*this, new_qos_properties.thread_pool ().value () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } - else if (new_qos_properties.thread_pool_lane ().is_valid ()) - TAO_Notify_PROPERTIES::instance()->builder()-> - apply_lane_concurrency (*this, new_qos_properties.thread_pool_lane ().value () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Update the Thread Task's QoS properties.. - this->worker_task_->update_qos_properties (new_qos_properties); - - // Inform subclasses of QoS changed. - this->qos_changed (new_qos_properties); - - // Init the the overall QoS on this object. - if (new_qos_properties.copy (this->qos_properties_) == -1) - ACE_THROW (CORBA::INTERNAL ()); - - if (err_seq.length () > 0) // Unsupported Property - ACE_THROW (CosNotification::UnsupportedQoS (err_seq)); -} - -CosNotification::QoSProperties* -TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_DECL) -{ - CosNotification::QoSProperties_var properties; - - ACE_NEW_THROW_EX (properties, - CosNotification::QoSProperties (), - CORBA::NO_MEMORY ()); - - this->qos_properties_.populate (properties); - - return properties._retn (); -} - -bool -TAO_Notify_Object::find_qos_property_value ( - const char * name, - CosNotification::PropertyValue & value) const -{ - return this->qos_properties_.find (name, value); -} - - -void -TAO_Notify_Object::qos_changed (const TAO_Notify_QoSProperties& /*qos_properties*/) -{ - // NOP. -} - -TAO_Notify_Timer* -TAO_Notify_Object::timer (void) -{ - ACE_ASSERT (worker_task_.get() != 0); - return this->worker_task_->timer (); -} - -namespace -{ - template - void add_qos_attr(TAO_Notify::NVPList& attrs, const T& prop) - { - if (prop.is_valid()) - { - attrs.push_back(TAO_Notify::NVP (prop)); - } - } -} // namespace - -void -TAO_Notify_Object::save_attrs (TAO_Notify::NVPList& attrs) -{ - add_qos_attr(attrs, this->qos_properties_.event_reliability ()); - add_qos_attr(attrs, this->qos_properties_.connection_reliability ()); - add_qos_attr(attrs, this->qos_properties_.priority ()); - add_qos_attr(attrs, this->qos_properties_.timeout ()); - add_qos_attr(attrs, this->qos_properties_.stop_time_supported ()); - add_qos_attr(attrs, this->qos_properties_.maximum_batch_size ()); - add_qos_attr(attrs, this->qos_properties_.pacing_interval ()); -} - -void -TAO_Notify_Object::load_attrs(const TAO_Notify::NVPList& attrs) -{ - attrs.load (this->qos_properties_.event_reliability ()); - attrs.load (this->qos_properties_.connection_reliability ()); - attrs.load (this->qos_properties_.priority ()); - attrs.load (this->qos_properties_.timeout ()); - attrs.load (this->qos_properties_.stop_time_supported ()); - attrs.load (this->qos_properties_.maximum_batch_size ()); - attrs.load (this->qos_properties_.pacing_interval ()); - this->qos_properties_.init (); -} - - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.h b/TAO/orbsvcs/orbsvcs/Notify/Object.h deleted file mode 100644 index 7b9cb510b6c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Object.h +++ /dev/null @@ -1,221 +0,0 @@ -// -*- C++ -*- - -/** - * @file Object.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_OBJECT_H -#define TAO_Notify_OBJECT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/QoSProperties.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Refcountable.h" -#include "orbsvcs/Notify/Name_Value_Pair.h" -#include "orbsvcs/Notify/Event_Manager.h" - -#include "orbsvcs/NotifyExtC.h" - -#include "tao/PortableServer/Servant_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_POA_Helper; -class TAO_Notify_Timer; -class TAO_Notify_RT_Builder; - -/** - * @class TAO_Notify_Object - * - * @brief Base Object for RT_Notify's CORBA Objects. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Object : public TAO_Notify_Refcountable -{ - friend class TAO_Notify_Builder; - friend class TAO_Notify_RT_Builder; - -public: - /// Id for Objects. - typedef CORBA::Long ID; - - /// Destructor - virtual ~TAO_Notify_Object (void); - - /// This Object's ID - ID id (void) const; - - /// Activate - virtual CORBA::Object_ptr activate (PortableServer::Servant servant ACE_ENV_ARG_DECL); - - /// Activate with existing id - virtual CORBA::Object_ptr activate ( - PortableServer::Servant servant, - CORBA::Long id - ACE_ENV_ARG_DECL); - - /// Deactivate - void deactivate (ACE_ENV_SINGLE_ARG_DECL); - - /// Have we been shutdown. returns 1 if shutdown. - int has_shutdown (void); - - void execute_task (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL); - - /// Get CORBA Ref. - CORBA::Object_ptr ref (ACE_ENV_SINGLE_ARG_DECL); - - /// Set the QoS Properties. - virtual void set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL); - - /// Get the QoS Properties. - CosNotification::QoSProperties* get_qos (ACE_ENV_SINGLE_ARG_DECL); - - bool find_qos_property_value ( - const char * name, - CosNotification::PropertyValue & value)const; - - /// Obtain the Timer manager associated with this object. - virtual TAO_Notify_Timer* timer (void); - - /// Accessor for the Event Manager - TAO_Notify_Event_Manager& event_manager (void); - - /// shutdown. Returns 1 ifif the shutdown was already run once before. - virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Load our attributes. Each derived type should call the superclass - /// load first before loading its own attributes. - virtual void load_attrs(const TAO_Notify::NVPList& attrs); - -protected: - /// Constructor - TAO_Notify_Object (void); - - /// Init this object with data from . - void initialize (TAO_Notify_Object* parent); - - /// Uses the poas from the supplied object - void inherit_poas (TAO_Notify_Object& parent); - - /// Adopts the supplied poa as all are poas - void adopt_poa (TAO_Notify_POA_Helper* single); - - /// Changes the primary poa to the current proxy poa - void set_primary_as_proxy_poa(); - - /// Accessor for the proxy_poa_ - TAO_Notify_POA_Helper* proxy_poa (void); - - /// Accessor for the object_poa_ - TAO_Notify_POA_Helper* object_poa (void); - - /// Get the POA assigned to us. - TAO_Notify_POA_Helper* poa (void); - - // Sets the admin properties - void set_event_manager( TAO_Notify_Event_Manager* event_manager ); - - // Sets the admin properties - void set_admin_properties( TAO_Notify_AdminProperties* admin_properties ); - - /// Accessor for the Admin Properties - TAO_Notify_AdminProperties& admin_properties (void); - - /// Notification that can be overridden by subclasses to be informed that have been modified. - virtual void qos_changed (const TAO_Notify_QoSProperties& qos_properties); - - /// Called by derived types to save their attributes. Each - /// derived type should call its superclass version before - /// saving its own attrs. - virtual void save_attrs(TAO_Notify::NVPList& attrs); - - ///= Protected data members. - - /// QoS Properties. - TAO_Notify_QoSProperties qos_properties_; - -private: - /// Set Worker Task. This object assume ownership of the set object. - void set_worker_task (TAO_Notify_Worker_Task* worker_task); - - /// Setting the proxy_poa_ gives ownership to this class. - void set_proxy_poa (TAO_Notify_POA_Helper* proxy_poa); - - /// Setting the object_poa_ gives ownership to this class. - void set_object_poa (TAO_Notify_POA_Helper* object_poa); - - /// Setting the object_poa_ gives ownership to this class. - void set_poa (TAO_Notify_POA_Helper* object_poa); - - /// Shutdown the current worker task and delete it if we own it. - void shutdown_worker_task (void); - - /// Shutdown the current proxy poa. - void destroy_proxy_poa (void); - - /// Shutdown the current object poa. - void destroy_object_poa (void); - - /// Shutdown the current poa. - void destroy_poa (void); - -protected: - - /// The mutex to serialize access to state variables. - TAO_SYNCH_MUTEX lock_; - -private: - - /// The POA in which the object is activated. - TAO_Notify_POA_Helper* poa_; - - /// The POA in which the proxys are activated. - TAO_Notify_POA_Helper* proxy_poa_; - bool own_proxy_poa_; - - /// The POA in which the object's children are activated. - TAO_Notify_POA_Helper* object_poa_; - bool own_object_poa_; - - /// Id assigned to this object - ID id_; - - /// The event manager. - //TAO_Notify_Event_Manager inl includes Object.h - TAO_Notify_Refcountable_Guard_T< TAO_Notify_Event_Manager > event_manager_; - - /// Admin Properties. - TAO_Notify_AdminProperties::Ptr admin_properties_; - - /// Worker Task. - TAO_Notify_Worker_Task::Ptr worker_task_; - bool own_worker_task_; - - /// Are we shutdown (i,e. scheduled for destroy). - bool shutdown_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Object.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_OBJECT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.inl b/TAO/orbsvcs/orbsvcs/Notify/Object.inl deleted file mode 100644 index fcc77e8b4d8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Object.inl +++ /dev/null @@ -1,97 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Long -TAO_Notify_Object::id (void) const -{ - return id_; -} - -ACE_INLINE void -TAO_Notify_Object::execute_task (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) -{ - TAO_Notify_Worker_Task::Ptr task( this->worker_task_ ); - if ( task.isSet() ) - { - task->execute( method_request ACE_ENV_ARG_PARAMETER ); - } -} - -ACE_INLINE void -TAO_Notify_Object::inherit_poas (TAO_Notify_Object& parent) -{ - this->set_proxy_poa( parent.proxy_poa() ); - this->set_object_poa( parent.object_poa() ); - this->set_poa( parent.poa() ); - - // Do not take ownership of parent's poas - own_proxy_poa_ = false; - own_object_poa_ = false; -} - -ACE_INLINE void -TAO_Notify_Object::adopt_poa (TAO_Notify_POA_Helper* single) -{ - ACE_ASSERT( single != 0 ); - this->set_proxy_poa( single ); - this->set_object_poa( single ); - this->set_poa( single ); - - // Maintain ownership of the poa -} - -ACE_INLINE void -TAO_Notify_Object::set_primary_as_proxy_poa() -{ - this->set_poa( this->proxy_poa() ); -} - -ACE_INLINE TAO_Notify_POA_Helper* -TAO_Notify_Object::poa (void) -{ - return this->poa_; -} - -ACE_INLINE TAO_Notify_POA_Helper* -TAO_Notify_Object::object_poa (void) -{ - return this->object_poa_; -} - -ACE_INLINE TAO_Notify_POA_Helper* -TAO_Notify_Object::proxy_poa (void) -{ - return this->proxy_poa_; -} - -ACE_INLINE int -TAO_Notify_Object::has_shutdown (void) -{ - return this->shutdown_; -} - -ACE_INLINE void -TAO_Notify_Object::set_admin_properties( TAO_Notify_AdminProperties* admin_properties ) -{ - ACE_ASSERT( admin_properties != 0 ); - this->admin_properties_.reset( admin_properties ); -} - -ACE_INLINE TAO_Notify_Event_Manager& -TAO_Notify_Object::event_manager (void) -{ - ACE_ASSERT( this->event_manager_.get() != 0 ); - return *this->event_manager_; -} - -ACE_INLINE TAO_Notify_AdminProperties& -TAO_Notify_Object::admin_properties (void) -{ - ACE_ASSERT( this->admin_properties_.get() != 0 ); - return *this->admin_properties_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp deleted file mode 100644 index 0137934dd22..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp +++ /dev/null @@ -1,218 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/POA_Helper.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/POA_Helper.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(RT_Notify, TAO_Notify_POA_Helper, "$Id$") - -#include "tao/debug.h" -//#define DEBUG_LEVEL 10 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif // DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_POA_Helper::TAO_Notify_POA_Helper (void) -{ -} - -TAO_Notify_POA_Helper::~TAO_Notify_POA_Helper () -{ -} - -ACE_CString -TAO_Notify_POA_Helper::get_unique_id (void) -{ - /// Factory for generating unique ids for the POAs. - static TAO_Notify_ID_Factory poa_id_factory; - - char buf[32]; - ACE_OS::itoa (poa_id_factory.id (), buf, 10); - - return ACE_CString (buf); -} - -void -TAO_Notify_POA_Helper::init (PortableServer::POA_ptr parent_poa, const char* poa_name ACE_ENV_ARG_DECL) -{ - CORBA::PolicyList policy_list (2); - - this->set_policy (parent_poa, policy_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->create_i (parent_poa, poa_name, policy_list ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_POA_Helper::init (PortableServer::POA_ptr parent_poa ACE_ENV_ARG_DECL) -{ - ACE_CString child_poa_name = this->get_unique_id (); - - this->init (parent_poa, child_poa_name.c_str () ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_POA_Helper::set_policy (PortableServer::POA_ptr parent_poa, CORBA::PolicyList &policy_list ACE_ENV_ARG_DECL) -{ - policy_list.length (2); - - policy_list[0] = - parent_poa->create_id_uniqueness_policy (PortableServer::UNIQUE_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - policy_list[1] = - parent_poa->create_id_assignment_policy (PortableServer::USER_ID - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void -TAO_Notify_POA_Helper::create_i (PortableServer::POA_ptr parent_poa, const char* poa_name, CORBA::PolicyList &policy_list ACE_ENV_ARG_DECL) -{ - PortableServer::POAManager_var manager = - parent_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Create the child POA. - this->poa_ = parent_poa->create_POA (poa_name, - manager.in (), - policy_list - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, "Created POA : %s\n", this->poa_->the_name ())); - /* - // Destroy the policies - for (CORBA::ULong index = 0; index < policy_list.length (); ++index) - { - policy_list[index]->destroy (); - } - */ -} - -PortableServer::ObjectId * -TAO_Notify_POA_Helper::long_to_ObjectId (CORBA::Long id ACE_ENV_ARG_DECL) const -{ - // Modified code from string_to_ObjectId .. - // - - CORBA::ULong buffer_size = 4; - - // Create the buffer for the Id - CORBA::Octet *buffer = PortableServer::ObjectId::allocbuf (buffer_size); - - // Copy the contents - ACE_OS::memcpy (buffer, (char*)&id, buffer_size); - - // @@ Pradeep: TAO guarantees that Long is 4 bytes wide, but the - // standard only guarantees that it is at least 4 bytes wide. You - // may want to think about that.... - - // Create and return a new ID - PortableServer::ObjectId *obj_id = 0; - ACE_NEW_THROW_EX (obj_id, - PortableServer::ObjectId (buffer_size, - buffer_size, - buffer, - 1), - CORBA::NO_MEMORY ()); - - return obj_id; -} - -CORBA::Object_ptr -TAO_Notify_POA_Helper::activate (PortableServer::Servant servant, CORBA::Long& id ACE_ENV_ARG_DECL) -{ - // Generate a new ID. - id = this->id_factory_.id (); - - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, "Activating object with id = %d in POA : %s\n", id, this->poa_->the_name ())); - - // Convert CORBA::Long to ObjectId - PortableServer::ObjectId_var oid = - this->long_to_ObjectId (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - poa_->activate_object_with_id (oid.in (), - servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - return poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_Notify_POA_Helper::activate_with_id (PortableServer::Servant servant, CORBA::Long id ACE_ENV_ARG_DECL) -{ - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, "Activating object with existing id = %d in POA : %s\n", id, this->poa_->the_name ())); - this->id_factory_.set_last_used (id); - - // Convert CORBA::Long to ObjectId - PortableServer::ObjectId_var oid = - this->long_to_ObjectId (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - poa_->activate_object_with_id (oid.in (), - servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - return poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_POA_Helper::deactivate (CORBA::Long id ACE_ENV_ARG_DECL) const -{ - // Convert CORBA::Long to ObjectId - PortableServer::ObjectId_var oid = - this->long_to_ObjectId (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - poa_->deactivate_object (oid.in () ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_Notify_POA_Helper::id_to_reference (CORBA::Long id ACE_ENV_ARG_DECL) const -{ - // Convert CORBA::Long to ObjectId - PortableServer::ObjectId_var oid = - this->long_to_ObjectId (id ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - return poa_->id_to_reference (oid.in () - ACE_ENV_ARG_PARAMETER); -} - -PortableServer::ServantBase * -TAO_Notify_POA_Helper::reference_to_servant (CORBA::Object_ptr ptr ACE_ENV_ARG_DECL) const -{ - return poa_->reference_to_servant (ptr ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_Notify_POA_Helper::servant_to_reference ( - PortableServer::ServantBase * servant ACE_ENV_ARG_DECL) const -{ - return poa_->servant_to_reference (servant ACE_ENV_ARG_PARAMETER); -} - - -void -TAO_Notify_POA_Helper::destroy (ACE_ENV_SINGLE_ARG_DECL) -{ - poa_->destroy (1,0 ACE_ENV_ARG_PARAMETER); - // The flag = 0 -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h deleted file mode 100644 index 57b4208324e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h +++ /dev/null @@ -1,115 +0,0 @@ -// -*- C++ -*- - -/** - * @file POA_Helper.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_POA_Helper_H -#define TAO_Notify_POA_Helper_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/ID_Factory.h" - -#include "tao/PortableServer/PortableServer.h" - -#include "ace/Copy_Disabled.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_POA_Helper - * - * @brief POA Abstraction. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_POA_Helper : private ACE_Copy_Disabled -{ -public: - /// Default Constructor - TAO_Notify_POA_Helper (void); - - /// Create a new PortableServer::POA. - void init (PortableServer::POA_ptr parent_poa, - const char* poa_name - ACE_ENV_ARG_DECL); - - /// Create a new PortableServer::POA. The name is chosen at random. - void init (PortableServer::POA_ptr parent_poa ACE_ENV_ARG_DECL); - - /// Destructor - virtual ~TAO_Notify_POA_Helper (); - - /// Get underlying POA - PortableServer::POA_ptr poa (void); - - /// Destroy underlying POA. - void destroy (ACE_ENV_SINGLE_ARG_DECL); - - /// Activate Object, the POA will assign an ID and return its value. - CORBA::Object_ptr activate (PortableServer::Servant servant, - CORBA::Long& id - ACE_ENV_ARG_DECL); - - /// Activate Object, using existing ID - CORBA::Object_ptr activate_with_id (PortableServer::Servant servant, CORBA::Long id ACE_ENV_ARG_DECL); - - /// Deactivate Object with ID - void deactivate (CORBA::Long id - ACE_ENV_ARG_DECL) const; - - /// Convert ID to reference. - CORBA::Object_ptr id_to_reference (CORBA::Long id - ACE_ENV_ARG_DECL) const; - - /// Convert reference to pointer to servant - PortableServer::ServantBase * reference_to_servant (CORBA::Object_ptr ptr - ACE_ENV_ARG_DECL) const; - - CORBA::Object_ptr servant_to_reference (PortableServer::ServantBase * servant ACE_ENV_ARG_DECL) const; - -protected: - /// Set default POA policies. - virtual void set_policy (PortableServer::POA_ptr parent_poa, - CORBA::PolicyList &policy_list - ACE_ENV_ARG_DECL); - - /// Apply the polices and create child POA. - void create_i (PortableServer::POA_ptr parent_poa, - const char* poa_name, - CORBA::PolicyList &policy_list ACE_ENV_ARG_DECL); - - /// Generate a unique id for each POA created. - ACE_CString get_unique_id (void); - - /// Convert id to ObjectID - PortableServer::ObjectId* long_to_ObjectId (CORBA::Long id - ACE_ENV_ARG_DECL) const; - -protected: - /// POA - PortableServer::POA_var poa_; - - /// ID Factory for objects. - TAO_Notify_ID_Factory id_factory_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/POA_Helper.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_POA_Helper_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.inl b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.inl deleted file mode 100644 index dc559fb00c4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.inl +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE PortableServer::POA_ptr -TAO_Notify_POA_Helper::poa (void) -{ - return this->poa_.in (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Peer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Peer.cpp deleted file mode 100644 index 6caa4aa6552..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Peer.cpp +++ /dev/null @@ -1,125 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Peer.h" - -ACE_RCSID(Notify, TAO_Notify_Peer, "$Id$") - -#include "orbsvcs/Notify/Proxy.h" - -#include "tao/debug.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Peer::TAO_Notify_Peer (void) -{ -} - -TAO_Notify_Peer::~TAO_Notify_Peer () -{ -} - -void -TAO_Notify_Peer::qos_changed (const TAO_Notify_QoSProperties& /*qos_properties*/) -{ - // NOP. -} - -void -TAO_Notify_Peer::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // NOP. -} - -void -TAO_Notify_Peer::handle_dispatch_exception (ACE_ENV_SINGLE_ARG_DECL) -{ - // Sever all association when a remote client misbehaves. Other strategies like reties are possible but not implemented. - this->proxy ()->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_Peer::dispatch_updates (const TAO_Notify_EventTypeSeq & added, const TAO_Notify_EventTypeSeq & removed ACE_ENV_ARG_DECL) -{ - TAO_Notify_EventTypeSeq subscribed_types ; - this->proxy ()->subscribed_types (subscribed_types ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_TRY - { - CosNotification::EventTypeSeq cos_added; - CosNotification::EventTypeSeq cos_removed; - - const TAO_Notify_EventType& special = TAO_Notify_EventType::special (); - - // Don;t inform of types that we already know about. - // E.g. if we're subscribed for {A,B,C,F} - // and we receive an update with added list {A,B,G} - // then, we should only send {G} because peer already knows about {A, B} - // However if we're subscribed for everything, send all kinds of adds. - - // Don;t inform of removed types that we don;t care about. - // e.g. if we're currently subscribed for {A,B,C,F} - // and we receive an update with removed list {A, B, D} - // then, we should only send {A,B} because the peer is not interested in D. - // However if we're subscribed for everything, send all kinds of removes. - - TAO_Notify_EventTypeSeq added_result = added; - TAO_Notify_EventTypeSeq removed_result; - - if (subscribed_types.find (special) != 0) - { - added_result.remove_seq (subscribed_types); - removed_result.intersection (subscribed_types, removed); - } - else - { - removed_result = removed; - } - - added_result.populate_no_special (cos_added); - removed_result.populate_no_special (cos_removed); - - if (cos_added.length () != 0 || cos_removed.length () != 0) - { - // Protect this object from being destroyed in this scope. - TAO_Notify_Proxy::Ptr proxy_guard(this->proxy ()); - - this->dispatch_updates_i (cos_added, cos_removed ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_exist) - { - this->handle_dispatch_exception (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::NO_IMPLEMENT, no_impl) - { - // The peer does not implement the offer/subscription_change method - // Do nothing. Later, perhaps set a flag that helps us decide if we should dispatch_updates_i. - } - ACE_CATCH (CORBA::SystemException, sysex) - { - this->handle_dispatch_exception (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Do nothing - } - ACE_ENDTRY; -} - -CORBA::ULong -TAO_Notify_Peer::_incr_refcnt (void) -{ - return this->proxy ()->_incr_refcnt (); -} - -CORBA::ULong -TAO_Notify_Peer::_decr_refcnt (void) -{ - return this->proxy ()->_decr_refcnt (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Peer.h b/TAO/orbsvcs/orbsvcs/Notify/Peer.h deleted file mode 100644 index 142ef4484cf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Peer.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -/** - * @file Peer.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PEER_H -#define TAO_Notify_PEER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotificationC.h" -#include "orbsvcs/Notify/EventTypeSeq.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Proxy; -class TAO_Notify_QoSProperties; -class TAO_Notify_Peer; - -/** - * @class TAO_Notify_Peer - * - * @brief Base class for Supplier and Consumer classes. - * This object delegates its reference count to its creator proxy object. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Peer -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Peer > Ptr; - /// Constuctor - TAO_Notify_Peer (void); - - /// Destructor - virtual ~TAO_Notify_Peer (); - - /// This method sigantures deliberately match the RefCounting methods required for ESF Proxy - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - - /// Shutdown the peer. - virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Access Proxy. - virtual TAO_Notify_Proxy* proxy (void) = 0; - - // Dispatch updates - virtual void dispatch_updates (const TAO_Notify_EventTypeSeq & added, - const TAO_Notify_EventTypeSeq & removed - ACE_ENV_ARG_DECL); - - /// QoS changed notification from the Peer. - virtual void qos_changed (const TAO_Notify_QoSProperties& qos_properties); - - /// Handle dispatch exceptions. - void handle_dispatch_exception (ACE_ENV_SINGLE_ARG_DECL); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const = 0; - -protected: - /// Implementation of Peer specific dispatch_updates - virtual void dispatch_updates_i (const CosNotification::EventTypeSeq& added, - const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL) = 0; - -private: - /// Release - virtual void release (void) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PEER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp b/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp deleted file mode 100644 index 18cda388126..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp +++ /dev/null @@ -1,400 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Persistent_File_Allocator.h" - -#include "tao/debug.h" -#include "ace/OS_NS_string.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -Persistent_Callback::~Persistent_Callback() -{ -} - -Persistent_Storage_Block::Persistent_Storage_Block(const size_t block_number, - const size_t block_size) - : block_number_(block_number) - , no_write_(false) - , sync_(false) - , block_size_(block_size) - , callback_(0) - , allocator_owns_(true) -{ - ACE_NEW(this->data_, unsigned char[this->block_size_]); - ACE_OS::memset(this->data_, 0, this->block_size_); - -} - -Persistent_Storage_Block::Persistent_Storage_Block( - const Persistent_Storage_Block& psb) - : block_number_(psb.block_number_) - , no_write_(psb.no_write_) - , sync_(psb.sync_) - , block_size_(psb.block_size_) - , callback_(psb.callback_) - , allocator_owns_(psb.allocator_owns_) -{ - ACE_NEW(this->data_, unsigned char[this->block_size_]); - ACE_OS::memcpy(this->data_, psb.data(), this->block_size_); -} - -Persistent_Storage_Block::~Persistent_Storage_Block() -{ - delete [] this->data_; - this->data_ = 0; -} - -void -Persistent_Storage_Block::set_no_write() -{ - this->no_write_ = true; - this->reassign_data(0, true); -} - -bool -Persistent_Storage_Block::get_no_write() -{ - return this->no_write_; -} - -void -Persistent_Storage_Block::set_sync() -{ - this->sync_ = true; -} - -bool -Persistent_Storage_Block::get_sync() const -{ - return this->sync_; -} - -size_t -Persistent_Storage_Block::block_number() const -{ - return this->block_number_; -} - -unsigned char* -Persistent_Storage_Block::data() const -{ - return this->data_; -} - -void -Persistent_Storage_Block::reassign_data(unsigned char* newptr, - bool delete_old) -{ - if (delete_old) - { - delete [] this->data_; - } - this->data_ = newptr; -} - -void -Persistent_Storage_Block::set_callback(Persistent_Callback* callback) -{ - this->callback_ = callback; -} - -Persistent_Callback* -Persistent_Storage_Block::get_callback() const -{ - return this->callback_; -} - -void -Persistent_Storage_Block::set_allocator_owns(bool allocator_owns) -{ - this->allocator_owns_ = allocator_owns; -} - -bool -Persistent_Storage_Block::get_allocator_owns() const -{ - return this->allocator_owns_; -} - -Persistent_File_Allocator::Persistent_File_Allocator() - : pstore_() - , terminate_thread_(false) - , thread_active_(false) - , wake_up_thread_(queue_lock_) -{ -} - -Persistent_File_Allocator::~Persistent_File_Allocator() -{ - this->shutdown_thread(); -} - -bool -Persistent_File_Allocator::open (const ACE_TCHAR* filename, - const size_t block_size) -{ - bool file_opened = this->pstore_.open(filename, block_size); - if (file_opened) - { - this->thread_active_ = true; - this->thread_manager_.spawn(this->thr_func, this); - } - return file_opened; -} - -void -Persistent_File_Allocator::shutdown() -{ - this->shutdown_thread(); -} - -Persistent_Storage_Block* -Persistent_File_Allocator::allocate() -{ - Persistent_Storage_Block* result = 0; - size_t block_number = 0; - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, 0); - if (!this->allocate_block(block_number)) - { - //@@todo: this should never happen - // why not. What if the disk is full? Oh, I see we - // allocate non-existent blocks. FIX this - } - if (DEBUG_LEVEL > 0) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Persistent_File_Allocator::allocate: %d\n"), - static_cast (block_number) - )); - result = this->allocate_at(block_number); - return result; -} - -Persistent_Storage_Block* -Persistent_File_Allocator::allocate_at(size_t block_number) -{ - Persistent_Storage_Block* result = 0; - this->used(block_number); - if (DEBUG_LEVEL > 0) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Persistent_File_Allocator::allocate at : %d\n"), - static_cast (block_number) - )); - ACE_NEW_RETURN(result, Persistent_Storage_Block( - block_number, - this->block_size()), - 0); - return result; -} - -Persistent_Storage_Block* -Persistent_File_Allocator::allocate_nowrite() -{ - Persistent_Storage_Block* result = 0; - ACE_NEW_RETURN (result, - Persistent_Storage_Block (static_cast (~0), 0), - 0); - result->set_no_write(); - - return result; -} - -void -Persistent_File_Allocator::used(size_t block_number) -{ - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->free_blocks_lock_); - if (DEBUG_LEVEL > 0) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Persistent_File_Allocator::used: %d\n"), - static_cast (block_number) - )); - ACE_ASSERT (!this->free_blocks_.is_set (block_number)); - this->free_blocks_.set_bit(block_number, true); -} - -void -Persistent_File_Allocator::free(size_t block_number) -{ - if (DEBUG_LEVEL > 0) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Persistent_File_Allocator::free: %d\n"), - static_cast (block_number) - )); - ACE_ASSERT (this->free_blocks_.is_set (block_number)); - this->free_block(block_number); -} - -size_t -Persistent_File_Allocator::block_size() const -{ - return pstore_.block_size(); -} - -bool -Persistent_File_Allocator::read(Persistent_Storage_Block* psb) -{ - bool result = this->thread_active_; - bool cached = false; - if (result) - { - Persistent_Storage_Block** psbtemp = 0; - { - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->queue_lock_, false); - size_t queue_size = this->block_queue_.size(); - for (size_t idx = 0; !cached && (idx < queue_size); ++idx) - { - // We want to start at the end of the queue and work backwards... - size_t actual_block = (queue_size - idx) - 1; - if (0 == this->block_queue_.get(psbtemp, actual_block)) - { - cached = ((*psbtemp)->block_number() == psb->block_number()); - } - } - // this needs to be done in the guarded section - if (cached && (0 != psbtemp)) - { - ACE_OS::memcpy(psb->data(), (*psbtemp)->data(), this->block_size()); - } - } - if (!cached) - { - result = pstore_.read(psb->block_number(), psb->data()); - } - } - return result; -} - -bool -Persistent_File_Allocator::write(Persistent_Storage_Block* psb) -{ - bool result = this->thread_active_; - if (result) - { - Persistent_Storage_Block* ourpsb = psb; - if (!psb->get_allocator_owns()) - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Copy PSB %d\n") - , static_cast (psb->block_number ()) - )); - ACE_NEW_RETURN(ourpsb, Persistent_Storage_Block(*psb), false); - ourpsb->set_allocator_owns(true); - } - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->queue_lock_, false); - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Queueing PSB to write block %d\n") - , static_cast (psb->block_number ()) - )); - result = (0 == this->block_queue_.enqueue_tail(ourpsb)); - this->wake_up_thread_.signal(); - } - return result; -} - -void -Persistent_File_Allocator::free_block(const size_t block_number) -{ - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->free_blocks_lock_); - ACE_ASSERT (this->free_blocks_.is_set (block_number)); - this->free_blocks_.set_bit(block_number, false); -} - -bool -Persistent_File_Allocator::allocate_block(size_t& block_number) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->free_blocks_lock_, 0); - block_number = this->free_blocks_.find_first_bit(false); - return true; -} - -ACE_THR_FUNC_RETURN -Persistent_File_Allocator::thr_func(void * arg) -{ - Persistent_File_Allocator* pfa = static_cast (arg); - pfa->run(); - return 0; -} - -size_t -Persistent_File_Allocator::file_size () const -{ - return this->pstore_.size (); -} - -void -Persistent_File_Allocator::shutdown_thread() -{ - if (this->thread_active_) - { - { - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->queue_lock_); - this->terminate_thread_ = true; - this->wake_up_thread_.signal(); - } - this->thread_manager_.close(); - ACE_ASSERT (!this->terminate_thread_); - ACE_ASSERT (!this->thread_active_); - } -} - -void -Persistent_File_Allocator::run() -{ - // We need this because we could be working on writing data - // when a call to terminate comes in! - bool do_more_work = true; - while (do_more_work) - { - do_more_work = false; - Persistent_Storage_Block * blk = 0; - { - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->queue_lock_); - while (this->block_queue_.is_empty() && !terminate_thread_) - { - this->wake_up_thread_.wait(); - } - // Awkward interface to peek at head of unbounded queue - Persistent_Storage_Block ** pblk = 0; - if (0 == this->block_queue_.get(pblk)) - { - do_more_work = true; - blk = *pblk; - } - } - if (0 != blk) - { - Persistent_Callback *callback = blk->get_callback(); - if (!blk->get_no_write()) - { - pstore_.write(blk->block_number(), blk->data(), blk->get_sync()); - } - { - Persistent_Storage_Block * blk2 = 0; - ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->queue_lock_); - this->block_queue_.dequeue_head (blk2); - // if this triggers, someone pushed onto the head of the queue - // or removed the head from the queue without telling ME. - ACE_ASSERT (blk2 == blk); - } - // If we own the block, then delete it. - if (blk->get_allocator_owns()) - { - delete blk; - blk = 0; - } - if (0 != callback) - { - callback->persist_complete(); - } - } - } - this->terminate_thread_ = false; - this->thread_active_ = false; -} - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h b/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h deleted file mode 100644 index 718be6e8f54..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h +++ /dev/null @@ -1,208 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Persistent_File_Allocator.h - * - * $Id$ - * - * A Persistent_File_Allocator manages a free list and allocates and - * deallocates blocks from a Random_File. There should be only one - * Persistent_File_Allocator for each Random_File. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef PERSISTENT_FILE_ALLOCATOR_H -#define PERSISTENT_FILE_ALLOCATOR_H -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Random_File.h" -#include "orbsvcs/Notify/Bit_Vector.h" -#include "ace/Containers_T.h" -#include "ace/Unbounded_Queue.h" -#include "ace/Thread_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -/// \brief An interface to allow callbacks on completion of persistent storage -/// requests. -class TAO_Notify_Serv_Export Persistent_Callback -{ -public: - virtual ~Persistent_Callback(); - /// \brief Called by a Persistent_File_Allocator when a write request has - /// completed. - virtual void persist_complete() = 0; -}; - -/** - * \brief A class to represent a block on disk. - * - * Contains the raw data to be written on disk as well as - * positioning information, synchronization information, and a pointer - * to a callback. - */ -class TAO_Notify_Serv_Export Persistent_Storage_Block -{ -public: - /// The constructor. Initializes the callback to NULL. - Persistent_Storage_Block( - const size_t block_number, - const size_t block_size); - /// The copy constructor. Makes a deep copy of the passed in PSB. - Persistent_Storage_Block(const Persistent_Storage_Block& psb); - /// The destructor. - ~Persistent_Storage_Block(); - - /// Set our block to not have any data at all - a no-op. This can be - /// used to implement a checkpoint in the write stream. - void set_no_write(); - /// Find out whether we have data to be written. - bool get_no_write(); - - /// Set our block to be written as a near-atomic operation. - void set_sync(); - /// Find out whether this block should be written near-atomically. - bool get_sync() const; - - /// Find out our physical block number. - size_t block_number() const; - - /// Return our data to the user. - unsigned char* data() const; - /// Set our data pointer, and optionally delete it. - void reassign_data(unsigned char* newptr, bool delete_old = false); - - /// Return block number and relinquish ownership. - size_t detach (); - - /// Set our callback. - void set_callback(Persistent_Callback* callback); - /// Get our callback. - Persistent_Callback* get_callback() const; - - /// Set ownership of this PSB. - void set_allocator_owns(bool allocator_owns = true); - /// Get ownership status of this PSB. - bool get_allocator_owns() const; - -private: - /// Our raw data. - unsigned char* data_; - /// The block number corresponding to our data. - size_t block_number_; - /// Are we a no-op with just a callback? - bool no_write_; - /// Write in near-atomic fashion. - bool sync_; - /// The size of our block. - size_t block_size_; - /// Our optional callback function, to be used in such things as state - /// transitions. - Persistent_Callback* callback_; - /// Does the allocator obtain ownership of our block? - bool allocator_owns_; -}; - -/** - * \brief A class that manages the details of persistent storage. - * - * Maintains a free list, write queue, allocations of new - * blocks, reads, and writes. This class also manages a thread that performs - * background updating of a Random_File. - * @@todo this is too much for one class to do. It should be refactored. - * @@todo: we shouldn't arbitrarily use a thread. - */ -class TAO_Notify_Serv_Export Persistent_File_Allocator -{ -public: - /// The constructor. - Persistent_File_Allocator(); - /// The destructor. - ~Persistent_File_Allocator(); - - bool open (const ACE_TCHAR* filename, - const size_t block_size = 512); - - /// \brief Wait for pending I/O and terminate our work thread. - void shutdown(); - - /// Allocate a new Persistent_Storage_Block and initialize it to an unused - /// block of storage. - Persistent_Storage_Block* allocate(); - - /// \brief Allocate a new Persistent_Storage_Block at a given address - Persistent_Storage_Block* allocate_at(size_t block_number); - - /// \brief Allocate a PSB that is marked to not persist - Persistent_Storage_Block* allocate_nowrite(); - - /// \brief Mark a block as used, removing it from the free list. - void used(size_t block_number); - - /// \brief Mark a block number as able to be used again. - void free(size_t block_number); - - /// \brief Access block size. - size_t block_size() const; - - /// \brief Read data into a PSB. - /// - /// Data will come either from the queue of blocks to be written, or - /// it will be read from the file if there are no queued write requests for - /// this block. - bool read(Persistent_Storage_Block* psb); - - /// \brief Write this block to the file, - /// - /// Add the Persistent_Storage_Block to our write queue and let the - /// worker thread handle writing this to the Random_File. - bool write(Persistent_Storage_Block* psb); - - /// for information (unit test) only. - size_t file_size () const; - -private: - /// Free a previously assigned block. - void free_block(const size_t block_number); - /// Find and allocate a free block. - bool allocate_block(size_t& block_number); - - /// Used during thread startup to cast us back to ourselves and call the - /// run() method. - static ACE_THR_FUNC_RETURN thr_func(void * arg); - /// Wait for pending I/O to complete and shut our worker thread down safely. - void shutdown_thread(); - /// The worker's execution thread. - void run(); - -private: - ACE_Thread_Manager thread_manager_; - Random_File pstore_; - Bit_Vector free_blocks_; - ACE_Unbounded_Queue block_queue_; - ACE_SYNCH_MUTEX lock_; - ACE_SYNCH_MUTEX free_blocks_lock_; - ACE_SYNCH_MUTEX queue_lock_; - bool terminate_thread_; - bool thread_active_; - ACE_SYNCH_CONDITION wake_up_thread_; -}; - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* PERSISTENT_FILE_ALLOCATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp b/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp deleted file mode 100644 index 798f24fb7f1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/NotifyExtC.h" -#include "tao/debug.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Properties.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, - TAO_Notify_Properties, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Properties::TAO_Notify_Properties (void) - : factory_ (0) - , builder_ (0) - , asynch_updates_ (0) - , allow_reconnect_ (false) - , updates_ (1) -{ - // In case no conf. file is specified, the EC will default to reactive concurrency. - NotifyExt::ThreadPoolParams tp_params = - {NotifyExt::CLIENT_PROPAGATED,0, 0, 0, 0, 0, 0, 0,0}; - - this->ec_qos_.length (1); - this->ec_qos_[0].name = CORBA::string_dup (NotifyExt::ThreadPool); - this->ec_qos_[0].value <<= tp_params; - - if (TAO_debug_level > 1) - ACE_DEBUG ((LM_DEBUG, "in TAO_Properties ctos %x\n", this)); -} - -TAO_Notify_Properties::~TAO_Notify_Properties () -{ -} - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template class TAO_Singleton *TAO_Singleton::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Properties.h b/TAO/orbsvcs/orbsvcs/Notify/Properties.h deleted file mode 100644 index 7ab3ec74637..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Properties.h +++ /dev/null @@ -1,155 +0,0 @@ -// -*- C++ -*- - -/** - * @file Properties.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROPERTIES_H -#define TAO_Notify_PROPERTIES_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotificationC.h" - -#include "tao/PortableServer/PortableServer.h" - -#include "tao/TAO_Singleton.h" -#include "tao/ORB.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Factory; -class TAO_Notify_Builder; - -/** - * @class TAO_Notify_Properties - * - * @brief Global properties that strategize Notify's run-time behaviour. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Properties -{ -public: - /// Constuctor - TAO_Notify_Properties (void); - - /// Destructor - ~TAO_Notify_Properties (); - - // = Property Accessors - TAO_Notify_Factory* factory (void); - void factory (TAO_Notify_Factory* factory); - - TAO_Notify_Builder* builder (void); - void builder (TAO_Notify_Builder* builder); - - CORBA::ORB_ptr orb (void); - void orb (CORBA::ORB_ptr orb); - - PortableServer::POA_ptr default_poa (void); - void default_poa (PortableServer::POA_ptr default_poa); - - CORBA::Boolean asynch_updates (void); - void asynch_updates (CORBA::Boolean asynch_updates); - - bool allow_reconnect (void); - void allow_reconnect (bool b); - - // Turn on/off update messages. - CORBA::Boolean updates (void); - void updates (CORBA::Boolean updates); - - // The QoS Property that must be applied to each newly created Event Channel - const CosNotification::QoSProperties& default_event_channel_qos_properties (void); - - // Set the default EC QoS Property. - void default_event_channel_qos_properties (const CosNotification::QoSProperties &ec_qos); - - // The QoS Property that must be applied to each newly created Supplier Admin - const CosNotification::QoSProperties& default_supplier_admin_qos_properties (void); - - // Set the default SA QoS Property. - void default_supplier_admin_qos_properties (const CosNotification::QoSProperties &sa_qos); - - // The QoS Property that must be applied to each newly created Consumer Admin - const CosNotification::QoSProperties& default_consumer_admin_qos_properties (void); - - // Set the default CA QoS Property. - void default_consumer_admin_qos_properties (const CosNotification::QoSProperties &ca_qos); - - // The QoS Property that must be applied to each newly created Proxy Supplier - const CosNotification::QoSProperties& default_proxy_supplier_qos_properties (void); - - // Set the default PS QoS Property. - void default_proxy_supplier_qos_properties (const CosNotification::QoSProperties &ps_qos); - - // The QoS Property that must be applied to each newly created Proxy Consumer - const CosNotification::QoSProperties& default_proxy_consumer_qos_properties (void); - - // Set the default PC QoS Property. - void default_proxy_consumer_qos_properties (const CosNotification::QoSProperties &pc_qos); - -protected: - /// Object Factory - TAO_Notify_Factory* factory_; - - /// Object Builder - TAO_Notify_Builder* builder_; - - /// ORB - CORBA::ORB_var orb_; - - // POA - PortableServer::POA_var default_poa_; - - /// True if send asynch updates. - CORBA::Boolean asynch_updates_; - - /// True if clients can reconnect to proxies. - bool allow_reconnect_; - - /// True if updates are enabled (default). - CORBA::Boolean updates_; - - /// The Update period for updates. - ACE_Time_Value update_period_; - - /// The default EC QoS Properties. - CosNotification::QoSProperties ec_qos_; - - /// The default SA QoS Properties. - CosNotification::QoSProperties sa_qos_; - - /// The default CA QoS Properties. - CosNotification::QoSProperties ca_qos_; - - /// The default PS QoS Properties. - CosNotification::QoSProperties ps_qos_; - - /// The default PC QoS Properties. - CosNotification::QoSProperties pc_qos_; -}; - -TAO_NOTIFY_SERV_SINGLETON_DECLARE (TAO_Singleton, TAO_Notify_Properties, TAO_SYNCH_MUTEX) - -typedef TAO_Singleton TAO_Notify_PROPERTIES; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Properties.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_PROPERTIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Properties.inl b/TAO/orbsvcs/orbsvcs/Notify/Properties.inl deleted file mode 100644 index c53e7087f8e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Properties.inl +++ /dev/null @@ -1,151 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_Notify_Factory* -TAO_Notify_Properties::factory (void) -{ - return this->factory_; -} - -ACE_INLINE void -TAO_Notify_Properties::factory (TAO_Notify_Factory* factory) -{ - this->factory_ = factory; -} - -ACE_INLINE TAO_Notify_Builder* -TAO_Notify_Properties::builder (void) -{ - return this->builder_; -} - -ACE_INLINE void -TAO_Notify_Properties::builder (TAO_Notify_Builder* builder) -{ - this->builder_ = builder; -} - -ACE_INLINE CORBA::ORB_ptr -TAO_Notify_Properties::orb (void) -{ - return CORBA::ORB::_duplicate (orb_.in ()); -} - -ACE_INLINE void -TAO_Notify_Properties::orb (CORBA::ORB_ptr orb) -{ - orb_ = CORBA::ORB::_duplicate (orb); -} - -ACE_INLINE PortableServer::POA_ptr -TAO_Notify_Properties::default_poa (void) -{ - return PortableServer::POA::_duplicate (this->default_poa_.in ()); -} - -ACE_INLINE void -TAO_Notify_Properties::default_poa (PortableServer::POA_ptr default_poa) -{ - this->default_poa_ = PortableServer::POA::_duplicate (default_poa); -} - -ACE_INLINE CORBA::Boolean -TAO_Notify_Properties::asynch_updates (void) -{ - return this->asynch_updates_; -} - -ACE_INLINE void -TAO_Notify_Properties::asynch_updates (CORBA::Boolean asynch_updates) -{ - this->asynch_updates_ = asynch_updates; -} - -ACE_INLINE bool -TAO_Notify_Properties::allow_reconnect (void) -{ - return this->allow_reconnect_; -} - -ACE_INLINE void -TAO_Notify_Properties::allow_reconnect (bool b) -{ - this->allow_reconnect_ = b; -} - -ACE_INLINE CORBA::Boolean -TAO_Notify_Properties::updates (void) -{ - return this->updates_; -} - -ACE_INLINE void -TAO_Notify_Properties::updates (CORBA::Boolean updates) -{ - this->updates_ = updates; -} - -ACE_INLINE const CosNotification::QoSProperties& -TAO_Notify_Properties::default_event_channel_qos_properties (void) -{ - return this->ec_qos_; -} - -ACE_INLINE void -TAO_Notify_Properties::default_event_channel_qos_properties (const CosNotification::QoSProperties &ec_qos) -{ - this->ec_qos_ = ec_qos; -} - -ACE_INLINE const CosNotification::QoSProperties& -TAO_Notify_Properties::default_supplier_admin_qos_properties (void) -{ - return this->sa_qos_; -} - -ACE_INLINE void -TAO_Notify_Properties::default_supplier_admin_qos_properties (const CosNotification::QoSProperties &sa_qos) -{ - this->sa_qos_ = sa_qos; -} - -ACE_INLINE const CosNotification::QoSProperties& -TAO_Notify_Properties::default_consumer_admin_qos_properties (void) -{ - return this->ca_qos_; -} - -ACE_INLINE void -TAO_Notify_Properties::default_consumer_admin_qos_properties (const CosNotification::QoSProperties &ca_qos) -{ - this->ca_qos_ = ca_qos; -} - -ACE_INLINE const CosNotification::QoSProperties& -TAO_Notify_Properties::default_proxy_supplier_qos_properties (void) -{ - return this->ps_qos_; -} - -ACE_INLINE void -TAO_Notify_Properties::default_proxy_supplier_qos_properties (const CosNotification::QoSProperties &ps_qos) -{ - this->ps_qos_ = ps_qos; -} - -ACE_INLINE const CosNotification::QoSProperties& -TAO_Notify_Properties::default_proxy_consumer_qos_properties (void) -{ - return this->pc_qos_; -} - -ACE_INLINE void -TAO_Notify_Properties::default_proxy_consumer_qos_properties (const CosNotification::QoSProperties &pc_qos) -{ - this->pc_qos_ = pc_qos; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property.h b/TAO/orbsvcs/orbsvcs/Notify/Property.h deleted file mode 100644 index 2d0ef880733..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Property.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_PROPERTY_H -#define TAO_Notify_PROPERTY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/NotifyExtC.h" - -#include "tao/orbconf.h" -#include "tao/TimeBaseC.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -template class ACE_Atomic_Op; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template class TAO_Notify_Property_T; -template class TAO_Notify_StructProperty_T; - -typedef ACE_Atomic_Op TAO_Notify_Atomic_Property_Long; -typedef TAO_Notify_Property_T TAO_Notify_Property_Long; -typedef TAO_Notify_Property_T TAO_Notify_Property_ULong; -typedef TAO_Notify_Property_T TAO_Notify_Property_Short; -typedef TAO_Notify_Property_T TAO_Notify_Property_Time; -typedef TAO_Notify_StructProperty_T TAO_Notify_Property_ThreadPool; -typedef TAO_Notify_StructProperty_T TAO_Notify_Property_ThreadPoolLanes; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_PROPERTY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.cpp b/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.cpp deleted file mode 100644 index bd8adc484f6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/PropertySeq.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/PropertySeq.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_PropertySeq, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_PropertySeq::TAO_Notify_PropertySeq (void) -{ -} - -TAO_Notify_PropertySeq::~TAO_Notify_PropertySeq () -{ -} - -int -TAO_Notify_PropertySeq::init (const CosNotification::PropertySeq& prop_seq) -{ - ACE_CString name; - - for (CORBA::ULong i = 0; i < prop_seq.length (); ++i) - { - name = prop_seq[i].name.in (); - - if (this->property_map_.rebind (name, prop_seq[i].value) == -1) - return -1; - } - // Note call to rebind. This allows to call to set updates. - - return 0; -} - -int -TAO_Notify_PropertySeq::populate (CosNotification::PropertySeq_var& prop_seq) const -{ - PROPERTY_MAP::CONST_ITERATOR iterator (this->property_map_); - - int index = prop_seq->length (); - prop_seq->length (static_cast (index + this->property_map_.current_size ())); - - for (PROPERTY_MAP::ENTRY *entry = 0; - iterator.next (entry) != 0; - iterator.advance (), ++index) - { - (*prop_seq)[index].name = CORBA::string_dup (entry->ext_id_.c_str ()); - (*prop_seq)[index].value = entry->int_id_; - } - - return 0; -} - -void -TAO_Notify_PropertySeq::add(const ACE_CString& name, const CORBA::Any& val) -{ - int ret = this->property_map_.rebind (name, val); - ACE_ASSERT(ret >= 0); - ACE_UNUSED_ARG (ret); // because the assert disappears in release builds -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.h b/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.h deleted file mode 100644 index 315aac46a0b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- C++ -*- - -/** - * @file PropertySeq.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROPERTYSEQ_H -#define TAO_Notify_PROPERTYSEQ_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotificationC.h" - -#include "ace/Hash_Map_Manager.h" -#include "ace/SString.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_PropertySeq - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_PropertySeq -{ -public: - /// Constuctor - TAO_Notify_PropertySeq (void); - - /// Destructor - ~TAO_Notify_PropertySeq (); - - /// Return 0 on success, -1 on error. - int init (const CosNotification::PropertySeq& prop_seq); - - /// Find the for property . Returns 0 on success. - int find (const char* name, CosNotification::PropertyValue& value) const; - - /// Return -1 on error. - int populate (CosNotification::PropertySeq_var& prop_seq) const; - - /// return the number of properties available as a sequence - size_t size() const; - -protected: - /// Add the value. Used by subclasses to initialize the property map from their - /// member variables. - void add(const ACE_CString& name, const CORBA::Any& val); - -protected: - /// Property Map. - typedef ACE_Hash_Map_Manager PROPERTY_MAP; - - PROPERTY_MAP property_map_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/PropertySeq.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_PROPERTYSEQ_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.inl b/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.inl deleted file mode 100644 index 043f28ab9b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/PropertySeq.inl +++ /dev/null @@ -1,22 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE int -TAO_Notify_PropertySeq::find (const char* name, - CosNotification::PropertyValue& value) const -{ - ACE_CString str_name (name); - return this->property_map_.find (str_name, value); -} - -ACE_INLINE -size_t -TAO_Notify_PropertySeq::size() const -{ - return this->property_map_.current_size(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.cpp b/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.cpp deleted file mode 100644 index 378ca42dc41..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Property_Boolean.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Property_Boolean.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_Property_Boolean, "$Id$") - -#include "orbsvcs/Notify/PropertySeq.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Property_Boolean::TAO_Notify_Property_Boolean (const char* name) - : name_ (name), valid_(0) -{ -} - -TAO_Notify_Property_Boolean::TAO_Notify_Property_Boolean (const char* name, CORBA::Boolean initial) - :name_ (name), value_ (initial), valid_ (1) -{ -} - -int -TAO_Notify_Property_Boolean::set (const TAO_Notify_PropertySeq& property_seq) -{ - CosNotification::PropertyValue value; - - if (property_seq.find (this->name_, value) == -1) - return -1; - - value >>= CORBA::Any::to_boolean (this->value_); - - return 0; -} - -void -TAO_Notify_Property_Boolean::get (CosNotification::PropertySeq& prop_seq) -{ - /// Make space - prop_seq.length (prop_seq.length () + 1); - - prop_seq[prop_seq.length () - 1].value <<= CORBA::Any::from_boolean (this->value_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.h b/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.h deleted file mode 100644 index 53c0f441de9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- C++ -*- - -/** - * @file Property_Boolean.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROPERTY_BOOLEAN_H -#define TAO_Notify_PROPERTY_BOOLEAN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotificationC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_PropertySeq; - -/** - * @class TAO_Notify_Property_Boolean - * - * @brief Boolean Property. - * - */ -/*******************************************************************************/ - -class TAO_Notify_Serv_Export TAO_Notify_Property_Boolean -{ -public: - /// Constuctor - TAO_Notify_Property_Boolean (const char* name, CORBA::Boolean initial); - - /// Constuctor - TAO_Notify_Property_Boolean (const char* name); - - /// Assignment from TAO_Notify_Property_Boolean - TAO_Notify_Property_Boolean& operator= (const TAO_Notify_Property_Boolean& rhs); - - /// Assignment from CORBA::Boolean - TAO_Notify_Property_Boolean& operator= (const CORBA::Boolean& rhs); - - /// Equality comparison operator. - bool operator== (const CORBA::Boolean &rhs) const; - - /// Inequality comparison operator. - bool operator!= (const CORBA::Boolean &rhs) const; - - int set (const TAO_Notify_PropertySeq& property_seq); - - void get (CosNotification::PropertySeq& prop_seq); - - /// Return the name - const char * name (void) const; - - /// Return the value. - CORBA::Boolean value (void) const; - - /// Is the current value valid - CORBA::Boolean is_valid (void) const; - -protected: - /// The Property name. - const char* name_; - - /// The value - CORBA::Boolean value_; - - /// Is the value valid - CORBA::Boolean valid_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Property_Boolean.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_PROPERTY_BOOLEAN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.inl b/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.inl deleted file mode 100644 index bccd42bed59..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property_Boolean.inl +++ /dev/null @@ -1,62 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_Notify_Property_Boolean& -TAO_Notify_Property_Boolean::operator= (const TAO_Notify_Property_Boolean& rhs) -{ - if (this == &rhs) - return *this; - - if (rhs.is_valid ()) - { - this->name_ = rhs.name_; - this->value_ = rhs.value_; - this->valid_ = rhs.valid_; - } - - return *this; -} - -ACE_INLINE TAO_Notify_Property_Boolean& -TAO_Notify_Property_Boolean::operator= (const CORBA::Boolean& value) -{ - this->value_ = value; - - return *this; -} - -ACE_INLINE bool -TAO_Notify_Property_Boolean::operator== (const CORBA::Boolean &rhs) const -{ - return (this->value_ == rhs); -} - -ACE_INLINE bool -TAO_Notify_Property_Boolean::operator!= (const CORBA::Boolean &rhs) const -{ - return (this->value_ != rhs); -} - -ACE_INLINE -const char * -TAO_Notify_Property_Boolean::name (void) const -{ - return this->name_; -} - -ACE_INLINE CORBA::Boolean -TAO_Notify_Property_Boolean::value (void) const -{ - return this->value_; -} - -ACE_INLINE CORBA::Boolean -TAO_Notify_Property_Boolean::is_valid (void) const -{ - return this->valid_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Property_T.cpp deleted file mode 100644 index 75b5675e2d5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property_T.cpp +++ /dev/null @@ -1,137 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_PROPERTY_T_CPP -#define TAO_Notify_PROPERTY_T_CPP - -#include "orbsvcs/Notify/Property_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Property_T.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, - TAO_Notify_Property_T, - "$Id$") - -#include "orbsvcs/Notify/PropertySeq.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/*****************************************************************************/ - -template -TAO_Notify_PropertyBase_T::TAO_Notify_PropertyBase_T (const char* name) - : name_ (name), valid_(0) -{ -} - -template -TAO_Notify_PropertyBase_T::TAO_Notify_PropertyBase_T (const char* name, const TYPE& initial) - : name_ (name), value_ (initial), valid_ (1) -{ -} - -template -TAO_Notify_PropertyBase_T::TAO_Notify_PropertyBase_T ( - const TAO_Notify_PropertyBase_T &rhs) - : name_ (rhs.name_), - value_ (rhs.value_), - valid_ (rhs.valid_) -{ - -} - -template -TAO_Notify_PropertyBase_T::~TAO_Notify_PropertyBase_T () -{ -} - -template void -TAO_Notify_PropertyBase_T::get (CosNotification::PropertySeq& prop_seq) -{ - /// Make space - prop_seq.length (prop_seq.length () + 1); - - prop_seq[prop_seq.length () - 1].value <<= this->value_; -} - -/*******************************************************************************/ - -template -TAO_Notify_Property_T::TAO_Notify_Property_T (const char* name) - :TAO_Notify_PropertyBase_T (name) -{ -} - -template -TAO_Notify_Property_T::TAO_Notify_Property_T (const char* name, const TYPE& initial) - :TAO_Notify_PropertyBase_T (name, initial) -{ -} - -template int -TAO_Notify_Property_T::set (const TAO_Notify_PropertySeq& property_seq) -{ - CosNotification::PropertyValue value; - - if (property_seq.find (this->name_, value) == 0 && (value >>= this->value_)) - { - this->valid_ = 1; - return 0; - } - - this->valid_ = 0; - return -1; -} - -template int -TAO_Notify_Property_T::set(const CosNotification::PropertyValue &value) -{ - if (value >>= this->value_) - { - this->valid_ = 1; - return 0; - } - - return -1; -} - -/*******************************************************************************/ - -template -TAO_Notify_StructProperty_T::TAO_Notify_StructProperty_T (const char* name) - :name_ (name), valid_(0) -{ -} - -template -TAO_Notify_StructProperty_T::TAO_Notify_StructProperty_T (const char* name, const TYPE& initial) - :name_ (name), value_ (initial), valid_ (1) -{ -} - -template int -TAO_Notify_StructProperty_T::set ( - const TAO_Notify_PropertySeq& property_seq) -{ - CosNotification::PropertyValue value; - - if (property_seq.find (this->name_, value) == 0) - { - TYPE* extract_type = 0; - - if ((value >>= extract_type) && extract_type != 0) // make sure we get something valid. - { - this->value_ = *extract_type; // copy - this->valid_ = 1; - return 0; - } - } - - this->valid_ = 0; - return -1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_PROPERTY_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property_T.h b/TAO/orbsvcs/orbsvcs/Notify/Property_T.h deleted file mode 100644 index 39a79608659..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property_T.h +++ /dev/null @@ -1,170 +0,0 @@ -// -*- C++ -*- - -/** - * @file Property_T.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROPERTY_T_H -#define TAO_Notify_PROPERTY_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SString.h" - -#include "orbsvcs/CosNotificationC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_PropertySeq; - -/** - * @class TAO_Notify_PropertyBase_T - * - * @brief - * - */ -template -class TAO_Notify_PropertyBase_T -{ -public: - /// Constuctor - TAO_Notify_PropertyBase_T (const char* name, const TYPE& initial); - - /// Constuctor - TAO_Notify_PropertyBase_T (const char* name); - - /// Copy Constuctor - TAO_Notify_PropertyBase_T (const TAO_Notify_PropertyBase_T &rhs); - - /// Destructor - ~TAO_Notify_PropertyBase_T (); - - /// Equality comparison operator. - bool operator== (const TYPE &rhs) const; - - /// Inequality comparison operator. - bool operator!= (const TYPE &rhs) const; - - /// Populate the Property Sequence with this valid value. - void get (CosNotification::PropertySeq& prop_seq); - - // assign a new value - void assign (const TYPE& value); - - /// Return the value. - const TYPE& value (void) const; - - /// Return the name - const char * name (void) const; - - /// Is the current value valid - CORBA::Boolean is_valid (void) const; - - /// Invalidate this property's value. - void invalidate (void); - -protected: - /// The Property name. - const char* name_; - - /// The value - TYPE value_; - - /// Is the value valid - CORBA::Boolean valid_; -}; - - -/*******************************************************************************/ -/** - * @class TAO_Notify_Property_T - * - * @brief - * - */ -template -class TAO_Notify_Property_T : public TAO_Notify_PropertyBase_T -{ -public: - /// Constuctor - TAO_Notify_Property_T (const char* name, const TYPE& initial); - - /// Constuctor - TAO_Notify_Property_T (const char* name); - - /// Init this Property from the sequence. - /// Returns 0 on success, -1 on error - int set (const TAO_Notify_PropertySeq& property_seq); - - /// Init this Property from the CosNotification::PropertyValue - /// Returns 0 on success, -1 on error - int set (const CosNotification::PropertyValue &value); -}; - -/*******************************************************************************/ -/** - * @class TAO_Notify_StructProperty_T - * - * @brief - * - */ -template -class TAO_Notify_StructProperty_T -{ -public: - /// Constuctor - TAO_Notify_StructProperty_T (const char* name, const TYPE& initial); - - /// Constuctor - TAO_Notify_StructProperty_T (const char* name); - - /// Init this Property from the sequence. - /// Returns 0 on success, -1 on error - int set (const TAO_Notify_PropertySeq& property_seq); - - /// Return the name - const char * name (void) const; - - /// Return the value. - const TYPE& value (void) const; - - /// Is the current value valid - CORBA::Boolean is_valid (void) const; - -protected: - /// The Property name. - const char* name_; - - /// The value - TYPE value_; - - /// Is the value valid - CORBA::Boolean valid_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Property_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Property_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Property_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROPERTY_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Property_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Property_T.inl deleted file mode 100644 index 7f66d30c0c0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Property_T.inl +++ /dev/null @@ -1,77 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE const TYPE& -TAO_Notify_PropertyBase_T::value (void) const -{ - return this->value_; -} - -template ACE_INLINE -const char * -TAO_Notify_PropertyBase_T::name (void) const -{ - return this->name_; -} - -template ACE_INLINE CORBA::Boolean -TAO_Notify_PropertyBase_T::is_valid (void) const -{ - return this->valid_; -} - -template ACE_INLINE bool -TAO_Notify_PropertyBase_T::operator== (const TYPE &rhs) const -{ - return (this->value_ == rhs); -} - -template ACE_INLINE bool -TAO_Notify_PropertyBase_T::operator!= (const TYPE &rhs) const -{ - return (this->value_ != rhs); -} - -template ACE_INLINE void -TAO_Notify_PropertyBase_T:: invalidate (void) -{ - this->valid_ = 0; -} - -template ACE_INLINE -void -TAO_Notify_PropertyBase_T:: assign (const TYPE& value) -{ - this->value_ = value; - this->valid_ = 1; -} - - - -/******************************************************************************/ - -template ACE_INLINE -const char * -TAO_Notify_StructProperty_T::name (void) const -{ - return this->name_; -} - -template ACE_INLINE const TYPE& -TAO_Notify_StructProperty_T::value (void) const -{ - return this->value_; -} - - - -template ACE_INLINE CORBA::Boolean -TAO_Notify_StructProperty_T::is_valid (void) const -{ - return this->valid_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp b/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp deleted file mode 100644 index a088943d05b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp +++ /dev/null @@ -1,199 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Proxy.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Proxy.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_Proxy, "$Id$") - -#include "orbsvcs/Notify/Peer.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/Method_Request_Updates.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/POA_Helper.h" -#include "orbsvcs/Notify/Topology_Saver.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Proxy::TAO_Notify_Proxy (void) - : updates_off_ (0) -{ -} - -TAO_Notify_Proxy::~TAO_Notify_Proxy () -{ -} - -CORBA::Object_ptr -TAO_Notify_Proxy::activate (PortableServer::Servant servant ACE_ENV_ARG_DECL) -{ - // Set the POA that we use to return our - this->set_primary_as_proxy_poa(); - return TAO_Notify_Object::activate (servant ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -TAO_Notify_Proxy::activate (PortableServer::Servant servant, - CORBA::Long id - ACE_ENV_ARG_DECL) -{ - // Set the POA that we use to return our - this->set_primary_as_proxy_poa(); - return TAO_Notify_Object::activate (servant, id ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Proxy::deactivate (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_ASSERT (this->proxy_poa() != 0 ); - this->proxy_poa()->deactivate (this->id() ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_Proxy::subscribed_types (TAO_Notify_EventTypeSeq& subscribed_types ACE_ENV_ARG_DECL) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // copy - subscribed_types = this->subscribed_types_; -} - -void -TAO_Notify_Proxy::types_changed (const TAO_Notify_EventTypeSeq& added, const TAO_Notify_EventTypeSeq& removed ACE_ENV_ARG_DECL) -{ - // return if the updates for this proxy are turned off or - // if all the updates in the channel are switched off. - if (this->updates_off_ == 1 || TAO_Notify_PROPERTIES::instance()->updates () == 0) - return; - - TAO_Notify_Method_Request_Updates_No_Copy request (added, removed, this); - - if (TAO_Notify_PROPERTIES::instance()->asynch_updates () == 1) // if we should send the updates synchronously. - { - this->execute_task (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else // execute in the current thread context. - { - request.execute (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} - -CosNotification::EventTypeSeq* -TAO_Notify_Proxy::obtain_types (CosNotifyChannelAdmin::ObtainInfoMode mode, const TAO_Notify_EventTypeSeq& types ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotification::EventTypeSeq_var event_type_seq; - - ACE_NEW_THROW_EX (event_type_seq, - CosNotification::EventTypeSeq (), - CORBA::NO_MEMORY ()); - - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CORBA::INTERNAL ()); - ACE_CHECK_RETURN (event_type_seq._retn ()); - - if (mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_OFF || - mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON) - { - types.populate (event_type_seq); - } - - if (mode == CosNotifyChannelAdmin::NONE_NOW_UPDATES_ON || - mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON) - { - this->updates_off_ = 0; - } - else - { - this->updates_off_ = 1; - } - - return event_type_seq._retn (); -} - -void -TAO_Notify_Proxy::qos_changed (const TAO_Notify_QoSProperties& qos_properties) -{ - //Inform Peers of qos changes. - TAO_Notify_Peer* peer = this->peer (); - - if (peer != 0) - peer->qos_changed (qos_properties); -} - -void -TAO_Notify_Proxy::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL) -{ - bool changed = this->children_changed_; - this->children_changed_ = false; - this->self_changed_ = false; - - if (is_persistent ()) - { - TAO_Notify::NVPList attrs; - this->save_attrs(attrs); - - const char * type_name = this->get_proxy_type_name (); - bool want_all_children = saver.begin_object(this->id(), type_name, attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (want_all_children || this->filter_admin_.is_changed ()) - { - this->filter_admin_.save_persistent(saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - if (want_all_children || this->subscribed_types_.is_changed ()) - { - this->subscribed_types_.save_persistent(saver ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - // todo: handle removed children - - saver.end_object(this->id(), type_name ACE_ENV_ARG_PARAMETER); - } -} - -void -TAO_Notify_Proxy::save_attrs (TAO_Notify::NVPList& attrs) -{ - TAO_Notify_Object::save_attrs(attrs); - TAO_Notify_Peer * peer = this->peer(); - if (peer != 0) - { - attrs.push_back (TAO_Notify::NVP("PeerIOR", peer->get_ior())); - } -} - -TAO_Notify::Topology_Object* -TAO_Notify_Proxy::load_child (const ACE_CString &type, CORBA::Long id, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL) -{ - ACE_UNUSED_ARG (id); - ACE_UNUSED_ARG (attrs); - TAO_Notify::Topology_Object* result = this; - if (type == "subscriptions") - { - // since we initialized our subscribed types to everything - // in the constructor. we have to clear it out first. - this->subscribed_types_.reset(); - result = &this->subscribed_types_; - ACE_CHECK_RETURN(0); - } - else if (type == "filter_admin") - { - result = & this->filter_admin_; - } - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy.h b/TAO/orbsvcs/orbsvcs/Notify/Proxy.h deleted file mode 100644 index d6931ece562..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Proxy.h +++ /dev/null @@ -1,139 +0,0 @@ -// -*- C++ -*- - -/** - * @file Proxy.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROXY_H -#define TAO_Notify_PROXY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Topology_Object.h" -#include "orbsvcs/Notify/EventTypeSeq.h" -#include "orbsvcs/Notify/FilterAdmin.h" -#include "orbsvcs/Notify/Admin.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Admin; -class TAO_Notify_Peer; - -/** - * @class TAO_Notify_Proxy - * - * @brief Base class proxy for all proxys in NS. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Proxy - : public TAO_Notify::Topology_Parent -{ - friend class TAO_Notify_Peer; - -public: - typedef TAO_Notify_Refcountable_Guard_T Ptr; - typedef CosNotifyChannelAdmin::ProxyIDSeq SEQ; - typedef CosNotifyChannelAdmin::ProxyIDSeq_var SEQ_VAR; - - /// Constuctor - TAO_Notify_Proxy (void); - - /// Destructor - virtual ~TAO_Notify_Proxy (); - - /// Activate - virtual CORBA::Object_ptr activate (PortableServer::Servant servant - ACE_ENV_ARG_DECL); - - /// Activate with a given ID - virtual CORBA::Object_ptr activate ( - PortableServer::Servant servant, - CORBA::Long id - ACE_ENV_ARG_DECL); - - /// Deactivate - void deactivate (ACE_ENV_SINGLE_ARG_DECL); - - /// Obtain the Proxy's subscribed types. - void subscribed_types (TAO_Notify_EventTypeSeq& subscribed_types - ACE_ENV_ARG_DECL); - - /// Check if this event passes the admin and proxy filters. - CORBA::Boolean check_filters ( - const TAO_Notify_Event* event, - TAO_Notify_FilterAdmin& parent_filter_admin, - CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator - ACE_ENV_ARG_DECL - ); - - /// Inform this proxy that the following types are being advertised. - void types_changed (const TAO_Notify_EventTypeSeq& added, - const TAO_Notify_EventTypeSeq& removed - ACE_ENV_ARG_DECL); - - /// Have updates been turned off. - CORBA::Boolean updates_off (void); - - /// Destroy this object. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) = 0; - - /// Access our Peer. - virtual TAO_Notify_Peer* peer (void) = 0; - - /// Implement the Obtain Types. - virtual CosNotification::EventTypeSeq* obtain_types ( - CosNotifyChannelAdmin::ObtainInfoMode mode, - const TAO_Notify_EventTypeSeq& types - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Notification of subscriptions/offers set at the admin. - virtual void admin_types_changed (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL) = 0; - - - /// Override, TAO_Notify_Object::qos_changed - virtual void qos_changed (const TAO_Notify_QoSProperties& qos_properties); - - // TAO_Notify::Topology_Object - - virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL); - virtual void save_attrs(TAO_Notify::NVPList& attrs); - virtual const char * get_proxy_type_name (void) const = 0; - - virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL); - -protected: - - /// Filter Administration - TAO_Notify_FilterAdmin filter_admin_; - - /// The types that we're subscribed with the event manager. - TAO_Notify_EventTypeSeq subscribed_types_; - - /// True if updates have been turned off. - CORBA::Boolean updates_off_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Proxy.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_PROXY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy.inl b/TAO/orbsvcs/orbsvcs/Notify/Proxy.inl deleted file mode 100644 index 6eff985b31e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Proxy.inl +++ /dev/null @@ -1,40 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::Boolean -TAO_Notify_Proxy::updates_off (void) -{ - return this->updates_off_; -} - -ACE_INLINE CORBA::Boolean -TAO_Notify_Proxy::check_filters (const TAO_Notify_Event* event - , TAO_Notify_FilterAdmin& parent_filter_admin - , CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator - ACE_ENV_ARG_DECL) -{ - // check if it passes the parent filter. - CORBA::Boolean parent_val = - parent_filter_admin.match (event ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Boolean val = 0; - - if (filter_operator == CosNotifyChannelAdmin::AND_OP) - { - val = parent_val && this->filter_admin_.match (event ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else - { - val = parent_val || this->filter_admin_.match (event ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return val; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp deleted file mode 100644 index cd7587bfacd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp +++ /dev/null @@ -1,204 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ProxyConsumer.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/ProxyConsumer.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_ProxyConsumer, "$Id$") - -#include "tao/debug.h" -#include "ace/Atomic_Op.h" -#include "orbsvcs/Notify/Supplier.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/Event_Manager.h" -#include "orbsvcs/Notify/Method_Request_Lookup.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/SupplierAdmin.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/Routing_Slip.h" - -//#define DEBUG_LEVEL 10 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ProxyConsumer::TAO_Notify_ProxyConsumer (void) - : supplier_admin_ (0) -{ -} - -TAO_Notify_ProxyConsumer::~TAO_Notify_ProxyConsumer () -{ -} - -TAO_Notify_Peer* -TAO_Notify_ProxyConsumer::peer (void) -{ - return this->supplier (); -} - -void -TAO_Notify_ProxyConsumer::init (TAO_Notify::Topology_Parent* topology_parent ACE_ENV_ARG_DECL) -{ - ACE_ASSERT( this->supplier_admin_.get() == 0 ); - - TAO_Notify_Proxy::initialize (topology_parent ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->supplier_admin_.reset (dynamic_cast(topology_parent)); - ACE_ASSERT (this->supplier_admin_.get() != 0); - - const CosNotification::QoSProperties &default_ps_qos = - TAO_Notify_PROPERTIES::instance ()->default_proxy_consumer_qos_properties (); - - this->set_qos (default_ps_qos ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_ProxyConsumer::connect (TAO_Notify_Supplier *supplier ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )) -{ - // Adopt the supplier - ACE_Auto_Ptr< TAO_Notify_Supplier > auto_supplier (supplier); - - TAO_Notify_Atomic_Property_Long& supplier_count = this->admin_properties().suppliers (); - const TAO_Notify_Property_Long& max_suppliers = this->admin_properties().max_suppliers (); - - if (max_suppliers != 0 && supplier_count >= max_suppliers.value ()) - { - ACE_THROW (CORBA::IMP_LIMIT ()); // we've reached the limit of suppliers connected. - } - - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // if supplier is set and reconnect not allowed we get out. - if (this->is_connected () && TAO_Notify_PROPERTIES::instance()->allow_reconnect() == false) - { - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - } - - // Adopt the supplier - this->supplier_ = auto_supplier; - - this->supplier_admin_->subscribed_types (this->subscribed_types_ ACE_ENV_ARG_PARAMETER); // get the parents subscribed types. - ACE_CHECK; - } - - // Inform QoS values. - ACE_ASSERT (this->supplier_.get() != 0); - this->supplier_->qos_changed (this->qos_properties_); - - TAO_Notify_EventTypeSeq removed; - - this->event_manager().offer_change (this, this->subscribed_types_, removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->event_manager().connect (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Increment the global supplier count - ++supplier_count; -} -void -TAO_Notify_ProxyConsumer::push_i (TAO_Notify_Event * event ACE_ENV_ARG_DECL) -{ - if (this->supports_reliable_events ()) - { - TAO_Notify_Event::Ptr pevent(event->queueable_copy(ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK; - TAO_Notify::Routing_Slip_Ptr routing_slip = - TAO_Notify::Routing_Slip::create (pevent ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - if (DEBUG_LEVEL > 0) - ACE_DEBUG((LM_DEBUG, ACE_TEXT ("ProxyConsumer routing event.\n"))); - routing_slip->route (this, true ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - routing_slip->wait_persist (); - } - else - { - TAO_Notify_Method_Request_Lookup_No_Copy request (event, this); - this->execute_task (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -bool -TAO_Notify_ProxyConsumer::supports_reliable_events () const -{ - bool reliable = false; - CosNotification::PropertyValue value; - if (this->find_qos_property_value (CosNotification::EventReliability, value)) - { - CORBA::Long setting; - if (value >>= setting) - { - reliable = (setting == CosNotification::Persistent); - } - } - return reliable; -} - -void -TAO_Notify_ProxyConsumer::disconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_EventTypeSeq added; - - event_manager().offer_change (this, added, this->subscribed_types_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->event_manager().disconnect (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Decrement the global supplier count - this->admin_properties().suppliers ()--; -} - -int -TAO_Notify_ProxyConsumer::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->TAO_Notify_Object::shutdown (ACE_ENV_SINGLE_ARG_PARAMETER) == 1) - return 1; - - ACE_CHECK_RETURN (1); - - this->disconnect (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - if (this->supplier_.get() != 0) - { - this->supplier_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - } - return 0; -} - -void -TAO_Notify_ProxyConsumer::destroy (ACE_ENV_SINGLE_ARG_DECL) -{ - int result = this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if ( result == 1) - return; - - this->supplier_admin_->remove (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Do not reset this->supplier_. - // It is not safe to delete the non-refcounted supplier here. -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h deleted file mode 100644 index 17890c772f2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h +++ /dev/null @@ -1,105 +0,0 @@ -// -*- C++ -*- - -/** - * @file ProxyConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROXYCONSUMER_H -#define TAO_Notify_PROXYCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/SupplierAdmin.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosEventChannelAdminC.h" - -#include "ace/Auto_Ptr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Supplier; - -/** - * @class TAO_Notify_ProxyConsumer - * - * @brief Base class for all types of ProxyConsumer implementations. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ProxyConsumer - : public virtual TAO_Notify_Proxy -{ -public: - typedef TAO_Notify_Refcountable_Guard_T Ptr; - /// Constuctor - TAO_Notify_ProxyConsumer (void); - - /// Destructor - virtual ~TAO_Notify_ProxyConsumer (); - - /// init: overrides Topology_Object method - virtual void init (TAO_Notify::Topology_Parent * topology_parent ACE_ENV_ARG_DECL); - - /// Connect - void connect (TAO_Notify_Supplier* supplier ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )); - - /// Disconnect - void disconnect (ACE_ENV_SINGLE_ARG_DECL); - - /// Shutdown (TAO_Notify_Container_T method) - virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Destroy this object. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL); - - - /// Return 1 if connected - bool is_connected (void) const; - - /// The SA parent. - TAO_Notify_SupplierAdmin& supplier_admin (void); - -protected: - /// Access the Supplier - TAO_Notify_Supplier* supplier (void); - - /// Accept an event from the Supplier - void push_i (TAO_Notify_Event * event ACE_ENV_ARG_DECL); - -private: - /// Is this part of a reliable channel - bool supports_reliable_events () const; - - ///= Data Members. - /// The SA parent. - TAO_Notify_SupplierAdmin::Ptr supplier_admin_; - - /// The Supplier that we're connect to. - ACE_Auto_Ptr supplier_; - - /// Access our Peer. - virtual TAO_Notify_Peer* peer (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/ProxyConsumer.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROXYCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.inl b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.inl deleted file mode 100644 index b2b0c8bb5c8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE bool -TAO_Notify_ProxyConsumer::is_connected (void) const -{ - return (this->supplier_.get() != 0); -} - -ACE_INLINE TAO_Notify_Supplier* -TAO_Notify_ProxyConsumer::supplier (void) -{ - return this->supplier_.get(); -} - -ACE_INLINE TAO_Notify_SupplierAdmin& -TAO_Notify_ProxyConsumer::supplier_admin (void) -{ - ACE_ASSERT( this->supplier_admin_.get() != 0 ); - return *this->supplier_admin_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp deleted file mode 100644 index a47122b58d5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_PROXYCONSUMER_T_CPP -#define TAO_Notify_PROXYCONSUMER_T_CPP - -#include "orbsvcs/Notify/ProxyConsumer_T.h" -#include "orbsvcs/Notify/SupplierAdmin.h" - -#include "orbsvcs/Notify/Event_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_ProxyConsumer_T::TAO_Notify_ProxyConsumer_T (void) -{ -} - -template -TAO_Notify_ProxyConsumer_T::~TAO_Notify_ProxyConsumer_T () -{ -} - -template void -TAO_Notify_ProxyConsumer_T::admin_types_changed (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL) -{ - this->offer_change (added, removed ACE_ENV_ARG_PARAMETER); -} - -template CosNotifyChannelAdmin::SupplierAdmin_ptr -TAO_Notify_ProxyConsumer_T::MyAdmin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotifyChannelAdmin::SupplierAdmin_var ret; - - CORBA::Object_var object = this->supplier_admin().ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (ret._retn ()); - - ret = CosNotifyChannelAdmin::SupplierAdmin::_narrow (object.in () ACE_ENV_ARG_PARAMETER); - - return ret._retn (); -} - -template void -TAO_Notify_ProxyConsumer_T::offer_change (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyComm::InvalidEventType - )) -{ - TAO_Notify_EventTypeSeq seq_added (added); - TAO_Notify_EventTypeSeq seq_removed (removed); - - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->subscribed_types_.add_and_remove (seq_added, seq_removed); - } - - this->event_manager().offer_change (this, - seq_added, - seq_removed - ACE_ENV_ARG_PARAMETER); -} - -template CosNotification::EventTypeSeq* -TAO_Notify_ProxyConsumer_T::obtain_subscription_types ( - CosNotifyChannelAdmin::ObtainInfoMode mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - this->obtain_types (mode, this->event_manager().subscription_types () - ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_PROXYCONSUMER_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h deleted file mode 100644 index bcb0ada782b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -/** - * @file ProxyConsumer_T.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROXYCONSUMER_T_H -#define TAO_Notify_PROXYCONSUMER_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Proxy_T.h" -#include "orbsvcs/Notify/ProxyConsumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_ProxyConsumer_T - * - * @brief - * - */ -template -class TAO_Notify_Serv_Export TAO_Notify_ProxyConsumer_T - : public virtual TAO_Notify_Proxy_T , - public virtual TAO_Notify_ProxyConsumer -{ -public: - /// Constuctor - TAO_Notify_ProxyConsumer_T (void); - - /// Destructor - ~TAO_Notify_ProxyConsumer_T (); - - /// Notification of subscriptions set at the admin. - virtual void admin_types_changed (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL); - - 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 - )); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/ProxyConsumer_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ProxyConsumer_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROXYCONSUMER_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp deleted file mode 100644 index 4d7a0c3023d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp +++ /dev/null @@ -1,166 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ProxySupplier.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/ProxySupplier.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_ProxySupplier, "$Id$") - -#include "orbsvcs/Notify/Event_Manager.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Consumer.h" -#include "orbsvcs/Notify/Method_Request_Dispatch.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Buffering_Strategy.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ProxySupplier::TAO_Notify_ProxySupplier (void) - : consumer_admin_ (0) -{ -} - -TAO_Notify_ProxySupplier::~TAO_Notify_ProxySupplier () -{ -} - -void -TAO_Notify_ProxySupplier::init (TAO_Notify_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (consumer_admin != 0 && this->consumer_admin_.get() == 0); - - TAO_Notify_Proxy::initialize (consumer_admin ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->consumer_admin_.reset (consumer_admin); - - const CosNotification::QoSProperties &default_ps_qos = - TAO_Notify_PROPERTIES::instance ()->default_proxy_supplier_qos_properties (); - - this->set_qos (default_ps_qos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_Notify_Peer* -TAO_Notify_ProxySupplier:: peer (void) -{ - return this->consumer (); -} - -void -TAO_Notify_ProxySupplier::connect (TAO_Notify_Consumer *consumer ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )) -{ - // Adopt the consumer - ACE_Auto_Ptr< TAO_Notify_Consumer > auto_consumer (consumer); - - TAO_Notify_Atomic_Property_Long& consumer_count = this->admin_properties().consumers (); - const TAO_Notify_Property_Long& max_consumers = this->admin_properties().max_consumers (); - - if (max_consumers != 0 && consumer_count >= max_consumers.value ()) - { - ACE_THROW (CORBA::IMP_LIMIT ()); // we've reached the limit of consumers connected. - } - - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - // if consumer is set and reconnect not allowed we get out. - if (this->is_connected () && TAO_Notify_PROPERTIES::instance()->allow_reconnect() == false) - { - ACE_THROW (CosEventChannelAdmin::AlreadyConnected ()); - } - - // Adopt the consumer - this->consumer_ = auto_consumer; - - this->consumer_admin_->subscribed_types (this->subscribed_types_ ACE_ENV_ARG_PARAMETER); // get the parents subscribed types. - ACE_CHECK; - } - - // Inform QoS values. - ACE_ASSERT (this->consumer_.get() != 0); - this->consumer_->qos_changed (this->qos_properties_); - - TAO_Notify_EventTypeSeq removed; - - this->event_manager().subscription_change (this, this->subscribed_types_, removed ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->event_manager().connect (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Increment the global consumer count - ++consumer_count; -} - -void -TAO_Notify_ProxySupplier::disconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_EventTypeSeq added; - - this->event_manager().subscription_change (this, added, this->subscribed_types_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->event_manager().disconnect (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Decrement the global consumer count - this->admin_properties().consumers ()--; -} - -int -TAO_Notify_ProxySupplier::shutdown (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->TAO_Notify_Object::shutdown (ACE_ENV_SINGLE_ARG_PARAMETER) == 1) - return 1; - - ACE_CHECK_RETURN (1); - - this->disconnect (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (1); - - if (this->consumer_.get() != 0) - { - this->consumer_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - } - return 0; -} - -void -TAO_Notify_ProxySupplier::destroy (ACE_ENV_SINGLE_ARG_DECL) -{ - int result = this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if ( result == 1) - return; - - this->consumer_admin_->remove (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Do not reset this->consumer_. - // It is not safe to delete the non-refcounted consumer here. -} - -void -TAO_Notify_ProxySupplier::deliver (TAO_Notify_Method_Request_Dispatch_No_Copy & request ACE_ENV_ARG_DECL) -{ - this->execute_task (request ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_ProxySupplier::qos_changed (const TAO_Notify_QoSProperties& qos_properties) -{ - TAO_Notify_Proxy::qos_changed (qos_properties); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h deleted file mode 100644 index 17ced483590..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- C++ -*- - -/** - * @file ProxySupplier.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROXYSUPPLIER_H -#define TAO_Notify_PROXYSUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" - -#include "orbsvcs/CosEventChannelAdminC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Consumer; -class TAO_Notify_Method_Request_Dispatch_No_Copy; -/** - * @class TAO_Notify_ProxySupplier - * - * @brief Base class for all the ProxySuppliers. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ProxySupplier : public virtual TAO_Notify_Proxy -{ - friend class TAO_Notify_Consumer; - -public: - typedef TAO_Notify_Refcountable_Guard_T Ptr; - /// Constuctor - TAO_Notify_ProxySupplier (void); - - /// Destructor - virtual ~TAO_Notify_ProxySupplier (); - - /// Init - virtual void init (TAO_Notify_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL); - - /// Connect - void connect (TAO_Notify_Consumer* consumer ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )); - /// Disconnect - void disconnect (ACE_ENV_SINGLE_ARG_DECL); - - /// Dispatch Event to consumer - virtual void deliver (TAO_Notify_Method_Request_Dispatch_No_Copy & request ACE_ENV_ARG_DECL); - - /// Override TAO_Notify_Container_T::shutdown method - virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL); - - /// Destroy this object. - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL); - - /// Override, TAO_Notify_Proxy::qos_changed to apply MaxEventssPerConsumer QoS. - virtual void qos_changed (const TAO_Notify_QoSProperties& qos_properties); - - /// Returns true if connected - bool is_connected (void) const; - - /// Access the Consumer - TAO_Notify_Consumer* consumer (void); - - /// The CA parent. - TAO_Notify_ConsumerAdmin& consumer_admin (void); - -private: - ///= Data Members. - /// The CA parent. - TAO_Notify_ConsumerAdmin::Ptr consumer_admin_; - - /// The Consumer that we're connect to. - ACE_Auto_Ptr consumer_; - - /// Access our Peer. - virtual TAO_Notify_Peer* peer (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/ProxySupplier.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROXYSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.inl b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.inl deleted file mode 100644 index c7afa257d59..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE bool -TAO_Notify_ProxySupplier::is_connected (void) const -{ - return ( this->consumer_.get() != 0 ); -} - -ACE_INLINE TAO_Notify_Consumer* -TAO_Notify_ProxySupplier::consumer (void) -{ - return this->consumer_.get(); -} - -ACE_INLINE TAO_Notify_ConsumerAdmin& -TAO_Notify_ProxySupplier::consumer_admin (void) -{ - ACE_ASSERT( this->consumer_admin_.get() != 0 ); - return *this->consumer_admin_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp deleted file mode 100644 index 622acba3277..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp +++ /dev/null @@ -1,227 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_PROXYSUPPLIER_T_CPP -#define TAO_Notify_PROXYSUPPLIER_T_CPP - -#include "orbsvcs/Notify/ProxySupplier_T.h" - -#include "orbsvcs/Notify/Consumer.h" -#include "orbsvcs/Notify/Structured/StructuredEvent.h" -#include "orbsvcs/Notify/Any/AnyEvent.h" - -#include "orbsvcs/Notify/Method_Request_Dispatch.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Event_Manager.h" -#include "orbsvcs/Notify/ConsumerAdmin.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_ProxySupplier_T::TAO_Notify_ProxySupplier_T (void) - : is_suspended_ (0) -{ -} - -template -TAO_Notify_ProxySupplier_T::~TAO_Notify_ProxySupplier_T () -{ -} - -template void -TAO_Notify_ProxySupplier_T::admin_types_changed (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL) -{ - this->subscription_change (added, removed ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_ProxySupplier_T::forward_structured (const CosNotification::StructuredEvent& notification ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_StructuredEvent_No_Copy event (notification); - - TAO_Notify_Method_Request_Dispatch_No_Copy request (&event, this, 1); - - this->execute_task (request ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_ProxySupplier_T::forward_structured_no_filtering (const CosNotification::StructuredEvent& notification ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_StructuredEvent_No_Copy event(notification); - - TAO_Notify_Method_Request_Dispatch_No_Copy request (&event, this, 0); - - this->execute_task (request ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_ProxySupplier_T::forward_any (const CORBA::Any & any ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_AnyEvent_No_Copy event (any); - - TAO_Notify_Method_Request_Dispatch_No_Copy request (&event, this, 1); - - this->execute_task (request ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_ProxySupplier_T::forward_any_no_filtering (const CORBA::Any& any ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_AnyEvent_No_Copy event(any); - - TAO_Notify_Method_Request_Dispatch_No_Copy request (&event, this, 0); - - this->execute_task (request ACE_ENV_ARG_PARAMETER); -} - -template CosNotification::EventTypeSeq* -TAO_Notify_ProxySupplier_T::obtain_offered_types (CosNotifyChannelAdmin::ObtainInfoMode mode ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->obtain_types (mode, this->event_manager().offered_types () ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_ProxySupplier_T::subscription_change (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNotifyComm::InvalidEventType)) -{ - TAO_Notify_EventTypeSeq seq_added (added); - TAO_Notify_EventTypeSeq seq_removed (removed); - - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->subscribed_types_.add_and_remove (seq_added, seq_removed); - } - - this->event_manager().subscription_change (this, seq_added, seq_removed ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_ProxySupplier_T::suspend_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyChannelAdmin::ConnectionAlreadyInactive, - CosNotifyChannelAdmin::NotConnected - )) -{ - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CORBA::INTERNAL ()); - - if (this->is_connected () == 0) - ACE_THROW (CosNotifyChannelAdmin::NotConnected ()); - - if (this->consumer()->is_suspended () == 1) - ACE_THROW (CosNotifyChannelAdmin::ConnectionAlreadyInactive ()); - } - - this->consumer()->suspend (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; -} - -template void -TAO_Notify_ProxySupplier_T::resume_connection (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyChannelAdmin::ConnectionAlreadyActive, - CosNotifyChannelAdmin::NotConnected - )) -{ - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, CORBA::INTERNAL ()); - - if (this->is_connected () == 0) - ACE_THROW (CosNotifyChannelAdmin::NotConnected ()); - - if (this->consumer()->is_suspended () == 0) - ACE_THROW (CosNotifyChannelAdmin::ConnectionAlreadyActive ()); - } - - this->consumer()->resume (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template CosNotifyChannelAdmin::ConsumerAdmin_ptr -TAO_Notify_ProxySupplier_T::MyAdmin (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotifyChannelAdmin::ConsumerAdmin_var ret; - - CORBA::Object_var object = this->consumer_admin().ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (ret._retn ()); - - ret = CosNotifyChannelAdmin::ConsumerAdmin::_narrow (object.in () ACE_ENV_ARG_PARAMETER); - - return ret._retn (); -} - -/***************************** UNIMPLEMENTED METHODS***************************************/ - -template CosNotifyFilter::MappingFilter_ptr -TAO_Notify_ProxySupplier_T::priority_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - CosNotifyFilter::MappingFilter::_nil ()); - - return CosNotifyFilter::MappingFilter::_nil (); -} - -template void -TAO_Notify_ProxySupplier_T::priority_filter (CosNotifyFilter::MappingFilter_ptr /*priority_filter*/ ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -template CosNotifyFilter::MappingFilter_ptr -TAO_Notify_ProxySupplier_T::lifetime_filter (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - CosNotifyFilter::MappingFilter::_nil ()); - - return CosNotifyFilter::MappingFilter::_nil (); -} - -template void -TAO_Notify_ProxySupplier_T::lifetime_filter (CosNotifyFilter::MappingFilter_ptr /*lifetime_filter*/ ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* #define TAO_Notify_PROXYSUPPLIER_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h deleted file mode 100644 index f31cba76ee9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h +++ /dev/null @@ -1,161 +0,0 @@ -// -*- C++ -*- - -/** - * @file ProxySupplier_T.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_PROXYSUPPLIER_T_H -#define TAO_Notify_PROXYSUPPLIER_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Proxy_T.h" -#include "orbsvcs/Notify/ProxySupplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_ProxySupplier_T - * - * @brief - * - */ -template -class TAO_Notify_ProxySupplier_T : public virtual TAO_Notify_Proxy_T , public virtual TAO_Notify_ProxySupplier -{ -public: - /// Constuctor - TAO_Notify_ProxySupplier_T (void); - - /// Destructor - ~TAO_Notify_ProxySupplier_T (); - - /// Notification of subscriptions set at the admin. - virtual void admin_types_changed (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL); - - ///= POA_Notify_Internal methods - /// POA_Notify_Internal::Event_Forwarder method - virtual void forward_structured (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// POA_Notify_Internal::Event_Forwarder method - virtual void forward_structured_no_filtering (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// POA_Notify_Internal::Event_Forwarder method - virtual void forward_any (const CORBA::Any & event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// POA_Notify_Internal::Event_Forwarder method - virtual void forward_any_no_filtering (const CORBA::Any & event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); -protected: - //= Data Members - CORBA::Boolean is_suspended_; - - // = 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 - )); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/ProxySupplier_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("ProxySupplier_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROXYSUPPLIER_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Proxy_T.cpp deleted file mode 100644 index 518db5e5c02..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Proxy_T.cpp +++ /dev/null @@ -1,165 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Proxy_T.h" - -#ifndef TAO_Notify_PROXY_T_CPP -#define TAO_Notify_PROXY_T_CPP - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Proxy_T::TAO_Notify_Proxy_T (void) -{ - // Any object that is used by the POA gets a reference count of 1 at construction - this->_incr_refcnt(); -} - -template -TAO_Notify_Proxy_T::~TAO_Notify_Proxy_T () -{ -} - -template PortableServer::Servant -TAO_Notify_Proxy_T::servant (void) -{ - return this; -} - -template void -TAO_Notify_Proxy_T::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -template void -TAO_Notify_Proxy_T::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -template void -TAO_Notify_Proxy_T::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 CosNotification::QoSProperties* -TAO_Notify_Proxy_T::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template void -TAO_Notify_Proxy_T::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotification::UnsupportedQoS - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - - this->TAO_Notify_Object::set_qos (qos ACE_ENV_ARG_PARAMETER); -} - -template void -TAO_Notify_Proxy_T::validate_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 CosNotifyFilter::FilterID -TAO_Notify_Proxy_T::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - CosNotifyFilter::FilterID fid = - this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(fid); - return fid; -} - -template void -TAO_Notify_Proxy_T::remove_filter ( - CosNotifyFilter::FilterID filter - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::FilterNotFound - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - - this->filter_admin_.remove_filter (filter ACE_ENV_ARG_PARAMETER); -} - -template CosNotifyFilter::Filter_ptr -TAO_Notify_Proxy_T::get_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::FilterNotFound - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (CosNotifyFilter::Filter::_nil ()); - - return this->filter_admin_.get_filter (filter ACE_ENV_ARG_PARAMETER); -} - -template CosNotifyFilter::FilterIDSeq* -TAO_Notify_Proxy_T::get_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - return this->filter_admin_.get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -template void -TAO_Notify_Proxy_T::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - - this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_PROXY_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy_T.h b/TAO/orbsvcs/orbsvcs/Notify/Proxy_T.h deleted file mode 100644 index 2cdc149f502..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Proxy_T.h +++ /dev/null @@ -1,161 +0,0 @@ -// -*- C++ -*- - -/** - * @file Proxy_T.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_PROXY_T_H -#define TAO_Notify_PROXY_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Proxy.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Proxy_T - * - * @brief 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 TAO_Notify_Proxy_T : public SERVANT_TYPE, public virtual TAO_Notify_Proxy -{ -public: - /// Constuctor - TAO_Notify_Proxy_T (void); - - /// Destructor - ~TAO_Notify_Proxy_T (); - - /// Implements TAO_Notify_Object::servant method. - virtual PortableServer::Servant servant (void); - - /// ServantBase refcount methods. - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - - 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 - )); -}; - -#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -template class TAO_Notify_Serv_Export -TAO_Notify_Proxy_T; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Proxy_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Proxy_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_PROXY_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.cpp b/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.cpp deleted file mode 100644 index 73d20823325..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.cpp +++ /dev/null @@ -1,218 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/QoSProperties.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/QoSProperties.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_QoSProperties, "$Id$") - -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Notify_Extensions.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_QoSProperties::TAO_Notify_QoSProperties (void) - : event_reliability_(CosNotification::EventReliability) - , connection_reliability_(CosNotification::ConnectionReliability) - , priority_ (CosNotification::Priority) - , timeout_ (CosNotification::Timeout) - , stop_time_supported_ (CosNotification::StopTimeSupported) - , maximum_batch_size_ (CosNotification::MaximumBatchSize) - , pacing_interval_ (CosNotification::PacingInterval) - , max_events_per_consumer_ (CosNotification::MaxEventsPerConsumer) - , discard_policy_ (CosNotification::DiscardPolicy) - , order_policy_ (CosNotification::OrderPolicy) - , thread_pool_ (NotifyExt::ThreadPool) - , thread_pool_lane_ (NotifyExt::ThreadPoolLanes) - , blocking_policy_(TAO_Notify_Extensions::BlockingPolicy) -{ - unsupported_[0] = CosNotification::StartTimeSupported; -} - -TAO_Notify_QoSProperties::~TAO_Notify_QoSProperties () -{ -} - -int -TAO_Notify_QoSProperties::unsupported (ACE_CString& name) -{ - for (int i = 0; i < UNSUPPORTED_PROPERTY_COUNT; ++i) - { - if (this->unsupported_[i] == name) - return 1; - } - - return 0; -} -void -TAO_Notify_QoSProperties::init () -{ - if (this->event_reliability_.is_valid()) - { - CORBA::Any a; - a <<= this->event_reliability_.value(); - this->add(this->event_reliability_.name(), a); - } - if (this->connection_reliability_.is_valid()) - { - CORBA::Any a; - a <<= this->connection_reliability_.value(); - this->add(this->connection_reliability_.name(), a); - } - if (this->priority_.is_valid()) - { - CORBA::Any a; - a <<= this->priority_.value(); - this->add(this->priority_.name(), a); - } - if (this->timeout_.is_valid()) - { - CORBA::Any a; - a <<= this->timeout_.value(); - this->add(this->timeout_.name(), a); - } - if (this->stop_time_supported_.is_valid()) - { - CORBA::Any a; - a <<= CORBA::Any::from_boolean (this->stop_time_supported_.value()); - this->add(this->stop_time_supported_.name(), a); - } - if (this->maximum_batch_size_.is_valid()) - { - CORBA::Any a; - a <<= this->maximum_batch_size_.value(); - this->add(this->maximum_batch_size_.name(), a); - } - if (this->pacing_interval_.is_valid()) - { - CORBA::Any a; - a <<= this->pacing_interval_.value(); - this->add(this->pacing_interval_.name(), a); - } - if (this->max_events_per_consumer_.is_valid()) - { - CORBA::Any a; - a <<= this->max_events_per_consumer_.value(); - this->add(this->max_events_per_consumer_.name(), a); - } - if (this->discard_policy_.is_valid()) - { - CORBA::Any a; - a <<= this->discard_policy_.value(); - this->add(this->discard_policy_.name(), a); - } - if (this->order_policy_.is_valid()) - { - CORBA::Any a; - a <<= this->order_policy_.value(); - this->add(this->order_policy_.name(), a); - } - - if (this->thread_pool_.is_valid()) - { - CORBA::Any a; - a <<= this->thread_pool_.value(); - this->add(this->thread_pool_.name(), a); - } - if (this->thread_pool_lane_.is_valid()) - { - CORBA::Any a; - a <<= this->thread_pool_lane_.value(); - this->add(this->thread_pool_lane_.name(), a); - } - if (this->blocking_policy_.is_valid()) - { - CORBA::Any a; - a <<= this->blocking_policy_.value(); - this->add(this->blocking_policy_.name(), a); - } -} - -int -TAO_Notify_QoSProperties::init (const CosNotification::PropertySeq& prop_seq, CosNotification::PropertyErrorSeq& err_seq) -{ - int err_index = -1; - - ACE_CString name; - for (CORBA::ULong i = 0; i < prop_seq.length (); ++i) - { - name = prop_seq[i].name.in(); - - if (this->unsupported (name)) - { - err_index = err_seq.length (); - err_seq.length (err_seq.length () + 1); - - err_seq[err_index].code = CosNotification::UNSUPPORTED_PROPERTY; - err_seq[err_index].name = CORBA::string_dup (prop_seq[i].name); - } - else if (this->property_map_.rebind (prop_seq[i].name.in (), prop_seq[i].value) == -1) - return -1; - // Note call to rebind. This allows to call to set updates. - } - - if (prop_seq.length () > 0) - { - this->event_reliability_.set (*this); - this->connection_reliability_.set (*this); - this->priority_.set (*this); - this->timeout_.set (*this); - this->stop_time_supported_.set (*this); - this->maximum_batch_size_.set (*this); - this->pacing_interval_.set (*this); - this->max_events_per_consumer_.set (*this); - this->discard_policy_.set (*this); - this->order_policy_.set (*this); - - this->thread_pool_.set (*this); - this->thread_pool_lane_.set (*this); - this->blocking_policy_.set (*this); - } - - return err_index == -1 ? 0 : 1; -} - -int -TAO_Notify_QoSProperties::copy (TAO_Notify_QoSProperties& qos_properties) -{ - qos_properties.event_reliability_ = this->event_reliability_; - qos_properties.connection_reliability_ = this->connection_reliability_; - qos_properties.priority_ = this->priority_; - qos_properties.timeout_ = this->timeout_; - qos_properties.stop_time_supported_ = this->stop_time_supported_; - qos_properties.maximum_batch_size_ = this->maximum_batch_size_; - qos_properties.pacing_interval_ = this->pacing_interval_; - qos_properties.max_events_per_consumer_ = this->max_events_per_consumer_; - qos_properties.discard_policy_ = this->discard_policy_; - qos_properties.order_policy_ = this->order_policy_; - - qos_properties.blocking_policy_ = this->blocking_policy_; - - PROPERTY_MAP::ITERATOR iter (this->property_map_); - PROPERTY_MAP::ENTRY *entry; - - for (; iter.next (entry); iter.advance ()) - { - if (qos_properties.property_map_.rebind (entry->ext_id_, entry->int_id_) == -1) - return -1; - } - - return 0; -} - -int -TAO_Notify_QoSProperties::transfer (TAO_Notify_QoSProperties& qos_properties) -{ - if (this->copy (qos_properties) == -1) - return -1; - - // unbind the properties that we don't want to transfer. - qos_properties.property_map_.unbind (NotifyExt::ThreadPool); - qos_properties.property_map_.unbind (NotifyExt::ThreadPoolLanes); - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.h b/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.h deleted file mode 100644 index 6ce71f0941c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.h +++ /dev/null @@ -1,120 +0,0 @@ -// -*- C++ -*- - -/** - * @file QoSProperties.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_QOSPROPERTIES_H -#define TAO_Notify_QOSPROPERTIES_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/PropertySeq.h" -#include "orbsvcs/Notify/Property_T.h" -#include "orbsvcs/Notify/Property_Boolean.h" -#include "orbsvcs/Notify/Property.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_QoSProperties - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_QoSProperties : public TAO_Notify_PropertySeq -{ -public: - /// Constuctor - TAO_Notify_QoSProperties (void); - - /// Destructor - virtual ~TAO_Notify_QoSProperties (); - - /// Return 0 on success, 1 if unsupported properties were detected and -1 on error. - int init (const CosNotification::PropertySeq& prop_seq, CosNotification::PropertyErrorSeq& err_seq); - - /// This version initializes the base from our members - void init (); - - /// Populate with all properties from this object. Returns -1 on error. - int copy (TAO_Notify_QoSProperties& qos_properties); - - /// Populate with properties that can be transfered.Returns -1 on error. - int transfer (TAO_Notify_QoSProperties& qos_properties); - - ///= Accessors - const TAO_Notify_Property_ThreadPool& thread_pool (void) const; - const TAO_Notify_Property_ThreadPoolLanes& thread_pool_lane (void) const; - - const TAO_Notify_Property_Short& event_reliability (void) const; - const TAO_Notify_Property_Short& connection_reliability (void) const; - const TAO_Notify_Property_Short& priority (void) const; - const TAO_Notify_Property_Time& timeout (void) const; - const TAO_Notify_Property_Boolean& stop_time_supported (void) const; - const TAO_Notify_Property_Long& maximum_batch_size (void) const; - const TAO_Notify_Property_Time& pacing_interval (void) const; - const TAO_Notify_Property_Long& max_events_per_consumer (void) const; - const TAO_Notify_Property_Short& discard_policy(void) const; - const TAO_Notify_Property_Short& order_policy(void) const; - const TAO_Notify_Property_Time& blocking_policy(void) const; - - // The non-const accessors are used during topology load - TAO_Notify_Property_Short& event_reliability (void); - TAO_Notify_Property_Short& connection_reliability (void); - TAO_Notify_Property_Short& priority (void); - TAO_Notify_Property_Time& timeout (void); - TAO_Notify_Property_Boolean& stop_time_supported (void); - TAO_Notify_Property_Long& maximum_batch_size (void); - TAO_Notify_Property_Time& pacing_interval (void); - TAO_Notify_Property_Long& max_events_per_consumer (void); - TAO_Notify_Property_Short& discard_policy(void); - TAO_Notify_Property_Short& order_policy(void); - TAO_Notify_Property_Time& blocking_policy(void); - -protected: - /// Return 1 if is unsupported. - int unsupported (ACE_CString& name); - - enum {UNSUPPORTED_PROPERTY_COUNT = 1}; - - ///= Unsupported Properties. - ACE_CString unsupported_[UNSUPPORTED_PROPERTY_COUNT]; - - ///= Supported standard properties - TAO_Notify_Property_Short event_reliability_; - TAO_Notify_Property_Short connection_reliability_; - TAO_Notify_Property_Short priority_; - TAO_Notify_Property_Time timeout_; - TAO_Notify_Property_Boolean stop_time_supported_; - TAO_Notify_Property_Long maximum_batch_size_; - TAO_Notify_Property_Time pacing_interval_; - TAO_Notify_Property_Long max_events_per_consumer_; - TAO_Notify_Property_Short discard_policy_; - TAO_Notify_Property_Short order_policy_; - - /// TAO Extensions - TAO_Notify_Property_ThreadPool thread_pool_; - TAO_Notify_Property_ThreadPoolLanes thread_pool_lane_; - TAO_Notify_Property_Time blocking_policy_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/QoSProperties.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_QOSPROPERTIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.inl b/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.inl deleted file mode 100644 index 6cf7f8f44fa..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/QoSProperties.inl +++ /dev/null @@ -1,163 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -const TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::event_reliability(void) const -{ - return this->event_reliability_; -} - -ACE_INLINE -const TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::connection_reliability(void) const -{ - return this->connection_reliability_; -} - -ACE_INLINE -const TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::priority(void) const -{ - return this->priority_; -} - -ACE_INLINE -const TAO_Notify_Property_Time& -TAO_Notify_QoSProperties::timeout(void) const -{ - return this->timeout_; -} - -ACE_INLINE -const TAO_Notify_Property_Boolean& -TAO_Notify_QoSProperties::stop_time_supported(void) const -{ - return this->stop_time_supported_; -} - -ACE_INLINE const TAO_Notify_Property_Long& -TAO_Notify_QoSProperties::maximum_batch_size (void) const -{ - return this->maximum_batch_size_; -} - -ACE_INLINE const TAO_Notify_Property_Time& -TAO_Notify_QoSProperties::pacing_interval (void) const -{ - return this->pacing_interval_; -} - -ACE_INLINE -const TAO_Notify_Property_Long& -TAO_Notify_QoSProperties::max_events_per_consumer (void) const -{ - return this->max_events_per_consumer_; -} - -ACE_INLINE -const TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::discard_policy(void) const -{ - return this->discard_policy_; -} - -ACE_INLINE -const TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::order_policy(void) const -{ - return this->order_policy_; -} - -ACE_INLINE const TAO_Notify_Property_ThreadPool& -TAO_Notify_QoSProperties::thread_pool (void) const -{ - return this->thread_pool_; -} - -ACE_INLINE const TAO_Notify_Property_ThreadPoolLanes& -TAO_Notify_QoSProperties::thread_pool_lane (void) const -{ - return this->thread_pool_lane_; -} - -ACE_INLINE -const TAO_Notify_Property_Time& -TAO_Notify_QoSProperties::blocking_policy(void) const -{ - return this->blocking_policy_; -} - -/////////////////////////////////////////////////////////////////////////////// - -ACE_INLINE -TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::event_reliability(void) -{ - return this->event_reliability_; -} - -ACE_INLINE -TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::connection_reliability(void) -{ - return this->connection_reliability_; -} - -ACE_INLINE -TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::priority(void) -{ - return this->priority_; -} - -ACE_INLINE -TAO_Notify_Property_Time& -TAO_Notify_QoSProperties::timeout(void) -{ - return this->timeout_; -} - -ACE_INLINE -TAO_Notify_Property_Boolean& -TAO_Notify_QoSProperties::stop_time_supported(void) -{ - return this->stop_time_supported_; -} - -ACE_INLINE TAO_Notify_Property_Long& -TAO_Notify_QoSProperties::maximum_batch_size (void) -{ - return this->maximum_batch_size_; -} - -ACE_INLINE TAO_Notify_Property_Time& -TAO_Notify_QoSProperties::pacing_interval (void) -{ - return this->pacing_interval_; -} -ACE_INLINE -TAO_Notify_Property_Long& -TAO_Notify_QoSProperties::max_events_per_consumer (void) -{ - return this->max_events_per_consumer_; -} - -ACE_INLINE -TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::discard_policy(void) -{ - return this->discard_policy_; -} - -ACE_INLINE -TAO_Notify_Property_Short& -TAO_Notify_QoSProperties::order_policy(void) -{ - return this->order_policy_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/README b/TAO/orbsvcs/orbsvcs/Notify/README deleted file mode 100644 index c30991c4c95..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/README +++ /dev/null @@ -1,51 +0,0 @@ -README,v 1.5 2000/12/07 05:56:27 pradeep Exp - -README for the Notification Service ------------------------------------ - -Implementation notes --------------------- - -Here is a brief description of the MT options for the Notify Service. -The motivation for adding these "knobs" is give the user a chance to -fine tune his/her thread requirements in the Service at its -bottlenecks. These bottlenecks are at filter evaluation and in the two -way push to consumers. These are the points at which the Event Channel -has to interact with remote objects whose implementation is unknown to -the Event Channel. e.g. if a consumer decided to execute a tight loop -in its push method, it would block the entire event channel if it was -single threaded. By deploying a thread pool to perform dispatching -events to consumers - we can alleviate this problem. - -[Also read the $TAO_ROOT/orbsvcs/Notify_Service/README for a proper -description of how to specify these parameters.] - --DispatchingThreads -Consider a Notify service running with just one thread, namely the main. -In this case when the event channel dispatches an event to a consumer (by -calling its push method) all other consumers will be blocked, waiting for -their push methods to be invoked. To decouple the consumers from one -another we can deploy dispatching threads using this option. - - --SourceThreads -Deploys a thread pool after event receipt from the supplier. All subsequent -notification channel processing can happen on this thread and the original -publishing push() can be ended. Separates server side processing of the -event from the supplier's publication. - - -Usage: ------ -Use the $TAO_ROOT/orbsvcs/Notify_Service to register a ChannelFactory with the -Naming Service.See the README for more details. - -Examples: --------- -The $TAO_ROOT/orbsvcs/examples/Notify/Filter example shows how to using -filtering. - -The $TAO_ROOT/orbsvcs/examples/Notify/Subscribe example shows how consumers -can subscribe only to the required event types. - -send comments/suggestions to Pradeep Gore diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp b/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp deleted file mode 100644 index 98b297f069a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/RT_Builder.h" - -#include "ace/Auto_Ptr.h" -#include "ace/Dynamic_Service.h" -#include "orbsvcs/Notify/ETCL_FilterFactory.h" -#include "orbsvcs/Notify/RT_POA_Helper.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/NotifyExtC.h" -#include "orbsvcs/Notify/Object.h" - -ACE_RCSID (RT_Notify, - TAO_Notify_RT_Builder, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_RT_Builder::TAO_Notify_RT_Builder (void) -{ -} - -TAO_Notify_RT_Builder::~TAO_Notify_RT_Builder () -{ -} - -void -TAO_Notify_RT_Builder::apply_thread_pool_concurrency (TAO_Notify_Object& object - , const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL) -{ - TAO_Notify_RT_POA_Helper* proxy_poa = 0; - - // Bootstrap EC Proxy POA - ACE_NEW_THROW_EX (proxy_poa, - TAO_Notify_RT_POA_Helper (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - ACE_Auto_Ptr auto_proxy_poa (proxy_poa); - - PortableServer::POA_var default_poa = TAO_Notify_PROPERTIES::instance ()->default_poa (); - - proxy_poa->init (default_poa.in (), tp_params ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Give ownership of proxy_poa - object.set_proxy_poa (auto_proxy_poa.release ()); -} - -void -TAO_Notify_RT_Builder::apply_lane_concurrency (TAO_Notify_Object& object - , const NotifyExt::ThreadPoolLanesParams& tpl_params ACE_ENV_ARG_DECL) -{ - TAO_Notify_RT_POA_Helper* proxy_poa = 0; - - // Bootstrap EC Proxy POA - ACE_NEW_THROW_EX (proxy_poa, - TAO_Notify_RT_POA_Helper (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - ACE_Auto_Ptr auto_proxy_poa (proxy_poa); - - PortableServer::POA_var default_poa = TAO_Notify_PROPERTIES::instance ()->default_poa (); - - proxy_poa->init (default_poa.in (), tpl_params ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Give ownership of proxy_poa - object.set_proxy_poa (auto_proxy_poa.release ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.h b/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.h deleted file mode 100644 index 6e0b2bba087..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Builder.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - -/** - * @file RT_Builder.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_RT_BUILDER_H -#define TAO_Notify_RT_BUILDER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/rt_notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Builder.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_RT_Builder - * - * @brief Builder for RT specific classes. - * - */ -class TAO_RT_Notify_Export TAO_Notify_RT_Builder : public TAO_Notify_Builder -{ -public: - /// Constuctor - TAO_Notify_RT_Builder (void); - - /// Destructor - virtual ~TAO_Notify_RT_Builder (); - - /// Apply Thread Pools. - virtual void apply_thread_pool_concurrency (TAO_Notify_Object& object, const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL); - - /// Apply Thread Pools with Lanes. - virtual void apply_lane_concurrency (TAO_Notify_Object& object, const NotifyExt::ThreadPoolLanesParams& tpl_params ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_RT_BUILDER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/RT_Factory.cpp deleted file mode 100644 index af5484fed61..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Factory.cpp +++ /dev/null @@ -1,131 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/RT_Factory.h" -#include "orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h" - -ACE_RCSID(RT_Notify, TAO_Notify_RT_Factory, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_RT_Factory::TAO_Notify_RT_Factory (void) -{ -} - -TAO_Notify_RT_Factory::~TAO_Notify_RT_Factory () -{ -} - -void -TAO_Notify_RT_Factory::create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - ACE_NEW_THROW_EX (proxy, - TAO_Notify_RT_StructuredProxyPushSupplier (), - CORBA::NO_MEMORY ()); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_ProxySupplier_Collection*& collection ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_ProxyConsumer_Collection*& collection ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_EventChannel_Collection*& collection ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_ConsumerAdmin_Collection*& collection ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_SupplierAdmin_Collection*& collection ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_Proxy_Collection*& collection ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (collection ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_EventChannelFactory*& channel_factory ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (channel_factory ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (channel ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (admin ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (admin ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_Factory:: create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL) -{ - TAO_Notify_Default_Factory::create (proxy ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_RT_Notify, TAO_Notify_RT_Factory) diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/RT_Factory.h deleted file mode 100644 index 38bf46c4662..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Factory.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -/** - * @file RT_Factory.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_RT_FACTORY_H -#define TAO_Notify_RT_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/rt_notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Default_Factory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_RT_Factory - * - * @brief The Factory for the RT aware Notify classes. - * - */ -class TAO_RT_Notify_Export TAO_Notify_RT_Factory : public TAO_Notify_Default_Factory -{ -public: - /// Constuctor - TAO_Notify_RT_Factory (void); - - /// Destructor - virtual ~TAO_Notify_RT_Factory (); - - /// Create ProxySupplier Collection - virtual void create (TAO_Notify_ProxySupplier_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create ProxyConsumer Collection - virtual void create (TAO_Notify_ProxyConsumer_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create EventChannel Collection - virtual void create (TAO_Notify_EventChannel_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create ConsumerAdmin Collection - virtual void create (TAO_Notify_ConsumerAdmin_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create SupplierAdmin Collection - virtual void create (TAO_Notify_SupplierAdmin_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create Proxy Collection - virtual void create (TAO_Notify_Proxy_Collection*& collection ACE_ENV_ARG_DECL); - - /// Create EventChannelDefault_Factory - virtual void create (TAO_Notify_EventChannelFactory*& channel_factory ACE_ENV_ARG_DECL); - - /// Create EventChannel - virtual void create (TAO_Notify_EventChannel*& channel ACE_ENV_ARG_DECL); - - /// Create SupplierAdmin - virtual void create (TAO_Notify_SupplierAdmin*& admin ACE_ENV_ARG_DECL); - - /// Create ConsumerAdmin - virtual void create (TAO_Notify_ConsumerAdmin*& admin ACE_ENV_ARG_DECL); - - /// Create ProxyPushConsumer - virtual void create (TAO_Notify_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create ProxyPushSupplier - virtual void create (TAO_Notify_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); - - /// Create CosEC_ProxyPushConsumer - virtual void create (TAO_Notify_CosEC_ProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create CosEC_ProxyPushSupplier - virtual void create (TAO_Notify_CosEC_ProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); - - /// Create StructuredProxyPushConsumer - virtual void create (TAO_Notify_StructuredProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create StructuredProxyPushSupplier - virtual void create (TAO_Notify_StructuredProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); - - /// Create SequenceProxyPushConsumer - virtual void create (TAO_Notify_SequenceProxyPushConsumer*& proxy ACE_ENV_ARG_DECL); - - /// Create SequenceProxyPushSupplier - virtual void create (TAO_Notify_SequenceProxyPushSupplier*& proxy ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_RT_Notify, TAO_Notify_RT_Factory) - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_RT_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.cpp b/TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.cpp deleted file mode 100644 index f9e4ce24128..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.cpp +++ /dev/null @@ -1,98 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/RT_Notify_Service.h" - -ACE_RCSID(RT_Notify, TAO_Notify_RT_Notify_Service, "$Id$") - -#include "ace/Dynamic_Service.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/RT_Properties.h" -#include "orbsvcs/Notify/RT_Factory.h" -#include "orbsvcs/Notify/RT_Builder.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_RT_Notify_Service::TAO_RT_Notify_Service (void) -{ -} - -TAO_RT_Notify_Service::~TAO_RT_Notify_Service () -{ -} - -void -TAO_RT_Notify_Service::init_service (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) -{ - ACE_DEBUG ((LM_DEBUG, "Loading the Real-Time Notification Service...\n")); - - this->init_i (orb ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_RT_Notify_Service::init_i (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) -{ - //Init the base class. - TAO_CosNotify_Service::init_i (orb ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO_Notify_RT_Properties* properties = TAO_Notify_RT_PROPERTIES::instance(); - - // Resolve RTORB - CORBA::Object_var object = - orb->resolve_initial_references ("RTORB" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RTCORBA::RTORB_var rt_orb = - RTCORBA::RTORB::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Resolve RTCurrent - object = - orb->resolve_initial_references ("RTCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RTCORBA::Current_var current = - RTCORBA::Current::_narrow (object.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - /// Set the properties - properties->rt_orb (rt_orb.in ()); - properties->current (current.in ()); -} - -TAO_Notify_Factory* -TAO_RT_Notify_Service::create_factory (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Factory* factory = - ACE_Dynamic_Service::instance ("TAO_Notify_Factory"); - - if (factory == 0) - { - ACE_NEW_THROW_EX (factory, - TAO_Notify_RT_Factory (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN(0); - } - return factory; -} - -TAO_Notify_Builder* -TAO_RT_Notify_Service::create_builder (ACE_ENV_SINGLE_ARG_DECL) -{ - TAO_Notify_Builder* builder = 0; - ACE_NEW_THROW_EX (builder, - TAO_Notify_RT_Builder (), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN(0); - - return builder; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_RT_Notify,TAO_RT_Notify_Service) diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.h b/TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.h deleted file mode 100644 index 6383e95fc34..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Notify_Service.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -/** - * @file RT_Notify_Service.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_RT_NOTIFY_SERVICE_H -#define TAO_Notify_RT_NOTIFY_SERVICE_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Notify/rt_notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/CosNotify_Service.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_RT_Notify_Service - * - * @brief Implemetation of the TAO_Notify_Service interface for RT Notification. - * - */ -class TAO_RT_Notify_Export TAO_RT_Notify_Service : public TAO_CosNotify_Service -{ -public: - /// Constuctor - TAO_RT_Notify_Service (void); - - /// Destructor - ~TAO_RT_Notify_Service (); - - /// Init the service. - virtual void init_service (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL); - -protected: - /// Init the data members - virtual void init_i (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL); - - /// Create the Factory for RT Notify objects. - virtual TAO_Notify_Factory* create_factory (ACE_ENV_SINGLE_ARG_DECL); - - /// Creates the Builder for RT Notify objects. - virtual TAO_Notify_Builder* create_builder (ACE_ENV_SINGLE_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_RT_Notify,TAO_RT_Notify_Service) - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_RT_NOTIFY_SERVICE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.cpp b/TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.cpp deleted file mode 100644 index 81859ded60f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.cpp +++ /dev/null @@ -1,166 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/RT_POA_Helper.h" -#include "tao/RTCORBA/RTCORBA.h" -#include "tao/debug.h" -#include "orbsvcs/NotifyExtC.h" -#include "orbsvcs/Notify/RT_Properties.h" -#include "ace/SString.h" - -ACE_RCSID (Notify, - TAO_Notify_RT_POA_Helper, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_RT_POA_Helper::~TAO_Notify_RT_POA_Helper () -{ -} - -void -TAO_Notify_RT_POA_Helper::init (PortableServer::POA_ptr parent_poa, const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL) -{ - ACE_CString child_poa_name = this->get_unique_id (); - - this->init (parent_poa, child_poa_name.c_str (), tp_params ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_POA_Helper::init (PortableServer::POA_ptr parent_poa, const char* poa_name - , const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL) -{ - CORBA::PolicyList policy_list (4); - - this->set_policy (parent_poa, policy_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RTCORBA::RTORB_var rt_orb = TAO_Notify_RT_PROPERTIES::instance ()->rt_orb (); - - RTCORBA::PriorityModel priority_model = - tp_params.priority_model == NotifyExt::CLIENT_PROPAGATED ? - RTCORBA::CLIENT_PROPAGATED : RTCORBA::SERVER_DECLARED; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Priority Model = %d, Server prio = %d\n" - , tp_params.priority_model, tp_params.server_priority)); - - policy_list.length (3); - policy_list[2] = - rt_orb->create_priority_model_policy (priority_model, - tp_params.server_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Creating threadpool: static threads = %d, def. prio = %d\n" - , tp_params.static_threads, tp_params.default_priority)); - - // Create the thread-pool. - RTCORBA::ThreadpoolId threadpool_id = - rt_orb->create_threadpool (tp_params.stacksize, - tp_params.static_threads, - tp_params.dynamic_threads, - tp_params.default_priority, - tp_params.allow_request_buffering, - tp_params.max_buffered_requests, - tp_params.max_request_buffer_size - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - policy_list.length (4); - policy_list[3] = - rt_orb->create_threadpool_policy (threadpool_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->create_i (parent_poa, poa_name, policy_list ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_POA_Helper::init (PortableServer::POA_ptr parent_poa, const NotifyExt::ThreadPoolLanesParams& tpl_params ACE_ENV_ARG_DECL) -{ - ACE_CString child_poa_name = this->get_unique_id (); - - this->init (parent_poa, child_poa_name.c_str (), tpl_params ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_POA_Helper::init (PortableServer::POA_ptr parent_poa, const char* poa_name - , const NotifyExt::ThreadPoolLanesParams& tpl_params ACE_ENV_ARG_DECL) -{ - CORBA::PolicyList policy_list (4); - - this->set_policy (parent_poa, policy_list ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - RTCORBA::RTORB_var rt_orb = TAO_Notify_RT_PROPERTIES::instance ()->rt_orb (); - - RTCORBA::PriorityModel priority_model = - tpl_params.priority_model == NotifyExt::CLIENT_PROPAGATED ? - RTCORBA::CLIENT_PROPAGATED : RTCORBA::SERVER_DECLARED; - - policy_list.length (3); - policy_list[2] = - rt_orb->create_priority_model_policy (priority_model, - tpl_params.server_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Populate RTCORBA Lanes. - RTCORBA::ThreadpoolLanes lanes (tpl_params.lanes.length ()); - lanes.length (tpl_params.lanes.length ()); - - for (CORBA::ULong index = 0; index < tpl_params.lanes.length (); ++index) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, "Creating threadpool lane %d: priority = %d, static threads = %d\n", - index, tpl_params.lanes[index].lane_priority, tpl_params.lanes[index].static_threads)); - } - - lanes[index].lane_priority = tpl_params.lanes[index].lane_priority; - lanes[index].static_threads = tpl_params.lanes[index].static_threads; - lanes[index].dynamic_threads = tpl_params.lanes[index].dynamic_threads; - } - - // Create the thread-pool. - RTCORBA::ThreadpoolId threadpool_id = - rt_orb->create_threadpool_with_lanes (tpl_params.stacksize, - lanes, - tpl_params.allow_borrowing, - tpl_params.allow_request_buffering, - tpl_params.max_buffered_requests, - tpl_params.max_request_buffer_size - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - policy_list.length (4); - policy_list[3] = - rt_orb->create_threadpool_policy (threadpool_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->create_i (parent_poa, poa_name, policy_list ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_RT_POA_Helper::init (PortableServer::POA_ptr parent_poa ACE_ENV_ARG_DECL) -{ - CORBA::PolicyList policy_list (1); - - RTCORBA::RTORB_var rt_orb = TAO_Notify_RT_PROPERTIES::instance ()->rt_orb (); - - policy_list.length (1); - - policy_list[0] = - rt_orb->create_priority_model_policy (RTCORBA::CLIENT_PROPAGATED, - 0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_CString child_poa_name = this->get_unique_id (); - - this->create_i (parent_poa, child_poa_name.c_str (), policy_list ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.h b/TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.h deleted file mode 100644 index d272420ef98..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_POA_Helper.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- C++ -*- - -/** - * @file RT_POA_Helper.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_RT_POA_Helper_H -#define TAO_Notify_RT_POA_Helper_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/rt_notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/POA_Helper.h" -#include "orbsvcs/NotifyExtC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_RT_POA_Helper - * - * @brief Helper for creating RT POA objects. - * - */ -class TAO_RT_Notify_Export TAO_Notify_RT_POA_Helper : public TAO_Notify_POA_Helper -{ -public: - /// Destructor - ~TAO_Notify_RT_POA_Helper (); - - /// Create a new PortableServer::POA. - /// The UNIQUE_ID, USER_ID , CLIENT_PROPAGATED and thread pool policy is applied to the new POA. - void init (PortableServer::POA_ptr parent_poa, const char* poa_name, const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL); - - /// Create a new PortableServer::POA. The name is chosen at random. - /// The UNIQUE_ID, USER_ID , CLIENT_PROPAGATED and thread pool policy is applied to the new POA. - void init (PortableServer::POA_ptr parent_poa, const NotifyExt::ThreadPoolParams& tp_params ACE_ENV_ARG_DECL); - - /// Create a new PortableServer::POA. - /// The UNIQUE_ID, USER_ID , CLIENT_PROPAGATED and thread lane policy is applied to the new POA. - void init (PortableServer::POA_ptr parent_poa, const char* poa_name, - const NotifyExt::ThreadPoolLanesParams& tpl_params ACE_ENV_ARG_DECL); - - /// Create a new PortableServer::POA. The name is chosen at random. - /// The UNIQUE_ID, USER_ID , CLIENT_PROPAGATED and thread lane policy is applied to the new POA. - void init (PortableServer::POA_ptr parent_poa, const NotifyExt::ThreadPoolLanesParams& tpl_params ACE_ENV_ARG_DECL); - - /// Create a new PortableServer::POA. The name is chosen at random. - /// The CLIENT_PROPAGATED policy is applied to the new POA. - void init (PortableServer::POA_ptr parent_poa ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_RT_POA_Helper_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.cpp b/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.cpp deleted file mode 100644 index 6a5aff084e8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/RT_Properties.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/RT_Properties.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(RT_Notify, TAO_Notify_RT_Properties, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_RT_Properties::TAO_Notify_RT_Properties (void) -{ -} - -TAO_Notify_RT_Properties::~TAO_Notify_RT_Properties () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.h b/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.h deleted file mode 100644 index 124f8757145..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -/** - * @file RT_Properties.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_RT_PROPERTIES_H -#define TAO_Notify_RT_PROPERTIES_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/rt_notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/TAO_Singleton.h" -#include "tao/RTCORBA/RTCORBA.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_RT_Properties - * - * @brief RT specifc global properties are stored here. - * - */ -class TAO_RT_Notify_Export TAO_Notify_RT_Properties -{ - friend class TAO_Singleton; - -public: - /// Constuctor - TAO_Notify_RT_Properties (void); - - /// Destructor - ~TAO_Notify_RT_Properties (); - - RTCORBA::RTORB_ptr rt_orb (void); - void rt_orb (RTCORBA::RTORB_ptr rt_orb); - - RTCORBA::Current_ptr current (void); - void current (RTCORBA::Current_ptr current); - -protected: - /// RT-ORB - RTCORBA::RTORB_var rt_orb_; - - /// Current - RTCORBA::Current_var current_; -}; - -TAO_RT_NOTIFY_SINGLETON_DECLARE (TAO_Singleton, TAO_Notify_RT_Properties, TAO_SYNCH_MUTEX) - -typedef TAO_Singleton TAO_Notify_RT_PROPERTIES; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/RT_Properties.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_RT_PROPERTIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.inl b/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.inl deleted file mode 100644 index 71fae93e7ba..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/RT_Properties.inl +++ /dev/null @@ -1,31 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE RTCORBA::RTORB_ptr -TAO_Notify_RT_Properties::rt_orb (void) -{ - return RTCORBA::RTORB::_duplicate (rt_orb_.in ()); -} - -ACE_INLINE void -TAO_Notify_RT_Properties::rt_orb (RTCORBA::RTORB_ptr rt_orb) -{ - rt_orb_ = RTCORBA::RTORB::_duplicate (rt_orb); -} - -ACE_INLINE RTCORBA::Current_ptr -TAO_Notify_RT_Properties::current (void) -{ - return RTCORBA::Current::_duplicate (current_.in()); -} - -ACE_INLINE void -TAO_Notify_RT_Properties::current (RTCORBA::Current_ptr current) -{ - current_ = RTCORBA::Current::_duplicate (current); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp b/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp deleted file mode 100644 index b0e528de02b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Random_File.h" - -#include "ace/OS.h" -#include "ace/Log_Msg.h" -#include "tao/debug.h" -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -Random_File::Random_File() - : block_size_(512) -{ -} - -Random_File::~Random_File() -{ - this->close(); -} - -size_t -Random_File::block_size() const -{ - return this->block_size_; -} - -size_t -Random_File::size() const -{ - Random_File * mutable_this = const_cast (this); - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, mutable_this->lock_, 0); - size_t original_pos = mutable_this->tell (); - mutable_this->ACE_FILE::seek(0, SEEK_END); - size_t cursize = mutable_this->tell(); - mutable_this->ACE_FILE::seek (original_pos, SEEK_SET); - if ((cursize % this->block_size_) != 0) - { - cursize += this->block_size_; - } - return cursize / this->block_size_; -} - -bool -Random_File::open(const ACE_TCHAR* filename, size_t block_size) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, false); - this->block_size_ = block_size; - bool result = (this->close() == 0); - - if (result) - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Opening file %s\n") - , filename - )); - ACE_HANDLE handle = ACE_OS::open(filename, - O_CREAT | O_RDWR | O_BINARY, - ACE_DEFAULT_FILE_PERMS); - - if (handle == ACE_INVALID_HANDLE) - { - result = false; - } - else - { - this->set_handle(handle); - if (this->get_handle() == 0) - { - result = false; - } - else - { - result = (this->addr_.set(filename) == 0); - } - } - } - return result; -} - -bool -Random_File::write(const size_t block_number, void* buf, bool atomic) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, false); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Write block %d %c\n"), - static_cast (block_number), - (atomic ? '*' : ' ') - )); - bool result = this->seek(block_number); - if (result) - { - if (atomic) - { - // sync before so that any block pointed to from this block - // will be there when this block is written. - result = sync(); - } - // ACE uses an ssize_t for buffer size, so we do this to make it happy. - ssize_t block_size = this->block_size_; - if (result && (block_size != - ACE_OS::write(this->get_handle(), buf, block_size))) - { - result = false; - } - if (result && atomic) - { - // sync after to provide the caller with a guarantee that - // this block is physically written to the storage device. - result = sync(); - } - } - return result; -} - -bool -Random_File::read(const size_t block_number, void* buf) -{ - ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, false); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Read block %d\n"), - static_cast (block_number) - )); - bool result = this->seek(block_number); - if (result) - { - ssize_t block_size = this->block_size_; - if (block_size != - ACE_OS::read(this->get_handle(), buf, block_size)) - { - result = false; - } - } - return result; -} - -bool -Random_File::seek(const size_t block_number) -{ - ssize_t destloc = block_number * this->block_size_; - bool result = (destloc == this->ACE_FILE::seek(destloc, SEEK_SET)); - return result; -} - -bool -Random_File::sync() -{ - bool result = false; - result = (0 == ACE_OS::fsync(this->get_handle())); - return result; -} - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Random_File.h b/TAO/orbsvcs/orbsvcs/Notify/Random_File.h deleted file mode 100644 index c3ebfcd96bf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Random_File.h +++ /dev/null @@ -1,94 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Random_File.h - * - * $Id$ - * - * This class implements a a random-access file containing - * fixed-size blocks. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef RANDOM_FILE_H -#define RANDOM_FILE_H -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "tao/Versioned_Namespace.h" -#include "ace/FILE.h" -#include "ace/streams.h" -#include "ace/Synch_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -/** - * \brief A random file class. - * - * Derived from ACE_FILE, this class provides access to a - * file of fixed-size blocks. - * - */ -class TAO_Notify_Serv_Export Random_File : public ACE_FILE -{ -public: - /// The constructor. - Random_File(); - - /// The destructor, which closes the open file. - ~Random_File(); - - /// Open a file with default permissions. - bool open(const ACE_TCHAR* filename, size_t block_size = 512); - - /// Accessor for the block size. - /// Note signed size_t is used to be compatible with - /// ACE_FILE. - size_t block_size() const; - - /// Return the current file size, in number of blocks. - size_t size() const; - - /// Write a block to our file, potentially as an "atomic" write. - /// If the atomic argument is true, then the operating system's - /// write-through cache for this file is flushed both before and - /// after the write. - /// The flush before ensures that any record pointers in this block - /// will point to records that actually appear in the file. - /// The flush after provides the caller with a guarantee that - /// the data will appear in the file even if the system fails - /// immediately after this method returns. - bool write(const size_t block_number, void* buffer, bool atomic = false); - - /// Read a block from our file. - bool read(const size_t block_number, void* buffer); - -private: - /// Seek to a given block number, used by reads and writes. - bool seek(const size_t block_number); - - /// Synchronize the file to disk, used to implement atomic. - bool sync(); - -private: - size_t block_size_; - ACE_SYNCH_MUTEX lock_; -}; - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* RANDOM_FILE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.cpp b/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.cpp deleted file mode 100644 index be6bdd90518..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Reactive_Task.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Reactive_Task.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_Reactive_Task, "$Id$") - -#include "orbsvcs/Notify/Timer_Reactor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Reactive_Task::TAO_Notify_Reactive_Task (void) - :timer_ (0) -{ -} - -TAO_Notify_Reactive_Task::~TAO_Notify_Reactive_Task () -{ -} - -void -TAO_Notify_Reactive_Task::init (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_ASSERT (this->timer_.get() == 0); - - TAO_Notify_Timer_Reactor* timer = 0; - ACE_NEW_THROW_EX (timer, - TAO_Notify_Timer_Reactor (), - CORBA::NO_MEMORY ()); - this->timer_.reset (timer); -} - -void -TAO_Notify_Reactive_Task::release (void) -{ - delete this; //TODO: Release via factory. -} - -void -TAO_Notify_Reactive_Task::shutdown (void) -{ -} - -void -TAO_Notify_Reactive_Task::execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) -{ - method_request.execute (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_Notify_Timer* -TAO_Notify_Reactive_Task::timer (void) -{ - return this->timer_.get(); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.h b/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.h deleted file mode 100644 index b7a602cd67c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.h +++ /dev/null @@ -1,77 +0,0 @@ -// -*- C++ -*- - -/** - * @file Reactive_Task.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_REACTIVE_TASK_H -#define TAO_Notify_REACTIVE_TASK_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Timer_Reactor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Reactive_Task - * - * @brief A reactive worker task. Simply executes the command in the - * caller's context. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Reactive_Task - : public TAO_Notify_Worker_Task -{ -public: - /// Constuctor - TAO_Notify_Reactive_Task (void); - - /// Destructor - virtual ~TAO_Notify_Reactive_Task (); - - /// Init the reactive task. - void init (ACE_ENV_SINGLE_ARG_DECL); - - /// Shutdown task - virtual void shutdown (void); - - /// Exec the request. - virtual void execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL); - - /// The object used by clients to register timers. This method returns a Reactor based Timer. - virtual TAO_Notify_Timer* timer (void); - - /// Returns NULL. - virtual TAO_Notify_Buffering_Strategy* buffering_strategy (void); - -private: - /// The timer. - TAO_Notify_Timer_Reactor::Ptr timer_; - - /// Release - virtual void release (void); -}; - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Reactive_Task.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_REACTIVE_TASK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.inl b/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.inl deleted file mode 100644 index d2b6ec811e5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reactive_Task.inl +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_Notify_Buffering_Strategy* -TAO_Notify_Reactive_Task::buffering_strategy (void) -{ - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp deleted file mode 100644 index 4c5857f45c8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================= -/** -* @file Reconnect_Worker_T.cpp -* -* $Id$ -* -* @author Jonathan Pollack -*/ -//============================================================================= - -#ifndef RECONNECT_WORKER_CPP -#define RECONNECT_WORKER_CPP - -#include "orbsvcs/Notify/Reconnect_Worker_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - template - Reconnect_Worker::Reconnect_Worker() - { - } - - template - void - Reconnect_Worker::work (TOPOOBJ* o ACE_ENV_ARG_DECL) - { - ACE_ASSERT(o != 0); - o->reconnect (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* RECONNECT_WORKER_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h b/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h deleted file mode 100644 index a4c71244ec2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** -* @file Reconnect_Worker_T.h -* -* $Id$ -* -* @author Jonathan Pollack -*/ -//============================================================================= - -#ifndef RECONNECT_WORKER_H -#define RECONNECT_WORKER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - /** - * \brief Iterate through children reconnecting after reloading persistent information. - */ - template - class Reconnect_Worker : public TAO_ESF_Worker - { - public: - /// Constructor - Reconnect_Worker(); - - // override virtual ESF_Worker method - virtual void work (TOPOOBJ* o ACE_ENV_ARG_DECL); - }; -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Reconnect_Worker_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Reconnect_Worker_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* RECONECT_WORKER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp b/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp deleted file mode 100644 index 8eba0d841ef..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp +++ /dev/null @@ -1,257 +0,0 @@ -// -*- C++ -*- - -/** - * @file Reconnection_Registry.cpp - * - * $Id$ - * - * @author Dale Wilson - */ -#include "orbsvcs/Notify/Reconnection_Registry.h" - -#include "tao/debug.h" -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Topology_Saver.h" -#include "ace/Vector_T.h" -//#define DEBUG_LEVEL 10 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - const char REGISTRY_TYPE[] = "reconnect_registry"; - const char RECONNECT_ID[] = "ReconnectId"; - const char RECONNECT_IOR[] = "IOR"; - const char REGISTRY_CALLBACK_TYPE[] = "reconnect_callback"; - - Reconnection_Registry::Reconnection_Registry (Topology_Parent & parent) - : highest_id_(0) - { - // not the best technique, here. Take advantage of "protected" - Topology_Object::topology_parent_ = &parent; - } - - Reconnection_Registry::~Reconnection_Registry () - { - } - - ////////////////////////// - // During normal operation - - NotifyExt::ReconnectionRegistry::ReconnectionID - Reconnection_Registry::register_callback ( - NotifyExt::ReconnectionCallback_ptr callback - ACE_ENV_ARG_DECL) - { - //@@todo DO WE NEED THREAD SAFENESS? - NotifyExt::ReconnectionRegistry::ReconnectionID next_id = ++highest_id_; - - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnect registry: registering %d\n"), - static_cast (next_id) - )); - } - TAO_Notify_Properties* properties = TAO_Notify_PROPERTIES::instance(); - CORBA::ORB_var orb = properties->orb (); - - CORBA::String_var cior = orb->object_to_string (callback ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ACE_CString ior(cior.in ()); - if ( 0 != reconnection_registry_.bind (next_id, ior)) - { - //todo throw something; - } - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return next_id; - } - - void - Reconnection_Registry::unregister_callback (NotifyExt::ReconnectionRegistry::ReconnectionID id - ACE_ENV_ARG_DECL) - { - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnect registry: unregistering %d\n"), - static_cast (id) - )); - } - if ( 0 != reconnection_registry_.unbind (id)) - { - //@@todo throw something - } - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - CORBA::Boolean - Reconnection_Registry::is_alive (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - { - return CORBA::Boolean(1); - } - - ////////////////////// - // During topology save - - void - Reconnection_Registry::save_persistent (Topology_Saver& saver ACE_ENV_ARG_DECL) - { - bool change = this->self_changed_; - this->self_changed_ = false; - this->children_changed_ = false; - - NVPList attrs; - //@@todo: bool want_all_children = - saver.begin_object (0, REGISTRY_TYPE, attrs, change ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - Reconnection_Registry_Type::ENTRY *entry; - for (Reconnection_Registry_Type::ITERATOR iter (this->reconnection_registry_); - iter.next (entry); - iter.advance ()) - { - NVPList cattrs; - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnect registry: saving %d\n"), - static_cast (entry->ext_id_) - )); - } - cattrs.push_back(NVP(RECONNECT_ID, entry->ext_id_)); - cattrs.push_back(NVP(RECONNECT_IOR, entry->int_id_)); - saver.begin_object (entry->ext_id_, REGISTRY_CALLBACK_TYPE, cattrs, true ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - saver.end_object (entry->ext_id_, REGISTRY_CALLBACK_TYPE ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -// todo: -// for all deleted children -// { -// saver.delete_child(child_type, child_id); -// } - saver.end_object (0, REGISTRY_TYPE ACE_ENV_ARG_PARAMETER); - } - - /////////////////////////////////////// - // During reload of persistent topology - - Topology_Object* - Reconnection_Registry::load_child (const ACE_CString & type, - CORBA::Long, - const NVPList& attrs - ACE_ENV_ARG_DECL_NOT_USED) - { - if (type == REGISTRY_CALLBACK_TYPE) - { - NotifyExt::ReconnectionRegistry::ReconnectionID id; - ACE_CString ior; - if (attrs.load (RECONNECT_ID, id) && attrs.load (RECONNECT_IOR, ior)) - { - if (id > highest_id_) - { - highest_id_ = id; - - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnect registry: reloading %d\n"), - static_cast (id) - )); - } - } - if ( 0 != reconnection_registry_.bind (id, ior)) - { - //@@todo - throw something; - } - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Reconnect registry: missing attribute\n") - )); - } - } - return this; - } - - void - Reconnection_Registry::send_reconnect (CosNotifyChannelAdmin::EventChannelFactory_ptr dest_factory - ACE_ENV_ARG_DECL_NOT_USED) - { - TAO_Notify_Properties* properties = TAO_Notify_PROPERTIES::instance(); - CORBA::ORB_var orb = properties->orb (); - ACE_Vector bad_ids; - - Reconnection_Registry_Type::ENTRY *entry; - for (Reconnection_Registry_Type::ITERATOR iter (this->reconnection_registry_); - iter.next (entry); - iter.advance ()) - { - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnection Registry: Sending reconnection to client %d\n"), - static_cast (entry->ext_id_) - )); - } - ACE_CString & ior = entry->int_id_; - CORBA::Object_var obj = orb->string_to_object (ior.c_str () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - NotifyExt::ReconnectionCallback_var callback = - NotifyExt::ReconnectionCallback::_narrow (obj.in ()); - if (!CORBA::is_nil (callback.in ())) - { - callback->reconnect (dest_factory ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - else - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnection Registry: Can't resolve reconnection client's IOR %d\n"), - static_cast (entry->ext_id_) - )); - - //throw this entry away but you've got an iterator so be careful - bad_ids.push_back (entry->ext_id_); - } - } - ACE_CATCHANY - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Reconnection Registry: Exception sending reconnection to client -- discarding registry entry\n") - )); - //throw this entry away but you've got an iterator so be careful - bad_ids.push_back (entry->ext_id_); - //@@todo : we might want to check for retryable exceptions, but for now... - } - ACE_ENDTRY; - } - size_t bad_count = bad_ids.size (); - for (size_t nbad = 0; nbad < bad_count; ++nbad) - { - this->reconnection_registry_.unbind (bad_ids[nbad]); - } - } - - void - Reconnection_Registry::release (void) - { - delete this; - //@@ inform factory - } - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h b/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h deleted file mode 100644 index 0c84190d5a9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -/** - * @file Reconnection_Registry.h - * - * $Id$ - * - * @author Dale Wilson - */ - -#ifndef TAO_NOTIFY_RECONNECTION_REGISTRY_H -#define TAO_NOTIFY_RECONNECTION_REGISTRY_H -#include /**/ -#include /**/ - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Topology_Object.h" - -#include "orbsvcs/NotifyExtS.h" - -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - extern const char REGISTRY_TYPE[]; - extern const char RECONNECT_ID[]; - extern const char RECONNECT_IOR[]; - extern const char REGISTRY_CALLBACK_TYPE[]; - - /** - * @class Reconnection_Registry - * - * @brief Implementation of ReconnectionRegistry - * - */ - class TAO_Notify_Serv_Export Reconnection_Registry - : public Topology_Object - { - /// The registry consists of a map from ReconnectionID to stringified IOR - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_SYNCH_NULL_MUTEX> Reconnection_Registry_Type; - - public: - - /// Constructor - Reconnection_Registry (Topology_Parent & parent); - - /// Destructor - virtual ~Reconnection_Registry (); - - ////////////////////////// - // During normal operation - - /// add a new callback to the registry - ::NotifyExt::ReconnectionRegistry::ReconnectionID register_callback ( - ::NotifyExt::ReconnectionCallback_ptr callback - ACE_ENV_ARG_DECL); - - /// - void unregister_callback (::NotifyExt::ReconnectionRegistry::ReconnectionID id - ACE_ENV_ARG_DECL); - - CORBA::Boolean is_alive (ACE_ENV_SINGLE_ARG_DECL); - - ////////////////////// - // During topology save - virtual void save_persistent (Topology_Saver& saver ACE_ENV_ARG_DECL); - - /////////////////////////////////////// - // During reload of persistent topology - - virtual Topology_Object* load_child (const ACE_CString & type, - CORBA::Long id, - const NVPList& attrs - ACE_ENV_ARG_DECL); - - void send_reconnect (CosNotifyChannelAdmin::EventChannelFactory_ptr dest_factory - ACE_ENV_ARG_DECL); - - private: - void release (void); - - Reconnection_Registry_Type reconnection_registry_; - ::NotifyExt::ReconnectionRegistry::ReconnectionID highest_id_; - }; -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ -#endif /* TAO_NOTIFY_RECONNECTION_REGISTRY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp b/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp deleted file mode 100644 index 0d06a3c0e05..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable.cpp +++ /dev/null @@ -1,252 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Refcountable.h" -#include "tao/debug.h" -#include "ace/Log_Msg.h" - -#include "ace/Guard_T.h" - -ACE_RCSID(Notify, TAO_Notify_Refcountable, "$Id$") - -#if ( TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0 ) - -#include -#include -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Tracker - * - * @brief A debugging tool to track the creation of TAO_Notify_Refcountable objects. - * - * Usage: - * Set USE_TAO_NOTIFY_TRACKER defined above to 1 - * At any significant point to check object usage - * TAO_Notify_Tracker::get_instance().dump(); - */ -class TAO_Notify_Tracker -{ -public: - struct Entry - { - TAO_Notify_Refcountable* obj; - std::string class_name; - }; - - static TAO_Notify_Tracker& get_instance(); - - void add( TAO_Notify_Refcountable* p ); - - void remove( const TAO_Notify_Refcountable* p ); - - Entry find( const TAO_Notify_Refcountable* p ) const; - - void dump( const char* title = 0 ); - -private: - TAO_Notify_Tracker(); - ~TAO_Notify_Tracker(); - - friend class std::auto_ptr< TAO_Notify_Tracker >; - static std::auto_ptr< TAO_Notify_Tracker > s_instance; - mutable TAO_SYNCH_MUTEX lock_; - typedef std::map EntityMap; - EntityMap map_; - int id_counter_; - int last_dump_count_; -}; - -void -TAO_Notify_Refcountable::diagnostic_dump( const char* title ) -{ - TAO_Notify_Tracker::get_instance().dump( title ); -} - -#endif /* TAO_NOTIFY_REFCOUNT_DIAGNOSTICS */ - - -TAO_Notify_Refcountable::TAO_Notify_Refcountable (void) -{ -} - -TAO_Notify_Refcountable::~TAO_Notify_Refcountable () -{ -#if ( TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0 ) - TAO_Notify_Tracker::Entry e = TAO_Notify_Tracker::get_instance().find( this ); - if ( e.obj != 0 ) - { - ACE_DEBUG ((LM_DEBUG,"object:%x %s(%d) with refcount:%d destroyed incorrectly.\n", - e.obj, e.class_name, e.obj->ref_id_, e.obj->refcount_.value() )); - - if ( e.obj != this || e.obj->ref_id_ != this->ref_id_ ) - { - ACE_DEBUG ((LM_DEBUG, " with an ID mismatch %x->%d != %x->%d!\n", - this, ref_id_, e.obj, e.obj->ref_id_)); - } - TAO_Notify_Tracker::get_instance().remove( this ); - } -#endif - CORBA::ULong refcount = this->refcount_.value(); - ACE_ASSERT( refcount == 0 ); - ACE_UNUSED_ARG(refcount); -} - - -CORBA::ULong -TAO_Notify_Refcountable::_incr_refcnt (void) -{ - CORBA::Long refcount = ++this->refcount_; - if (TAO_debug_level > 1 ) - { - ACE_DEBUG ((LM_DEBUG,"object:%x incr refcount = %d\n", this, refcount )); - } -#if ( TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0 ) - // Stack-instantiated-non-servants should never have _incr_refcnt called. - // We do not care about stack-instances. Stack-instantiated servants break - // the tracker. - if ( refcount == 1 ) - { - TAO_Notify_Tracker::get_instance().add( this ); - } -#endif - return refcount; -} - -CORBA::ULong -TAO_Notify_Refcountable::_decr_refcnt (void) -{ - CORBA::Long refcount = --this->refcount_; - - if (TAO_debug_level > 1 ) - { - ACE_DEBUG ((LM_DEBUG,"object:%x decr refcount = %d\n", this, refcount )); - } - - ACE_ASSERT(refcount >= 0); - - if (refcount == 0) - { - #if ( USE_TAO_NOTIFY_TRACKER != 0 ) - TAO_Notify_Tracker::get_instance().remove( this ); - #endif - this->release (); - } - return refcount; -} - -#if ( TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0 ) - -std::auto_ptr< TAO_Notify_Tracker > TAO_Notify_Tracker::s_instance; - -TAO_Notify_Tracker::TAO_Notify_Tracker() -: id_counter_(0) -, last_dump_count_(0) -{ -} - - -TAO_Notify_Tracker::~TAO_Notify_Tracker() -{ - dump( "destruction" ); -} - - -void -TAO_Notify_Tracker::dump( const char* title ) -{ - ACE_Guard grd(this->lock_); - - ACE_DEBUG ((LM_DEBUG,"\nTAO_Notify_Tracker: %s\n", (title ? title : "dump"))); - - EntityMap::const_iterator iter( map_.begin() ); - while ( iter != map_.end() ) - { - ACE_DEBUG ((LM_DEBUG,"object:%x %s(%d) with refcount:%d.\n", - iter->second.obj, iter->second.class_name, iter->first, iter->second.obj->refcount_.value() )); - iter++; - } - - EntityMap::size_type current_count = map_.size(); - int diff = ( current_count - last_dump_count_ ); - ACE_DEBUG ((LM_DEBUG,"Count: %u\nDifference: %+d\n", current_count, diff )); - last_dump_count_ = current_count; -} - - -TAO_Notify_Tracker& -TAO_Notify_Tracker::get_instance() -{ - if ( s_instance.get() == 0 ) - { - s_instance.reset( new TAO_Notify_Tracker ); - } - return *s_instance; -} - - -void -TAO_Notify_Tracker::add( TAO_Notify_Refcountable* p ) -{ - if ( p == 0 ) return; - - ACE_Guard grd(this->lock_); - int id = ++id_counter_; - - Entry e = { p, typeid(*p).name() }; - std::pair< EntityMap::iterator, bool > result = - map_.insert( std::make_pair( id, e ) ); - EntityMap::iterator& it = result.first; - if ( result.second == false ) - { - ACE_DEBUG ((LM_DEBUG,"object:%x %s(%d) added twice.\n", - it->second.obj, it->second.class_name.c_str(), it->first )); - } - else - { - p->ref_id_ = id; - } -} - - -void -TAO_Notify_Tracker::remove( const TAO_Notify_Refcountable* p ) -{ - if ( p == 0 ) return; - - ACE_Guard grd(this->lock_); - int ref_id = p->ref_id_; - EntityMap::iterator iter( map_.find( ref_id ) ); - if ( iter == map_.end() ) - { - const char* class_name = typeid(*iter->second.obj).name(); - ACE_DEBUG ((LM_DEBUG,"object:%x %s(%d) not found.\n", - p, class_name, ref_id )); - } - else - { - map_.erase( iter ); - } -} - - -TAO_Notify_Tracker::Entry -TAO_Notify_Tracker::find( const TAO_Notify_Refcountable* p ) const -{ - Entry e = { 0, "" }; - if ( p == 0 ) return e; - - ACE_Guard grd(this->lock_); - int ref_id = p->ref_id_; - EntityMap::const_iterator iter( map_.find( ref_id ) ); - if ( iter != map_.end() ) - { - return iter->second; - } - return e; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_NOTIFY_REFCOUNT_DIAGNOSTICS */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable.h b/TAO/orbsvcs/orbsvcs/Notify/Refcountable.h deleted file mode 100644 index 960c7e37a93..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -/** - * @file Refcountable.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_REFCOUNTABLE_H -#define TAO_Notify_REFCOUNTABLE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Refcountable_Guard_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/orbconf.h" -#include "tao/Basic_Types.h" -#include "ace/Synch_Traits.h" -#include "ace/Thread_Mutex.h" -#include "ace/Atomic_Op.h" - -// Debugging macros -#ifndef TAO_NOTIFY_REFCOUNT_DIAGNOSTICS -#define TAO_NOTIFY_REFCOUNT_DIAGNOSTICS 0 -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Refcountable - * - * @brief Thread-safe refounting, calls the method when refcount falls to 0. - * - * The refcount is initialized to 0. When an instance of a - * derived class becomes owned by a managed pointer - * (Refcountable_Guard_T) the reference count becomes non-zero. - * - * Instances declared on the stack should always have a - * refcount of zero. - * - * A method that creates or simply returns an instance of - * Refcountable should not increment the reference count. It is - * the responsibility of the client to increment the reference - * count (take ownership or guard against deletion). The client - * cannot know if the method will or will not incr the refcount - * on its behalf. - * - * Use Refcountable_Guard_T or similar service to guarantee the - * exception safe direct pairing of increments and decrements. Avoid - * calling _incr_refcnt and _decr_refcnt. - */ - -class TAO_Notify_Serv_Export TAO_Notify_Refcountable -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Refcountable > Ptr; - - /// Constructor - TAO_Notify_Refcountable (void); - - /// Destructor - /// public for stack allocated instances - virtual ~TAO_Notify_Refcountable (); - - /// This method sigantures deliberately match the RefCounting methods required for ESF Proxy - /// Public for bridge implementations and various guard classes - CORBA::ULong _incr_refcnt (void); - CORBA::ULong _decr_refcnt (void); - -#if ( TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0 ) - static void diagnostic_dump( const char* title = 0 ); -#endif - -private: - /// The release method is called when the refcount reaches 0. - virtual void release (void) = 0; - - // Use a signed counter so that we can more easily detect - // boundary conditions such as too many _decr_refcnt() calls. - ACE_Atomic_Op refcount_; - -#if ( TAO_NOTIFY_REFCOUNT_DIAGNOSTICS != 0 ) - friend class TAO_Notify_Tracker; - int ref_id_; -#endif -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_REFCOUNTABLE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.cpp deleted file mode 100644 index 9f037fef711..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_REFCOUNTABLE_GUARD_T_CPP -#define TAO_Notify_REFCOUNTABLE_GUARD_T_CPP - -#include "orbsvcs/Notify/Refcountable_Guard_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Refcountable_Guard_T.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (Notify, TAO_Notify_Refcountable_Guard_T, "$Id$") - -#endif /* TAO_Notify_REFCOUNTABLE_GUARD_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h b/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h deleted file mode 100644 index 67e8bd8bdbc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h +++ /dev/null @@ -1,89 +0,0 @@ -// -*- C++ -*- - -/** - * @file Refcountable_Guard_T.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_REFCOUNTABLE_GUARD_T_H -#define TAO_Notify_REFCOUNTABLE_GUARD_T_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Refcountable_Guard_T - * - * @brief Increments the reference count in the constructor, the count is decremented in the destructor. - * See Refcountable.h for further notes on usage. - * - */ -template -class TAO_Notify_Refcountable_Guard_T -{ -public: - /// Constuctor - explicit TAO_Notify_Refcountable_Guard_T (T* t = 0); - - /// Copy constructor - TAO_Notify_Refcountable_Guard_T (const TAO_Notify_Refcountable_Guard_T& rhs); - - /// Destructor - ~TAO_Notify_Refcountable_Guard_T (); - - /// Redirection operator - T* get (void) const; - - /// Boolean test - bool isSet (void) const; - - /// Redirection operator - T* operator -> (void) const; - - /// Dereference operator - T& operator * () const; - - /// Reassignment - void reset (T* t = 0); - - // There is no logical release. Release could return an invalid object. - - /// Assignment - TAO_Notify_Refcountable_Guard_T& operator = ( - const TAO_Notify_Refcountable_Guard_T& rhs); - -private: - void swap( TAO_Notify_Refcountable_Guard_T& rhs ); - - T* t_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Refcountable_Guard_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Refcountable_Guard_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Refcountable_Guard_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_REFCOUNTABLE_GUARD_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl deleted file mode 100644 index 4ab55e0b75f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl +++ /dev/null @@ -1,91 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/Log_Msg.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE -TAO_Notify_Refcountable_Guard_T::TAO_Notify_Refcountable_Guard_T (T *t) - : t_ (t) -{ - if ( this->t_ != static_cast< T* >( 0 ) ) this->t_->_incr_refcnt(); -} - -template ACE_INLINE -TAO_Notify_Refcountable_Guard_T::TAO_Notify_Refcountable_Guard_T (const TAO_Notify_Refcountable_Guard_T &rhs) - : t_ (rhs.t_) -{ - if ( this->t_ != static_cast< T* >( 0 ) ) this->t_->_incr_refcnt(); -} - -template ACE_INLINE -TAO_Notify_Refcountable_Guard_T::~TAO_Notify_Refcountable_Guard_T () -{ - if ( this->t_ != static_cast< T* >( 0 ) ) this->t_->_decr_refcnt(); -} - -template ACE_INLINE -T* -TAO_Notify_Refcountable_Guard_T::get (void) const -{ - return this->t_; -} - -template ACE_INLINE -bool -TAO_Notify_Refcountable_Guard_T::isSet (void) const -{ - return ( this->t_ != static_cast< T* >( 0 ) ); -} - - -template ACE_INLINE -T* -TAO_Notify_Refcountable_Guard_T::operator-> (void) const -{ - ACE_ASSERT ( this->t_ != static_cast< T* >( 0 ) ); - return this->t_; -} - -template ACE_INLINE -T& -TAO_Notify_Refcountable_Guard_T::operator* (void) const -{ - ACE_ASSERT ( this->t_ != static_cast< T* >( 0 ) ); - return *this->t_; -} - -template ACE_INLINE -TAO_Notify_Refcountable_Guard_T & -TAO_Notify_Refcountable_Guard_T::operator = ( - const TAO_Notify_Refcountable_Guard_T & rhs) -{ - reset( rhs.t_ ); - return *this; -} - - -template ACE_INLINE -void -TAO_Notify_Refcountable_Guard_T::reset (T* t) -{ - if (this->t_ != t) - { - TAO_Notify_Refcountable_Guard_T temp( t ); - swap( temp ); - } -} - -template ACE_INLINE -void -TAO_Notify_Refcountable_Guard_T::swap( - TAO_Notify_Refcountable_Guard_T& rhs ) -{ - T* temp = this->t_; - this->t_ = rhs.t_; - rhs.t_ = temp; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp deleted file mode 100644 index eb101ef2105..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp +++ /dev/null @@ -1,933 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Routing_Slip.h" - -#include "orbsvcs/Notify/Delivery_Request.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/ProxyConsumer.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/Event_Persistence_Strategy.h" -#include "orbsvcs/Notify/Routing_Slip_Persistence_Manager.h" -#include "orbsvcs/Notify/Routing_Slip_Queue.h" -#include "orbsvcs/Notify/Method_Request_Lookup.h" -#include "orbsvcs/Notify/Method_Request_Dispatch.h" - -#include "tao/debug.h" -#include "tao/corba.h" - -#include "ace/Dynamic_Service.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -#define QUEUE_ALLOWED 1 - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ -/////////////////////// -// Routing_Slip Statics - -Routing_Slip_Queue Routing_Slip::persistent_queue_(QUEUE_ALLOWED); - -TAO_SYNCH_MUTEX Routing_Slip::sequence_lock_; -int Routing_Slip::routing_slip_sequence_= 0; -size_t Routing_Slip::count_enter_transient_ = 0; -size_t Routing_Slip::count_continue_transient_ = 0; -size_t Routing_Slip::count_enter_reloaded_ = 0; -size_t Routing_Slip::count_enter_new_ = 0; -size_t Routing_Slip::count_continue_new_ = 0; -size_t Routing_Slip::count_enter_complete_while_new_ = 0; -size_t Routing_Slip::count_enter_saving_ = 0; -size_t Routing_Slip::count_enter_saved_ = 0; -size_t Routing_Slip::count_enter_updating_ = 0; -size_t Routing_Slip::count_enter_changed_while_saving_ = 0; -size_t Routing_Slip::count_continue_changed_while_saving_ = 0; -size_t Routing_Slip::count_enter_changed_ = 0; -size_t Routing_Slip::count_continue_changed_ = 0; -size_t Routing_Slip::count_enter_complete_ = 0; -size_t Routing_Slip::count_enter_deleting_ = 0; -size_t Routing_Slip::count_enter_terminal_ = 0; - -Routing_Slip_Ptr -Routing_Slip::create (const TAO_Notify_Event::Ptr& event ACE_ENV_ARG_DECL) -{ - Routing_Slip * prs; - ACE_NEW_THROW_EX (prs, Routing_Slip (event), CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (Routing_Slip_Ptr()); - Routing_Slip_Ptr result(prs); - result->this_ptr_ = result; // let the pointers touch so they use the same ref count - - // note we don't care about ultra-precise stats, so no guard for these - if (DEBUG_LEVEL > 8 && ((result->sequence_ % 100) == 0)) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Routing_Slip_Statistics\n") - ACE_TEXT (" enter_transient \t%d\n") - ACE_TEXT (" continue_transient \t%d\n") - ACE_TEXT (" enter_reloaded \t%d\n") - ACE_TEXT (" enter_new \t%d\n") - ACE_TEXT (" continue_new \t%d\n") - ACE_TEXT (" enter_complete_while_new \t%d\n") - ACE_TEXT (" enter_saving \t%d\n") - ACE_TEXT (" enter_saved \t%d\n") - ACE_TEXT (" enter_updating \t%d\n") - ACE_TEXT (" enter_changed_while_saving \t%d\n") - ACE_TEXT (" continue_changed_while_saving\t%d\n") - ACE_TEXT (" enter_changed \t%d\n") - ACE_TEXT (" continue_changed \t%d\n") - ACE_TEXT (" enter_complete \t%d\n") - ACE_TEXT (" enter_deleting \t%d\n") - ACE_TEXT (" enter_terminal \t%d\n") - , static_cast (count_enter_transient_) - , static_cast (count_continue_transient_) - , static_cast (count_enter_reloaded_) - , static_cast (count_enter_new_) - , static_cast (count_continue_new_) - , static_cast (count_enter_complete_while_new_) - , static_cast (count_enter_saving_) - , static_cast (count_enter_saved_) - , static_cast (count_enter_updating_) - , static_cast (count_enter_changed_while_saving_) - , static_cast (count_continue_changed_while_saving_) - , static_cast (count_enter_changed_) - , static_cast (count_continue_changed_) - , static_cast (count_enter_complete_) - , static_cast (count_enter_deleting_) - , static_cast (count_enter_terminal_) - )); - } - return result; -} - -// static -Routing_Slip_Ptr -Routing_Slip::create ( - TAO_Notify_EventChannelFactory & ecf, - Routing_Slip_Persistence_Manager * rspm) -{ - Routing_Slip_Ptr result; - ACE_Message_Block * event_mb = 0; - ACE_Message_Block * rs_mb = 0; - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - if (rspm->reload (event_mb, rs_mb)) - { - TAO_InputCDR cdr_event (event_mb); - TAO_Notify_Event::Ptr event (TAO_Notify_Event::unmarshal (cdr_event)); - if (event.isSet()) - { - result = create (event ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - TAO_InputCDR cdr_rs (rs_mb); - if ( result->unmarshal (ecf, cdr_rs)) - { - result->set_rspm (rspm); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Routing_Slip::create: Unmarshalling failed for routing slip.\n") - )); - result.reset (); - } - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Routing_Slip::create: Unmarshalling failed for event.\n") - )); - } - } - } - ACE_CATCHANY - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Routing_Slip::create: Exception reloading event.\n") - )); - } - ACE_ENDTRY; - delete event_mb; - delete rs_mb; - - return result; -} - -void -Routing_Slip::set_rspm (Routing_Slip_Persistence_Manager * rspm) -{ - this->rspm_ = rspm; - if (rspm_ != 0) - { - rspm->set_callback (this); - } -} - -Routing_Slip::Routing_Slip( - const TAO_Notify_Event::Ptr& event) - : is_safe_ (false) - , until_safe_ (internals_) - , this_ptr_ (0) - , event_(event) - , state_ (rssCREATING) - , complete_requests_ (0) - , rspm_ (0) -{ - Routing_Slip_Guard guard (sequence_lock_); - this->sequence_ = ++routing_slip_sequence_; - if (DEBUG_LEVEL > 1) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: constructor\n"), - this->sequence_ - )); -} - -Routing_Slip::~Routing_Slip () -{ - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: destructor\n"), - this->sequence_ - )); -} - -bool -Routing_Slip::create_persistence_manager() -{ - if (this->rspm_ == 0) - { - Event_Persistence_Strategy * strategy = - ACE_Dynamic_Service ::instance ("Event_Persistence"); - if (strategy != 0) - { - Event_Persistence_Factory * factory = strategy->get_factory (); - if (factory != 0) - { - set_rspm (factory->create_routing_slip_persistence_manager(this)); - } - } - } - return this->rspm_ != 0; -} - -const TAO_Notify_Event::Ptr & -Routing_Slip::event () const -{ - return this->event_; -} - -void -Routing_Slip::wait_persist () -{ - Routing_Slip_Guard guard (this->internals_); - while (!this->is_safe_) - { - this->until_safe_.wait (); - } -} - -void -Routing_Slip::route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel ACE_ENV_ARG_DECL) -{ - ACE_ASSERT(pc != 0); - - TAO_Notify_ProxyConsumer::Ptr pcgrd(pc); - - Routing_Slip_Guard guard (this->internals_); - - size_t request_id = delivery_requests_.size (); - - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: add Delivery_Request #%d: lookup, completed %d of %d\n"), - this->sequence_, - static_cast (request_id), - static_cast (this->complete_requests_), - static_cast (this->delivery_requests_.size ()) - )); - - Delivery_Request_Ptr request (new Delivery_Request (this->this_ptr_, request_id)); - this->delivery_requests_.push_back (request); - TAO_Notify_Method_Request_Lookup_Queueable method (request, pc); - - if (this->state_ == rssCREATING) - { - if (! reliable_channel) - { - enter_state_transient (guard); - } - else if (ACE_Dynamic_Service ::instance ("Event_Persistence") == 0) - { - enter_state_transient (guard); - } - else if (! this->event_->reliable().is_valid()) - { - enter_state_new (guard); - } - else if (this->event_->reliable().value() == CosNotification::Persistent) - { - enter_state_new (guard); - } - else - { - enter_state_transient (guard); - } - } - guard.release (); - pc->execute_task (method ACE_ENV_ARG_PARAMETER); -} -#if 0 // forward -void -Routing_Slip::forward (TAO_Notify_ProxySupplier* ps, bool filter) -{ - // must be the first action - ACE_ASSERT (this->state_ == rssCREATING); - - TAO_Notify_ProxySupplier::Ptr psgrd(ps); - Routing_Slip_Guard guard (this->internals_); - - enter_state_transient (guard); - size_t request_id = delivery_requests_.size (); - - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: add Delivery_Request #%d: Forward %s; completed %d of %d\n"), - this->sequence_, - static_cast (request_id), - filter ? ACE_TEXT ("Filter") : ACE_TEXT ("No Filter"), - static_cast (this->complete_requests_), - static_cast (this->delivery_requests_.size ()) - )); - - Delivery_Request_Ptr request (new Delivery_Request (this->this_ptr_, request_id)); - if (! ps->has_shutdown() ) - { - this->delivery_requests_.push_back (request); -// Delivery_Method_Dispatch method (request, ps, filter); - TAO_Notify_Method_Request_Dispatch_No_Copy method (request, ps, filter); - guard.release (); - if (DEBUG_LEVEL > 8) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Routing Slip #%d: dispatching Delivery_Request %d to " - "proxy supplier %d\n", - this->sequence_, - static_cast (request_id), - ps->id())); - ps->worker_task()->execute (method); - } - else - { - if (DEBUG_LEVEL > 5) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Routing Slip #%d: not dispatching Delivery_Request %d to " - "proxy supplier %d; already shut down\n", - this->sequence_, - static_cast (request_id), - ps->id())); - } -} -#endif // forward - -void -Routing_Slip::dispatch ( - TAO_Notify_ProxySupplier* ps, - bool filter - ACE_ENV_ARG_DECL) -{ - // cannot be the first action - ACE_ASSERT (this->state_ != rssCREATING); - - TAO_Notify_ProxySupplier::Ptr psgrd(ps); - Routing_Slip_Guard guard (this->internals_); - - size_t request_id = delivery_requests_.size (); - - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: add Delivery_Request #%d: Dispatch %s; completed %d of %d\n"), - this->sequence_, - static_cast (request_id), - filter ? ACE_TEXT ("Filter") : ACE_TEXT ("No Filter"), - static_cast (this->complete_requests_), - static_cast (this->delivery_requests_.size ()) - )); - - Delivery_Request_Ptr request (new Delivery_Request (this->this_ptr_, request_id)); - if (! ps->has_shutdown() ) - { - this->delivery_requests_.push_back (request); - TAO_Notify_Method_Request_Dispatch_No_Copy method (request, ps, filter); - guard.release (); - if (DEBUG_LEVEL > 8) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Routing Slip #%d: dispatching Delivery_Request %d to " - "proxy supplier %d\n", - this->sequence_, - static_cast (request_id), - ps->id())); - ps->execute_task (method ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - if (DEBUG_LEVEL > 5) - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Routing Slip #%d: not dispatching Delivery_Request %d to " - "proxy supplier %d; already shut down\n", - this->sequence_, - static_cast (request_id), - ps->id())); - } -} - -////////// -// signals - -void -Routing_Slip::delivery_request_complete (size_t request_id) -{ - Routing_Slip_Guard guard (this->internals_); - ACE_ASSERT (request_id < this->delivery_requests_.size ()); - // reset the pointer to allow the delivery_request to be deleted. - this->delivery_requests_[request_id].reset (); - this->complete_requests_ += 1; - - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: delivery_request_complete #%d: completed %d of %d\n"), - this->sequence_, - static_cast (request_id), - static_cast (this->complete_requests_), - static_cast (this->delivery_requests_.size ()) - )); - State state = this->state_; - switch (state) - { - case rssTRANSIENT: - { - continue_state_transient (guard); - break; - } - case rssNEW: - { - continue_state_new (guard); - break; - } - case rssSAVING: - { - enter_state_changed_while_saving (guard); - break; - } - case rssUPDATING: - { - enter_state_changed_while_saving (guard); - break; - } - case rssSAVED: - { - enter_state_changed (guard); - break; - } - case rssCHANGED_WHILE_SAVING: - { - continue_state_changed_while_saving (guard); - break; - } - case rssCHANGED: - { - continue_state_changed (guard); - break; - } - default: - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Notification Service Routing Slip: Unexpected delivery_request_complete in state %d\n"), - static_cast (this->state_) - )); - break; - } - } -} - -void -Routing_Slip::at_front_of_persist_queue () -{ - Routing_Slip_Guard guard (this->internals_); - State state = this->state_; - switch (state) - { - case rssNEW: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: NEW Reached front of queue\n"), - this->sequence_ - )); - enter_state_saving (guard); - break; - } - case rssCOMPLETE_WHILE_NEW: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: COMPLETE_WHILE_NEW Reached front of queue\n"), - this->sequence_ - )); - this->persistent_queue_.complete (); - enter_state_terminal (guard); - break; - } - case rssCHANGED: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: CHANGED Reached front of queue\n"), - this->sequence_ - )); - enter_state_updating (guard); - break; - } - case rssCOMPLETE: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: COMPLETE Reached front of queue\n"), - this->sequence_ - )); - enter_state_deleting (guard); - break; - } - default: - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Routing Slip %d: Unexpected at_front_of_persist_queue in state %d\n"), - this->sequence_, - static_cast (this->state_) - )); - break; - } - } -} - -void -Routing_Slip::persist_complete () -{ - // keep this object around til this method returns. - Routing_Slip_Ptr me(this->this_ptr_); - Routing_Slip_Guard guard (this->internals_); - ACE_ASSERT (guard.locked ()); - - // allow the ConsumerProxy to return from the CORBA push call. - if (! is_safe_) - { - is_safe_ = true; - this->until_safe_.signal (); - } - - State state = this->state_; - switch (state) - { - case rssSAVING: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: SAVING persist complete\n"), - this->sequence_ - )); - enter_state_saved(guard); - break; - } - case rssCHANGED_WHILE_SAVING: - { - enter_state_changed (guard); - break; - } - case rssUPDATING: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: UPDATING persist complete\n"), - this->sequence_ - )); - enter_state_saved (guard); - break; - } - case rssDELETING: - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: DELETING persist complete\n"), - this->sequence_ - )); - enter_state_terminal (guard); - break; - } - default: - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Notification Service Routing Slip: Unexpected transition in state %d\n"), - static_cast (this->state_) - )); - break; - } - } - this->persistent_queue_.complete (); -} - -////////////////// -// support methods - -bool -Routing_Slip::all_deliveries_complete () const -{ - return this->complete_requests_ == this->delivery_requests_.size (); -} - -void -Routing_Slip::add_to_persist_queue(Routing_Slip_Guard & guard) -{ - guard.release (); - this->persistent_queue_.add (this->this_ptr_); - guard.acquire (); // necessary? -} - -//////////////////// -// State transitions - -void -Routing_Slip::enter_state_new (Routing_Slip_Guard & guard) -{ - ++count_enter_new_; - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state NEW\n"), - this->sequence_ - )); - this->state_ = rssNEW; - add_to_persist_queue(guard); -} - -void -Routing_Slip::continue_state_new (Routing_Slip_Guard & guard) -{ - ++count_continue_new_; - if (all_deliveries_complete ()) - { - this->enter_state_complete_while_new (guard); - } -} -void -Routing_Slip::enter_state_complete_while_new (Routing_Slip_Guard & guard) -{ - ++count_enter_complete_while_new_; - ACE_UNUSED_ARG (guard); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state COMPLETE_WHILE_NEW\n"), - this->sequence_ - )); - // allow the ConsumerProxy to return from the CORBA push call. - if (! is_safe_) - { - is_safe_ = true; - this->until_safe_.signal (); - } - this->state_ = rssCOMPLETE_WHILE_NEW; -} - -void -Routing_Slip::enter_state_reloaded (Routing_Slip_Guard & guard) -{ - ++count_enter_reloaded_; - ACE_UNUSED_ARG (guard); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #&d: enter state RELOADED\n"), - this->sequence_ - )); - this->state_ = rssRELOADED; -} - -void -Routing_Slip::enter_state_transient (Routing_Slip_Guard & guard) -{ - ++count_enter_transient_; - ACE_UNUSED_ARG (guard); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state TRANSIENT\n"), - this->sequence_ - )); - this->state_ = rssTRANSIENT; - if (! is_safe_) - { - is_safe_ = true; - this->until_safe_.signal (); - } - if (all_deliveries_complete ()) - { - enter_state_terminal (guard); - } -} - -void -Routing_Slip::continue_state_transient (Routing_Slip_Guard & guard) -{ - ++count_continue_transient_; - if (all_deliveries_complete ()) - { - enter_state_terminal (guard); - } -} -void -Routing_Slip::enter_state_saving (Routing_Slip_Guard & guard) -{ - ++count_enter_saving_; - if (!create_persistence_manager ()) - { - // Note This should actually be a throw (out of memory) - // but we cheat and make this a transient event. - this->persistent_queue_.complete (); - enter_state_transient (guard); - } - else - { - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state SAVING\n"), - this->sequence_ - )); - this->state_ = rssSAVING; - - TAO_OutputCDR event_cdr; - this->event_->marshal (event_cdr); - - const ACE_Message_Block *event_mb = event_cdr.begin (); - TAO_OutputCDR rs_cdr; - marshal (rs_cdr); - const ACE_Message_Block *rs_mb = rs_cdr.begin (); - - guard.release (); - this->rspm_->store (*event_mb, *rs_mb); - - guard.acquire (); // necessary? - } -} - -void -Routing_Slip::enter_state_saved (Routing_Slip_Guard & guard) -{ - ++count_enter_saved_; - ACE_UNUSED_ARG (guard); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state SAVED\n"), - this->sequence_ - )); - this->state_ = rssSAVED; -} - -void -Routing_Slip::enter_state_updating (Routing_Slip_Guard & guard) -{ - ++count_enter_updating_; - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state UPDATING\n"), - this->sequence_ - )); - this->state_ = rssUPDATING; - - TAO_OutputCDR rs_cdr; - marshal (rs_cdr); - const ACE_Message_Block *rs_mb = rs_cdr.begin (); - guard.release (); - - ACE_ASSERT (this->rspm_ != 0); - this->rspm_->update (*rs_mb); - guard.acquire (); // necessary? -} - - -void -Routing_Slip::enter_state_changed_while_saving (Routing_Slip_Guard & guard) -{ - ++count_enter_changed_while_saving_; - ACE_UNUSED_ARG (guard); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state CHANGED_WHILE_SAVING\n"), - this->sequence_ - )); - this->state_ = rssCHANGED_WHILE_SAVING; -} - -void -Routing_Slip::continue_state_changed_while_saving (Routing_Slip_Guard & guard) -{ - ACE_UNUSED_ARG (guard); - // no action necessary -} - -void -Routing_Slip::enter_state_changed (Routing_Slip_Guard & guard) -{ - ++count_enter_changed_; - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state CHANGED\n"), - this->sequence_ - )); - // complete state change BEFORE initiating request to avoid - // race condition if request finishes before state is stable. - this->state_ = rssCHANGED; - if (all_deliveries_complete ()) - { - enter_state_complete (guard); - } - add_to_persist_queue (guard); -} - -void -Routing_Slip::continue_state_changed (Routing_Slip_Guard & guard) -{ - ++count_continue_changed_; - if (all_deliveries_complete ()) - { - enter_state_complete (guard); - } -} - -void -Routing_Slip::enter_state_complete (Routing_Slip_Guard & guard) -{ - ++count_enter_complete_; - ACE_UNUSED_ARG (guard); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state COMPLETE\n"), - this->sequence_ - )); - this->state_ = rssCOMPLETE; -} - -void -Routing_Slip::enter_state_deleting (Routing_Slip_Guard & guard) -{ - ++count_enter_deleting_; - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state DELETING\n"), - this->sequence_ - )); - this->state_ = rssDELETING; - guard.release (); - this->rspm_->remove (); - guard.acquire (); // necessary? -} - -void -Routing_Slip::enter_state_terminal (Routing_Slip_Guard & guard) -{ - ++count_enter_terminal_; - ACE_UNUSED_ARG (guard); - ACE_ASSERT( this->is_safe_); - if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Routing Slip #%d: enter state TERMINAL\n"), - this->sequence_ - )); - this->state_ = rssTERMINAL; - this->this_ptr_.reset (); -} - -void -Routing_Slip::marshal (TAO_OutputCDR & cdr) -{ - size_t request_count = this->delivery_requests_.size(); - cdr.write_ulong (request_count - this->complete_requests_); - for (size_t nreq = 0; nreq < request_count; ++nreq) - { - Delivery_Request * request = this->delivery_requests_[nreq].get (); - if (request != 0) - { - request->marshal (cdr); - } - } -} - -bool -Routing_Slip::unmarshal (TAO_Notify_EventChannelFactory &ecf, TAO_InputCDR & cdr) -{ - CORBA::ULong count = 0; - cdr.read_ulong (count); - for (size_t nreq = 0; nreq < count; ++nreq) - { - ACE_CDR::Octet code = 0; - while (cdr.read_octet(code)) - { - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - if (code == TAO_Notify_Method_Request_Dispatch::persistence_code) - { - Delivery_Request * prequest; - ACE_NEW_THROW_EX ( - prequest, - Delivery_Request(this_ptr_, this->delivery_requests_.size ()), - CORBA::NO_MEMORY ()); - ACE_TRY_CHECK; - Delivery_Request_Ptr request(prequest); - TAO_Notify_Method_Request_Dispatch_Queueable * method = - TAO_Notify_Method_Request_Dispatch::unmarshal ( - request, - ecf, - cdr - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (method != 0) - { - this->delivery_requests_.push_back (request); - this->delivery_methods_.push_back (method); - } - } - else if (code == TAO_Notify_Method_Request_Lookup::persistence_code) - { - Delivery_Request_Ptr request(new Delivery_Request(this_ptr_, this->delivery_requests_.size ())); - TAO_Notify_Method_Request_Lookup_Queueable * method = - TAO_Notify_Method_Request_Lookup::unmarshal ( - request, - ecf, - cdr - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK - if (method != 0) - { - this->delivery_requests_.push_back (request); - this->delivery_methods_.push_back (method); - } - } - } - ACE_CATCHANY; - { - // @@todo should we log this? - // just ignore failures - } - ACE_ENDTRY; - } - } - return this->delivery_requests_.size () > 0; -} - -void -Routing_Slip::reconnect (ACE_ENV_SINGLE_ARG_DECL) -{ - Routing_Slip_Guard guard (this->internals_); - enter_state_saved (guard); - guard.release (); - //@@todo is there a worker_task available to do this? - size_t count = this->delivery_methods_.size (); - for (size_t nmethod = 0; nmethod < count; ++nmethod) - { - this->delivery_methods_[nmethod]->execute (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - this->delivery_methods_.clear (); -} - -int -Routing_Slip::sequence() const -{ - return this->sequence_; -} - -bool -Routing_Slip::should_retry () const -{ - // simple minded test: if it's transient, don't retry it - // @@todo Eventually this should check timeout, discard policy, etc. - return this->state_ != rssTRANSIENT; -} - -} // namespace - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h deleted file mode 100644 index 5670dfc1d05..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h +++ /dev/null @@ -1,242 +0,0 @@ -// -*- C++ -*- - -/** - * @file Routing_Slip.h - * - * $Id$ - * - * @author Dale Wilson - */ - -#ifndef TAO_NOTIFY_ROUTING_SLIP_H -#define TAO_NOTIFY_ROUTING_SLIP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Delivery_Request.h" -#include "orbsvcs/Notify/Event_Persistence_Factory.h" - -#include "orbsvcs/Notify/Persistent_File_Allocator.h" // for Persistent_Callback - -#include -#include // necessary? - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations of classes/pointers/collections -// referenced from this header -class TAO_Notify_EventChannelFactory; -class TAO_Notify_Method_Request; -class TAO_Notify_ProxyConsumer; -class TAO_Notify_ProxySupplier; -class TAO_Notify_Method_Request_Queueable; - -namespace TAO_Notify -{ - -class Routing_Slip_Persistence_Manager; - -// Forward declarations of TAO_Notify classes/pointers/collections -// referenced from this header - -/// A vector of Delivery Requests. The body of a Routing_Slip. -typedef ACE_Vector Delivery_Request_Vec; - -/// A vector of Methods_. Used during recovery. -typedef ACE_Vector Delivery_Method_Vec; - -class Routing_Slip; -/// A reference-counted smart pointer to a Routing_Slip -typedef ACE_Strong_Bound_Ptr Routing_Slip_Ptr; - -class Routing_Slip_Persistence_Manager; - -class Routing_Slip_Queue; - -/** - * \brief Class which manages the delivery of events to destination. - * - * Interacts with persistent storage to provide reliable delivery. - */ -class TAO_Notify_Serv_Export Routing_Slip : public Persistent_Callback -{ - typedef ACE_Guard< TAO_SYNCH_MUTEX > Routing_Slip_Guard; -public: - /// "Factory" method for normal use. - static Routing_Slip_Ptr create (const TAO_Notify_Event::Ptr& event - ACE_ENV_ARG_DECL); - - /// "Factory" method for use during reload from persistent storage. - static Routing_Slip_Ptr create ( - TAO_Notify_EventChannelFactory & ecf, - Routing_Slip_Persistence_Manager * rspm); - - void set_rspm (Routing_Slip_Persistence_Manager * rspm); - - void reconnect (ACE_ENV_SINGLE_ARG_DECL); - - /// destructor (should be private but that inspires compiler wars) - virtual ~Routing_Slip (); - - ////////////////// - // Action requests - - /// Route this event to destinations - /// must be the Action request after - /// the routing slip is created. - void route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel ACE_ENV_ARG_DECL); - - /// \brief Schedule delivery to a consumer via a proxy supplier - /// \param proxy_supplier the proxy supplier that will deliver the event - /// \param filter should consumer-based filtering be applied? - void dispatch (TAO_Notify_ProxySupplier * proxy_supplier, bool filter ACE_ENV_ARG_DECL); - - - ///////////////////////////////////////// - /// \brief Wait until the event/routing_slip has - /// been saved at least once. - void wait_persist (); - - ///////////////////////////////////// - // signals from the rest of the world - - /// \brief A delivery request has been satisfied. - void delivery_request_complete (size_t request_id); - - /// \brief This Routing_Slip reached the front of the persistence queue - void at_front_of_persist_queue (); - - /// \brief The persistent storage has completed the last request. - virtual void persist_complete (); - - ///////////////////////////////////////////////////// - // \brief Access the event associated with this routing slip - const TAO_Notify_Event::Ptr & event () const; - - /// \brief Provide an identifying number for this Routing Slip - /// to use in debug messages. - int sequence() const; - - /// \brief Should delivery of this event be retried if it fails? - bool should_retry () const; - -private: - //////////////////// - // state transitions - void enter_state_transient (Routing_Slip_Guard & guard); - void continue_state_transient (Routing_Slip_Guard & guard); - void enter_state_reloaded (Routing_Slip_Guard & guard); - void enter_state_new (Routing_Slip_Guard & guard); - void continue_state_new (Routing_Slip_Guard & guard); - void enter_state_complete_while_new (Routing_Slip_Guard & guard); - void enter_state_saving (Routing_Slip_Guard & guard); - void enter_state_saved (Routing_Slip_Guard & guard); - void enter_state_updating (Routing_Slip_Guard & guard); - void enter_state_changed_while_saving (Routing_Slip_Guard & guard); - void continue_state_changed_while_saving (Routing_Slip_Guard & guard); - void enter_state_changed (Routing_Slip_Guard & guard); - void continue_state_changed (Routing_Slip_Guard & guard); - void enter_state_complete (Routing_Slip_Guard & guard); - void enter_state_deleting (Routing_Slip_Guard & guard); - void enter_state_terminal (Routing_Slip_Guard & guard); - -private: - bool create_persistence_manager(); - - /// Private constructor for use by create method - Routing_Slip(const TAO_Notify_Event::Ptr& event); - - /// Test to see if all deliveries are complete. - bool all_deliveries_complete () const; - - /// This routing_slip needs to be saved. - void add_to_persist_queue(Routing_Slip_Guard & guard); - - /// Marshal into a CDR - void marshal (TAO_OutputCDR & cdr); - - /// Marshal from CDR - bool unmarshal (TAO_Notify_EventChannelFactory &ecf, TAO_InputCDR & rscdr); - -private: - /// Protection for internal information - TAO_SYNCH_MUTEX internals_; - /// true when event persistence qos is guaranteed - bool is_safe_; - /// signalled when is_safe_ goes true - ACE_SYNCH_CONDITION until_safe_; - - /// Smart pointer to this object - /// Provides continuity between smart pointers and "Routing_Slip::this" - /// Also lets the Routing_Slip manage its own minimum lifetime. - Routing_Slip_Ptr this_ptr_; - - // The event being delivered. - TAO_Notify_Event::Ptr event_; - - /// A mini-state machine to control persistence - /// See external doc for circles and arrows. - enum State - { - rssCREATING, - rssTRANSIENT, - rssRELOADED, - rssNEW, - rssCOMPLETE_WHILE_NEW, - rssSAVING, - rssSAVED, - rssUPDATING, - rssCHANGED_WHILE_SAVING, - rssCHANGED, - rssCOMPLETE, - rssDELETING, - rssTERMINAL - } state_; - - /// A collection of delivery requests - Delivery_Request_Vec delivery_requests_; - - /// Methods that should be restarted during event recovery - Delivery_Method_Vec delivery_methods_; - - /// How many delivery requests are complete - size_t complete_requests_; - - /// Pointer to a Routing_Slip_Persistence_Manager - Routing_Slip_Persistence_Manager * rspm_; - - int sequence_; - - static TAO_SYNCH_MUTEX sequence_lock_; - static int routing_slip_sequence_; - static size_t count_enter_transient_; - static size_t count_continue_transient_; - static size_t count_enter_reloaded_; - static size_t count_enter_new_; - static size_t count_continue_new_; - static size_t count_enter_complete_while_new_; - static size_t count_enter_saving_; - static size_t count_enter_saved_; - static size_t count_enter_updating_; - static size_t count_enter_changed_while_saving_; - static size_t count_continue_changed_while_saving_; - static size_t count_enter_changed_; - static size_t count_continue_changed_; - static size_t count_enter_complete_; - static size_t count_enter_deleting_; - static size_t count_enter_terminal_; - - static Routing_Slip_Queue persistent_queue_; -}; - -} // namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_NOTIFY_ROUTING_SLIP_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp deleted file mode 100644 index 62915a67221..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp +++ /dev/null @@ -1,804 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Routing_Slip_Persistence_Manager.h" -#include "orbsvcs/Notify/Standard_Event_Persistence.h" -#include "orbsvcs/Notify/Persistent_File_Allocator.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -Routing_Slip_Persistence_Manager::Routing_Slip_Persistence_Manager( - Standard_Event_Persistence_Factory* factory) - : removed_(false) - , serial_number_(0) - , allocator_(factory->allocator()) - , factory_(factory) - , first_event_block_(0) - , first_routing_slip_block_(0) - , callback_(0) - , event_mb_ (0) - , routing_slip_mb_(0) -{ - this->prev_manager_ = this; - this->next_manager_ = this; -} - -Routing_Slip_Persistence_Manager::~Routing_Slip_Persistence_Manager() -{ - ACE_ASSERT(this->prev_manager_ == this); - ACE_ASSERT(this->next_manager_ == this); - delete this->first_event_block_; - this->first_event_block_ = 0; - delete this->first_routing_slip_block_; - this->first_routing_slip_block_ = 0; - delete this->event_mb_; - this->event_mb_ = 0; - delete this->routing_slip_mb_; - this->routing_slip_mb_ = 0; -} - -void -Routing_Slip_Persistence_Manager::set_callback(Persistent_Callback* callback) -{ - ACE_GUARD(ACE_SYNCH_MUTEX, ace_mon, this->lock_); - this->callback_ = callback; -} - -bool -Routing_Slip_Persistence_Manager::store_root() -{ - bool result = false; - - this->factory_->get_preallocated_pointer ( - this->routing_slip_header_.next_serial_number, - this->routing_slip_header_.next_routing_slip_block); - - // we should already have a psb, but JIC - ACE_ASSERT(this->first_routing_slip_block_ != 0); - ACE_ASSERT(this->first_routing_slip_block_->block_number() == - ROUTING_SLIP_ROOT_BLOCK_NUMBER); - - // Don't take any chances. Use hard-wired root serial number. - this->routing_slip_header_.serial_number = ROUTING_SLIP_ROOT_SERIAL_NUMBER; - - // This will eventually break after something like 58000 years. - // At such time we should change this to !=. - ACE_ASSERT(this->routing_slip_header_.next_serial_number > - ROUTING_SLIP_ROOT_SERIAL_NUMBER); - - ACE_Message_Block versioninfo(2); - versioninfo.wr_ptr()[0] = 1; // Major version number - versioninfo.wr_ptr()[1] = 0; // Minor version number - versioninfo.wr_ptr(2); - ACE_GUARD_RETURN(ACE_SYNCH_MUTEX, ace_mon, this->lock_, result); - result = this->build_chain(this->first_routing_slip_block_, - this->routing_slip_header_, this->allocated_routing_slip_blocks_, - versioninfo); - if (result) - { - this->routing_slip_header_.put_header(*this->first_routing_slip_block_); - this->allocator_->write(this->first_routing_slip_block_); - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::reload( - ACE_Message_Block*& event, - ACE_Message_Block*& routing_slip) -{ - bool result = false; - if (this->event_mb_ != 0 && this->routing_slip_mb_ != 0) - { - event = this->event_mb_; - this->event_mb_ = 0; - routing_slip = this->routing_slip_mb_; - this->routing_slip_mb_ = 0; - result = true; - } - else - { - event = 0; - routing_slip = 0; - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::load( - Block_Number block_number, - Block_Serial_Number expected_serial_number) -{ - /** - * NOTE: There is no need to worry about guarding anything. We assume - * that there will be one and only one thread doing the entire - * reload process. - */ - bool result = false; - size_t block_size = this->allocator_->block_size(); - this->first_routing_slip_block_ = - this->allocator_->allocate_at(block_number); - this->first_routing_slip_block_->set_allocator_owns(false); - this->first_routing_slip_block_->set_sync(); - - this->serial_number_ = expected_serial_number; - - ACE_NEW_NORETURN(this->routing_slip_mb_, ACE_Message_Block(block_size)); - ACE_NEW_NORETURN(this->event_mb_, ACE_Message_Block(block_size)); - if (this->event_mb_ != 0 && this->routing_slip_mb_ != 0) - { - if (this->reload_chain( - this->first_routing_slip_block_, - this->routing_slip_header_, - this->allocated_routing_slip_blocks_, - this->routing_slip_mb_, - expected_serial_number)) - { - if (this->routing_slip_header_.event_block != 0) - { - this->first_event_block_ = this->allocator_->allocate_at( - this->routing_slip_header_.event_block); - result = this->reload_chain( - this->first_event_block_, - this->event_header_, - this->allocated_event_blocks_, - this->event_mb_, - 0); - } - else if (block_number == ROUTING_SLIP_ROOT_BLOCK_NUMBER) - { - // only the root can lack event - result = true; - } - else - { - ACE_ERROR((LM_ERROR, - ACE_TEXT( - "(%P|%t) Reloaded Persistent Event is missing event.\n") - )); - } - } - } - if (! result) - { - delete this->routing_slip_mb_; - this->routing_slip_mb_ = 0; - delete this->event_mb_; - this->event_mb_ = 0; - } - return result; -} - -Routing_Slip_Persistence_Manager * -Routing_Slip_Persistence_Manager::load_next () -{ - Routing_Slip_Persistence_Manager * result; - ACE_NEW_RETURN(result, Routing_Slip_Persistence_Manager (this->factory_), 0); - - if (result->load(this->routing_slip_header_.next_routing_slip_block, - this->routing_slip_header_.next_serial_number)) - { - result->dllist_push_back(); - } - else - { - // steal the psb for use as the next psb. - // delete the rspm. We'll create another one later. - Persistent_Storage_Block * next_psb = result->first_routing_slip_block_; - result->first_routing_slip_block_ = 0; -// next_psb->set_allocator_owns(true); - this->factory_->done_reloading ( - next_psb, - result->serial_number_); - delete result; - result = 0; - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::store(const ACE_Message_Block& event, - const ACE_Message_Block& routing_slip) -{ - bool result = false; - ACE_GUARD_RETURN(ACE_SYNCH_MUTEX, ace_mon, this->lock_, result); - if (!this->removed_) - { - result = store_i(event, routing_slip); - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::update(const ACE_Message_Block& routing_slip) -{ - bool result = false; - ACE_GUARD_RETURN(ACE_SYNCH_MUTEX, ace_mon, this->lock_, result); - // If we have not gotten the event yet or we have no allocator, fail - if (!this->removed_) - { - if (this->persisted()) - { - result = update_i(routing_slip); - } - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::remove() -{ - bool result = false; - ACE_GUARD_RETURN(ACE_SYNCH_MUTEX, ace_mon, this->lock_, result); - // Assert that this is in the dllist - ACE_ASSERT(this->prev_manager_ != this); - ACE_ASSERT(this->persisted()); - Routing_Slip_Persistence_Manager* prev = this->prev_manager_; - // Once our previous manager removes us, we can deallocate in any order - this->factory_->lock.acquire(); - this->remove_from_dllist(); - result = prev->update_next_manager(this); - this->factory_->lock.release(); - size_t block_number = 0; - if (this->first_routing_slip_block_ != 0) - { - this->allocator_->free(this->first_routing_slip_block_->block_number()); - delete this->first_routing_slip_block_; - this->first_routing_slip_block_ = 0; - } - if (this->first_event_block_ != 0) - { - this->allocator_->free(this->first_event_block_->block_number()); - delete this->first_event_block_; - this->first_event_block_ = 0; - } - while (this->allocated_routing_slip_blocks_.pop(block_number) == 0) - { - this->allocator_->free(block_number); - } - while (this->allocated_event_blocks_.pop(block_number) == 0) - { - this->allocator_->free(block_number); - } - this->removed_ = true; - Persistent_Storage_Block* callbackblock = - this->allocator_->allocate_nowrite(); - callbackblock->set_callback(this->callback_); - result &= this->allocator_->write(callbackblock); - return result; -} - -Routing_Slip_Persistence_Manager::Block_Header::Block_Header(Header_Type type) - : serial_number (0) - , next_overflow(0) - , header_type (static_cast (type)) - , data_size(0) -{ -} -Routing_Slip_Persistence_Manager::Block_Header::~Block_Header (void) -{ -} - -size_t -Routing_Slip_Persistence_Manager::Block_Header::extract_header( - Persistent_Storage_Block& psb, size_t offset) -{ - size_t pos = offset; - unsigned char* data = psb.data(); - - serial_number = data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - serial_number = (serial_number << 8) + data[pos++]; - - next_overflow = data[pos++]; - next_overflow = (next_overflow << 8) + data[pos++]; - next_overflow = (next_overflow << 8) + data[pos++]; - next_overflow = (next_overflow << 8) + data[pos++]; - - header_type = data[pos++]; - header_type = (data_size << 8) + data[pos++]; - - data_size = data[pos++]; - data_size = (data_size << 8) + data[pos++]; - return pos; -} - -size_t -Routing_Slip_Persistence_Manager::Block_Header::put_header( - Persistent_Storage_Block& psb, size_t offset) -{ - // Assume that our psb can hold our small amount of data... - size_t pos = offset; - unsigned char* data = psb.data(); - // Store serial_number - data[pos++] = static_cast ((serial_number >> 56) & 0xff); - data[pos++] = static_cast ((serial_number >> 48) & 0xff); - data[pos++] = static_cast ((serial_number >> 40) & 0xff); - data[pos++] = static_cast ((serial_number >> 32) & 0xff); - data[pos++] = static_cast ((serial_number >> 24) & 0xff); - data[pos++] = static_cast ((serial_number >> 16) & 0xff); - data[pos++] = static_cast ((serial_number >> 8) & 0xff); - data[pos++] = static_cast ((serial_number >> 0) & 0xff); - // Store next_overflow - data[pos++] = static_cast (next_overflow >> 24); - data[pos++] = static_cast ((next_overflow >> 16) & 0xff); - data[pos++] = static_cast ((next_overflow >> 8) & 0xff); - data[pos++] = static_cast (next_overflow & 0xff); - // Store header_type - data[pos++] = static_cast ((header_type >> 8) & 0xff); - data[pos++] = static_cast (header_type & 0xff); - // Store data_size - data[pos++] = static_cast ((data_size >> 8) & 0xff); - data[pos++] = static_cast (data_size & 0xff); - - return pos; -} - -Routing_Slip_Persistence_Manager::Routing_Slip_Header::Routing_Slip_Header() - : Block_Header (BT_Event) - , next_routing_slip_block(0) - , next_serial_number(0) - , event_block(0) -{ -} - -size_t -Routing_Slip_Persistence_Manager::Routing_Slip_Header::extract_header( - Persistent_Storage_Block& psb, size_t offset) -{ - size_t pos = offset; - pos = this->Block_Header::extract_header(psb, pos); - unsigned char* data = psb.data(); - next_routing_slip_block = data[pos++]; - next_routing_slip_block = (next_routing_slip_block << 8) + data[pos++]; - next_routing_slip_block = (next_routing_slip_block << 8) + data[pos++]; - next_routing_slip_block = (next_routing_slip_block << 8) + data[pos++]; - next_serial_number = data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - next_serial_number = (next_serial_number << 8) + data[pos++]; - event_block = data[pos++]; - event_block = (event_block << 8) + data[pos++]; - event_block = (event_block << 8) + data[pos++]; - event_block = (event_block << 8) + data[pos++]; - return pos; -} - -size_t -Routing_Slip_Persistence_Manager::Routing_Slip_Header::put_header( - Persistent_Storage_Block& psb, size_t offset) -{ - // Assume that our psb can hold our small amount of data... - size_t pos = offset; - // Store serial number, next_overflow and data_size - pos = this->Block_Header::put_header(psb, pos); - - unsigned char* data = psb.data(); - // Store next_routing_slip_block - data[pos++] = static_cast (next_routing_slip_block >> 24); - data[pos++] = static_cast ((next_routing_slip_block >> 16) & 0xff); - data[pos++] = static_cast ((next_routing_slip_block >> 8) & 0xff); - data[pos++] = static_cast (next_routing_slip_block & 0xff); - // Store serial_number - data[pos++] = static_cast ((next_serial_number >> 56) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 48) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 40) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 32) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 24) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 16) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 8) & 0xff); - data[pos++] = static_cast ((next_serial_number >> 0) & 0xff); - // Store event_block - data[pos++] = static_cast (event_block >> 24); - data[pos++] = static_cast ((event_block >> 16) & 0xff); - data[pos++] = static_cast ((event_block >> 8) & 0xff); - data[pos++] = static_cast (event_block & 0xff); - return pos; -} - -Routing_Slip_Persistence_Manager::Overflow_Header::Overflow_Header () - : Block_Header (BT_Overflow) -{ -} - -Routing_Slip_Persistence_Manager::Event_Header::Event_Header () - : Block_Header (BT_Routing_Slip) -{ -} - -bool -Routing_Slip_Persistence_Manager::store_i(const ACE_Message_Block& event, - const ACE_Message_Block& routing_slip) -{ - bool result = false; - - bool initially_persisted = this->persisted(); - if (!initially_persisted) - { - this->factory_->lock.acquire(); - this->factory_->preallocate_next_record(this->serial_number_, - this->first_routing_slip_block_, - this->routing_slip_header_.next_serial_number, - this->routing_slip_header_.next_routing_slip_block); - this->routing_slip_header_.serial_number = this->serial_number_; - } - - result = this->build_chain(this->first_routing_slip_block_, - this->routing_slip_header_, this->allocated_routing_slip_blocks_, - routing_slip); - - if (result) - { - // No need for a callback here since we do our own below - result &= this->store_event(event); - // If we have an event block allocated, update our header - if (this->first_event_block_ != 0) - { - this->routing_slip_header_.event_block = - this->first_event_block_->block_number(); - } - else - { - ACE_ERROR((LM_ERROR, - ACE_TEXT( - "(%P|%t) No Event is being stored with this routing slip.\n") - )); - } - // Always write our first block out. - this->dllist_push_back(); - result &= (this->write_first_routing_slip_block() != 0); - // because the first rs blocks everywhere have been given sync, we are - // guaranteed that they will be totally written by the time we get to this - // empty callback-only block. - Persistent_Storage_Block* callbackblock = - this->allocator_->allocate_nowrite(); - callbackblock->set_callback(this->callback_); - result &= this->allocator_->write(callbackblock); - } - if (!initially_persisted) - { - this->factory_->lock.release(); - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::update_i( - const ACE_Message_Block& routing_slip) -{ - bool result = true; - size_t routing_slip_size = routing_slip.total_length(); - if (routing_slip_size != 0) - { - result = this->build_chain(this->first_routing_slip_block_, - this->routing_slip_header_, this->allocated_routing_slip_blocks_, - routing_slip); - - result &= this->allocator_->write(this->first_routing_slip_block_); - } - Persistent_Storage_Block* callbackblock = - this->allocator_->allocate_nowrite(); - callbackblock->set_callback(this->callback_); - result &= this->allocator_->write(callbackblock); - return result; -} - -bool -Routing_Slip_Persistence_Manager::store_event( - const ACE_Message_Block& event) -{ - bool result = true; - size_t event_size = event.total_length(); - if (event_size != 0) - { - if (this->first_event_block_ == 0) - { - this->first_event_block_ = this->allocator_->allocate(); - this->first_event_block_->set_allocator_owns(false); - } - - result = this->build_chain(this->first_event_block_, - this->event_header_, this->allocated_event_blocks_, - event); - - result &= this->allocator_->write(this->first_event_block_); - } - return result; -} - -size_t -Routing_Slip_Persistence_Manager::fill_block(Persistent_Storage_Block& psb, - size_t offset_into_block, const ACE_Message_Block* data, - size_t offset_into_msg) -{ - unsigned char* ptr = (unsigned char*)data->rd_ptr(); - return this->fill_block(psb, offset_into_block, ptr + offset_into_msg, - data->length() - offset_into_msg); -} - -size_t -Routing_Slip_Persistence_Manager::fill_block(Persistent_Storage_Block& psb, - size_t offset_into_block, unsigned char* data, size_t data_size) -{ - size_t result = 0; - if (data_size > 0) - { - const size_t max_size = this->allocator_->block_size() - offset_into_block; - size_t size_to_copy = data_size; - if (size_to_copy > max_size) - { - size_to_copy = max_size; - result = data_size - size_to_copy; - } - else - { - result = 0; - } - ACE_OS::memcpy(psb.data() + offset_into_block, data, size_to_copy); - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::build_chain( - Persistent_Storage_Block* first_block, Block_Header& first_header, - ACE_Unbounded_Stack& allocated_blocks, - const ACE_Message_Block& data) -{ - size_t data_size = data.total_length(); - size_t remainder = data_size; - bool result = true; - // Save the number of items currently on the allocation list for - ACE_Unbounded_Stack blocks_to_free; - size_t block_number = 0; - - // reverse the order so when we pop, we free up things closer to block 0 - // first - while (allocated_blocks.pop(block_number) == 0) - { - blocks_to_free.push(block_number); - } - size_t pos = first_header.put_header( - *first_block); - const ACE_Message_Block* mblk = &data; - remainder = this->fill_block(*first_block, pos, mblk, 0); - while ((remainder == 0) && (mblk->cont() != 0)) - { - pos += mblk->length(); - mblk = mblk->cont(); - remainder = this->fill_block(*first_block, pos, mblk, 0); - } - first_header.data_size = - static_cast (data_size - remainder); - first_header.next_overflow = 0; - - Block_Header* prevhdr = &first_header; - Persistent_Storage_Block* prevblk = first_block; - - while (remainder > 0) - { - Overflow_Header* hdr = 0; - ACE_NEW_RETURN(hdr, Overflow_Header, result); - - Persistent_Storage_Block* curblk = this->allocator_->allocate(); - allocated_blocks.push(curblk->block_number()); - // Set the previous block's overflow "pointer" to us. - prevhdr->next_overflow = curblk->block_number(); - prevhdr->put_header(*prevblk); - pos = hdr->put_header(*curblk); - hdr->data_size = - static_cast (remainder); - - size_t offset_into_msg = mblk->length() - remainder; - remainder = this->fill_block(*curblk, pos, mblk, offset_into_msg); - while ((remainder == 0) && (mblk->cont() != 0)) - { - pos += mblk->length(); - mblk = mblk->cont(); - remainder = this->fill_block(*curblk, pos, mblk, 0); - } - - hdr->data_size = hdr->data_size - - static_cast (remainder); - if (prevblk != first_block) - { - // allocator obtains ownership, so write out and delete the header - // only. - result &= this->allocator_->write(prevblk); - delete prevhdr; - } - prevblk = curblk; - prevhdr = hdr; - } - if (prevblk != first_block) - { - prevhdr->put_header(*prevblk); - result &= this->allocator_->write(prevblk); - delete prevhdr; - } - pos = first_header.put_header( - *first_block); - // Free all but the first routing_slip_block - while (blocks_to_free.pop(block_number) == 0) - { - this->allocator_->free(block_number); - } - - return result; -} - -bool -Routing_Slip_Persistence_Manager::reload_chain( - Persistent_Storage_Block* first_block, Block_Header& first_header, - ACE_Unbounded_Stack& allocated_blocks, - ACE_Message_Block* amb, - ACE_UINT64 expected_serial_number - ) -{ - bool result = false; - size_t block_size = this->allocator_->block_size(); - if (this->allocator_->read(first_block)) - { - size_t pos = 0; - size_t nextptr = 0; - ACE_Message_Block* mbptr = amb; - ACE_Message_Block* mbnew = 0; - - pos = first_header.extract_header(*first_block); - if (first_header.serial_number == expected_serial_number) - { - // We have to copy the first block because we cache it. - ACE_OS::memcpy(mbptr->wr_ptr(), first_block->data(), - block_size); - mbptr->rd_ptr(pos); - mbptr->wr_ptr(pos + first_header.data_size); - nextptr = first_header.next_overflow; - while (nextptr != 0) - { - Overflow_Header overflow_header; - ACE_NEW_RETURN(mbnew, ACE_Message_Block(block_size), result); - mbptr->cont(mbnew); - Persistent_Storage_Block* psb = this->allocator_->allocate_at(nextptr); - mbptr = mbnew; - // Deallocate the PSB's data and reallocate it to our wr_ptr()... - psb->reassign_data(static_cast (static_cast (mbptr->wr_ptr())), true); - // ...read into the PSB (whose data is inside of the AMB)... - this->allocator_->read(psb); - allocated_blocks.push(psb->block_number()); - // ...extract all headers so we know the data's size... - pos = overflow_header.extract_header(*psb); - // ...set up the region that somebody else can look at... - mbptr->rd_ptr(pos); - mbptr->wr_ptr(pos + overflow_header.data_size); - // ...then make sure we don't delete data since we don't own it. - psb->reassign_data(0); - delete psb; - nextptr = overflow_header.next_overflow; - } - result = true; - } - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::update_next_manager( - Routing_Slip_Persistence_Manager* next) -{ - bool result = false; - ACE_GUARD_RETURN(ACE_SYNCH_MUTEX, ace_mon, this->lock_, result); - ACE_ASSERT(this->persisted()); - if (!this->removed_) - { - bool updated = false; - if (this->next_manager_ != 0) - { - if (this->routing_slip_header_.next_serial_number != - next->routing_slip_header_.next_serial_number) - { - this->routing_slip_header_.next_serial_number = - next->routing_slip_header_.next_serial_number; - updated = true; - } - if (this->routing_slip_header_.next_routing_slip_block != - next->routing_slip_header_.next_routing_slip_block) - { - this->routing_slip_header_.next_routing_slip_block = - next->routing_slip_header_.next_routing_slip_block; - updated = true; - } - } - if (updated) - { - this->write_first_routing_slip_block(); - } - } - return result; -} - -bool -Routing_Slip_Persistence_Manager::persisted() -{ - return (0 != this->first_routing_slip_block_); -} - -bool -Routing_Slip_Persistence_Manager::is_root () const -{ - return this->serial_number_ == ROUTING_SLIP_ROOT_SERIAL_NUMBER; -} - -void -Routing_Slip_Persistence_Manager::release_all () -{ - ACE_ASSERT(is_root()); - while (this->next_manager_ != this) - { - Routing_Slip_Persistence_Manager * next = this->next_manager_; - next->remove_from_dllist(); - ACE_ASSERT(next != this->next_manager_); - delete next; - } -} - -size_t -Routing_Slip_Persistence_Manager::write_first_routing_slip_block( - bool prepare_only) -{ - size_t pos = this->routing_slip_header_.put_header( - *this->first_routing_slip_block_); - if (!prepare_only) - { - this->allocator_->write(this->first_routing_slip_block_); - } - return pos; -} - -void -Routing_Slip_Persistence_Manager::dllist_push_back() -{ - insert_before (&this->factory_->root()); -} - -void -Routing_Slip_Persistence_Manager::insert_before (Routing_Slip_Persistence_Manager * node) -{ - // Since this is a private function, the caller should have done locking - // on the factory before calling here. The same is true for removals. - ACE_ASSERT(this->prev_manager_ == this); - ACE_ASSERT(this->next_manager_ == this); - ACE_ASSERT(node != this); - this->prev_manager_ = node->prev_manager_; - node->prev_manager_ = this; - this->next_manager_ = node; - this->prev_manager_->next_manager_ = this; -} - -void -Routing_Slip_Persistence_Manager::remove_from_dllist() -{ - // Since this is a private function, the caller should have done locking - // on the factory before calling here. The same is true for insertions. - ACE_ASSERT(this->persisted()); - ACE_ASSERT(this->prev_manager_ != this); - ACE_ASSERT(this->next_manager_ != this); - this->prev_manager_->next_manager_ = this->next_manager_; - this->next_manager_->prev_manager_ = this->prev_manager_; - this->prev_manager_ = this; - this->next_manager_ = this; -} - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h deleted file mode 100644 index 0704a315884..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h +++ /dev/null @@ -1,267 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Routing_Slip_Persistence_Manager.h - * - * $Id$ - * - * A Routing_Slip_Persistence manager controls the actual allocation of - * blocks through a Persistent_Storage_Allocator and can persist an - * event and its routing slip. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef ROUTING_SLIP_PERSISTENCE_MANAGER_H -#define ROUTING_SLIP_PERSISTENCE_MANAGER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" -#include "ace/Message_Block.h" -#include "ace/Synch_T.h" -#include "ace/Containers_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ -// Some forward declarations. -class Standard_Event_Persistence_Factory; -class Persistent_File_Allocator; -class Persistent_Storage_Block; -class Persistent_Callback; - -/** - * \brief Manage interaction between Routing_Slip and persistent storage. - * - * todo: to complete the strategization of event persistent storage this - * should become an interface that is implemented differently by different - * strategies. For now it interacts with Standard_Event_Persistence. - */ -class TAO_Notify_Serv_Export Routing_Slip_Persistence_Manager -{ -public: - /// A unique identifier for logical blocks in persistent storage. - typedef ACE_UINT64 Block_Serial_Number; - /// The physical address of a block in persistent storage. - typedef ACE_UINT32 Block_Number; - /// The size of a block in persistent storage. - typedef ACE_UINT16 Block_Size; - /// A code to indicate the type of block in persistent storage. - typedef ACE_UINT16 Block_Type; - - /// The constructor. - Routing_Slip_Persistence_Manager(Standard_Event_Persistence_Factory* factory); - - /// The destructor. - ~Routing_Slip_Persistence_Manager(); - - /// Set up callbacks - void set_callback(Persistent_Callback* callback); - - - /// Store an event + routing slip. - bool store(const ACE_Message_Block& event, - const ACE_Message_Block& routing_slip); - - /// \brief Update the routing slip. - /// - /// We must always overwrite the first block - /// last, and it may not chance. Other blocks should be freed and - /// reallocated. - bool update(const ACE_Message_Block& routing_slip); - - /// \brief Remove our associated event and routing slip from the - /// Persistent_File_Allocator. - bool remove(); - - ///////////////////////////////////////// - // Methods to be used during reload only. - - /// \brief Call this method to recover data during event reload. - /// - /// It should not fail under normal circumstances. - /// Caller owns the resulting message blocks and is responsible - /// for deleting them. - /// Reload the event and routing_slip from the Persistent_File_Allocator. - bool reload(ACE_Message_Block*& event, ACE_Message_Block*&routing_slip); - - /// \brief Get next RSPM during reload. - /// - /// After using the data from the reload method, call this - /// method to get the next RSPM. It returns a null pointer - /// when all persistent events have been reloaded. - Routing_Slip_Persistence_Manager * load_next (); - - ///////////////////////// - // Implementation methods. - // Should not be called by Routing_Slip - - /// \brief Commit root data to disk, which should only be done for a root node. - bool store_root(); - - /// \brief Reload data into this RSPM from the given block/serial# - /// - /// \return false if the reload is not successful. - bool load(Block_Number block_number, Block_Serial_Number expected_serial_number); - - /// \brief Is this RSPM attached to the root block? - bool is_root () const; - - /// \brief During cleanup for shut down, release all chained RSPMs. - void release_all (); - -private: - /** - * \brief private: Storage for header information of all persistent block. - */ - class Block_Header - { - public: - enum Header_Type { - BT_Routing_Slip, - BT_Event, - BT_Overflow - }; - - Block_Header(Header_Type type); - virtual ~Block_Header (void); - virtual size_t extract_header(Persistent_Storage_Block& psb, - size_t offset = 0); - virtual size_t put_header(Persistent_Storage_Block& psb, - size_t offset = 0); - - public: - /// Our serial number - Block_Serial_Number serial_number; - /// Address of the overflow record (if any) - Block_Number next_overflow; - /// How much extra header data is in this block (not including this header) - Block_Type header_type; - /// How much actual data is in this block? (not including headers) - Block_Size data_size; - }; - - /** - * \brief private: Storage for header information for Routing_Slip blocks. - */ - class Routing_Slip_Header : public Block_Header - { - public: - Routing_Slip_Header(); - virtual size_t extract_header(Persistent_Storage_Block& psb, - size_t offset = 0); - virtual size_t put_header(Persistent_Storage_Block& psb, - size_t offset = 0); - - public: - /// The next event in the system - Block_Number next_routing_slip_block; - /// The next expected serial number - Block_Serial_Number next_serial_number; - Block_Number event_block; - }; - - /// \brief An Event block header. - /// - /// is just a Block_Header with no extra data - class Event_Header : public Block_Header - { - public: - Event_Header (); - }; - - /// \brief An overflow block header. - /// - /// is just a Block_Header with no extra data - /// The same record type is used for both Routing_Slip - /// and Event overflows. - class Overflow_Header : public Block_Header - { - public: - Overflow_Header (); - }; - - bool store_i(const ACE_Message_Block& event, - const ACE_Message_Block& routing_slip); - - bool update_i(const ACE_Message_Block& routing_slip); - - bool store_event(const ACE_Message_Block& event); - - /// Fill in a block with data, and return the number of bytes - /// of data remaining to be written. - size_t fill_block(Persistent_Storage_Block& psb, - size_t offset_into_block, const ACE_Message_Block* data, - size_t offset_into_msg); - size_t fill_block(Persistent_Storage_Block& psb, - size_t offset_into_block, unsigned char* data, - size_t data_size); - - /// Build a chain of Persistent_Storage_Blocks - bool build_chain( - Persistent_Storage_Block* first_block, - Block_Header& first_header, - ACE_Unbounded_Stack& allocated_blocks, - const ACE_Message_Block& data); - - /// Reload a chain from persistent store. - bool reload_chain(Persistent_Storage_Block* first_block, - Block_Header& first_header, - ACE_Unbounded_Stack& allocated_blocks, - ACE_Message_Block* amb, - ACE_UINT64 expected_serial_number); - - /// Locked method to do the work of setting the next_manager_. - bool update_next_manager(Routing_Slip_Persistence_Manager* next); - - /// Have we been persisted yet? - bool persisted(); - - /// Write out our first event block. - size_t write_first_routing_slip_block(bool prepare_only = false); - - /// Insert ourselves into a linked list of Routing_Slip_Persistnce_Managers - void dllist_push_back(); - - void insert_before (Routing_Slip_Persistence_Manager * node); - - /// Remove ourselves from a linked list of Routing_Slip_Persistence_Managers - void remove_from_dllist(); - -private: - ACE_SYNCH_MUTEX lock_; - bool removed_; - ACE_UINT64 serial_number_; - Persistent_File_Allocator* allocator_; - Standard_Event_Persistence_Factory* factory_; - Event_Header event_header_; - Routing_Slip_Header routing_slip_header_; - Persistent_Storage_Block* first_event_block_; - Persistent_Storage_Block* first_routing_slip_block_; - /// We are part of a doubly-linked list - Routing_Slip_Persistence_Manager* prev_manager_; - Routing_Slip_Persistence_Manager* next_manager_; - ACE_Unbounded_Stack allocated_event_blocks_; - ACE_Unbounded_Stack allocated_routing_slip_blocks_; - Persistent_Callback* callback_; - - /// if these are non-zero we own 'em - ACE_Message_Block * event_mb_; - ACE_Message_Block * routing_slip_mb_; -}; - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* ROUTING_SLIP_PERSISTENCE_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp deleted file mode 100644 index 4447981d06f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp +++ /dev/null @@ -1,112 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Routing_Slip_Queue.h" - -#include "tao/debug.h" -#include "ace/Dynamic_Service.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - Routing_Slip_Queue::Routing_Slip_Queue (size_t allowed) - : allowed_ (allowed) - , active_ (0) - { - } - - Routing_Slip_Queue::~Routing_Slip_Queue () - { - } - - void - Routing_Slip_Queue::add (const Routing_Slip_Ptr & routing_slip) - { - Guard guard (internals_); - ACE_ASSERT (guard.locked()); // check recursion - if (this->allowed_ == 0) - { - ++this->active_; - guard.release (); - routing_slip->at_front_of_persist_queue (); -// guard.acquire (); - } - else - { - this->queue_.enqueue_tail (routing_slip); - dispatch (guard); - } - } - - void Routing_Slip_Queue::complete () - { - Guard guard (internals_); - ACE_ASSERT (guard.locked()); // check recursion - ACE_ASSERT (this->active_ > 0); - --this->active_; - dispatch (guard); - } - - void - Routing_Slip_Queue::dispatch (Guard & guard) - { - // we start out pretty nice, - // but the more work we do for other people - // the less nice we get. - size_t nice = this->allowed_ + 1; - while (nice > 0 && (this->active_ < this->allowed_)) - { - if (dispatch_one (guard)) - { - --nice; - } - else - { - // that's about as nice as I get. - nice = 0; - } - } - } - - bool - Routing_Slip_Queue::dispatch_one (Guard & guard) - { - bool ok = false; - Routing_Slip_Ptr routing_slip; - if (this->queue_.dequeue_head (routing_slip) == 0) - { - ++this->active_; - guard.release (); - routing_slip->at_front_of_persist_queue (); - guard.acquire (); - } - return ok; - } - - void - Routing_Slip_Queue::set_allowed (size_t allowed) - { - Guard guard (internals_); - size_t allowed_was = this->allowed_; - this->allowed_ = allowed; - if (allowed == 0 && allowed_was != 0) - { - while (dispatch_one (guard)) - { - ; // work happens in dispatc_one - } - } - else - { - dispatch (guard); - } - } -} // namespace - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h deleted file mode 100644 index 4d28e093c0b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h +++ /dev/null @@ -1,93 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef TAO_NOTIFY_ROUTING_SLIP_QUEUE_H -#define TAO_NOTIFY_ROUTING_SLIP_QUEUE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/Routing_Slip.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - /** - * \brief A queue of Routing_Slips waiting to be persisted. - * - * The Routing_Slip_Queue keeps a queue of Routing_Slips waiting - * to be written to persistent storage. The "allowed" parameter - * determines how many Routing_Slips can be handled simultaneously - * by the persistent storage. Until this threshold is reached, - * Routing_Slips are not held in the queue, but pass straight through. - * - * Once the allowe number of Routing_Slips are being handled, any - * additional requests are held in the queue until persistence is - * complete for another Routing_Slips. - * - * Having Routing_Slips waiting in the queue is "a good thing" [TM] - * because it allows delivery completions to be applied to the - * routing slip before it is written -- thereby reducing or completely - * eliminating the number of actual writes to persistent storage. - * - * Experimentation indicates that a good value for "allowed" is 1. - * - * Allowed == 0 is treated as a special case meaning pass all Routing_Slips - * through the queue immediately. Setting it a good way to test how well - * your storage device withstands continuous beating. - */ - class TAO_Notify_Serv_Export Routing_Slip_Queue - { - typedef ACE_Unbounded_Queue Queue; - typedef ACE_Guard< TAO_SYNCH_MUTEX > Guard; - public: - /** - * \brief Construct setting "allowed". - * \param allowed the number of Routing_Slips that can be handled - * simultaneously by the persistent store. - */ - Routing_Slip_Queue (size_t allowed = 1); - /// Destructor. - ~Routing_Slip_Queue (); - - /** - * \brief Add a routing slip to the tail of the queue and dispatch if necessary. - */ - void add (const Routing_Slip_Ptr & routing_slip); - /** - * \brief A call back to indicate that processing is complete for a previously-queued - * Routing_Slip. - */ - void complete (); - - /** - * /brief Adjust the "allowed" value on-the-fly (not recommended, but it works.) - */ - void set_allowed (size_t allowed); - - private: - void dispatch (Guard & guard); - bool dispatch_one (Guard & guard); - - private: - Routing_Slip_Queue (const Routing_Slip_Queue & rhs); - Routing_Slip_Queue & operator = (const Routing_Slip_Queue & rhs); - private: - // configuration setting - size_t allowed_; - /// Protection for internal information - TAO_SYNCH_MUTEX internals_; - size_t active_; - Queue queue_; - - }; -} // namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_NOTIFY_ROUTING_SLIP_QUEUE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp deleted file mode 100644 index 1be68b66c33..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================= -/** -* @file Save_Persist_Worker_T.cpp -* -* $Id$ -* -* @author Jonathan Pollack -*/ -//============================================================================= - -#ifndef SAVE_PERSIST_WORKER_CPP -#define SAVE_PERSIST_WORKER_CPP - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - template - Save_Persist_Worker::Save_Persist_Worker(Topology_Saver& saver, - bool want_all_children) - : saver_ (saver) - , want_all_children_ (want_all_children) - { - } - - template - void - Save_Persist_Worker::work (TOPOOBJ* o ACE_ENV_ARG_DECL) - { - ACE_ASSERT(o != 0); - if (this->want_all_children_ || o->is_changed ()) - { - o->save_persistent (saver_ ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* SAVE_PERSIST_WORKER_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h b/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h deleted file mode 100644 index a9d425891f0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** -* \file Save_Persist_Worker_T.h -* -* $Id$ -* -* \author Jonathan Pollack -*/ -//============================================================================= - -#ifndef SAVE_PERSIST_WORKER_H -#define SAVE_PERSIST_WORKER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/ESF/ESF_Worker.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - /** - * \brief Iterate through children saving persistent topology information. - */ - template - class Save_Persist_Worker : public TAO_ESF_Worker - { - public: - /** - * /brief Constructor - * /param saver the object that will save persistent information. - * /param want_all_children if true, unmodified children should be saved, too. - */ - Save_Persist_Worker(Topology_Saver& saver, bool want_all_children); - - // override virtual ESF_Worker method - virtual void work (TOPOOBJ* o ACE_ENV_ARG_DECL); - - private: - Topology_Saver& saver_; - bool want_all_children_; - }; -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Save_Persist_Worker_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Save_Persist_Worker_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* SAVE_PERSIST_WORKER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.cpp deleted file mode 100644 index a1a29b3eb35..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// $Id$ - -#ifndef TAO_Notify_SEQ_WORKER_T_CPP -#define TAO_Notify_SEQ_WORKER_T_CPP - -#include "orbsvcs/Notify/Seq_Worker_T.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Seq_Worker_T.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -TAO_Notify_Seq_Worker_T::TAO_Notify_Seq_Worker_T (void) -{ -} - -template ACE_TYPENAME TAO_Notify_Seq_Worker_T::SEQ* -TAO_Notify_Seq_Worker_T::create (CONTAINER &container ACE_ENV_ARG_DECL) -{ - SEQ* tmp; - ACE_NEW_THROW_EX (tmp, //this->seq_, - SEQ (), - CORBA::INTERNAL ()); - - this->seq_ = tmp; - - container.collection ()->for_each (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->seq_._retn (); - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_Notify_SEQ_WORKER_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.h b/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.h deleted file mode 100644 index 5e89210356e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- C++ -*- - -/** - * @file Seq_Worker_T.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_SEQ_WORKER_T_H -#define TAO_Notify_SEQ_WORKER_T_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" -#include "orbsvcs/ESF/ESF_Worker.h" -#include "orbsvcs/Notify/Container_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Seq_Worker_T - * - * @brief Helper to construct a sequence of IDS in a collections. - * - */ -template -class TAO_Notify_Serv_Export TAO_Notify_Seq_Worker_T - : public TAO_ESF_Worker -{ - typedef TAO_Notify_Container_T CONTAINER; - typedef TAO_ESF_Proxy_Collection COLLECTION; - typedef typename TYPE::SEQ SEQ; - typedef typename TYPE::SEQ_VAR SEQ_VAR; - -public: - /// Constructor - TAO_Notify_Seq_Worker_T (void); - - /// create a SEQ - SEQ* create (CONTAINER& container ACE_ENV_ARG_DECL); - -protected: - ///= TAO_ESF_Worker method - void work (TYPE* object ACE_ENV_ARG_DECL); - - /// The result - SEQ_VAR seq_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Seq_Worker_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Notify/Seq_Worker_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Seq_Worker_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_SEQ_WORKER_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.inl deleted file mode 100644 index 43dc3487646..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Seq_Worker_T.inl +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE void -TAO_Notify_Seq_Worker_T::work (TYPE* type ACE_ENV_ARG_DECL_NOT_USED) -{ - this->seq_->length (this->seq_->length () + 1); - - this->seq_[this->seq_->length () - 1] = type->id (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp deleted file mode 100644 index a7c5adb49c3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp +++ /dev/null @@ -1,139 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h" - -ACE_RCSID (Notify, TAO_Notify_SequenceProxyPushConsumer, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/Sequence/SequencePushSupplier.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Structured/StructuredEvent.h" -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_SequenceProxyPushConsumer::TAO_Notify_SequenceProxyPushConsumer (void) -:pacing_interval_ (CosNotification::PacingInterval) -{ -} - -TAO_Notify_SequenceProxyPushConsumer::~TAO_Notify_SequenceProxyPushConsumer () -{ -} - -void -TAO_Notify_SequenceProxyPushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -CosNotifyChannelAdmin::ProxyType -TAO_Notify_SequenceProxyPushConsumer::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::PUSH_SEQUENCE; -} - -void -TAO_Notify_SequenceProxyPushConsumer::connect_sequence_push_supplier (CosNotifyComm::SequencePushSupplier_ptr push_supplier ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )) -{ - // Convert Supplier to Base Type - TAO_Notify_SequencePushSupplier *supplier; - ACE_NEW_THROW_EX (supplier, - TAO_Notify_SequencePushSupplier (this), - CORBA::NO_MEMORY ()); - - supplier->init (push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_SequenceProxyPushConsumer::push_structured_events (const CosNotification::EventBatch& event_batch ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventComm::Disconnected - )) -{ - // Check if we should proceed at all. - if (this->admin_properties().reject_new_events () == 1 && this->admin_properties().queue_full ()) - ACE_THROW (CORBA::IMP_LIMIT ()); - - if (this->is_connected () == 0) - { - ACE_THROW (CosEventComm::Disconnected ()); - } - - for (CORBA::ULong i = 0; i < event_batch.length (); ++i) - { - const CosNotification::StructuredEvent& notification = event_batch[i]; - - TAO_Notify_StructuredEvent_No_Copy event (notification); - this->push_i (&event ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - -void -TAO_Notify_SequenceProxyPushConsumer::disconnect_sequence_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_SequenceProxyPushConsumer::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -const char * -TAO_Notify_SequenceProxyPushConsumer::get_proxy_type_name (void) const -{ - return "sequence_proxy_push_consumer"; -} - -void -TAO_Notify_SequenceProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs) -{ - SuperClass::load_attrs(attrs); - ACE_CString ior; - if (attrs.load("PeerIOR", ior)) - { - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CosNotifyComm::SequencePushSupplier_var ps = CosNotifyComm::SequencePushSupplier::_nil(); - if ( ior.length() > 0 ) - { - CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - ps = CosNotifyComm::SequencePushSupplier::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - // minor hack: suppress generating subscription updates during reload. - bool save_updates = this->updates_off_; - this->updates_off_ = true; - this->connect_sequence_push_supplier(ps.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->updates_off_ = save_updates; - } - ACE_CATCHANY - { - ACE_ASSERT(0); - } - ACE_ENDTRY; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h deleted file mode 100644 index 4db216993cb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file SequenceProxyPushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_SEQUENCEPROXYPUSHCONSUMER_H -#define TAO_Notify_SEQUENCEPROXYPUSHCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" - -#include "orbsvcs/Notify/ProxyConsumer_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_SequenceProxyPushConsumer - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_SequenceProxyPushConsumer - : public virtual TAO_Notify_ProxyConsumer_T -{ - typedef TAO_Notify_ProxyConsumer_T SuperClass; - friend class TAO_Notify_Builder; -public: - /// Constuctor - TAO_Notify_SequenceProxyPushConsumer (void); - - /// Destructor - virtual ~TAO_Notify_SequenceProxyPushConsumer (); - - virtual const char * get_proxy_type_name (void) const; - - virtual void load_attrs (const TAO_Notify::NVPList& attrs); - -protected: - ///= Data Members - TAO_Notify_Property_Time pacing_interval_; - - ///= Protected Methods - - //= interface methods - virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - 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 - )); - -private: - /// TAO_Notify_Destroy_Callback methods - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_SEQUENCEPROXYPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp deleted file mode 100644 index be2f9f74299..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp +++ /dev/null @@ -1,108 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h" - -ACE_RCSID (Notify, TAO_Notify_SequenceProxyPushSupplier, "$Id$") - -#include "tao/debug.h" -#include "orbsvcs/Notify/Sequence/SequencePushConsumer.h" -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_SequenceProxyPushSupplier::TAO_Notify_SequenceProxyPushSupplier (void) -{ -} - -TAO_Notify_SequenceProxyPushSupplier::~TAO_Notify_SequenceProxyPushSupplier () -{ -} - -void -TAO_Notify_SequenceProxyPushSupplier::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_SequenceProxyPushSupplier::connect_sequence_push_consumer (CosNotifyComm::SequencePushConsumer_ptr push_consumer ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - , CosEventChannelAdmin::TypeError - )) -{ - // Convert Consumer to Base Type - TAO_Notify_SequencePushConsumer* consumer; - ACE_NEW_THROW_EX (consumer, - TAO_Notify_SequencePushConsumer (this), - CORBA::NO_MEMORY ()); - - consumer->init (push_consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_SequenceProxyPushSupplier::disconnect_sequence_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) - -{ - TAO_Notify_SequenceProxyPushSupplier::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxyType -TAO_Notify_SequenceProxyPushSupplier::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::PUSH_SEQUENCE; -} - -const char * -TAO_Notify_SequenceProxyPushSupplier::get_proxy_type_name (void) const -{ - return "sequence_proxy_push_supplier"; -} - -void -TAO_Notify_SequenceProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& attrs) -{ - SuperClass::load_attrs(attrs); - ACE_CString ior; - if (attrs.load("PeerIOR", ior)) - { - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CosNotifyComm::SequencePushConsumer_var pc = CosNotifyComm::SequencePushConsumer::_nil(); - if (ior.length() > 0) - { - CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - pc = CosNotifyComm::SequencePushConsumer::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - this->connect_sequence_push_consumer(pc.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // if we can't reconnect, tough - } - ACE_ENDTRY; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h deleted file mode 100644 index 6603d5613e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file SequenceProxyPushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_SEQUENCEPROXYPUSHSUPPLIER_H -#define TAO_Notify_SEQUENCEPROXYPUSHSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" - -#include "orbsvcs/Notify/ProxySupplier_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -template class TAO_Notify_Serv_Export -TAO_Notify_ProxySupplier_T; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ - -/** - * @class TAO_Notify_SequenceProxyPushSupplier - * - * @brief Implements the CosNotifyChannelAdmin::SequenceProxyPushSupplier methods. - * - * - */ -class TAO_Notify_Serv_Export TAO_Notify_SequenceProxyPushSupplier - : public virtual TAO_Notify_ProxySupplier_T -{ - typedef TAO_Notify_ProxySupplier_T SuperClass; - friend class TAO_Notify_Builder; - -public: - /// Constuctor - TAO_Notify_SequenceProxyPushSupplier (void); - - /// Destructor - virtual ~TAO_Notify_SequenceProxyPushSupplier (); - - - virtual const char * get_proxy_type_name (void) const; - - virtual void load_attrs (const TAO_Notify::NVPList& attrs); - - /// = Servant methods - virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void connect_sequence_push_consumer ( - CosNotifyComm::SequencePushConsumer_ptr push_consumer - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosEventChannelAdmin::AlreadyConnected, - CosEventChannelAdmin::TypeError - )); - - virtual void disconnect_sequence_push_supplier ( - ACE_ENV_SINGLE_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - /// TAO_Notify_Destroy_Callback methods - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_SEQUENCEPROXYPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp deleted file mode 100644 index 19f972cd0cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp +++ /dev/null @@ -1,297 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Sequence/SequencePushConsumer.h" - -ACE_RCSID (Notify, TAO_Notify_SequencePushConsumer, "$Id$") - -#include "ace/Reactor.h" -#include "tao/debug.h" -#include "orbsvcs/Notify/QoSProperties.h" -#include "orbsvcs/Notify/ProxySupplier.h" -#include "orbsvcs/Notify/Worker_Task.h" -#include "orbsvcs/Notify/Consumer.h" -#include "orbsvcs/Notify/Method_Request_Dispatch.h" -#include "orbsvcs/Notify/Method_Request_Event.h" -#include "orbsvcs/Notify/Timer.h" -#include "orbsvcs/Notify/Proxy.h" -#include "orbsvcs/Notify/Properties.h" -//#define DEBUG_LEVEL 10 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_SequencePushConsumer::TAO_Notify_SequencePushConsumer (TAO_Notify_ProxySupplier* proxy) -: TAO_Notify_Consumer (proxy) -{ -} - -TAO_Notify_SequencePushConsumer::~TAO_Notify_SequencePushConsumer () -{ -} - -void -TAO_Notify_SequencePushConsumer::init (CosNotifyComm::SequencePushConsumer_ptr push_consumer ACE_ENV_ARG_DECL) -{ - // Initialize only once - ACE_ASSERT( CORBA::is_nil (this->push_consumer_.in()) ); - - if (CORBA::is_nil (push_consumer)) - { - ACE_THROW (CORBA::BAD_PARAM()); - } - - this->push_consumer_ = CosNotifyComm::SequencePushConsumer::_duplicate (push_consumer); - this->publish_ = CosNotifyComm::NotifyPublish::_duplicate (push_consumer); -} - -void -TAO_Notify_SequencePushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -bool -TAO_Notify_SequencePushConsumer::dispatch_from_queue (Request_Queue& requests, ACE_Guard & ace_mon) -{ - bool result = true; - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("(%P|%t) SequencePushConsumer dispatch queued requests. queue size:%u\n"), - requests.size ())); - } - - long queue_size = requests.size (); - CORBA::Long max_batch_size = queue_size; - if (this->max_batch_size_.is_valid () ) - { - max_batch_size = this->max_batch_size_.value (); - } - CORBA::Long batch_size = queue_size; - if (batch_size > max_batch_size) - { - batch_size = max_batch_size; - } - if (batch_size > 0) - { - CosNotification::EventBatch batch (batch_size); - batch.length (batch_size); - - Request_Queue completed; - - CORBA::Long pos = 0; - TAO_Notify_Method_Request_Event_Queueable * request = 0; - while (pos < batch_size && requests.dequeue_head (request) == 0) - { - if (DEBUG_LEVEL > 0) - { - ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("(%P|%t) Sequence Dispatch Method_Request_Dispatch @%@\n"), - request)); - } - - const TAO_Notify_Event * ev = request->event (); - ev->convert (batch [pos]); - ++pos; - - // note enqueue at head, use queue as stack. - completed.enqueue_head (request); - } - batch.length (pos); - ACE_ASSERT (pos > 0); - - ace_mon.release (); - TAO_Notify_Consumer::DispatchStatus status = - this->dispatch_batch (batch); - ace_mon.acquire (); - switch (status) - { - case DISPATCH_SUCCESS: - { - TAO_Notify_Method_Request_Event_Queueable * request = 0; - while (completed.dequeue_head (request) == 0) - { - request->complete (); - request->release (); - } - result = true; - break; - } - case DISPATCH_FAIL: - { - TAO_Notify_Method_Request_Event_Queueable * request = 0; - while (completed.dequeue_head (request) == 0) - { - if (request->should_retry ()) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Consumer %d: Will retry %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - requests.enqueue_head (request); - result = false; - } - else - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Consumer %d: Discarding %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - request->complete (); - request->release (); - } - } - while (requests.dequeue_head (request) == 0) - { - if (request->should_retry ()) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Consumer %d: Will retry %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - requests.enqueue_head (request); - result = false; - } - else - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Consumer %d: Discarding %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - request->complete (); - request->release (); - } - } - ace_mon.release(); - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - this->proxy_supplier ()->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // todo is there something meaningful we can do here? - ; - } - ACE_ENDTRY; - ace_mon.acquire(); - break; - } - case DISPATCH_RETRY: - case DISPATCH_DISCARD: - { - TAO_Notify_Method_Request_Event_Queueable * request = 0; - while (completed.dequeue_head (request) == 0) - { - if (request->should_retry ()) - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Consumer %d: Will retry %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - requests.enqueue_head (request); - result = false; - } - else - { - if (DEBUG_LEVEL > 0) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Consumer %d: Discarding %d\n"), - static_cast (this->proxy ()->id ()), - request->sequence ())); - request->complete (); - request->release (); - } - } - break; - } - default: - { - result = false; - break; - } - } - } - return result; -} - -bool -TAO_Notify_SequencePushConsumer::enqueue_if_necessary ( - TAO_Notify_Method_Request_Event * request - ACE_ENV_ARG_DECL) -{ - if (DEBUG_LEVEL > 0) - ACE_DEBUG ( (LM_DEBUG, "SequencePushConsumer enqueing event.\n")); - this->enqueue_request (request ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - size_t mbs = static_cast(this->max_batch_size_.value()); - - if (this->pending_events().size() >= mbs || this->pacing_.is_valid () == 0) - { - this->dispatch_pending (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - } - else - { - schedule_timer (false); - } - return true; -} - - -void -TAO_Notify_SequencePushConsumer::push (const CORBA::Any& /*event*/ ACE_ENV_ARG_DECL_NOT_USED) -{ - //NOP -} - -void -TAO_Notify_SequencePushConsumer::push (const CosNotification::StructuredEvent& /*notification*/ ACE_ENV_ARG_DECL_NOT_USED) -{ - //NOP -} - - -void -TAO_Notify_SequencePushConsumer::push (const CosNotification::EventBatch& event_batch ACE_ENV_ARG_DECL) -{ - this->push_consumer_->push_structured_events (event_batch ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -ACE_CString -TAO_Notify_SequencePushConsumer::get_ior (void) const -{ - ACE_CString result; - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance ()->orb (); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::String_var ior = orb->object_to_string (this->push_consumer_.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = static_cast (ior.in ()); - } - ACE_CATCHANY - { - result.fast_clear(); - } - ACE_ENDTRY; - return result; -} - -void -TAO_Notify_SequencePushConsumer::reconnect_from_consumer (TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL) -{ - TAO_Notify_SequencePushConsumer* tmp = dynamic_cast (old_consumer); - ACE_ASSERT(tmp != 0); - this->init(tmp->push_consumer_.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->schedule_timer(false); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h deleted file mode 100644 index ac5661e674f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file SequencePushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_SEQUENCEPUSHCONSUMER_H -#define TAO_Notify_SEQUENCEPUSHCONSUMER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Event_Handler.h" -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/Property.h" -#include "orbsvcs/Notify/Property_T.h" -#include "orbsvcs/Notify/Consumer.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "ace/Null_Condition.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxySupplier; -class TAO_Notify_QoSProperties; -class TAO_Notify_Timer; - -/** - * @class TAO_Notify_SequencePushConsumer - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_SequencePushConsumer - : public TAO_Notify_Consumer -{ -public: - TAO_Notify_SequencePushConsumer (TAO_Notify_ProxySupplier* proxy); - - virtual ~TAO_Notify_SequencePushConsumer (); - - /// Init the Consumer - void init (CosNotifyComm::SequencePushConsumer_ptr push_consumer ACE_ENV_ARG_DECL); - - /// Add request to a queue if necessary. - /// for Sequence it's always necessary. - virtual bool enqueue_if_necessary( - TAO_Notify_Method_Request_Event * request - ACE_ENV_ARG_DECL); - - virtual bool dispatch_from_queue ( - Request_Queue & requests, - ACE_Guard & ace_mon); - - - /// Push to this consumer. - virtual void push (const CORBA::Any& event ACE_ENV_ARG_DECL); - - // Push event. - virtual void push (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL); - - /// Push a batch of events to this consumer. - virtual void push (const CosNotification::EventBatch& event ACE_ENV_ARG_DECL); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const; - - /// on reconnect we need to move events from the old consumer - /// to the new one - virtual void reconnect_from_consumer (TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL); - -protected: - - /// The Consumer - CosNotifyComm::SequencePushConsumer_var push_consumer_; - -private: - /// TAO_Notify_Destroy_Callback methods. - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_SEQUENCEPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp deleted file mode 100644 index df010388763..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Sequence/SequencePushSupplier.h" - -ACE_RCSID (Notify, TAO_Notify_SequencePushSupplier, "$Id$") - -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_SequencePushSupplier::TAO_Notify_SequencePushSupplier (TAO_Notify_ProxyConsumer* proxy) - :TAO_Notify_Supplier (proxy) -{ -} - -TAO_Notify_SequencePushSupplier::~TAO_Notify_SequencePushSupplier () -{ -} - -void -TAO_Notify_SequencePushSupplier::init (CosNotifyComm::SequencePushSupplier_ptr push_supplier ACE_ENV_ARG_DECL_NOT_USED) -{ - // TODO: verify single init call - // push_supplier is optional - this->push_supplier_ = CosNotifyComm::SequencePushSupplier::_duplicate (push_supplier); - this->subscribe_ = CosNotifyComm::NotifySubscribe::_duplicate (push_supplier); -} - -void -TAO_Notify_SequencePushSupplier::release (void) -{ - delete this; - //@@ inform factory -} - -ACE_CString -TAO_Notify_SequencePushSupplier::get_ior (void) const -{ - ACE_CString result; - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::String_var ior = orb->object_to_string(this->push_supplier_.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = static_cast (ior.in ()); - } - ACE_CATCHANY - { - result.fast_clear(); - } - ACE_ENDTRY; - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h deleted file mode 100644 index 2b2af2efc08..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file SequencePushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_SEQUENCEPUSHSUPPLIER_H -#define TAO_Notify_SEQUENCEPUSHSUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyCommC.h" -#include "orbsvcs/Notify/Supplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxyConsumer; - -/** - * @class TAO_Notify_SequencePushSupplier - * - * @brief Wrapper for the SequencePushSupplier that connect to the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_SequencePushSupplier : public TAO_Notify_Supplier -{ -public: - /// Constuctor - TAO_Notify_SequencePushSupplier (TAO_Notify_ProxyConsumer* proxy); - - /// Destructor - virtual ~TAO_Notify_SequencePushSupplier (); - - /// Init - void init (CosNotifyComm::SequencePushSupplier_ptr push_supplier ACE_ENV_ARG_DECL); - - /// TAO_Notify_Destroy_Callback methods - virtual void release (void); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const; - -protected: - /// The Supplier - CosNotifyComm::SequencePushSupplier_var push_supplier_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_SEQUENCEPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Service.cpp b/TAO/orbsvcs/orbsvcs/Notify/Service.cpp deleted file mode 100644 index f4cda660134..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Service.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Service.h" - -ACE_RCSID (Notify, - TAO_Notify_Service, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Service::~TAO_Notify_Service () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Service.h b/TAO/orbsvcs/orbsvcs/Notify/Service.h deleted file mode 100644 index 6fdfd47f2ab..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Service.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -/** - * @file Service.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_SERVICE_H -#define TAO_Notify_SERVICE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -#include "ace/Service_Object.h" -#include "ace/Service_Config.h" -#include "ace/CORBA_macros.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace PortableServer -{ - class POA; - typedef POA *POA_ptr; -} - -namespace CosNotifyChannelAdmin -{ - class EventChannelFactory; - typedef EventChannelFactory *EventChannelFactory_ptr; -} - -namespace CORBA -{ - class ORB; - typedef ORB *ORB_ptr; -} - -/** - * @class TAO_Notify_Service - * - * @brief Abstract ACE_Service_Object interface that is a - * factory for creating a Notify EventChannelFactory. - * Note that a Service creates only 1 Factory object. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Service : public ACE_Service_Object -{ -public: - /// Destructor. - virtual ~TAO_Notify_Service (void); - - /// Init the service from configurator - virtual int init (int argc, ACE_TCHAR *argv[]) = 0; - - /// Init the service. - virtual void init_service (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL) = 0; - - /// Create the Channel Factory. - virtual CosNotifyChannelAdmin::EventChannelFactory_ptr create ( - PortableServer::POA_ptr default_POA ACE_ENV_ARG_DECL - ) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#define TAO_NOTIFY_DEF_EMO_FACTORY_NAME "Notify_Default_Event_Manager_Objects_Factory" - -#define TAO_NOTIFICATION_SERVICE_NAME "TAO_Notify_Service" - -#define TAO_COS_NOTIFICATION_SERVICE_NAME "TAO_CosNotify_Service" - -#define TAO_RT_NOTIFICATION_SERVICE_NAME "TAO_RT_Notify_Service" - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_SERVICE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp b/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp deleted file mode 100644 index 65389ef7c35..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp +++ /dev/null @@ -1,234 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Standard_Event_Persistence.h" -#include "orbsvcs/Notify/Persistent_File_Allocator.h" -#include "tao/debug.h" -#include "ace/Dynamic_Service.h" -#include "ace/OS_NS_strings.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -Standard_Event_Persistence::Standard_Event_Persistence () - : filename_ (ACE_TEXT ("__PERSISTENT_EVENT__.DB")) - , block_size_ (512) - , factory_ (0) -{ -} - -Standard_Event_Persistence::~Standard_Event_Persistence () -{ -} - -// get the current factory, creating it if necessary -Event_Persistence_Factory * -Standard_Event_Persistence::get_factory () -{ - //@@todo guard? ; doublecheck? - if (this->factory_ == 0) - { - ACE_NEW_NORETURN ( - this->factory_, - Standard_Event_Persistence_Factory () - ); - if (this->factory_ != 0) - { - if (!this->factory_->open (this->filename_.c_str ())) - { - this->factory_ = 0; - } - } - } - return this->factory_; -} - -// release the current factory so a new one can be created -void -Standard_Event_Persistence::reset () -{ - delete this->factory_; - this->factory_ = 0; -} - -int -Standard_Event_Persistence::init (int argc, ACE_TCHAR *argv[]) -{ - int result = 0; - bool verbose = false; - for (int narg = 0; narg < argc; ++narg) - { - ACE_TCHAR * av = argv[narg]; - if (ACE_OS::strcasecmp (av, ACE_TEXT ("-v")) == 0) - { - verbose = true; - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Standard_Event_Persistence: -verbose\n") - )); - } - else if (ACE_OS::strcasecmp (av, ACE_TEXT ("-file_path")) == 0 && narg + 1 < argc) - { - this->filename_ = argv[narg + 1]; - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Standard_Event_Persistence: Setting -file_path: %s\n"), - this->filename_.c_str () - )); - } - narg += 1; - } - else if (ACE_OS::strcasecmp (av, ACE_TEXT ("-block_size")) == 0 && narg + 1 < argc) - { - this->block_size_ = ACE_OS::atoi(argv[narg + 1]); - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Standard_Event_Persistence: Setting -block_size: %d\n"), - this->block_size_ - )); - } - narg += 1; - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Unknown parameter to Standard Event Persistence: %s\n"), - argv[narg] - )); - result = -1; - } - } - return result; -} - -int -Standard_Event_Persistence::fini () -{ - delete this->factory_; - this->factory_ = 0; - return 0; -} - -Standard_Event_Persistence_Factory::Standard_Event_Persistence_Factory () - : allocator_() - , root_(this) - , psb_(0) - , serial_number_(ROUTING_SLIP_ROOT_SERIAL_NUMBER + 1) - , is_reloading_ (false) -{ -} - -bool -Standard_Event_Persistence_Factory::open (const ACE_TCHAR* filename, - ACE_UINT32 block_size) -{ - bool result = false; - if (allocator_.open (filename, block_size)) - { - this->is_reloading_ = this->root_.load(ROUTING_SLIP_ROOT_BLOCK_NUMBER, ROUTING_SLIP_ROOT_SERIAL_NUMBER); - if (! this->is_reloading_) - { - ACE_ASSERT (this->psb_ == 0); -// this->psb_ = this->allocator_.allocate(); - this->root_.store_root(); - } - result = true; - } - return result; -} - -Standard_Event_Persistence_Factory::~Standard_Event_Persistence_Factory() -{ - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Standard_Event_Persistence_Factory::~Standard_Event_Persistence_Factory\n") - )); - } - this->root_.release_all (); - delete this->psb_; - this->psb_ = 0; - this->allocator_.shutdown(); -} - -Routing_Slip_Persistence_Manager* -Standard_Event_Persistence_Factory::create_routing_slip_persistence_manager( - Persistent_Callback* callback) -{ - Routing_Slip_Persistence_Manager* rspm = 0; - ACE_NEW_RETURN(rspm, Routing_Slip_Persistence_Manager(this), rspm); - rspm->set_callback(callback); - return rspm; -} - -Routing_Slip_Persistence_Manager * -Standard_Event_Persistence_Factory::first_reload_manager() -{ - Routing_Slip_Persistence_Manager * result = 0; - if (this->is_reloading_) - { - result = this->root_.load_next(); - } - return result; -} - -void -Standard_Event_Persistence_Factory::done_reloading( - Persistent_Storage_Block * next_psb, - ACE_UINT64 current_serial_number) -{ - ACE_ASSERT (this->psb_ == 0); - this->psb_ = next_psb; - this->serial_number_ = current_serial_number; - this->is_reloading_ = false; -} - -void -Standard_Event_Persistence_Factory::preallocate_next_record( - ACE_UINT64& current_serial_number, - Persistent_Storage_Block*& current_psb, - ACE_UINT64& next_serial_number, - ACE_UINT32& next_block_number) -{ - // return current serial number and - // a psb containing current record number - current_serial_number = this->serial_number_; - this->psb_->set_allocator_owns(false); // give up ownership - this->psb_->set_sync(); - current_psb = this->psb_; - this->get_preallocated_pointer (next_serial_number, next_block_number); -} - -void -Standard_Event_Persistence_Factory::get_preallocated_pointer( - ACE_UINT64& next_serial_number, - ACE_UINT32& next_block_number) -{ - ++this->serial_number_; - this->psb_ = this->allocator_.allocate(); - - next_serial_number = this->serial_number_; - next_block_number = this->psb_->block_number(); -} - -Persistent_File_Allocator* -Standard_Event_Persistence_Factory::allocator() -{ - return &this->allocator_; -} - -Routing_Slip_Persistence_Manager & -Standard_Event_Persistence_Factory::root() -{ - return this->root_; -} - -} // End TAO_Notify_Namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_NAMESPACE_DEFINE (TAO_Notify_Serv, - TAO_Notify_Standard_Event_Persistence, - TAO_Notify::Standard_Event_Persistence) diff --git a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h b/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h deleted file mode 100644 index 995577d761a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h +++ /dev/null @@ -1,134 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * \file Event_Persistence_Factory.h - * - * $Id$ - * - * The standard implementation of Event_Persistence_Factory. - * - * \author Jonathan Pollack - */ -//============================================================================= - -#ifndef STANDARD_EVENT_PERSISTENCE_H -#define STANDARD_EVENT_PERSISTENCE_H -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Event_Persistence_Strategy.h" -#include "orbsvcs/Notify/Event_Persistence_Factory.h" -#include "orbsvcs/Notify/Persistent_File_Allocator.h" -#include "orbsvcs/Notify/Routing_Slip_Persistence_Manager.h" -#include - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - static const ACE_UINT32 ROUTING_SLIP_ROOT_BLOCK_NUMBER = 0; - static const ACE_UINT64 ROUTING_SLIP_ROOT_SERIAL_NUMBER = 1; - - /// \brief Standard (i.e. default) implementation of Event_Persistence_Factory interface - class TAO_Notify_Serv_Export Standard_Event_Persistence_Factory : - public Event_Persistence_Factory - { - public: - /// Constructor - Standard_Event_Persistence_Factory (); - /// Destructor - virtual ~Standard_Event_Persistence_Factory(); - - /// Open persistence file and initialize. - /// /param filename the fully qualified path/name of the file to contain - /// persistent information. - /// /param block_size the size of a physical block on the device containing - /// the file. - bool open (const ACE_TCHAR* filename, ACE_UINT32 block_size = 512); - - ////////////////////////////////////////////////////// - // Implement Event_Persistence_Factory virtual methods. - virtual Routing_Slip_Persistence_Manager* - create_routing_slip_persistence_manager(Persistent_Callback* callback); - - virtual Routing_Slip_Persistence_Manager * first_reload_manager(); - - /// reloading process complete. Where should the chain continue? - void done_reloading( - Persistent_Storage_Block * next_psb, - ACE_UINT64 current_serial_number); - - /// return current serial # and a psb containing current record# - /// allocate new serial # and record number, and return those, too. - void preallocate_next_record( - ACE_UINT64& current_serial_number, - Persistent_Storage_Block*& current_psb, - ACE_UINT64& next_serial_number, - ACE_UINT32& next_block_number); - - // return block pointer info for the - void get_preallocated_pointer( - ACE_UINT64& next_serial_number, - ACE_UINT32& next_block_number); - - /// Accessor for file allocator. - /// Intended for use only by the Routing Slip Persistence Manager - Persistent_File_Allocator* allocator(); - - /// Access root record. - /// Intended for use only by the Routing Slip Persistence Manager - Routing_Slip_Persistence_Manager & root(); - - public: - ACE_SYNCH_MUTEX lock; - - private: - Persistent_File_Allocator allocator_; - Routing_Slip_Persistence_Manager root_; - Persistent_Storage_Block* psb_; - ACE_UINT64 serial_number_; - bool is_reloading_; - }; - - /// \brief The standard implementation of the - /// Event_Persistence_Strategy interface. - class TAO_Notify_Serv_Export Standard_Event_Persistence : - public Event_Persistence_Strategy - { - public : - /// Constructor. - Standard_Event_Persistence (); - /// Destructor. - virtual ~Standard_Event_Persistence (); - ///////////////////////////////////////////// - // Override Event_Persistent_Strategy methods - // Parse arguments and initialize. - virtual int init(int argc, ACE_TCHAR *argv[]); - // Prepare for shutdown - virtual int fini (); - - // get the current factory, creating it if necessary - virtual Event_Persistence_Factory * get_factory (); - - private: - // release the current factory so a new one can be created - virtual void reset (); - - ACE_TString filename_; // set via -file_path - ACE_UINT32 block_size_; // set via -block_size - Standard_Event_Persistence_Factory * factory_; - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_Notify_Serv, TAO_Notify_Standard_Event_Persistence) - -#include /**/ "ace/post.h" -#endif /* STANDARD_EVENT_PERSISTENCE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp deleted file mode 100644 index c4df69993b1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp +++ /dev/null @@ -1,81 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h" -#include "tao/debug.h" - -#include "tao/debug.h" -#include "orbsvcs/Notify/Method_Request_Dispatch.h" - -ACE_RCSID (Notify, TAO_Notify_RT_StructuredProxyPushSupplier, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_RT_StructuredProxyPushSupplier::TAO_Notify_RT_StructuredProxyPushSupplier (void) -{ -} - -TAO_Notify_RT_StructuredProxyPushSupplier::~TAO_Notify_RT_StructuredProxyPushSupplier () -{ -} - -CORBA::Object_ptr -TAO_Notify_RT_StructuredProxyPushSupplier::activate (PortableServer::Servant servant ACE_ENV_ARG_DECL) -{ - CORBA::Object_var object = TAO_Notify_Proxy::activate (servant ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - // Obtain our ref. - CORBA::Object_var obj = this->ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - this->event_forwarder_ = Event_Forwarder::StructuredProxyPushSupplier::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - - return object._retn (); -} - -CORBA::Object_ptr -TAO_Notify_RT_StructuredProxyPushSupplier::activate (PortableServer::Servant , - CORBA::Long ACE_ENV_ARG_DECL_NOT_USED) -{ - return CORBA::Object::_nil (); -} - -void -TAO_Notify_RT_StructuredProxyPushSupplier::deliver (TAO_Notify_Method_Request_Dispatch_No_Copy & request ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - request.event()->push (this->event_forwarder_.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - if (TAO_debug_level > 2) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "(%P|%t) TAO_Notify_RT_StructuredProxyPushSupplier::push failed\n"); - } - - } - ACE_ENDTRY; -} - -void -TAO_Notify_RT_StructuredProxyPushSupplier::push_no_filtering (const TAO_Notify_Event* event ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - event->push_no_filtering (this->event_forwarder_.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - if (TAO_debug_level > 2) - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "(%P|%t) TAO_Notify_RT_StructuredProxyPushSupplier::push failed\n"); - } - - } - ACE_ENDTRY; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h deleted file mode 100644 index 995a4ceeb31..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file RT_StructuredProxyPushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_RT_STRUCTUREDPROXYPUSHSUPPLIER_H -#define TAO_Notify_RT_STRUCTUREDPROXYPUSHSUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/rt_notify_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_RT_StructuredProxyPushSupplier - * - * @brief - * - */ -class TAO_RT_Notify_Export TAO_Notify_RT_StructuredProxyPushSupplier : - public virtual TAO_Notify_StructuredProxyPushSupplier -{ -public: - /// Constuctor - TAO_Notify_RT_StructuredProxyPushSupplier (void); - - /// Destructor - ~TAO_Notify_RT_StructuredProxyPushSupplier (); - - /// Activate this object and obtain the Event_Forwarder interface. - virtual CORBA::Object_ptr activate (PortableServer::Servant servant ACE_ENV_ARG_DECL); - - /// Dummy method to prevent hidden TAO_Notify_Proxy::activate warning. - virtual CORBA::Object_ptr activate (PortableServer::Servant servant, - CORBA::Long id ACE_ENV_ARG_DECL); - - /// Dispatch Event to consumer - void deliver (TAO_Notify_Method_Request_Dispatch_No_Copy & request ACE_ENV_ARG_DECL); - - /// Dispatch Event to consumer, no filtering - virtual void push_no_filtering (const TAO_Notify_Event* event ACE_ENV_ARG_DECL); - -private: - /// Our ref. - Event_Forwarder::StructuredProxyPushSupplier_var event_forwarder_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_RT_STRUCTUREDPROXYPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp deleted file mode 100644 index 86d312d8f4e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp +++ /dev/null @@ -1,142 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Structured/StructuredEvent.h" - -ACE_RCSID(RT_Notify, TAO_Notify_StructuredEvent, "$Id$") - -#include "orbsvcs/Notify/PropertySeq.h" -#include "orbsvcs/Notify/Consumer.h" -#include "tao/debug.h" -#include "tao/corba.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_StructuredEvent_No_Copy::TAO_Notify_StructuredEvent_No_Copy (const CosNotification::StructuredEvent ¬ification) - : notification_ (¬ification), type_ (notification.header.fixed_header.event_type) -{ - const CosNotification::PropertySeq& prop_seq = notification.header.variable_header; - - for (CORBA::ULong i = 0; i < prop_seq.length (); ++i) - { - if (ACE_OS::strcmp (prop_seq[i].name.in (), CosNotification::Priority) == 0) - this->priority_.set (prop_seq[i].value); - else if (ACE_OS::strcmp (prop_seq[i].name.in (), CosNotification::Timeout) == 0) - this->timeout_.set (prop_seq[i].value); - } -} - -const TAO_Notify_EventType& -TAO_Notify_StructuredEvent_No_Copy::type (void) const -{ - return this->type_; -} - -TAO_Notify_StructuredEvent_No_Copy::~TAO_Notify_StructuredEvent_No_Copy () -{ -} - -void -TAO_Notify_StructuredEvent_No_Copy::marshal (TAO_OutputCDR & cdr) const -{ - static const ACE_CDR::Octet STRUCTURED_CODE = MARSHAL_STRUCTURED; - cdr.write_octet (STRUCTURED_CODE); - cdr << (*this->notification_); -} - -//static -TAO_Notify_StructuredEvent * -TAO_Notify_StructuredEvent_No_Copy::unmarshal (TAO_InputCDR & cdr) -{ - TAO_Notify_StructuredEvent * event = 0; - CosNotification::StructuredEvent body; - if (cdr >> body) - { - event = new TAO_Notify_StructuredEvent (body); - } - return event; -} - -TAO_Notify_Event * -TAO_Notify_StructuredEvent_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL) const -{ - TAO_Notify_Event * new_event; - ACE_NEW_THROW_EX (new_event, - TAO_Notify_StructuredEvent (*this->notification_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - return new_event; -} - -CORBA::Boolean -TAO_Notify_StructuredEvent_No_Copy::do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) const -{ - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - " - "TAO_Notify_StructuredEvent::do_match ()\n")); - - return filter->match_structured (*this->notification_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredEvent_No_Copy::convert (CosNotification::StructuredEvent& notification) const -{ - notification = *this->notification_; -} - -void -TAO_Notify_StructuredEvent_No_Copy::push (TAO_Notify_Consumer* 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 (*this->notification_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredEvent_No_Copy::push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - forwarder->forward_structured (*this->notification_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredEvent_No_Copy::push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - forwarder->forward_structured_no_filtering (*this->notification_ ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredEvent_No_Copy::push (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - CORBA::Any any; - - TAO_Notify_Event::translate (*this->notification_, any); - - forwarder->forward_any (any ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredEvent_No_Copy::push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const -{ - CORBA::Any any; - - TAO_Notify_Event::translate (*this->notification_, any); - - forwarder->forward_any_no_filtering (any ACE_ENV_ARG_PARAMETER); -} - -/*****************************************************************************************************/ - -TAO_Notify_StructuredEvent::TAO_Notify_StructuredEvent (const CosNotification::StructuredEvent& notification) - : TAO_Notify_StructuredEvent_No_Copy (notification) - , notification_copy (notification) -{ - this->notification_ = ¬ification_copy; -} - -TAO_Notify_StructuredEvent::~TAO_Notify_StructuredEvent () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h deleted file mode 100644 index 5ed850afd93..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file StructuredEvent.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ -#ifndef TAO_Notify_STRUCTUREDEVENT_H -#define TAO_Notify_STRUCTUREDEVENT_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Event.h" -#include "orbsvcs/Notify/EventType.h" -#include "orbsvcs/CosNotificationC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_StructuredEvent; - -/** - * @class TAO_Notify_StructuredEvent_No_Copy - * - * @brief StructuredEvent implementation. - * - */ - -class TAO_Notify_Serv_Export TAO_Notify_StructuredEvent_No_Copy : public TAO_Notify_Event -{ -public: - /// Constuctor - TAO_Notify_StructuredEvent_No_Copy (const CosNotification::StructuredEvent& notification); - - /// Destructor - virtual ~TAO_Notify_StructuredEvent_No_Copy (); - - /// marshal this event into a CDR buffer (for persistence) - virtual void marshal (TAO_OutputCDR & cdr) const; - - CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) const; - - /// Convert to CosNotification::Structured type - virtual void convert (CosNotification::StructuredEvent& notification) const; - - /// Get the event type. - virtual const TAO_Notify_EventType& type (void) const; - - /// Push event to consumer - virtual void push (TAO_Notify_Consumer* consumer ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// Push event to the Event_Forwarder interface - virtual void push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const; - - /// unmarshal this event from a CDR buffer (for persistence) - /// \return the new event, or NULL if this is the wrong type of event. - static TAO_Notify_StructuredEvent * unmarshal (TAO_InputCDR & cdr); - -protected: - /// returns a copy of this event allocated on the heap - virtual TAO_Notify_Event * copy (ACE_ENV_SINGLE_ARG_DECL) const; - - /// Structured Event - const CosNotification::StructuredEvent* notification_; - - /// Our type. - const TAO_Notify_EventType type_; -}; - -/*****************************************************************************/ - -/** - * @class TAO_Notify_StructuredEvent - * - * @brief StructuredEvent implementation. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_StructuredEvent : public TAO_Notify_StructuredEvent_No_Copy -{ -public: - /// Constuctor - TAO_Notify_StructuredEvent (const CosNotification::StructuredEvent& notification); - - /// Destructor - virtual ~TAO_Notify_StructuredEvent (); - - -protected: - /// Copy of the Event. - CosNotification::StructuredEvent notification_copy; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_STRUCTUREDEVENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp deleted file mode 100644 index d79e907a741..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp +++ /dev/null @@ -1,135 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h" - -ACE_RCSID(RT_Notify, TAO_Notify_StructuredProxyPushConsumer, "$Id$") - -#include "ace/Bound_Ptr.h" -#include "ace/Auto_Ptr.h" -#include "tao/debug.h" -#include "orbsvcs/Notify/Structured/StructuredPushSupplier.h" -#include "orbsvcs/Notify/Structured/StructuredEvent.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_StructuredProxyPushConsumer::TAO_Notify_StructuredProxyPushConsumer (void) -{ -} - -TAO_Notify_StructuredProxyPushConsumer::~TAO_Notify_StructuredProxyPushConsumer () -{ -} - -void -TAO_Notify_StructuredProxyPushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -CosNotifyChannelAdmin::ProxyType -TAO_Notify_StructuredProxyPushConsumer::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::PUSH_STRUCTURED; -} - -void -TAO_Notify_StructuredProxyPushConsumer::connect_structured_push_supplier (CosNotifyComm::StructuredPushSupplier_ptr push_supplier ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - )) -{ - // Convert Supplier to Base Type - TAO_Notify_StructuredPushSupplier * supplier; - ACE_NEW_THROW_EX (supplier, - TAO_Notify_StructuredPushSupplier (this), - CORBA::NO_MEMORY ()); - - supplier->init (push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->connect (supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredProxyPushConsumer::push_structured_event (const CosNotification::StructuredEvent & notification ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventComm::Disconnected - )) -{ - // Check if we should proceed at all. - if (this->admin_properties().reject_new_events () == 1 - && this->admin_properties().queue_full ()) - ACE_THROW (CORBA::IMP_LIMIT ()); - - if (this->is_connected () == 0) - { - ACE_THROW (CosEventComm::Disconnected ()); - } - - TAO_Notify_StructuredEvent_No_Copy event (notification); - this->push_i (&event ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredProxyPushConsumer::disconnect_structured_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_StructuredProxyPushConsumer::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -const char * -TAO_Notify_StructuredProxyPushConsumer::get_proxy_type_name (void) const -{ - return "structured_proxy_push_consumer"; -} - -void -TAO_Notify_StructuredProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs) -{ - SuperClass::load_attrs(attrs); - ACE_CString ior; - if (attrs.load("PeerIOR", ior)) - { - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - ACE_TRY_CHECK; - CosNotifyComm::StructuredPushSupplier_var ps = CosNotifyComm::StructuredPushSupplier::_nil(); - if ( ior.length() > 0 ) - { - CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - ps = CosNotifyComm::StructuredPushSupplier::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - // minor hack: suppress generating subscription updates during reload. - bool save_updates = this->updates_off_; - this->updates_off_ = true; - this->connect_structured_push_supplier(ps.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - this->updates_off_ = save_updates; - } - ACE_CATCHANY - { - // if we can't reconnect to peer, tough... - } - ACE_ENDTRY; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h deleted file mode 100644 index 82ec83de086..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file StructuredProxyPushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_STRUCTUREDPROXYPUSHCONSUMER_H -#define TAO_Notify_STRUCTUREDPROXYPUSHCONSUMER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" - -#include "orbsvcs/Notify/ProxyConsumer_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_StructuredProxyPushConsumer - * - * @brief CosNotifyChannelAdmin::StructuredProxyPushConsumer implementation. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_StructuredProxyPushConsumer - : public virtual TAO_Notify_ProxyConsumer_T -{ - typedef TAO_Notify_ProxyConsumer_T SuperClass; - friend class TAO_Notify_Builder; - -public: - /// Constuctor - TAO_Notify_StructuredProxyPushConsumer (void); - - /// Destructor - virtual ~TAO_Notify_StructuredProxyPushConsumer (); - - - virtual void load_attrs (const TAO_Notify::NVPList& attrs); - -protected: - - // = interface methods - virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - 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 - )); - - virtual const char * get_proxy_type_name (void) const; - -private: - - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_STRUCTUREDPROXYPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp deleted file mode 100644 index 10e753f3437..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp +++ /dev/null @@ -1,111 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h" - -#include "tao/PortableServer/Servant_Base.h" -#include "tao/debug.h" - -#include "orbsvcs/Notify/Structured/StructuredPushConsumer.h" -#include "orbsvcs/Notify/Properties.h" - - -ACE_RCSID(RT_Notify, TAO_Notify_StructuredProxyPushSupplier, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_StructuredProxyPushSupplier::TAO_Notify_StructuredProxyPushSupplier (void) -{ -} - -TAO_Notify_StructuredProxyPushSupplier::~TAO_Notify_StructuredProxyPushSupplier () -{ -} - -void -TAO_Notify_StructuredProxyPushSupplier::release (void) -{ - delete this; - //@@ inform factory -} - -CosNotifyChannelAdmin::ProxyType -TAO_Notify_StructuredProxyPushSupplier::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return CosNotifyChannelAdmin::PUSH_STRUCTURED; -} - -void -TAO_Notify_StructuredProxyPushSupplier::connect_structured_push_consumer (CosNotifyComm::StructuredPushConsumer_ptr push_consumer ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosEventChannelAdmin::AlreadyConnected - , CosEventChannelAdmin::TypeError - )) -{ - // Convert Consumer to Base Type - TAO_Notify_StructuredPushConsumer* consumer; - ACE_NEW_THROW_EX (consumer, - TAO_Notify_StructuredPushConsumer (this), - CORBA::NO_MEMORY ()); - - consumer->init (push_consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->connect (consumer ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredProxyPushSupplier::disconnect_structured_push_supplier (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) - -{ - TAO_Notify_StructuredProxyPushSupplier::Ptr guard( this ); - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -const char * -TAO_Notify_StructuredProxyPushSupplier::get_proxy_type_name (void) const -{ - return "structured_proxy_push_supplier"; -} - -void -TAO_Notify_StructuredProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& attrs) -{ - SuperClass::load_attrs(attrs); - ACE_CString ior; - if (attrs.load("PeerIOR", ior)) - { - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CosNotifyComm::StructuredPushConsumer_var pc = CosNotifyComm::StructuredPushConsumer::_nil(); - if (ior.length() > 0) - { - CORBA::Object_var obj = orb->string_to_object(ior.c_str() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - pc = CosNotifyComm::StructuredPushConsumer::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - this->connect_structured_push_consumer(pc.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // if we can't connect... tough - } - ACE_ENDTRY; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h deleted file mode 100644 index b3a3526dbe9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file StructuredProxyPushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_STRUCTUREDPROXYPUSHSUPPLIER_H -#define TAO_Notify_STRUCTUREDPROXYPUSHSUPPLIER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyChannelAdminS.h" -#include "orbsvcs/Event_ForwarderS.h" - -#include "orbsvcs/Notify/ProxySupplier_T.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -template class TAO_Notify_Serv_Export -TAO_Notify_ProxySupplier_T; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ - -/** - * @class TAO_Notify_StructuredProxyPushSupplier - * - * @brief Implements the CosNotifyChannelAdmin::StructuredProxyPushSupplier methods. - * - * - */ -class TAO_Notify_Serv_Export TAO_Notify_StructuredProxyPushSupplier - : public virtual TAO_Notify_ProxySupplier_T -{ - typedef TAO_Notify_ProxySupplier_T SuperClass; - friend class TAO_Notify_Builder; - -public: - /// Constuctor - TAO_Notify_StructuredProxyPushSupplier (void); - - /// Destructor - virtual ~TAO_Notify_StructuredProxyPushSupplier (); - - - virtual void load_attrs (const TAO_Notify::NVPList& attrs); - - /// = Servant methods - // = interface methods - virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - 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 - )); - - virtual const char * get_proxy_type_name (void) const; - -private: - - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_STRUCTUREDPROXYPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp deleted file mode 100644 index feb1b56c29c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp +++ /dev/null @@ -1,101 +0,0 @@ -// $Id$ -#include "orbsvcs/Notify/Structured/StructuredPushConsumer.h" - -ACE_RCSID(RT_Notify, TAO_Notify_StructuredPushConsumer, "$Id$") - -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Event.h" -#include "ace/Bound_Ptr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_StructuredPushConsumer::TAO_Notify_StructuredPushConsumer (TAO_Notify_ProxySupplier* proxy) - :TAO_Notify_Consumer (proxy) -{ -} - -TAO_Notify_StructuredPushConsumer::~TAO_Notify_StructuredPushConsumer () -{ -} - -void -TAO_Notify_StructuredPushConsumer::init (CosNotifyComm::StructuredPushConsumer_ptr push_consumer ACE_ENV_ARG_DECL) -{ - // Initialize only once - ACE_ASSERT( CORBA::is_nil (this->push_consumer_.in()) ); - - if (CORBA::is_nil (push_consumer)) - { - ACE_THROW (CORBA::BAD_PARAM()); - } - - this->push_consumer_ = CosNotifyComm::StructuredPushConsumer::_duplicate (push_consumer); - - this->publish_ = CosNotifyComm::NotifyPublish::_duplicate (push_consumer); - -} - -void -TAO_Notify_StructuredPushConsumer::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_StructuredPushConsumer::push (const CORBA::Any& event ACE_ENV_ARG_DECL) -{ - CosNotification::StructuredEvent notification; - - TAO_Notify_Event::translate (event, notification); - - this->push_consumer_->push_structured_event (notification ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_StructuredPushConsumer::push (const CosNotification::StructuredEvent& event ACE_ENV_ARG_DECL) -{ - this->push_consumer_->push_structured_event (event ACE_ENV_ARG_PARAMETER); -} - -/// Push a batch of events to this consumer. -void -TAO_Notify_StructuredPushConsumer::push (const CosNotification::EventBatch& event ACE_ENV_ARG_DECL_NOT_USED) -{ - ACE_ASSERT(false); - ACE_UNUSED_ARG (event); - // TODO exception? -} - -void -TAO_Notify_StructuredPushConsumer::reconnect_from_consumer (TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL) -{ - TAO_Notify_StructuredPushConsumer* tmp = dynamic_cast (old_consumer); - ACE_ASSERT(tmp != 0); - this->init(tmp->push_consumer_.in() ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - this->schedule_timer(false); -} - -ACE_CString -TAO_Notify_StructuredPushConsumer::get_ior (void) const -{ - ACE_CString result; - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::String_var ior = orb->object_to_string(this->push_consumer_.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = static_cast (ior.in ()); - } - ACE_CATCHANY - { - result.fast_clear(); - } - ACE_ENDTRY; - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h deleted file mode 100644 index 9b9d603d383..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file StructuredPushConsumer.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_STRUCTUREDPUSHCONSUMER_H -#define TAO_Notify_STRUCTUREDPUSHCONSUMER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyCommC.h" -#include "orbsvcs/Notify/Consumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxySupplier; - -/** - * @class TAO_Notify_StructuredPushConsumer - * - * @brief Wrapper for the StructuredPushConsumer that connect to the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_StructuredPushConsumer : public TAO_Notify_Consumer -{ -public: - /// Constuctor - TAO_Notify_StructuredPushConsumer (TAO_Notify_ProxySupplier* proxy); - - /// Init the Consumer - void init (CosNotifyComm::StructuredPushConsumer_ptr push_consumer ACE_ENV_ARG_DECL); - - /// Destructor - virtual ~TAO_Notify_StructuredPushConsumer (); - - /// Push to this consumer. -// virtual void push_i (const TAO_Notify_Event* event ACE_ENV_ARG_DECL); - - /// Push to this consumer. - virtual void push (const CORBA::Any& event ACE_ENV_ARG_DECL); - - /// Push to this consumer. - virtual void push (const CosNotification::StructuredEvent& event ACE_ENV_ARG_DECL); - - /// Push a batch of events to this consumer. - virtual void push (const CosNotification::EventBatch& event ACE_ENV_ARG_DECL); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const; - - /// on reconnect we need to move events from the old consumer - /// to the new one - virtual void reconnect_from_consumer ( - TAO_Notify_Consumer* old_consumer - ACE_ENV_ARG_DECL); - - -protected: - /// The Consumer - CosNotifyComm::StructuredPushConsumer_var push_consumer_; - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_STRUCTUREDPUSHCONSUMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp deleted file mode 100644 index 69e28687a34..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Structured/StructuredPushSupplier.h" - -ACE_RCSID(RT_Notify, TAO_Notify_StructuredPushSupplier, "$Id$") -#include "orbsvcs/Notify/Properties.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_StructuredPushSupplier::TAO_Notify_StructuredPushSupplier (TAO_Notify_ProxyConsumer* proxy) - :TAO_Notify_Supplier (proxy) -{ -} - -TAO_Notify_StructuredPushSupplier::~TAO_Notify_StructuredPushSupplier () -{ -} - -void -TAO_Notify_StructuredPushSupplier::init (CosNotifyComm::StructuredPushSupplier_ptr push_supplier ACE_ENV_ARG_DECL_NOT_USED) -{ - // TODO: verify single init call - // push_supplier is optional - this->push_supplier_ = CosNotifyComm::StructuredPushSupplier::_duplicate (push_supplier); - this->subscribe_ = CosNotifyComm::NotifySubscribe::_duplicate (push_supplier); -} - -void -TAO_Notify_StructuredPushSupplier::release (void) -{ - delete this; - //@@ inform factory -} - -ACE_CString -TAO_Notify_StructuredPushSupplier::get_ior (void) const -{ - ACE_CString result; - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CORBA::String_var ior = orb->object_to_string(this->push_supplier_.in() ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - result = static_cast (ior.in ()); - } - ACE_CATCHANY - { - result.fast_clear(); - } - ACE_ENDTRY; - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h deleted file mode 100644 index b123bdb35d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file StructuredPushSupplier.h - * - * $Id$ - * - * @author Pradeep Gore - * - * - */ - -#ifndef TAO_Notify_STRUCTUREDPUSHSUPPLIER_H -#define TAO_Notify_STRUCTUREDPUSHSUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotifyCommC.h" -#include "orbsvcs/Notify/Supplier.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxyConsumer; - -/** - * @class TAO_Notify_StructuredPushSupplier - * - * @brief Wrapper for the StructuredPushSupplier that connect to the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_StructuredPushSupplier : public TAO_Notify_Supplier -{ -public: - /// Constuctor - TAO_Notify_StructuredPushSupplier (TAO_Notify_ProxyConsumer* proxy); - - /// Destructor - virtual ~TAO_Notify_StructuredPushSupplier (); - - /// Init - void init (CosNotifyComm::StructuredPushSupplier_ptr push_supplier ACE_ENV_ARG_DECL); - - /// Retrieve the ior of this peer - virtual ACE_CString get_ior (void) const; - -protected: - /// The Supplier - CosNotifyComm::StructuredPushSupplier_var push_supplier_; - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_STRUCTUREDPUSHSUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.cpp b/TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.cpp deleted file mode 100644 index 70e0e846b04..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Subscription_Change_Worker.h" - -#include "orbsvcs/Notify/Proxy.h" - -ACE_RCSID(Notify, TAO_Subscription_Change_Worker, "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Subscription_Change_Worker::TAO_Notify_Subscription_Change_Worker ( - const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed) - : added_ (added), removed_ (removed) -{ -} - -TAO_Notify_Subscription_Change_Worker::~TAO_Notify_Subscription_Change_Worker () -{ -} - -void -TAO_Notify_Subscription_Change_Worker::work (TAO_Notify_Proxy* proxy ACE_ENV_ARG_DECL) -{ - proxy->admin_types_changed (this->added_, this->removed_ ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.h b/TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.h deleted file mode 100644 index dc17f2a64b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -/** - * @file Subscription_Change_Worker.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_SUBSCRIPTION_CHANGE_WORKER_H -#define TAO_SUBSCRIPTION_CHANGE_WORKER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNotificationC.h" -#include "orbsvcs/ESF/ESF_Worker.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Proxy; - -/** - * @class TAO_Subscription_Change_Worker - * - * @brief - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Subscription_Change_Worker : public TAO_ESF_Worker -{ -public: - /// Constuctor - TAO_Notify_Subscription_Change_Worker (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed); - - /// Destructor - virtual ~TAO_Notify_Subscription_Change_Worker (); - - ///= TAO_ESF_Worker method - void work (TAO_Notify_Proxy* proxy ACE_ENV_ARG_DECL); - -protected: - const CosNotification::EventTypeSeq & added_; - const CosNotification::EventTypeSeq & removed_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_SUBSCRIPTION_CHANGE_WORKER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Supplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Supplier.cpp deleted file mode 100644 index bf1d0eae7ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Supplier.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Supplier.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Supplier.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Notify, TAO_Notify_Supplier, "$Id$") - -#include "orbsvcs/Notify/ProxyConsumer.h" -#include "orbsvcs/Notify/Proxy.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Supplier::TAO_Notify_Supplier (TAO_Notify_ProxyConsumer* proxy) - : proxy_ (proxy) -{ -} - -TAO_Notify_Supplier::~TAO_Notify_Supplier () -{ -} - -TAO_Notify_Proxy* -TAO_Notify_Supplier::proxy (void) -{ - return this->proxy_consumer (); -} - -void -TAO_Notify_Supplier::dispatch_updates_i ( - const CosNotification::EventTypeSeq& added, - const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL) -{ - if (!CORBA::is_nil (this->subscribe_.in ())) - this->subscribe_->subscription_change (added, removed ACE_ENV_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Supplier.h b/TAO/orbsvcs/orbsvcs/Notify/Supplier.h deleted file mode 100644 index f8032aae3d7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Supplier.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -/** - * @file Supplier.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_SUPPLIER_H -#define TAO_Notify_SUPPLIER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Peer.h" - -#include "orbsvcs/CosNotifyCommC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxyConsumer; - -/** - * @class TAO_Notify_Supplier - * - * @brief Base Wrappers for Suppliers that connect to the EventChannel. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Supplier : public TAO_Notify_Peer -{ -public: - /// Constuctor - TAO_Notify_Supplier (TAO_Notify_ProxyConsumer* proxy); - - /// Destructor - virtual ~TAO_Notify_Supplier (); - - /// Access Specific Proxy. - TAO_Notify_ProxyConsumer* proxy_consumer (void); - - /// Access Base Proxy. - virtual TAO_Notify_Proxy* proxy (void); - -protected: - /// Dispatch updates implementation. - virtual void dispatch_updates_i (const CosNotification::EventTypeSeq& added, - const CosNotification::EventTypeSeq& removed - ACE_ENV_ARG_DECL); - - /// The proxy that we associate with. - TAO_Notify_ProxyConsumer* proxy_; - - /// Interface that accepts subscription_changes - CosNotifyComm::NotifySubscribe_var subscribe_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Supplier.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_SUPPLIER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Supplier.inl b/TAO/orbsvcs/orbsvcs/Notify/Supplier.inl deleted file mode 100644 index 19d48fb5634..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Supplier.inl +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_Notify_ProxyConsumer* -TAO_Notify_Supplier::proxy_consumer (void) -{ - return this->proxy_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp deleted file mode 100644 index 71ff8590b4c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp +++ /dev/null @@ -1,430 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/SupplierAdmin.h" - -ACE_RCSID (RT_Notify, - TAO_Notify_SupplierAdmin, - "$Id$") - -#include "orbsvcs/Notify/Builder.h" -#include "orbsvcs/Notify/ProxyConsumer.h" -#include "orbsvcs/Notify/EventChannel.h" -#include "orbsvcs/Notify/Subscription_Change_Worker.h" -#include "orbsvcs/Notify/Find_Worker_T.h" -#include "orbsvcs/Notify/Seq_Worker_T.h" -#include "orbsvcs/Notify/Properties.h" - -#include "tao/debug.h" - -#include "orbsvcs/ESF/ESF_Proxy_Collection.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -typedef TAO_Notify_Find_Worker_T -TAO_Notify_ProxyConsumer_Find_Worker; - -typedef TAO_Notify_Seq_Worker_T TAO_Notify_Proxy_Seq_Worker; - -TAO_Notify_SupplierAdmin::TAO_Notify_SupplierAdmin (void) - : TAO_Notify_Admin () -{ -} - -const char * -TAO_Notify_SupplierAdmin::get_admin_type_name () const -{ - return "supplier_admin"; -} - -TAO_Notify_SupplierAdmin::~TAO_Notify_SupplierAdmin () -{ -} - -void -TAO_Notify_SupplierAdmin::init (TAO_Notify_EventChannel *ec ACE_ENV_ARG_DECL) -{ - TAO_Notify_Admin::init (ec ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - const CosNotification::QoSProperties &default_sa_qos = - TAO_Notify_PROPERTIES::instance ()->default_supplier_admin_qos_properties (); - - this->set_qos (default_sa_qos ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_SupplierAdmin::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_incr_refcnt (); -} - -void -TAO_Notify_SupplierAdmin::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->_decr_refcnt (); -} - -void -TAO_Notify_SupplierAdmin::release (void) -{ - delete this; - //@@ inform factory -} - -void -TAO_Notify_SupplierAdmin::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - int result = this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - if ( result == 1) - return; - - this->ec_->remove (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_Notify::Topology_Object* -TAO_Notify_SupplierAdmin::load_child (const ACE_CString &type, - CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL) -{ - TAO_Notify::Topology_Object* result = this; - if (type == "proxy_push_consumer") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, CosNotifyChannelAdmin::ANY_EVENT, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else if (type == "structured_proxy_push_consumer") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, CosNotifyChannelAdmin::STRUCTURED_EVENT, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else if (type == "sequence_proxy_push_consumer") - { - if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Admin reload proxy %d\n") - , static_cast (id) - )); - result = this->load_proxy(id, CosNotifyChannelAdmin::SEQUENCE_EVENT, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else - { - result = TAO_Notify_Admin::load_child (type, id, attrs ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - return result; -} - -TAO_Notify::Topology_Object* -TAO_Notify_SupplierAdmin::load_proxy ( - CORBA::Long id, - CosNotifyChannelAdmin::ClientType ctype, - const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL) -{ - TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder(); - TAO_Notify_ProxyConsumer * proxy = - bld->build_proxy (this - , ctype - , id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(0); - ACE_ASSERT(proxy != 0); - proxy->load_attrs (attrs); - return proxy; -} - - -void -TAO_Notify_SupplierAdmin::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotification::UnsupportedQoS - )) -{ - this->TAO_Notify_Object::set_qos (qos ACE_ENV_ARG_PARAMETER); -} - -CosNotification::QoSProperties* -TAO_Notify_SupplierAdmin::get_qos (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->TAO_Notify_Object::get_qos (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxyConsumer_ptr -TAO_Notify_SupplierAdmin::obtain_notification_push_consumer (CosNotifyChannelAdmin::ClientType ctype - , CosNotifyChannelAdmin::ProxyID_out proxy_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminLimitExceeded - )) - -{ - CosNotification::QoSProperties initial_qos; - - CosNotifyChannelAdmin::ProxyConsumer_var proxy = - TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this - , ctype - , proxy_id - , initial_qos - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - return proxy._retn (); -} - -CosNotifyChannelAdmin::ProxyConsumer_ptr -TAO_Notify_SupplierAdmin::obtain_notification_push_consumer_with_qos (CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID_out proxy_id, - const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::AdminLimitExceeded - , CosNotification::UnsupportedQoS - )) -{ - CosNotifyChannelAdmin::ProxyConsumer_var proxy = - TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this - , ctype - , proxy_id, - initial_qos - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - return proxy._retn (); -} - - -CosEventChannelAdmin::ProxyPushConsumer_ptr -TAO_Notify_SupplierAdmin::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosEventChannelAdmin::ProxyPushConsumer_var proxy = - TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (proxy._retn ()); - return proxy._retn (); -} - -CosNotifyChannelAdmin::AdminID -TAO_Notify_SupplierAdmin::MyID (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->id (); -} - -CosNotifyChannelAdmin::EventChannel_ptr -TAO_Notify_SupplierAdmin::MyChannel (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->ec_->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -::CosNotifyChannelAdmin::InterFilterGroupOperator -TAO_Notify_SupplierAdmin::MyOperator (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - return this->filter_operator_; -} - -CosNotifyChannelAdmin::ProxyIDSeq* -TAO_Notify_SupplierAdmin::push_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - TAO_Notify_Proxy_Seq_Worker seq_worker; - - return seq_worker.create (this->proxy_container() ACE_ENV_ARG_PARAMETER); -} - -CosNotifyChannelAdmin::ProxyConsumer_ptr -TAO_Notify_SupplierAdmin::get_proxy_consumer (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyChannelAdmin::ProxyNotFound - )) -{ - TAO_Notify_ProxyConsumer_Find_Worker find_worker; - - return find_worker.resolve (proxy_id, this->proxy_container() ACE_ENV_ARG_PARAMETER); -} - -void -TAO_Notify_SupplierAdmin::offer_change (const CosNotification::EventTypeSeq & added, - const CosNotification::EventTypeSeq & removed - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , CosNotifyComm::InvalidEventType - )) - -{ - TAO_Notify_EventTypeSeq seq_added (added); - TAO_Notify_EventTypeSeq seq_removed (removed); - - { - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK; - - this->subscribed_types_.add_and_remove (seq_added, seq_removed); - - TAO_Notify_Subscription_Change_Worker worker (added, removed); - - this->proxy_container().collection ()->for_each (&worker ACE_ENV_ARG_PARAMETER); - } -} - -CosNotifyFilter::FilterID -TAO_Notify_SupplierAdmin::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - CosNotifyFilter::FilterID fid = - this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (fid); - this->self_change (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (fid); - return fid; -} - -void -TAO_Notify_SupplierAdmin::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::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::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::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -/************** UNIMPLEMENTED METHODS ***************/ - -CosEventChannelAdmin::ProxyPullConsumer_ptr -TAO_Notify_SupplierAdmin::obtain_pull_consumer (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosEventChannelAdmin::ProxyPullConsumer::_nil ()); -} - -CosNotifyChannelAdmin::ProxyIDSeq* -TAO_Notify_SupplierAdmin::pull_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - )) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - - -void -TAO_Notify_SupplierAdmin::validate_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 ()); -} - -CosNotifyChannelAdmin::ProxyConsumer_ptr -TAO_Notify_SupplierAdmin::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 ()); -} - -TAO_Notify_ProxyConsumer * -TAO_Notify_SupplierAdmin::find_proxy_consumer ( - TAO_Notify::IdVec & id_path, - size_t position - ACE_ENV_ARG_DECL) -{ - TAO_Notify_ProxyConsumer * result = 0; - size_t path_size = id_path.size (); - if (position < path_size) - { - TAO_Notify_ProxyConsumer_Find_Worker find_worker; - TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], this->proxy_container() ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - result = dynamic_cast (proxy); - } - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h deleted file mode 100644 index eeeaf0d40ab..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h +++ /dev/null @@ -1,219 +0,0 @@ -// -*- C++ -*- - -/** - * @file SupplierAdmin.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_SUPPLIERADMIN_H -#define TAO_Notify_SUPPLIERADMIN_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Admin.h" - -#include "orbsvcs/NotifyExtS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_ProxyConsumer; - -/** - * @class TAO_Notify_SupplierAdmin - * - * @brief Implementation of CosNotifyChannelAdmin::SupplierAdmin - * - */ -class TAO_Notify_Serv_Export TAO_Notify_SupplierAdmin - : public virtual POA_NotifyExt::SupplierAdmin, - public virtual TAO_Notify_Admin -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_SupplierAdmin > Ptr; - - /// Constuctor - TAO_Notify_SupplierAdmin (void); - - /// Destructor - virtual ~TAO_Notify_SupplierAdmin (); - - /// Init - void init (TAO_Notify_EventChannel *ec ACE_ENV_ARG_DECL); - - /// ServantBase refcount methods. - virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - - - virtual const char * get_admin_type_name () const; - - virtual TAO_Notify::Topology_Object* load_child ( - const ACE_CString &type, - CORBA::Long id, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL); - - TAO_Notify_ProxyConsumer * find_proxy_consumer ( - TAO_Notify::IdVec & id_path, - size_t position - ACE_ENV_ARG_DECL); - -protected: - - TAO_Notify::Topology_Object *load_proxy ( - CORBA::Long id, - CosNotifyChannelAdmin::ClientType ctype, - const TAO_Notify::NVPList& attrs - ACE_ENV_ARG_DECL); - - /// = NotifyExt::SupplierAdmin methods - CosNotifyChannelAdmin::ProxyConsumer_ptr - obtain_notification_push_consumer_with_qos ( - CosNotifyChannelAdmin::ClientType ctype, - CosNotifyChannelAdmin::ProxyID_out proxy_id, - const CosNotification::QoSProperties & initial_qos - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, - CosNotifyChannelAdmin::AdminLimitExceeded, - CosNotification::UnsupportedQoS)); - - /// = CosNotifyChannelAdmin::SupplierAdmin 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 ::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)); - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_SUPPLIERADMIN_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Supplier_Map.h b/TAO/orbsvcs/orbsvcs/Notify/Supplier_Map.h deleted file mode 100644 index 0a28afc1792..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Supplier_Map.h +++ /dev/null @@ -1,37 +0,0 @@ -// -*- C++ -*- - -/** - * @file Supplier_Map.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_SUPPLIER_MAP_H -#define TAO_Notify_SUPPLIER_MAP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Event_Map_T.h" -#include "orbsvcs/Notify/ProxyConsumer.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @typedef TAO_Notify_Supplier_Map - * - * @brief The Event Map for Suppliers. - * - */ -typedef TAO_Notify_Event_Map_T TAO_Notify_Supplier_Map; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_SUPPLIER_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp b/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp deleted file mode 100644 index 01a7a51711f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp +++ /dev/null @@ -1,200 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/ThreadPool_Task.h" - -ACE_RCSID(Notify, TAO_Notify_ThreadPool_Task, "$Id$") - -#include "orbsvcs/Notify/Properties.h" -#include "orbsvcs/Notify/Timer_Queue.h" -#include "orbsvcs/Notify/Buffering_Strategy.h" - -#include "tao/debug.h" -#include "tao/ORB_Core.h" - -#include "ace/OS_NS_errno.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_ThreadPool_Task::TAO_Notify_ThreadPool_Task (void) -: shutdown_ (false) -{ -} - -TAO_Notify_ThreadPool_Task::~TAO_Notify_ThreadPool_Task () -{ -} - -int -TAO_Notify_ThreadPool_Task::init (int argc, ACE_TCHAR **argv) -{ - return this->ACE_Task::init (argc, argv); -} - -TAO_Notify_Timer* -TAO_Notify_ThreadPool_Task::timer (void) -{ - return this->timer_.get(); -} - -void -TAO_Notify_ThreadPool_Task::init (const NotifyExt::ThreadPoolParams& tp_params, - const TAO_Notify_AdminProperties::Ptr& admin_properties ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (this->timer_.get() == 0); - - TAO_Notify_Timer_Queue* timer = 0; - ACE_NEW_THROW_EX (timer, - TAO_Notify_Timer_Queue (), - CORBA::NO_MEMORY ()); - ACE_CHECK; - this->timer_.reset (timer); - - - TAO_Notify_Buffering_Strategy* buffering_strategy = 0; - ACE_NEW_THROW_EX (buffering_strategy, - TAO_Notify_Buffering_Strategy (*msg_queue (), admin_properties), - CORBA::NO_MEMORY ()); - this->buffering_strategy_.reset (buffering_strategy); - ACE_CHECK; - - long flags = THR_NEW_LWP | THR_DETACHED; - CORBA::ORB_var orb = - TAO_Notify_PROPERTIES::instance()->orb (); - - flags |= - orb->orb_core ()->orb_params ()->thread_creation_flags (); - - // Guards the thread for auto-deletion; paired with close. - // This is done in the originating thread before the spawn to - // avoid any race conditions. - for ( CORBA::ULong i = 0; i < tp_params.static_threads; ++i ) - { - this->_incr_refcnt(); - } - - // Become an active object. - if (this->ACE_Task ::activate (flags, - tp_params.static_threads, - 0, - ACE_THR_PRI_OTHER_DEF) == -1) - { - // Undo the ref counts on error - for ( CORBA::ULong i = 0; i < tp_params.static_threads; ++i ) - { - this->_decr_refcnt(); - } - - if (TAO_debug_level > 0) - { - if (ACE_OS::last_error () == EPERM) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Insufficient privilege.\n"))); - else - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%t) task activation at priority %d failed\n") - ACE_TEXT ("exiting!\n%a"), - tp_params.default_priority)); - } - ACE_THROW (CORBA::BAD_PARAM ()); - } -} - -void -TAO_Notify_ThreadPool_Task::execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) -{ - if (!shutdown_) - { - TAO_Notify_Method_Request_Queueable* request_copy = method_request.copy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (this->buffering_strategy_->enqueue (request_copy) == -1) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "NS_ThreadPool_Task (%P|%t) - " - "failed to enqueue\n")); - } - } -} - -int -TAO_Notify_ThreadPool_Task::svc (void) -{ - TAO_Notify_Method_Request_Queueable* method_request; - - while (!shutdown_) - { - ACE_TRY_NEW_ENV - { - ACE_Time_Value* dequeue_blocking_time = 0; - ACE_Time_Value earliest_time; - - if (!this->timer_->impl().is_empty ()) - { - earliest_time = this->timer_->impl().earliest_time (); - dequeue_blocking_time = &earliest_time; - } - - // Dequeue 1 item - int result = buffering_strategy_->dequeue (method_request, dequeue_blocking_time); - - if (result > 0) - { - method_request->execute (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_Message_Block::release (method_request); - } - else if (errno == ETIME) - { - this->timer_->impl ().expire (); - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "ThreadPool_Task dequeue failed\n")); - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ThreadPool_Task (%P|%t) exception in method request\n"); - } - ACE_ENDTRY; - } /* while */ - - return 0; -} - -void -TAO_Notify_ThreadPool_Task::shutdown (void) -{ - if (this->shutdown_) - { - return; - } - - this->shutdown_ = true; - - this->buffering_strategy_->shutdown (); -} - -void -TAO_Notify_ThreadPool_Task::release (void) -{ - delete this; -} - -int -TAO_Notify_ThreadPool_Task::close (u_long) -{ - // _incr_refcnt() for each spawned thread in init() - this->_decr_refcnt(); - return 0; -} - -void -TAO_Notify_ThreadPool_Task::update_qos_properties (const TAO_Notify_QoSProperties& qos_properties) -{ - this->buffering_strategy_->update_qos_properties (qos_properties); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h b/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h deleted file mode 100644 index ffff9d3a1a6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/ThreadPool_Task.h +++ /dev/null @@ -1,98 +0,0 @@ -// -*- C++ -*- - -/** - * @file ThreadPool_Task.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_THREADPOOL_TASK_H -#define TAO_Notify_THREADPOOL_TASK_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#include "orbsvcs/Notify/Timer_Queue.h" -#include "orbsvcs/Notify/AdminProperties.h" -#include "orbsvcs/Notify/Worker_Task.h" - -#include "ace/Task.h" -#include "ace/Message_Queue.h" -#include "ace/Reactor.h" -#include "ace/Null_Condition.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_Buffering_Strategy; - -/** - * @class TAO_Notify_ThreadPool_Task - * - * @brief Implements a Thread Pool Worker Task. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_ThreadPool_Task - : public TAO_Notify_Worker_Task - , public ACE_Task -{ - friend class TAO_Notify_Method_Request_Shutdown; - -public: - /// Constuctor - TAO_Notify_ThreadPool_Task (void); - - /// Destructor - virtual ~TAO_Notify_ThreadPool_Task (); - - /// Call the base class init - virtual int init (int argc, ACE_TCHAR **argv); - - /// release reference to my self. - virtual int close (u_long flags); - - /// Activate the threadpool - void init (const NotifyExt::ThreadPoolParams& tp_params, const TAO_Notify_AdminProperties::Ptr& admin_properties ACE_ENV_ARG_DECL); - - /// Queue the request - virtual void execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL); - - /// Shutdown task - virtual void shutdown (); - - /// Update QoS Properties. - virtual void update_qos_properties (const TAO_Notify_QoSProperties& qos_properties); - - /// The object used by clients to register timers. - virtual TAO_Notify_Timer* timer (void); - -protected: - /// Task svc - virtual int svc (void); - -private: - /// Release - virtual void release (void); - - /// The buffering strategy to use. - ACE_Auto_Ptr< TAO_Notify_Buffering_Strategy > buffering_strategy_; - - /// Shutdown - bool shutdown_; - - /// The Queue based timer. - TAO_Notify_Timer_Queue::Ptr timer_; -}; - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_Notify_THREADPOOL_TASK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Timer.h b/TAO/orbsvcs/orbsvcs/Notify/Timer.h deleted file mode 100644 index 3b3a829f7e7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Timer.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- - -/** - * @file Timer.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_TIMER_H -#define TAO_Notify_TIMER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Refcountable.h" - -#include "ace/Time_Value.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Event_Handler; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Timer - * - * @brief Interface for scheduling timers. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Timer : public TAO_Notify_Refcountable -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Timer > Ptr; - /// Destructor - virtual ~TAO_Notify_Timer (){}; - - /// Schedule a timer - virtual long schedule_timer (ACE_Event_Handler *handler, - const ACE_Time_Value &delay_time, - const ACE_Time_Value &interval) = 0; - - /// Cancel Timer - virtual int cancel_timer (long timer_id) = 0; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_TIMER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.cpp b/TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.cpp deleted file mode 100644 index 642f313f2f3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Timer_Queue.h" - -ACE_RCSID (Notify, TAO_Notify_Timer_Queue, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Timer_Queue::TAO_Notify_Timer_Queue (void) -{ -} - -TAO_Notify_Timer_Queue::~TAO_Notify_Timer_Queue () -{ -} - -void -TAO_Notify_Timer_Queue::release (void) -{ - delete this; - //@@ inform factory -} - -long -TAO_Notify_Timer_Queue::schedule_timer (ACE_Event_Handler *handler, - const ACE_Time_Value &delay_time, - const ACE_Time_Value &interval) -{ - return - this->timer_queue_.schedule (handler, - 0, - timer_queue_.gettimeofday () + delay_time, - interval); -} - -int -TAO_Notify_Timer_Queue::cancel_timer (long timer_id) -{ - return this->timer_queue_.cancel (timer_id); -} - -ACE_Timer_Queue& -TAO_Notify_Timer_Queue::impl (void) -{ - return this->timer_queue_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.h b/TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.h deleted file mode 100644 index 3f0f021e217..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Timer_Queue.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -/** - * @file Timer_Queue.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_TIMER_QUEUE_H -#define TAO_Notify_TIMER_QUEUE_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#include "orbsvcs/Notify/Timer.h" - -#include "ace/Timer_Queue.h" -#include "ace/Timer_Heap.h" -#include "ace/Recursive_Thread_Mutex.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Timer_Queue - * - * @brief ACE_Timer_Queue based timer. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Timer_Queue : public TAO_Notify_Timer -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Timer_Queue > Ptr; - - /// Constuctor - TAO_Notify_Timer_Queue (void); - - /// Destructor - virtual ~TAO_Notify_Timer_Queue (); - - - /// Schedule a timer - virtual long schedule_timer (ACE_Event_Handler *handler, - const ACE_Time_Value &delay_time, - const ACE_Time_Value &interval); - - /// Cancel Timer - virtual int cancel_timer (long timer_id); - - /// Get the native impl. - ACE_Timer_Queue& impl (void); - -protected: - /// The Timer Queue - ACE_Timer_Heap timer_queue_; - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_TIMER_QUEUE_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp b/TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp deleted file mode 100644 index 8109a230c30..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Timer_Reactor.h" - -ACE_RCSID (Notify, - Timer_Reactor, - "$Id$") - -#include "orbsvcs/Notify/Properties.h" -#include "tao/ORB_Core.h" -#include "ace/Reactor.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Timer_Reactor::TAO_Notify_Timer_Reactor (void) - :reactor_ (0) -{ - // Get the ORB - CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb (); - - this->reactor_ = orb->orb_core ()->reactor (); -} - -TAO_Notify_Timer_Reactor::~TAO_Notify_Timer_Reactor () -{ -} - -void -TAO_Notify_Timer_Reactor::release (void) -{ - delete this; - //@@ inform factory -} - -long -TAO_Notify_Timer_Reactor::schedule_timer (ACE_Event_Handler *handler, - const ACE_Time_Value &delay_time, - const ACE_Time_Value &interval) -{ - return this->reactor_->schedule_timer (handler, 0, delay_time, interval); -} - -int -TAO_Notify_Timer_Reactor::cancel_timer (long timer_id) -{ - return this->reactor_->cancel_timer (timer_id); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.h b/TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.h deleted file mode 100644 index 31ef686604c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Timer_Reactor.h +++ /dev/null @@ -1,66 +0,0 @@ -// -*- C++ -*- - -/** - * @file Timer_Reactor.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_TIMER_REACTOR_H -#define TAO_Notify_TIMER_REACTOR_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" -#include "orbsvcs/Notify/Timer.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL -class ACE_Reactor; -ACE_END_VERSIONED_NAMESPACE_DECL - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Notify_Timer_Reactor - * - * @brief Reactor::instance based timer. The timers are dispatched by - * the main thread. - */ -class TAO_Notify_Serv_Export TAO_Notify_Timer_Reactor : public TAO_Notify_Timer -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Timer_Reactor > Ptr; - - /// Constuctor - TAO_Notify_Timer_Reactor (void); - - /// Destructor - virtual ~TAO_Notify_Timer_Reactor (); - - - /// Schedule a timer - virtual long schedule_timer (ACE_Event_Handler *handler, - const ACE_Time_Value &delay_time, - const ACE_Time_Value &interval); - - /// Cancel Timer - virtual int cancel_timer (long timer_id); - -protected: - /// The instance reactor that we use. - ACE_Reactor* reactor_; - -private: - /// Release - virtual void release (void); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_TIMER_REACTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h deleted file mode 100644 index 33f313825a6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -/** - * @file Topology_Factory.h - * - * $Id$ - * - * @author Dale Wilson - */ - -#ifndef TAO_NOTIFY_TOPOLOGY_FACTORY_H -#define TAO_NOTIFY_TOPOLOGY_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#include "ace/Service_Object.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - class Topology_Saver; - class Topology_Loader; - - /** - * @brief Service Object to allow dynamic control of the loaded saver factory. - * - */ - class TAO_Notify_Serv_Export Topology_Factory : public ACE_Service_Object - { - public: - /// Create a Saver. - /// \return a pointer to a Topology_Saver which must be deleted - /// by the caller. - virtual Topology_Saver* create_saver () = 0; - /// Create a Loader - /// \return a pointer to a Topology_Loader which must be deleted - /// by the caller. - virtual Topology_Loader* create_loader () = 0; - virtual ~Topology_Factory (); - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp b/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp deleted file mode 100644 index 27eeb6ad143..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Topology_Loader.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify::Topology_Loader::Topology_Loader () -{ -} - -TAO_Notify::Topology_Loader::~Topology_Loader () -{ -} - -void -TAO_Notify::Topology_Loader::close (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h deleted file mode 100644 index 599afa07985..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Topology_Loader.h - * - * $Id$ - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef TOPOLOGY_LOADER_H -#define TOPOLOGY_LOADER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" -#include "ace/CORBA_macros.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace CORBA -{ - class Environment; -} - -namespace TAO_Notify -{ - -/// A forward declaration. -class Topology_Object; - -/** - * \brief An interface for an object that loads Persistent Topology Information. - * - * A persistent store must provide an implemention this interface. - * - */ -class TAO_Notify_Serv_Export Topology_Loader -{ -public: - /// The constructor. - Topology_Loader (); - - /// The destructor. - virtual ~Topology_Loader (); - - /** \brief Begin the restore process. - * - * Call this function to start the reload of data from a persistent store. - * When the Topology_Loader detects a child object, it should - * call the load_child method of the object passed in, then do the same - * loading process on the returned object. - */ - virtual void load (Topology_Object *root ACE_ENV_ARG_DECL) = 0; - - /** - * \brief Close the loader after loading is complete. - * - * This is not pure virtual because some loaders may not need to be closed. - * The default implementation does nothing. - * - * There should be a corresponding open, but the signature may - * vary based on the type of loader, so we can't include it in the - * interface. - */ - virtual void close (ACE_ENV_SINGLE_ARG_DECL); -}; - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TOPOLOGY_LOADER */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp deleted file mode 100644 index ac174723aa3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp +++ /dev/null @@ -1,151 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Topology_Object.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Topology_Object.inl" -#endif /* __ACE_INLINE__ */ - -// question: is there a race_conditon with self_changed and children_changed? -// answer: toplogy_changed and/or children_changed must be set after the change is -// made, and before the call to child_change. -// self_changed and children_changed must be cleared before this object and its -// children have been saved in Topology_Object::save_persistent (). -// If these rules are followed, the only risk is a (harmless) extra save. - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - Topology_Savable::~Topology_Savable (void) - { - } - - void - Topology_Savable::reconnect (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - { - } - - Topology_Object::Topology_Object () - : TAO_Notify_Object () - , Topology_Savable () - , self_changed_ (false) - , children_changed_ (false) - , topology_parent_ (0) - { - } - - Topology_Object::~Topology_Object () - { - } - - void - Topology_Object::initialize (Topology_Parent* topology_parent ACE_ENV_ARG_DECL_NOT_USED) - { - ACE_ASSERT (topology_parent != 0 && this->topology_parent_ == 0); - this->topology_parent_ = topology_parent; - TAO_Notify_Object::initialize (topology_parent); - } - - Topology_Parent * - Topology_Object::topology_parent () const - { - return this->topology_parent_; - } - - - Topology_Object * - Topology_Object::load_child (const ACE_CString & /*type*/, - CORBA::Long /* id */, - const NVPList& /* attrs */ - ACE_ENV_ARG_DECL_NOT_USED) - { - return 0; - } - - bool - Topology_Object::is_persistent () const - { - bool result = false; - if (this->qos_properties_.event_reliability().is_valid ()) - { - result = CosNotification::Persistent == this->qos_properties_.event_reliability().value (); - } - else if (this->topology_parent () != 0) - { - result = this->topology_parent ()->is_persistent (); - } - return result; - } - - bool - Topology_Object::self_change (ACE_ENV_SINGLE_ARG_DECL) - { - this->self_changed_ = true; - return send_change (ACE_ENV_SINGLE_ARG_PARAMETER); - } - - bool - Topology_Object::send_change (ACE_ENV_SINGLE_ARG_DECL) - { - bool saving = false; - if (is_persistent ()) - { - while (this->self_changed_ || this->children_changed_) - { - saving = this->change_to_parent (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - if (!saving) - { - this->self_changed_ = false; - this->children_changed_ = false; - } - } - } - else - { - this->self_changed_ = false; - this->children_changed_ = false; - } - return saving; - } - - bool - Topology_Object::change_to_parent (ACE_ENV_SINGLE_ARG_DECL) - { - bool result = false; - Topology_Parent * parent = this->topology_parent(); - if (parent != 0) - { - result = parent->child_change(ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - } - return result; - } - - void - Topology_Object::get_id_path (TAO_Notify::IdVec & id_path) const - { - if (this->topology_parent() != 0) - { - this->topology_parent()->get_id_path (id_path); - } - id_path.push_back (this->get_id ()); - } - - TAO_Notify_Object::ID - Topology_Object::get_id () const - { - // If this assert triggers then implement the - // get_id method in the actual class - // derived from Topology_Object - // or else figure out why this method was called - // on an object that doesn't have an id. - ACE_ASSERT (false); - // if it is called in a release build, provide 'em a value - return -1; - } - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h deleted file mode 100644 index 53e825c0939..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h +++ /dev/null @@ -1,213 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** -* @file Topology_Object.h -* -* $Id$ -* -* @author Jonathan Pollack -*/ -//============================================================================= - -#ifndef TOPOLOGY_OBJECT_H -#define TOPOLOGY_OBJECT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/Object.h" -#include "orbsvcs/Notify/Name_Value_Pair.h" - -#include "ace/SString.h" -#include "ace/Vector_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// \namespace TAO_Notify -/// \brief A namespace to be used by all of TAO's Notification Service -/// implementation. -/// -/// The initial implementation used the TAO_Notify_ prefix rather than -/// a namespace. As part of the reliable Notification Service project -/// we started using this TAO_Notify namespace, but there are still -/// many parts of the Notification Service that are in the global -/// namespace with a TAO_NS prefix. - -// @@ Wouldn't it be better to use something like -// -// namespace TAO -// { -// namespace Notify {} -// -// } -// -namespace TAO_Notify -{ - class Topology_Saver; - class Topology_Parent; - - /// A vector of IDS. Used as a path from the EventChannelFactory to a proxy. - typedef ACE_Vector IdVec; - - /// \brief Interface to be implemented by savable topology objects. - class TAO_Notify_Serv_Export Topology_Savable - { - public: - /// Destructor. - virtual ~Topology_Savable (void); - - /// Save our state to a Topology_Saver. - /// - /// Use the methods of a Topology_Saver to store all information we want - /// persisted. This function is called by our parent, which gives us a - /// saver to use. In turn, we must call this function on all of our - /// children. - /// The implementation should look like: - /// bool change = this->self_changed_; - /// this->self_changed_ = false; - /// this->children_changed_ = false; - /// if (is_persistent ()) - /// { - /// bool want_all_children = saver.begin_object( - /// this->id(), type, attrs, change ACE_ENV_ARG_PARAMETER); - /// ACE_CHECK; - /// for all children - /// { - /// if (want_all_children || child.is_changed()) - /// { - /// child.save_persistent(saver ACE_ENV_ARG_PARAMETER); - /// ACE_CHECK; - /// } - /// } - /// for all deleted children - /// { - /// saver.delete_child(child_type, child_id); - /// } - /// saver.end_object(this->id(), type ACE_ENV_ARG_PARAMETER); - /// ) - virtual void save_persistent (Topology_Saver& saver ACE_ENV_ARG_DECL) = 0; - - /// Re-establish connections that we had before a shutdown. - /// - /// After a topology restore, this method is called so we can reconnect - /// to any external objects with whom we were interacting. We should - /// call the reconnect() method on all of our children to give them - /// the chance to do the same. - virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL_NOT_USED); - - }; - - /// \brief Base class for Persistent Topology Objects. - /// - /// Topology objects must be derived from this class to allow themselves - /// to be persisted. - /// Note: virtual inheritance from TopologySavable is unnecessary, - /// but HP ACC compiler warns if it's not there. - class TAO_Notify_Serv_Export Topology_Object : - public virtual TAO_Notify_Object, - public virtual Topology_Savable - { - public: - /// The constructor. - Topology_Object (); - - /// The destructor. - virtual ~Topology_Object (); - - /// Init this object with data from . - virtual void initialize (Topology_Parent* topology_parent ACE_ENV_ARG_DECL); - - /// \brief Create a child of the appropriate type and return it. - /// - /// Use "type" as passed in to determine what kind of child (supporting - /// the Topology_Object interface) to create and return. Inform it of - /// its new ID. - virtual Topology_Object* load_child (const ACE_CString & /*type*/, - CORBA::Long /* id */, - const NVPList& /* attrs */ - ACE_ENV_ARG_DECL_NOT_USED); - - /// \brief Find the id associated with topology object. - /// - /// A bit of a hack because id is unknown to Topology_Object - /// the get_id returns the same thing as id -- we just need someone - /// to find it for us. - virtual TAO_Notify_Object::ID get_id () const; - - /// \brief Get the path of id's from the root to this object. - void get_id_path (IdVec & id_path) const; - - /// \brief Is there an unsaved change for this object or its children? - bool is_changed () const; - - protected: - /// \brief Should this object be saved? - /// - /// This is a way for send_change() and save_persistent() to find out - /// if this object has a persistent QoS connection property. - /// \return true (default) if object should be saved. - virtual bool is_persistent () const; - - /// \brief Method to report change in this object - /// - /// see also Topology_Parent::child_change () - /// \return false if save will never happen - bool self_change (ACE_ENV_SINGLE_ARG_DECL); - - /// \brief pointer to our topological parent - /// - /// \return 0 if none - Topology_Parent * topology_parent () const; - - /// \brief Handle details of propagating change - /// - /// \return false if save will never happen - bool send_change (ACE_ENV_SINGLE_ARG_DECL); - - private: - /// \brief Send change to parent. - /// - /// Override this if you don't expect to have a parent - /// (top level of tree) - /// private virtual because this should only be called from send_change() - /// \return false if save will never happen - virtual bool change_to_parent (ACE_ENV_SINGLE_ARG_DECL); - - protected: - /// true if this object changed since last save_persistent - bool self_changed_; - /// true of any of this object's children changed since last save_persistent - bool children_changed_; - - /// A safely-typed copy of parent_; - Topology_Parent * topology_parent_; - }; - - /// \brief Interface for topology objects that act as parents. - /// - /// Any topology object which contains other topology objects - /// must implement this interface so that it's children can signal - /// that they have changed. - class TAO_Notify_Serv_Export Topology_Parent : public Topology_Object - { - public: - /// Called by a child that has changed. - /// A child calls this method to report that it has changed. - /// \return false if save will never happen - bool child_change (ACE_ENV_SINGLE_ARG_DECL); - }; - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Notify/Topology_Object.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TOPOLOGY_OBJECT */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl deleted file mode 100644 index 14363a16d6f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - ACE_INLINE - bool - Topology_Object::is_changed () const - { - return this->self_changed_ | this->children_changed_; - } - - ACE_INLINE - bool - Topology_Parent::child_change (ACE_ENV_SINGLE_ARG_DECL) - { - this->children_changed_ = true; - return send_change (ACE_ENV_SINGLE_ARG_PARAMETER); - } - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp b/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp deleted file mode 100644 index 65c9aa9f681..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Topology_Saver.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify::Topology_Saver::~Topology_Saver () -{ -} - -void -TAO_Notify::Topology_Saver::close (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h deleted file mode 100644 index 91648109b7a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h +++ /dev/null @@ -1,114 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** -* @file Topology_Saver.h -* -* $Id$ -* -* @author Jonathan Pollack -*/ -//============================================================================= - -#ifndef TOPOLOGY_SAVER_H -#define TOPOLOGY_SAVER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/Topology_Object.h" -#include "orbsvcs/Notify/notify_serv_export.h" - -#include "ace/SString.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - /** - * \brief An interface to be implemented by objects that save Topology. - * - * A persistent topology store must provide an implemention this interface. - * - */ - class TAO_Notify_Serv_Export Topology_Saver - { - public: - - /// The destructor. - virtual ~Topology_Saver (); - - /** \brief Begin the storage of an object. - * - * Call this function with the type and ID of an object to be stored. - * This object may have children, and this will necessitate nested calls - * to begin_object. - * Design principle: - * Names should be descriptive enough to allow the objects' parent to create - * an instance of the desired class. This instance will be registered - * with the poa using the id. - * The instance itself should will load its own attributes. - * Example is not a - * good design because the name "proxy" is not descriptive enough. - * " is better because this - * allows the parent to create the correct type of object without decoding - * attributes. - * \param id numeric id for this object - * \param type string containing the unique type name for this class of objects - * \param attrs a collection of name/value attributes - * \param change true if this object's attributes have changed. - * \return bool want_all_children. If true even changed children should be saved. - */ - virtual bool begin_object (CORBA::Long id, - const ACE_CString &type, - const NVPList& attrs, - bool changed - ACE_ENV_ARG_DECL) = 0; - - /** \brief Report deleted children to the saver. - * - * Use the ID and "type" as passed in to determine which child we should - * delete. A parent should call this function when one of its children - * is deleted. - * \param id numeric id for the deleted child - * \param type the type name for the class of the deleted child. - * - */ - virtual void delete_child ( - CORBA::Long id, - const ACE_CString & type - ACE_ENV_ARG_DECL_NOT_USED) - { - ACE_UNUSED_ARG (id); - ACE_UNUSED_ARG (type); - } - - /** \brief End the storage of an object. - * - * This function should be called to end the scope of the current object - * and commit it to the persistent store. - */ - virtual void end_object (CORBA::Long id, - const ACE_CString &type - ACE_ENV_ARG_DECL) = 0; - - /** - * \brief Close the saver. - * - * This is not pure virtual. The default implementation does nothing. - * - * There should be a corresponding open, but the signature may - * vary based on the type of saver, so we can't include it in the - * interface. - */ - virtual void close (ACE_ENV_SINGLE_ARG_DECL); - }; -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TOPOLOGY_SAVER */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/Worker_Task.cpp b/TAO/orbsvcs/orbsvcs/Notify/Worker_Task.cpp deleted file mode 100644 index 6fb6d3c2e6b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Worker_Task.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/Worker_Task.h" - -ACE_RCSID(Notify, TAO_Notify_Worker_Task, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Notify_Worker_Task::TAO_Notify_Worker_Task (void) -{ -} - -TAO_Notify_Worker_Task::~TAO_Notify_Worker_Task () -{ -} - -void -TAO_Notify_Worker_Task::update_qos_properties (const TAO_Notify_QoSProperties& /*qos_properties*/) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/Worker_Task.h b/TAO/orbsvcs/orbsvcs/Notify/Worker_Task.h deleted file mode 100644 index b1e529c56bd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/Worker_Task.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- - -/** - * @file Worker_Task.h - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef TAO_Notify_WORKER_TASK_H -#define TAO_Notify_WORKER_TASK_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/notify_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Method_Request.h" -#include "orbsvcs/Notify/Refcountable.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Notify_AdminProperties; -class TAO_Notify_QoSProperties; -class TAO_Notify_Timer; -class TAO_Notify_Buffering_Strategy; - -/** - * @class TAO_Notify_Worker_Task - * - * @brief Base Worker Task. - * - * Memory Management : The Worker Task should be allocated on the heap and - * the method should be called to release memory. - * - */ -class TAO_Notify_Serv_Export TAO_Notify_Worker_Task : public TAO_Notify_Refcountable -{ -public: - typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Worker_Task > Ptr; - - /// Constuctor - TAO_Notify_Worker_Task (void); - - /// Update QoS Properties. - virtual void update_qos_properties (const TAO_Notify_QoSProperties& qos_properties); - - ///= Public method to be implemented by subclasses. - /// Exec the request. - virtual void execute (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) = 0; - - /// Shutdown task - virtual void shutdown (void) = 0; - - /// The object used by clients to register timers. - virtual TAO_Notify_Timer* timer (void) = 0; - - -protected: - /// Destructor - virtual ~TAO_Notify_Worker_Task (); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_Notify_WORKER_TASK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp deleted file mode 100644 index 7dd33e5deb6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp +++ /dev/null @@ -1,234 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/XML_Loader.h" -#include "orbsvcs/Notify/Topology_Object.h" - -#include "ACEXML/common/DefaultHandler.h" -#include "ACEXML/parser/parser/Parser.h" -#include "ACEXML/common/FileCharStream.h" - -#include "ace/Containers_T.h" -#include "tao/debug.h" -#include "ace/OS_NS_unistd.h" - -//#define DEBUG_LEVEL 9 -#ifndef DEBUG_LEVEL -# define DEBUG_LEVEL TAO_debug_level -#endif //DEBUG_LEVEL - -using namespace TAO_Notify; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify { - extern const char TOPOLOGY_ID_NAME[]; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -namespace { - CORBA::Long makeNVPList (NVPList& nvp, ACEXML_Attributes* attrs) - { - CORBA::Long id = 0; - for (size_t i = 0; i < attrs->getLength (); ++i) - { - const char * name = attrs->getQName (i); - const char * value = attrs->getValue (i); - if (ACE_OS::strcmp (name, - TAO_VERSIONED_NAMESPACE_NAME::TAO_Notify::TOPOLOGY_ID_NAME) == 0) - { - id = ACE_OS::atoi (value); - } - nvp.push_back (NVP (name, value)); - } - return id; - } -} - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - XML_Loader::XML_Loader () - : input_ (0) - , live_ (false) - { - } - - XML_Loader::~XML_Loader () - { - } - - bool - XML_Loader::open (const ACE_CString & base_name) - { - bool result = false; - - // if *.xml exists, use it - // if it does not exist then - // use the previous one was renamed to *.000 - // If neither *.xml nor *.000 exist then something - // "impossible" happened (or its a new system with no saved state). - - this->file_name_ = base_name; - this->file_name_ += ".xml"; - - // 4 is "read permission" - result = (0 == ACE_OS::access (this->file_name_.c_str (), 4)); - if (result) - { - this->live_ = false; - ACEXML_FileCharStream* fstm = new ACEXML_FileCharStream; - // xml input source will take ownership - - if (fstm->open (this->file_name_.c_str ()) == 0) - { - // InputSource takes ownership - ACEXML_InputSource input (fstm); - - ACEXML_Parser parser; - parser.setContentHandler (this); - parser.setDTDHandler (this); - parser.setErrorHandler (this); - parser.setEntityResolver (this); - - ACEXML_TRY_NEW_ENV - { - parser.parse (&input ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - } - ACEXML_CATCH (ACEXML_Exception, ex) - { - // The only way to find out what it is, it to let it print itself, so... - ACE_ERROR ((LM_ERROR, "Unable to load \"%s\".\n Will try backup file.\n", this->file_name_.c_str ())); - ex.print (); - result = false; - } - ACEXML_ENDTRY; - } - else - { - ACE_DEBUG((LM_DEBUG, ACE_TEXT("Unable to open the XML input file: %s.\n Will try backup file.\n"), file_name_.c_str())); - result = false; - } - } - - if (! result) - { - this->file_name_ = base_name; - this->file_name_ += ".000"; - result = (0 == ACE_OS::access (this->file_name_.c_str (), 4)); - } - return result; - } - - //virtual - void - XML_Loader::load (Topology_Object *root ACE_ENV_ARG_DECL) - { - ACE_ASSERT (root != 0); - this->live_ = true; - - ACEXML_FileCharStream* fstm = new ACEXML_FileCharStream; - // xml input source will take ownership - - if (fstm->open (this->file_name_.c_str ()) == 0) - { - // InputSource takes ownership - ACEXML_InputSource input (fstm); - - ACEXML_Parser parser; - parser.setContentHandler (this); - parser.setDTDHandler (this); - parser.setErrorHandler (this); - parser.setEntityResolver (this); - - ACEXML_TRY_NEW_ENV - { - object_stack_.push (root); - parser.parse (&input ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - ACE_ASSERT (object_stack_.size () == 1); - Topology_Object* cur; - object_stack_.pop (cur); - } - ACEXML_CATCH (ACEXML_Exception, ex) - { - // The only way to find out what it is, it to let it print itself, so... - ACE_ERROR ((LM_ERROR, "Unable to load \"%s\".\n", this->file_name_.c_str ())); - ex.print (); - ACE_THROW(CORBA::INTERNAL()); - } - ACEXML_ENDTRY; - } - else - { - ACE_DEBUG((LM_DEBUG, ACE_TEXT("Unable to open the XML input file: %s.\n"), file_name_.c_str())); - ACE_THROW(CORBA::INTERNAL()); - } - } - - void - XML_Loader::startElement (const ACEXML_Char*, - const ACEXML_Char*, - const ACEXML_Char* name, - ACEXML_Attributes* xml_attrs ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ( (ACEXML_SAXException)) - { - ACE_ASSERT (name != 0); - ACE_ASSERT (xml_attrs != 0); - if (this->live_) - { - ACE_ASSERT (object_stack_.size () > 0); - Topology_Object* cur = 0; - if (object_stack_.top (cur) == 0) - { - ACE_DECLARE_NEW_ENV; - ACE_TRY - { - NVPList attrs; - CORBA::Long id = makeNVPList (attrs, xml_attrs); - - if (DEBUG_LEVEL > 5) ACE_DEBUG ((LM_INFO, - ACE_TEXT("(%P|%t) XML_Loader: Element %s\n"), - name - )); - - ACE_CString cname (name); - Topology_Object* next = cur->load_child ( - cname, id, attrs ACE_ENV_ARG_PARAMETER); - ACE_ASSERT(next != 0); - ACE_TRY_CHECK; - object_stack_.push (next); - } - ACE_CATCHANY - { - ACEXML_THROW (ACEXML_SAXException (ACE_ANY_EXCEPTION._info ().c_str ())); - } - ACE_ENDTRY; - } - } - } - - void - XML_Loader::endElement (const ACEXML_Char*, - const ACEXML_Char*, - const ACEXML_Char* name ACEXML_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ( (ACEXML_SAXException)) - { - ACE_UNUSED_ARG (name); - if (this->live_) - { - ACE_ASSERT (object_stack_.size () > 0); - if (DEBUG_LEVEL > 5) ACE_DEBUG ((LM_INFO, - ACE_TEXT("(%P|%t) XML_Loader: End Element %s\n"), - name - )); - Topology_Object* cur; - object_stack_.pop (cur); - } - } - -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h deleted file mode 100644 index 7069179d9bd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XML_Loader.h - * - * $Id$ - * - * A topology saver class that outputs XML. - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef XML_LOADER_H -#define XML_LOADER_H -#include /**/ "ace/pre.h" -#include /**/ "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Notify/Topology_Loader.h" - -#include "ACEXML/common/DefaultHandler.h" -#include "ACEXML/parser/parser/Parser.h" -#include "ACEXML/common/FileCharStream.h" - -#include "ace/streams.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - /// \brief Load Notification Service Topology from an XML file. -class XML_Loader : public ACEXML_DefaultHandler , public Topology_Loader -{ -public: - /// The constructor. - XML_Loader (); - - virtual ~XML_Loader (); - - /// Open a file and perform preliminary validation to determine whether - /// the file is complete and valid. - bool open (const ACE_CString & file_name); - - /////////////////////////////////// - // Override Topology_Loader methods - // see Topology_Loader.h for documentation - virtual void load (Topology_Object *root ACE_ENV_ARG_DECL); - - - ///////////////////////////////////////// - // Override ACEXML_DefaultHandler methods - - virtual void startElement (const ACEXML_Char* namespaceURI, - const ACEXML_Char* localName, - const ACEXML_Char* qName, - ACEXML_Attributes* atts ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); - - virtual void endElement (const ACEXML_Char*, - const ACEXML_Char*, - const ACEXML_Char* name ACEXML_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((ACEXML_SAXException)); - - -private: - /// The name of the file from which data is read. - ACE_CString file_name_; - /// A stream representing our current output. - FILE * input_; - - typedef ACE_Unbounded_Stack TopoStack; - TopoStack object_stack_; - // if false, then we're just checking syntax of topology file. - bool live_; -}; - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* XML_LOADER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp deleted file mode 100644 index f6f0864b46f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp +++ /dev/null @@ -1,203 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/XML_Saver.h" - -#include "ACEXML/common/XML_Util.h" - -#include "ace/High_Res_Timer.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_unistd.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - extern const char TOPOLOGY_ID_NAME[]; - - XML_Saver::XML_Saver(bool timestamp) - : output_ (0) - , close_out_ (false) - , backup_count_ (1) - , timestamp_ (timestamp) - { - } - - XML_Saver::~XML_Saver() - { - if (this->output_ != 0) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) XML_Saver warning close not called or failed\n") - )); - } - } - - void - XML_Saver::backup_file_name (char * file_path, int nfile) - { - ACE_OS::snprintf(file_path, MAXPATHLEN, "%s.%3.3d", - this->base_name_.c_str (), - nfile); - } - - void - XML_Saver::close (ACE_ENV_SINGLE_ARG_DECL) - { - if (this->close_out_ && this->output_ != 0) - { - this->end_object(0, "notification_service" ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_OS::fclose(this->output_); - this->output_ = 0; - - // delete the oldest backup file (if it exists) - size_t nfile = this->backup_count_ - 1; - char old_path [MAXPATHLEN + 1]; - backup_file_name (old_path, nfile); - ACE_OS::unlink (old_path); - - while (nfile != 0) - { - char new_path [MAXPATHLEN + 1]; - nfile -= 1; - backup_file_name (new_path, nfile); - // this may fail, we don't care - ACE_OS::rename (new_path, old_path); - ACE_OS::strcpy (old_path, new_path); - } - // old_path now contains the name of the backup file - ACE_CString xml_name = this->base_name_; - xml_name += ".xml"; - - ACE_OS::rename (xml_name.c_str (), old_path); - - ACE_CString new_name = this->base_name_; - new_name += ".new"; - ACE_OS::rename (new_name.c_str (), xml_name.c_str ()); - } - this->output_ = 0; - } - - bool - XML_Saver::open(const ACE_CString & base_name, size_t backup_count) - { - this->base_name_ = base_name; - this->backup_count_ = backup_count; - if (base_name == "cout") - { - this->output_ = stdout; - this->close_out_ = false; - } - else if (base_name == "cerr") - { - this->output_ = stderr; - this->close_out_ = false; - } - else - { - ACE_CString file_name = base_name; - file_name += ".new"; - - this->output_ = ACE_OS::fopen (file_name.c_str(), ACE_TEXT("wb")); - if (this->output_) { - this->close_out_ = true; - } else { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) XML_Saver unable to open %s\n"), - base_name.c_str())); - } - } - if (this->output_ != 0) - { - FILE *out = this->output_; - - ACE_OS::fprintf (out, "\n"); - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - bool changed = true; - NVPList attrs; - - ACE_Time_Value now = ACE_High_Res_Timer::gettimeofday(); - - ACE_UINT64 nowus = now.usec(); - static const ACE_UINT64 USECSPERSEC = 1000 * 1000; - ACE_UINT64 tmpus = now.sec(); - nowus += tmpus * USECSPERSEC; - - char nowusstr[128]; -#ifdef ACE_LACKS_LONGLONG_T - nowus.as_string(nowusstr); -#else - ACE_OS::sprintf(nowusstr, ACE_UINT64_FORMAT_SPECIFIER, nowus); -#endif /* ACE_LACKS_LONGLONG_T */ - - attrs.push_back(NVP("version", "1.0")); - if (this->timestamp_) - { - attrs.push_back(NVP("timestamp", nowusstr)); - } - this->begin_object(0, "notification_service", attrs, changed ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT ("(%P|%t) XML_Saver Unknown exception\n")); - delete this->output_; - this->output_ = 0; - } - ACE_ENDTRY; - } - return this->output_ != 0; - } - - bool XML_Saver::begin_object(CORBA::Long id, - const ACE_CString& type, - const NVPList& attrs, - bool /* changed */ - ACE_ENV_ARG_DECL_NOT_USED) - { - ACE_ASSERT(this->output_ != 0); - - FILE *out = this->output_; - - ACE_OS::fprintf (out, "%s%s%s", indent_.c_str(), "<", type.c_str()); - if (id != 0) - { - // not all ostreams know what to do with a CORBA::Long - long lid = id; - ACE_OS::fprintf (out, " %s%s%ld%s", TOPOLOGY_ID_NAME, "=\"", lid, "\""); - } - - const size_t BUF_SIZE = 512; - ACE_CString tmp(BUF_SIZE); - for (size_t idx = 0; idx < attrs.size(); idx++) - { - ACEXML_escape_string(attrs[idx].value, tmp); - ACE_OS::fprintf (out, "%s%s%s%s%s", " ", - attrs[idx].name.c_str (), "=\"", tmp.c_str(), "\""); - } - ACE_OS::fprintf (out, ">\n"); - this->indent_ += " "; - return true; - } - - void XML_Saver::end_object (CORBA::Long /* id */, - const ACE_CString& type - ACE_ENV_ARG_DECL_NOT_USED) - { - ACE_ASSERT(this->output_ != 0); - FILE *out = this->output_; - if (this->indent_.length() >= 2) - { - this->indent_ = this->indent_.substr(2); - } - ACE_OS::fprintf (out, "%s%s%s%s", indent_.c_str(), "\n"); - } -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h deleted file mode 100644 index f7c9afb87e1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XML_Saver.h - * - * $Id$ - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef XML_SAVER_H -#define XML_SAVER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/Topology_Saver.h" - -#include "ace/streams.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - -/** - * \brief Save Notification Service Topology to an XML file. - */ -class XML_Saver : public Topology_Saver -{ -public: - /// Construct an XML_Saver. - /// Initialization is deferred to "open()" - XML_Saver (bool timestamp = true); - - virtual ~XML_Saver (); - - /// Open the output file. - /// \param file_name the fully qualified file name - /// \return true if successful - bool open (const ACE_CString & file_name, size_t backup_count); - - ////////////////////////////////// - // Override Topology_Saver methods - // see Topology_Saver.h for doc - virtual bool begin_object (CORBA::Long id, - const ACE_CString& type, - const NVPList& attrs, - bool changed - ACE_ENV_ARG_DECL); - - virtual void end_object (CORBA::Long id, - const ACE_CString& type - ACE_ENV_ARG_DECL); - - virtual void close (ACE_ENV_SINGLE_ARG_DECL); - -private: - void backup_file_name (char * file_path, int nfile); - -private: - /// A stream representing our current output. - FILE * output_; - bool close_out_; - - /// the name of the output file - ACE_CString base_name_; - size_t backup_count_; - - /// true to enable timestamping - bool timestamp_; - - /// A string consisting of spaces that is our current indentation level. - ACE_CString indent_; - -}; - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* XML_SAVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp deleted file mode 100644 index 8b263987fe8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp +++ /dev/null @@ -1,162 +0,0 @@ -// $Id$ - -#include "orbsvcs/Notify/XML_Topology_Factory.h" -#include "orbsvcs/Notify/XML_Saver.h" -#include "orbsvcs/Notify/XML_Loader.h" - -#include "tao/debug.h" -#include "ace/OS_NS_strings.h" -//#include "ace/Service_Object.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - const char TOPOLOGY_ID_NAME[] = "TopologyID"; - - XML_Topology_Factory::XML_Topology_Factory() - : save_base_path_ ("./Notification_Service_Topology") - , load_base_path_ ("./Notification_Service_Topology") - , backup_count_ (2) - , timestamp_ (true) - { - } - - // virtual - XML_Topology_Factory::~XML_Topology_Factory () - { - } - - // virtual - Topology_Saver* - XML_Topology_Factory::create_saver () - { - XML_Saver *saver = 0; - - ACE_NEW_RETURN (saver, XML_Saver (this->timestamp_), 0); - - if (! saver->open ( this->save_base_path_.c_str (), this->backup_count_)) - { - delete saver; - saver = 0; - } - return static_cast (saver); - } - - // virtual - Topology_Loader* - XML_Topology_Factory::create_loader() - { - XML_Loader *loader = 0; - ACE_NEW_NORETURN(loader, XML_Loader); - - if (! loader->open(this->load_base_path_)) - { - delete loader; - loader = 0; - } - return static_cast (loader); - } - - // virtual - int - XML_Topology_Factory::init (int argc, ACE_TCHAR *argv[]) - { - int result = 0; - bool verbose = false; - for (int narg = 0; narg < argc; ++narg) - { - ACE_TCHAR * av = argv[narg]; - if (ACE_OS::strcasecmp (av, "-v") == 0) - { - verbose = true; - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) Standard_Event_Persistence: -verbose\n") - )); - } - else if (ACE_OS::strcasecmp (av, "-base_path") == 0 && narg + 1 < argc) - { - this->save_base_path_ = argv[narg + 1]; - this->load_base_path_ = argv[narg + 1]; - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) XML_TopologyFactory: Setting -base_path: %s\n"), - this->save_base_path_.c_str () - )); - } - narg += 1; - } - else if (ACE_OS::strcasecmp (av, "-save_base_path") == 0 && narg + 1 < argc) - { - this->save_base_path_ = argv[narg + 1]; - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) XML_TopologyFactory: Setting -save_base_path: %s\n"), - this->save_base_path_.c_str () - )); - } - narg += 1; - } - else if (ACE_OS::strcasecmp (av, "-load_base_path") == 0 && narg + 1 < argc) - { - this->load_base_path_ = argv[narg + 1]; - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) XML_TopologyFactory: Setting -load_base_path: %s\n"), - this->load_base_path_.c_str () - )); - } - narg += 1; - } - else if (ACE_OS::strcasecmp (av, "-backup_count") == 0 && narg + 1 < argc) - { - this->backup_count_ = ACE_OS::atoi(argv[narg + 1]); - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) XML_TopologyFactory: Setting -file_count: %d\n"), - this->backup_count_ - )); - } - narg += 1; - } - else if (ACE_OS::strcasecmp (av, "-no_timestamp") == 0) - { - this->timestamp_ = false; - if (TAO_debug_level > 0 || verbose) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) XML_TopologyFactory: Setting -no_timestamp\n") - )); - } - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) Unknown parameter to XML Topology Factory: %s\n"), - argv[narg] - )); - result = -1; - } - } - return result; - } - - // virtual - int - XML_Topology_Factory::fini () - { - // nothing to do yet - return 0; - } -} /* namespace TAO_Notify */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_NAMESPACE_DEFINE (TAO_Notify_Persist, - TAO_Notify_XML_Topology_Factory, - TAO_Notify::XML_Topology_Factory) diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h deleted file mode 100644 index b6dc0686d8a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XML_Topology_Factory.h - * - * $Id$ - * - * @author Jonathan Pollack - */ -//============================================================================= - -#ifndef XML_TOPOLOGY_FACTORY_H -#define XML_TOPOLOGY_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Notify/Topology_Factory.h" -#include "orbsvcs/Notify/notify_persist_export.h" - -#include "tao/corba.h" -#include "ace/SString.h" - - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_Notify -{ - extern const char TOPOLOGY_ID_NAME[]; - - /** - * \brief Create XML topology savers and loaders - * - * Loaded by a svc.conf line like: - * dynamic Topology_Factory Service_Object* TAO_CosNotificationd:_make_XML_Topology_Factory() "[arguments]" - * where arguments are: - * -base_path Base path (directory and filename) for both saving and loading. - * .xml will be appended to the base path - * Default is ./Notification_Service_Topology - * -save_base_path Base path for saving. - * -load_base_path Base path for loading. - * -file_count How many backup copies to keep. Default is 1 - * -no_timestamp Disable timestamping (makes files diffable) - * Note: you can set both saving and storing to the same file using -base_path - * Or you can set them independently using -save_base_path - * and -load_base_path - * - */ - class TAO_Notify_Persist_Export XML_Topology_Factory : public Topology_Factory - { - public: - /// The constructor. - XML_Topology_Factory (); - virtual ~XML_Topology_Factory (); - - //////////////////////////////////// - // Override Topology_Factory methods - // documented in Topology_Factory.h - virtual Topology_Saver* create_saver (); - virtual Topology_Loader* create_loader(); - - //////////////////////////////// - // Override Share_Object methods - // documented in ace/Shared_Object.h - virtual int init (int argc, ACE_TCHAR *argv[]); - virtual int fini (); - - private: - ACE_CString save_base_path_; - ACE_CString load_base_path_; - size_t backup_count_; - bool timestamp_; - }; - -} // namespace TAO_Notify - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DECLARE (TAO_Notify_Persist, TAO_Notify_XML_Topology_Factory) - -#include /**/ "ace/post.h" -#endif /* XML_TOPOLOGY_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Notify/notify_export.h b/TAO/orbsvcs/orbsvcs/Notify/notify_export.h deleted file mode 100644 index d17be740d41..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/notify_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NOTIFY_EXPORT_H -#define TAO_NOTIFY_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NOTIFY_HAS_DLL) -# define TAO_NOTIFY_HAS_DLL 0 -# endif /* ! TAO_NOTIFY_HAS_DLL */ -#else -# if !defined (TAO_NOTIFY_HAS_DLL) -# define TAO_NOTIFY_HAS_DLL 1 -# endif /* ! TAO_NOTIFY_HAS_DLL */ -#endif - -#if defined (TAO_NOTIFY_HAS_DLL) && (TAO_NOTIFY_HAS_DLL == 1) -# if defined (TAO_NOTIFY_BUILD_DLL) -# define TAO_Notify_Export ACE_Proper_Export_Flag -# define TAO_NOTIFY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFY_BUILD_DLL */ -# define TAO_Notify_Export ACE_Proper_Import_Flag -# define TAO_NOTIFY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFY_BUILD_DLL */ -#else /* TAO_NOTIFY_HAS_DLL == 1 */ -# define TAO_Notify_Export -# define TAO_NOTIFY_SINGLETON_DECLARATION(T) -# define TAO_NOTIFY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFY_HAS_DLL == 1 */ - -#endif /* TAO_NOTIFY_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Notify/notify_persist_export.h b/TAO/orbsvcs/orbsvcs/Notify/notify_persist_export.h deleted file mode 100644 index ae5ef11a7b9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/notify_persist_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_Notify_Persist -// ------------------------------ -#ifndef TAO_NOTIFY_PERSIST_EXPORT_H -#define TAO_NOTIFY_PERSIST_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NOTIFY_PERSIST_HAS_DLL) -# define TAO_NOTIFY_PERSIST_HAS_DLL 0 -# endif /* ! TAO_NOTIFY_PERSIST_HAS_DLL */ -#else -# if !defined (TAO_NOTIFY_PERSIST_HAS_DLL) -# define TAO_NOTIFY_PERSIST_HAS_DLL 1 -# endif /* ! TAO_NOTIFY_PERSIST_HAS_DLL */ -#endif - -#if defined (TAO_NOTIFY_PERSIST_HAS_DLL) && (TAO_NOTIFY_PERSIST_HAS_DLL == 1) -# if defined (TAO_NOTIFY_PERSIST_BUILD_DLL) -# define TAO_Notify_Persist_Export ACE_Proper_Export_Flag -# define TAO_NOTIFY_PERSIST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_PERSIST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFY_PERSIST_BUILD_DLL */ -# define TAO_Notify_Persist_Export ACE_Proper_Import_Flag -# define TAO_NOTIFY_PERSIST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_PERSIST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFY_PERSIST_BUILD_DLL */ -#else /* TAO_NOTIFY_PERSIST_HAS_DLL == 1 */ -# define TAO_Notify_Persist_Export -# define TAO_NOTIFY_PERSIST_SINGLETON_DECLARATION(T) -# define TAO_NOTIFY_PERSIST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFY_PERSIST_HAS_DLL == 1 */ - -// Set TAO_NOTIFY_PERSIST_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_NOTIFY_PERSIST_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_NOTIFY_PERSIST_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_NOTIFY_PERSIST_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_NOTIFY_PERSIST_NTRACE */ - -#if (TAO_NOTIFY_PERSIST_NTRACE == 1) -# define TAO_NOTIFY_PERSIST_TRACE(X) -#else /* (TAO_NOTIFY_PERSIST_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_NOTIFY_PERSIST_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_NOTIFY_PERSIST_NTRACE == 1) */ - -#endif /* TAO_NOTIFY_PERSIST_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Notify/notify_serv_export.h b/TAO/orbsvcs/orbsvcs/Notify/notify_serv_export.h deleted file mode 100644 index ec47ee40ada..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/notify_serv_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NOTIFY_SERV_EXPORT_H -#define TAO_NOTIFY_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NOTIFY_SERV_HAS_DLL) -# define TAO_NOTIFY_SERV_HAS_DLL 0 -# endif /* ! TAO_NOTIFY_SERV_HAS_DLL */ -#else -# if !defined (TAO_NOTIFY_SERV_HAS_DLL) -# define TAO_NOTIFY_SERV_HAS_DLL 1 -# endif /* ! TAO_NOTIFY_SERV_HAS_DLL */ -#endif - -#if defined (TAO_NOTIFY_SERV_HAS_DLL) && (TAO_NOTIFY_SERV_HAS_DLL == 1) -# if defined (TAO_NOTIFY_SERV_BUILD_DLL) -# define TAO_Notify_Serv_Export ACE_Proper_Export_Flag -# define TAO_NOTIFY_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFY_SERV_BUILD_DLL */ -# define TAO_Notify_Serv_Export ACE_Proper_Import_Flag -# define TAO_NOTIFY_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFY_SERV_BUILD_DLL */ -#else /* TAO_NOTIFY_SERV_HAS_DLL == 1 */ -# define TAO_Notify_Serv_Export -# define TAO_NOTIFY_SERV_SINGLETON_DECLARATION(T) -# define TAO_NOTIFY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFY_SERV_HAS_DLL == 1 */ - -#endif /* TAO_NOTIFY_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Notify/notify_skel_export.h b/TAO/orbsvcs/orbsvcs/Notify/notify_skel_export.h deleted file mode 100644 index 52b01d16fd6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/notify_skel_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_NOTIFY_SKEL_EXPORT_H -#define TAO_NOTIFY_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_NOTIFY_SKEL_HAS_DLL) -# define TAO_NOTIFY_SKEL_HAS_DLL 0 -# endif /* ! TAO_NOTIFY_SKEL_HAS_DLL */ -#else -# if !defined (TAO_NOTIFY_SKEL_HAS_DLL) -# define TAO_NOTIFY_SKEL_HAS_DLL 1 -# endif /* ! TAO_NOTIFY_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_NOTIFY_SKEL_HAS_DLL) && (TAO_NOTIFY_SKEL_HAS_DLL == 1) -# if defined (TAO_NOTIFY_SKEL_BUILD_DLL) -# define TAO_Notify_Skel_Export ACE_Proper_Export_Flag -# define TAO_NOTIFY_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_NOTIFY_SKEL_BUILD_DLL */ -# define TAO_Notify_Skel_Export ACE_Proper_Import_Flag -# define TAO_NOTIFY_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_NOTIFY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_NOTIFY_SKEL_BUILD_DLL */ -#else /* TAO_NOTIFY_SKEL_HAS_DLL == 1 */ -# define TAO_Notify_Skel_Export -# define TAO_NOTIFY_SKEL_SINGLETON_DECLARATION(T) -# define TAO_NOTIFY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_NOTIFY_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_NOTIFY_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Notify/rt_notify_export.h b/TAO/orbsvcs/orbsvcs/Notify/rt_notify_export.h deleted file mode 100644 index 288a67cb67f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Notify/rt_notify_export.h +++ /dev/null @@ -1,39 +0,0 @@ -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RT_NOTIFY_EXPORT_H -#define TAO_RT_NOTIFY_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RT_NOTIFY_HAS_DLL) -# define TAO_RT_NOTIFY_HAS_DLL 0 -# endif /* ! TAO_RT_NOTIFY_HAS_DLL */ -#else -# if !defined (TAO_RT_NOTIFY_HAS_DLL) -# define TAO_RT_NOTIFY_HAS_DLL 1 -# endif /* ! TAO_RT_NOTIFY_HAS_DLL */ -#endif - -#if defined (TAO_RT_NOTIFY_HAS_DLL) && (TAO_RT_NOTIFY_HAS_DLL == 1) -# if defined (TAO_RT_NOTIFY_BUILD_DLL) -# define TAO_RT_Notify_Export ACE_Proper_Export_Flag -# define TAO_RT_NOTIFY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RT_NOTIFY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RT_NOTIFY_BUILD_DLL */ -# define TAO_RT_Notify_Export ACE_Proper_Import_Flag -# define TAO_RT_NOTIFY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RT_NOTIFY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RT_NOTIFY_BUILD_DLL */ -#else /* TAO_RT_NOTIFY_HAS_DLL == 1 */ -# define TAO_RT_Notify_Export -# define TAO_RT_NOTIFY_SINGLETON_DECLARATION(T) -# define TAO_RT_NOTIFY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RT_NOTIFY_HAS_DLL == 1 */ - -#endif /* TAO_RT_NOTIFY_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/NotifyExt.idl b/TAO/orbsvcs/orbsvcs/NotifyExt.idl deleted file mode 100644 index 5e0d9ca9b69..00000000000 --- a/TAO/orbsvcs/orbsvcs/NotifyExt.idl +++ /dev/null @@ -1,184 +0,0 @@ -/** - * @file NotifyExt.idl - * - * @brief Additional interfaces for QoS properties to Notify. - * - * $Id$ - * - * @author Pradeep Gore - */ - -#ifndef _NOTIFY_EXT_IDL_ -#define _NOTIFY_EXT_IDL_ - -#include "CosNotifyChannelAdmin.idl" - -#pragma prefix "" - -/** - * @namespace NotifyExt - * - * @brief Notify Extensions. - */ -module NotifyExt -{ - // Priority defs. same as RTCORBA - typedef short Priority; - const Priority minPriority = 0; - const Priority maxPriority = 32767; - - enum PriorityModel - { - CLIENT_PROPAGATED, - SERVER_DECLARED - }; - - /* - * ThreadPool QoS property, - */ - const string ThreadPool = "ThreadPool"; - - // ThreadPoolParams : same as RTCORBA::create_threadpool - struct ThreadPoolParams - { - PriorityModel priority_model; - Priority server_priority; - - unsigned long stacksize; - unsigned long static_threads; - unsigned long dynamic_threads; - Priority default_priority; - boolean allow_request_buffering; - unsigned long max_buffered_requests; - unsigned long max_request_buffer_size; - }; - - /* - * ThreadPoolLanes QoS property, - */ - const string ThreadPoolLanes = "ThreadPoolLanes"; - - struct ThreadPoolLane - { - PriorityModel priority_model; - Priority server_priority; - - Priority lane_priority; - unsigned long static_threads; - unsigned long dynamic_threads; - }; - - typedef sequence ThreadPoolLanes_List; - - struct ThreadPoolLanesParams - { - PriorityModel priority_model; - Priority server_priority; - - unsigned long stacksize; - ThreadPoolLanes_List lanes; - boolean allow_borrowing; - boolean allow_request_buffering; - unsigned long max_buffered_requests; - unsigned long max_request_buffer_size; - }; - - /** - * \brief An interface which gets registered with a ReconnectionRegistry. - * - * A supplier or consumer must implement this interface in order to - * allow the Notification Service to attempt to reconnect to it after - * a failure. The supplier or consumer must register its instance of - * this interface with the ReconnectionRegistry. - */ - interface ReconnectionCallback - { - /// Perform operations to reconnect to the Notification Service - /// after a failure. - void reconnect (in Object new_connection); - - /// Check to see if the ReconnectionCallba ck is alive - boolean is_alive (); - }; - - /** - * \brief An interface that handles registration of suppliers and consumers. - * - * This registry should be implemented by an EventChannelFactory and - * will call the appropriate reconnect methods for all ReconnectionCallback - * objects registered with it. - */ - interface ReconnectionRegistry - { - typedef long ReconnectionID; - ReconnectionID register_callback(in ReconnectionCallback reconection); - - void unregister_callback (in ReconnectionID id); - - /// Check to see if the ReconnectionRegistry is alive - boolean is_alive (); - }; - - /** - * Extend the EventChannelFactory to have a shutdown method - * and a Reconnection Registry - */ - interface EventChannelFactory - : CosNotifyChannelAdmin::EventChannelFactory - , ReconnectionRegistry - { - void destroy (); - /// save topology: for diagnostic and testing purposes - /// Normal topology save is automatic when connectivity persistence - /// is configured. - void save_topology(); - }; - - interface ConsumerAdmin : CosNotifyChannelAdmin::ConsumerAdmin - { - // Create a new push-style proxy supplier - /** - * @param ctype The event format that the ProxyConsumer should - * support - * @param proxy_id The ID assigned to the new proxy supplier - * @param initial_qos Configure the initial QoS properties of the - * new Proxy. - * @return The new ProxySupplier - * @throws AdminLimitExceeded if a limit in this admin is reached, - * such as the maximum number of proxies. - * @throws CosNotification::UnsupportedQoS if the requested QoS - * properties cannot be satisfied or are invalid - */ - CosNotifyChannelAdmin::ProxySupplier obtain_notification_push_supplier_with_qos (in CosNotifyChannelAdmin::ClientType ctype, - out CosNotifyChannelAdmin::ProxyID proxy_id, - in CosNotification::QoSProperties initial_qos) - raises ( CosNotifyChannelAdmin::AdminLimitExceeded, - CosNotification::UnsupportedQoS - ); - }; - - interface SupplierAdmin : CosNotifyChannelAdmin::SupplierAdmin - { - // Create a new push-style proxy supplier - /** - * @param ctype The event format that the ProxyConsumer should - * support - * @param proxy_id The ID assigned to the new proxy supplier - * @param initial_qos Configure the initial QoS properties of the - * new Proxy. - * @return The new ProxyConsumer - * @throws AdminLimitExceeded if a limit in this admin is reached, - * such as the maximum number of proxies. - * @throws CosNotification::UnsupportedQoS if the requested QoS - * properties cannot be satisfied or are invalid - */ - CosNotifyChannelAdmin::ProxyConsumer obtain_notification_push_consumer_with_qos (in CosNotifyChannelAdmin::ClientType ctype, - out CosNotifyChannelAdmin::ProxyID proxy_id, - in CosNotification::QoSProperties initial_qos) - raises ( CosNotifyChannelAdmin::AdminLimitExceeded, - CosNotification::UnsupportedQoS - ); - }; -}; - -#endif /* _NOTIFY_EXT_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl b/TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl deleted file mode 100644 index 199b8d40398..00000000000 --- a/TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl +++ /dev/null @@ -1,5 +0,0 @@ -// $Id$ - -interface Null_MediaCtrl -{ -}; diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup.idl b/TAO/orbsvcs/orbsvcs/PortableGroup.idl deleted file mode 100644 index 310952a767a..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup.idl +++ /dev/null @@ -1,323 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file PortableGroup.idl - * - * $Id$ - */ -//============================================================================= - -#ifndef _PORTABLEGROUP_IDL_ -#define _PORTABLEGROUP_IDL_ - -#include "tao/PortableServer/PortableServer_include.pidl" -#include "CosNaming.idl" -#include "tao/IOP.pidl" -#include "tao/GIOP.pidl" -#include -#include "PortableGroup_Simple_DS.idl" - -module PortableGroup -{ - typeprefix PortableGroup "omg.org"; - - /// MembershipStyle - const string PG_MEMBERSHIP_STYLE = - "org.omg.PortableGroup.MembershipStyle"; - - /// InitialNumberMembers - const string PG_INITIAL_NUMBER_MEMBERS = - "org.omg.PortableGroup.InitialNumberMembers"; - - /// MinimumNumberMembers - const string PG_MINIMUM_NUMBER_MEMBERS = - "org.omg.PortableGroup.MinimumNumberMembers"; - - /// Factories - const string PG_FACTORIES = "org.omg.PortableGroup.Factories"; - - typedef sequence GroupIIOPProfile; // tag = TAG_GROUP_IIOP - - // Specification of Common Types and Exceptions for Group Management - interface GenericFactory; - - typedef CORBA::RepositoryId _TypeId; - typedef Object ObjectGroup; - typedef sequence ObjectGroups; - typedef CosNaming::Name Name; - typedef any Value; - - struct Property { - Name nam; - Value val; - }; - - typedef sequence Properties; - typedef Name Location; - typedef sequence Locations; - typedef Properties Criteria; - - struct FactoryInfo { - GenericFactory the_factory; - Location the_location; - Criteria the_criteria; - }; - typedef sequence FactoryInfos; - - typedef long MembershipStyleValue; - const MembershipStyleValue MEMB_APP_CTRL = 0; - const MembershipStyleValue MEMB_INF_CTRL = 1; - - typedef FactoryInfos FactoriesValue; - typedef unsigned short InitialNumberMembersValue; - typedef unsigned short MinimumNumberMembersValue; - - exception InterfaceNotFound {}; - exception ObjectGroupNotFound {}; - exception MemberNotFound {}; - exception ObjectNotFound {}; - exception MemberAlreadyPresent {}; - exception ObjectNotCreated {}; - exception ObjectNotAdded {}; - /// TAO Specific: TypeConfict exception - exception TypeConflict {}; - exception UnsupportedProperty { - Name nam; - Value val; - }; - - exception InvalidProperty { - Name nam; - Value val; - }; - - exception NoFactory { - Location the_location; - _TypeId type_id; - }; - - exception InvalidCriteria { - Criteria invalid_criteria; - }; - - exception CannotMeetCriteria { - Criteria unmet_criteria; - }; - - // Specification of PropertyManager Interface - interface PropertyManager { - - void set_default_properties (in Properties props) - raises (InvalidProperty, UnsupportedProperty); - - Properties get_default_properties(); - - void remove_default_properties (in Properties props) - raises (InvalidProperty, UnsupportedProperty); - - void set_type_properties (in _TypeId type_id, in Properties overrides) - raises (InvalidProperty, UnsupportedProperty); - - Properties get_type_properties(in _TypeId type_id); - - void remove_type_properties (in _TypeId type_id, in Properties props) - raises (InvalidProperty, UnsupportedProperty); - - void set_properties_dynamically - (in ObjectGroup object_group, in Properties overrides) - raises (ObjectGroupNotFound, - InvalidProperty, - UnsupportedProperty); - - Properties get_properties (in ObjectGroup object_group) - raises (ObjectGroupNotFound); - }; // endPropertyManager - - - // Specification of ObjectGroupManager Interface - interface ObjectGroupManager { - ObjectGroup create_member (in ObjectGroup object_group, - in Location the_location, - in _TypeId type_id, - in Criteria the_criteria) - raises (ObjectGroupNotFound, - MemberAlreadyPresent, - NoFactory, - ObjectNotCreated, - InvalidCriteria, - CannotMeetCriteria); - - ObjectGroup add_member (in ObjectGroup object_group, - in Location the_location, - in Object member) - raises (ObjectGroupNotFound, - MemberAlreadyPresent, - ObjectNotAdded); - - ObjectGroup remove_member (in ObjectGroup object_group, - in Location the_location) - raises (ObjectGroupNotFound, MemberNotFound); - - Locations locations_of_members (in ObjectGroup object_group) - raises (ObjectGroupNotFound); - - ObjectGroups groups_at_location (in Location the_location); - - ObjectGroupId get_object_group_id (in ObjectGroup object_group) - raises (ObjectGroupNotFound); - - ObjectGroup get_object_group_ref (in ObjectGroup object_group) - raises (ObjectGroupNotFound); - - Object get_member_ref (in ObjectGroup object_group, - in Location loc) - raises (ObjectGroupNotFound, MemberNotFound); - - // TAO-specific extension. - ObjectGroup get_object_group_ref_from_id ( - in ObjectGroupId group_id) - raises (ObjectGroupNotFound); - - }; // end ObjectGroupManager - - - // Specification of GenericFactory Interface - interface GenericFactory { - typedef any FactoryCreationId; - - Object create_object (in _TypeId type_id, - in Criteria the_criteria, - out FactoryCreationId factory_creation_id) - raises (NoFactory, - ObjectNotCreated, - InvalidCriteria, - InvalidProperty, - CannotMeetCriteria); - - void delete_object (in FactoryCreationId factory_creation_id) - raises (ObjectNotFound); - - }; // end GenericFactory - - /////////////////////// - // The following FactoryRegistry interface is not included in the OMG PortableGroup IDL. - // It's an extension needed as part of implementing the FT CORBA specification. - - - /** - * a name for the role the object will play - * This allows multiple objects that implement the same interface (TypeId) - * to exist at a location as long as they play different roles. - */ - typedef CORBA::Identifier RoleName; - - /** - * Reserved criteria name for specifing role. - */ - const string role_criterion = "org.omg.portablegroup.Role"; - - /** - * Interface to allow generic factories for replicas to register themselves. - * Factories are distinguished by the role to be played by the created-object (role) and the - * location at which they create the object (FactoryInfo.the_location) - * - * Because this is an extension to the FT CORBA specification applications that wish to - * adhere to the specification as written should use the type id as the role name when - * interacting with the FactoryRegistry. - */ - interface FactoryRegistry - { - /** - * register a factory to create objects of the given type - * at the location given in the FactoryInfo. - * - * @param role the role the object-to-be-created plays. - * @param type_id type id of the object-to-be-created. - * @param factory_info information about the factory including its location. - * @throws MemberAlreadyPresent if there is already a factory for this type of object - * at this location. - * @throws TypeConflict if the specified type_id is different from the type_id previously - * registered for this role. - */ - void register_factory(in RoleName role, in _TypeId type_id, in FactoryInfo factory_info) - raises (MemberAlreadyPresent, TypeConflict); - - /** - * Remove the registration of a factory. - * @param role the role played by the object formerly created by this factory. - * @param location where the factory formerly created objects. - * @throws MemberNotPresent if no factory is available for the given role at this location. - */ - void unregister_factory(in RoleName role, in Location the_location) - raises (MemberNotFound); - - /** - * Remove the registration of all factories that create a particular type of object. - * If no factories exist for the given type, the registry is unchanged. - * This is not an error. - * @param type_id the type of object formerly created by the factories to be unregistered. - */ - void unregister_factory_by_role(in RoleName role); - - /** - * Remove the registration of all factories that create objects at a particular location. - * If the location is unknown the registry is unchanged. - * This is not an error. - * @param location where the factories formerly created objects. - */ - void unregister_factory_by_location(in Location the_location); - - /** - * List all the factories that create objects that fill a given role - * If the role is unknown, an empty list is returned. This is not an error. - * @param role the type of object the factories create. - * @param type_id what type of object is created to fill this role. - */ - FactoryInfos list_factories_by_role(in RoleName role, out _TypeId type_id); - - /** - * List all the factories that create a objects at a given location. - * If no factories are registered for this location, an empty list is returned. - * This is not an error. - * @param location where the factories create objects. - */ - FactoryInfos list_factories_by_location(in Location the_location); - - }; // end of FactoryRegistry - - - const string TAO_UPDATE_OBJECT_GROUP_METHOD_NAME = "tao_update_object_group"; - - interface TAO_UpdateObjectGroup { - /** - * Pseudo used method to update IOGR in Object Group Members - * TAO specific. The CORBA spec. doesn't address the issue. - */ - void tao_update_object_group ( - in string iogr, - in PortableGroup::ObjectGroupRefVersion version, - in boolean is_primary); - }; - - exception NotAGroupObject {}; - typedef sequence IDs; - - local interface GOA : PortableServer::POA { - PortableServer::ObjectId create_id_for_reference(in Object the_ref) - raises (NotAGroupObject); - - IDs reference_to_ids(in Object the_ref) - raises (NotAGroupObject); - - void associate_reference_with_id (in Object ref, - in PortableServer::ObjectId oid) - raises (NotAGroupObject); - - void disassociate_reference_with_id (in Object ref, - in PortableServer::ObjectId oid) - raises (NotAGroupObject); - }; -}; // end PortableGroup - -#endif /* _PORTABLEGROUP_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup.mpc b/TAO/orbsvcs/orbsvcs/PortableGroup.mpc deleted file mode 100644 index 2c63bc2bff5..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup.mpc +++ /dev/null @@ -1,40 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(PortableGroup) : orbsvcslib, core, naming, iormanip, messaging, minimum_corba, tao_versioning_idl_defaults { - sharedname = TAO_PortableGroup - idlflags += -Wb,export_macro=TAO_PortableGroup_Export \ - -Wb,export_include=orbsvcs/PortableGroup/portablegroup_export.h - dynamicflags = TAO_PORTABLEGROUP_BUILD_DLL - tagchecks += PortableGroup - - IDL_Files { - miop.idl - PortableGroup_Simple_DS.idl - } - - IDL_Files { - idlflags += -GC - PortableGroup.idl - } - - Source_Files { - miopC.cpp - miopS.cpp - PortableGroupC.cpp - PortableGroupS.cpp - PortableGroup_Simple_DSC.cpp - PortableGroup - } - - Header_Files { - PortableGroup/portablegroup_export.h - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_PortableGroup.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup.rc b/TAO/orbsvcs/orbsvcs/PortableGroup.rc deleted file mode 100644 index a432c83a01c..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "PortableGroup\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_PortableGroupDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_PortableGroup.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp deleted file mode 100644 index 804e235f797..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.cpp +++ /dev/null @@ -1,711 +0,0 @@ -#include "orbsvcs/PortableGroup/GOA.h" - - -ACE_RCSID (PortableGroup, - GOA, - "$Id$") - - -#include "orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h" -#include "orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h" - -#include "tao/ORB_Core.h" -#include "tao/ORB.h" -#include "tao/Stub.h" -#include "tao/Tagged_Components.h" -#include "tao/Profile.h" -#include "tao/CDR.h" - -#include "ace/Auto_Ptr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -PortableServer::ObjectId * -TAO_GOA::create_id_for_reference (CORBA::Object_ptr the_ref - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )) -{ - // Get the RepositoryId from the Group reference so - // we know what kind of reference to make. - const char* repository_id = the_ref->_stubobj ()->type_id.in (); - - // Create a temporary object reference and then get the - // ObjectId out of it. - CORBA::Object_var obj_ref = this->create_reference (repository_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - PortableServer::ObjectId_var obj_id = - this->reference_to_id (obj_ref.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Associate the object reference with the group reference. - this->associate_group_with_ref (the_ref, - obj_ref.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return obj_id._retn (); -} - -PortableGroup::IDs * -TAO_GOA::reference_to_ids (CORBA::Object_ptr the_ref - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )) -{ - ACE_UNUSED_ARG (the_ref); - - return 0; -} - -void -TAO_GOA::associate_reference_with_id (CORBA::Object_ptr ref, - const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )) -{ - // Create a reference for the specified ObjectId, since - // it is much easier to extract the object key from the - // reference. - CORBA::Object_var obj_ref = this->id_to_reference (oid - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Associate the object reference with the group reference. - this->associate_group_with_ref (ref, - obj_ref.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_GOA::disassociate_reference_with_id (CORBA::Object_ptr ref, - const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )) -{ - ACE_UNUSED_ARG (ref); - ACE_UNUSED_ARG (oid); -} - - -TAO_GOA::TAO_GOA (const TAO_Root_POA::String &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - TAO_Root_POA *parent, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter - ACE_ENV_ARG_DECL) - : TAO_Regular_POA (name, - poa_manager, - policies, - parent, - lock, - thread_lock, - orb_core, - object_adapter - ACE_ENV_ARG_PARAMETER) -{ -} - -TAO_GOA::~TAO_GOA (void) -{ -} - -TAO_Root_POA * -TAO_GOA::new_POA (const String &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - TAO_Root_POA *parent, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter - ACE_ENV_ARG_DECL) -{ - TAO_GOA *poa = 0; - - ACE_NEW_THROW_EX (poa, - TAO_GOA (name, - poa_manager, - policies, - parent, - lock, - thread_lock, - orb_core, - object_adapter - ACE_ENV_ARG_PARAMETER), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return poa; -} - -// Standard POA interfaces -PortableServer::POA_ptr -TAO_GOA::create_POA (const char *adapter_name, - PortableServer::POAManager_ptr poa_manager, - const CORBA::PolicyList &policies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::AdapterAlreadyExists, - PortableServer::POA::InvalidPolicy)) -{ - PortableServer::POA_ptr poa = this->TAO_Regular_POA::create_POA (adapter_name, - poa_manager, - policies - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (poa); - return poa; -} - -PortableServer::POA_ptr -TAO_GOA::find_POA (const char *adapter_name, - CORBA::Boolean activate_it - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::AdapterNonExistent)) -{ - PortableServer::POA_ptr poa = this->TAO_Regular_POA::find_POA (adapter_name, - activate_it - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (poa); - return poa; -} - -void -TAO_GOA::destroy (CORBA::Boolean etherealize_objects, - CORBA::Boolean wait_for_completion - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->TAO_Regular_POA::destroy (etherealize_objects, - wait_for_completion - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -#if (TAO_HAS_MINIMUM_POA == 0) - -PortableServer::ThreadPolicy_ptr -TAO_GOA::create_thread_policy (PortableServer::ThreadPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::ThreadPolicy_ptr policy = - this->TAO_Regular_POA::create_thread_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -PortableServer::LifespanPolicy_ptr -TAO_GOA::create_lifespan_policy (PortableServer::LifespanPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::LifespanPolicy_ptr policy = - this->TAO_Regular_POA::create_lifespan_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - -PortableServer::IdUniquenessPolicy_ptr -TAO_GOA::create_id_uniqueness_policy (PortableServer::IdUniquenessPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::IdUniquenessPolicy_ptr policy = - this->TAO_Regular_POA::create_id_uniqueness_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - - -PortableServer::IdAssignmentPolicy_ptr -TAO_GOA::create_id_assignment_policy (PortableServer::IdAssignmentPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::IdAssignmentPolicy_ptr policy = - this->TAO_Regular_POA::create_id_assignment_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - - -#if (TAO_HAS_MINIMUM_POA == 0) - -PortableServer::ImplicitActivationPolicy_ptr -TAO_GOA::create_implicit_activation_policy (PortableServer::ImplicitActivationPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::ImplicitActivationPolicy_ptr policy = - this->TAO_Regular_POA::create_implicit_activation_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - -PortableServer::ServantRetentionPolicy_ptr -TAO_GOA::create_servant_retention_policy (PortableServer::ServantRetentionPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::ServantRetentionPolicy_ptr policy = - this->TAO_Regular_POA::create_servant_retention_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - - -PortableServer::RequestProcessingPolicy_ptr -TAO_GOA::create_request_processing_policy (PortableServer::RequestProcessingPolicyValue value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::RequestProcessingPolicy_ptr policy = - this->TAO_Regular_POA::create_request_processing_policy (value - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (policy); - return policy; -} - - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -char * -TAO_GOA::the_name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - char * name = - this->TAO_Regular_POA::the_name (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (name); - return name; -} - -PortableServer::POA_ptr -TAO_GOA::the_parent (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::POA_ptr parent = - this->TAO_Regular_POA::the_parent (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (parent); - return parent; -} - -PortableServer::POAList * -TAO_GOA::the_children (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::POAList *children = - this->TAO_Regular_POA::the_children (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (children); - return children; -} - -PortableServer::POAManager_ptr -TAO_GOA::the_POAManager (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::POAManager_ptr poa_manager = - this->TAO_Regular_POA::the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (poa_manager); - return poa_manager; -} - - -#if (TAO_HAS_MINIMUM_POA == 0) - -PortableServer::AdapterActivator_ptr -TAO_GOA::the_activator (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::AdapterActivator_ptr activator = - this->TAO_Regular_POA::the_activator (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (activator); - return activator; -} - -void -TAO_GOA::the_activator (PortableServer::AdapterActivator_ptr adapter_activator - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->TAO_Regular_POA::the_activator (adapter_activator - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -PortableServer::ServantManager_ptr -TAO_GOA::get_servant_manager (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::ServantManager_ptr servant_manager = - this->TAO_Regular_POA::get_servant_manager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (servant_manager); - return servant_manager; -} - -void -TAO_GOA::set_servant_manager (PortableServer::ServantManager_ptr imgr - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)) -{ - this->TAO_Regular_POA::set_servant_manager (imgr - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -PortableServer::Servant -TAO_GOA::get_servant (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::NoServant, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::Servant servant = - this->TAO_Regular_POA::get_servant (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (servant); - return servant; -} - -void -TAO_GOA::set_servant (PortableServer::Servant servant - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)) -{ - this->TAO_Regular_POA::set_servant (servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - -PortableServer::ObjectId * -TAO_GOA::activate_object (PortableServer::Servant p_servant - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantAlreadyActive, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::ObjectId *object_id = - this->TAO_Regular_POA::activate_object (p_servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (object_id); - return object_id; -} - -void -TAO_GOA::activate_object_with_id (const PortableServer::ObjectId &id, - PortableServer::Servant p_servant - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantAlreadyActive, - PortableServer::POA::ObjectAlreadyActive, - PortableServer::POA::WrongPolicy)) -{ - this->TAO_Regular_POA::activate_object_with_id (id, - p_servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_GOA::deactivate_object (const PortableServer::ObjectId &oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongPolicy)) -{ - this->TAO_Regular_POA::deactivate_object (oid - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -CORBA::Object_ptr -TAO_GOA::create_reference (const char *intf - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)) -{ - CORBA::Object_ptr obj = - this->TAO_Regular_POA::create_reference (intf - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (obj); - return obj; -} - -CORBA::Object_ptr -TAO_GOA::create_reference_with_id (const PortableServer::ObjectId &oid, - const char *intf - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_ptr obj = - this->TAO_Regular_POA::create_reference_with_id (oid, - intf - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (obj); - return obj; -} - -PortableServer::ObjectId * -TAO_GOA::servant_to_id (PortableServer::Servant p_servant - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantNotActive, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::ObjectId *object_id = - this->TAO_Regular_POA::servant_to_id (p_servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (object_id); - return object_id; -} - -CORBA::Object_ptr -TAO_GOA::servant_to_reference (PortableServer::Servant p_servant - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantNotActive, - PortableServer::POA::WrongPolicy)) -{ - CORBA::Object_ptr obj = - this->TAO_Regular_POA::servant_to_reference (p_servant - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (obj); - return obj; -} - - -PortableServer::Servant -TAO_GOA::reference_to_servant (CORBA::Object_ptr reference - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongAdapter, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::Servant servant = - this->TAO_Regular_POA::reference_to_servant (reference - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (servant); - return servant; -} - -PortableServer::ObjectId * -TAO_GOA::reference_to_id (CORBA::Object_ptr reference - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongAdapter, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::ObjectId *object_id = - this->TAO_Regular_POA::reference_to_id (reference - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (object_id); - return object_id; -} - -PortableServer::Servant -TAO_GOA::id_to_servant (const PortableServer::ObjectId &oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongPolicy)) -{ - PortableServer::Servant servant = - this->TAO_Regular_POA::id_to_servant (oid - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (servant); - return servant; -} - -CORBA::Object_ptr -TAO_GOA::id_to_reference (const PortableServer::ObjectId &oid - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongPolicy)) -{ - CORBA::Object_ptr obj = - this->TAO_Regular_POA::id_to_reference (oid - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (obj); - return obj; -} - -CORBA::OctetSeq * -TAO_GOA::id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->TAO_Regular_POA::id (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -int -TAO_GOA::find_group_component (const CORBA::Object_ptr the_ref, - PortableGroup::TagGroupTaggedComponent &group) -{ - const TAO_MProfile& profiles = the_ref->_stubobj ()->base_profiles (); - const TAO_Profile* profile; - CORBA::ULong slot; - - // Iterate through the tagged profiles, and - // create acceptors for the multicast ones. - slot = 0; - while (0 != (profile = profiles.get_profile (slot))) - { - if (this->find_group_component_in_profile (profile, group) == 0) - return 0; - - ++slot; - } - - // Not found. - return -1; -} - -int -TAO_GOA::find_group_component_in_profile (const TAO_Profile* profile, - PortableGroup::TagGroupTaggedComponent &group) -{ - // Iterate through the tagged components looking for - // group tag. - const TAO_Tagged_Components& components = profile->tagged_components (); - - IOP::TaggedComponent tagged_component; - tagged_component.tag = IOP::TAG_GROUP; - - // Try to find it. - if (components.get_component (tagged_component) == 0) - return -1; - - // Found it. - const CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - TAO_InputCDR in_cdr (reinterpret_cast (buf), - tagged_component.component_data.length ()); - - // Extract the Byte Order. - CORBA::Boolean byte_order; - if ((in_cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - in_cdr.reset_byte_order (static_cast (byte_order)); - - if ((in_cdr >> group) == 0) - return -1; - - return 0; -} - -int -TAO_GOA::create_group_acceptors (CORBA::Object_ptr the_ref, - TAO_PortableGroup_Acceptor_Registry &acceptor_registry, - TAO_ORB_Core &orb_core - ACE_ENV_ARG_DECL) -{ - const TAO_MProfile& profiles = the_ref->_stubobj ()->base_profiles (); - const TAO_Profile* profile; - CORBA::ULong slot; - int num = 0; - - // Iterate through the tagged profiles, and - // create acceptors for the multicast ones. - slot = 0; - while (0 != (profile = profiles.get_profile (slot))) - { - if (profile->supports_multicast ()) - { - acceptor_registry.open (profile, - orb_core - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - ++num; - } - - ++slot; - } - - // Return the number of acceptors registered. - return num; -} - -void -TAO_GOA::associate_group_with_ref ( - CORBA::Object_ptr group_ref, - CORBA::Object_ptr obj_ref - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NotAGroupObject)) -{ - // Find the Group Component so that we can extract the Group ID. - PortableGroup::TagGroupTaggedComponent *tmp_group_id; - ACE_NEW_THROW_EX (tmp_group_id, - PortableGroup::TagGroupTaggedComponent, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - PortableGroup::TagGroupTaggedComponent_var group_id = tmp_group_id; - - if (this->find_group_component (group_ref, group_id.inout ()) != 0) - { - // Group component wasn't found. The group reference - // that was passed in must be bogus. - ACE_THROW (PortableGroup::NotAGroupObject ()); - } - - PortableGroup_Request_Dispatcher *rd = - dynamic_cast ( - this->orb_core_.request_dispatcher()); - - // Create the acceptors necessary to receive requests for the - // specified group reference. - this->create_group_acceptors (group_ref, - rd->acceptor_registry_, - this->orb_core_ - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK; - - - // Add a mapping from GroupId to Object key in the PortableGroup - const TAO::ObjectKey &key = - obj_ref->_stubobj ()->profile_in_use ()->object_key (); - rd->group_map_.add_groupid_objectkey_pair (group_id._retn (), - key - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.h b/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.h deleted file mode 100644 index d5bbdeb04dd..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/GOA.h +++ /dev/null @@ -1,329 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file GOA.h - * - * $Id$ - * - * Header file for Group Object Adapter - * - * @author Several - */ -//============================================================================= - -#ifndef TAO_GOA_H -#define TAO_GOA_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" -#include "tao/PortableServer/Regular_POA.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Profile; -class TAO_PortableGroup_Acceptor_Registry; - -/** - * @class TAO_GOA - * - * @brief Implementation of the PortableGroup::GOA interface. - * - * Implementation of the PortableGroup::GOA interface. - */ -class TAO_PortableGroup_Export TAO_GOA : - public virtual PortableGroup::GOA, - public virtual TAO_Regular_POA -{ -public: - // Methods added by the - /// @name MIOP specification methods - //@{ - virtual PortableServer::ObjectId * create_id_for_reference ( - CORBA::Object_ptr the_ref - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )); - - - virtual PortableGroup::IDs * reference_to_ids ( - CORBA::Object_ptr the_ref - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )); - - virtual void associate_reference_with_id ( - CORBA::Object_ptr ref, - const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )); - - virtual void disassociate_reference_with_id ( - CORBA::Object_ptr ref, - const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NotAGroupObject - )); - //@} - - // Standard POA interface methods - PortableServer::POA_ptr create_POA (const char *adapter_name, - PortableServer::POAManager_ptr poa_manager, - const CORBA::PolicyList &policies - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::AdapterAlreadyExists, - PortableServer::POA::InvalidPolicy)); - - PortableServer::POA_ptr find_POA (const char *adapter_name, - CORBA::Boolean activate_it - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::AdapterNonExistent)); - - void destroy (CORBA::Boolean etherealize_objects, - CORBA::Boolean wait_for_completion - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -#if (TAO_HAS_MINIMUM_POA == 0) - - PortableServer::ThreadPolicy_ptr create_thread_policy (PortableServer::ThreadPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - PortableServer::LifespanPolicy_ptr create_lifespan_policy (PortableServer::LifespanPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::IdUniquenessPolicy_ptr create_id_uniqueness_policy (PortableServer::IdUniquenessPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::IdAssignmentPolicy_ptr create_id_assignment_policy (PortableServer::IdAssignmentPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -#if (TAO_HAS_MINIMUM_POA == 0) - - PortableServer::ImplicitActivationPolicy_ptr create_implicit_activation_policy (PortableServer::ImplicitActivationPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::ServantRetentionPolicy_ptr create_servant_retention_policy (PortableServer::ServantRetentionPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::RequestProcessingPolicy_ptr create_request_processing_policy (PortableServer::RequestProcessingPolicyValue value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - char * the_name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::POA_ptr the_parent (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::POAList *the_children (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::POAManager_ptr the_POAManager (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -#if (TAO_HAS_MINIMUM_POA == 0) - - PortableServer::AdapterActivator_ptr the_activator (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void the_activator (PortableServer::AdapterActivator_ptr adapter_activator - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::ServantManager_ptr get_servant_manager (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)); - - void set_servant_manager (PortableServer::ServantManager_ptr imgr - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)); - - PortableServer::Servant get_servant (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::NoServant, - PortableServer::POA::WrongPolicy)); - - void set_servant (PortableServer::Servant servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)); - -#endif /* TAO_HAS_MINIMUM_POA == 0 */ - - PortableServer::ObjectId *activate_object (PortableServer::Servant p_servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantAlreadyActive, - PortableServer::POA::WrongPolicy)); - - void activate_object_with_id (const PortableServer::ObjectId &id, - PortableServer::Servant p_servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantAlreadyActive, - PortableServer::POA::ObjectAlreadyActive, - PortableServer::POA::WrongPolicy)); - - void deactivate_object (const PortableServer::ObjectId &oid - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongPolicy)); - - CORBA::Object_ptr create_reference (const char *intf - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongPolicy)); - - CORBA::Object_ptr create_reference_with_id (const PortableServer::ObjectId &oid, - const char *intf - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - PortableServer::ObjectId *servant_to_id (PortableServer::Servant p_servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantNotActive, - PortableServer::POA::WrongPolicy)); - - CORBA::Object_ptr servant_to_reference (PortableServer::Servant p_servant - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ServantNotActive, - PortableServer::POA::WrongPolicy)); - - PortableServer::Servant reference_to_servant (CORBA::Object_ptr reference - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongAdapter, - PortableServer::POA::WrongPolicy)); - - PortableServer::ObjectId *reference_to_id (CORBA::Object_ptr reference - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::WrongAdapter, - PortableServer::POA::WrongPolicy)); - - PortableServer::Servant id_to_servant (const PortableServer::ObjectId &oid - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongPolicy)); - - CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &oid - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableServer::POA::ObjectNotActive, - PortableServer::POA::WrongPolicy)); - - CORBA::OctetSeq *id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // End standard POA interface methods. - - TAO_GOA (const String &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - TAO_Root_POA *parent, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter - ACE_ENV_ARG_DECL); - - virtual ~TAO_GOA (void); - - // Used to force the initialization of the code. - static int Initializer (void); - -protected: - - /// Template method for creating new POA's of this type. - virtual TAO_Root_POA *new_POA (const String &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - TAO_Root_POA *parent, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter - ACE_ENV_ARG_DECL); - - int find_group_component (const CORBA::Object_ptr the_ref, - PortableGroup::TagGroupTaggedComponent &group); - - int find_group_component_in_profile ( - const TAO_Profile* profile, - PortableGroup::TagGroupTaggedComponent &group - ); - - int create_group_acceptors ( - CORBA::Object_ptr the_ref, - TAO_PortableGroup_Acceptor_Registry &acceptor_registry, - TAO_ORB_Core &orb_core - ACE_ENV_ARG_DECL - ); - - /// Helper function to associate group references with - /// object references. - void associate_group_with_ref ( - CORBA::Object_ptr group_ref, - CORBA::Object_ptr obj_ref - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NotAGroupObject)); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_GOA_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.cpp deleted file mode 100644 index ac2bbec66cf..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "orbsvcs/PortableGroup/MIOP.h" -#include "orbsvcs/PortableGroup/UIPMC_Factory.h" -#include "ace/Service_Config.h" -#include "orbsvcs/PortableGroup/PortableGroup_Loader.h" -#include "orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h" - -ACE_RCSID (PortableGroup, - UIPMC_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /*static*/ int - MIOP_Loader::Initializer (void) - { - ACE_Service_Config::process_directive ( - ace_svc_desc_TAO_PortableGroup_Loader); - - ACE_Service_Config::process_directive ( - ace_svc_desc_TAO_PG_Object_Adapter_Factory); - - return ACE_Service_Config::process_directive ( - ace_svc_desc_TAO_UIPMC_Protocol_Factory); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.h b/TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.h deleted file mode 100644 index 7e6219a5e67..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/MIOP.h +++ /dev/null @@ -1,45 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file MIOP.h - * - * $Id$ - * - * @author Bala Natarajan - */ -//============================================================================= -#ifndef TAO_MIOP_H -#define TAO_MIOP_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - - class TAO_PortableGroup_Export MIOP_Loader - { - public: - /// Used to force the insertion of UIPMC_Factory in the service - /// configurator. - static int Initializer (void); - }; - - static int - Requires_MIOP_Initializer = MIOP_Loader::Initializer (); - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /*TAO_MIOP_H*/ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp deleted file mode 100644 index fe3650caa71..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp +++ /dev/null @@ -1,151 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_Default_Property_Validator.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" - - -ACE_RCSID (PortableGroup, - PG_Default_Property_Validator, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_Default_Property_Validator::TAO_PG_Default_Property_Validator (void) - : membership_ (1), - factories_ (1) -{ - this->membership_.length (1); - this->membership_[0].id = CORBA::string_dup ("org.omg.PortableGroup.MembershipStyle"); - - this->factories_.length (1); - this->factories_[0].id = CORBA::string_dup ("org.omg.PortableGroup.Factories"); -} - -TAO_PG_Default_Property_Validator::~TAO_PG_Default_Property_Validator (void) -{ -} - -void -TAO_PG_Default_Property_Validator::validate_property ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - const CORBA::ULong len = props.length (); - - for (CORBA::ULong i = 0; i < len; ++i) - { - const PortableGroup::Property & property = props[i]; - - if (property.nam == this->membership_) - { - PortableGroup::MembershipStyleValue membership; - if (!(property.val >>= membership) - || (membership != PortableGroup::MEMB_APP_CTRL - && membership != PortableGroup::MEMB_INF_CTRL)) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - else if (property.nam == this->factories_) - { - const PortableGroup::FactoriesValue * factories; - if (!(property.val >>= factories)) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - else - { - const CORBA::ULong flen = factories->length (); - - if (flen == 0) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - - for (CORBA::ULong j = 0; j < flen; ++j) - { - const PortableGroup::FactoryInfo & factory_info = - (*factories)[j]; - - if (CORBA::is_nil (factory_info.the_factory.in ()) - || factory_info.the_location.length () == 0) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - } - } - } -} - -void -TAO_PG_Default_Property_Validator::validate_criteria ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)) -{ - const CORBA::ULong len = props.length (); - PortableGroup::Criteria invalid_criteria; - - // Optimize for the worst case scenario where all properties are - // invalid. - invalid_criteria.length (len); - - /// The invalid criteria index. - CORBA::ULong p = 0; - - for (CORBA::ULong i = 0; i < len; ++i) - { - const PortableGroup::Property & property = props[i]; - - if (property.nam == this->membership_) - { - PortableGroup::MembershipStyleValue membership; - if (!(property.val >>= membership) - || (membership != PortableGroup::MEMB_APP_CTRL - && membership != PortableGroup::MEMB_INF_CTRL)) - invalid_criteria[p++] = property; - } - else if (property.nam == this->factories_) - { - PortableGroup::FactoriesValue * factories; - if (!(property.val >>= factories)) - invalid_criteria[p++] = property; - else - { - const CORBA::ULong flen = factories->length (); - - if (flen == 0) - invalid_criteria[p++] = property; - else - { - for (CORBA::ULong j = 0; j < flen; ++j) - { - const PortableGroup::FactoryInfo & factory_info = - (*factories)[j]; - - if (CORBA::is_nil (factory_info.the_factory.in ()) - || factory_info.the_location.length () == 0) - { - invalid_criteria[p++] = property; - break; - } - } - } - } - } - } - - if (p > 0) - { - // Reduce the length of the invalid criteria sequence in an - // effort to optimize the copying that will occur when the below - // exception is thrown. Reducing the length is fast since no - // deallocations should occur. - invalid_criteria.length (p); - - ACE_THROW (PortableGroup::InvalidCriteria (invalid_criteria)); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h deleted file mode 100644 index 9f9ced075d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Default_Property_Validator.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_PG_DEFAULT_PROPERTY_VALIDATOR_H -#define TAO_PG_DEFAULT_PROPERTY_VALIDATOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_Default_Property_Validator - * - * @brief Default property validator implementation. - * - * This Property_Validator verifies that all properties defined in the - * PortableGroup IDL module are valid. This property validator can be - * subclassed to validate a different property set. - */ -class TAO_PortableGroup_Export TAO_PG_Default_Property_Validator -{ -public: - - /// Constructor. - TAO_PG_Default_Property_Validator (void); - - /// Destructor - virtual ~TAO_PG_Default_Property_Validator (void); - - /// Validate the given properties. Throw an exception when the - /// first invalid property is encountered. The remaining properties - /// will not be validated. - virtual void validate_property (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /// Validate the given properties/criteria. All criteria - /// will be validated regardless of whether or not an invalid - /// property was encountered. - virtual void validate_criteria (const PortableGroup::Properties & criteria - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)); - -private: - - /** - * @name Pre-initialize property Names. - * - * These properties are pre-initialized once to reduce property - * validation overhead. Note that the InitialNumberReplicas and - * MinimumNumberReplicas properties are not validated since there are - * no restrictions imposed by TAO's PortableGroup implementation - * regarding the number of such members. - */ - //@{ - PortableGroup::Name membership_; - PortableGroup::Name factories_; - //@} - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_PROPERTY_VALIDATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp deleted file mode 100644 index 330d3984006..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp +++ /dev/null @@ -1,733 +0,0 @@ -// -*- C++ -*- -// $Id$ - -#include "orbsvcs/PortableGroup/PG_FactoryRegistry.h" - -#include "ace/Get_Opt.h" -#include "ace/Vector_T.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_unistd.h" -#include "ace/Auto_Ptr.h" -#include "tao/debug.h" -#include "tao/ORB_Constants.h" -#include "tao/PortableServer/POAManagerC.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" // operator == on CosNaming::Name - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Use this macro at the beginning of CORBA methods -// to aid in debugging. -#define METHOD_ENTRY(name) \ - if (TAO_debug_level <= 6){} else \ - ACE_DEBUG (( LM_DEBUG, \ - "Enter %s\n", #name \ - )) - -// Use this macro to return from CORBA methods -// to aid in debugging. Note that you can specify -// the return value after the macro, for example: -// METHOD_RETURN(Plugh::plover) xyzzy; is equivalent -// to return xyzzy; -// METHOD_RETURN(Plugh::troll); is equivalent to -// return; -// WARNING: THIS GENERATES TWO STATEMENTS!!! THE FOLLOWING -// will not do what you want it to: -// if (cave_is_closing) METHOD_RETURN(Plugh::pirate) aarrggh; -// Moral: Always use braces. -#define METHOD_RETURN(name) \ - if (TAO_debug_level <= 6){} else \ - ACE_DEBUG (( LM_DEBUG, \ - "Leave %s\n", #name \ - )); \ - return /* value goes here */ - -TAO::PG_FactoryRegistry::PG_FactoryRegistry (const char * name) - : identity_(name) - , orb_ (0) - , poa_ (0) - , object_id_ (0) - , this_obj_ (0) - , ior_output_file_(0) - , ns_name_(0) - , naming_context_(0) - , this_name_(1) - , quit_on_idle_(0) - , quit_state_(LIVE) - , linger_(0) -{ -} - -TAO::PG_FactoryRegistry::~PG_FactoryRegistry (void) -{ -} - -////////////////////////////////////////////////////// -// PG_FactoryRegistry public, non-CORBA methods - -int TAO::PG_FactoryRegistry::parse_args (int argc, char * argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "o:n:q"); - int c; - - while ((c = get_opts ()) != -1) - { - switch (c) - { - case 'o': - { - this->ior_output_file_ = get_opts.opt_arg (); - break; - } - case 'n': - { - this->ns_name_ = get_opts.opt_arg(); - break; - } - case 'q': - { - this->quit_on_idle_ = 1; - break; - } - - case '?': - // fall thru - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s" - " -o " - " -n " - " -q{uit on idle}" - "\n", - argv [0]), - -1); - break; - } - } - // Indicates sucessful parsing of the command line - return 0; -} - -const char * TAO::PG_FactoryRegistry::identity () const -{ - return this->identity_.c_str(); -} - -void TAO::PG_FactoryRegistry::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - this->quit_state_ = GONE; -} - -int TAO::PG_FactoryRegistry::idle (int & result ACE_ENV_ARG_DECL_NOT_USED) -{ - result = 0; - int quit = 0; - if (this->quit_state_ == GONE) - { - if (linger_ < 2) - { - ++linger_; - } - else - { - quit = 1; - } - } - return quit; -} - - -int TAO::PG_FactoryRegistry::fini (ACE_ENV_SINGLE_ARG_DECL) -{ - if (this->ior_output_file_ != 0) - { - ACE_OS::unlink (this->ior_output_file_); - this->ior_output_file_ = 0; - } - if (this->ns_name_ != 0) - { - this->naming_context_->unbind (this_name_ - ACE_ENV_ARG_PARAMETER); - this->ns_name_ = 0; - } - return 0; -} - - -void TAO::PG_FactoryRegistry::init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (CORBA::is_nil (this->orb_.in ())); - ACE_ASSERT (CORBA::is_nil (this->poa_.in ())); - this->orb_ = CORBA::ORB::_duplicate (orb); - this->poa_ = PortableServer::POA::_duplicate (poa); - ACE_ASSERT ( ! CORBA::is_nil (this->orb_.in ())); - ACE_ASSERT ( ! CORBA::is_nil (this->poa_.in ())); - - // Register with the POA. - this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // find my identity as a corba object - this->this_obj_ = - this->poa_->id_to_reference (object_id_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // and create a ior string - this->ior_ = this->orb_->object_to_string (this->this_obj_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -} - -int TAO::PG_FactoryRegistry::init (CORBA::ORB_ptr orb - ACE_ENV_ARG_DECL) -{ - int result = 0; - - this->orb_ = CORBA::ORB::_duplicate (orb); - - // Use the ROOT POA for now - CORBA::Object_var poa_object = - this->orb_->resolve_initial_references (TAO_OBJID_ROOTPOA - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (CORBA::is_nil (poa_object.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT (" (%P|%t) Unable to initialize the POA.\n")), - -1); - - // Get the POA object. - this->poa_ = - PortableServer::POA::_narrow (poa_object.in () - ACE_ENV_ARG_PARAMETER); - - ACE_CHECK_RETURN (-1); - - if (CORBA::is_nil (this->poa_.in())) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT (" (%P|%t) Unable to narrow the POA.\n")), - -1); - } - - PortableServer::POAManager_var poa_manager = - this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - // Register with the POA. - this->object_id_ = this->poa_->activate_object (this ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - // find my identity as a corba object - this->this_obj_ = - this->poa_->id_to_reference (object_id_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - - // and create a ior string - this->ior_ = this->orb_->object_to_string (this->this_obj_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - - if (this->ior_output_file_ != 0) - { - this->identity_ = "file:"; - this->identity_ += this->ior_output_file_; - result = write_ior_file (this->ior_output_file_, - this->ior_.in ()); - } - - if (this->ns_name_ != 0) - { - this->identity_ = "name:"; - this->identity_ += this->ns_name_; - - CORBA::Object_var naming_obj = - this->orb_->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - if (CORBA::is_nil(naming_obj.in ())){ - ACE_ERROR_RETURN ((LM_ERROR, - "%T %n (%P|%t) Unable to find the Naming Service\n"), - 1); - } - - this->naming_context_ = - CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - - this->this_name_.length (1); - this->this_name_[0].id = CORBA::string_dup (this->ns_name_); - - this->naming_context_->rebind (this->this_name_, this->this_obj_.in() //CORBA::Object::_duplicate(this_obj) - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN(-1); - } - - return result; -} - - -::PortableGroup::FactoryRegistry_ptr TAO::PG_FactoryRegistry::reference() -{ - // narrow and duplicate - return ::PortableGroup::FactoryRegistry::_narrow(this->this_obj_.in ()); -} - - -////////////////////////////////////////// -// PG_FactoryRegistry CORBA methods - -/* Reference:info - typedef CosNaming::Name Name; - typedef Name Location; - struct FactoryInfo { - GenericFactory the_factory; - Location the_location; - Criteria the_criteria; - }; - typedef sequence FactoryInfos; -*/ - -TAO::PG_FactoryRegistry::RoleInfo::RoleInfo(size_t estimated_number_entries) - : infos_(estimated_number_entries) -{ -} - - -void TAO::PG_FactoryRegistry::register_factory ( - const char * role, - const char * type_id, - const PortableGroup::FactoryInfo & factory_info - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , PortableGroup::MemberAlreadyPresent - , PortableGroup::TypeConflict)) -{ - METHOD_ENTRY(TAO::PG_FactoryRegistry::register_factory); - - RoleInfo * role_info = 0; - auto_ptr safe_entry; - if (this->registry_.find(role, role_info) != 0) - { - ACE_DEBUG(( LM_DEBUG, - "%s: adding new role: %s:%s\n", - this->identity_.c_str(), role, type_id)); - - // Note the 5. It's a guess about the number of factories - // that might exist for any particular role object. - // todo: make it a parameter. - ACE_NEW_THROW_EX (role_info, - RoleInfo(5), - CORBA::NO_MEMORY()); - ACE_CHECK; - - ACE_AUTO_PTR_RESET (safe_entry, role_info, RoleInfo); - role_info->type_id_ = type_id; - } - else - { - if (role_info->type_id_ != type_id) - { - ACE_THROW ( PortableGroup::TypeConflict() ); - } - } - - PortableGroup::FactoryInfos & infos = role_info->infos_;; - size_t length = infos.length(); - for (size_t nInfo = 0; nInfo < length; ++nInfo) - { - PortableGroup::FactoryInfo & info = infos[nInfo]; - if (info.the_location == factory_info.the_location) - { - ACE_ERROR(( LM_ERROR, - "%s: Attempt to register duplicate location %s for role: %s\n" , - this->identity_.c_str(), - static_cast (info.the_location[0].id), - role)); - ACE_THROW (PortableGroup::MemberAlreadyPresent() ); - } - } - - infos.length(length + 1); - infos[length] = factory_info; - - if (safe_entry.get() != 0) - { - this->registry_.bind(role, safe_entry.release()); - } - - ACE_DEBUG(( LM_DEBUG, - "%s: Added factory: [%d] %s@%s \n", - this->identity_.c_str(), - static_cast (length + 1), - role, - static_cast (factory_info.the_location[0].id) - )); - - METHOD_RETURN(TAO::PG_FactoryRegistry::register_factory); -} - -void TAO::PG_FactoryRegistry::unregister_factory ( - const char * role, - const PortableGroup::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, PortableGroup::MemberNotFound)) -{ - METHOD_ENTRY(TAO::PG_FactoryRegistry::unregister_factory); - - RoleInfo * role_info = 0; - if (this->registry_.find(role, role_info) == 0) - { - PortableGroup::FactoryInfos & infos = role_info->infos_; - int found = 0; - size_t length = infos.length(); - for (size_t nInfo = 0; !found && nInfo < length; ++nInfo) - { - PortableGroup::FactoryInfo & info = infos[nInfo]; - if (info.the_location == location) - { - found = 1; - - ACE_ERROR(( LM_INFO, - "%s: Unregistering factory %s@%s\n", - this->identity_.c_str(), - role, - static_cast (location[0].id) - )); - if (length > 1) - { - // if this is not the last entry - if (nInfo + 1 < length) - { - // move last entry into newly-emptied slot - infos[nInfo] = infos[length - 1]; - nInfo = length -1; - } - infos.length(nInfo); - } - else - { - ACE_ASSERT ( length == 1 ); - if (this->registry_.unbind (role) == 0) - { - ACE_DEBUG(( LM_INFO, - "%s: No more factories registered for %s\n", - this->identity_.c_str(), - role - )); - delete role_info; - } - else - { - ACE_ERROR ((LM_ERROR, - "%s: LOGIC ERROR AT " __FILE__ " (%d): Entry to be deleted disappeared\n", - this->identity_.c_str(), - __LINE__)); - } - } - } - } - } - else - { - ACE_ERROR(( LM_ERROR, - "%s, Attempt to unregister factory for unknown role %s\n", - this->identity_.c_str(), - role - )); - ACE_THROW ( PortableGroup::MemberNotFound() ); - } - - ////////////////////// - // request complete - // check quit-on-idle - if (registry_.current_size() == 0 && quit_state_ == LIVE) - { - ACE_ERROR(( LM_INFO, - "%s is idle\n", - identity() - )); - if (quit_on_idle_) - { - this->poa_->deactivate_object (this->object_id_.in () - ACE_ENV_ARG_PARAMETER); - quit_state_ = DEACTIVATED; - } - } - - METHOD_RETURN(TAO::PG_FactoryRegistry::unregister_factory); -} - -void TAO::PG_FactoryRegistry::unregister_factory_by_role ( - const char * role - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - METHOD_ENTRY(TAO::PG_FactoryRegistry::unregister_factory_by_role); - - RoleInfo * role_info = 0; - if (this->registry_.unbind(role, role_info) == 0) - { - ACE_DEBUG(( LM_DEBUG, - "%s: Unregistering all factories for role %s\n", - this->identity_.c_str(), - role - )); - // delete the entire set of factories for this location. - delete role_info; - } - else - { - ACE_ERROR(( LM_INFO, - "%s: Unregister_factory_by_role: unknown role: %s\n", - this->identity_.c_str(), - role - )); - } - - ///////////////////// - // Function complete - // check quit options - if (registry_.current_size() == 0 && quit_state_ == LIVE) - { - ACE_ERROR(( LM_INFO, - "%s is idle\n", - identity() - )); - if (quit_on_idle_) - { - this->poa_->deactivate_object (this->object_id_.in () - ACE_ENV_ARG_PARAMETER); - quit_state_ = DEACTIVATED; - } - } - - METHOD_RETURN(TAO::PG_FactoryRegistry::unregister_factory_by_role); -} - -void TAO::PG_FactoryRegistry::unregister_factory_by_location ( - const PortableGroup::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - METHOD_ENTRY(TAO::PG_FactoryRegistry::unregister_factory_by_location); - - //////////////////////////////////////////// - // a vector of roles that need to be deleted. - ACE_Vector emptyRoles; - - // iterate through the registery - for (RegistryType_Iterator it = this->registry_.begin(); - it != this->registry_.end(); - ++it) - { - RegistryType_Entry & entry = *it; - ACE_CString & role = entry.ext_id_; - RoleInfo * role_info = entry.int_id_; - - PortableGroup::FactoryInfos & infos = role_info->infos_; - // ACE_ERROR((LM_INFO, "unregister_factory_by_location: Checking role %s\n", role.c_str() )); - - int found = 0; - size_t length = infos.length(); - for (size_t nInfo = 0; !found && nInfo < length; ++nInfo) - { - PortableGroup::FactoryInfo & info = infos[nInfo]; - if (info.the_location == location) - { - - ACE_ERROR((LM_INFO, - "%s: Unregister_factory_by_location: Removing: [%d] %s@%s\n", - this->identity_.c_str(), - static_cast (nInfo), - role.c_str(), - static_cast (location[0].id) - )); - found = 1; - if (length > 1) - { - while (nInfo + 1 < length) - { - ACE_ERROR((LM_INFO, - "%s: Unregister_factory_by_location: Move: [%d] %s to [%d]\n", - this->identity_.c_str(), - (int)nInfo + 1, role.c_str(), (int)nInfo - )); - infos[nInfo] = infos[nInfo + 1]; - nInfo += 1; - } - ACE_ERROR((LM_INFO, - "%s: unregister_factory_by_location: New length [%d] %s\n", - this->identity_.c_str(), - (int)nInfo, role.c_str() - )); - infos.length(nInfo); - } - else - { - ACE_ERROR((LM_INFO, - "%s: Removed all entries for %s\n", - this->identity_.c_str(), - role.c_str() - )); - ACE_ASSERT ( length == 1 ); - // remember entries to be deleted - emptyRoles.push_back(entry.ext_id_); - } - } - } - } - - // now remove any roles that became empty - - for (size_t nRole = 0; nRole < emptyRoles.size(); ++nRole) - { - ACE_ERROR((LM_INFO, - "%s: Remove role %s\n", - this->identity_.c_str(), - emptyRoles[nRole].c_str() - )); - RoleInfo * role_info; - if (this->registry_.unbind(emptyRoles[nRole], role_info) == 0) - { - delete role_info; - } - else - { - ACE_ERROR ((LM_ERROR, - "%s: LOGIC ERROR AT " __FILE__ " (%d): Role to be deleted disappeared\n", - this->identity_.c_str(), - __LINE__)); - } - } - ////////////////////////// - // If all types are gone... - if (registry_.current_size() == 0 && quit_state_ == LIVE) - { - ACE_ERROR(( LM_INFO, - "%s is idle\n", - identity() - )); - if (quit_on_idle_) - { - this->poa_->deactivate_object (this->object_id_.in () - ACE_ENV_ARG_PARAMETER); - quit_state_ = DEACTIVATED; - } - } - - METHOD_RETURN(TAO::PG_FactoryRegistry::unregister_factory_by_location); -} - -::PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_role ( - const char * role, - CORBA::String_out type_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - METHOD_ENTRY(TAO::PG_FactoryRegistry::list_factories_by_role); - - // allocate stucture to be returned. - PortableGroup::FactoryInfos_var result = 0; - ACE_NEW_THROW_EX (result, ::PortableGroup::FactoryInfos(), - CORBA::NO_MEMORY (TAO::VMCID, CORBA::COMPLETED_NO)); - - ACE_CHECK_RETURN (0); - - RoleInfo * role_info = 0; - if (this->registry_.find(role, role_info) == 0) - { - type_id = CORBA::string_dup(role_info->type_id_.c_str()); - (*result) = role_info->infos_; - } - else - { - type_id = CORBA::string_dup(""); - ACE_ERROR(( LM_INFO, - "%s: list_factories_by_role: unknown role %s\n", - this->identity_.c_str(), - role - )); - } - METHOD_RETURN(TAO::PG_FactoryRegistry::list_factories_by_role) result._retn(); -} - -::PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_location ( - const PortableGroup::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - METHOD_ENTRY(TAO::PG_FactoryRegistry::list_factories_by_location); - ::PortableGroup::FactoryInfos_var result; - ACE_NEW_THROW_EX (result, ::PortableGroup::FactoryInfos(this->registry_.current_size()), - CORBA::NO_MEMORY (TAO::VMCID, CORBA::COMPLETED_NO)); - - ACE_CHECK_RETURN (0); - - size_t result_length = 0; - - // iterate through the registery - for (RegistryType_Iterator it = this->registry_.begin(); - it != this->registry_.end(); - ++it) - { - RegistryType_Entry & entry = *it; - RoleInfo * role_info = entry.int_id_; - - PortableGroup::FactoryInfos & found_infos = role_info->infos_; - // iterate through the entry for this type - int found = 0; - size_t length = found_infos.length(); - for (size_t nInfo = 0; !found && nInfo < length; ++nInfo) - { - PortableGroup::FactoryInfo & info = found_infos[nInfo]; - if (info.the_location == location) - { - found = 1; - result_length += 1; - result->length(result_length); - (*result)[result_length-1] = info; - } - } - } - - METHOD_RETURN(TAO::PG_FactoryRegistry::list_factories_by_location) result._retn(); -} - -////////////////////////////// -// Implementation methods - -int TAO::PG_FactoryRegistry::write_ior_file(const char * outputFile, const char * ior) -{ - int result = -1; - FILE* out = ACE_OS::fopen (outputFile, "w"); - if (out) - { - ACE_OS::fprintf (out, "%s", ior); - ACE_OS::fclose (out); - result = 0; - } - else - { - ACE_ERROR ((LM_ERROR, - "Open failed for %s\n", outputFile - )); - } - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h deleted file mode 100644 index b16268b5f66..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h +++ /dev/null @@ -1,263 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_FactoryRegistry.h - * - * $Id$ - * - * This file declares the implementation of PortableGroup::FactoryRegistry. - * Eventually this should be folded into the Fault Tolerance ReplicationManager - * - * @author Dale Wilson - */ -//============================================================================= - -#ifndef TAO_PG_FACTORYREGISTRY_H_ -#define TAO_PG_FACTORYREGISTRY_H_ -#include /**/ "ace/pre.h" -#include /**/ "ace/ACE.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -///////////////////////////////// -// Includes needed by this header -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupS.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/SString.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////////////////// -// Classes declared in this header -namespace TAO -{ - class PG_FactoryRegistry; -} - -///////////////////// -// Forward references - -namespace TAO -{ - /** - * Implement the PortableGroup::FactoryRegistry interface - * Note FactoryRegistry is not part of the OMG standard. It was added - * as part of the TAO implementation of Fault Tolerant CORBA - */ - class TAO_PortableGroup_Export PG_FactoryRegistry - : public virtual POA_PortableGroup::FactoryRegistry - { - struct RoleInfo - { - ACE_CString type_id_; - PortableGroup::FactoryInfos infos_; - - RoleInfo(size_t estimated_number_entries = 5); - }; - typedef ACE_Null_Mutex MapMutex; - typedef ACE_Hash_Map_Manager RegistryType; - typedef ACE_Hash_Map_Entry RegistryType_Entry; - typedef ACE_Hash_Map_Iterator RegistryType_Iterator; - - ////////////////////// - // non-CORBA interface - public: - /// Constructor - PG_FactoryRegistry (const char * name = "FactoryRegistry"); - - /// virtual Destructor - virtual ~PG_FactoryRegistry (void); - - /** - * Parse command line arguments. - * @param argc traditional C argc - * @param argv traditional C argv - * @return zero for success; nonzero is process return code for failure. - */ - int parse_args (int argc, char * argv[]); - - /** - * Initialize this object. - * @param orbManager our ORB -- we keep var to it. - * @return zero for success; nonzero is process return code for failure. - */ - int init (CORBA::ORB_ptr orb ACE_ENV_ARG_DECL); - - /** - * alternative init using designated poa - */ - void init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL); - - /** - * Prepare to exit. - * @return zero for success; nonzero is process return code for failure. - */ - int fini (ACE_ENV_SINGLE_ARG_DECL); - - /** - * Processing to happen when the ORB's event loop is idle. - * @param result is a place to return status to be returned by the process - * @returns 0 to continue. 1 to quit. - */ - int idle(int & result ACE_ENV_ARG_DECL); - - /** - * Identify this object. - * @return a string to identify this object for logging/console message purposes. - */ - const char * identity () const; - - /** - * An object reference to the this object. - * Duplicated by the call so it may (and probably should) be assigned to a _var.. - */ - ::PortableGroup::FactoryRegistry_ptr reference(); - - //////////////////////////////// - // override servant base methods - virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); - - ////////////////// - // CORBA interface - // See IDL for documentation - - virtual void register_factory ( - const char * role, - const char * type_id, - const PortableGroup::FactoryInfo & factory_info - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , PortableGroup::MemberAlreadyPresent - , PortableGroup::TypeConflict)); - - virtual void unregister_factory ( - const char * role, - const PortableGroup::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException, PortableGroup::MemberNotFound)); - - virtual void unregister_factory_by_role ( - const char * role - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - virtual void unregister_factory_by_location ( - const PortableGroup::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::PortableGroup::FactoryInfos * list_factories_by_role ( - const char * role, - CORBA::String_out type_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::PortableGroup::FactoryInfos * list_factories_by_location ( - const PortableGroup::Location & location - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - ///////////////////////// - // Implementation methods - private: - /** - * Write this factory's IOR to a file - */ - int write_ior_file (const char * outputFile, const char * ior); - - /////////////// - // Data Members - private: - - /** - * A human-readable string to distinguish this from other Notifiers. - */ - ACE_CString identity_; - - /** - * Protect internal state. - * Mutex should be locked by corba methods, or by - * external (public) methods before calling implementation - * methods. - * Implementation methods should assume the mutex is - * locked if necessary. - */ - TAO_SYNCH_MUTEX internals_; - typedef ACE_Guard InternalGuard; - - /** - * The orb - */ - CORBA::ORB_var orb_; - - /** - * The POA used to activate this object. - */ - PortableServer::POA_var poa_; - - /** - * The CORBA object id assigned to this object. - */ - PortableServer::ObjectId_var object_id_; - - /** - * This objects identity as a CORBA object. - */ - CORBA::Object_var this_obj_; - - /** - * IOR of this object as assigned by poa. - */ - CORBA::String_var ior_; - - /** - * A file to which the factory's IOR should be written. - */ - const char * ior_output_file_; - - /** - * A name to be used to register the factory with the name service. - */ - const char * ns_name_; - - CosNaming::NamingContext_var naming_context_; - - CosNaming::Name this_name_; - - /** - * Quit on idle flag. - */ - int quit_on_idle_; - - /** - * State of the quit process - */ - enum {LIVE, DEACTIVATED, GONE} quit_state_; - - int linger_; - - RegistryType registry_; - - }; -} // namespace TAO - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif // TAO_PG_FACTORYREGISTRY_H_ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h deleted file mode 100644 index 33c4e1cf421..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h +++ /dev/null @@ -1,46 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file PG_Factory_Map.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_PG_FACTORY_MAP_H -#define TAO_PG_FACTORY_MAP_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Factory_Set.h" - -#include "orbsvcs/PortableGroupC.h" - -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Factory hash map. -typedef ACE_Hash_Map_Manager_Ex< - ACE_UINT32, - TAO_PG_Factory_Set, - ACE_Hash, - ACE_Equal_To, - ACE_Null_Mutex> TAO_PG_Factory_Map; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_FACTORY_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h deleted file mode 100644 index 9b545e49831..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h +++ /dev/null @@ -1,58 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file PG_Factory_Set.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_PG_FACTORY_SET_H -#define TAO_PG_FACTORY_SET_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -#include "ace/Array_Base.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_Factory_Node - * - * @brief Structure that contains all factory-specific information. - * - * Each member created by the infrastructure instead of the - * application will have a corresponding TAO_PG_Factory_Node structure - * associated with it. A list of these will be maintained by the - * infrastructure so that it is possible for the instrastructure to - * destroy members it created when destroying the object group. - */ -struct TAO_PG_Factory_Node -{ - /// Member factory information. - PortableGroup::FactoryInfo factory_info; - - /// FactoryCreationId assigned to the member. - PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id; - -}; - -typedef ACE_Array_Base TAO_PG_Factory_Set; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_FACTORY_SET_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp deleted file mode 100644 index 0461276bea1..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp +++ /dev/null @@ -1,780 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_GenericFactory.h" -#include "orbsvcs/PortableGroup/PG_MemberInfo.h" -#include "orbsvcs/PortableGroup/PG_ObjectGroupManager.h" -#include "orbsvcs/PortableGroup/PG_PropertyManager.h" -#include "orbsvcs/PortableGroup/PG_Property_Utils.h" -#include "orbsvcs/PortableGroup/PG_conf.h" - -#include "ace/OS_NS_stdio.h" - -#include "tao/ORB_Constants.h" - -ACE_RCSID (PortableGroup, - PG_GenericFactory, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_GenericFactory::TAO_PG_GenericFactory ( - TAO_PG_ObjectGroupManager & object_group_manager, - TAO_PG_PropertyManager & property_manager) - : poa_ (), - object_group_manager_ (object_group_manager), - property_manager_ (property_manager), - factory_map_ (TAO_PG_MAX_OBJECT_GROUPS), - next_fcid_ (0), - lock_ () -{ - this->object_group_manager_.generic_factory (this); -} - -TAO_PG_GenericFactory::~TAO_PG_GenericFactory (void) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - TAO_PG_Factory_Map::iterator end = this->factory_map_.end (); - for (TAO_PG_Factory_Map::iterator i = this->factory_map_.begin (); - i != end; - ++i) - { - TAO_PG_Factory_Set & factory_set = (*i).int_id_; - - ACE_TRY - { - this->delete_object_i (factory_set, - 1 /* Ignore exceptions */ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions. - } - ACE_ENDTRY; - } - - (void) this->factory_map_.close (); -} - -CORBA::Object_ptr -TAO_PG_GenericFactory::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)) -{ - PortableGroup::Properties_var properties = - this->property_manager_.get_type_properties (type_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - PortableGroup::MembershipStyleValue membership_style = - TAO_PG_MEMBERSHIP_STYLE; - PortableGroup::FactoriesValue factory_infos(0); - - PortableGroup::InitialNumberMembersValue initial_number_members = - TAO_PG_INITIAL_NUMBER_MEMBERS; - PortableGroup::MinimumNumberMembersValue minimum_number_members = - TAO_PG_MINIMUM_NUMBER_MEMBERS; - - // Make sure the criteria for the object group being created are - // valid. - this->process_criteria (type_id, - the_criteria, - membership_style, - factory_infos, - initial_number_members, - minimum_number_members - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - CORBA::ULong fcid = 0; - - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - CORBA::Object::_nil ()); - - // Start out with an initial value. - fcid = this->next_fcid_; - - // Loop until a free FactoryCreationId is found, being careful to - // search through the range of FactoryCreationIds only once. - while (this->factory_map_.find (this->next_fcid_) == 0) - { - this->next_fcid_++; - - // If this is true, then no FactoryCreationIds are available. - // This is highly unlikely since TAO implements a - // FactoryCreationId as a 32 bit unsigned integer, meaning - // that over 4 billion object groups are being managed by this - // generic factory! - if (this->next_fcid_ == fcid) - ACE_THROW_RETURN (PortableGroup::ObjectNotCreated (), - CORBA::Object::_nil ()); - } - - // Just in case this->next_fcid_ was modified in the above search, - // reassign the value. - fcid = this->next_fcid_; - } - - // The ObjectId for the newly created object group is comprised - // solely of the FactoryCreationId. - PortableServer::ObjectId_var oid; - this->get_ObjectId (fcid, oid.out ()); - - PortableGroup::ObjectGroup_var object_group = - this->object_group_manager_.create_object_group (fcid, - oid.in (), - type_id, - the_criteria - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - TAO_PG_Factory_Set factory_set; - - const CORBA::ULong factory_infos_count = factory_infos.length (); - - ACE_TRY - { - if (factory_infos_count > 0 - && membership_style == PortableGroup::MEMB_INF_CTRL) - { - this->populate_object_group (object_group.in (), - type_id, - factory_infos, - initial_number_members, - factory_set - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (this->factory_map_.bind (fcid, factory_set) != 0) - ACE_TRY_THROW (PortableGroup::ObjectNotCreated ()); - - } - - // Allocate a new FactoryCreationId for use as an "out" parameter. - PortableGroup::GenericFactory::FactoryCreationId * tmp = 0; - ACE_NEW_THROW_EX (tmp, - PortableGroup::GenericFactory::FactoryCreationId, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - factory_creation_id = tmp; - - *tmp <<= fcid; - } - ACE_CATCHANY - { - this->delete_object_i (factory_set, - 1 /* Ignore exceptions */ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->object_group_manager_.destroy_object_group (oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - CORBA::Object::_nil ()); - - // Object group was successfully created. Increment the next - // FactoryCreationId in preparation for the next object group. - this->next_fcid_++; - } - - return object_group._retn (); -} - -void -TAO_PG_GenericFactory::delete_object ( - const PortableGroup::GenericFactory::FactoryCreationId & - factory_creation_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)) -{ - CORBA::ULong fcid = 0; - - if (factory_creation_id >>= fcid) // Extract the actual FactoryCreationId. - { - // Successfully extracted the FactoryCreationId. Now find the - // TAO_PG_Factory_Set corresponding to it. - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - // If no entry exists in the factory map, infrastructure - // controlled membership was not used. - TAO_PG_Factory_Map::ENTRY *entry = 0; - if (this->factory_map_.find (fcid, entry) == 0) - { - TAO_PG_Factory_Set & factory_set = entry->int_id_; - - this->delete_object_i (factory_set, - 0 /* Do not ignore exceptions */ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (this->factory_map_.unbind (fcid) != 0) - ACE_THROW (CORBA::INTERNAL ()); - } - } - else - ACE_THROW (PortableGroup::ObjectNotFound ()); // @@ - // CORBA::BAD_PARAM - // instead? - - // The ObjectId for the newly created object group is comprised - // solely of the FactoryCreationId. - PortableServer::ObjectId_var oid; - this->get_ObjectId (fcid, oid.out ()); - - // Destroy the object group entry. - this->object_group_manager_.destroy_object_group ( - oid.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO_PG_GenericFactory::delete_object_i (TAO_PG_Factory_Set & factory_set, - CORBA::Boolean ignore_exceptions - ACE_ENV_ARG_DECL) -{ - const size_t len = factory_set.size (); - - size_t ilen = len; - for (size_t i = 0; i != len; ++i) - { - // Destroy the object group member in reverse order in case the - // array list is only partially destroyed and another call to - // GenericFactory::delete_object() occurs afterwards. - --ilen; - - TAO_PG_Factory_Node & factory_node = factory_set[ilen]; - - PortableGroup::GenericFactory_ptr factory = - factory_node.factory_info.the_factory.in (); - const PortableGroup::GenericFactory::FactoryCreationId & member_fcid = - factory_node.factory_creation_id.in (); - - ACE_TRY - { - factory->delete_object (member_fcid - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Exceptions are generally only ignored when this - // GenericFactory (not the one being invoked above) is - // destroyed. The idea is to allow the GenericFactory to be - // destroyed regardless of whether or not all object group - // members have been destroyed, and minimize the number of - // object group members that have not been destroyed. - if (!ignore_exceptions) - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - - // Since GenericFactory::delete_object() can throw an exception, - // decrease the size of the factory array incrementally since - // some object group members may not have been destroyed yet. - // Note that this size reduction is fast since no memory is - // actually deallocated. - factory_set.size (ilen); - } -} - -void -TAO_PG_GenericFactory::delete_member ( - CORBA::ULong group_id, - const PortableGroup::Location & location - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - // If no entry exists in the factory map, infrastructure - // controlled membership was not used. - TAO_PG_Factory_Map::ENTRY *entry = 0; - if (this->factory_map_.find (group_id, entry) == 0) - { - TAO_PG_Factory_Set & factory_set = entry->int_id_; - - const size_t len = factory_set.size (); - - // Iterate through the factory_set until a location match - // occurs. If a location match occurs, the member was created - // by the infrastructure, i.e. this GenericFactory - // implementation. If no location matches, the member was - // created by the application, and no operation will be - // performed. - // - // @todo This is linear search. Change to use a container with - // better search times. - for (size_t i = 0; i < len; ++i) - { - TAO_PG_Factory_Node & node = factory_set[i]; - PortableGroup::FactoryInfo & info = node.factory_info; - - if (info.the_location == location) - { - info.the_factory->delete_object (node.factory_creation_id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // The member has been successfully deleted. Reduce the - // size of the factory_set accordingly. - if (len > 1) - { - // Move the last element to the location of the - // current one and reduce the size of the set by - // one. - const size_t new_len = len - 1; - node = factory_set[new_len]; // Memberwise copy - factory_set.size (new_len); - } - else - { - // A copy isn't necessary if the last member was - // deleted. - factory_set.size (0); - } - - return; - } - } - } -} - -void -TAO_PG_GenericFactory::poa (PortableServer::POA_ptr p) -{ - ACE_ASSERT (CORBA::is_nil (this->poa_.in ()) - && !CORBA::is_nil (p)); - - this->poa_ = PortableServer::POA::_duplicate (p); -} - -void -TAO_PG_GenericFactory::populate_object_group ( - PortableGroup::ObjectGroup_ptr object_group, - const char * type_id, - const PortableGroup::FactoryInfos & factory_infos, - PortableGroup::InitialNumberMembersValue initial_number_members, - TAO_PG_Factory_Set & factory_set - ACE_ENV_ARG_DECL) -{ - CORBA::ULong factory_infos_count = factory_infos.length (); - factory_set.size (factory_infos_count); - - for (CORBA::ULong j = 0; j < factory_infos_count; ++j) - { - TAO_PG_Factory_Node & factory_node = factory_set[j]; - - const PortableGroup::FactoryInfo &factory_info = factory_infos[j]; - - if (j < static_cast (initial_number_members)) - { - PortableGroup::GenericFactory_ptr factory = - factory_info.the_factory.in (); - - if (CORBA::is_nil (factory)) - { - // @@ instead InvalidProperty? - ACE_THROW (PortableGroup::NoFactory (factory_info.the_location, - type_id)); - } - - // Do not allow the PortableGroup::MemberAlreadyPresent - // exception to be propagated to this scope. - const CORBA::Boolean propagate_member_already_present = 0; - - factory_node.factory_creation_id = - this->create_member (object_group, - factory_info, - type_id, - propagate_member_already_present - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - - factory_node.factory_info = factory_info; // Memberwise copy - } -} - -void -TAO_PG_GenericFactory::get_ObjectId ( - CORBA::ULong fcid, - PortableServer::ObjectId_out oid) -{ - // Since the POA used by the LoadManager uses the NON_RETAIN - // policy, explicitly choose an ObjectId that is unique to a given - // type. - - // Make the ObjectId be the next value of the number of types that - // have been registered with the LoadManager. For example, if two - // types of objects have been registered with the LoadManager, then - // the ObjectId for the object currently being registered will be - // "3" since the object will be the third type of object registered - // with the LoadManager. Previously used values will not be reused - // to ensure that a ServantLocator does not inadvertently return a - // reference to an object that had a previously used ObjectId. - // Specifcally, the numerical value used for the ObjectId increases - // monotonically. - - // 4294967295UL -- Largest 32 bit unsigned integer - // 123456789012 -- 10 digits - // + 2 for "UL" (unnecessary, but let's be safe) - // + 1 for null terminator - // + 1 for good luck. :-) - const size_t MAX_OID_LEN = 14; - - char oid_str[MAX_OID_LEN] = { 0 }; - ACE_OS::sprintf (oid_str, - "%ul", - fcid); - - oid = PortableServer::string_to_ObjectId (oid_str); -} - -void -TAO_PG_GenericFactory::process_criteria ( - const char * type_id, - const PortableGroup::Criteria & criteria, - PortableGroup::MembershipStyleValue & membership_style, - PortableGroup::FactoriesValue & factory_infos, - PortableGroup::InitialNumberMembersValue & initial_number_members, - PortableGroup::MinimumNumberMembersValue & minimum_number_members - ACE_ENV_ARG_DECL) -{ - // Get type-specific properties. - PortableGroup::Properties_var props = - this->property_manager_.get_type_properties (type_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Merge the given criteria with the type-specific criteria. - TAO_PG::override_properties (criteria, props.inout ()); - - PortableGroup::Criteria unmet_criteria; - unmet_criteria.length (4); // The four criteria understood by this - // method. - - // Unmet criteria count. - CORBA::ULong uc = 0; - - PortableGroup::Name name (1); - name.length (1); - - PortableGroup::Value value; - PortableGroup::Value value1; - PortableGroup::Value value2; - PortableGroup::Value value3; - - // MembershipStyle - name[0].id = CORBA::string_dup ("org.omg.PortableGroup.MembershipStyle"); - if (TAO_PG::get_property_value (name, props.in (), value) - && (!(value >>= membership_style) - || (membership_style != PortableGroup::MEMB_APP_CTRL - && membership_style != PortableGroup::MEMB_INF_CTRL))) - { - // This only occurs if extraction of the actual value from the - // Any fails. - ACE_THROW (PortableGroup::InvalidProperty (name, value)); - } - - // Factories - const PortableGroup::FactoryInfos * factory_infos_tmp = 0; - name[0].id = CORBA::string_dup ("org.omg.PortableGroup.Factories"); - if (TAO_PG::get_property_value (name, props.in (), value1) - && !(value1 >>= factory_infos_tmp)) - { - // This only occurs if extraction of the actual value from the - // Any fails. - ACE_THROW (PortableGroup::InvalidProperty (name, value1)); - } - - const CORBA::ULong factory_infos_count = - (factory_infos_tmp == 0 ? 0 : factory_infos_tmp->length ()); - - // InitialNumberMembers - name[0].id = - CORBA::string_dup ("org.omg.PortableGroup.InitialNumberMembers"); - if (TAO_PG::get_property_value (name, props.in (), value2) - && !(value2 >>= initial_number_members)) - { - // This only occurs if extraction of the actual value from the - // Any fails. - ACE_THROW (PortableGroup::InvalidProperty (name, value2)); - } - - if (membership_style == PortableGroup::MEMB_INF_CTRL) - { - // If the number of factories is less than the initial number of - // members or the desired number of initial members cannot - // possibly be created. - - if (factory_infos_count < static_cast (initial_number_members)) - { - unmet_criteria[uc].nam = name; - unmet_criteria[uc++].val = value2; - } - } - - // MinimumNumberMembers - name[0].id = - CORBA::string_dup ("org.omg.PortableGroup.MinimumNumberMembers"); - if (TAO_PG::get_property_value (name, props.in (), value3) - && !(value3 >>= minimum_number_members)) - { - // This only occurs if extraction of the actual value from the - // Any fails. - ACE_THROW (PortableGroup::InvalidProperty (name, value3)); - } - - // If the minimum number of members is less than the initial number - // of members, the MinimumNumberMembers property is cannot be - // initially met. - // - // @note This code is not part of the above "MEMB_INF_CTRL" criteria - // check since the "name" and "value" variables have been - // changed. - if (membership_style == PortableGroup::MEMB_INF_CTRL) - { - if (minimum_number_members < initial_number_members - || static_cast (minimum_number_members) > factory_infos_count) - { - unmet_criteria[uc].nam = name; - unmet_criteria[uc++].val = value3; - } - else if (factory_infos_tmp != 0) - { - factory_infos.length (factory_infos_count); - factory_infos = *factory_infos_tmp; - } - } - - if (uc > 0) - { - // Reduce the length of the unmet criteria sequence in an effort - // to optimize the copying that will occur when the below - // exception is thrown. Reducing the length is fast since no - // deallocations should occur. - unmet_criteria.length (uc); - - ACE_THROW (PortableGroup::CannotMeetCriteria (unmet_criteria)); - } -} - -void -TAO_PG_GenericFactory::check_minimum_number_members ( - PortableGroup::ObjectGroup_ptr object_group, - CORBA::ULong group_id, - const char * type_id - ACE_ENV_ARG_DECL) -{ - // Check if we've dropped below the MinimumNumberMembers threshold. - // If so, attempt to create enough new members to fill the gap. - - // If no entry exists in the factory map, infrastructure (this - // GenericFactory implementation) controlled membership was not - // used. - TAO_PG_Factory_Map::ENTRY *entry = 0; - if (this->factory_map_.find (group_id, entry) != 0) - return; - - TAO_PG_Factory_Set & factory_set = entry->int_id_; - - PortableGroup::Properties_var props = - this->property_manager_.get_properties (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableGroup::Name name (1); - name.length (1); - - PortableGroup::Value value; - - // MinimumNumberMembers - name[0].id = - CORBA::string_dup ("org.omg.PortableGroup.MinimumNumberMembers"); - - PortableGroup::MinimumNumberMembersValue minimum_number_members; - - if (TAO_PG::get_property_value (name, props.in (), value)) - { - if (!(value >>= minimum_number_members)) - { - // This only occurs if extraction of the actual value from - // the Any fails. It shouldn't fail at this point. - ACE_THROW (CORBA::INTERNAL ()); - } - - const CORBA::ULong count = - this->object_group_manager_.member_count (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (count >= static_cast (minimum_number_members)) - return; - - const CORBA::ULong gap = - static_cast (minimum_number_members) - count; - - CORBA::ULong creation_count = 0; - - const size_t len = factory_set.size (); - - static const PortableGroup::GenericFactory::FactoryCreationId * - nil_fcid = 0; - - for (size_t i = 0; i < len; ++i) - { - TAO_PG_Factory_Node & node = factory_set[i]; - - PortableGroup::GenericFactory::FactoryCreationId * const tmp_fcid = - node.factory_creation_id; - - // Check if the application supplied GenericFactory was - // already invoked. - if (tmp_fcid != nil_fcid) - continue; - - ACE_TRY - { - const CORBA::Boolean propagate_member_already_present = 1; - - node.factory_creation_id = - this->create_member (object_group, - node.factory_info, - type_id, - propagate_member_already_present - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ++creation_count; - - // Check if the MinimumNumberMembers threshold gap has - // been filled. - if (gap == creation_count) - return; - } - ACE_CATCH (PortableGroup::MemberAlreadyPresent, ex) - { - // Ignore this exception and continue. - } - ACE_ENDTRY; - ACE_CHECK; - } - - // @todo If we get this far, and the MinimumNumberMembers - // threshold gap hasn't been filled, what do we do? Throw - // a CORBA::TRANSIENT? - } -} - -PortableGroup::GenericFactory::FactoryCreationId * -TAO_PG_GenericFactory::create_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::FactoryInfo & factory_info, - const char * type_id, - const CORBA::Boolean propagate_member_already_present - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::InvalidProperty, - PortableGroup::CannotMeetCriteria, - PortableGroup::MemberAlreadyPresent)) -{ - PortableGroup::GenericFactory::FactoryCreationId_var fcid; - - CORBA::Object_var member = - factory_info.the_factory->create_object (type_id, - factory_info.the_criteria, - fcid.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ACE_TRY - { - // @@ Should an "_is_a()" be performed here? While it - // appears to be the right thing to do, it can be - // expensive. - // - // Make sure an Object of the correct type was created. - // It is possible that an object of the wrong type was - // created if the type_id parameter does not match the - // type of object the GenericFactory creates. - CORBA::Boolean right_type_id = - member->_is_a (type_id - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // @todo Strategize this -- e.g. strict type checking. - if (!right_type_id) - { - // An Object of incorrect type was created. Delete - // it, and throw a NoFactory exception. - factory_info.the_factory->delete_object (fcid.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_TRY_THROW (PortableGroup::NoFactory (factory_info.the_location, - type_id)); - } - - this->object_group_manager_._tao_add_member ( - object_group, - factory_info.the_location, - member.in (), - type_id, - propagate_member_already_present - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // If the member reference is not nil, then the factory - // was successfully invoked. Since an exception was - // thrown, clean up the up created member. - if (!CORBA::is_nil (member.in ())) - { - factory_info.the_factory->delete_object (fcid.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - return fcid._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h deleted file mode 100644 index 96b725c941a..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h +++ /dev/null @@ -1,248 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_GenericFactory.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_GENERIC_FACTORY_H -#define TAO_PG_GENERIC_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Factory_Map.h" -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "tao/PortableServer/PortableServerC.h" -#include "orbsvcs/PortableGroupC.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -class TAO_PG_ObjectGroupManager; -class TAO_PG_PropertyManager; - -struct TAO_PG_ObjectGroup_Map_Entry; - - -/** - * @class TAO_PG_GenericFactory - * - * @brief PortableGroup::GenericFactory implementation used by the - * load balancer when creating object groups. - * - * This GenericFactory creates an object group reference for given set - * of replicas. Those replicas will be created by this GenericFactory - * if the "infrastructure-controlled" membership style is configured. - */ -class TAO_PortableGroup_Export TAO_PG_GenericFactory - : public virtual PortableGroup::GenericFactory -{ -public: - - /// Constructor. - TAO_PG_GenericFactory (TAO_PG_ObjectGroupManager & object_group_map, - TAO_PG_PropertyManager & property_manager); - - /// Destructor. - ~TAO_PG_GenericFactory (void); - - /** - * @name TAO_LoadBalancer::GenericFactory methods - */ - //@{ - - /** - * Create an object of the specified type that adheres to the - * restrictions defined by the provided Criteria. The out - * FactoryCreationId parameter may be passed to the delete_object() - * method to delete the object. - */ - virtual CORBA::Object_ptr create_object ( - const char * type_id, - const PortableGroup::Criteria & the_criteria, - PortableGroup::GenericFactory::FactoryCreationId_out - factory_creation_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::InvalidProperty, - PortableGroup::CannotMeetCriteria)); - - /** - * Delete the object corresponding to the provided - * FactoryCreationId. If the object is actually an ObjectGroup, - * then all members within the ObjectGroup will be deleted. - * Afterward, the ObjectGroup itself will be deleted. - */ - virtual void delete_object ( - const PortableGroup::GenericFactory::FactoryCreationId & - factory_creation_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)); - - //@} - - /// Set the POA to use when creating object references. - void poa (PortableServer::POA_ptr p); - - /// Call delete_object() on all factories use to create members in a - /// given object group. - /** - * If ignore_exceptions is true, any exception returned from the - * delete_object() call on the remote factory will be ignored in - * order to allow other objects to be deleted via other registered - * factories. - */ - void delete_object_i (TAO_PG_Factory_Set & factory_set, - CORBA::Boolean ignore_exceptions - ACE_ENV_ARG_DECL); - - /// If the member corresponding to the given group ID and location - /// was created by the infrastructure, call delete_object() on the - /// remote GenericFactory that created it. - /** - * This method is only used by the TAO_PG_ObjectGroupManager class - * when ObjectGroupManager::remove_member() is explicitly called. - */ - void delete_member (CORBA::ULong group_id, - const PortableGroup::Location & location - ACE_ENV_ARG_DECL); - - /// Verify that the MinimumNumberMembers criterion is satisfied. - /** - * If the current number of members in the given object group is - * less than the MinimumNumberMembers criterion in effect for that - * group, the infrastructure will attempt create and add more - * members to the group by invoking any unused application-supplied - * GenericFactorys. - */ - void check_minimum_number_members ( - PortableGroup::ObjectGroup_ptr object_group, - CORBA::ULong group_id, - const char * type_id - ACE_ENV_ARG_DECL); - - /// Create a new object group member using the supplied FactoryInfo - /// and RepositoryId and add it to the given object group. - /** - * @note This method is only used by the infrastructure. - */ - PortableGroup::GenericFactory::FactoryCreationId * create_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::FactoryInfo & factory_info, - const char * type_id, - const CORBA::Boolean propagate_member_already_present - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::InvalidProperty, - PortableGroup::CannotMeetCriteria, - PortableGroup::MemberAlreadyPresent)); - -private: - - /// Populate the object group being created. Called when the - /// infrastructure-controlled membership style is used for the - /// object group being created. - void populate_object_group ( - PortableGroup::ObjectGroup_ptr object_group, - const char * type_id, - const PortableGroup::FactoryInfos &factory_infos, - PortableGroup::InitialNumberMembersValue initial_number_members, - TAO_PG_Factory_Set & factory_set - ACE_ENV_ARG_DECL); - - /// Get a new ObjectId to be used when creating a new ObjectGroup. - /** - * An ObjectId created by this method will never be reused within - * the scope of a given ReplicationManager. A value suitable for - * use in a map association is also returned. - */ - void get_ObjectId (CORBA::ULong fcid, - PortableServer::ObjectId_out oid); - - /// Process criteria to be applied to the object group being - /// created. - /** - * Only the MemberShipStyle, Factories, InitialNumberMembers and - * MinimumNumberMembers criteria/properties are defined by the - * PortableGroup IDL. Other services that implement the - * GenericFactory interface, such as load balancing and fault - * tolerance, may choose to support more. - * @par - * The extracted criteria are object group-specific. In particular, - * they are the object group creation time criteria. - */ - void process_criteria ( - const char * type_id, - const PortableGroup::Criteria & criteria, - PortableGroup::MembershipStyleValue & membership_style, - PortableGroup::FactoriesValue & factory_infos, - PortableGroup::InitialNumberMembersValue & initial_number_members, - PortableGroup::MinimumNumberMembersValue & minimum_number_members - ACE_ENV_ARG_DECL); - -private: - - /// Reference to the POA used to create object group references. - PortableServer::POA_var poa_; - - /// Reference to the ObjectGroup map. - TAO_PG_ObjectGroupManager & object_group_manager_; - - /// Reference to the PropertyManager. - TAO_PG_PropertyManager & property_manager_; - - /// Table that maps FactoryCreationId to TAO_PG_Factory_Set. - /** - * The TAO_PG_Factory_Set corresponding to a given FactoryCreationId - * contains the information necessary to clean up objects (members) - * that were created by the infrastructure, i.e. this - * GenericFactory. For example, this GenericFactory will invoke - * other application defined GenericFactorys when creating new - * object group members. The information returned from those - * application defined GenericFactorys is stored in a - * TAO_PG_Factory_Set, and thus this table. - */ - TAO_PG_Factory_Map factory_map_; - - /// The FactoryCreationId that will be assigned to the next object - /// group that is created. - /** - * Value that is used when assigning a FactoryCreationId to the - * factory that was used to create a given ObjectGroup. The - * FactoryCreationId is typically comprised of this value in - * addition to another value that makes it unique to a given Load - * Balancer. - */ - CORBA::ULong next_fcid_; - - /// Lock used to synchronize access to the factory creation id - /// index (i.e. next_fcid_). - TAO_SYNCH_MUTEX lock_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_GENERIC_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp deleted file mode 100644 index 3c84812d454..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp +++ /dev/null @@ -1,232 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Group_Factory.cpp - * - * $Id$ - * - * @author Dale Wilson - */ -//============================================================================= - -#include "orbsvcs/PortableGroup/PG_Group_Factory.h" -#include "orbsvcs/PortableGroup/PG_Property_Utils.h" -#include "orbsvcs/PortableGroup/PG_conf.h" -#include "orbsvcs/PortableGroupC.h" -#include "orbsvcs/PortableGroup/PG_Object_Group.h" -#include - -ACE_RCSID (PortableGroup, - PG_Group_Factory, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::PG_Group_Factory::PG_Group_Factory () - : orb_ (CORBA::ORB::_nil()) - , poa_ (PortableServer::POA::_nil()) - , manipulator_ () - , domain_id_ ("default-domain") - -{ -} - -TAO::PG_Group_Factory::~PG_Group_Factory (void) -{ - for (Group_Map_Iterator it = this->group_map_.begin (); - it != this->group_map_.end (); - ++it) - { - TAO::PG_Object_Group * group = (*it).int_id_; - delete group; - } - this->group_map_.unbind_all (); -} - - -void TAO::PG_Group_Factory::init ( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableGroup::FactoryRegistry_ptr factory_registry - ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (CORBA::is_nil (this->orb_.in ())); - ACE_ASSERT (CORBA::is_nil (this->poa_.in ())); - ACE_ASSERT (CORBA::is_nil (this->factory_registry_.in ())); - - this->orb_ = CORBA::ORB::_duplicate(orb); - this->poa_ = PortableServer::POA::_duplicate (poa); - this->factory_registry_ = PortableGroup::FactoryRegistry::_duplicate (factory_registry); - - - ACE_ASSERT (!CORBA::is_nil (this->orb_.in ())); - ACE_ASSERT (!CORBA::is_nil (this->poa_.in ())); - ACE_ASSERT (!CORBA::is_nil (this->factory_registry_.in ())); - - this->manipulator_.init (orb, poa ACE_ENV_ARG_PARAMETER); -// ACE_CHECK; -} - - -TAO::PG_Object_Group * TAO::PG_Group_Factory::create_group ( - const char * type_id, - const PortableGroup::Criteria & the_criteria, - TAO::PG_Property_Set * typeid_properties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::InvalidProperty, - PortableGroup::CannotMeetCriteria)) -{ - /////////////////////////////////// - // Create an empty group reference - - PortableGroup::ObjectGroupId group_id = 0; - PortableGroup::ObjectGroup_var empty_group = - this->manipulator_.create_object_group ( - type_id, - this->domain_id_, - group_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // pick up the object group information as assigned by - // ObjectGroupManager - - PortableGroup::TagGroupTaggedComponent tagged_component; - if (! TAO::PG_Utils::get_tagged_component (empty_group, tagged_component)) - { - ACE_THROW_RETURN (PortableGroup::ObjectNotCreated(), 0); - } - - TAO::PG_Object_Group * objectGroup = 0; - - ACE_NEW_THROW_EX ( - objectGroup, - TAO::PG_Object_Group ( - this->orb_.in (), - this->factory_registry_.in (), - this->manipulator_, - empty_group.in (), - tagged_component, - type_id, - the_criteria, - typeid_properties - ), - CORBA::NO_MEMORY()); - - if (this->group_map_.bind (group_id, objectGroup) != 0) - { - delete objectGroup; - ACE_THROW_RETURN (PortableGroup::ObjectNotCreated(), 0); - } - return objectGroup; -} - -void TAO::PG_Group_Factory::delete_group (PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)) -{ - if (! destroy_group (object_group)) - { - ACE_THROW (PortableGroup::ObjectNotFound ()); - } -} - - -void TAO::PG_Group_Factory::delete_group (PortableGroup::ObjectGroupId group_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)) -{ - if (! destroy_group (group_id)) - { - ACE_THROW (PortableGroup::ObjectNotFound ()); - } -} - - // insert group. Take ownership -int TAO::PG_Group_Factory::insert_group ( ::TAO::PG_Object_Group * group) -{ - return insert_group (group->get_object_group_id(), group); -} - -int TAO::PG_Group_Factory::insert_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group * group) -{ - return (this->group_map_.bind (group_id, group) == 0); -} - -int TAO::PG_Group_Factory::find_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group *& group) const -{ - return (this->group_map_.find (group_id , group) == 0); -} - -int TAO::PG_Group_Factory::find_group (PortableGroup::ObjectGroup_ptr object_group, ::TAO::PG_Object_Group *& group) const -{ - int result = 0; - PortableGroup::TagGroupTaggedComponent tc; - if (TAO::PG_Utils::get_tagged_component (object_group, tc)) - { - result = find_group (tc.object_group_id, group); - } - return result; -} - -int TAO::PG_Group_Factory::destroy_group (PortableGroup::ObjectGroupId group_id) -{ - ::TAO::PG_Object_Group * group = 0; - int result = (this->group_map_.unbind (group_id, group) == 0); - if (result) - { - delete group; - } - return result; -} - -int TAO::PG_Group_Factory::destroy_group (PortableGroup::ObjectGroup_ptr object_group) -{ - PortableGroup::TagGroupTaggedComponent tc; - TAO::PG_Utils::get_tagged_component (object_group, tc); - return destroy_group (tc.object_group_id); -} - - - -PortableGroup::ObjectGroups * -TAO::PG_Group_Factory::groups_at_location ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException)) -{ - size_t upper_limit = this->group_map_.current_size (); - PortableGroup::ObjectGroups * result = 0; - ACE_NEW_THROW_EX ( - result, - PortableGroup::ObjectGroups (upper_limit), - CORBA::NO_MEMORY()); - ACE_CHECK_RETURN (0); - - result->length(upper_limit); - - size_t group_count = 0; - for (Group_Map_Iterator it = this->group_map_.begin (); - it != this->group_map_.end (); - ++it) - { - TAO::PG_Object_Group * group = (*it).int_id_; - if (group->has_member_at (the_location)) - { - (*result)[group_count] = group->reference (); - ++group_count; - } - } - result->length (group_count); - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h deleted file mode 100644 index b9bd1309492..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h +++ /dev/null @@ -1,184 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Group_Factory.h - * - * $Id$ - * - * @author Dale Wilson - */ -//============================================================================= - -#ifndef TAO_PG_GROUP_FACTORY_H -#define TAO_PG_GROUP_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h" - -#include "orbsvcs/PortableGroupC.h" - -#include "tao/PortableServer/PortableServer.h" - -#include "ace/ACE.h" -#include "ace/Hash_Map_Manager.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////// -// Forward reference -namespace TAO -{ - class PG_Property_Set; -} // namespace TAO_PG - -namespace TAO -{ - ///////////////////// - // forward references - class PG_Object_Group; - - /** - * class PG_Group_Factory - */ - class TAO_PortableGroup_Export PG_Group_Factory - { - //////////////////////////////////////////////////////////// - // typedef private implementation classes - typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::ObjectGroupId, - ::TAO::PG_Object_Group *, - ACE_Hash, - ACE_Equal_To, - TAO_SYNCH_MUTEX> Group_Map; - - typedef ACE_Hash_Map_Entry Group_Map_Entry; - - typedef ACE_Hash_Map_Iterator_Ex < - PortableGroup::ObjectGroupId, - ::TAO::PG_Object_Group *, - ACE_Hash, - ACE_Equal_To, - TAO_SYNCH_MUTEX> Group_Map_Iterator; - - public: - - /// Constructor. - PG_Group_Factory (); - - /// Destructor. - ~PG_Group_Factory (); - - void init ( - CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableGroup::FactoryRegistry_ptr factory_registry - ACE_ENV_ARG_DECL); - - - TAO::PG_Object_Group * create_group ( - const char * type_id, - const PortableGroup::Criteria & the_criteria, - TAO::PG_Property_Set * typeid_properties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::InvalidProperty, - PortableGroup::CannotMeetCriteria)); - - - void delete_group (PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)); - - - void delete_group (PortableGroup::ObjectGroupId group_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotFound)); - - PortableGroup::ObjectGroups * - groups_at_location ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException)); - - - - /** - * insert existing group. Take ownership - * note: uses group id extracted from group object - * @return bool true if insertion successful - */ - int insert_group ( ::TAO::PG_Object_Group * group); - - /** - * insert group. Take ownership - * @return bool true if insertion successful - */ - int insert_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group * group); - - /** - * find group - * @return bool true if found - */ - int find_group (PortableGroup::ObjectGroupId group_id, ::TAO::PG_Object_Group *& group) const; - - /** - * find group - * note: uses group id extracted from object_group - * @return bool true if found - */ - int find_group (PortableGroup::ObjectGroup_ptr object_group, ::TAO::PG_Object_Group *& group) const; - - /** - * remove group from map and delete it. - * @return bool true if found - */ - int destroy_group (PortableGroup::ObjectGroupId object_group_id); - - /** - * remove group from map and delete it. - * note: uses group id extracted from object_group - * @return bool true if found - */ - int destroy_group (PortableGroup::ObjectGroup_ptr object_group); - - private: - - private: - - CORBA::ORB_var orb_; - - /// Reference to the POA used to create object group references. - PortableServer::POA_var poa_; - - /// The factory registry for replica factories - PortableGroup::FactoryRegistry_var factory_registry_; - - ::TAO::PG_Object_Group_Manipulator manipulator_; - - const char * domain_id_; - - Group_Map group_map_; - - - }; -} // namespace TAO - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_GROUP_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp deleted file mode 100644 index dc93a9e2e2c..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_Group_Guard.h" - -#include "orbsvcs/PortableGroup/PG_GenericFactory.h" -#include "orbsvcs/PortableGroup/PG_ObjectGroupManager.h" - - -ACE_RCSID (PortableGroup, - PG_Group_Guard, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_Group_Guard::TAO_PG_Group_Guard ( - TAO_PG_GenericFactory & generic_factory, - TAO_PG_Factory_Set & factory_set, - TAO_PG_ObjectGroupManager & group_manager, - const PortableServer::ObjectId & oid) - : generic_factory_ (generic_factory), - factory_set_ (factory_set), - group_manager_ (group_manager), - oid_ (oid), - released_ (0) -{ -} - -TAO_PG_Group_Guard::~TAO_PG_Group_Guard (void) -{ - if (!this->released_) - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - this->generic_factory_.delete_object_i (this->factory_set_, - 1 // Ignore exceptions - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // This should never throw an exception if this Guard is - // used properly. - this->group_manager_.destroy_object_group (this->oid_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // Ignore all exceptions. - } - ACE_ENDTRY; - } -} - -void -TAO_PG_Group_Guard::release (void) -{ - this->released_ = 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h deleted file mode 100644 index 2c6ca8fe9ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h +++ /dev/null @@ -1,93 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Group_Guard.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_GROUP_GUARD_H -#define TAO_PG_GROUP_GUARD_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Factory_Set.h" - -#include "tao/PortableServer/PortableServerC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -class TAO_PG_GenericFactory; -class TAO_PG_ObjectGroupManager; - -/** - * @class TAO_PG_Group_Guard - * - * @brief Guard implementation used to make object group cleanup - * exception-safe. - * - * This guard's destructor performs cleanup of object group - * resources. Thus, cleanup is performed when this guard goes out of - * scope unless explicitly released from that responsibility. - * - * This guard is meant to be used internally by the - * TAO_PG_GenericFactory class. - */ -class TAO_PG_Group_Guard -{ -public: - - /// Constructor. - TAO_PG_Group_Guard (TAO_PG_GenericFactory & generic_factory, - TAO_PG_Factory_Set & factory_set, - TAO_PG_ObjectGroupManager & group_manager, - const PortableServer::ObjectId & oid); - - /// Destructor. - ~TAO_PG_Group_Guard (void); - - /// Relinquish cleanup responsibility. - void release (void); - -private: - - /// Reference to the infrastructure TAO_PG_GenericFactory that - /// created the below TAO_PG_Factory_Set. - TAO_PG_GenericFactory & generic_factory_; - - /// Reference to the TAO_PG_Factory_Set that contains all - /// application-specific GenericFactory object references. - TAO_PG_Factory_Set & factory_set_; - - /// Reference to the TAO_PG_ObjectGroupManager that maintains the - /// object group map. - TAO_PG_ObjectGroupManager & group_manager_; - - /// Reference to the ObjectId that is the map key necessary to - /// unbind the corresponding object group map entry from the map - /// upon destruction. - const PortableServer::ObjectId & oid_; - - /// Flag that dictates whether or not the destructor will perform - /// cleanup. - int released_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_GROUP_GUARD_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.cpp deleted file mode 100644 index 2fc8e11dadc..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.cpp +++ /dev/null @@ -1,11 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" - -ACE_RCSID (PortableGroup, - PG_Location_Equal_To, - "$Id$") - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.inl" -#endif /* !__ACE_INLINE__ */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h deleted file mode 100644 index cbfc12a8949..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Location_Equal_To.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_LOCATION_EQUAL_TO_H -#define TAO_PG_LOCATION_EQUAL_TO_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Operators.h" -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_Location_Equal_To - * - * @brief "Equal_To" function object that determines if two location - * names are the same. - * - * This functor simply does a string comparison of each of the - * elements in the given TAO_PortableGroup::Location name sequences. - */ -class TAO_PortableGroup_Export TAO_PG_Location_Equal_To -{ -public: - - /// Perform a string comparison on each of the sequence elements in - /// the given locations. - int operator() (const PortableGroup::Location &lhs, - const PortableGroup::Location &rhs) const; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_LOCATION_EQUAL_TO_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.inl b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.inl deleted file mode 100644 index 052d968242b..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.inl +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE int -TAO_PG_Location_Equal_To::operator () ( - const PortableGroup::Location &lhs, - const PortableGroup::Location &rhs) const -{ - return lhs == rhs; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.cpp deleted file mode 100644 index 0197726bfe8..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/PortableGroup/PG_Location_Hash.inl" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (PortableGroup, - PG_Location_Hash, - "$Id$") diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h deleted file mode 100644 index d59b5320ff0..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h +++ /dev/null @@ -1,53 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Location_Hash.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_LOCATION_HASH_H -#define TAO_PG_LOCATION_HASH_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupC.h" -#include "ace/ACE.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_Location_Hash - * - * @brief Hash function object for generating a hash for a Location. - */ -class TAO_PortableGroup_Export TAO_PG_Location_Hash -{ - -public: - - /// Creates a hash based on all of elements of the given Location - CORBA::ULong operator() (const PortableGroup::Location &) const; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/PortableGroup/PG_Location_Hash.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_LOCATION_HASH_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.inl b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.inl deleted file mode 100644 index a0b591b1068..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.inl +++ /dev/null @@ -1,25 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE CORBA::ULong -TAO_PG_Location_Hash::operator() ( - const PortableGroup::Location &location) const -{ - // @todo Interim implementation until we figure out what to do when a - // location has multiple components. - - CORBA::ULong len = location.length (); - CORBA::ULong hash = 0; - - for (CORBA::ULong i = 0; i < len; ++i) - hash += - ACE::hash_pjw (location[i].id.in ()) + - ACE::hash_pjw (location[i].kind.in ()); - - return hash; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h deleted file mode 100644 index e0eb6dbf756..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h +++ /dev/null @@ -1,54 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file PG_Location_Map.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_PG_LOCATION_MAP_H -#define TAO_PG_LOCATION_MAP_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" - -#include "orbsvcs/PortableGroupC.h" - -#include "ace/Array_Base.h" -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -struct TAO_PG_ObjectGroup_Map_Entry; - -typedef ACE_Array_Base - TAO_PG_ObjectGroup_Array; - -/// Location hash map. -typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::Location, - TAO_PG_ObjectGroup_Array *, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - ACE_Null_Mutex> TAO_PG_Location_Map; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_LOCATION_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.cpp deleted file mode 100644 index 1485e8277d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_MemberInfo.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" - -ACE_RCSID (PortableGroup, - PG_MemberInfo, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -bool -TAO_PG_MemberInfo::operator== (const TAO_PG_MemberInfo & rhs) -{ - // For the purposes of the member info set, only the location is - // important. - return location == rhs.location; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h deleted file mode 100644 index 41d428bd0bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h +++ /dev/null @@ -1,62 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file PG_MemberInfo.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_PG_MEMBER_INFO_H -#define TAO_PG_MEMBER_INFO_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" -#include "ace/Unbounded_Set.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_MemberInfo - * - * @brief Structure that contains all member-specific information. - * - * Structure that contains all member-specific information. - */ -struct TAO_PG_MemberInfo -{ - - /// Reference to the member. - CORBA::Object_var member; - - /// The location at which the member resides. - PortableGroup::Location location; - - /// Equality operator. - /** - * For the purposes of the member info set, only the location is - * important. In particular, if a member already resides at the - * given location, this equality operator will return true. - */ - bool operator== (const TAO_PG_MemberInfo & rhs); - -}; - -typedef ACE_Unbounded_Set TAO_PG_MemberInfo_Set; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_MEMBER_INFO_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.cpp deleted file mode 100644 index 5251b3d7931..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_Null_Property_Validator.h" - - -ACE_RCSID (PortableGroup, - PG_Null_Property_Validator, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_PG_Null_Property_Validator::validate_property ( - const PortableGroup::Properties & - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ -} - -void -TAO_PG_Null_Property_Validator::validate_criteria ( - const PortableGroup::Properties & - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h deleted file mode 100644 index 41047a90c99..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h +++ /dev/null @@ -1,67 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Null_Property_Validator.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_PG_NULL_PROPERTY_VALIDATOR_H -#define TAO_PG_NULL_PROPERTY_VALIDATOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_Null_Property_Validator - * - * @brief No-op property validator. - * - * This property validator performs no validation whatsoever. - */ -class TAO_PortableGroup_Export TAO_PG_Null_Property_Validator -{ -public: - - /// Validate the given properties. - /** - * This particular implementation performs no validation - * whatsoever. - */ - void validate_property (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /// Validate the given criteria. - /** - * This particular implementation performs no validation - * whatsoever. - */ - void validate_criteria (const PortableGroup::Properties & criteria - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_PROPERTY_VALIDATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp deleted file mode 100644 index 7b78ef895bc..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp +++ /dev/null @@ -1,871 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_ObjectGroupManager.h" -#include "orbsvcs/PortableGroup/PG_GenericFactory.h" -#include "orbsvcs/PortableGroup/PG_conf.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -#include "ace/Auto_Ptr.h" -#include "ace/Reverse_Lock_T.h" - -ACE_RCSID (PortableGroup, - PG_ObjectGroupManager, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_ObjectGroupManager::TAO_PG_ObjectGroupManager (void) - : poa_ (), - object_group_map_ (TAO_PG_MAX_OBJECT_GROUPS), - location_map_ (TAO_PG_MAX_LOCATIONS), - generic_factory_ (0), - lock_ () -{ -} - -TAO_PG_ObjectGroupManager::~TAO_PG_ObjectGroupManager (void) -{ - for (TAO_PG_Location_Map::iterator i = this->location_map_.begin (); - i != this->location_map_.end (); - ++i) - { - // Destroy the group array - delete (*i).int_id_; - } - (void) this->location_map_.close (); - - for (TAO_PG_ObjectGroup_Map::iterator j = this->object_group_map_.begin (); - j != this->object_group_map_.end (); - ++j) - { - // Destroy the object group entry - delete (*j).int_id_; - } - (void) this->object_group_map_.close (); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::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)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - PortableGroup::ObjectGroup::_nil ()); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::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)) -{ - if (CORBA::is_nil (member)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - PortableGroup::ObjectGroup::_nil ()); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - PortableGroup::ObjectGroup::_nil ()); - - // Verify that the member's RepositoryId matches the object group's - // type ID. - const CORBA::Boolean check_type_id = 1; - - return this->add_member_i (object_group, - the_location, - member, - check_type_id - ACE_ENV_ARG_PARAMETER); - -} - - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::_tao_add_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location, - CORBA::Object_ptr member, - const char * type_id, - const CORBA::Boolean propagate_member_already_present - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::MemberAlreadyPresent, - PortableGroup::NoFactory)) -{ - if (CORBA::is_nil (member)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - PortableGroup::ObjectGroup::_nil ()); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - PortableGroup::ObjectGroup::_nil ()); - - PortableGroup::ObjectGroup_var new_group; - - ACE_TRY - { - // TypeId already checked by GenericFactory. - const CORBA::Boolean check_type_id = 0; - - new_group = this->add_member_i (object_group, - the_location, - member, - check_type_id - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (PortableGroup::ObjectGroupNotFound, ex) - { - ACE_TRY_THROW (CORBA::INTERNAL ()); - } - ACE_CATCH (PortableGroup::MemberAlreadyPresent, ex) - { - if (propagate_member_already_present) - ACE_RE_THROW; - else - ACE_TRY_THROW (CORBA::INTERNAL ()); - } - ACE_CATCH (PortableGroup::ObjectNotAdded, ex) - { - ACE_TRY_THROW (PortableGroup::NoFactory (the_location, - type_id)); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - - return new_group._retn (); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::add_member_i ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location, - CORBA::Object_ptr member, - const CORBA::Boolean check_type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberAlreadyPresent, - PortableGroup::ObjectNotAdded)) -{ - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - - if (check_type_id) - { - CORBA::Boolean right_type_id = - this->valid_type_id (object_group, - group_entry, - member - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - - if (!right_type_id) - { - // The member's type_id does not match the object group's - // type_id. - ACE_THROW_RETURN (PortableGroup::ObjectNotAdded (), - PortableGroup::ObjectGroup::_nil ()); - } - } - - TAO_PG_ObjectGroup_Array * groups = 0; - if (this->location_map_.find (the_location, groups) == 0 - && this->member_already_present (*groups, group_entry)) - ACE_THROW_RETURN (PortableGroup::MemberAlreadyPresent (), - PortableGroup::ObjectGroup::_nil ()); - - TAO_PG_MemberInfo member_info; - member_info.member = CORBA::Object::_duplicate (member); - member_info.location = the_location; - - if (groups == 0) - { - ACE_NEW_THROW_EX (groups, - TAO_PG_ObjectGroup_Array, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - auto_ptr safe_groups (groups); - - // This should not fail! - if (this->location_map_.bind (the_location, groups) != 0) - { - ACE_THROW_RETURN (PortableGroup::ObjectNotAdded (), - PortableGroup::ObjectGroup::_nil ()); - } - - (void) safe_groups.release (); - } - - // No object group member of the object group with the given - // ObjectGroupId resides at the location. Add the object group - // entry to array of object groups residing at the location. - const size_t groups_len = groups->size (); - groups->size (groups_len + 1); - (*groups)[groups_len] = group_entry; - - // Don't bother checking for duplicates since a check is already - // performed when binding to the location map above. - if (group_entry->member_infos.insert_tail (member_info) != 0) - ACE_THROW_RETURN (PortableGroup::ObjectNotAdded (), - PortableGroup::ObjectGroup::_nil ()); - - return PortableGroup::ObjectGroup::_duplicate (object_group); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::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)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->lock_, 0); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - - TAO_PG_ObjectGroup_Array * groups = 0; - if (this->location_map_.find (the_location, groups) != 0) - ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), - PortableGroup::ObjectGroup::_nil ()); - - // Multiple members from different object groups may reside at the - // same location. Iterate through the list to attempt to find a - // match for the exact object group. - size_t to_be_removed = 0; - - // get the position of the object group in the object_group_array - to_be_removed = this->get_object_group_position (*groups, group_entry); - - // remove the element from the array and resize the array. - const size_t groups_len = groups->size (); - size_t j; - for (size_t i = to_be_removed; i < groups_len - 1; ++i) - { - j = i + 1; - (*groups)[i] = (*groups)[j]; - } - - groups->size (groups_len - 1); - - TAO_PG_MemberInfo_Set & member_infos = group_entry->member_infos; - - TAO_PG_MemberInfo_Set::iterator end = member_infos.end (); - - for (TAO_PG_MemberInfo_Set::iterator iter = member_infos.begin (); - iter != end; - ++iter) - { - const TAO_PG_MemberInfo & info = *iter; - - if (info.location == the_location) - { - // Give the GenericFactory a chance to delete a member if - // its membership is under infrastructure control. - if (this->generic_factory_) - { - this->generic_factory_->delete_member (group_entry->group_id, - the_location - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - } - - if (member_infos.remove (info) == 0) - { - if (this->generic_factory_) - { - this->generic_factory_->check_minimum_number_members ( - object_group, - group_entry->group_id, - group_entry->type_id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - } - - return PortableGroup::ObjectGroup::_duplicate (object_group); - } - else - break; - } - } - - ACE_THROW_RETURN (PortableGroup::MemberNotFound (), - PortableGroup::ObjectGroup::_nil ()); -} - -PortableGroup::Locations * -TAO_PG_ObjectGroupManager::locations_of_members ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->lock_, 0); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - PortableGroup::Locations *temp = 0; - ACE_NEW_THROW_EX (temp, - PortableGroup::Locations, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - PortableGroup::Locations_var locations = temp; - - TAO_PG_MemberInfo_Set & member_infos = group_entry->member_infos; - - locations->length (static_cast (member_infos.size ())); - - CORBA::ULong loc = 0; - TAO_PG_MemberInfo_Set::iterator end = member_infos.end (); - - for (TAO_PG_MemberInfo_Set::iterator i = member_infos.begin (); - i != end; - ++i) - locations[loc++] = (*i).location; - - return locations._retn (); -} - -PortableGroup::ObjectGroups * -TAO_PG_ObjectGroupManager::groups_at_location ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableGroup::ObjectGroups * ogs; - ACE_NEW_THROW_EX (ogs, - PortableGroup::ObjectGroups, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - PortableGroup::ObjectGroups_var object_groups = ogs; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->lock_, 0); - - TAO_PG_ObjectGroup_Array * groups; - if (this->location_map_.find (the_location, groups) == 0) - { - CORBA::ULong len = static_cast (groups->size ()); - - ogs->length (len); - - for (CORBA::ULong i = 0; i < len; ++i) - { - object_groups[i] = - PortableGroup::ObjectGroup::_duplicate ( - (*groups)[i]->object_group.in ()); - } - } - - return object_groups._retn (); -} - -PortableGroup::ObjectGroupId -TAO_PG_ObjectGroupManager::get_object_group_id ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - TAO_PG_ObjectGroup_Map_Entry * entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (entry == 0) - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - - // Only the lower 32 bits of the 64 bit PortableGroup::ObjectGroupId - // are ever used. - return entry->group_id; -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::get_object_group_ref ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - TAO_PG_ObjectGroup_Map_Entry * entry = 0; - - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - PortableGroup::ObjectGroup::_nil ()); - - - entry = this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - } - - if (entry == 0) - ACE_THROW_RETURN (CORBA::INTERNAL (), - PortableGroup::ObjectGroup::_nil ()); - - // This implemenation does not change the object group reference. - return PortableGroup::ObjectGroup::_duplicate (object_group); -} - -CORBA::Object_ptr -TAO_PG_ObjectGroupManager::get_member_ref ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & loc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - CORBA::Object::_nil ()); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - - // This method assumes that it is faster to check for non-existence - // of an object group (and hence the member) at a given location, - // instead of existence of a member at a given location. - - TAO_PG_ObjectGroup_Array * groups = 0; - if (this->location_map_.find (loc, groups) == 0 - && this->member_already_present (*groups, group_entry)) - { - TAO_PG_MemberInfo_Set & member_infos = group_entry->member_infos; - - TAO_PG_MemberInfo_Set::iterator end = member_infos.end (); - - // @todo If the object group contains a large number of members, - // this loop could take a while. Explore potentially - // faster containers for the list of PG_MemberInfos in the - // future. - for (TAO_PG_MemberInfo_Set::iterator i = member_infos.begin (); - i != end; - ++i) - if ((*i).location == loc) - return CORBA::Object::_duplicate ((*i).member.in ()); - } - - // No member of the given object group is present at the given - // location. - ACE_THROW_RETURN (PortableGroup::MemberNotFound (), - CORBA::Object::_nil ()); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::get_object_group_ref_from_id ( - PortableGroup::ObjectGroupId group_id - ACE_ENV_ARG_DECL - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , PortableGroup::ObjectGroupNotFound - )) -{ - //@@ If we change the PG's concept of ObjectGroupId from - // PortableServer::ObjectId to PortableGroup::ObjectGroupId, can - // just call TAO_PG_ObjectGroupManager::object_group() here. - - TAO_PG_ObjectGroup_Map_Entry * group_entry = 0; - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - PortableGroup::ObjectGroup::_nil ()); - - if (this->object_group_map_.find (ACE_U64_TO_U32 (group_id), - group_entry) - != 0) - { - ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), - PortableGroup::ObjectGroup::_nil ()); - } - } - - if (group_entry == 0) - { - ACE_THROW_RETURN (CORBA::INTERNAL (), - PortableGroup::ObjectGroup::_nil ()); - } - - return - PortableGroup::ObjectGroup::_duplicate (group_entry->object_group.in ()); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::create_object_group ( - CORBA::ULong group_id, - const PortableServer::ObjectId &oid, - const char * type_id, - const PortableGroup::Criteria & the_criteria - ACE_ENV_ARG_DECL) -{ - if (CORBA::is_nil (this->poa_.in ())) - ACE_THROW_RETURN (CORBA::INTERNAL (), CORBA::Object::_nil ()); - - // Create a reference for the ObjectGroup corresponding to the - // RepositoryId of the object being created. - CORBA::Object_var object_group = - this->poa_->create_reference_with_id (oid, - type_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = 0; - ACE_NEW_THROW_EX (group_entry, - TAO_PG_ObjectGroup_Map_Entry, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - auto_ptr safe_group_entry (group_entry); - - // Set the RepositoryId associated with the created ObjectGroup_Map - // entry. - group_entry->type_id = CORBA::string_dup (type_id); - - group_entry->group_id = group_id; - - group_entry->object_group = object_group; - - CORBA::ULong len = the_criteria.length (); - group_entry->properties.length (len); - for (CORBA::ULong i = 0; i < len; ++i) - group_entry->properties[i] = the_criteria[i]; - - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - if (this->object_group_map_.bind (oid, group_entry) != 0) - ACE_THROW_RETURN (PortableGroup::ObjectNotCreated (), - PortableGroup::ObjectGroup::_nil ()); - } - - (void) safe_group_entry.release (); - - return object_group._retn (); -} - -void -TAO_PG_ObjectGroupManager::destroy_object_group ( - const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = 0; - if (this->object_group_map_.unbind (oid, group_entry) != 0) - ACE_THROW (PortableGroup::ObjectNotFound ()); - - delete group_entry; -} - -char * -TAO_PG_ObjectGroupManager::type_id ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return CORBA::string_dup (group_entry->type_id.in ()); -} - -PortableGroup::ObjectGroup_ptr -TAO_PG_ObjectGroupManager::object_group (const PortableServer::ObjectId & oid) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - PortableGroup::ObjectGroup::_nil ()); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = 0; - if (this->object_group_map_.find (oid, group_entry) == 0) - return - PortableGroup::ObjectGroup::_duplicate (group_entry->object_group.in ()); - else - return PortableGroup::ObjectGroup::_nil (); -} - -CORBA::ULong -TAO_PG_ObjectGroupManager::member_count ( - PortableGroup::ObjectGroup_ptr group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ -// ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, -// guard, -// this->lock_, -// 0); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return static_cast (group_entry->member_infos.size ()); -} - -void -TAO_PG_ObjectGroupManager::poa (PortableServer::POA_ptr p) -{ - this->poa_ = PortableServer::POA::_duplicate (p); -} - - -PortableGroup::Properties * -TAO_PG_ObjectGroupManager::get_properties ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - PortableGroup::Properties * properties = 0; - ACE_NEW_THROW_EX (properties, - PortableGroup::Properties, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - PortableGroup::Properties_var safe_properties = properties; - - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = - this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - *properties = group_entry->properties; - } - - return safe_properties._retn (); -} - -TAO_PG_ObjectGroup_Map_Entry * -TAO_PG_ObjectGroupManager::get_group_entry ( - CORBA::Object_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - if (CORBA::is_nil (this->poa_.in ())) - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - - PortableServer::ObjectId_var oid; - ACE_TRY - { - oid = this->poa_->reference_to_id (object_group - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (PortableServer::POA::WrongAdapter, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, "TAO_PG (%P|%t) Unexpected exception\n"); - - ACE_TRY_THROW (CORBA::INTERNAL ()); - } - ACE_CATCH (PortableServer::POA::WrongPolicy, ex) - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ex, "TAO_PG (%P|%t) Unexpected exception\n"); - - ACE_TRY_THROW (CORBA::INTERNAL ()); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - TAO_PG_ObjectGroup_Map_Entry * group_entry = 0; - if (this->object_group_map_.find (oid.in (), group_entry) != 0) - ACE_THROW_RETURN (PortableGroup::ObjectGroupNotFound (), - 0); - - return group_entry; -} - -CORBA::Boolean -TAO_PG_ObjectGroupManager::member_already_present ( - const TAO_PG_ObjectGroup_Array &groups, - TAO_PG_ObjectGroup_Map_Entry * group_entry) -{ - // Multiple members from different object groups may reside at the - // same location. Iterate through the list to attempt to find a - // match. - size_t len = groups.size (); - for (size_t i = 0; i < len; ++i) - { - // It should be enough just to compare the group_entry pointers, - // but that seems brittle. Better to check a controlled value, - // like the ObjectGroupId. - if (groups[i]->group_id == group_entry->group_id) - { - // Member with given type ID exists at the given - // location. - return 1; - } - } - - // No member with given type ID present at the given location. - return 0; -} - -size_t -TAO_PG_ObjectGroupManager::get_object_group_position ( - const TAO_PG_ObjectGroup_Array &groups, - TAO_PG_ObjectGroup_Map_Entry * group_entry) -{ - // Multiple members from different object groups may reside at the - // same location. Iterate through the list to attempt to find a - // match. - size_t len = groups.size (); - for (size_t i = 0; i < len; ++i) - { - // It should be enough just to compare the group_entry pointers, - // but that seems brittle. Better to check a controlled value, - // like the ObjectGroupId. - if (groups[i]->group_id == group_entry->group_id) - { - // Member with given type ID exists at the given - // location. - return i; - } - } - - // No member with given type ID present at the given location. - return 0; -} - -CORBA::Boolean -TAO_PG_ObjectGroupManager::valid_type_id ( - PortableGroup::ObjectGroup_ptr object_group, - TAO_PG_ObjectGroup_Map_Entry * group_entry, - CORBA::Object_ptr member - ACE_ENV_ARG_DECL) -{ - // @todo Strategize this -- e.g. strict type checking. - - if (CORBA::is_nil (member)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), false); - - // Before we can use this code, i.e. the reverse lock, the - // TAO_PG_ObjectGroup_Entry should be made so that it is reference - // counted. This is necessary since releasing the lock would - // allow other threads to destroy/unbind the object group entry. - // Another alternative is to simply attempt to reacquire the - // object group map entry once the lock is reacquired, which is - // easier to implement. - - // Copy the type_id before releasing the lock to avoid a race - // condition. - CORBA::String_var type_id = - CORBA::string_dup (group_entry->type_id.in ()); - - CORBA::Boolean right_type_id = 0; - { - // Release the lock during the type_id check. No need to block - // other threads during the invocation. - ACE_Reverse_Lock reverse_lock (this->lock_); - - ACE_GUARD_RETURN (ACE_Reverse_Lock, - reverse_guard, - reverse_lock, - right_type_id); - - // Make sure an Object of the correct type was created. It is - // possible that an object of the wrong type was created if the - // type_id parameter does not match the type of object the - // GenericFactory creates. - right_type_id = - member->_is_a (type_id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (right_type_id); - } - - // Make sure the group entry still exists. It may have been - // destroyed by another thread. - group_entry = this->get_group_entry (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (right_type_id); - - return right_type_id; -} - -void -TAO_PG_ObjectGroupManager::generic_factory ( - TAO_PG_GenericFactory * generic_factory) -{ - this->generic_factory_ = generic_factory; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h deleted file mode 100644 index b78cc4028f3..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h +++ /dev/null @@ -1,314 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_ObjectGroupManager.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_OBJECT_GROUP_MANAGER_H -#define TAO_PG_OBJECT_GROUP_MANAGER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_ObjectGroup_Map.h" -#include "orbsvcs/PortableGroup/PG_Location_Map.h" - -#include "tao/PortableServer/Key_Adapters.h" -#include "tao/PortableServer/PortableServerC.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations -class TAO_PG_GenericFactory; - - -/** - * @class TAO_PG_ObjectGroupManager - * - * @brief PortableGroup::ObjectGroupManager implementation. - * - * The ObjectGroupManager provides the interface necessary to - * facilitate application-controlled object group membership. - */ -class TAO_PortableGroup_Export TAO_PG_ObjectGroupManager - : public virtual POA_PortableGroup::ObjectGroupManager -{ -public: - - /// Constructor. - TAO_PG_ObjectGroupManager (void); - - /// Destructor. - ~TAO_PG_ObjectGroupManager (void); - - /** - * @name PortableGroup::ObjectGroupManager methods - * - * Methods required by the PortableGroup::ObjectGroupManager - * interface. - */ - //@{ - - /// Create a member and add it to the given object group. - virtual PortableGroup::ObjectGroup_ptr 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_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberAlreadyPresent, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)); - - /// Add an existing object to the ObjectGroup. - virtual PortableGroup::ObjectGroup_ptr add_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location, - CORBA::Object_ptr member - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberAlreadyPresent, - PortableGroup::ObjectNotAdded)); - - /** - * Remove an object at a specific location from the given - * ObjectGroup. Deletion of application created objects must be - * deleted by the application. Objects created by the - * infrastructure (load balancer) will be deleted by the - * infrastructure. - */ - virtual PortableGroup::ObjectGroup_ptr remove_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)); - - /// Return the locations of the members in the given ObjectGroup. - virtual PortableGroup::Locations * locations_of_members ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// Return the locations of the members in the given ObjectGroup. - virtual PortableGroup::ObjectGroups * groups_at_location ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the ObjectGroupId for the given ObjectGroup. - /// @note Does this method make sense for load balanced objects? - virtual PortableGroup::ObjectGroupId get_object_group_id ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// @note Does this method make sense for load balanced objects? - virtual PortableGroup::ObjectGroup_ptr get_object_group_ref ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// Return the reference corresponding to the member of a given - /// ObjectGroup at the given location. - virtual CORBA::Object_ptr get_member_ref ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & loc - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberNotFound)); - /** - * TAO-specific extension. - * Return the ObjectGroup reference for the given ObjectGroupId. - */ - virtual PortableGroup::ObjectGroup_ptr get_object_group_ref_from_id ( - PortableGroup::ObjectGroupId group_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - CORBA::SystemException - , PortableGroup::ObjectGroupNotFound - )); - - //@} - - /// TAO-specific member addition method. - /** - * This method is meant to be invoked by TAO's GenericFactory - * implementation. It is designed to allow only certain exceptions - * to be propagated to the caller, and to prevent redundant remote - * RepositoryId checking. - */ - PortableGroup::ObjectGroup_ptr _tao_add_member ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location, - CORBA::Object_ptr member, - const char * type_id, - const CORBA::Boolean propagate_member_already_present - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::MemberAlreadyPresent, - PortableGroup::NoFactory)); - - /// Create object group hash map entry that represents an actual - /// ObjectGroup. - /** - * @note This method is used mainly by the - * GenericFactory::create_object() method. - */ - PortableGroup::ObjectGroup_ptr create_object_group ( - CORBA::ULong group_id, - const PortableServer::ObjectId &oid, - const char * type_id, - const PortableGroup::Criteria & the_criteria - ACE_ENV_ARG_DECL); - - /// Destroy the object group corresponding to the given ObjectId. - /** - * @note This method is used mainly by the - * GenericFactory::delete_object() method. - */ - void destroy_object_group (const PortableServer::ObjectId & oid - ACE_ENV_ARG_DECL); - - /// Return the properties set when the object group was created, and - /// the dynamic properties that may have overridden them. - PortableGroup::Properties * get_properties ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// Return the type_id for the given object group. - char * type_id (PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL); - - /// Return the object group associated with the given ObjectId. - /** - * @return Returns PortableGroup::ObjectGroup::_nil() if no object - * group corresponding to the given ObjectId exists. - */ - PortableGroup::ObjectGroup_ptr object_group ( - const PortableServer::ObjectId & oid); - - /// Return the number of members in the given object group. - CORBA::ULong member_count (PortableGroup::ObjectGroup_ptr group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - /// Set the POA to use when converting object group references to - /// ObjectIds. - void poa (PortableServer::POA_ptr p); - - /// Set the pointer to the GenericFactory associated with this - /// ObjectGroupManager. - /** - * The TAO_PG_GenericFactory will only be used when - * ObjectGroupManager::remove_member() is explicitly called so that - * the infrastructure may be given an opportunity to clean up any - * object group members it may have created. - */ - void generic_factory (TAO_PG_GenericFactory * generic_factory); - -protected: - - /// Underlying and non-locking implementation of the add_member() - /// and _tao_add_member() methods in this class. - PortableGroup::ObjectGroup_ptr add_member_i ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Location & the_location, - CORBA::Object_ptr member, - const CORBA::Boolean check_type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::MemberAlreadyPresent, - PortableGroup::ObjectNotAdded)); - - /// Obtain the ObjectGroup hash map entry corresponding to the given - /// ObjectGroup reference. - TAO_PG_ObjectGroup_Map_Entry * get_group_entry ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - - /// Check if a member resides at the location to which the group - /// array belongs to. - /** - * A member is actually represented by the object group to which it - * belongs. In this implementation, a pointer to a object group - * hash map entry is associated with a given a location. - */ - CORBA::Boolean member_already_present ( - const TAO_PG_ObjectGroup_Array & groups, - TAO_PG_ObjectGroup_Map_Entry * group_entry); - - /// get the position of the object_group_map_entry - size_t get_object_group_position ( - const TAO_PG_ObjectGroup_Array & groups, - TAO_PG_ObjectGroup_Map_Entry * group_entry); - - /// Verify that the member type_id matches the object group type_id. - /** - * @todo Strategize this -- e.g. strict type checking. - */ - CORBA::Boolean valid_type_id ( - PortableGroup::ObjectGroup_ptr object_group, - TAO_PG_ObjectGroup_Map_Entry * group_entry, - CORBA::Object_ptr member - ACE_ENV_ARG_DECL); - -private: - - /// Reference to the POA that created the object group references. - PortableServer::POA_var poa_; - - /// The underlying table that contains all object group - /// information. - TAO_PG_ObjectGroup_Map object_group_map_; - - /// Map that contains list of all members at a given location, in - /// addition to the load monitor at that location. - TAO_PG_Location_Map location_map_; - - /// Pointer to the TAO_PG_GenericFactory class responsible for - /// object group creation/destruction. - TAO_PG_GenericFactory * generic_factory_; - - /// Lock used to synchronize access to the underlying tables. - TAO_SYNCH_MUTEX lock_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_OBJECT_GROUP_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h deleted file mode 100644 index 4673a79df0f..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -//======================================================================= -/** - * @file PG_ObjectGroup_Map.h - * - * $Id$ - * - * @author Ossama Othman - */ -//======================================================================= - - -#ifndef TAO_PG_OBJECTGROUP_MAP_H -#define TAO_PG_OBJECTGROUP_MAP_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_MemberInfo.h" - -#include "orbsvcs/PortableGroupC.h" - -#include "tao/PortableServer/Key_Adapters.h" -#include "tao/PortableServer/PortableServerC.h" - -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_ObjectGroup_Map_Entry - * - * @brief Value field of the ObjectGroup map. - */ -struct TAO_PG_ObjectGroup_Map_Entry -{ -public: - - /// The RepositoryId corresponding to all Members in the - /// ObjectGroup. - CORBA::String_var type_id; - - /// This is the PortableGroup::ObjectGroupId. - /** - * The spec states that PortableGroup::ObjectGroupId is a - * CORBA::ULongLong. However, the over 4 billion group IDs that can - * be represented by a CORBA::ULong should be plenty for any - * application. - */ - CORBA::ULong group_id; - - /// Reference to the ObjectGroup. - PortableGroup::ObjectGroup_var object_group; - - /// Unbounded set containing member references and all related - /// information for each member. - TAO_PG_MemberInfo_Set member_infos; - - /// Properties used when creating this object group, in addition to - /// those set dynamically after the creation. - PortableGroup::Properties properties; - -}; - -/// ObjectId hash map typedef. -typedef ACE_Hash_Map_Manager_Ex< - PortableServer::ObjectId, - TAO_PG_ObjectGroup_Map_Entry *, - TAO_ObjectId_Hash, - ACE_Equal_To, - ACE_Null_Mutex> TAO_PG_ObjectGroup_Map; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_OBJECTGROUP_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.cpp deleted file mode 100644 index f8545615ad6..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h" -#include "orbsvcs/PortableGroup/PG_Servant_Dispatcher.h" - -#include "tao/PortableServer/Object_Adapter.h" -#include "tao/ORB_Core.h" - -ACE_RCSID (TAO_PortableGroup, - PG_Object_Adapter_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_Object_Adapter_Factory::TAO_PG_Object_Adapter_Factory (void) -{ -} - -TAO_Adapter* -TAO_PG_Object_Adapter_Factory::create (TAO_ORB_Core *orb_core) -{ - TAO_Object_Adapter *object_adapter = 0; - ACE_NEW_RETURN (object_adapter, - TAO_Object_Adapter (orb_core->server_factory ()-> - active_object_map_creation_parameters (), - *orb_core), - 0); - - // Create and register the RT servant dispatcher. - TAO_PG_Servant_Dispatcher *rt_servant_dispatcher = 0; - ACE_NEW_RETURN (rt_servant_dispatcher, - TAO_PG_Servant_Dispatcher, - 0); - object_adapter->servant_dispatcher (rt_servant_dispatcher); - - - return object_adapter; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_FACTORY_DEFINE (TAO_PortableGroup, TAO_PG_Object_Adapter_Factory) -ACE_STATIC_SVC_DEFINE (TAO_PG_Object_Adapter_Factory, - ACE_TEXT ("TAO_GOA"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_PG_Object_Adapter_Factory), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h deleted file mode 100644 index 7edf4fe521e..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Object_Adapter_Factory.h - * - * $Id$ - * - * @author Johnny Willemsen - */ -// =================================================================== - -#ifndef TAO_PG_OBJECT_ADAPTER_FACTORY_H -#define TAO_PG_OBJECT_ADAPTER_FACTORY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#include "tao/PortableServer/Object_Adapter_Factory.h" -#include "tao/orbconf.h" - -#include "ace/Service_Config.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_PortableGroup_Export TAO_PG_Object_Adapter_Factory : public TAO_Object_Adapter_Factory -{ -public: - /// Constructor - TAO_PG_Object_Adapter_Factory (void); - - /// Create adapter. - virtual TAO_Adapter *create (TAO_ORB_Core *orb_core); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_PG_Object_Adapter_Factory) -ACE_FACTORY_DECLARE (TAO_PortableGroup, TAO_PG_Object_Adapter_Factory) - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_OBJECT_ADAPTER_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp deleted file mode 100644 index 09d492e76a0..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp +++ /dev/null @@ -1,896 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/PG_Object_Group.h" -#include "orbsvcs/PortableGroup/PG_conf.h" - -#include "orbsvcs/PortableGroup/PG_Operators.h" // Borrow operator== on CosNaming::Name -#include "orbsvcs/PortableGroup/PG_Utils.h" - -#include "tao/debug.h" - -#include "ace/Get_Opt.h" -#include "ace/Vector_T.h" - - -// Borland Developer Studio 2006 and earlier give a warning about comparing -// signed and unsigned values in the minimum_polulate() and -// initial_populate() warnings. The comparison uses a unsigned long and -// unsigned short and it seems that the compiler promotes the unsigned -// short of an int and this then gives the warning. Just for Borland -// disabled the warning in this file. -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) -# pragma option push -w-csu -# pragma nopushoptwarn -# pragma nopackwarning -#endif /* __BORLANDC__ && __BORLANDC__ <= 0x582 */ - -#define TODO int todo; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::PG_Object_Group::MemberInfo::MemberInfo ( - CORBA::Object_ptr member, - const PortableGroup::Location & location) - : member_ (CORBA::Object::_duplicate (member)) - , factory_(PortableGroup::GenericFactory::_nil ()) - , location_ (location) - , is_primary_ (0) -{ -} - -TAO::PG_Object_Group::MemberInfo::MemberInfo ( - CORBA::Object_ptr member, - const PortableGroup::Location & location, - PortableGroup::GenericFactory_ptr factory, - PortableGroup::GenericFactory::FactoryCreationId factory_id) - : member_ (CORBA::Object::_duplicate (member)) - , factory_ (PortableGroup::GenericFactory::_duplicate (factory)) - , factory_id_ (factory_id) - , location_ (location) - , is_primary_ (0) -{ -} - -TAO::PG_Object_Group::MemberInfo::~MemberInfo (void) -{ - if( ! CORBA::is_nil (this->factory_.in())) - { - this->factory_->delete_object (this->factory_id_); - } -} - - -TAO::PG_Object_Group::PG_Object_Group ( - CORBA::ORB_ptr orb, - PortableGroup::FactoryRegistry_ptr factory_registry, - TAO::PG_Object_Group_Manipulator & manipulator, - CORBA::Object_ptr empty_group, - const PortableGroup::TagGroupTaggedComponent & tagged_component, - const char * type_id, - const PortableGroup::Criteria & the_criteria, - TAO::PG_Property_Set * type_properties) - : internals_() - , orb_ (CORBA::ORB::_duplicate (orb)) - , factory_registry_ (PortableGroup::FactoryRegistry::_duplicate (factory_registry)) - , manipulator_ (manipulator) - , empty_ (1) - , role_ (type_id) - , type_id_ (CORBA::string_dup (type_id)) - , tagged_component_ (tagged_component) - , reference_ (CORBA::Object::_duplicate(empty_group)) - , members_ () - , primary_location_(0) - , properties_ (the_criteria, type_properties) - , initial_number_members_ (0) - , minimum_number_members_ (0) - , group_specific_factories_ () -{ -} - -TAO::PG_Object_Group::~PG_Object_Group (void) -{ - for (MemberMap_Iterator it = this->members_.begin(); - it != this->members_.end(); - ++it) - { - MemberInfo * member = (*it).int_id_; - delete member; - } - this->members_.unbind_all (); -} - -#if 0 // may want this again someday -///////////////////// -// q&d debug function -static void -dump_ior (const char * base, - const char * ext, - unsigned long version, - const char * iogr) -{ - char filename[1000]; - ACE_OS::sprintf(filename, "%s_%lu.%s", base, version, ext ); - - FILE * iorfile = ACE_OS::fopen(filename, "w"); - ACE_OS::fwrite (iogr, 1, ACE_OS::strlen(iogr), iorfile); - ACE_OS::fclose (iorfile); -} -#endif // may want this again someday - -PortableGroup::ObjectGroup_ptr -TAO::PG_Object_Group::reference (void) const -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - PortableGroup::ObjectGroup::_nil ()); - return PortableGroup::ObjectGroup::_duplicate (this->reference_); -} - -void -TAO::PG_Object_Group::get_group_specific_factories ( - PortableGroup::FactoryInfos & result) const -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - // copy is needed to have some semblance of thread safeness. - // if performance is an issue avoid this method. - result = this->group_specific_factories_; -} - -const PortableGroup::Location & -TAO::PG_Object_Group::get_primary_location (void) const -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - this->primary_location_); - return this->primary_location_; -} - - -PortableGroup::ObjectGroup_ptr -TAO::PG_Object_Group::add_member_to_iogr (CORBA::Object_ptr member - ACE_ENV_ARG_DECL) -{ - // assume internals is locked - - PortableGroup::ObjectGroup_var result; - - //////////////////////////// - // @@ HACK ALERT - // The PortableGroup::ObjectGroupManager creates an object reference - // containing a dummy entry so it will have a place to store the - // tagged group component. If this is the first entry, we need to - // remove that entry once we have a *real* member. This can be - // avoided when we get support for TAG_MULTIPLE_COMPONENTS. For - // now, we already have a copy of the tagGroupTagged component and - // we're going to use it below wen we increment the group version so - // we can clean out the dummy entry. - PortableGroup::ObjectGroup_var cleaned = - PortableGroup::ObjectGroup::_duplicate (this->reference_.in ()); - if (this->empty_) - { - // remove the original profile. It's a dummy entry supplied by - // create_object. - cleaned = - this->manipulator_.remove_profiles (cleaned.in (), - this->reference_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil()); - this->empty_ = 0; - } - - // create a list of references to be merged - TAO_IOP::TAO_IOR_Manipulation::IORList iors (2); - iors.length (2); - iors [0] = CORBA::Object::_duplicate (cleaned.in()); - iors [1] = CORBA::Object::_duplicate (member); - - // Now merge the list into one new IOGR - result = - this->manipulator_.merge_iors (iors ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (PortableGroup::ObjectGroup::_nil ()); - return result._retn (); -} - -void -TAO::PG_Object_Group::add_member (const PortableGroup::Location & the_location, - CORBA::Object_ptr member - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectNotAdded)) - -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - ///////////////////////////////////////// - // Convert the new member to a string IOR - // This keeps a clean IOR (not an IOGR!) - // while we add it to a group. We need a - // IORs, not IOGRs to send new IOGRs out - // to replicas. - - CORBA::String_var member_ior_string = - orb_->object_to_string (member - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableGroup::ObjectGroup_var new_reference = - add_member_to_iogr (member - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Convert new member back to a (non group) ior. - CORBA::Object_var member_ior = - this->orb_->string_to_object (member_ior_string.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - MemberInfo * info = 0; - ACE_NEW_THROW_EX (info, - MemberInfo (member_ior.in (), - the_location), - CORBA::NO_MEMORY()); - - if (this->members_.bind (the_location, info) != 0) - { - // @@ Dale why this is a NO MEMORY exception? - ACE_THROW(CORBA::NO_MEMORY()); - } - - this->reference_ = new_reference; // note var-to-var assignment does - // a duplicate - if (this->increment_version ()) - { - this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - else - { - ACE_THROW (PortableGroup::ObjectNotAdded ()); - } - - if (TAO_debug_level > 6) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("PG (%P|%t) exit Object_Group add_member \n"))); - } -} - -int -TAO::PG_Object_Group::set_primary_member ( - TAO_IOP::TAO_IOR_Property * prop, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::MemberNotFound)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - 0); - int result = 1; - MemberInfo * info = 0; - if (this->members_.find (the_location, info) == 0) - { - int cleared = 0; - this->primary_location_ = the_location; - for (MemberMap_Iterator it = this->members_.begin(); - !cleared && it != this->members_.end(); - ++it) - { - cleared = (*it).int_id_->is_primary_; - (*it).int_id_->is_primary_ = 0; - } - info->is_primary_ = 1; - - int set_ok = - this->manipulator_.set_primary (prop, - this->reference_.in (), - info->member_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (!set_ok) - { - if (TAO_debug_level > 3) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("%T %n (%P|%t) - ") - ACE_TEXT ("Can't set primary in IOGR .\n") - )); - } -//@@: ACE_THROW (FT::PrimaryNotSet()); - result = 0; - } - - if (result && this->increment_version ()) - { - this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else - { - if (TAO_debug_level > 3) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("TAO-PG (%P|%t) - set_primary_location ") - ACE_TEXT("throwing PrimaryNotSet because increment") - ACE_TEXT("version failed.\n") - )); - } -//@@: ACE_THROW (FT::PrimaryNotSet()); - result = 0; - } - } - else - { - if (TAO_debug_level > 3) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO-PG (%P|%t) - set_primary_location ") - ACE_TEXT ("throwing MemberNotFound.\n"))); - } - ACE_THROW_RETURN (PortableGroup::MemberNotFound(), - -1); - } - - return result; -} - - -void -TAO::PG_Object_Group::remove_member ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::MemberNotFound)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - MemberInfo * info = 0; - if (this->members_.unbind (the_location, info) == 0) - { - if (this->members_.current_size() > 0) - { - this->reference_ = - this->manipulator_.remove_profiles (this->reference_.in (), - info->member_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - else - { - empty_ = 1; - } - - delete info; - - if (the_location == this->primary_location_) - { - this->primary_location_.length(0); - } - - if (this->increment_version ()) - { - this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - - } - else - { - if (TAO_debug_level > 6) - { - ACE_DEBUG ((LM_DEBUG, - "TAO-PG (%P|%t) - " - "remove_member throwing MemberNotFound.\n" - )); - } - ACE_THROW (PortableGroup::MemberNotFound() ); - } -} - - -PortableGroup::ObjectGroupId -TAO::PG_Object_Group::get_object_group_id (void) const -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - 0); - return this->tagged_component_.object_group_id; -} - -void -TAO::PG_Object_Group::set_properties_dynamically ( - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - this->properties_.decode (overrides ACE_ENV_ARG_PARAMETER); - - //@@ int todo_override_rather_than_replace? -} - -void -TAO::PG_Object_Group::get_properties ( - PortableGroup::Properties_var & result) const - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - this->properties_.export_properties(*result); -} - - -PortableGroup::TypeId -TAO::PG_Object_Group::get_type_id (void) const -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - 0); - return CORBA::string_dup (this->type_id_); -} - - -/////////////////// -// Internal method - -int -TAO::PG_Object_Group::increment_version (void) -{ - // assume internals is locked - int result = 0; - this->tagged_component_.object_group_ref_version += 1; - if (TAO_debug_level > 3) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("%T %n (%P|%t) - Setting IOGR version to %u\n"), - static_cast (this->tagged_component_.object_group_ref_version) - )); - } - - // Set the version - if (TAO::PG_Utils::set_tagged_component (this->reference_, - this->tagged_component_)) - { - result = 1; - } - return result; -} - - -////////////////// -// Internal method -void -TAO::PG_Object_Group::distribute_iogr (ACE_ENV_SINGLE_ARG_DECL) -{ - // assume internals is locked - CORBA::String_var iogr = - this->orb_->object_to_string (this->reference_.in() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -// size_t n_rep = 0; // for dump_ior below - for (MemberMap_Iterator it = this->members_.begin(); - it != this->members_.end (); - ++it) - { - MemberInfo const * info = (*it).int_id_; - // - // Unchecked narrow means the member doesn't have to actually implement the TAO_UpdateObjectGroup interface - // PortableGroup::TAO_UpdateObjectGroup_var uog = PortableGroup::TAO_UpdateObjectGroup::_unchecked_narrow ( info->member_); - // but it doesn work: error message at replica is: - // TAO-FT (2996|976) - Wrong version information within the interceptor [1 | 0] - // TAO_Perfect_Hash_OpTable:find for operation 'tao_update_object_group' (length=23) failed - // back to using _narrow - PortableGroup::TAO_UpdateObjectGroup_var uog = - PortableGroup::TAO_UpdateObjectGroup::_narrow ( info->member_.in ()); - if (!CORBA::is_nil (uog.in ())) - { - ACE_TRY_NEW_ENV - { - if (TAO_debug_level > 3) - { - ACE_DEBUG ((LM_DEBUG, - "PG (%P|%t) - Object_Group pushing " - "IOGR to %s member: %s@%s.\n", - (info->is_primary_ ? "Primary" : "Backup"), - this->role_.c_str (), - static_cast (info->location_[0].id) - )); - } - // dump_ior ("group", "iogr", this->tagged_component_.object_group_ref_version, iogr); - // CORBA::String_var replica_ior = this->orb_->object_to_string(uog.in() ACE_ENV_ARG_PARAMETER); - // dump_ior (info->location_[0].id, "ior", (this->tagged_component_.object_group_ref_version * 100) + n_rep++, replica_ior); - uog->tao_update_object_group (iogr.in (), - this->tagged_component_.object_group_ref_version, - info->is_primary_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // we expect an exception - // tao_update_object_group is not a real method - } - ACE_ENDTRY; - } - else - { - ACE_ERROR ((LM_ERROR, - "TAO::PG_Object_Group::distribute iogr can't " - "narrow member reference to " - "PortableGroup::TAO_UpdateObjectGroup.\n" - )); - } - } -} - -PortableGroup::Locations * -TAO::PG_Object_Group::locations_of_members (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - 0); - - PortableGroup::Locations * result = 0; - - size_t count = this->members_.current_size (); - - ACE_NEW_THROW_EX ( - result, - PortableGroup::Locations (count), - CORBA::NO_MEMORY() ); - ACE_CHECK_RETURN (0); - - result->length (count); - - size_t pos = 0; - for (MemberMap_Iterator it = this->members_.begin(); - it != this->members_.end(); - ++it) - { - const PortableGroup::Location & location = (*it).ext_id_; - PortableGroup::Location & out = (*result)[pos]; - out = location; - } - return result; -} - -CORBA::Object_ptr -TAO::PG_Object_Group::get_member_reference ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::MemberNotFound)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->internals_, - CORBA::Object::_nil ()); - - CORBA::Object_var result; - - MemberInfo * info = 0; - if (this->members_.find (the_location, info) == 0) - { - result = CORBA::Object::_duplicate (info->member_.in ()); - } - else - { - ACE_THROW_RETURN (PortableGroup::MemberNotFound(), result._retn ()); - } - return result._retn (); -} - - -PortableGroup::MembershipStyleValue -TAO::PG_Object_Group::get_membership_style (void) const -{ - PortableGroup::MembershipStyleValue membership_style = 0; - if (!TAO::find (properties_, - PortableGroup::PG_MEMBERSHIP_STYLE, - membership_style)) - { - membership_style = TAO_PG_MEMBERSHIP_STYLE; - } - return membership_style; -} - - -PortableGroup::MinimumNumberMembersValue -TAO::PG_Object_Group::get_minimum_number_members (void) const -{ - PortableGroup::MinimumNumberMembersValue minimum_number_members = 0; - if (!TAO::find (properties_, - PortableGroup::PG_MINIMUM_NUMBER_MEMBERS, - minimum_number_members)) - { - minimum_number_members = TAO_PG_MINIMUM_NUMBER_MEMBERS; - } - return minimum_number_members; -} - -PortableGroup::InitialNumberMembersValue -TAO::PG_Object_Group::get_initial_number_members (void) const -{ - PortableGroup::InitialNumberMembersValue initial_number_members = 0; - if (!TAO::find (properties_, - PortableGroup::PG_INITIAL_NUMBER_MEMBERS, - initial_number_members)) - { - initial_number_members = TAO_PG_INITIAL_NUMBER_MEMBERS; - } - return initial_number_members; -} - -void -TAO::PG_Object_Group::create_member ( - const PortableGroup::Location & the_location, - const char * type_id, - const PortableGroup::Criteria & the_criteria - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::MemberAlreadyPresent, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - - if (0 != this->members_.find (the_location)) - { - // @@ what if factories were passed as criteria? - - CORBA::String_var factory_type; - PortableGroup::FactoryInfos_var factories = - this->factory_registry_->list_factories_by_role ( - role_.c_str(), - factory_type.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // @@ what if factory_type != type_id != this->type_id_ - - int created = 0; // bool - CORBA::ULong factory_count = factories->length (); - for (CORBA::ULong factory_pos = 0; - ! created && factory_pos < factory_count; - ++factory_pos) - { - const PortableGroup::FactoryInfo & factory_info = - (*factories)[factory_pos]; - if (factory_info.the_location == the_location) - { - // @@ should we merge the_criteria with - // factory_info.the_criteria? - - PortableGroup::GenericFactory::FactoryCreationId_var fcid; - CORBA::Object_var member = - factory_info.the_factory->create_object ( - type_id, - the_criteria, - fcid. out() - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // convert the new member to a stringified IOR to avoid - // contamination with group info - CORBA::String_var member_ior_string = - orb_->object_to_string (member.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - PortableGroup::ObjectGroup_var new_reference = - this->add_member_to_iogr (member.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Convert new member back to a (non group) ior. - CORBA::Object_var member_ior = - this->orb_->string_to_object (member_ior_string.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - MemberInfo * info = 0; - ACE_NEW_THROW_EX (info, MemberInfo( - member_ior.in(), - the_location, - factory_info.the_factory, - fcid.in ()), - CORBA::NO_MEMORY()); - ACE_CHECK; - - if (this->members_.bind (the_location, info) != 0) - { - ACE_THROW(CORBA::NO_MEMORY()); - } - - this->reference_ = new_reference; // note var-to-var - // assignment does a - // duplicate - if (this->increment_version ()) - { - this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - created = 1; - } - } - if (! created) - { - ACE_THROW (PortableGroup::NoFactory ()); - } - } - else - { - ACE_THROW (PortableGroup::MemberAlreadyPresent ()); - } -} - -void -TAO::PG_Object_Group::create_members (size_t count ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::NoFactory)) -{ - // assume internals is locked - // @@ what if factories were passed as criteria? - - CORBA::String_var factory_type; - PortableGroup::FactoryInfos_var factories = - this->factory_registry_->list_factories_by_role ( - role_.c_str(), - factory_type.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULong factory_count = factories->length (); - if (factory_count > 0) - { - CORBA::ULong factory_pos = 0; - while (members_.current_size () < count && factory_pos < factory_count) - { - const PortableGroup::FactoryInfo & factory_info = - (*factories)[factory_pos]; - const PortableGroup::Location & factory_location = - factory_info.the_location; - if (0 != this->members_.find (factory_location)) - { - /////////////////////////////////////////// - // If a factory refuses to create a replica - // it's not fatal. - ACE_TRY_NEW_ENV - { - PortableGroup::GenericFactory::FactoryCreationId_var fcid; - CORBA::Object_var member = - factory_info.the_factory->create_object ( - this->type_id_.in (), - factory_info.the_criteria, - fcid. out() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // convert the new member to a stringified IOR to avoid - // contamination with group info - CORBA::String_var member_ior_string = - orb_->object_to_string (member.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - PortableGroup::ObjectGroup_var new_reference = - this->add_member_to_iogr (member.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Convert new member back to a (non group) ior. - CORBA::Object_var member_ior = - this->orb_->string_to_object (member_ior_string.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - MemberInfo * info = 0; - ACE_NEW_THROW_EX (info, MemberInfo( - member_ior.in(), - factory_location, - factory_info.the_factory, - fcid.in ()), - CORBA::NO_MEMORY()); - ACE_TRY_CHECK; - - if (this->members_.bind (factory_location, info) != 0) - { - ACE_TRY_THROW(CORBA::NO_MEMORY()); - } - this->reference_ = - new_reference; // note var-to-var assignment does - // a duplicate - } - ACE_CATCHANY - { - // log, but otherwise ignore the errorf - if (TAO_debug_level > 0) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("PG (%P|%t) Replica Factory ") - ACE_TEXT ("@ %s refused create_object ") - ACE_TEXT ("request for type %s\n"), - static_cast (factory_info.the_location[0].id), - static_cast (this->type_id_.in ()) - )); - } - } - ACE_ENDTRY; - } - } - - if (this->increment_version ()) - { - this->distribute_iogr (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - } - else - { - ACE_THROW (PortableGroup::NoFactory()); - } -} - -void -TAO::PG_Object_Group::initial_populate (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - if (this->get_membership_style () == PortableGroup::MEMB_INF_CTRL) - { - PortableGroup::InitialNumberMembersValue initial_number_members = - this->get_initial_number_members (); - - if (this->members_.current_size () < initial_number_members) - { - this->create_members (initial_number_members - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - } -} - -void -TAO::PG_Object_Group::minimum_populate (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - if ( this->get_membership_style () == PortableGroup::MEMB_INF_CTRL ) - { - PortableGroup::MinimumNumberMembersValue minimum_number_members = - this->get_minimum_number_members (); - if (members_.current_size () < minimum_number_members) - { - this->create_members (minimum_number_members ACE_ENV_ARG_PARAMETER); - } - } -} - -int -TAO::PG_Object_Group::has_member_at (const PortableGroup::Location & location) -{ - return (0 == this->members_.find (location)); -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -// Restore original compiler flags. -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) -# pragma option pop -# pragma nopushoptwarn -# pragma nopackwarning -#endif /* __BORLANDC__ && __BORLANDC__ <= 0x582 */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h deleted file mode 100644 index aaf4628cda3..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h +++ /dev/null @@ -1,382 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Object_Group.h - * - * $Id$ - * - * Manage all information related to an object group. - * @@ Note: the above description is optimistic. The hope is to eventually - * @@ consolidate all information related to an object group into this object. - * @@ however at the moment GenericFactory, ObjectGroupManager, and - * FT_ReplicationManager have parallel collections of object group - * information. - * - * @author Dale Wilson - */ -//============================================================================= - -#ifndef TAO_PG_OBJECT_GROUP_H_ -#define TAO_PG_OBJECT_GROUP_H_ -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -///////////////////////////////// -// Includes needed by this header -#include "orbsvcs/PortableGroup/PG_Property_Set.h" -#include "orbsvcs/PortableGroup/PG_Location_Hash.h" -#include "orbsvcs/PortableGroup/PG_Location_Equal_To.h" -#include "orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h" -#include "orbsvcs/PortableGroupC.h" -#include "tao/PortableServer/PortableServer.h" -#include "ace/Hash_Map_Manager_T.h" -#include "ace/ACE.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -///////////////////// -// Forward references - -namespace TAO_IOP -{ - class TAO_IOR_Property; -} - -//////////////// -// Class declarations -namespace TAO -{ - /** - */ - class TAO_PortableGroup_Export PG_Object_Group - { - // Information about an object group member - struct MemberInfo - { - /// Reference to the member. - CORBA::Object_var member_; - - /// The factory that was used to create this object - /// nil if application created. - PortableGroup::GenericFactory_var factory_; - - /// FactoryCreationId assigned to the member. Empty if application created - PortableGroup::GenericFactory::FactoryCreationId factory_id_; - - /// Location where this member exists - PortableGroup::Location location_; - - - /// TRUE if this is primary member - CORBA::Boolean is_primary_; - - - /////////////// - // Methods - - /// Construct an application-supplied member. - MemberInfo (CORBA::Object_ptr member, const PortableGroup::Location & location); - - /// Construct a infrastructure-created member. - MemberInfo ( - CORBA::Object_ptr member, - const PortableGroup::Location & location, - PortableGroup::GenericFactory_ptr factory, - PortableGroup::GenericFactory::FactoryCreationId factory_id); - - /// Destructor - ~MemberInfo(); - }; - - typedef TAO_SYNCH_MUTEX MemberMapMutex; - typedef ACE_Hash_Map_Manager_Ex < - PortableGroup::Location, - MemberInfo *, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - MemberMapMutex> MemberMap; - typedef ACE_Hash_Map_Entry MemberMap_Entry; - typedef ACE_Hash_Map_Iterator_Ex < - PortableGroup::Location, - MemberInfo *, - TAO_PG_Location_Hash, - TAO_PG_Location_Equal_To, - MemberMapMutex> MemberMap_Iterator; - - ///////////////////// - // Construct/Destruct - public: - /** - * @@TODO DOC - */ - PG_Object_Group ( - CORBA::ORB_ptr orb, - PortableGroup::FactoryRegistry_ptr factory_registry, - TAO::PG_Object_Group_Manipulator & manipulator, - CORBA::Object_ptr empty_group, - const PortableGroup::TagGroupTaggedComponent & tagged_component, - const char * type_id, - const PortableGroup::Criteria & the_criteria, - TAO::PG_Property_Set * type_properties); - - - /// Destructor - ~PG_Object_Group (); - - ///////////////// - // public methods - - public: - /// return a duplicated reference to this group (IOGR) - PortableGroup::ObjectGroup_ptr reference()const; - - /** - * Note the caller receives a copy of the factoryinfos in the result argument. - * inefficient, but thread safe. - */ - void get_group_specific_factories (PortableGroup::FactoryInfos & result) const; - - /** - * get location of primary member - */ - const PortableGroup::Location & get_primary_location() const; - - /** - * returns a duplicate - * caller must release - */ - PortableGroup::TypeId get_type_id ()const; - - - /** - * @@TODO DOC - */ - PortableGroup::MembershipStyleValue get_membership_style() const; - - /** - * @@TODO DOC - */ - PortableGroup::MinimumNumberMembersValue get_minimum_number_members () const; - - /** - * @@TODO DOC - */ - PortableGroup::InitialNumberMembersValue get_initial_number_members () const; - - - - /** - * @@TODO DOC - */ - void set_properties_dynamically ( - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * @@TODO DOC - */ - void get_properties (PortableGroup::Properties_var & result) const - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * @@TODO DOC - */ - PortableGroup::ObjectGroupId get_object_group_id () const; - - /** - * Add a new member to the group. - * @param the_location the location for the new member - * @param member the member to be added - */ - void add_member ( - const PortableGroup::Location & the_location, - CORBA::Object_ptr member - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::ObjectNotAdded)); - - /** - * set the replica at the given location to be primary. - * Note: This should return void and throw FT::PrimaryNotSet - * but to avoid dependancies between PortableGroup and FaultTolerance - * it returns a boolean result. A false return means caller should - * throw FT::PrimaryNot_Set. - */ - int set_primary_member ( - TAO_IOP::TAO_IOR_Property * prop, - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , PortableGroup::MemberNotFound - )); - - /** - * @@TODO DOC - */ - void remove_member ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::MemberNotFound)); - - - /** - * @@TODO DOC - */ - void create_member ( - const PortableGroup::Location & the_location, - const char * type_id, - const PortableGroup::Criteria & the_criteria - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::MemberAlreadyPresent, - PortableGroup::NoFactory, - PortableGroup::ObjectNotCreated, - PortableGroup::InvalidCriteria, - PortableGroup::CannotMeetCriteria)); - - /** - * @@TODO DOC - */ - PortableGroup::Locations * locations_of_members (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * @@TODO DOC - */ - CORBA::Object_ptr get_member_reference ( - const PortableGroup::Location & the_location - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::MemberNotFound)); - - - /** - * @@TODO DOC - */ - void initial_populate (ACE_ENV_SINGLE_ARG_DECL); - - /** - * @@TODO DOC - */ - void minimum_populate (ACE_ENV_SINGLE_ARG_DECL); - - - /** - * @@TODO DOC - */ - int has_member_at (const PortableGroup::Location & location ); - - ///////////////////////// - // Implementation methods - private: - - int increment_version (); - - void distribute_iogr (ACE_ENV_SINGLE_ARG_DECL); - - PortableGroup::ObjectGroup_ptr add_member_to_iogr(CORBA::Object_ptr member ACE_ENV_ARG_DECL); - - - void create_members (size_t count ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::NoFactory - )); - - - ///////////////////////// - // Forbidden methods - private: - PG_Object_Group (); - PG_Object_Group (const PG_Object_Group & rhs); - PG_Object_Group & operator = (const PG_Object_Group & rhs); - - - ///////////////// - // Static Methods - public: - - /////////////// - // Static Data - private: - - /////////////// - // Data Members - private: - - /** - * Protect internal state. - */ - mutable TAO_SYNCH_MUTEX internals_; - - CORBA::ORB_var orb_; - - /// Where to find the factories for replicas. - PortableGroup::FactoryRegistry_var factory_registry_; - - - // The object group manipulator - TAO::PG_Object_Group_Manipulator & manipulator_; - - /// boolean true if empty group - int empty_; - - ACE_CString role_; - PortableGroup::TypeId_var type_id_; - - /** - * the GroupTaggedComponent that defines this group - * contains: - * GIOP::Version component_version; - * TAO::String_Manager group_domain_id; - * PortableGroup::ObjectGroupId object_group_id; - * PortableGroup::ObjectGroupRefVersion object_group_ref_version; - */ - PortableGroup::TagGroupTaggedComponent tagged_component_; - - /** - * the reference (IOGR) to this group - */ - PortableGroup::ObjectGroup_var reference_; - - /** - * The CORBA object id assigned to this object group - */ - PortableServer::ObjectId_var object_id_; - - // group members - MemberMap members_; - - PortableGroup::Location primary_location_; - - // Miscellaneous properties passed to create_object when this group - // was initially created. To be used to create new members. - TAO::PG_Property_Set properties_; - - // Cached property information - - PortableGroup::InitialNumberMembersValue initial_number_members_; - PortableGroup::MinimumNumberMembersValue minimum_number_members_; - PortableGroup::FactoryInfos group_specific_factories_; - - }; -} // namespace TAO - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif // TAO_PG_OBJECT_GROUP_H_ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp deleted file mode 100644 index 2fb57ae571a..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp +++ /dev/null @@ -1,190 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Object_Group_Manipulator.cpp - * - * $Id$ - * - * @author Dale Wilson - */ -//============================================================================= - -#include "orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h" -#include "orbsvcs/PortableGroup/PG_Utils.h" - -#include "tao/debug.h" -#include - -ACE_RCSID (PortableGroup, - PG_Object_Group_Manipulator, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::PG_Object_Group_Manipulator::PG_Object_Group_Manipulator () - : orb_ (CORBA::ORB::_nil ()) - , poa_ (PortableServer::POA::_nil ()) - , iorm_ () - , lock_ogid_ () - , next_ogid_ (1) // don't use ogid 0 -{ -} - -TAO::PG_Object_Group_Manipulator::~PG_Object_Group_Manipulator () -{ -} - -void TAO::PG_Object_Group_Manipulator::allocate_ogid (PortableGroup::ObjectGroupId & ogid) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_ogid_); - - // The numerical value used for the ObjectId increases - // monotonically. - - ogid = this->next_ogid_; - this->next_ogid_ += 1; -} - -PortableServer::ObjectId * TAO::PG_Object_Group_Manipulator::convert_ogid_to_oid (PortableGroup::ObjectGroupId ogid) const -{ - // 4294967295 -- Largest 32 bit unsigned integer - char oid_str[11]; - ACE_OS::snprintf (oid_str, sizeof(oid_str), - "%lu", - static_cast (ogid)); - oid_str[sizeof(oid_str) - 1] = '\0'; - - return PortableServer::string_to_ObjectId (oid_str); -} - -PortableGroup::ObjectGroup_ptr -TAO::PG_Object_Group_Manipulator::create_object_group ( - const char * type_id, - const char * domain_id, - PortableGroup::ObjectGroupId & group_id - ACE_ENV_ARG_DECL) -{ - allocate_ogid(group_id); - PortableServer::ObjectId_var oid = convert_ogid_to_oid (group_id); - - // Create a reference for the ObjectGroup - CORBA::Object_var object_group = - this->poa_->create_reference_with_id (oid.in(), - type_id - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - PortableGroup::TagGroupTaggedComponent tag_component; - - tag_component.component_version.major = (CORBA::Octet) 1; - tag_component.component_version.minor = (CORBA::Octet) 0; - tag_component.group_domain_id = domain_id; - tag_component.object_group_id = group_id; - tag_component.object_group_ref_version = 0; - - // Set the property - TAO::PG_Utils::set_tagged_component (object_group, - tag_component); - ACE_CHECK_RETURN (CORBA::Object::_nil ()); - - return object_group._retn (); -} - -void -TAO::PG_Object_Group_Manipulator::init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL) -{ - ACE_ASSERT (CORBA::is_nil (this->orb_.in ()) && !CORBA::is_nil (orb)); - this->orb_ = CORBA::ORB::_duplicate (orb); - - ACE_ASSERT (CORBA::is_nil (this->poa_.in ()) && !CORBA::is_nil (poa)); - this->poa_ = PortableServer::POA::_duplicate (poa); - - // Get an object reference for the ORBs IORManipulation object! - CORBA::Object_var IORM = this->orb_->resolve_initial_references ( - TAO_OBJID_IORMANIPULATION, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->iorm_ = TAO_IOP::TAO_IOR_Manipulation::_narrow ( - IORM.in () ACE_ENV_ARG_PARAMETER); -// ACE_CHECK; -} - -int TAO::PG_Object_Group_Manipulator::set_primary ( - TAO_IOP::TAO_IOR_Property * prop, - PortableGroup::ObjectGroup_ptr group, - CORBA::Object_ptr new_primary - ACE_ENV_ARG_DECL) const -{ - int sts = this->iorm_->is_primary_set (prop, group ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - if (sts) - { - (void)this->iorm_->remove_primary_tag (prop, group ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - /////note: iorm takes it's parameters in the "wrong" order for this call - return this->iorm_->set_primary (prop, new_primary, group ACE_ENV_ARG_PARAMETER); -} - -PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group_Manipulator::merge_iors( - TAO_IOP::TAO_IOR_Manipulation::IORList & list ACE_ENV_ARG_DECL) const -{ - return this->iorm_->merge_iors (list ACE_ENV_ARG_PARAMETER); -} - -PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group_Manipulator::remove_profiles( - PortableGroup::ObjectGroup_ptr group, - PortableGroup::ObjectGroup_ptr profile - ACE_ENV_ARG_DECL) const -{ - return this->iorm_->remove_profiles(group, profile ACE_ENV_ARG_PARAMETER); -} - -void dump_membership (const char * label, PortableGroup::ObjectGroup_ptr member) -{ - ACE_UNUSED_ARG (label); - ACE_UNUSED_ARG (member); -#if 0 - PortableGroup::TagFTGroupTaggedComponent ft_tag_component; - TAO_FT_IOGR_Property prop (ft_tag_component); - if (this->iorm_->is_primary_set (&prop, member)) - { - ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("%T %n (%P|%t) - %s: PRIMARY member.\n"), - label - )); - } - else - { - ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("%T %n (%P|%t) - %s: backup member.\n"), - label - )); - } - - PortableGroup::TagGroupTaggedComponent tag_component; - if (TAO::PG_Utils::get_tagged_component (member, tag_component)) - { - ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("%T %n (%P|%t) - %s: Group: .") - ACE_TEXT (" version: %u\n"), - - label, - tag_component.object_group_ref_version - )); - } - else - { - ACE_DEBUG ( (LM_DEBUG, - ACE_TEXT ("%T %n (%P|%t) - %s: No group information found.\n"), - label - )); - } -#endif -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h deleted file mode 100644 index 4397cbfe8e0..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h +++ /dev/null @@ -1,123 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Object_Group_Manipulator.h - * - * $Id$ - * - * @author Dale Wilson - */ -//============================================================================= - - -#ifndef TAO_PG_OBJECT_GROUP_MANIPULATOR_H -#define TAO_PG_OBJECT_GROUP_MANIPULATOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupS.h" - -#include "tao/IORManipulation/IORManip_Loader.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - - /** - * @class TAO::PG_Object_Group_Manipulator - * - * @brief PortableGroup::ObjectGroupManager implementation. - * - * The ObjectGroupManager provides the interface necessary to - * facilitate application-controlled object group membership. - */ - class TAO_PortableGroup_Export PG_Object_Group_Manipulator - { - public: - - /// Constructor. - PG_Object_Group_Manipulator (); - - /// Destructor. - ~PG_Object_Group_Manipulator (); - - /** - * Initializes the group creator. - */ - void init (CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa - ACE_ENV_ARG_DECL); - - /** - * Create an empty object group. - */ - PortableGroup::ObjectGroup_ptr create_object_group ( - const char * type_id, - const char * domain_id, - PortableGroup::ObjectGroupId & group_id - ACE_ENV_ARG_DECL); - - PortableGroup::ObjectGroup_ptr remove_profiles ( - PortableGroup::ObjectGroup_ptr group, - PortableGroup::ObjectGroup_ptr profile - ACE_ENV_ARG_DECL) const; - - PortableGroup::ObjectGroup_ptr merge_iors ( - TAO_IOP::TAO_IOR_Manipulation::IORList & iors - ACE_ENV_ARG_DECL) const; - - int set_primary ( - TAO_IOP::TAO_IOR_Property * prop, - PortableGroup::ObjectGroup_ptr reference, - CORBA::Object_ptr new_primary - ACE_ENV_ARG_DECL) const; - - void dump_membership (const char * label, - PortableGroup::ObjectGroup_ptr member) const; - - private: - - /** - * Allocate an ogid for a new object group - */ - void allocate_ogid (PortableGroup::ObjectGroupId & ogid); - - /** - * convert numeric OGID to Sequence oid - */ - PortableServer::ObjectId * - convert_ogid_to_oid (PortableGroup::ObjectGroupId ogid) const; - - private: - - /// The orb - CORBA::ORB_var orb_; - - /// Reference to the POA that created the object group references. - PortableServer::POA_var poa_; - - /// The ORBs IORManipulation object - TAO_IOP::TAO_IOR_Manipulation_var iorm_; - - /// Lock used to synchronize access to next_ogid_. - TAO_SYNCH_MUTEX lock_ogid_; - - /// Next ogid to be allocated. - PortableGroup::ObjectGroupId next_ogid_; - - }; -} //namespace TAO - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO::PG_OBJECT_GROUP_CREATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.cpp deleted file mode 100644 index 9513dc724bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_Operators.h" -#include "ace/OS_NS_string.h" - -ACE_RCSID (PortableGroup, - PG_Operators, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -bool -operator== (const CosNaming::Name & lhs, const CosNaming::Name & rhs) -{ - const CORBA::ULong lhs_len = lhs.length (); - const CORBA::ULong rhs_len = rhs.length (); - - if (lhs_len != rhs_len) - return false; - - for (CORBA::ULong i = 0; i < lhs_len; ++i) - if (ACE_OS::strcmp (lhs[i].id.in (), rhs[i].id.in ()) != 0 - || ACE_OS::strcmp (lhs[i].kind.in (), rhs[i].kind.in ()) != 0) - return false; - - return true; -} - -bool -operator!= (const CosNaming::Name & lhs, const CosNaming::Name & rhs) -{ - return !(lhs == rhs); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.h deleted file mode 100644 index 6218b5da005..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Operators.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- - - -//============================================================================= -/** - * @file PG_Operators.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_OPERATORS_H -#define TAO_PG_OPERATORS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosNamingC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Global CosNaming::Name equality operator. -/** - * Used for checking equality of PortableGroup::Location and - * PortableGroup::Property variables. - */ -bool TAO_PortableGroup_Export operator== (const CosNaming::Name & lhs, - const CosNaming::Name & rhs); - -/// Global CosNaming::Name inequality operator. -/** - * This simple implementation simply negates the result of the - * equality operator. - */ -bool TAO_PortableGroup_Export operator!= (const CosNaming::Name & lhs, - const CosNaming::Name & rhs); - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_OPERATORS_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp deleted file mode 100644 index de1fa1c7223..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================= -/** - * @file PG_Properties_Encoder.cpp - * - * $Id$ - * - * This file implements classes to help manage the Properties - * defined in the Portable Object Group. - * - * @author Dale Wilson - */ -//============================================================================= -#include "orbsvcs/PortableGroup/PG_Properties_Encoder.h" - - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/PortableGroup/PG_Properties_Encoder.inl" -#endif /* ! __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////// -// Properties_Encoder -TAO_PG::Properties_Encoder::Properties_Encoder () -{ -} - -TAO_PG::Properties_Encoder::~Properties_Encoder () -{ -} - - -void TAO_PG::Properties_Encoder::add ( - const char * name, - const PortableGroup::Value & value) -{ - NamedValue nv(name, value); - values_.push_back(nv); -} - -void TAO_PG::Properties_Encoder::encode ( - PortableGroup::Properties * property_set) const -{ - ACE_ASSERT (property_set != 0); - size_t count = values_.size(); - property_set->length(count); - for( size_t nItem = 0; nItem < count; ++nItem ) - { - const NamedValue & nv = values_[nItem]; - PortableGroup::Property & property = (*property_set)[nItem]; - PortableGroup::Name & nsName = property.nam; - PortableGroup::Value & anyValue = property.val; - // assign the value - anyValue = (nv.value_); - - // assign the name - // @@: This restricts the name to a single level with no "kind" - // @@: remove this restriction (?) - nsName.length(1); - CosNaming::NameComponent & nc = nsName[0]; - - nc.id = CORBA::string_dup (nv.name_.c_str()); - // nc.kind defaults to empty. Leave it that way (for now) - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h deleted file mode 100644 index d1780105873..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h +++ /dev/null @@ -1,101 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Properties_Encoder.h - * - * $Id$ - * - * This file declares a class to help manage PortableGroup::Properties - * - * @author Dale Wilson - */ -//============================================================================= -#ifndef TAO_PG_PROPERTIES_ENCODER_H -#define TAO_PG_PROPERTIES_ENCODER_H - -#include /**/ "ace/pre.h" -#include -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupS.h" -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#include "ace/Vector_T.h" -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_PG -{ - /** - * A helper to assemble a set of properties into a PortableGroup::Properties structure. - * - * To use a Properties_Encoder: - * Create it. - * Add properties to it using the add method. - * Allocate a new PortableGroup::Properties. - * Use the encode method to transfer the properties into the - * PortableGroup::Properties. - */ - class TAO_PortableGroup_Export Properties_Encoder - { - // Originally NamedValue was an ACE_Pair, but ACE_Pair allows operator == - // (delegating to the member's operators ==.) Since CORBA::Any does - // not support operator ==, this confused gcc version 2.9-gnupro-98r2 - // on LynxOS pfadev04 3.0.1 110298-G PowerPC - struct NamedValue - { - public: - ACE_CString name_; - PortableGroup::Value value_; - NamedValue (); - NamedValue (const ACE_CString & name, const PortableGroup::Value & value); - NamedValue (const NamedValue & rhs); - NamedValue & operator = (const NamedValue & rhs); - /// Meaningless method to keep ACE_Vector happy - bool operator == (const NamedValue &rhs) const; - /// Meaningless method to keep ACE_Vector happy - bool operator != (const NamedValue &rhs) const; - }; - typedef ACE_Vector< NamedValue, 10 > NamedValueVec; - - public: - /** - * Construct an empty set of properties. - */ - Properties_Encoder (); - - /// standard destructor - ~Properties_Encoder (); - - /** - * add a name/value property to the Properties_Encoder. - */ - void add (const char * name, const PortableGroup::Value & value); - - /** - * Encode all properties in this Properties_Encoder into a PortableGroup::Properties. - * - */ - void encode (PortableGroup::Properties * property_set) const; - - private: - Properties_Encoder (const Properties_Encoder & rhs); - Properties_Encoder & operator = (const Properties_Encoder & rhs); - private: - NamedValueVec values_; - }; - -} //namespace TAO_PG - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/PortableGroup/PG_Properties_Encoder.inl" -#endif /* __ACE_INLINE__ */ -#include /**/ "ace/post.h" -#endif // TAO_PG_PROPERTIES_ENCODER_H diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.inl b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.inl deleted file mode 100644 index aa64246f6a5..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.inl +++ /dev/null @@ -1,64 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Properties_Encoder.inl - * - * $Id$ - * - * @author Dale Wilson - */ -//============================================================================= - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_PG -{ - ACE_INLINE - Properties_Encoder::NamedValue::NamedValue () - { - } - - ACE_INLINE - Properties_Encoder::NamedValue::NamedValue (const ACE_CString & name, const PortableGroup::Value & value) - : name_ (name) - , value_ (value) - { - } - - ACE_INLINE - Properties_Encoder::NamedValue::NamedValue (const Properties_Encoder::NamedValue & rhs) - : name_ (rhs.name_) - , value_ (rhs.value_) - { - } - - ACE_INLINE - Properties_Encoder::NamedValue & - Properties_Encoder::NamedValue::operator = (const Properties_Encoder::NamedValue & rhs) - { - if (this != &rhs) - { - this->name_ = rhs.name_; - this->value_ = rhs.value_; - } - return *this; - } - - ACE_INLINE - bool - Properties_Encoder::NamedValue::operator == (const Properties_Encoder::NamedValue &rhs) const - { - return this->name_ == rhs.name_; - } - - ACE_INLINE - bool - Properties_Encoder::NamedValue::operator != (const Properties_Encoder::NamedValue &rhs) const - { - return this->name_ != rhs.name_; - } - -} //namespace TAO_PG - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp deleted file mode 100644 index cc8d023d899..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp +++ /dev/null @@ -1,151 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Properties_Support.cpp - * - * $Id$ - * - * This file implements classes to help manage PortableGroup::Properties - * - * @author Dale Wilson - */ -//============================================================================= - -#include "orbsvcs/PortableGroup/PG_Properties_Support.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::PG_Properties_Support::PG_Properties_Support () -{ -} - -TAO::PG_Properties_Support::~PG_Properties_Support () -{ - -} - -void TAO::PG_Properties_Support::set_default_property (const char * name, - const PortableGroup::Value & value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->default_properties_.set_property(name, value ACE_ENV_ARG_PARAMETER); -} - -void TAO::PG_Properties_Support::set_default_properties (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->default_properties_.decode (props ACE_ENV_ARG_PARAMETER); -} - -PortableGroup::Properties * -TAO::PG_Properties_Support::get_default_properties ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - PortableGroup::Properties_var result; - ACE_NEW_THROW_EX ( result, PortableGroup::Properties(), CORBA::NO_MEMORY()); - ACE_CHECK_RETURN (0); - this->default_properties_.export_properties (*result); - return result._retn (); -} - -void TAO::PG_Properties_Support::remove_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->default_properties_.remove (props); -} - -void -TAO::PG_Properties_Support::set_type_properties ( - const char *type_id, - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - TAO::PG_Property_Set * typeid_properties; - if ( 0 != this->properties_map_.find (type_id, typeid_properties)) - { - ACE_NEW_THROW_EX ( - typeid_properties, - TAO::PG_Property_Set (overrides, & this->default_properties_), - CORBA::NO_MEMORY()); - this->properties_map_.bind (type_id, typeid_properties); - } - typeid_properties->clear (); - typeid_properties->decode (overrides ACE_ENV_ARG_PARAMETER); -} - -PortableGroup::Properties * -TAO::PG_Properties_Support::get_type_properties ( - const char *type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException)) -{ - PortableGroup::Properties_var result; - ACE_NEW_THROW_EX (result, PortableGroup::Properties(), CORBA::NO_MEMORY ()); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->internals_, 0); - - TAO::PG_Property_Set * typeid_properties = 0; - if ( 0 != this->properties_map_.find (type_id, typeid_properties)) - { - typeid_properties->export_properties (*result); - } - return result._retn (); -} - -void -TAO::PG_Properties_Support::remove_type_properties ( - const char *type_id, - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ( (CORBA::SystemException)) -{ - // NOTE: do not actually delete the properties for this type. - // There may be object groups depending on these. - // Reference counted pointers could be used to allow property sets - // for unused typeids to be deleted. - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - TAO::PG_Property_Set * typeid_properties = 0; - if ( 0 != this->properties_map_.find (type_id, typeid_properties)) - { - typeid_properties->remove (props); - } -} - - -TAO::PG_Property_Set * -TAO::PG_Properties_Support::find_typeid_properties ( - const char *type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->internals_, 0); - - TAO::PG_Property_Set * typeid_properties = 0; - if ( 0 != this->properties_map_.find (type_id, typeid_properties)) - { - ACE_NEW_THROW_EX ( - typeid_properties, - TAO::PG_Property_Set (& this->default_properties_), - CORBA::NO_MEMORY()); - this->properties_map_.bind (type_id, typeid_properties); - } - return typeid_properties; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h deleted file mode 100644 index 50e2f504ffd..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h +++ /dev/null @@ -1,214 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Properties_Support.h - * - * $Id$ - * - * This file declares classes to help manage the PortableGroup::Properties - * It serves roughly the same purpose as PG_PropertiesManager, but takes a - * different approach that suits the needs of FT CORBA. - * It would be possible to replace PG_PropertiesManager, or implement it in - * terms of PG_Properties_Support at some time in the future. - * - * @author Dale Wilson - */ -//============================================================================= -#ifndef TAO_PG_PROPERTIES_SUPPORT_H -#define TAO_PG_PROPERTIES_SUPPORT_H - -#include "orbsvcs/PortableGroup/PG_Property_Set.h" -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /** - * This Properties Support object manages Property Sets (TAO::PG_Property_Set). - * - * One set, default_properties_, - * acts as a "global" default set of properties. - * - * The collection, properties_map_, contains a set of properties for each - * PortableGroup::type_id. The default set acts as a "parent" for each of - * these type_id sets. - * - * Expected use: When an object group is created that implements the interface - * identified by type_id, the corresponding typed_id propery set acts as a - * parent to the Property set contained in the PG_Object_Group. - * - * This heirarchy of property sets provides the correct property behavior. A - * request for a propery to an ObjectGroup will be satisfied from: - * by the object group group property set, or - * the typed_id property set, or - * the default property set, or - * the request will fail.. - * - * Note that changes to type_id or default properties will be visible - * immediately at the ObjectGroup level. - */ - - class TAO_PortableGroup_Export PG_Properties_Support - { - typedef ACE_Hash_Map_Manager< - ACE_CString, - ::TAO::PG_Property_Set *, - TAO_SYNCH_MUTEX> Properties_Map; - typedef ACE_Hash_Map_Iterator< - ACE_CString, - ::TAO::PG_Property_Set *, - TAO_SYNCH_MUTEX> Properties_Map_Iterator; - - public: - PG_Properties_Support (); - ~PG_Properties_Support (); - - /** - * Set a single default property. - * Overwriting any value previously set for that property. - * Leaving all other properties untouched. - * @param name the name of the property to set - * @value an Any containing the value. - */ - void set_default_property (const char * name, - const PortableGroup::Value & value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Update the default property set. - * - * Properties that appear in props are replaced in or added to the default - * property set. Properties that do not appear in props are unchanged. - * - * @param props the set of properties to update the defaults. - */ - void set_default_properties (const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Export the default properties in PortableGroup::Properties format. - * - * This produces the properties in a format suitable for use across - * a CORBA interface. - * The caller owns the resulting Properties and must release it to avoid - * resource leaks. - * @returns a newly allocated PortableGroup::Properties. - */ - PortableGroup::Properties * get_default_properties (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Undefine default properties that appear in props. - * - * Properties that are defined in props are removed from the default - * property set. Removal is done by name. The property values do not - * have to match. There is no penalty for attempting to remove a property - * that does not exist. - * @param props a set of propertys to be removed by name. - */ - void remove_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Override or define properties associated with a type_id. - * - * If a property set does not exist for type_id, a new one will be created. - * Any property included in overrides will be set or replaced in the type_id - * property set. Any property not in overrides will be unchanged. - * - * Contrary to the "throws" specification, this method does not attempt - * to validate the properties because doing so would unnecessarily constrain - * the uses to which this class could be put (although one could strategize the - * validation.) - */ - void set_type_properties ( - const char *type_id, - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Export the property set in a PortableGroup::Properties format. - * - * This produces the properties associated with a type_id -- including - * any default properties that have not been overridden at the type_id level - * in a format suitable for use across a CORBA interface. - * - * The caller owns the resulting Properties and must release it to avoid - * resource leaks. - * - * Compare this method to find_typeid_properties which returns a pointer - * to the internal representation of the properties in TAO::PG_Property_Set - * format. This is more efficient, but suitable only for internal use. - * - * @param type_id identifies the set of properties to be exported. - * @returns a newly allocated PortableGroup::Properties that must be released by the caller. - */ - PortableGroup::Properties * get_type_properties ( - const char *type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException)); - - /** - * Export the property set in a PortableGroup::Properties format. - * - * This method is intended to provide a parent - * for the property set in a newly-created Object Group of the given - * type_id. - * - * Callers who intend to send the property set across a CORBA interface - * should use the get_type_properties method. - * - * @param type_id identifies the set of properties to be found. - * @returns a pointer to a Property_Set owned by this Properties_Support object. - */ - TAO::PG_Property_Set * find_typeid_properties ( - const char *type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Undefine default properties that appear in props. - * - * Properties that are defined in props are removed from the type_id - * property set. Removal is done by name. The property values do not - * have to match. There is no penalty for attempting to remove a property - * that does not exist. - * @param props a set of propertys to be removed by name from the type_id set. - */ - void remove_type_properties ( - const char *type_id, - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ( (CORBA::SystemException)); - - /////////////// - // Data Members - private: - /** - * Protect internal state. - */ - TAO_SYNCH_MUTEX internals_; - - /// The default property set. - TAO::PG_Property_Set default_properties_; - - /// A collection of property sets indexed by type_id. - Properties_Map properties_map_; - }; -} //namespace TAO_PG - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // TAO_PG_PROPERTIES_SUPPORT_H diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp deleted file mode 100644 index f6d9fb2a13c..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp +++ /dev/null @@ -1,368 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/PortableGroup/PG_PropertyManager.h" -#include "orbsvcs/PortableGroup/PG_ObjectGroupManager.h" -#include "orbsvcs/PortableGroup/PG_Property_Utils.h" - -#include "tao/ORB_Constants.h" - -#include "ace/SString.h" - -ACE_RCSID (PortableGroup, - PG_PropertyManager, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_PropertyManager::TAO_PG_PropertyManager ( - TAO_PG_ObjectGroupManager & object_group_manager) - : object_group_manager_ (object_group_manager), - default_properties_ (), - type_properties_ (), - lock_ (), - property_validator_ () -{ -} - - -void -TAO_PG_PropertyManager::set_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - // First verify that the "Factories" property is not in the - // Properties sequence. According to the spec, it is not allowed to - // be set as part of the default properties. - PortableGroup::Name factories; - factories.length (1); - factories[0].id = CORBA::string_dup ("org.omg.PortableGroup.Factories"); - - CORBA::ULong len = props.length (); - for (CORBA::ULong i = 0; i < len; ++i) - { - PortableGroup::Property property = props[i]; - - if (property.nam == factories) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - this->property_validator_.validate_property (props - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - this->default_properties_ = props; -} - - -PortableGroup::Properties * -TAO_PG_PropertyManager::get_default_properties ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->lock_, 0); - - PortableGroup::Properties * props = 0; - ACE_NEW_THROW_EX (props, - PortableGroup::Properties (this->default_properties_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return props; -} - - -void -TAO_PG_PropertyManager::remove_default_properties ( - const PortableGroup::Properties &props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - if (props.length () == 0) - return; // @@ Throw CORBA::BAD_PARAM instead? - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - this->remove_properties (props, - this->default_properties_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void -TAO_PG_PropertyManager::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->property_validator_.validate_property (overrides - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - CORBA::ULong num_overrides = overrides.length (); - - if (num_overrides == 0) - return; // Throw CORBA::BAD_PARAM exception instead? - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - Type_Prop_Table::ENTRY * entry = 0; - if (this->type_properties_.find (type_id, entry) != 0) - ACE_THROW (CORBA::BAD_PARAM ()); - - PortableGroup::Properties & props = entry->int_id_; - props = overrides; -} - - -PortableGroup::Properties * -TAO_PG_PropertyManager::get_type_properties ( - const char * type_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->lock_, 0); - - - Type_Prop_Table::ENTRY * entry = 0; - PortableGroup::Properties * type_properties = 0; - - if (this->type_properties_.find (type_id, entry) == 0) - type_properties = &entry->int_id_; - - const CORBA::ULong def_props_len = this->default_properties_.length (); - const CORBA::ULong type_props_len = - (type_properties == 0 ? 0 : type_properties->length ()); - const CORBA::ULong props_len = - (def_props_len > type_props_len ? def_props_len : type_props_len); - - PortableGroup::Properties * tmp_properties = 0; - ACE_NEW_THROW_EX (tmp_properties, - PortableGroup::Properties (props_len), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - PortableGroup::Properties_var properties = tmp_properties; - - // Set the length to the length of the largest of the two property - // sequences. The idea is to keep the cost of the incremental - // growth that may occur in TAO_PG::override_properties() to a - // minimum. - properties->length (props_len); - - *tmp_properties = this->default_properties_; - - if (type_properties != 0 && type_props_len > 0) - TAO_PG::override_properties (*type_properties, *tmp_properties); - - return properties._retn (); -} - - -void -TAO_PG_PropertyManager::remove_type_properties ( - const char * type_id, - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - if (props.length () == 0) - return; // @@ Throw CORBA::BAD_PARAM instead? - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - Type_Prop_Table::ENTRY * entry = 0; - if (this->type_properties_.find (type_id, entry) != 0) - ACE_THROW (CORBA::BAD_PARAM ()); - - PortableGroup::Properties & type_properties = entry->int_id_; - - this->remove_properties (props, - type_properties - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -void -TAO_PG_PropertyManager::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)) -{ -#if 0 - // First verify that the "InitialNumberMembers" property is not in - // the Properties sequence. According to the spec, it is not - // allowed to be set as part of the default properties. - PortableGroup::Name factories; - factories.length (1); - factories[0].id = - CORBA::string_dup ("org.omg.PortableGroup.InitialNumberMembers"); - - CORBA::ULong len = props.length (); - for (CORBA::ULong i = 0; i < len; ++i) - { - PortableGroup::Property property = props[i]; - - if (property.nam == factories) - ACE_THROW (PortableGroup::InvalidProperty (property.nam, - property.val)); - } - - this->property_validator_.validate_property (overrides - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // @todo Set the properties in the object group map entry. -#endif /* 0 */ - - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - - -PortableGroup::Properties * -TAO_PG_PropertyManager::get_properties ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)) -{ - CORBA::ULong properties_len = 0; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, property_map_guard, this->lock_, 0); - - // @@ Race condition here! - PortableGroup::Properties_var dynamic_properties = - this->object_group_manager_.get_properties (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong dyn_props_len = dynamic_properties->length (); - if (dyn_props_len > properties_len) - properties_len = dyn_props_len; - - CORBA::String_var type_id = - this->object_group_manager_.type_id (object_group - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::ULong type_props_len = 0; - PortableGroup::Properties * type_properties = 0; - Type_Prop_Table::ENTRY * type_entry = 0; - if (this->type_properties_.find (type_id.in (), type_entry) == 0) - { - type_properties = &type_entry->int_id_; - type_props_len = type_properties->length (); - - if (type_props_len > properties_len) - properties_len = type_props_len; - } - - CORBA::ULong def_props_len = this->default_properties_.length (); - if (def_props_len > properties_len) - properties_len = def_props_len; - - PortableGroup::Properties * tmp_properties = 0; - ACE_NEW_THROW_EX (tmp_properties, - PortableGroup::Properties (properties_len), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - PortableGroup::Properties_var properties = tmp_properties; - - // Set the length to the length of the largest of the three property - // sequences. The idea is to keep the cost of the incremental - // growth that may occur in TAO_PG::override_properties() to a - // minimum. - properties->length (properties_len); - - // Start out with a copy of the default properties. - *tmp_properties = this->default_properties_; - - // Override default properties with type-specific properties. - if (type_properties != 0) - TAO_PG::override_properties (*type_properties, *tmp_properties); - - // Now override with the dynamic (object group) properties. - TAO_PG::override_properties (dynamic_properties.in (), *tmp_properties); - - return properties._retn (); -} - - -void -TAO_PG_PropertyManager::remove_properties ( - const PortableGroup::Properties & to_be_removed, - PortableGroup::Properties &properties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)) -{ - const CORBA::ULong num_removed = to_be_removed.length (); - if (num_removed == 0) - return; // @@ Throw CORBA::BAD_PARAM instead? - - const CORBA::ULong old_length = properties.length (); - - const CORBA::ULong new_length = old_length - num_removed; - - PortableGroup::Properties new_properties (new_length); - new_properties.length (new_length); - - // @@ Slow O(n^2) operation. Switching to a faster container for - // the default properties might be a good idea at some point in - // the future. - CORBA::ULong n = 0; - for (CORBA::ULong i = 0; i < num_removed; ++i) - { - const CORBA::ULong old_n = n; - const PortableGroup::Property &remove = to_be_removed[i]; - - for (CORBA::ULong j = 0; j < old_length; ++j) - if (remove.nam != properties[j].nam) - new_properties[n++] = properties[j]; - - // The property to be removed doesn't exist in the current list - // of default properties. - if (n == old_n) - ACE_THROW (PortableGroup::InvalidProperty (remove.nam, - remove.val)); - } - - // All properties were successfully removed, and the remaining ones - // were placed in the "new_properties" variable. Now copy that - // variable. - properties = new_properties; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h deleted file mode 100644 index 5d6c40fa063..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h +++ /dev/null @@ -1,192 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_PropertyManager.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_PG_PROPERTY_MANAGER_H -#define TAO_PG_PROPERTY_MANAGER_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/PG_Default_Property_Validator.h" -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupS.h" - -#include "ace/SString.h" -#include "ace/Null_Mutex.h" -#include "ace/Functor.h" -#include "ace/Hash_Map_Manager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -class TAO_PG_ObjectGroupManager; - -/** - * @class TAO_PG_PropertyManager - * - * @brief Class that implements the PortableGroup::PropertyManager - * interface. - * - * Only the default and type-specific properties are housed in this - * class. The properties used at creation time of an object group and - * those set dynamically after object group creation are stored in the - * TAO_PG_ObjectGroup_Map_Entry structure. However, the - * PropertyManager is still used to manage those properties. - */ -class TAO_PortableGroup_Export TAO_PG_PropertyManager - : public virtual POA_PortableGroup::PropertyManager -{ -public: - - /// Constructor. - TAO_PG_PropertyManager (TAO_PG_ObjectGroupManager & object_group_manager); - - /** - * @name PortableGroup::PropertyManager methods - * - * Methods required by the PortableGroup::PropertyManager - * interface. - */ - //@{ - - /// Set the default properties to be used by all object groups. - virtual void set_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /// Get the default properties used by all object groups. - virtual PortableGroup::Properties * get_default_properties ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Remove default properties. - virtual void remove_default_properties ( - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /// Set properties associated with a given Member type. These - /// properties override the default properties. - virtual void set_type_properties ( - const char * type_id, - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Return the properties associated with a give Replica type. These - * properties include the type-specific properties in use, in - * addition to the default properties that were not overridden. - */ - virtual PortableGroup::Properties * get_type_properties ( - const char * type_id - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Remove the given properties associated with the Replica type ID. - virtual void remove_type_properties ( - const char * type_id, - const PortableGroup::Properties & props - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Dynamically set the properties associated with a given object - * group as the load balancer and replicas are being executed. - * These properties override the type-specific and default - * properties. - */ - virtual void set_properties_dynamically ( - PortableGroup::ObjectGroup_ptr object_group, - const PortableGroup::Properties & overrides - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - - /** - * Return the properties currently in use by the given object - * group. These properties include those that were set dynamically, - * type-specific properties that weren't overridden, properties that - * were used when the replica was created, and default properties - * that weren't overridden. - */ - virtual PortableGroup::Properties * get_properties ( - PortableGroup::ObjectGroup_ptr object_group - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::ObjectGroupNotFound)); - - //@} - - /// Type-specific property hash map. - typedef ACE_Hash_Map_Manager_Ex< - ACE_CString, - PortableGroup::Properties, - ACE_Hash, - ACE_Equal_To, - ACE_Null_Mutex> Type_Prop_Table; - -private: - - /// Remove properties "to_be_removed" from the given list of - /// properties. - void remove_properties (const PortableGroup::Properties & to_be_removed, - PortableGroup::Properties &properties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableGroup::InvalidProperty, - PortableGroup::UnsupportedProperty)); - -private: - - /// Table that maps ObjectId to Object Group related information. - TAO_PG_ObjectGroupManager & object_group_manager_; - - /// Default properties. - PortableGroup::Properties default_properties_; - - /// Table of type-specific object group properties. - Type_Prop_Table type_properties_; - - /// Lock used to synchronize access to the default properties and - /// the type-specific properties. - TAO_SYNCH_MUTEX lock_; - - /// The property validator. - /** - * @todo Strategize the validator, or use template policies. - */ - TAO_PG_Default_Property_Validator property_validator_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_PROPERTY_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp deleted file mode 100644 index e63ff905d9d..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp +++ /dev/null @@ -1,360 +0,0 @@ -//============================================================================= -/** - * @file PG_Property_Set.cpp - * - * $Id$ - * - * This file implements classes to help manage the Properties - * defined in the Portable Object Group. - * - * Note: this started as a simple helper class to make decoding sets of properties - * easier, but expanded to provide more general support for managing sets of properties. - * - * @author Dale Wilson - */ -//============================================================================= -#include "orbsvcs/PortableGroup/PG_Property_Set.h" -#include "tao/debug.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////// -// PG_Property_Set - -TAO::PG_Property_Set::PG_Property_Set() - : defaults_ (0) -{ -} - -TAO::PG_Property_Set::PG_Property_Set ( - const PortableGroup::Properties & property_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - : defaults_ (0) -{ - this->decode (property_set ACE_ENV_ARG_PARAMETER); -} - -TAO::PG_Property_Set::PG_Property_Set ( - const PortableGroup::Properties & property_set, - PG_Property_Set * defaults - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - : defaults_ (defaults) -{ - this->decode (property_set ACE_ENV_ARG_PARAMETER); -} - - -TAO::PG_Property_Set::PG_Property_Set ( - PG_Property_Set * defaults) - : defaults_ (defaults) -{ -} - -TAO::PG_Property_Set::~PG_Property_Set () -{ - this->clear (); -} - -void -TAO::PG_Property_Set::decode (const PortableGroup::Properties & property_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - - size_t count = property_set.length (); - for (size_t nItem = 0; nItem < count; ++nItem) - { - const PortableGroup::Property & property = property_set[nItem]; - const CosNaming::Name & nsName = property.nam; - // note assumption one level name with no kind - // @@ TODO: fix this - const CosNaming::NameComponent & nc = nsName[0]; - - this->set_property (static_cast (nc.id), - property.val - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if 0 - ACE_CString name = static_cast (nc.id); - - const PortableGroup::Value * value_copy; - ACE_NEW_THROW_EX (value_copy, - PortableGroup::Value (property.val), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - const PortableGroup::Value * replaced_value = 0; - if (0 == this->values_.rebind (name, value_copy, replaced_value)) - { - if (0 != replaced_value) - { - delete replaced_value; - } - } - else - { - if (TAO_debug_level > 3) - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: Property_set: rebind failed.\n" - )); - } - // @@ should throw something here - ACE_THROW (CORBA::NO_MEMORY ()); - } -#endif - } -} - -void TAO::PG_Property_Set::clear () -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - for (ValueMapIterator it = this->values_.begin (); - it != this->values_.end (); - ++it) - { - delete (*it).int_id_; - } - this->values_.unbind_all (); -} - -void TAO::PG_Property_Set::remove (const PortableGroup::Properties & property_set) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - size_t count = property_set.length (); - for (size_t nItem = 0; nItem < count; ++nItem) - { - const PortableGroup::Property & property = property_set[nItem]; - const CosNaming::Name & nsName = property.nam; - // note assumption one level name with no kind - // @@ TODO: fix this - const CosNaming::NameComponent & nc = nsName[0]; - ACE_CString name = static_cast (nc.id); - - const PortableGroup::Value * deleted_value; - if ( 0 == this->values_.unbind (name, deleted_value)) - { - delete deleted_value; - } - else - { - // don't worry about it. - } - } -} - -void TAO::PG_Property_Set::set_property ( - const char * name, - const PortableGroup::Value & value - ACE_ENV_ARG_DECL) -{ - ACE_CString key (name); - PortableGroup::Value * value_copy; - ACE_NEW_THROW_EX ( - value_copy, PortableGroup::Value (value), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - const PortableGroup::Value * replaced_value = 0; - if (0 == this->values_.rebind (name, value_copy, replaced_value)) - { - if (0 != replaced_value) - { - delete replaced_value; - } - } - else - { - if (TAO_debug_level > 3) - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: Property_set: rebind failed.\n" - )); - } - // @@ should throw something here - ACE_THROW (CORBA::NO_MEMORY ()); - } -} - - - -void TAO::PG_Property_Set::export_properties(PortableGroup::Properties & property_set) const -{ - ValueMap merged_values; - this->merge_properties (merged_values); - - property_set.length (merged_values.current_size ()); - - size_t pos = 0; - for (ValueMapIterator it = merged_values.begin (); - it != merged_values.end (); - ++it) - { - const ACE_CString & name = (*it).ext_id_; - const PortableGroup::Value * value = (*it).int_id_; - - PortableGroup::Property & property = property_set[pos]; - CosNaming::Name & nsName = property.nam; - //@@ note assumption: single level name, no kind - nsName.length(1); - CosNaming::NameComponent & nc = nsName[0]; - nc.id = CORBA::string_dup (name.c_str ()); - PortableGroup::Value & val = property.val; - val = *value; // NOTE: Any assignment does a deep copy - ++pos; - } - ACE_ASSERT (pos == property_set.length ()); -} - -void TAO::PG_Property_Set::merge_properties (ValueMap & merged_values) const -{ - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->internals_); - if (0 != this->defaults_) - { - this->defaults_->merge_properties (merged_values); - } - // note AFICT ACE_Hash_Map does not support const iterators, hence the const cast. - ValueMap & mutable_values = const_cast (this->values_); - for (ValueMapIterator it = mutable_values.begin (); - it != mutable_values.end (); - ++it) - { - merged_values.rebind ( (*it).ext_id_, (*it).int_id_); - } -} - - - -int TAO::PG_Property_Set::find ( - const ACE_CString & key, - const PortableGroup::Value *& pValue) const -{ - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, guard, this->internals_, 0); - int found = (0 == this->values_.find (key, pValue)); - if (! found) - { - if (0 != this->defaults_) - { - found = this->defaults_->find (key, pValue); - } - } - return found; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -//#define PG_PS_UNIT_TEST -#ifdef PG_PS_UNIT_TEST -#include "orbsvcs/PortableGroup/PG_Properties_Encoder.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -int TAO_PG::test_encode_decode () -{ - int result = 1; - static const long testLong = 123456L; - static const char * testLongKey = "MyLong"; - - static const char * testString = "Now is the time for all good people."; - static const char * testStringKey = "plover"; - - static const double testDouble = 3.1415; - static const char * testDoubleKey = "pi"; - - PortableGroup::Properties_var property_set = new PortableGroup::Properties; - //scope encoder to be sure its gone before decoding - { - TAO_PG::Encoder encoder; - PortableGroup::Value value; - value <<= (CORBA::Long) testLong; - encoder.add (testLongKey, value); - - value <<= testString; - encoder.add (testStringKey, value); - - value <<= (CORBA::Double) testDouble; - encoder.add (testDoubleKey, value); - - encoder.encode (property_set); - } - - TAO::PG_Property_Set decoder (property_set); - - CORBA::Long longResult = 0; - if (find (decoder, testLongKey, longResult) ) - { - if (longResult != testLong) - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: %s = %d expecting %d\n", - testLongKey, - (int)longResult, - (int)testLong - )); - result = 0; - } - } - else - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: Can't find value for %s\n", testLongKey - )); - result = 0; - } - - const char * stringResult = ""; - if (find (decoder, testStringKey, stringResult)) - { - if (0 != ACE_OS::strcmp (testString, stringResult)) - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: %s = \"%s\" expecting \"%s\"\n", - testStringKey, - (int)stringResult, - (int)testString - )); - result = 0; - } - } - else - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: Can't find value for %s\n", testStringKey - )); - result = 0; - } - - - CORBA::Double doubleResult = 0.0; - if (find (decoder, testDoubleKey, doubleResult)) - { - if (doubleResult != testDouble) - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: %s = \"%f\" expecting \"%f\"\n", - testDoubleKey, - doubleResult, - testDouble - )); - result = 0; - } - } - else - { - ACE_ERROR ( (LM_ERROR, - "%n\n%T: Can't find value for %s\n", testDoubleKey - )); - result = 0; - } - - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // PG_PS_UNIT_TEST diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h deleted file mode 100644 index 44aae869da7..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h +++ /dev/null @@ -1,200 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Property_Set.h - * - * $Id$ - * - * This file declares classes to help manage the Properties - * defined in the Portable Object Group. - * - * Note: this started as a simple helper class to make decoding sets of properties - * easier, but expanded to provide more general support for managing sets of properties. - * - * A more appropriate name would be PG_Properties_Set. Maybe this can be changed someday. - * - * @author Dale Wilson - */ -//============================================================================= -#ifndef TAO_PG_PROPERTY_SET -#define TAO_PG_PROPERTY_SET -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupS.h" -#include "orbsvcs/CosNamingC.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/SString.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - - /** - * The PG_Property_Set captures the set of properties from a - * PortableGroup::Properties structure in a more usable format (a - * hash map), and provides methods for operating on these properties. - * - * It supports "chains" of property sets to implement default value semantics. - * If a requested property is not found in this set, the default set(s) are searched. - * Thus, any property found at this level overrides the defaults. - * - * See: PG_Properties_Support for more details on use of this object. - * - * A PG_Property_Set may also be used for it's original purpose as a stand-alone - * helper class for extracting values from PortableGroup::Properties. - */ - - class TAO_PortableGroup_Export PG_Property_Set - { - typedef ACE_Hash_Map_Manager< - ACE_CString, - const PortableGroup::Value *, - ACE_SYNCH_NULL_MUTEX> ValueMap; - typedef ACE_Hash_Map_Iterator< - ACE_CString, - const PortableGroup::Value *, - ACE_SYNCH_NULL_MUTEX> ValueMapIterator; - - public: - - /** - * constructor: empty set with no defaults. - */ - PG_Property_Set (void); - - /** - * constructor - * @param property_set the properties to be decoded - */ - PG_Property_Set (const PortableGroup::Properties & property_set - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * constructor with defaults - * @param property_set the properties to be decoded - * @param defaults a propert set decoder that supplies default values. - */ - PG_Property_Set (const PortableGroup::Properties & property_set, - PG_Property_Set * defaults - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * constructor with defaults, but no properties (yet) - * (note this is not a copy constructor) - * @param defaults a propert set decoder that supplies default values. - */ - PG_Property_Set (PG_Property_Set * defaults); - - - ~PG_Property_Set (); - - /** - * general purpose find. returns a pointer to an Any - * if templated methods were available: - * template - * int find (const ACE_CString & key, TYPE & value) const; - * instead, see global function below - * @param key the (simple) name of the property - * @param pValue an out parameter to receive a pointer to the Any containing the value - * @returns boolean true if found - */ - int find (const ACE_CString & key, const PortableGroup::Value *& pValue)const; - - - /** - * Decode additional properties - * Duplicate values replace previous values. - * @param property_set the properties to be decoded - */ - void decode (const PortableGroup::Properties & property_set ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Clear properties - * Does not clear default properties. - */ - void clear (); - - void remove (const PortableGroup::Properties & property_set) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * set or replace a single property - */ - void set_property ( - const char * name, - const PortableGroup::Value & value - ACE_ENV_ARG_DECL); - - - /** - * Export the properties to a PortableGroup::Properties - * - * This method is intended to be used to implement the PropertyManager::get_*_properties - * methods. If you want to access the properties for any purpose other than exporting - * them across a CORBA interface, it is much more efficient to use the find interface. - * - */ - void export_properties(PortableGroup::Properties & property_set) const; - - ///////////////////////// - // Implementation Methods - private: - /** - * populate a ValueMap with the properties known to this decoder - * including but overriding default values - */ - void merge_properties (ValueMap & merged_values) const; - - //////////////////// - // Forbidden methods - private: - PG_Property_Set(const PG_Property_Set & rhs); - PG_Property_Set & operator = (const PG_Property_Set & rhs); - - /////////////// - // Data Members - private: - - /** - * Protect internal state. - */ - mutable TAO_SYNCH_MUTEX internals_; - - ValueMap values_; - /** - * a parent to another property decoder that provides default values - * these can be chained indefinitely. - * @todo reference counted pointers would be a good idea here. - */ - PG_Property_Set * defaults_; - }; - - -#ifdef PG_PS_UNIT_TEST - - /** - * unit test: encode and decode properties. - * Initialize CORBA before calling this function. - * Success is silent, failure prints on cerr. - * @returns 1 if test passed; 0 if test failed. - */ - int test_encode_decode(); -#endif // PG_PS_UNIT_TEST -} //namespace TAO - -TAO_END_VERSIONED_NAMESPACE_DECL - -//////////////////////////////////// -// include templated helper function -#include "orbsvcs/PortableGroup/PG_Property_Set_Find.h" - -#include /**/ "ace/post.h" - -#endif // TAO_PG_PROPERTY_SET diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h deleted file mode 100644 index 6f68524d8ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h +++ /dev/null @@ -1,55 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Property_Set_Find.h - * - * $Id$ - * - * This is a companion function for the properties docoder - * to work around compilers that don't support templated methods. - * - * @author Dale Wilson - */ -//============================================================================= -#ifndef TAO_PG_PROPERTY_SET_FIND_H -#define TAO_PG_PROPERTY_SET_FIND_H -#include /**/ "ace/pre.h" -#include - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#include "ace/Hash_Map_Manager.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /** - * Find a value in a TAO::PG_Property_Set. - * This is a work-around for the lack of - * templated methods. - */ - template - int find (const PG_Property_Set & decoder, const ACE_CString & key, TYPE & value) - { - int result = 0; - PortableGroup::Value const * any; - if ( decoder.find (key, any)) - { - result = ((*any) >>= value); - } - return result; - } - -} //namespace TAO - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif // TAO_PG_PROPERTY_SET_FIND_H diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp deleted file mode 100644 index 897facce517..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_Property_Utils.h" -#include "orbsvcs/PortableGroup/PG_Operators.h" - -ACE_RCSID (PortableGroup, - PG_Property_Utils, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Boolean -TAO_PG::get_property_value (const PortableGroup::Name & property_name, - const PortableGroup::Properties & properties, - PortableGroup::Value & property_value) -{ - const CORBA::ULong len = properties.length (); - for (CORBA::ULong i = 0; i < len; ++i) - { - const PortableGroup::Property & property = properties[i]; - if (property.nam == property_name) - { - property_value = property.val; - return 1; - } - } - - return 0; -} - -void -TAO_PG::override_properties ( - const PortableGroup::Properties & overrides, - PortableGroup::Properties &properties) -{ - const CORBA::ULong num_overrides = overrides.length (); - if (num_overrides == 0) - return; - - const CORBA::ULong old_length = properties.length (); - - const CORBA::ULong new_length = - (num_overrides > old_length ? num_overrides : old_length); - - // Increase the length wholesale as much as possible. The idea is - // to keep the cost of the incremental growth that may occur below - // to a minimum. - properties.length (new_length); - - // @@ Slow O(n^2) operation. Note that it may be slower than O(n^2) - // if the length of the property sequence must be increased - // on-the-fly due to the allocations and copies incurred by such - // an operation. - for (CORBA::ULong i = 0; i < num_overrides; ++i) - { - const PortableGroup::Property &override = overrides[i]; - - CORBA::ULong j = 0; - for ( ; j < old_length; ++j) - if (properties[j].nam == override.nam) - { - properties[j].val = override.val; - break; - } - - // No property to override. Append the override. - if (j == old_length) - { - // @@ Slow incremental growth! In order to set the length - // only once, i.e. a priori, instead of multiple times a - // searches in the override list and the property list - // must be performed to determine how many additional - // properties from the override list must be appended to - // the properties list. Depending on the size of each - // list, such an operation may be just as slow as this - // operation. - const CORBA::ULong current_length = properties.length (); - properties.length (current_length + 1); - properties[current_length] = override; - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h deleted file mode 100644 index 8e8395f2bc6..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h +++ /dev/null @@ -1,57 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Property_Utils.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_PROPERTY_UTILS_H -#define TAO_PG_PROPERTY_UTILS_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroupC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO_PG -{ - /// Retrieve the value of the given property from the given property - /// list. - /** - * @return true if successful, false otherwise - */ - TAO_PortableGroup_Export CORBA::Boolean get_property_value ( - const PortableGroup::Name & property_name, - const PortableGroup::Properties & properties, - PortableGroup::Value & property_value); - - /// Override properties in the "properties" sequence with those in - /// the "overrides" sequence. - /** - * If no property is overridden, the override in question will be - * appended to the "properties" list. - */ - TAO_PortableGroup_Export void override_properties ( - const PortableGroup::Properties & overrides, - PortableGroup::Properties &properties); - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PG_PROPERTY_UTILS_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp deleted file mode 100644 index 4b3504795e2..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/GOA.h" -#include "orbsvcs/PortableGroup/PG_Servant_Dispatcher.h" - -ACE_RCSID(PortableGroup, - PG_Servant_Dispatcher, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PG_Servant_Dispatcher::~TAO_PG_Servant_Dispatcher (void) -{ -} - -TAO_Root_POA * -TAO_PG_Servant_Dispatcher::create_Root_POA (const ACE_CString &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter - ACE_ENV_ARG_DECL) -{ - TAO_Root_POA *poa = 0; - - ACE_NEW_THROW_EX (poa, - TAO_GOA (name, - poa_manager, - policies, - 0, - lock, - thread_lock, - orb_core, - object_adapter - ACE_ENV_ARG_PARAMETER), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - return poa; -} - -void -TAO_PG_Servant_Dispatcher::pre_invoke_remote_request ( - TAO_Root_POA &, - CORBA::Short, - TAO_ServerRequest &, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_PG_Servant_Dispatcher::pre_invoke_collocated_request ( - TAO_Root_POA &, - CORBA::Short, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State & - ACE_ENV_ARG_DECL_NOT_USED) -{ -} - -void -TAO_PG_Servant_Dispatcher::post_invoke ( - TAO_Root_POA &, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h deleted file mode 100644 index a5718c240cc..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Servant_Dispatcher.h - * - * $Id$ - * - * @author Johnny Willemsen - */ -//============================================================================= - -#ifndef TAO_PG_SERVANT_DISPATCHER_H -#define TAO_PG_SERVANT_DISPATCHER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "tao/PortableServer/Servant_Dispatcher.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PG_Servant_Dispatcher - * - * @brief Concrete instantiation of the Servant_Dispatcher strategy. - * - * This class just calls _dispatch on the servant_upcall. No extra - * processing is done or needed. - * - */ -class TAO_PortableGroup_Export TAO_PG_Servant_Dispatcher - : public TAO_Servant_Dispatcher -{ -public: - virtual ~TAO_PG_Servant_Dispatcher (void); - - /// Pre_invoke remote request. - void pre_invoke_remote_request (TAO_Root_POA &poa, - CORBA::Short servant_priority, - TAO_ServerRequest &req, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state - ACE_ENV_ARG_DECL); - - /// Pre_invoke collocated request. - void pre_invoke_collocated_request (TAO_Root_POA &poa, - CORBA::Short servant_priority, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state - ACE_ENV_ARG_DECL); - - /// Post_invoke request. - void post_invoke (TAO_Root_POA &poa, - TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state); - - /// Factory method for creating new POA's. - TAO_Root_POA *create_Root_POA (const ACE_CString &name, - PortableServer::POAManager_ptr poa_manager, - const TAO_POA_Policy_Set &policies, - ACE_Lock &lock, - TAO_SYNCH_MUTEX &thread_lock, - TAO_ORB_Core &orb_core, - TAO_Object_Adapter *object_adapter - ACE_ENV_ARG_DECL); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_PG_SERVANT_DISPATCHER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp deleted file mode 100644 index a57079ffea8..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp +++ /dev/null @@ -1,176 +0,0 @@ -#include "orbsvcs/PortableGroup/PG_Utils.h" - -#include "tao/MProfile.h" -#include "tao/Profile.h" -#include "tao/Stub.h" -#include "tao/Tagged_Components.h" -#include "tao/CDR.h" - -#include "ace/OS_NS_string.h" - - -ACE_RCSID (PortableGroup, - PG_Utils, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /*static*/ CORBA::Boolean - PG_Utils::set_tagged_component ( - PortableGroup::ObjectGroup *&ior, - PortableGroup::TagGroupTaggedComponent &tg) - { - if (ior->_stubobj () == 0) - return 0; - - // We need to apply the property for every profile in the IOR - TAO_MProfile &tmp_pfiles = - ior->_stubobj ()->base_profiles (); - - // Create the output CDR stream - TAO_OutputCDR cdr; - - IOP::TaggedComponent tagged_components; - tagged_components.tag = IOP::TAG_FT_GROUP; - - // Encode the property in to the tagged_components - CORBA::Boolean retval = - PG_Utils::encode_properties (cdr, - tg); - - if (retval == 0) - return retval; - - // Get the length of the CDR stream - CORBA::ULong length = static_cast (cdr.total_length ()); - - // Set the length - tagged_components.component_data.length (length); - - // Get the pointer to the underlying buffer - CORBA::Octet *buf = - tagged_components.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 (); - } - const IOP::TaggedComponent &tmp_tc = tagged_components; - - // Get the profile count. - CORBA::ULong count = - ior->_stubobj ()->base_profiles ().profile_count (); - - // Go through every profile and set the TaggedComponent field - for (CORBA::ULong p_idx = 0; p_idx < count ; ++p_idx) - { - // Get the tagged components in the profile - TAO_Tagged_Components &tag_comp = - tmp_pfiles.get_profile (p_idx)->tagged_components (); - - // Finally set the in the - // - tag_comp.set_component (tmp_tc); - } - - // Success - return 1; - } - - /*static*/ CORBA::Boolean - PG_Utils::get_tagged_component ( - PortableGroup::ObjectGroup *&ior, - PortableGroup::TagGroupTaggedComponent &tg) - { - if (ior->_stubobj () == 0) - return 0; - - TAO_MProfile &mprofile = - ior->_stubobj ()->base_profiles (); - - // Looking for a tagged component with a TAG_FT_GROUP flag. - IOP::TaggedComponent tc; - tc.tag = IOP::TAG_FT_GROUP; - - CORBA::ULong count = - mprofile.profile_count (); - - for (CORBA::ULong i = 0; - i < count; - i++) - { - - // Get the Tagged Components - const TAO_Tagged_Components &pfile_tagged = - mprofile.get_profile (i)->tagged_components (); - - // Look for the primary - if (pfile_tagged.get_component (tc) == 1) - { - TAO_InputCDR cdr (reinterpret_cast (tc.component_data.get_buffer ()), - tc.component_data.length ()); - - CORBA::Boolean byte_order; - - cdr >> ACE_InputCDR::to_boolean (byte_order); - - if (!cdr.good_bit ()) - return 0; - - cdr.reset_byte_order (static_cast (byte_order)); - - cdr >> tg; - - if (cdr.good_bit ()) - return 1; - } - } - - return 0; - } - - CORBA::Boolean - PG_Utils::encode_properties ( - TAO_OutputCDR &cdr, - PortableGroup::TagGroupTaggedComponent &tg) - { - cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER); - - if (!cdr.good_bit ()) - return 0; - - // the version info - cdr << tg.component_version; - - if (!cdr.good_bit ()) - return 0; - - // the domain id - cdr << tg.group_domain_id.in (); - - if (!cdr.good_bit ()) - return 0; - - // Object group id - cdr << tg.object_group_id; - - if (!cdr.good_bit ()) - return 0; - - // Object group reference version - cdr << tg.object_group_ref_version; - - if (!cdr.good_bit ()) - return 0; - - return cdr.good_bit (); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h deleted file mode 100644 index 5552f38c3a3..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_Utils.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_Utils.h - * - * $Id$ - * - * Utility methods - * - * @author Balachandran Natarajan - */ -//============================================================================= -#ifndef TAO_PORTABLEGROUP_UTILS_H -#define TAO_PORTABLEGROUP_UTILS_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroupC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /** - * @class PG_Utils - * - * @brief Simple utility class - */ - class TAO_PortableGroup_Export PG_Utils - { - public: - - /// Set tagged component for the object group - static CORBA::Boolean set_tagged_component ( - PortableGroup::ObjectGroup *&ior, - PortableGroup::TagGroupTaggedComponent &t); - - /// Get tagged component for the object group - static CORBA::Boolean get_tagged_component ( - PortableGroup::ObjectGroup *&ior, - PortableGroup::TagGroupTaggedComponent &t); - - private: - static CORBA::Boolean encode_properties ( - TAO_OutputCDR &cdr, - PortableGroup::TagGroupTaggedComponent &tg); - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /*TAO_PORTABLEGROUP_UTILS_H*/ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_conf.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PG_conf.h deleted file mode 100644 index 7f993ad8f71..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PG_conf.h +++ /dev/null @@ -1,64 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PG_conf.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_PG_CONF_H -#define TAO_PG_CONF_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#ifndef TAO_PG_MAX_OBJECT_GROUPS // @@ why create arbitrary limits? -/// The maximum number of object groups to be managed by the -/// ObjectGroupManager. This number is also equal to the number of -/// factory sets managed by the GenericFactory. -const size_t TAO_PG_MAX_OBJECT_GROUPS = 1024; -#endif /* TAO_PG_MAX_NUMBER_OF_OBJECT_GROUPS */ - -#ifndef TAO_PG_MAX_LOCATIONS // @@ why create arbitrary limits? -/// The maximum number of locations to be managed by the -/// ObjectGroupManager. -const size_t TAO_PG_MAX_LOCATIONS = 1024; -#endif /* TAO_PG_MAX_LOCATIONS */ - -#ifndef TAO_PG_MEMBERSHIP_STYLE -/// The default object group membership style. -const PortableGroup::MembershipStyleValue TAO_PG_MEMBERSHIP_STYLE = - PortableGroup::MEMB_INF_CTRL; -#endif /* TAO_PG_INITIAL_NUMBER_MEMBERS */ - -#ifndef TAO_PG_INITIAL_NUMBER_MEMBERS -/// The default initial number of object group members. -const PortableGroup::InitialNumberMembersValue TAO_PG_INITIAL_NUMBER_MEMBERS = - 2; -#endif /* TAO_PG_INITIAL_NUMBER_MEMBERS */ - -#ifndef TAO_PG_MINIMUM_NUMBER_MEMBERS -/// The default minimum number of object group members. -const PortableGroup::MinimumNumberMembersValue TAO_PG_MINIMUM_NUMBER_MEMBERS = - TAO_PG_INITIAL_NUMBER_MEMBERS; -#endif /* TAO_PG_MINIMUM_NUMBER_MEMBERS */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PG_CONF_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp deleted file mode 100644 index a22594ca04b..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp +++ /dev/null @@ -1,191 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h" -#include "tao/ORB_Core.h" -#include "tao/Profile.h" -#include "tao/Protocol_Factory.h" -#include "tao/GIOP_Message_State.h" -#include "tao/debug.h" -#include "tao/Endpoint.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/Leader_Follower.h" - -ACE_RCSID (PortableGroup, - PortableGroup_Acceptor_Registry, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PortableGroup_Acceptor_Registry::TAO_PortableGroup_Acceptor_Registry (void) -{ -} - -TAO_PortableGroup_Acceptor_Registry::~TAO_PortableGroup_Acceptor_Registry (void) -{ - // Free the memory for the endpoints. - Entry *entry; - Acceptor_Registry_Iterator iter (this->registry_); - - while (iter.next (entry)) - { - delete entry->endpoint; - delete entry->acceptor; - iter.advance (); - } -} - - -void -TAO_PortableGroup_Acceptor_Registry::open (const TAO_Profile* profile, - TAO_ORB_Core &orb_core - ACE_ENV_ARG_DECL) -{ - Entry *entry; - - if (this->find (profile, entry) == 1) - { - // Found it. Increment the reference count. - ++entry->cnt; - } - else - { - // Not found. Open a new acceptor. - - // Now get the list of available protocol factories. - TAO_ProtocolFactorySetItor end = - orb_core.protocol_factories ()->end (); - - // int found = 0; - // If usable protocol (factory) is found then this will be - // set equal to 1. - - for (TAO_ProtocolFactorySetItor factory = - orb_core.protocol_factories ()->begin (); - factory != end; - ++factory) - { - if ((*factory)->factory ()->tag () == profile->tag ()) - { - this->open_i (profile, - orb_core, - factory - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // found = 1; // A usable protocol was found. - } - else - continue; - } - } -} - -#define MAX_ADDR_LENGTH (32) - -void -TAO_PortableGroup_Acceptor_Registry::open_i (const TAO_Profile* profile, - TAO_ORB_Core &orb_core, - TAO_ProtocolFactorySetItor &factory - ACE_ENV_ARG_DECL) -{ - TAO_Acceptor *acceptor = (*factory)->factory ()->make_acceptor (); - - if (acceptor != 0) - { - // Extract the desired endpoint/protocol version if one - // exists. - const TAO_GIOP_Message_Version &version = profile->version (); - char buffer [MAX_ADDR_LENGTH]; - - // Removed the constness of profile. We're not changing - // anything, but need to call a nonconst function. - TAO_Profile* nc_profile = const_cast (profile); - nc_profile->endpoint ()->addr_to_string (buffer, MAX_ADDR_LENGTH); - - if (acceptor->open (&orb_core, - orb_core.lane_resources ().leader_follower ().reactor(), - version.major, - version.minor, - buffer, - 0) == -1) - { - delete acceptor; - - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("unable to open acceptor ") - ACE_TEXT ("for <%s>%p\n"), - buffer, - "")); - - ACE_THROW (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE, - EINVAL), - CORBA::COMPLETED_NO)); - } - - // Add acceptor to list. - Entry tmp_entry; - tmp_entry.acceptor = acceptor; - tmp_entry.endpoint = nc_profile->endpoint ()->duplicate (); - tmp_entry.cnt = 1; - - if (this->registry_.enqueue_tail (tmp_entry) == -1) - { - delete acceptor; - - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("unable to add acceptor to registry") - ACE_TEXT ("for <%s>%p\n"), - buffer, - "")); - - ACE_THROW (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE, - EINVAL), - CORBA::COMPLETED_NO)); - } - } - else - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("unable to create acceptor ") - )); - - ACE_THROW (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO_ACCEPTOR_REGISTRY_OPEN_LOCATION_CODE, - EINVAL), - CORBA::COMPLETED_NO)); - } -} - -int -TAO_PortableGroup_Acceptor_Registry::find (const TAO_Profile* profile, - Entry *&entry) -{ - Acceptor_Registry_Iterator iter (this->registry_); - - while (iter.next (entry)) - { - // Since the endpoint routine is nonconst, need to - // cast away the constness even though we're not - // changing anything. - TAO_Profile *nc_profile = const_cast (profile); - if (entry->endpoint->is_equivalent (nc_profile->endpoint ())) - return 1; - - iter.advance (); - } - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h deleted file mode 100644 index 1ecc90efa4d..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h +++ /dev/null @@ -1,117 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PortableGroup_Acceptor_Registry.h - * - * $Id$ - * - * Registry for dynamically created acceptors. - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_PORTABLEGROUP_ACCEPTOR_REGISTRY_H -#define TAO_PORTABLEGROUP_ACCEPTOR_REGISTRY_H - -#include /**/ "ace/pre.h" - -#include "ace/Unbounded_Queue.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/CORBA_macros.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#include "tao/Transport_Acceptor.h" -#include "tao/Resource_Factory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Profile; - -namespace CORBA -{ - class Environment; -} - -/** - * @class TAO_PortableGroup_Acceptor_Registry - * - * @brief . - * - * There is one TAO_PortableGroup_Acceptor_Registry per ORB_Core. - */ -class TAO_PortableGroup_Export TAO_PortableGroup_Acceptor_Registry -{ -public: - - /** - * @struct Entry - * - * @brief Value field of the portable group acceptor registry. - */ - struct Entry - { - /// Pointer to the acceptor for this GroupId. - TAO_Acceptor *acceptor; - - /// Cached endpoint that the acceptor is listening on. - TAO_Endpoint *endpoint; - - /// Count of times that this GroupId has been opened. - int cnt; - }; - - - // = Initialization and termination methods. - /// Default constructor. - TAO_PortableGroup_Acceptor_Registry (void); - - /// Default destructor. - ~TAO_PortableGroup_Acceptor_Registry (void); - - /// Open an acceptor based on a tagged profile. - void open (const TAO_Profile* profile, - TAO_ORB_Core &orb_core - ACE_ENV_ARG_DECL); - - /// Close all open acceptors. - int close_all (void); - - typedef ACE_Unbounded_Queue Acceptor_Registry; - typedef ACE_Unbounded_Queue_Iterator Acceptor_Registry_Iterator; - -protected: - - /// Helper function to open a group acceptor. - void open_i (const TAO_Profile* profile, - TAO_ORB_Core &orb_core, - TAO_ProtocolFactorySetItor &factory - ACE_ENV_ARG_DECL); - - /// Find an acceptor by using a profile. - int find (const TAO_Profile* profile, - Entry *&entry); - -private: - - // The acceptor registry should not be copied. - TAO_PortableGroup_Acceptor_Registry ( - const TAO_PortableGroup_Acceptor_Registry&); - void operator= (const TAO_PortableGroup_Acceptor_Registry&); - -private: - /// List of acceptors that are currently open. - Acceptor_Registry registry_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLEGROUP_ACCEPTOR_REGISTRY_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp deleted file mode 100644 index 2878d3db9a6..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/PortableGroup_Loader.h" -#include "orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h" -#include "orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h" -#include "ace/Dynamic_Service.h" -#include "tao/ORB_Core.h" -#include "tao/ORBInitializer_Registry.h" - -ACE_RCSID (PortableGroup, - PortableGroup_Loader, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_PortableGroup_Loader::TAO_PortableGroup_Loader (void) -{ -} - -int -TAO_PortableGroup_Loader::init (int /*argc*/, - char* /*argv*/ []) -{ - ACE_TRACE ("TAO_PortableGroup_Loader::init"); - // Register the ORB initializer. - ACE_TRY_NEW_ENV - { - PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = - PortableInterceptor::ORBInitializer::_nil (); - PortableInterceptor::ORBInitializer_var orb_initializer; - - /// Register the Portablegroup ORBInitializer. - ACE_NEW_THROW_EX (temp_orb_initializer, - TAO_PortableGroup_ORBInitializer (), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_TRY_CHECK; - orb_initializer = temp_orb_initializer; - - PortableInterceptor::register_orb_initializer (orb_initializer.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Unexpected exception caught while initializing the PortableGroup:"); - return 1; - } - ACE_ENDTRY; - - return 0; -} - -int -TAO_PortableGroup_Loader::Initializer (void) -{ - ACE_Service_Config::process_directive (ace_svc_desc_TAO_PortableGroup_Loader); - TAO_PortableGroup_Loader *tmp = - ACE_Dynamic_Service::instance ( - "PortableGroup_Loader"); - - if (tmp != 0) - { - return tmp->init (0, 0); - } - - return -1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_PortableGroup_Loader, - ACE_TEXT ("PortableGroup_Loader"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_PortableGroup_Loader), - ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, - 0) -ACE_FACTORY_DEFINE (TAO_PortableGroup, TAO_PortableGroup_Loader) diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h deleted file mode 100644 index 7dac70972c2..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PortableGroup_Loader.h - * - * $Id$ - * - * Loads and initializes the PortableGroup extensions to TAO. - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_PORTABLEGROUP_LOADER_H -#define TAO_PORTABLEGROUP_LOADER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -#include "ace/Service_Config.h" -#include "ace/Service_Object.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_PortableGroup_Adapter - * - * @brief TAO_PortableGroup_Adapter. - * - * This class acts as a facade for the PortableGroup library to the - * ORB. - */ -class TAO_PortableGroup_Export TAO_PortableGroup_Loader - : public ACE_Service_Object -{ -public: - /// Constructor. - TAO_PortableGroup_Loader (void); - - /// Initialize the PortableGroup loader hooks. - virtual int init (int argc, - char *[]); - - /// Used to force the initialization of the ORB code. - static int Initializer (void); -}; - -static int -TAO_Requires_PortableGroup_Initializer = - TAO_PortableGroup_Loader::Initializer (); - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_PortableGroup_Loader) -ACE_FACTORY_DECLARE (TAO_PortableGroup, TAO_PortableGroup_Loader) - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLEGROUP_LOADER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp deleted file mode 100644 index 870c6b75e59..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h" -#include "orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h" - -#include "tao/Exception.h" -#include "tao/ORB_Core.h" -#include "tao/PI/ORBInitInfo.h" -#include "tao/debug.h" - -ACE_RCSID (PortableGroup, - PortableGroup_ORBInitializer, - "$Id$") - -static const char pg_poa_factory_name[] = "TAO_GOA"; -static const char pg_poa_factory_directive[] = ACE_DYNAMIC_SERVICE_DIRECTIVE( - "TAO_GOA", "TAO_PortableGroup", "_make_TAO_PG_Object_Adapter_Factory", ""); - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO_PortableGroup_ORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Narrow to a TAO_ORBInitInfo object to get access to the - // orb_core() TAO extension. - TAO_ORBInitInfo_var tao_info = TAO_ORBInitInfo::_narrow (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (tao_info.in ())) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "(%P|%t) PortableGroup_ORBInitializer::pre_init:\n" - "(%P|%t) Unable to narrow " - "\"PortableInterceptor::ORBInitInfo_ptr\" to\n" - "(%P|%t) \"TAO_ORBInitInfo_ptr.\"\n")); - - ACE_THROW (CORBA::INTERNAL ()); - } - - // Set a new request dispatcher in the ORB. - PortableGroup_Request_Dispatcher *rd = 0; - ACE_NEW_THROW_EX (rd, - PortableGroup_Request_Dispatcher (), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - tao_info->orb_core ()->request_dispatcher (rd); - - // If the application resolves the root POA, make sure we load the PG POA. - TAO_ORB_Core::set_poa_factory (pg_poa_factory_name, - pg_poa_factory_directive); -} - -void -TAO_PortableGroup_ORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h deleted file mode 100644 index 56f730edd59..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file PortableGroup_ORBInitializer.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - - -#ifndef TAO_PORTABLEGROUP_ORB_INITIALIZER_H -#define TAO_PORTABLEGROUP_ORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// PortableGroup ORB initializer. -class TAO_PortableGroup_Export TAO_PortableGroup_ORBInitializer : - public virtual PortableInterceptor::ORBInitializer, - public virtual TAO_Local_RefCounted_Object -{ -public: - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLEGROUP_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp deleted file mode 100644 index ae3fbe2d941..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Profile.h" -#include "orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h" -#include "orbsvcs/PortableGroup/PortableGroup_Loader.h" - -#include "tao/TAO_Server_Request.h" -#include "tao/ORB_Core.h" - -ACE_RCSID (PortableGroup, - PortableGroup_Request_Dispatcher, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -PortableGroup_Request_Dispatcher::~PortableGroup_Request_Dispatcher (void) -{ -} - -void -PortableGroup_Request_Dispatcher::dispatch (TAO_ORB_Core *orb_core, - TAO_ServerRequest &request, - CORBA::Object_out forward_to - ACE_ENV_ARG_DECL) -{ - // Check if the request contains a tagged profile - if (request.profile ().discriminator () == GIOP::ProfileAddr) - { - // Get the IOP::Tagged profile. - const IOP::TaggedProfile &tagged_profile = - request.profile ().tagged_profile (); - PortableGroup::TagGroupTaggedComponent group; - - // Extract a Group ID from the profile if it exists. - int result = TAO_UIPMC_Profile::extract_group_component (tagged_profile, - group); - if (result == 0) - { - // Got a group. Dispatch based on the group ID - this->group_map_.dispatch (&group, - orb_core, - request, - forward_to - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - return; - } - - // Else, fall through and dispatch based on object key like normal. - } - - // Dispatch based on object key. - orb_core->adapter_registry ()->dispatch (request.object_key (), - request, - forward_to - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h b/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h deleted file mode 100644 index fb6ae13e934..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h +++ /dev/null @@ -1,70 +0,0 @@ -//-*- C++ -*- - -//============================================================================= -/** - * @file PortableGroup_Request_Dispatcher.h - * - * $Id$ - * - * A class that strategizes the request dispatching procedure. - * - * @author Frank Hunleth - */ -//============================================================================= - - -#ifndef TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H -#define TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H - -#include /**/ "ace/pre.h" - -#include "tao/Request_Dispatcher.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" -#include "orbsvcs/PortableGroup/Portable_Group_Map.h" -#include "orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations. -class TAO_PortableGroup_Loader; - -/** - * @class PortableGroup_Request_Dispatcher - * - * @brief A class that strategizes the request dispatching procedure. - * - */ -class TAO_PortableGroup_Export PortableGroup_Request_Dispatcher - : public TAO_Request_Dispatcher -{ - friend class TAO_GOA; - -public: - - /// Destructor. - virtual ~PortableGroup_Request_Dispatcher (void); - - /** - * Dispatch a request. - */ - virtual void dispatch (TAO_ORB_Core *orb_core, - TAO_ServerRequest &request, - CORBA::Object_out forward_to - ACE_ENV_ARG_DECL); - -private: - - /// Hash map containing the GroupId->ObjectKey mappings. - TAO_Portable_Group_Map group_map_; - - /// Registry for all of the group (multicast) acceptors. - TAO_PortableGroup_Acceptor_Registry acceptor_registry_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp deleted file mode 100644 index 73745a4460b..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp +++ /dev/null @@ -1,180 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/Portable_Group_Map.h" -#include "tao/ORB_Core.h" -#include "tao/TAO_Server_Request.h" -#include "tao/CDR.h" - -ACE_RCSID (PortableGroup, - Portable_Group_Map, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Constructor. -TAO_Portable_Group_Map::TAO_Portable_Group_Map () -{ -} - -/// Destructor. -TAO_Portable_Group_Map::~TAO_Portable_Group_Map (void) -{ - for (Iterator i = this->map_.begin (); - i != this->map_.end (); - ++i) - { - // Deallocate the id. - delete (*i).ext_id_; - - // Delete the chain of Map_Entries. - Map_Entry *entry = (*i).int_id_; - while (entry) - { - Map_Entry *next = entry->next; - delete entry; - entry = next; - } - - } - - this->map_.close (); -} - - -void -TAO_Portable_Group_Map::add_groupid_objectkey_pair ( - PortableGroup::TagGroupTaggedComponent *group_id, - const TAO::ObjectKey &key - ACE_ENV_ARG_DECL - ) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, - guard, - this->lock_); - - Map_Entry *new_entry; - - // We take ownership of the group_id memory. Be sure we don't - // forget about it. - PortableGroup::TagGroupTaggedComponent_var safe_group = group_id; - - ACE_NEW_THROW_EX (new_entry, - Map_Entry (), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - // Fill out the entry. - new_entry->key = key; - - // First, check if the GroupId is already in the map. - Map_Entry *entry; - if (this->map_.find (group_id, - entry) == 0) - { - // Add the object key to the list of object keys serviced by this GroupId. - new_entry->next = entry->next; - entry->next = new_entry; - } - else - { - new_entry->next = 0; - - // Add the - int result = - this->map_.bind (group_id, - new_entry); - - if (result != 0) - { - delete new_entry; - ACE_THROW (CORBA::INTERNAL ()); - } - - // Transfer ownership of group_id to the map. - (void) safe_group._retn (); - } -} - -void -TAO_Portable_Group_Map::remove_groupid_objectkey_pair (const PortableGroup::TagGroupTaggedComponent* /*group_id*/, - const TAO::ObjectKey &/*key*/ - ACE_ENV_ARG_DECL_NOT_USED) -{ - -} - - -void -TAO_Portable_Group_Map::dispatch (PortableGroup::TagGroupTaggedComponent* group_id, - TAO_ORB_Core *orb_core, - TAO_ServerRequest &request, - CORBA::Object_out forward_to - ACE_ENV_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, - guard, - this->lock_); - - // Look up the GroupId. - Map_Entry *entry = 0; - if (this->map_.find (group_id, - entry) == 0) - { - - // Save the read pointer in the message block since - // every time we dispatch the request, we need to - // reset it so that the request demarshals correctly. - TAO_InputCDR *tao_in = request.incoming (); - ACE_Message_Block *msgblk = - const_cast (tao_in->start ()); - char *read_ptr = msgblk->rd_ptr (); - - // Iterate through the list of ObjectKeys. - while (entry) - { - orb_core->adapter_registry ()->dispatch (entry->key, - request, - forward_to - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Reset the read pointer in the message block. - msgblk->rd_ptr (read_ptr); - entry = entry->next; - } - } -} - -u_long -TAO_GroupId_Hash::operator () (const PortableGroup::TagGroupTaggedComponent *id) const -{ - u_long hash = - ACE::hash_pjw ((const char *) id->group_domain_id, - ACE_OS::strlen ((const char *) id->group_domain_id)); - - // Truncate the object_group_id in half for the has. - // Divide by one so that the ACE_U_LongLong representation - // will automatically cast down to a u_long - hash += (u_long) (id->object_group_id / 1); - - hash += id->object_group_ref_version; - - return hash; -} - -int -TAO_GroupId_Equal_To::operator () ( - const PortableGroup::TagGroupTaggedComponent *lhs, - const PortableGroup::TagGroupTaggedComponent *rhs) const -{ - return - ACE_OS::strcmp (lhs->group_domain_id, rhs->group_domain_id) == 0 - && lhs->object_group_id == rhs->object_group_id - && lhs->object_group_ref_version == rhs->object_group_ref_version; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h b/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h deleted file mode 100644 index c6c69ae9e11..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h +++ /dev/null @@ -1,139 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Portable_Group_Map.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_PORTABLE_GROUP_MAP_H -#define TAO_PORTABLE_GROUP_MAP_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroupC.h" - -#include "tao/Object_KeyC.h" - -#include "ace/Null_Mutex.h" -#include "ace/Hash_Map_Manager_T.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ServerRequest; - -/** - * @class TAO_GroupId_Hash - * - * @brief Hashing class for Group Ids. - * - * Define the hash() method for Group Ids. - */ -class TAO_PortableGroup_Export TAO_GroupId_Hash -{ -public: - - /// Returns hash value. - u_long operator () (const PortableGroup::TagGroupTaggedComponent *id) const; -}; - -/** - * @class TAO_GroupId_Equal_To - * - * @brief Hashing class for Group Ids. - * - * Define the Equal_To () method for Object Ids. - */ -class TAO_PortableGroup_Export TAO_GroupId_Equal_To -{ -public: - - /// Returns 1 if equal. - int operator () (const PortableGroup::TagGroupTaggedComponent *lhs, - const PortableGroup::TagGroupTaggedComponent *rhs) const; -}; - -/** - * @class TAO_Portable_Group_Map - * - * @brief Map of GroupIds to ObjectKeys. - */ -class TAO_PortableGroup_Export TAO_Portable_Group_Map -{ -public: - - /** - * @struct Map_Entry - * - * @brief Value field of the portable group map. - */ - struct Map_Entry - { - /// The key. - TAO::ObjectKey key; - - /// next ObjectKey in the group. - struct Map_Entry *next; - }; - - /// Constructor. - TAO_Portable_Group_Map (); - - /// Destructor. - ~TAO_Portable_Group_Map (void); - - /// Add a GroupId->ObjectKey mapping to the map. - /// This function takes ownership of the memory pointed to be group_id - void add_groupid_objectkey_pair (PortableGroup::TagGroupTaggedComponent *group_id, - const TAO::ObjectKey &key - ACE_ENV_ARG_DECL); - - - /// Remove a GroupId->ObjectKey mapping from the map. - void remove_groupid_objectkey_pair (const PortableGroup::TagGroupTaggedComponent* group_id, - const TAO::ObjectKey &key - ACE_ENV_ARG_DECL); - - /// Dispatch a request to all of the ObjectIds that belong to - /// the specified group. - void dispatch (PortableGroup::TagGroupTaggedComponent* group_id, - TAO_ORB_Core *orb_core, - TAO_ServerRequest &request, - CORBA::Object_out forward_to - ACE_ENV_ARG_DECL); - - /// Id hash map. - typedef ACE_Hash_Map_Manager_Ex< - PortableGroup::TagGroupTaggedComponent *, - Map_Entry *, - TAO_GroupId_Hash, - TAO_GroupId_Equal_To, - ACE_Null_Mutex> GroupId_Table; - typedef GroupId_Table::iterator Iterator; - -protected: - /// Lock used to synchronize access to map_. - TAO_SYNCH_MUTEX lock_; - - /// Id map. - GroupId_Table map_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -//#if defined (__ACE_INLINE__) -//# include "Portable_Group_Map.i" -//#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_PORTABLE_GROUP_MAP_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/README b/TAO/orbsvcs/orbsvcs/PortableGroup/README deleted file mode 100644 index 7faf4cd6e46..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/README +++ /dev/null @@ -1,43 +0,0 @@ -$Id$ - -This directory contains an implementation of the MIOP specification -for TAO. This currently includes: - - . The UIPMC (Unreliable IP multicast) Pluggable Protocol - . The PortableGroup extensions to the POA - . Request dispatch hooks to TAO to dispatch based on GroupID - -For examples on how to use MIOP, see $TAO_ROOT/orbsvcs/tests/Miop. - -Compilation Note: - -The PortableGroup library requires the CosNaming library due to references -to it in the IDL from the MIOP specification. It is not really used in -actual implementation. - -Implementation Notes: - -The current MIOP implementation is usable, but not complete according -to the final MIOP specification. The following are current limitations: - - 1. MIOP packet reassembly. This limits requests to about 5-6K in length - depending on the platform. Miop packet segmentation is available, - but not completely tested. - - 2. Disassociating a group reference from a servant is not implemented. - If interested in fixing this, be aware of the race conditions if a - servant disassociates during an upcall. The TAO event services all - have code to handle this issue. - - 3. Clients must call _unchecked_narrow to narrow any group references - since a multicast group manager isn't supported yet (and UIPMC does - not support twoway invocations) - - 4. TAO does not have a multicast group manager, so groups must be - assigned by creating a MIOP CORBALOC formatted reference. See - the tests or the MIOP specification for example group references. - - 5. TAO does not have a multicast gateway implementation, so using MIOP - is currently limited to networks that natively support multicast - - diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp deleted file mode 100644 index 1b3377b9f19..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp +++ /dev/null @@ -1,354 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Profile.h" -#include "orbsvcs/PortableGroup/UIPMC_Acceptor.h" - -#include "tao/MProfile.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "tao/Protocols_Hooks.h" -#include "tao/ORB_Constants.h" - -#include "ace/Auto_Ptr.h" -#include "ace/os_include/os_netdb.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/PortableGroup/UIPMC_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (PortableGroup, - UIPMC_Acceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UIPMC_Acceptor::TAO_UIPMC_Acceptor (CORBA::Boolean /*flag*/) - : TAO_Acceptor (IOP::TAG_UIPMC), - addrs_ (0), - hosts_ (0), - endpoint_count_ (0), - version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), - orb_core_ (0), - connection_handler_ (0) -{ -} - -TAO_UIPMC_Acceptor::~TAO_UIPMC_Acceptor (void) -{ - // Make sure we are closed before we start destroying the - // strategies. - this->close (); - - delete [] this->addrs_; - - for (size_t i = 0; i < this->endpoint_count_; ++i) - CORBA::string_free (this->hosts_[i]); - - delete [] this->hosts_; -} - -int -TAO_UIPMC_Acceptor::create_profile (const TAO::ObjectKey &, - TAO_MProfile &, - CORBA::Short) -{ - // The standard mechanism for adding profiles to object references - // for each pluggable protocol doesn't apply to UIPMC profiles, so - // this function just returns success without doing anything. The - // appropiate mechanism for getting UIPMC profiles is to call the - // multicast group manager to get a Group reference. Invocations - // sent to this group reference will be dispatched to the servants - // that belong to that group. - return 0; -} - -int -TAO_UIPMC_Acceptor::is_collocated (const TAO_Endpoint *) -{ - // @@ Not clear how - // to best handle collation. For example, one servant could - // be collocated, but we still need to send the request out on - // the network to see if there are any other servants in the - // group. - return 0; // Not collocated -} - -int -TAO_UIPMC_Acceptor::close (void) -{ - return 0; -} - -int -TAO_UIPMC_Acceptor::open (TAO_ORB_Core *orb_core, - ACE_Reactor *reactor, - int major, - int minor, - const char *address, - const char *options) -{ - this->orb_core_ = orb_core; - - if (this->hosts_ != 0) - { - // The hostname cache has already been set! - // This is bad mojo, i.e. an internal TAO error. - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) ") - ACE_TEXT ("UIPMC_Acceptor::open - ") - ACE_TEXT ("hostname already set\n\n")), - -1); - } - - if (address == 0) - return -1; - - if (major >=0 && minor >= 0) - this->version_.set_version (static_cast (major), - static_cast (minor)); - // Parse options - if (this->parse_options (options) == -1) - return -1; - - ACE_INET_Addr addr; - - const char *port_separator_loc = ACE_OS::strchr (address, ':'); - const char *specified_hostname = 0; - char tmp_host[MAXHOSTNAMELEN + 1]; - - // Both host and port have to be specified. - if (addr.set (address) != 0) - return -1; - - // Extract out just the host part of the address. - size_t len = port_separator_loc - address; - ACE_OS::memcpy (tmp_host, address, len); - tmp_host[len] = '\0'; - - specified_hostname = tmp_host; - - this->endpoint_count_ = 1; // Only one hostname to store - - ACE_NEW_RETURN (this->addrs_, - ACE_INET_Addr[this->endpoint_count_], - -1); - - ACE_NEW_RETURN (this->hosts_, - char *[this->endpoint_count_], - -1); - - this->hosts_[0] = 0; - - if (this->hostname (orb_core, - addr, - this->hosts_[0], - specified_hostname) != 0) - return -1; - - // Copy the addr. The port is (re)set in - // TAO_UIPMC_Acceptor::open_i(). - if (this->addrs_[0].set (addr) != 0) - return -1; - - return this->open_i (addr, - reactor); -} - -int -TAO_UIPMC_Acceptor::open_default (TAO_ORB_Core *, - ACE_Reactor *, - int, - int, - const char *) -{ - // There is no such thing as a default multicast listen - // port. The mechanism for choosing these ports is done - // when creating the group ids. (I.e. not here). - return -1; -} - -int -TAO_UIPMC_Acceptor::open_i (const ACE_INET_Addr& addr, - ACE_Reactor *reactor) -{ - ACE_NEW_RETURN (this->connection_handler_, - TAO_UIPMC_Connection_Handler (this->orb_core_), - -1); - - this->connection_handler_->local_addr (addr); - this->connection_handler_->open_server (); - - int result = - reactor->register_handler (this->connection_handler_, - ACE_Event_Handler::READ_MASK); - if (result == -1) - return result; - - // Connection handler ownership now belongs to the Reactor. - this->connection_handler_->remove_reference (); - - // Set the port for each addr. If there is more than one network - // interface then the endpoint created on each interface will be on - // the same port. This is how a wildcard socket bind() is supposed - // to work. - u_short port = addr.get_port_number (); - for (size_t j = 0; j < this->endpoint_count_; ++j) - this->addrs_[j].set_port_number (port, 1); - - if (TAO_debug_level > 5) - { - for (size_t i = 0; i < this->endpoint_count_; ++i) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\nTAO (%P|%t) UIPMC_Acceptor::open_i - ") - ACE_TEXT ("listening on: <%s:%u>\n"), - this->hosts_[i], - this->addrs_[i].get_port_number ())); - } - } - - return 0; -} - -int -TAO_UIPMC_Acceptor::hostname (TAO_ORB_Core *, - ACE_INET_Addr &addr, - char *&host, - const char *) -{ - // Only have dotted decimal addresses for multicast. - return this->dotted_decimal_address (addr, host); -} - -int -TAO_UIPMC_Acceptor::dotted_decimal_address (ACE_INET_Addr &addr, - char *&host) -{ - const char *tmp = addr.get_host_addr (); - if (tmp == 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n\nTAO (%P|%t) ") - ACE_TEXT ("UIPMC_Acceptor::dotted_decimal_address ") - ACE_TEXT ("- %p\n\n"), - ACE_TEXT ("cannot determine hostname"))); - return -1; - } - - host = CORBA::string_dup (tmp); - return 0; -} - -CORBA::ULong -TAO_UIPMC_Acceptor::endpoint_count (void) -{ - return this->endpoint_count_; -} - -int -TAO_UIPMC_Acceptor::object_key (IOP::TaggedProfile &, - TAO::ObjectKey &) -{ - // No object key to extract. Just return success. - return 1; -} - - -int -TAO_UIPMC_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' - - ACE_CString::size_type begin = 0; - ACE_CString::size_type end = 0; - - for (CORBA::ULong j = 0; j < option_count; ++j) - { - if (j < option_count - 1) - end = options.find (option_delimiter, begin); - else - end = len; - - if (end == begin) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Zero length UIPMC option.\n")), - -1); - else if (end != ACE_CString::npos) - { - ACE_CString opt = options.substring (begin, end); - - ACE_CString::size_type const slot = opt.find ("="); - - if (slot == len - 1 - || slot == ACE_CString::npos) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) UIPMC 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, - ACE_TEXT ("TAO (%P|%t) Zero length UIPMC ") - ACE_TEXT ("option name.\n")), - -1); - - if (name == "priority") - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Invalid UIPMC endpoint format: ") - ACE_TEXT ("endpoint priorities no longer supported. \n"), - value.c_str ()), - -1); - } - else - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Invalid UIPMC option: <%s>\n"), - name.c_str ()), - -1); - - begin = end + 1; - } - else - break; // No other options. - } - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h deleted file mode 100644 index 6c783e885c1..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h +++ /dev/null @@ -1,160 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Acceptor.h - * - * $Id$ - * - * MIOP specific acceptor processing - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_ACCEPTOR_H -#define TAO_UIPMC_ACCEPTOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/UIPMC_Connection_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Transport_Acceptor.h" -#include "tao/Acceptor_Impl.h" -#include "tao/GIOP_Message_State.h" - -#include "ace/Acceptor.h" -#include "ace/SOCK_Acceptor.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO UIPMC_Acceptor concrete call defination - -/** - * @class TAO_UIPMC_Acceptor - * - * @brief TAO_UIPMC_Acceptor - * - * The UIPMC-specific bridge class for the concrete acceptor. - */ -class TAO_PortableGroup_Export TAO_UIPMC_Acceptor : public TAO_Acceptor -{ -public: - /// Constructor. - TAO_UIPMC_Acceptor (CORBA::Boolean flag = 0); - - /// Destructor. - ~TAO_UIPMC_Acceptor (void); - - /// @@ Helper method for the implementation repository, should go - /// away - const ACE_INET_Addr& address (void) const; - - /// Returns the array of endpoints in this acceptor - const ACE_INET_Addr *endpoints (void); - - /** - * The TAO_Acceptor methods, check the documentation in - * 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); - virtual CORBA::ULong endpoint_count (void); - - virtual int object_key (IOP::TaggedProfile &profile, - TAO::ObjectKey &key); - - /** - * Set the host name for the given addr. - * A hostname may be forced by using specified_hostname. This - * is useful if the given address corresponds to more than one - * hostname and the desired one cannot be determined in any - * other way. - */ - int hostname (TAO_ORB_Core *orb_core, - ACE_INET_Addr &addr, - char *&host, - const char *specified_hostname = 0); - - /** - * Set the host name for the given address using the dotted decimal - * format. - */ - int dotted_decimal_address (ACE_INET_Addr &addr, - char *&host); - -protected: - - /** - * Implement the common part of the open*() methods. This method is - * virtual to allow a derived class implementation to be invoked - * instead. - */ - virtual int open_i (const ACE_INET_Addr &addr, - ACE_Reactor *reactor); - - /// Parse protocol specific options. - virtual int parse_options (const char *options); - -protected: - - /// Array of ACE_INET_Addr instances, each one corresponding to a - /// given network interface. - ACE_INET_Addr *addrs_; - - /** - * Cache the information about the endpoints serviced by this - * acceptor. - * There may in fact be multiple hostnames for this endpoint. For - * example, if the IP address is INADDR_ANY (0.0.0.0) then there - * will be possibly a different hostname for each interface. - */ - char **hosts_; - - /// The number of host names cached in the hosts_ array (equivalent - /// to the number of endpoints opened by this Acceptor). - CORBA::ULong endpoint_count_; - - /** - * The GIOP version for this endpoint - * @@ Theoretically this shouldn't be here!! We need to look at a - * way to move this out - */ - TAO_GIOP_Message_Version version_; - - /// ORB Core. - TAO_ORB_Core *orb_core_; - -private: - - TAO_UIPMC_Connection_Handler *connection_handler_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/PortableGroup/UIPMC_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* TAO_UIPMC_ACCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i deleted file mode 100644 index ec296d0f9b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i +++ /dev/null @@ -1,29 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const ACE_INET_Addr& -TAO_UIPMC_Acceptor::address (void) const -{ - ACE_ASSERT (this->addrs_ != 0); - - // @@ This is busted. - // The Implementation Repository will have to start supporting - // IORs with multiple profiles. For now, we just return the - // first addr. - // -Ossama - return this->addrs_[0]; -} - -ACE_INLINE const ACE_INET_Addr * -TAO_UIPMC_Acceptor::endpoints (void) -{ - ACE_ASSERT (this->addrs_ != 0); - - return this->addrs_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp deleted file mode 100644 index df2fbd006c7..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp +++ /dev/null @@ -1,267 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// -// $Id$ - - -#include "orbsvcs/PortableGroup/UIPMC_Connection_Handler.h" -#include "orbsvcs/PortableGroup/UIPMC_Transport.h" -#include "orbsvcs/PortableGroup/UIPMC_Endpoint.h" - -#include "tao/Timeprobe.h" -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "tao/ORB.h" -#include "tao/CDR.h" -#include "tao/Server_Strategy_Factory.h" -#include "tao/Transport_Cache_Manager.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/Base_Transport_Property.h" -#include "tao/Resume_Handle.h" - - -ACE_RCSID(PortableGroup, - UIPMC_Connection_Handler, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UIPMC_Connection_Handler::TAO_UIPMC_Connection_Handler (ACE_Thread_Manager *t) - : TAO_UIPMC_SVC_HANDLER (t, 0 , 0), - TAO_Connection_Handler (0), - udp_socket_ (ACE_sap_any_cast (ACE_INET_Addr &)), - mcast_socket_ (), - using_mcast_ (0) -{ - // This constructor should *never* get called, it is just here to - // make the compiler happy: the default implementation of the - // Creation_Strategy requires a constructor with that signature, we - // don't use that implementation, but some (most?) compilers - // instantiate it anyway. - ACE_ASSERT (0); -} - - -TAO_UIPMC_Connection_Handler::TAO_UIPMC_Connection_Handler (TAO_ORB_Core *orb_core) - : TAO_UIPMC_SVC_HANDLER (orb_core->thr_mgr (), 0, 0), - TAO_Connection_Handler (orb_core), - udp_socket_ (ACE_sap_any_cast (ACE_INET_Addr &)), - mcast_socket_ (), - using_mcast_ (0) -{ - TAO_UIPMC_Transport* specific_transport = 0; - ACE_NEW(specific_transport, - TAO_UIPMC_Transport(this, orb_core, 0)); - - // store this pointer (indirectly increment ref count) - this->transport (specific_transport); -} - - -TAO_UIPMC_Connection_Handler::~TAO_UIPMC_Connection_Handler (void) -{ - if (this->using_mcast_) - { - // Closing a multicast socket automatically unsubscribes us from - // the multicast group. - this->mcast_socket_.close (); - } - else - this->udp_socket_.close (); - - delete this->transport (); -} - -ACE_HANDLE -TAO_UIPMC_Connection_Handler::get_handle (void) const -{ - if (this->using_mcast_) - return this->mcast_socket_.get_handle (); - else - return this->udp_socket_.get_handle (); -} - -const ACE_INET_Addr & -TAO_UIPMC_Connection_Handler::addr (void) -{ - return this->addr_; -} - - -void -TAO_UIPMC_Connection_Handler::addr (const ACE_INET_Addr &addr) -{ - this->addr_ = addr; -} - - -const ACE_INET_Addr & -TAO_UIPMC_Connection_Handler::local_addr (void) -{ - return local_addr_; -} - - -void -TAO_UIPMC_Connection_Handler::local_addr (const ACE_INET_Addr &addr) -{ - local_addr_ = addr; -} - - -const ACE_SOCK_Dgram & -TAO_UIPMC_Connection_Handler::dgram (void) -{ - return this->udp_socket_; -} - -const ACE_SOCK_Dgram_Mcast & -TAO_UIPMC_Connection_Handler::mcast_dgram (void) -{ - return this->mcast_socket_; -} - - -int -TAO_UIPMC_Connection_Handler::open_handler (void *v) -{ - return this->open (v); -} - -int -TAO_UIPMC_Connection_Handler::open (void*) -{ - this->udp_socket_.open (this->local_addr_); - - if(TAO_debug_level > 5) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("TAO (%P|%t) TAO_UIPMC_Connection_Handler::open, ") - ACE_TEXT("listening on: <%s:%u>\n"), - this->local_addr_.get_host_addr (), - this->local_addr_.get_port_number ())); - } - - this->using_mcast_ = 0; - - // Set that the transport is now connected, if fails we return -1 - // Use C-style cast b/c otherwise we get warnings on lots of - // compilers - if (!this->transport ()->post_open ((size_t) this->udp_socket_.get_handle ())) - return -1; - - return 0; -} - -int -TAO_UIPMC_Connection_Handler::open_server (void) -{ - this->mcast_socket_.join (this->local_addr_); - if( TAO_debug_level > 5) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("TAO (%P|%t) TAO_UIPMC_Connection_Handler::open_server, ") - ACE_TEXT("subcribed to multicast group at %s:%d\n"), - this->local_addr_.get_host_addr (), - this->local_addr_.get_port_number () - )); - } - - this->transport ()->id ((size_t) this->mcast_socket_.get_handle ()); - this->using_mcast_ = 1; - - return 0; -} - -int -TAO_UIPMC_Connection_Handler::resume_handler (void) -{ - return ACE_Event_Handler::ACE_APPLICATION_RESUMES_HANDLER; -} - -int -TAO_UIPMC_Connection_Handler::close_connection (void) -{ - return this->close_connection_eh (this); -} - -int -TAO_UIPMC_Connection_Handler::handle_input (ACE_HANDLE h) -{ - return this->handle_input_eh (h, this); -} - -int -TAO_UIPMC_Connection_Handler::handle_output (ACE_HANDLE handle) -{ - int result = - this->handle_output_eh (handle, this); - - if (result == -1) - { - this->close_connection (); - return 0; - } - - return result; -} - -int -TAO_UIPMC_Connection_Handler::handle_timeout (const ACE_Time_Value &, - const void *) -{ - // We don't use this upcall for I/O. This is only used by the - // Connector to indicate that the connection timedout. Therefore, - // we should call close(). - return this->close (); -} - -int -TAO_UIPMC_Connection_Handler::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - // No asserts here since the handler is registered with the Reactor - // and the handler ownership is given to the Reactor. When the - // Reactor closes, it will call handle_close() on the handler. It - // is however important to overwrite handle_close() to do nothing - // since the base class does too much. - return 0; -} - -int -TAO_UIPMC_Connection_Handler::close (u_long) -{ - this->state_changed (TAO_LF_Event::LFS_CONNECTION_CLOSED, - this->orb_core ()->leader_follower ()); - this->transport ()->remove_reference (); - return 0; -} - -int -TAO_UIPMC_Connection_Handler::release_os_resources (void) -{ - return this->peer().close (); -} - -int -TAO_UIPMC_Connection_Handler::add_transport_to_cache (void) -{ - ACE_INET_Addr addr; - - // This function is called by the acceptor to add this - // transport to the transport cache. This is really - // important for proper shutdown. The address used - // is irrelevent, since UIPMC is connectionless. - - // Construct a UIPMC_Endpoint object. - TAO_UIPMC_Endpoint endpoint (addr); - - // Construct a property object - TAO_Base_Transport_Property prop (&endpoint); - - // Add the handler to Cache - return this->orb_core ()->lane_resources () - .transport_cache ().cache_transport (&prop, - this->transport ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h deleted file mode 100644 index 51153c2d196..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h +++ /dev/null @@ -1,149 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Connection_Handler.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_CONNECTION_HANDLER_H -#define TAO_UIPMC_CONNECTION_HANDLER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/UIPMC_Transport.h" - -#include "tao/Wait_Strategy.h" -#include "tao/Connection_Handler.h" - -#include "ace/Acceptor.h" -#include "ace/Reactor.h" -#include "ace/SOCK_Dgram_Mcast.h" -#include "ace/SOCK_Dgram.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward Decls -class TAO_Pluggable_Messaging; - -// **************************************************************** - -/** - * @class TAO_UIPMC_Connection_Handler - * - * @brief Handles requests on a single connection. - * - * The Connection handler which is common for the Acceptor and - * the Connector - */ -class TAO_PortableGroup_Export TAO_UIPMC_Connection_Handler : - public TAO_UIPMC_SVC_HANDLER, - public TAO_Connection_Handler -{ - -public: - - TAO_UIPMC_Connection_Handler (ACE_Thread_Manager* t = 0); - - /// Constructor. parameter is used by the Acceptor to pass the - /// protocol configuration properties for this connection. - TAO_UIPMC_Connection_Handler (TAO_ORB_Core *orb_core); - - - /// Destructor. - ~TAO_UIPMC_Connection_Handler (void); - - //@{ - /** @name Connection Handler overloads - */ - virtual int open_handler (void *v); - //@} - - // @@ Frank: Similar to open, but called on server - virtual int open_server (void); - - /// Close called by the Acceptor or Connector when connection - /// establishment fails. - int close (u_long = 0); - - //@{ - /** @name Event Handler overloads - */ - virtual int resume_handler (void); - virtual int close_connection (void); - virtual int handle_input (ACE_HANDLE); - virtual int handle_output (ACE_HANDLE); - virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask); - virtual int handle_timeout (const ACE_Time_Value ¤t_time, - const void *act = 0); - virtual int open (void *); - //@} - - /// Add ourselves to Cache. - int add_transport_to_cache (void); - - // UIPMC Additions - Begin - ACE_HANDLE get_handle (void) const; - - const ACE_INET_Addr &addr (void); - - void addr (const ACE_INET_Addr &addr); - - const ACE_INET_Addr &local_addr (void); - - void local_addr (const ACE_INET_Addr &addr); - - const ACE_INET_Addr &server_addr (void); - - void server_addr (const ACE_INET_Addr &addr); - - const ACE_SOCK_Dgram &dgram (void); - - const ACE_SOCK_Dgram_Mcast &mcast_dgram (void); - // UIPMC Additions - End - -protected: - - // UIPMC Additions - Begin - - /// Client side UDP socket (send only). - ACE_SOCK_Dgram udp_socket_; - - /// Server side Mcast UDP socket (receive only). - ACE_SOCK_Dgram_Mcast mcast_socket_; - - /// Flag that specifies whether multicast is in use or not. - CORBA::Boolean using_mcast_; - - // This is always the remote address - ACE_INET_Addr addr_; - - // This is always the local address for the connector - ACE_INET_Addr local_addr_; - - // UIPMC Additions - End - - //@{ - /** - * @name TAO_Connection Handler overloads - */ - virtual int release_os_resources (void); - //@} - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_UIPMC_CONNECTION_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp deleted file mode 100644 index 30f909e93e4..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp +++ /dev/null @@ -1,215 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Profile.h" -#include "orbsvcs/PortableGroup/UIPMC_Connector.h" - -#include "tao/debug.h" -#include "tao/ORB_Core.h" -#include "tao/Environment.h" -#include "tao/Base_Transport_Property.h" -#include "tao/Protocols_Hooks.h" - -#include "ace/Connector.h" -#include "ace/OS_NS_strings.h" - -ACE_RCSID (PortableGroup, - UIPMC_Connector, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UIPMC_Connector::TAO_UIPMC_Connector (CORBA::Boolean) - : TAO_Connector (IOP::TAG_UIPMC) -{ -} - -TAO_UIPMC_Connector::~TAO_UIPMC_Connector (void) -{ -} - -int -TAO_UIPMC_Connector::open (TAO_ORB_Core *orb_core) -{ - this->orb_core (orb_core); - - // For the sake of uniformity do - if (this->create_connect_strategy () == -1) - return -1; - - // @@ Michael: We do not use traditional connection management. - - return 0; -} - -int -TAO_UIPMC_Connector::close (void) -{ - SvcHandlerIterator iter (svc_handler_table_); - - while (!iter.done ()) - { - (*iter).int_id_->remove_reference (); - iter++; - } - - return 0; -} - -int -TAO_UIPMC_Connector::set_validate_endpoint (TAO_Endpoint *endpoint) -{ - if (endpoint->tag () != IOP::TAG_UIPMC) - return -1; - - TAO_UIPMC_Endpoint *uipmc_endpoint = - dynamic_cast (endpoint ); - - if (uipmc_endpoint == 0) - return -1; - - const ACE_INET_Addr &remote_address = - uipmc_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) UIPMC 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; -} - -TAO_Transport * -TAO_UIPMC_Connector::make_connection (TAO::Profile_Transport_Resolver *, - TAO_Transport_Descriptor_Interface &desc, - ACE_Time_Value *) -{ - TAO_UIPMC_Endpoint *uipmc_endpoint = - dynamic_cast (desc.endpoint ()); - - if (uipmc_endpoint == 0) - return 0; - - const ACE_INET_Addr &remote_address = - uipmc_endpoint->object_addr (); - - TAO_UIPMC_Connection_Handler *svc_handler = 0; - - if (this->svc_handler_table_.find (remote_address, svc_handler) == -1) - { - TAO_UIPMC_Connection_Handler *svc_handler_i = 0; - ACE_NEW_RETURN (svc_handler_i, - TAO_UIPMC_Connection_Handler (this->orb_core ()), - 0); - - svc_handler_i->local_addr (ACE_sap_any_cast (ACE_INET_Addr &)); - svc_handler_i->addr (remote_address); - - svc_handler_i->open (0); - - svc_handler_table_.bind (remote_address, - svc_handler_i); - svc_handler = svc_handler_i; - - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) UIPMC_Connector::make_connection, ") - ACE_TEXT ("new connection on HANDLE %d\n"), - svc_handler->get_handle ())); - } - - // @@ Michael: We do not use traditional connection management. - svc_handler->add_reference (); - - return svc_handler->transport (); -} - - -TAO_Profile * -TAO_UIPMC_Connector::create_profile (TAO_InputCDR& cdr) -{ - TAO_Profile *pfile; - ACE_NEW_RETURN (pfile, - TAO_UIPMC_Profile (this->orb_core ()), - 0); - - int r = pfile->decode (cdr); - if (r == -1) - { - pfile->_decr_refcnt (); - pfile = 0; - } - - return pfile; -} - -TAO_Profile * -TAO_UIPMC_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_UIPMC_Profile (this->orb_core ()), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return profile; -} - -int -TAO_UIPMC_Connector::check_prefix (const char *endpoint) -{ - // Check for a valid string - if (!endpoint || !*endpoint) - return -1; // Failure - - static const char protocol[] = "miop"; - static size_t const len = sizeof (protocol) - 1; - - size_t const slot = ACE_OS::strchr (endpoint, ':') - endpoint; - - // Check for the proper prefix in the IOR. If the proper prefix - // isn't in the IOR then it is not an IOR we can use. - if (slot == len - && ACE_OS::strncasecmp (endpoint, protocol, len) == 0) - return 0; - - return -1; - // Failure: not a MIOP IOR - // DO NOT throw an exception here. -} - -char -TAO_UIPMC_Connector::object_key_delimiter (void) const -{ - return TAO_UIPMC_Profile::object_key_delimiter_; -} - -int -TAO_UIPMC_Connector::cancel_svc_handler ( - TAO_Connection_Handler * /* svc_handler */) -{ - // Noop - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h deleted file mode 100644 index 43357053bd2..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h +++ /dev/null @@ -1,99 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Connector.h - * - * $Id$ - * - * MIOP specific connector processing. - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_CONNECTOR_H -#define TAO_UIPMC_CONNECTOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/UIPMC_Connection_Handler.h" - -#include "tao/Transport_Connector.h" -#include "ace/Null_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// **************************************************************** - -/** - * @class TAO_UIPMC_Connector - * - * @brief UIPMC-specific Connector bridge for pluggable protocols. - * - * Concrete instance of the TAO_Connector class. Responsible - * for establishing a connection with a server and is called from the - * Connector_Registory. - */ -class TAO_PortableGroup_Export TAO_UIPMC_Connector : public TAO_Connector -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_UIPMC_Connector (CORBA::Boolean flag = 0); - - /// Destructor. - ~TAO_UIPMC_Connector (void); - - // = The TAO_Connector methods, please check the documentation on - // Transport_Connector.h - int open (TAO_ORB_Core *orb_core); - int close (void); - TAO_Profile *create_profile (TAO_InputCDR& cdr); - - virtual int check_prefix (const char *endpoint); - - virtual char object_key_delimiter (void) const; - -protected: - /// = More TAO_Connector methods, please check the documentation on - /// Transport_Connector.h - int set_validate_endpoint (TAO_Endpoint *endpoint); - - TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface &desc, - ACE_Time_Value *timeout = 0); - - virtual TAO_Profile * make_profile (ACE_ENV_SINGLE_ARG_DECL); - - /// Cancel the passed cvs handler from the connector - virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler); - -private: - // @@ Michael: UDP Addition - ACE_Hash_Map_Manager_Ex < ACE_INET_Addr, - TAO_UIPMC_Connection_Handler *, - ACE_Hash < ACE_INET_Addr >, - ACE_Equal_To < ACE_INET_Addr >, - ACE_Null_Mutex > - svc_handler_table_; - - typedef ACE_Hash_Map_Iterator_Ex < ACE_INET_Addr, - TAO_UIPMC_Connection_Handler *, - ACE_Hash < ACE_INET_Addr >, - ACE_Equal_To < ACE_INET_Addr >, - ACE_Null_Mutex > - SvcHandlerIterator; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_UIPMC_CONNECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp deleted file mode 100644 index 056cfd741b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Endpoint.h" -#include "orbsvcs/PortableGroup/UIPMC_Profile.h" - -#include "tao/debug.h" -#include "ace/Guard_T.h" -#include "tao/ORB_Constants.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" -#include "ace/OS_Memory.h" - -ACE_RCSID (tao, - UIPMC_Endpoint, - "$Id$") - - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/PortableGroup/UIPMC_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UIPMC_Endpoint::TAO_UIPMC_Endpoint (void) - : TAO_Endpoint (IOP::TAG_UIPMC), - object_addr_ (), - next_ (0) -{ -} - - -TAO_UIPMC_Endpoint::TAO_UIPMC_Endpoint (const ACE_INET_Addr &addr) - : TAO_Endpoint (IOP::TAG_UIPMC), - object_addr_ (addr), - next_ (0) -{ - this->object_addr (addr); -} - -TAO_UIPMC_Endpoint::TAO_UIPMC_Endpoint (const CORBA::Octet class_d_address[4], - CORBA::UShort port) - : TAO_Endpoint (IOP::TAG_UIPMC), - port_ (port), - next_ (0) -{ - for (int i = 0; i<4; i++) - this->class_d_address_[i] = class_d_address[i]; - - this->update_object_addr (); -} - - -TAO_UIPMC_Endpoint::~TAO_UIPMC_Endpoint (void) -{ - -} - -void -TAO_UIPMC_Endpoint::object_addr (const ACE_INET_Addr &addr) -{ - this->port_ = addr.get_port_number(); - this->uint_ip_addr (addr.get_ip_address ()); - - this->object_addr_.set (addr); -} - -const char * -TAO_UIPMC_Endpoint::get_host_addr (void) const -{ - return this->object_addr_.get_host_addr (); -} - - -int -TAO_UIPMC_Endpoint::addr_to_string (char *buffer, size_t length) -{ - size_t actual_len = - 15 // chars in dotted decimal addr - + sizeof (':') // delimiter - + 5 // max port - + sizeof ('\0'); - - if (length < actual_len) - return -1; - - ACE_OS::sprintf (buffer, "%d.%d.%d.%d:%d", - this->class_d_address_[0], - this->class_d_address_[1], - this->class_d_address_[2], - this->class_d_address_[3], - this->port_); - - return 0; -} - -TAO_Endpoint * -TAO_UIPMC_Endpoint::next (void) -{ - return this->next_; -} - -TAO_Endpoint * -TAO_UIPMC_Endpoint::duplicate (void) -{ - TAO_UIPMC_Endpoint *endpoint = 0; - - ACE_NEW_RETURN (endpoint, - TAO_UIPMC_Endpoint (this->object_addr_), - 0); - - return endpoint; -} - -CORBA::Boolean -TAO_UIPMC_Endpoint::is_equivalent (const TAO_Endpoint *other_endpoint) -{ - TAO_Endpoint *endpt = const_cast (other_endpoint); - - TAO_UIPMC_Endpoint *endpoint = dynamic_cast (endpt); - if (endpoint == 0) - return 0; - - return - this->port_ == endpoint->port_ - && ACE_OS::memcmp (this->class_d_address_, endpoint->class_d_address_, 4) == 0; -} - -CORBA::ULong -TAO_UIPMC_Endpoint::hash (void) -{ - if (this->hash_val_ != 0) - return this->hash_val_; - - { - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->addr_lookup_lock_, - this->hash_val_); - // .. DCL - if (this->hash_val_ != 0) - return this->hash_val_; - - this->hash_val_ = - this->uint_ip_addr () + this->port_; - } - - return this->hash_val_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h deleted file mode 100644 index 3c137d6c9ef..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h +++ /dev/null @@ -1,129 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Endpoint.h - * - * $Id$ - * - * UIPMC implementation of PP Framework Endpoint interface. - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_ENDPOINT_H -#define TAO_UIPMC_ENDPOINT_H - -#include /**/ "ace/pre.h" - -#include "tao/Endpoint.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/INET_Addr.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_UIPMC_Endpoint - * - * @brief TAO_UIPMC_Endpoint - * - * UIPMC-specific implementation of PP Framework Endpoint interface. - */ -class TAO_PortableGroup_Export TAO_UIPMC_Endpoint : public TAO_Endpoint -{ -public: - // = Initialization and termination methods. - - /// Default constructor. - TAO_UIPMC_Endpoint (void); - - /// Constructor. - TAO_UIPMC_Endpoint (const ACE_INET_Addr &addr); - - /// Constructor. @@ Frank - deprecate this. - TAO_UIPMC_Endpoint (const CORBA::Octet class_d_address[4], - CORBA::UShort port); - - /// Destructor. - ~TAO_UIPMC_Endpoint (void); - - // = Implementation of abstract TAO_Endpoint methods. See - // Endpoint.h for their documentation. - - virtual TAO_Endpoint *next (void); - virtual int addr_to_string (char *buffer, size_t length); - - /// Makes a copy of - virtual TAO_Endpoint *duplicate (void); - - /// Return true if this endpoint is equivalent to . Two - /// endpoints are equivalent iff their port and host are the same. - CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint); - - /// Return a hash value for this object. - CORBA::ULong hash (void); - - // Allocates memory and returns a copy of - - // = UIPMC_Endpoint-specific methods. - - /// Return a reference to the . - const ACE_INET_Addr &object_addr (void) const; - - /// Set the IP multicast address and port. - void object_addr (const ACE_INET_Addr &addr); - - /// Return a pointer to the stringified host address (not including the - /// port). This class retains ownership of the address memory. - const char *get_host_addr (void) const; - - /// Return the port number. - CORBA::UShort port (void) const; - - /// Set the port number. - CORBA::UShort port (CORBA::UShort p); //@@ Frank - deprecate this. - - //TAO_UIPMC_Connection_Handler *&hint (void); - // Access to our . - - -private: - - /// Helper methods for getting and setting the IP address. - ACE_UINT32 uint_ip_addr (void) const; - void uint_ip_addr (ACE_UINT32 ip_addr); - - /// Helper method to update the cached object address. - void update_object_addr (void); - - /// IP Multicast address. @@ Frank - deprecate this. - CORBA::Octet class_d_address_[4]; - - /// UDP port number. @@ Frank - deprecate this. - CORBA::UShort port_; - - /// Cached instance of for use in making - /// invocations, etc. - ACE_INET_Addr object_addr_; - - /// UIPMC Endpoints can be stringed into a list. Return the next - /// endpoint in the list, if any. - TAO_UIPMC_Endpoint *next_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/PortableGroup/UIPMC_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_UIPMC_PROFILE_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i deleted file mode 100644 index 7d91cc4d459..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i +++ /dev/null @@ -1,52 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const ACE_INET_Addr & -TAO_UIPMC_Endpoint::object_addr (void) const -{ - return this->object_addr_; -} - - -ACE_INLINE CORBA::UShort -TAO_UIPMC_Endpoint::port (void) const -{ - return this->port_; -} - -ACE_INLINE CORBA::UShort -TAO_UIPMC_Endpoint::port (CORBA::UShort p) -{ - return this->port_ = p; -} - - -ACE_INLINE ACE_UINT32 -TAO_UIPMC_Endpoint::uint_ip_addr (void) const -{ - return (((ACE_UINT32)this->class_d_address_[0] << 24) | - ((ACE_UINT32)this->class_d_address_[1] << 16) | - ((ACE_UINT32)this->class_d_address_[2] << 8) | - ((ACE_UINT32)this->class_d_address_[3])); -} - -ACE_INLINE void -TAO_UIPMC_Endpoint::uint_ip_addr (ACE_UINT32 ip_addr) -{ - this->class_d_address_[0] = (CORBA::Char)(ip_addr >> 24); - this->class_d_address_[1] = (CORBA::Char)((ip_addr >> 16) & 0xff); - this->class_d_address_[2] = (CORBA::Char)((ip_addr >> 8) & 0xff); - this->class_d_address_[3] = (CORBA::Char)(ip_addr & 0xff); -} - -ACE_INLINE void -TAO_UIPMC_Endpoint::update_object_addr (void) -{ - this->object_addr_.set (this->port_, - this->uint_ip_addr ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp deleted file mode 100644 index 3a16a9f9793..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Factory.h" -#include "orbsvcs/PortableGroup/UIPMC_Acceptor.h" -#include "orbsvcs/PortableGroup/UIPMC_Connector.h" -#include "ace/OS_NS_strings.h" -#include "tao/ORB_Constants.h" - -ACE_RCSID (PortableGroup, - UIPMC_Factory, - "$Id$") - -static const char the_prefix[] = "uipmc"; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UIPMC_Protocol_Factory::TAO_UIPMC_Protocol_Factory (void) - : TAO_Protocol_Factory (IOP::TAG_UIPMC), - major_ (TAO_DEF_GIOP_MAJOR), - minor_ (TAO_DEF_GIOP_MINOR) -{ -} - -TAO_UIPMC_Protocol_Factory::~TAO_UIPMC_Protocol_Factory (void) -{ -} - -int -TAO_UIPMC_Protocol_Factory::match_prefix (const ACE_CString &prefix) -{ - // Check for the proper prefix for this protocol. - return (ACE_OS::strcasecmp (prefix.c_str (), ::the_prefix) == 0); -} - -const char * -TAO_UIPMC_Protocol_Factory::prefix (void) const -{ - return ::the_prefix; -} - -char -TAO_UIPMC_Protocol_Factory::options_delimiter (void) const -{ - return '/'; -} - -TAO_Acceptor * -TAO_UIPMC_Protocol_Factory::make_acceptor (void) -{ - TAO_Acceptor *acceptor = 0; - - ACE_NEW_RETURN (acceptor, - TAO_UIPMC_Acceptor, - 0); - - return acceptor; -} - -int -TAO_UIPMC_Protocol_Factory::init (int /* argc */, - char* /* argv */ []) -{ - return 0; -} - -TAO_Connector * -TAO_UIPMC_Protocol_Factory::make_connector (void) -{ - TAO_Connector *connector = 0; - - ACE_NEW_RETURN (connector, - TAO_UIPMC_Connector, - 0); - return connector; -} - -int -TAO_UIPMC_Protocol_Factory::requires_explicit_endpoint (void) const -{ - // A multicast endpoint can't be picked automatically in the - // pluggable protocol framework. It must be determined from - // the UIPMC profile that has the group reference. This information - // is either specified by the user or generated by the - // multicast group manager or other UIPMC profile generation - // interface. - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DEFINE (TAO_UIPMC_Protocol_Factory, - ACE_TEXT ("UIPMC_Factory"), - ACE_SVC_OBJ_T, - &ACE_SVC_NAME (TAO_UIPMC_Protocol_Factory), - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - 0) - -ACE_FACTORY_DEFINE (TAO_PortableGroup, TAO_UIPMC_Protocol_Factory) diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h deleted file mode 100644 index 8b7ab75adf2..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Factory.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_FACTORY_H -#define TAO_UIPMC_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "tao/Protocol_Factory.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Service_Config.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Acceptor; -class TAO_Connector; - -class TAO_PortableGroup_Export TAO_UIPMC_Protocol_Factory : public TAO_Protocol_Factory -{ -public: - TAO_UIPMC_Protocol_Factory (void); - virtual ~TAO_UIPMC_Protocol_Factory (void); - - // = Service Configurator hooks. - /// Dynamic linking hook - virtual int init (int argc, char* argv[]); - - /// Verify prefix is a match - virtual int match_prefix (const ACE_CString &prefix); - - /// Returns the prefix used by the protocol. - virtual const char *prefix (void) const; - - /// Return the character used to mark where an endpoint ends and - /// where its options begin. - virtual char options_delimiter (void) const; - - // = 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_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -ACE_STATIC_SVC_DECLARE (TAO_UIPMC_Protocol_Factory) -ACE_FACTORY_DECLARE (TAO_PortableGroup, TAO_UIPMC_Protocol_Factory) - -#include /**/ "ace/post.h" - -#endif /* TAO_UIPMC_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp deleted file mode 100644 index 4e3d4173fcf..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -UIPMC_Message_Block_Data_Iterator::UIPMC_Message_Block_Data_Iterator (iovec *iov, int iovcnt) : - iov_ (iov), - iovcnt_ (iovcnt), - iov_ptr_ (0), - iov_index_ (0), - iov_len_left_ (0), - state_ (INTER_BLOCK) -{ -} - -size_t -UIPMC_Message_Block_Data_Iterator::next_block (size_t max_length, - iovec &block) -{ - if (this->state_ == INTER_BLOCK) - { - // Check that there are some iovec buffers left. - if (this->iov_index_ >= this->iovcnt_) - return 0; - - - size_t current_iov_len = - this->iov_[this->iov_index_].iov_len; - - if (current_iov_len <= max_length) - { - // Return the full data portion. - block.iov_len = static_cast (current_iov_len); - block.iov_base = this->iov_[this->iov_index_].iov_base; - - // Go to the next block. - this->iov_index_++; - - return current_iov_len; - } - else - { - // Let the caller use the first part of this - // message block. - block.iov_len = static_cast (max_length); - block.iov_base = this->iov_[this->iov_index_].iov_base; - - // Break up the block. - this->iov_len_left_ = current_iov_len - max_length; - this->iov_ptr_ = - reinterpret_cast (reinterpret_cast (block.iov_base) - + max_length); - this->state_ = INTRA_BLOCK; - - return max_length; - } - } - else - { - // Currently scanning a split block. - if (this->iov_len_left_ <= max_length) - { - // Return everything that's left in the block. - block.iov_len = static_cast (this->iov_len_left_); - block.iov_base = this->iov_ptr_; - - // Go to the next block. - this->iov_index_++; - - // Update the state. - this->state_ = INTER_BLOCK; - - return this->iov_len_left_; - } - else - { - // Split a little more off the block. - block.iov_len = static_cast (this->iov_len_left_); - block.iov_base = this->iov_ptr_; - - this->iov_len_left_ -= max_length; - this->iov_ptr_ += max_length; - return max_length; - } - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h deleted file mode 100644 index 0378e1aac7c..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Message_Block_Data_Iterator.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_MESSAGE_BLOCK_DATA_ITERATOR_H -#define TAO_UIPMC_MESSAGE_BLOCK_DATA_ITERATOR_H -#include /**/ "ace/pre.h" - -#include "ace/os_include/sys/os_uio.h" -#include "ace/os_include/os_stddef.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class UIPMC_Message_Block_Data_Iterator - * - * @brief This is a help class for iterating through ACE_Message_Blocks and to - * segment them into MIOP packets. - */ -class UIPMC_Message_Block_Data_Iterator -{ -public: - /// Constructor - UIPMC_Message_Block_Data_Iterator (iovec *iov, int iovcnt); - - /// Get the next data block that has a size less than or equal - /// to max_length. Return the length of the block returned. - size_t next_block (size_t max_length, - iovec &block); - -private: - enum State - { - INTER_BLOCK, - INTRA_BLOCK - }; - - iovec *iov_; - int iovcnt_; - - // Point internal to a message block, if we have to split one up. - char *iov_ptr_; - int iov_index_; - - // Length used in a split message block. - size_t iov_len_left_; - - // Current message iterator state. - State state_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_UIPMC_MESSAGE_BLOCK_DATA_ITERATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp deleted file mode 100644 index d242aef76a1..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp +++ /dev/null @@ -1,800 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Profile.h" -#include "orbsvcs/PortableGroup/miopconf.h" -#include "tao/CDR.h" -#include "tao/Environment.h" -#include "tao/ORB.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "tao/target_specification.h" -#include "ace/os_include/os_ctype.h" - -#include "orbsvcs/miopC.h" -#include "orbsvcs/PortableGroupC.h" - -ACE_RCSID (PortableGroup, - UIPMC_Profile, - "$Id$") - -static const char the_prefix[] = "uipmc"; - -// UIPMC doesn't support object keys, so send profiles by default in the GIOP 1.2 target -// specification. -static const CORBA::Short default_addressing_mode_ = TAO_Target_Specification::Profile_Addr; - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -const char TAO_UIPMC_Profile::object_key_delimiter_ = '/'; - -char -TAO_UIPMC_Profile::object_key_delimiter (void) const -{ - return TAO_UIPMC_Profile::object_key_delimiter_; -} - - -TAO_UIPMC_Profile::TAO_UIPMC_Profile (TAO_ORB_Core *orb_core) - : TAO_Profile (IOP::TAG_UIPMC, - orb_core, - TAO_GIOP_Message_Version (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR)), - endpoint_ (), - count_ (1), - tagged_profile_ () -{ - addressing_mode_ = default_addressing_mode_; -} - -TAO_UIPMC_Profile::TAO_UIPMC_Profile (const ACE_INET_Addr &addr, - TAO_ORB_Core *orb_core) - : TAO_Profile (IOP::TAG_UIPMC, - orb_core, - TAO_GIOP_Message_Version (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR)), - endpoint_ (addr), - count_ (1), - tagged_profile_ () -{ - addressing_mode_ = default_addressing_mode_; -} - -TAO_UIPMC_Profile::TAO_UIPMC_Profile (const CORBA::Octet class_d_address[4], - CORBA::UShort port, - TAO_ORB_Core *orb_core) - : TAO_Profile (IOP::TAG_UIPMC, - orb_core, - TAO_GIOP_Message_Version (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR)), - endpoint_ (class_d_address, port), - count_ (1), - tagged_profile_ () -{ - addressing_mode_ = default_addressing_mode_; -} - -/* - -TAO_UIPMC_Profile::TAO_UIPMC_Profile (const char *string, - TAO_ORB_Core *orb_core - ACE_ENV_ARG_DECL) - : TAO_Profile (TAO_TAG_UIPMC_PROFILE, - orb_core, - TAO_GIOP_Message_Version (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR)), - endpoint_ (), - count_ (1), - tagged_profile_ () -{ - this->add_group_component (); - this->parse_string (string ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - addressing_mode_ = default_addressing_mode_; -} - -TAO_UIPMC_Profile::TAO_UIPMC_Profile (TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_TAG_UIPMC_PROFILE, - orb_core, - TAO_GIOP_Message_Version (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR)), - endpoint_ (), - count_ (1), - tagged_profile_ () -{ - addressing_mode_ = default_addressing_mode_; -} -*/ - -TAO_UIPMC_Profile::~TAO_UIPMC_Profile (void) -{ -} - -int -TAO_UIPMC_Profile::decode (TAO_InputCDR& cdr) -{ - // The following is a selective reproduction of TAO_Profile::decode - - CORBA::ULong encap_len = cdr.length (); - - // Read and verify major, minor versions, ignoring profiles - // whose versions we don't understand. - if (!(cdr.read_octet (this->version_.major) - && this->version_.major == TAO_DEF_GIOP_MAJOR - && cdr.read_octet (this->version_.minor) - && this->version_.minor <= TAO_DEF_GIOP_MINOR)) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - Profile::decode - v%d.%d\n"), - this->version_.major, - this->version_.minor)); - } - - return -1; - } - - // Transport specific details - if (this->decode_profile (cdr) < 0) - { - return -1; - } - - // UIPMC profiles must have tagged components. - if (this->tagged_components_.decode (cdr) == 0) - { - return -1; - } - - if (cdr.length () != 0 && TAO_debug_level) - { - // If there is extra data in the profile we are supposed to - // ignore it, but print a warning just in case... - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("%d bytes out of %d left after profile data\n"), - cdr.length (), - encap_len)); - } - - // We don't call ::decode_endpoints because it is implemented - // as ACE_NOTSUP_RETURN (-1) for this profile - - return 1; -} - -int -TAO_UIPMC_Profile::decode_endpoints (void) -{ - ACE_NOTSUP_RETURN (-1); -} - -int -TAO_UIPMC_Profile::decode_profile (TAO_InputCDR& cdr) -{ - CORBA::UShort port = 0; - ACE_CString address; - if (!(cdr.read_string (address) - && cdr.read_ushort (port))) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) UIPMC_Profile::decode - ") - ACE_TEXT ("Couldn't unmarshal address and port!\n"))); - return -1; - } - - if (cdr.good_bit ()) - { - // If everything was successful, update the endpoint's address - // and port with the new data. - ACE_INET_Addr addr (port, address.c_str ()); - this->endpoint_.object_addr (addr); - return 1; - } - - return -1; -} - -void -TAO_UIPMC_Profile::parse_string (const char *string - ACE_ENV_ARG_DECL) -{ - this->parse_string_i (string - ACE_ENV_ARG_PARAMETER); -} - -void -TAO_UIPMC_Profile::parse_string_i (const char *string - ACE_ENV_ARG_DECL) -{ - // Remove the "N.n@" version prefix, if it exists, and verify the - // version is one that we accept. - - // Check for MIOP version - if (isdigit (string [0]) && - string[1] == '.' && - isdigit (string [2]) && - string[3] == '@') - { - if (string[0] != '1' || - string[2] != '0') - { - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - string += 4; - // Skip over the "N.n@" - } - - // UIPMC profiles always use GIOP 1.2 - this->version_.set_version (1, 2); - - // - // Parse the group_id. - // - - // Parse the group component version. - if (isdigit (string [0]) && - string[1] == '.' && - isdigit (string [2]) && - string[3] == '-') - { - CORBA::Char major; - CORBA::Char minor; - - major = (char) (string [0] - '0'); - minor = (char) (string [2] - '0'); - - // Verify that a supported version of MIOP is specified. - if (major != TAO_DEF_MIOP_MAJOR || - minor > TAO_DEF_MIOP_MINOR) - { - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - // Skip over "N.n-" - string += 4; - } - else - { - // The group component version is mandatory. - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - // Parse the group_domain_id. - // The Domain ID is terminated with a '-'. - - // Wrap the string in a ACE_CString - ACE_CString ace_str (string, 0, 0); - - // Look for the group domain delimitor. - ACE_CString::size_type pos = ace_str.find ('-'); - - if (pos == ACE_CString::npos) - { - // The group_domain_id is mandatory, so throw an - // exception if it isn't found. - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - // Save the group_domain_id. - ACE_CString group_domain_id = ace_str.substring (0, pos); - - // Parse the group_id. - // The group_id is terminated with a '-' or a '/'. - - // Skip past the last '-'. - ++pos; - ACE_CString::size_type end_pos = ace_str.find ('-',pos); - - CORBA::Boolean parse_group_ref_version_flag = 0; - - if (end_pos != ACE_CString::npos) - { - // String was terminated by a '-', so there's a group - // reference version to be parsed. - parse_group_ref_version_flag = 1; - } - else - { - // Look for a slash as the separator. - end_pos = ace_str.find ('/', pos); - - if (end_pos == ACE_CString::npos) - { - // The Group ID is mandatory, so throw an exception. - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - } - - // Get the domain_id. - ACE_CString str_domain_id = ace_str.substring (pos, end_pos - pos); - - // Convert the domain_id into numerical form. - // @@ group_id is actually 64 bits, but strtoul only can parse 32 bits. - // @@ Need a 64 bit strtoul... - PortableGroup::ObjectGroupId group_id = - ACE_OS::strtoul (str_domain_id.c_str (), 0, 10); - - PortableGroup::ObjectGroupRefVersion ref_version = 0; - if (parse_group_ref_version_flag) - { - // Try to find the group version. It is terminated by a '/'. - pos = end_pos + 1; - end_pos = ace_str.find ('/', pos); - if (end_pos == ACE_CString::npos) - { - // The group version was expected but not found, - // so throw an exception. - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - ACE_CString str_group_ref_ver = ace_str.substring (pos, end_pos - pos); - - ref_version = - ACE_OS::strtoul (str_group_ref_ver.c_str (), 0, 10); - } - - // Parse the group multicast address. - // The multicast address is terminated by a ':'. - pos = end_pos + 1; - end_pos = ace_str.find (':', pos); - - if (end_pos == ACE_CString::npos) - { - // The multicast address is mandatory, so throw an exception, - // since it wasn't found. - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - ACE_CString mcast_addr = ace_str.substring (pos, end_pos - pos); - - // Parse the multicast port number. - - // First check that there's something left in the string. - pos = end_pos + 1; - if (ace_str[pos] == '\0') - { - // The multicast port is mandatory, so throw an exception, - // since it wasn't found. - ACE_THROW (CORBA::INV_OBJREF ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } - - CORBA::UShort mcast_port = - static_cast (ACE_OS::strtoul (ace_str.c_str () + pos, 0, 10)); - - // - // Finally, set all of the fields of the profile. - // - - ACE_INET_Addr addr (mcast_port, mcast_addr.c_str ()); - this->endpoint_.object_addr (addr); - - this->set_group_info (group_domain_id.c_str (), - group_id, - ref_version); - -} - -CORBA::Boolean -TAO_UIPMC_Profile::do_is_equivalent (const TAO_Profile *other_profile) -{ - const TAO_UIPMC_Profile *op = - dynamic_cast (other_profile); - - if (op == 0) - return 0; - - return this->endpoint_.is_equivalent (&op->endpoint_); -} - -CORBA::ULong -TAO_UIPMC_Profile::hash (CORBA::ULong max - ACE_ENV_ARG_DECL_NOT_USED) -{ - // Get the hashvalue for all endpoints. - CORBA::ULong hashval = this->endpoint_.hash (); - - hashval += this->version_.minor; - hashval += this->tag (); - - return hashval % max; -} - -TAO_Endpoint* -TAO_UIPMC_Profile::endpoint (void) -{ - return &this->endpoint_; -} - -int -TAO_UIPMC_Profile::encode_endpoints (void) -{ - return 1; -} - -CORBA::ULong -TAO_UIPMC_Profile::endpoint_count (void) const -{ - return 1; -} - -char * -TAO_UIPMC_Profile::to_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // @@ Frank: Update to pull out GroupID information... - - size_t buflen = (ACE_OS::strlen (::the_prefix) + - 3 /* "loc" */ + - 1 /* colon separator */ + - 2 /* double-slash separator */ + - 1 /* major version */ + - 1 /* decimal point */ + - 1 /* minor version */ + - 1 /* `@' character */ + - 15 /* dotted decimal IPv4 address */ + - 1 /* colon separator */ + - 5 /* port number */); - - char * buf = CORBA::string_alloc (static_cast (buflen)); - - ACE_OS::sprintf (buf, - "corbaloc:%s://1.0@%s:%d", - ::the_prefix, - this->endpoint_.get_host_addr (), - this->endpoint_.port ()); - return buf; -} - -const char * -TAO_UIPMC_Profile::prefix (void) -{ - return ::the_prefix; -} - -IOP::TaggedProfile & -TAO_UIPMC_Profile::create_tagged_profile (void) -{ - // Check whether we have already created the TaggedProfile - if (this->tagged_profile_.profile_data.length () == 0) - { - // As we have not created we will now create the TaggedProfile - this->tagged_profile_.tag = IOP::TAG_UIPMC; - - // Create the encapsulation.... - TAO_OutputCDR encap; - - // Create the profile body - this->create_profile_body (encap); - - CORBA::ULong length = - static_cast (encap.total_length ()); - -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - // Place the message block in to the Sequence of Octets that we - // have - this->tagged_profile_.profile_data.replace (length, - encap.begin ()); -#else - this->tagged_profile_.profile_data.length (length); - CORBA::Octet *buffer = - this->tagged_profile_.profile_data.get_buffer (); - for (const ACE_Message_Block *i = encap.begin (); - i != encap.end (); - i = i->next ()) - { - ACE_OS::memcpy (buffer, i->rd_ptr (), i->length ()); - buffer += i->length (); - } -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - } - - return this->tagged_profile_; -} - -void -TAO_UIPMC_Profile::create_profile_body (TAO_OutputCDR &encap) const -{ - encap.write_octet (TAO_ENCAP_BYTE_ORDER); - - // The GIOP version - // Note: Only GIOP 1.2 and above are supported currently for MIOP. - encap.write_octet (this->version_.major); - encap.write_octet (this->version_.minor); - - // Address. - encap.write_string (this->endpoint_.get_host_addr ()); - - // Port number. - encap.write_ushort (this->endpoint_.port ()); - - // UIPMC is only supported by versions of GIOP that have tagged components, - // so unconditionally encode the components. - this->tagged_components ().encode (encap); -} - -/* -int -TAO_UIPMC_Profile::decode_endpoints (void) -{ - IOP::TaggedComponent tagged_component; - tagged_component.tag = TAO_TAG_ENDPOINTS; - - if (this->tagged_components_.get_component (tagged_component)) - { - const CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - TAO_InputCDR in_cdr (reinterpret_cast (buf), - tagged_component.component_data.length ()); - - // Extract the Byte Order. - CORBA::Boolean byte_order; - if ((in_cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - in_cdr.reset_byte_order (static_cast (byte_order)); - - // Extract endpoints sequence. - TAO_UIPMCEndpointSequence endpoints; - - if ((in_cdr >> endpoints) == 0) - return -1; - - // Get the priority of the first endpoint (head of the list. - // It's other data is extracted as part of the standard profile - // decoding. - this->endpoint_.priority (endpoints[0].priority); - - // Use information extracted from the tagged component to - // populate the profile. Skip the first endpoint, since it is - // always extracted through standard profile body. Also, begin - // from the end of the sequence to preserve endpoint order, - // since method reverses the order of endpoints - // in the list. - for (CORBA::ULong i = endpoints.length () - 1; - i > 0; - --i) - { - TAO_UIPMC_Endpoint *endpoint = 0; - ACE_NEW_RETURN (endpoint, - TAO_UIPMC_Endpoint (endpoints[i].host, - endpoints[i].port, - endpoints[i].priority), - -1); - - this->add_endpoint (endpoint); - } - } - - return 0; -} -*/ - -void -TAO_UIPMC_Profile::set_group_info (const char *domain_id, - PortableGroup::ObjectGroupId group_id, - PortableGroup::ObjectGroupRefVersion ref_version) -{ - // First, record the group information. - this->group_domain_id_.set (domain_id); - this->group_id_ = group_id; - this->ref_version_ = ref_version; - - // Update the cached version of the group component. - this->update_cached_group_component (); -} - -void -TAO_UIPMC_Profile::update_cached_group_component (void) -{ - PortableGroup::TagGroupTaggedComponent group; - - // Encode the data structure. - group.component_version.major = TAO_DEF_MIOP_MAJOR; - group.component_version.minor = TAO_DEF_MIOP_MINOR; - - group.group_domain_id = CORBA::string_dup (this->group_domain_id_.c_str ()); - group.object_group_id = this->group_id_; - group.object_group_ref_version = this->ref_version_; - - TAO_OutputCDR out_cdr; - - // Write the byte order. - out_cdr << ACE_OutputCDR::from_boolean (ACE_CDR_BYTE_ORDER); - - // Write the group information. - if ((out_cdr << group) == 0) - { - ACE_DEBUG ((LM_DEBUG, - "Error marshaling group component!")); - return; - } - - size_t length = out_cdr.total_length (); - - IOP::TaggedComponent tagged_component; - tagged_component.tag = IOP::TAG_GROUP; - tagged_component.component_data.length (static_cast (length)); - CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - for (const ACE_Message_Block *iterator = out_cdr.begin (); - iterator != 0; - iterator = iterator->cont ()) - { - size_t i_length = iterator->length (); - ACE_OS::memcpy (buf, iterator->rd_ptr (), i_length); - - buf += i_length; - } - - // Add component with encoded endpoint data to this profile's - // TaggedComponents. - this->tagged_components_.set_component (tagged_component); -} - -void -TAO_UIPMC_Profile::request_target_specifier ( - TAO_Target_Specification &target_spec, - TAO_Target_Specification::TAO_Target_Address required_type - ACE_ENV_ARG_DECL) -{ - // Fill out the target specifier based on the required type. - switch (required_type) - { - case TAO_Target_Specification::Profile_Addr: - - // Only using a profile as the target specifier is supported - // at this time. Object keys are strictly not supported since - // UIPMC profiles do not have object keys. - target_spec.target_specifier ( - this->create_tagged_profile ()); - break; - - case TAO_Target_Specification::Key_Addr: - case TAO_Target_Specification::Reference_Addr: - default: - // Unsupported or unknown required type. Throw an exception. - ACE_THROW (CORBA::MARSHAL ()); - } -} - -int -TAO_UIPMC_Profile::supports_multicast (void) const -{ - // Yes! We support multicast! - return 1; -} - -void -TAO_UIPMC_Profile::addressing_mode (CORBA::Short addr_mode - ACE_ENV_ARG_DECL) -{ - // ** See race condition note about addressing mode in Profile.h ** - switch (addr_mode) - { - case TAO_Target_Specification::Profile_Addr: - case TAO_Target_Specification::Reference_Addr: - this->addressing_mode_ = addr_mode; - break; - - case TAO_Target_Specification::Key_Addr: - // There is no object key, so it is not supported. - - default: - ACE_THROW (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO)); - } -} - -int -TAO_UIPMC_Profile::extract_group_component (const IOP::TaggedProfile &profile, - PortableGroup::TagGroupTaggedComponent &group) -{ - // Create the decoding stream from the encapsulation in the buffer, -//#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) -// TAO_InputCDR cdr (profile.profile_data.mb ()); -//#else - TAO_InputCDR cdr (reinterpret_cast (profile.profile_data.get_buffer ()), - profile.profile_data.length ()); -//#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */ - - // Extract the Byte Order. - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - cdr.reset_byte_order (static_cast (byte_order)); - - // Read and verify major, minor versions, ignoring UIPMC profiles - // whose versions we don't understand. - CORBA::Octet major; - CORBA::Octet minor = CORBA::Octet(); - - // Read the version. We just read it here. We don't*do any* - // processing. - if (!(cdr.read_octet (major) - && cdr.read_octet (minor))) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) UIPMC_Profile::extract_group_component - v%d.%d\n"), - major, - minor)); - } - return -1; - } - - // Decode the endpoint. - ACE_CString address; - CORBA::UShort port; - - if (!(cdr.read_string (address) - && cdr.read_ushort (port))) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) UIPMC_Profile::extract_group_component - Couldn't unmarshal address and port!\n"))); - return -1; - } - - TAO_Tagged_Components tagged_components; - if (tagged_components.decode (cdr) == 0) - return -1; - - IOP::TaggedComponent tagged_component; - tagged_component.tag = IOP::TAG_GROUP; - - // Try to find it. - if (tagged_components.get_component (tagged_component) == 0) - return -1; - - // Found it. - const CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - TAO_InputCDR in_cdr (reinterpret_cast (buf), - tagged_component.component_data.length ()); - - // Extract the Byte Order. - if ((in_cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - in_cdr.reset_byte_order (static_cast (byte_order)); - - if ((in_cdr >> group) == 0) - return -1; - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h deleted file mode 100644 index a6f8846eeb5..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h +++ /dev/null @@ -1,165 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Profile.h - * - * $Id$ - * - * UIPMC profile specific processing - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_PROFILE_H -#define TAO_UIPMC_PROFILE_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/UIPMC_Endpoint.h" - -#include "orbsvcs/PortableGroupC.h" - -#include "tao/Object_KeyC.h" -#include "tao/target_specification.h" -#include "tao/Profile.h" - -#include "ace/SString.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO UIPMC_Profile concrete Profile definitions -/** - * @class TAO_UIPMC_Profile - * - * @brief This class defines the protocol specific attributes required - * for locating ORBs over a TCP/IP network. - * - * This class defines the UIPMC profile as specified in the CORBA - * specification. - * - * @NOTE: This class inherits the ObjectKey from TAO_Profile which may - * not be needed at all! But lets punt on this for the timebeing. - */ -class TAO_PortableGroup_Export TAO_UIPMC_Profile : public TAO_Profile -{ -public: - /// The object key delimiter that UIPMC uses or expects. - static const char object_key_delimiter_; - virtual char object_key_delimiter (void) const; - - /// Return the char string prefix. - static const char *prefix (void); - - /// Profile constructor, default. Used when the profile contents - /// are not yet known or when it is being decoded from an IOR. - TAO_UIPMC_Profile (TAO_ORB_Core *orb_core); - - /// Profile constructor, same as above except the object_key has - /// already been marshaled. - TAO_UIPMC_Profile (const ACE_INET_Addr &addr, - TAO_ORB_Core *orb_core); - - /// Profile constructor. - TAO_UIPMC_Profile (const CORBA::Octet class_d_address[4], - CORBA::UShort port, - TAO_ORB_Core *orb_core); - - /// Create object using a string ior. - TAO_UIPMC_Profile (const char *string, - TAO_ORB_Core *orb_core - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - - /// Destructor is to be called only through <_decr_refcnt>. - ~TAO_UIPMC_Profile (void); - - /// Template methods. Please see tao/Profile.h for documentation. - - /// N.B. We have to override the TAO_Profile default decode because - /// in UIPMC there is no object key marshalled and we do not implement - /// a useable ::decode_endpoints - virtual int decode (TAO_InputCDR& cdr); - virtual void parse_string (const char *string - ACE_ENV_ARG_DECL); - virtual char * to_string (ACE_ENV_SINGLE_ARG_DECL); - virtual int encode_endpoints (void); - virtual TAO_Endpoint *endpoint (void); - virtual CORBA::ULong endpoint_count (void) const; - virtual CORBA::ULong hash (CORBA::ULong max - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - virtual IOP::TaggedProfile &create_tagged_profile (void); - virtual void request_target_specifier ( - TAO_Target_Specification &target_spec, - TAO_Target_Specification::TAO_Target_Address r - ACE_ENV_ARG_DECL); - virtual int supports_multicast (void) const; - virtual void addressing_mode (CORBA::Short addr_mode - ACE_ENV_ARG_DECL); - static int extract_group_component (const IOP::TaggedProfile &profile, - PortableGroup::TagGroupTaggedComponent &group); - - /// Add the mandatory group component to this profile. - void set_group_info (const char *domain_id, - PortableGroup::ObjectGroupId group_id, - PortableGroup::ObjectGroupRefVersion ref_version); - - -protected: - /// Template methods, please see documentation in tao/Profile.h - virtual int decode_profile (TAO_InputCDR& cdr); - virtual int decode_endpoints (void); - virtual void parse_string_i (const char * - ACE_ENV_ARG_DECL); - virtual void create_profile_body (TAO_OutputCDR &cdr) const; - virtual CORBA::Boolean do_is_equivalent (const TAO_Profile *other_profile); - virtual void update_cached_group_component (void); - -protected: - - /** - * Head of this profile's list of endpoints. This endpoint is not - * dynamically allocated because a profile always contains at least - * one endpoint. - * - * Currently, a profile contains more than one endpoint, i.e., - * list contains more than just the head, only when RTCORBA is enabled. - * However, in the near future, this will be used in nonRT - * mode as well, e.g., to support TAG_ALTERNATE_IIOP_ADDRESS - * feature. - * Addressing info of the default endpoint, i.e., head of the list, - * is transmitted using standard UIPMC ProfileBody components. See - * method documentation above for how the rest of - * the endpoint list is transmitted. - */ - TAO_UIPMC_Endpoint endpoint_; - - /// Number of endpoints in the list headed by . - CORBA::ULong count_; - -private: - - /// Cached version of our tagged profile. - IOP::TaggedProfile tagged_profile_; - - /// Group Domain ID. - ACE_CString group_domain_id_; - - /// Our group ID within the group domain. - PortableGroup::ObjectGroupId group_id_; - - /// The group reference's version. - PortableGroup::ObjectGroupRefVersion ref_version_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_UIPMC_PROFILE_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp deleted file mode 100644 index 32c3b149dcb..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp +++ /dev/null @@ -1,613 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Profile.h" -#include "orbsvcs/PortableGroup/UIPMC_Transport.h" -#include "orbsvcs/PortableGroup/UIPMC_Connection_Handler.h" -#include "orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h" -#include "orbsvcs/PortableGroup/UIPMC_Acceptor.h" -#include "orbsvcs/PortableGroup/UIPMC_Wait_Never.h" - -#include "tao/Acceptor_Registry.h" -#include "tao/operation_details.h" -#include "tao/Timeprobe.h" -#include "tao/CDR.h" -#include "tao/Transport_Mux_Strategy.h" -#include "tao/Wait_Strategy.h" -#include "tao/Stub.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "tao/Resume_Handle.h" -#include "tao/GIOP_Message_Base.h" -#include "tao/GIOP_Message_Lite.h" - -ACE_RCSID (PortableGroup, - UIPMC_Transport, - "$Id$") - - -// Local MIOP Definitions: - -// Note: We currently support packet fragmentation on transmit, but -// do not support reassembly. - -// Limit the number of fragments that we can divide a message -// into. -#define MIOP_MAX_FRAGMENTS (1) -#define MIOP_MAX_HEADER_SIZE (272) // See MIOP Spec. Must be a multiple of 8. -#define MIOP_MAX_DGRAM_SIZE (ACE_MAX_DGRAM_SIZE) - -#define MIOP_MAGIC_OFFSET (0) -#define MIOP_VERSION_OFFSET (4) -#define MIOP_FLAGS_OFFSET (5) -#define MIOP_PACKET_LENGTH_OFFSET (6) -#define MIOP_PACKET_NUMBER_OFFSET (8) -#define MIOP_NUMBER_OF_PACKETS_OFFSET (12) -#define MIOP_ID_LENGTH_OFFSET (16) -#define MIOP_MIN_LENGTH_ID (0) -#define MIOP_MAX_LENGTH_ID (252) -#define MIOP_ID_DEFAULT_LENGTH (12) -#define MIOP_ID_CONTENT_OFFSET (20) -#define MIOP_HEADER_PADDING (0) // The ID field needs to be padded to - // a multiple of 8 bytes. -#define MIOP_HEADER_SIZE (MIOP_ID_CONTENT_OFFSET \ - + MIOP_ID_DEFAULT_LENGTH \ - + MIOP_HEADER_PADDING) -#define MIOP_MIN_HEADER_SIZE (MIOP_ID_CONTENT_OFFSET \ - + MIOP_MIN_LENGTH_ID \ - + (8 - MIOP_MIN_LENGTH_ID) /* padding */) - -static const CORBA::Octet miop_magic[4] = { 0x4d, 0x49, 0x4f, 0x50 }; // 'M', 'I', 'O', 'P' - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -struct MIOP_Packet -{ - iovec iov[ACE_IOV_MAX]; - int iovcnt; - int length; -}; - - -TAO_UIPMC_Transport::TAO_UIPMC_Transport (TAO_UIPMC_Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean /*flag*/) - : TAO_Transport (IOP::TAG_UIPMC, - orb_core) - , connection_handler_ (handler) - , messaging_object_ (0) -{ - // Use the normal GIOP object - ACE_NEW (this->messaging_object_, - TAO_GIOP_Message_Base (orb_core, - this, - MIOP_MAX_DGRAM_SIZE)); - - // Replace the default wait strategy with our own - // since we don't support waiting on anything. - delete this->ws_; - ACE_NEW (this->ws_, - TAO_UIPMC_Wait_Never (this)); -} - -TAO_UIPMC_Transport::~TAO_UIPMC_Transport (void) -{ - delete this->messaging_object_; -} - -ACE_Event_Handler * -TAO_UIPMC_Transport::event_handler_i (void) -{ - return this->connection_handler_; -} - -TAO_Connection_Handler * -TAO_UIPMC_Transport::connection_handler_i (void) -{ - return this->connection_handler_; -} - -TAO_Pluggable_Messaging * -TAO_UIPMC_Transport::messaging_object (void) -{ - return this->messaging_object_; -} - - -void -TAO_UIPMC_Transport::write_unique_id (TAO_OutputCDR &miop_hdr, unsigned long unique) -{ - // We currently construct a unique ID for each MIOP message by - // concatenating the address of the buffer to a counter. We may - // also need to use a MAC address or something more unique to - // fully comply with the MIOP specification. - - static unsigned long counter = 1; // Don't worry about race conditions on counter, - // since buffer addresses can't be the same if - // this is being called simultaneously. - - CORBA::Octet unique_id[MIOP_ID_DEFAULT_LENGTH]; - - unique_id[0] = static_cast (unique & 0xff); - unique_id[1] = static_cast ((unique & 0xff00) >> 8); - unique_id[2] = static_cast ((unique & 0xff0000) >> 16); - unique_id[3] = static_cast ((unique & 0xff000000) >> 24); - - unique_id[4] = static_cast (counter & 0xff); - unique_id[5] = static_cast ((counter & 0xff00) >> 8); - unique_id[6] = static_cast ((counter & 0xff0000) >> 16); - unique_id[7] = static_cast ((counter & 0xff000000) >> 24); - - unique_id[8] = 0; - unique_id[9] = 0; - unique_id[10] = 0; - unique_id[11] = 0; - - miop_hdr.write_ulong (MIOP_ID_DEFAULT_LENGTH); - miop_hdr.write_octet_array (unique_id, MIOP_ID_DEFAULT_LENGTH); -} - -ssize_t -TAO_UIPMC_Transport::send (iovec *iov, int iovcnt, - size_t &bytes_transferred, - const ACE_Time_Value *) -{ - const ACE_INET_Addr &addr = this->connection_handler_->addr (); - bytes_transferred = 0; - - // Calculate the bytes to send. This value is only used for - // error conditions to fake a good return. We do this for - // semantic consistency with DIOP, and since errors aren't - // handled correctly from send_i (our fault). If these - // semantics are not desirable, the error handling problems - // that need to be fixed can be found in - // UIPMC_Connection_Handler::decr_refcount which will need to - // deregister the connection handler from the UIPMC_Connector - // cache. - ssize_t bytes_to_send = 0; - for (int i = 0; i < iovcnt; i++) - bytes_to_send += iov[i].iov_len; - - MIOP_Packet fragments[MIOP_MAX_FRAGMENTS]; - MIOP_Packet *current_fragment; - int num_fragments = 1; - - UIPMC_Message_Block_Data_Iterator mb_iter (iov, iovcnt); - - // Initialize the first fragment - current_fragment = &fragments[0]; - current_fragment->iovcnt = 1; // The MIOP Header - current_fragment->length = MIOP_HEADER_SIZE; - - // Go through all of the message blocks. - while (mb_iter.next_block (MIOP_MAX_DGRAM_SIZE - current_fragment->length, - current_fragment->iov[current_fragment->iovcnt])) - { - // Increment the length and iovcnt. - current_fragment->length += current_fragment->iov[current_fragment->iovcnt].iov_len; - current_fragment->iovcnt++; - - // Check if we've filled up this fragment or if we've run out of - // iov entries. - if (current_fragment->length == MIOP_MAX_DGRAM_SIZE || - current_fragment->iovcnt == ACE_IOV_MAX) - { - // Make a new fragment. - num_fragments++; - - // Check if too many fragments - if (num_fragments > MIOP_MAX_FRAGMENTS) - { - // This is an error as we do not send more. - // Silently drop the message but log an error. - - // Pluggable_Messaging::transport_message only - // cares if it gets -1 or 0 so we can return a - // partial length and it will think all has gone - // well. - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n\nTAO (%P|%t) ") - ACE_TEXT ("UIPMC_Transport::send_i ") - ACE_TEXT ("Message of size %d needs too many MIOP fragments (max is %d).\n") - ACE_TEXT ("You may be able to increase ACE_MAX_DGRAM_SIZE.\n"), - bytes_to_send, - MIOP_MAX_FRAGMENTS)); - } - - // Pretend it is o.k. See note by bytes_to_send calculation. - bytes_transferred = bytes_to_send; - return 1; - } - - // Otherwise, initialize another fragment. - current_fragment++; - current_fragment->iovcnt = 1; // The MIOP Header - current_fragment->length = MIOP_HEADER_SIZE; - } - } - - // Build a generic MIOP Header. - - // Allocate space on the stack for the header (add 8 to account for - // the possibility of adjusting for alignment). - char header_buffer[MIOP_HEADER_SIZE + 8]; - TAO_OutputCDR miop_hdr (header_buffer, MIOP_HEADER_SIZE + 8); - - miop_hdr.write_octet_array (miop_magic, 4); // Magic - miop_hdr.write_octet (0x10); // Version - CORBA::Octet *flags_field = reinterpret_cast (miop_hdr.current ()->wr_ptr ()); - - // Write flags octet: - // Bit Description - // 0 Endian - // 1 Stop message flag (Assigned later) - // 2 - 7 Set to 0 - miop_hdr.write_octet (TAO_ENCAP_BYTE_ORDER); // Flags - - // Packet Length - // NOTE: We can save pointers and write them later without byte swapping since - // in CORBA, the sender chooses the endian. - CORBA::UShort *packet_length = reinterpret_cast (miop_hdr.current ()->wr_ptr ()); - miop_hdr.write_short (0); - - // Packet number - CORBA::ULong *packet_number = reinterpret_cast (miop_hdr.current ()->wr_ptr ()); - miop_hdr.write_ulong (0); - - // Number of packets field - miop_hdr.write_ulong (num_fragments); - - // UniqueId - ptrdiff_t unique_id = reinterpret_cast (iov); - this->write_unique_id (miop_hdr, - static_cast (unique_id)); - - // Send the buffers. - current_fragment = &fragments[0]; - while (num_fragments > 0 && - current_fragment->iovcnt > 1) - { - // Fill in the packet length header field. - *packet_length = static_cast (current_fragment->length); - - // If this is the last fragment, set the stop message flag. - if (num_fragments == 1) - { - *flags_field |= 0x02; - } - - // Setup the MIOP header in the iov list. - current_fragment->iov[0].iov_base = miop_hdr.current ()->rd_ptr (); - current_fragment->iov[0].iov_len = MIOP_HEADER_SIZE; - - // Send the fragment. - Need to check for errors!! - ssize_t rc = this->connection_handler_->dgram ().send (current_fragment->iov, - current_fragment->iovcnt, - addr); - - if (rc <= 0) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n\nTAO (%P|%t) ") - ACE_TEXT ("UIPMC_Transport::send") - ACE_TEXT (" %p\n\n"), - ACE_TEXT ("Error returned from transport:"))); - } - - // Pretend it is o.k. See note by bytes_to_send calculation. - bytes_transferred = bytes_to_send; - return 1; - } - - // Increment the number of bytes transferred, but don't - // count the MIOP header that we added. - bytes_transferred += rc - MIOP_HEADER_SIZE; - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_UIPMC_Transport::send_i: sent %d bytes to %s:%d\n", - rc, - addr.get_host_addr (), - addr.get_port_number ())); - } - - // Go to the next fragment. - (*packet_number)++; - ++current_fragment; - --num_fragments; - } - - // Return total bytes transferred. - return bytes_transferred; -} - - -ssize_t -TAO_UIPMC_Transport::recv (char *buf, - size_t len, - const ACE_Time_Value * /*max_wait_time*/) -{ - ACE_INET_Addr from_addr; - - ssize_t n = this->connection_handler_->mcast_dgram ().recv (buf, - len, - from_addr); - if (TAO_debug_level > 5) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_UIPMC_Transport::recv_i: received %d bytes from %s:%d\n", - n, - from_addr.get_host_addr (), - from_addr.get_port_number ())); - } - - // Make sure that we at least have a MIOP header. - if (n < MIOP_MIN_HEADER_SIZE) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_UIPMC_Transport::recv_i: packet of size %d is too small from %s:%d\n", - n, - from_addr.get_host_addr (), - from_addr.get_port_number ())); - } - return 0; - } - - // Check for MIOP magic bytes. - if (buf[MIOP_MAGIC_OFFSET] != miop_magic [0] || - buf[MIOP_MAGIC_OFFSET + 1] != miop_magic [1] || - buf[MIOP_MAGIC_OFFSET + 2] != miop_magic [2] || - buf[MIOP_MAGIC_OFFSET + 3] != miop_magic [3]) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_UIPMC_Transport::recv_i: UIPMC packet didn't contain magic bytes.\n")); - } - - return 0; - } - - // Retrieve the byte order. - // 0 = Big endian - // 1 = Small endian - CORBA::Octet byte_order = buf[MIOP_FLAGS_OFFSET] & 0x01; - - // Ignore the header version, other flags, packet length and number of packets. - - // Get the length of the ID. - CORBA::ULong id_length; -#if !defined (ACE_DISABLE_SWAP_ON_READ) - if (byte_order == ACE_CDR_BYTE_ORDER) - { - id_length = *reinterpret_cast (&buf[MIOP_ID_LENGTH_OFFSET]); - } - else - { - ACE_CDR::swap_4 (&buf[MIOP_ID_LENGTH_OFFSET], - reinterpret_cast (&id_length)); - } -#else - id_length = *reinterpret_cast (&buf[MIOP_ID_LENGTH_OFFSET]); -#endif /* ACE_DISABLE_SWAP_ON_READ */ - - // Make sure that the length field is legal. - if (id_length > MIOP_MAX_LENGTH_ID || - static_cast (MIOP_ID_CONTENT_OFFSET + id_length) > n) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_UIPMC_Transport::recv_i: Invalid ID length.\n")); - } - - return 0; - } - - // Trim off the header for now. - ssize_t miop_header_size = (MIOP_ID_CONTENT_OFFSET + id_length + 7) & ~0x7; - if (miop_header_size > n) - { - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_UIPMC_Transport::recv_i: MIOP packet not large enough for padding.\n")); - } - - return 0; - } - - n -= miop_header_size; - ACE_OS::memmove (buf, buf + miop_header_size, n); - - return n; -} - -int -TAO_UIPMC_Transport::handle_input (TAO_Resume_Handle &rh, - ACE_Time_Value *max_wait_time, - int /*block*/) -{ - // If there are no messages then we can go ahead to read from the - // handle for further reading.. - - // The buffer on the stack which will be used to hold the input - // messages - char buf [MIOP_MAX_DGRAM_SIZE]; - -#if defined (ACE_INITIALIZE_MEMORY_BEFORE_USE) - (void) ACE_OS::memset (buf, - '\0', - sizeof buf); -#endif /* ACE_INITIALIZE_MEMORY_BEFORE_USE */ - - // Create a data block - ACE_Data_Block db (sizeof (buf), - ACE_Message_Block::MB_DATA, - buf, - this->orb_core_->input_cdr_buffer_allocator (), - this->orb_core_->locking_strategy (), - ACE_Message_Block::DONT_DELETE, - this->orb_core_->input_cdr_dblock_allocator ()); - - // Create a message block - ACE_Message_Block message_block (&db, - ACE_Message_Block::DONT_DELETE, - this->orb_core_->input_cdr_msgblock_allocator ()); - - - // Align the message block - ACE_CDR::mb_align (&message_block); - - - // Read the message into the message block that we have created on - // the stack. - ssize_t n = this->recv (message_block.rd_ptr (), - message_block.space (), - max_wait_time); - - // If there is an error return to the reactor.. - if (n <= 0) - { - if (TAO_debug_level) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO: (%P|%t|%N|%l) recv returned error on transport %d after fault %p\n"), - this->id (), - ACE_TEXT ("handle_input_i ()\n"))); - } - - if (n == -1) - this->tms_->connection_closed (); - - return n; - } - - // Set the write pointer in the stack buffer. - message_block.wr_ptr (n); - - - // Make a node of the message block.. - TAO_Queued_Data qd (&message_block); - size_t mesg_length; - - // Parse the incoming message for validity. The check needs to be - // performed by the messaging objects. - if (this->messaging_object ()->parse_next_message (message_block, - qd, - mesg_length) == -1) - { - if (TAO_debug_level) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO: (%P|%t|%N|%l) handle_input failed on transport %d after fault\n"), - this->id () )); - } - - return -1; - } - - if (message_block.length () > mesg_length) - { - if (TAO_debug_level) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO: (%P|%t|%N|%l) handle_input failed on transport %d after fault\n"), - this->id () )); - } - - return -1; - } - - // NOTE: We are not performing any queueing nor any checking for - // missing data. We are assuming that ALL the data would be got in a - // single read. - - // Process the message - return this->process_parsed_messages (&qd, rh); -} - -int -TAO_UIPMC_Transport::register_handler (void) -{ - // We never register register the handler with the reactor - // as we never need to be informed about any incoming data, - // assuming we only use one-ways. - // If we would register and ICMP Messages would arrive, e.g - // due to a not reachable server, we would get informed - as this - // disturbs the general MIOP assumptions of not being - // interested in any network failures, we ignore ICMP messages. - return 0; -} - -int -TAO_UIPMC_Transport::send_request (TAO_Stub *stub, - TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int message_semantics, - ACE_Time_Value *max_wait_time) -{ - if (this->ws_->sending_request (orb_core, - message_semantics) == -1) - return -1; - - if (this->send_message (stream, - stub, - message_semantics, - max_wait_time) == -1) - - return -1; - - return 0; -} - -int -TAO_UIPMC_Transport::send_message (TAO_OutputCDR &stream, - TAO_Stub *stub, - int message_semantics, - ACE_Time_Value *max_wait_time) -{ - // Format the message in the stream first - if (this->messaging_object_->format_message (stream) != 0) - return -1; - - // Strictly speaking, should not need to loop here because the - // socket never gets set to a nonblocking mode ... some Linux - // versions seem to need it though. Leaving it costs little. - - // This guarantees to send all data (bytes) or return an error. - ssize_t n = this->send_message_shared (stub, - message_semantics, - stream.begin (), - max_wait_time); - - if (n == -1) - { - if (TAO_debug_level) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO: (%P|%t|%N|%l) closing transport %d after fault %p\n"), - this->id (), - ACE_TEXT ("send_message ()\n"))); - - return -1; - } - - return 1; -} - -int -TAO_UIPMC_Transport::messaging_init (CORBA::Octet major, - CORBA::Octet minor) -{ - this->messaging_object_->init (major, - minor); - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h deleted file mode 100644 index 634b85c0b1a..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h +++ /dev/null @@ -1,131 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Transport.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - -#ifndef TAO_UIPMC_TRANSPORT_H -#define TAO_UIPMC_TRANSPORT_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Transport.h" - -#include "ace/SOCK_Stream.h" -#include "ace/Svc_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward decls. -class TAO_UIPMC_Connection_Handler; -class TAO_ORB_Core; -class TAO_Operation_Details; -class TAO_Pluggable_Messaging; -class TAO_Acceptor; - -// Service Handler for this transport -typedef ACE_Svc_Handler - TAO_UIPMC_SVC_HANDLER; - -#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -template class TAO_PortableGroup_Export ACE_Svc_Handler; -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ - -/** - * @class TAO_UIPMC_Transport - * - * @brief Specialization of the base TAO_Transport class to handle the - * MIOP protocol. - */ -class TAO_PortableGroup_Export TAO_UIPMC_Transport : public TAO_Transport -{ -public: - - /// Constructor. - TAO_UIPMC_Transport (TAO_UIPMC_Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean flag); - - /// Default destructor. - ~TAO_UIPMC_Transport (void); - - /// Look for the documentation in Transport.h. - virtual int handle_input (TAO_Resume_Handle &rh, - ACE_Time_Value *max_wait_time = 0, - int block = 0); -protected: - /** @name Overridden Template Methods - * - * These are implementations of template methods declared by TAO_Transport. - */ - //@{ - - virtual ACE_Event_Handler * event_handler_i (void); - virtual TAO_Connection_Handler *connection_handler_i (void); - virtual TAO_Pluggable_Messaging *messaging_object (void); - - /// Write the complete Message_Block chain to the connection. - virtual ssize_t send (iovec *iov, int iovcnt, - size_t &bytes_transferred, - const ACE_Time_Value *max_wait_time); - - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - const ACE_Time_Value *s = 0); - - virtual int register_handler (void); - -public: - /// @@TODO: These methods IMHO should have more meaningful - /// names. The names seem to indicate nothing. - virtual int send_request (TAO_Stub *stub, - TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int message_semantics, - ACE_Time_Value *max_wait_time); - - virtual int send_message (TAO_OutputCDR &stream, - TAO_Stub *stub = 0, - int message_semantics = TAO_Transport::TAO_TWOWAY_REQUEST, - ACE_Time_Value *max_time_wait = 0); - - /// Initialising the messaging object - virtual int messaging_init (CORBA::Octet major, - CORBA::Octet minor); - - //@} - -private: - /// Process the message that we have read. - int process_message (void); - - /// Construct and write a unique ID to the MIOP header. - void write_unique_id (TAO_OutputCDR &miop_hdr, unsigned long unique); - -private: - - /// The connection service handler used for accessing lower layer - /// communication protocols. - TAO_UIPMC_Connection_Handler *connection_handler_; - - /// Our messaging object. - TAO_Pluggable_Messaging *messaging_object_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_UIPMC_TRANSPORT_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp deleted file mode 100644 index 0e1a0f1bc89..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ - -#include "orbsvcs/PortableGroup/UIPMC_Wait_Never.h" -#include "tao/ORB_Core.h" -#include "tao/Transport.h" -#include "tao/debug.h" - -ACE_RCSID(tao, Wait_On_Leader_Follower, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UIPMC_Wait_Never::TAO_UIPMC_Wait_Never (TAO_Transport *transport) - : TAO_Wait_Strategy (transport) -{ -} - -TAO_UIPMC_Wait_Never::~TAO_UIPMC_Wait_Never (void) -{ -} - -int -TAO_UIPMC_Wait_Never::register_handler (void) -{ - return -1; -} - -bool -TAO_UIPMC_Wait_Never::non_blocking (void) const -{ - return true; -} - -bool -TAO_UIPMC_Wait_Never::can_process_upcalls (void) const -{ - return true; -} - -int -TAO_UIPMC_Wait_Never::sending_request (TAO_ORB_Core *, - int) -{ - return 0; -} - -int -TAO_UIPMC_Wait_Never::wait (ACE_Time_Value *, - TAO_Synch_Reply_Dispatcher &) -{ - return -1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h b/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h deleted file mode 100644 index 9f39cd77b91..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h +++ /dev/null @@ -1,58 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file UIPMC_Wait_Never.h - * - * $Id$ - * - * @author Frank Hunleth - */ -//============================================================================= - - -#ifndef TAO_UIPMC_WAIT_NEVER_H -#define TAO_UIPMC_WAIT_NEVER_H -#include /**/ "ace/pre.h" - -#include "tao/Wait_Strategy.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/PortableGroup/portablegroup_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_UIPMC_Wait_Never - * - * @brief Since two-ways are not supported by UIPMC and more - * generally, anything that requires waiting isn't supported, so - * return error if anyone tries to do this. - */ -class TAO_PortableGroup_Export TAO_UIPMC_Wait_Never : public TAO_Wait_Strategy -{ - -public: - /// Constructor. - TAO_UIPMC_Wait_Never (TAO_Transport *transport); - - /// Destructor. - virtual ~TAO_UIPMC_Wait_Never (void); - - // = Documented in TAO_Wait_Strategy. - virtual int sending_request (TAO_ORB_Core *orb_core, - int two_way); - virtual int wait (ACE_Time_Value *max_wait_time, - TAO_Synch_Reply_Dispatcher &rd); - virtual int register_handler (void); - virtual bool non_blocking (void) const; - virtual bool can_process_upcalls (void) const; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_UIPMC_WAIT_NEVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/miopconf.h b/TAO/orbsvcs/orbsvcs/PortableGroup/miopconf.h deleted file mode 100644 index 44db690f7b2..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/miopconf.h +++ /dev/null @@ -1,41 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file miopconf.h - * - * $Id$ - * - * Build configuration file. - * - * @author Copyright 1995 by Sun Microsystems, Inc. - * @author Chris Cleeland - * @author Douglas C. Schmidt - */ -//============================================================================= - -#ifndef TAO_MIOPCONF_H -#define TAO_MIOPCONF_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// This is the version of the MIOP spec that TAO supports. The -// exact usage of the version has not been emphasized. But TAO should -// get a TaggedComponents for a group with this version number. So, for -// the present, we do a sanity check for our version and raise an error on -// a mismatch. - -#if !defined (TAO_DEF_MIOP_MAJOR) -#define TAO_DEF_MIOP_MAJOR 1 -#endif /* TAO_DEF_MIOP_MAJOR */ -#if !defined (TAO_DEF_MIOP_MINOR) -#define TAO_DEF_MIOP_MINOR 0 -#endif /* TAO_DEF_MIOP_MINOR */ - -#include /**/ "ace/post.h" -#endif /*TAO_MIOPCONF_H*/ diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h b/TAO/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h deleted file mode 100644 index 15494956536..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_PORTABLEGROUP_EXPORT_H -#define TAO_PORTABLEGROUP_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_PORTABLEGROUP_HAS_DLL) -# define TAO_PORTABLEGROUP_HAS_DLL 0 -# endif /* ! TAO_PORTABLEGROUP_HAS_DLL */ -#else -# if !defined (TAO_PORTABLEGROUP_HAS_DLL) -# define TAO_PORTABLEGROUP_HAS_DLL 1 -# endif /* ! TAO_PORTABLEGROUP_HAS_DLL */ -#endif - -#if defined (TAO_PORTABLEGROUP_HAS_DLL) && (TAO_PORTABLEGROUP_HAS_DLL == 1) -# if defined (TAO_PORTABLEGROUP_BUILD_DLL) -# define TAO_PortableGroup_Export ACE_Proper_Export_Flag -# define TAO_PORTABLEGROUP_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_PORTABLEGROUP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_PORTABLEGROUP_BUILD_DLL */ -# define TAO_PortableGroup_Export ACE_Proper_Import_Flag -# define TAO_PORTABLEGROUP_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_PORTABLEGROUP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_PORTABLEGROUP_BUILD_DLL */ -#else /* TAO_PORTABLEGROUP_HAS_DLL == 1 */ -# define TAO_PortableGroup_Export -# define TAO_PORTABLEGROUP_SINGLETON_DECLARATION(T) -# define TAO_PORTABLEGROUP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_PORTABLEGROUP_HAS_DLL == 1 */ - -#endif /* TAO_PORTABLEGROUP_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl b/TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl deleted file mode 100644 index 5da9ea78453..00000000000 --- a/TAO/orbsvcs/orbsvcs/PortableGroup_Simple_DS.idl +++ /dev/null @@ -1,41 +0,0 @@ -// -*- IDL -*- - -//============================================================================= -/** - * @file PortableGroup_Simple_DS.idl - * - * $Id$ - * - * The aim of this file is to provide a seperation between the actual - * PortableGroup interface and some of the data structures defined in - * this module. This would be apparent if you look at - * FT_CORBA_ORB.idl. FT_CORBA_ORB.idl can get away by just including - * this file and the generated code from this instead of linking in - * PortableGroup and the likes. - */ -//============================================================================= - -#ifndef _PORTABLEGROUP_SIMPLE_DS_IDL_ -#define _PORTABLEGROUP_SIMPLE_DS_IDL_ - -#include "tao/GIOP.pidl" - -module PortableGroup -{ - typeprefix PortableGroup "omg.org"; - - // Specification for Interoperable Object Group References - typedef string GroupDomainId; - typedef unsigned long long ObjectGroupId; - typedef unsigned long ObjectGroupRefVersion; - - struct TagGroupTaggedComponent - { // tag = TAG_GROUP; - GIOP::Version component_version; - GroupDomainId group_domain_id; - ObjectGroupId object_group_id; - ObjectGroupRefVersion object_group_ref_version; - }; -}; - -#endif /*_PORTABLEGROUP_SIMPLE_DS_IDL_*/ diff --git a/TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp b/TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp deleted file mode 100644 index 817d0726b4b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp +++ /dev/null @@ -1,1888 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CosPropertyService_i.cpp -// -// = AUTHOR -// Alexander Babu Arulanthu -// -// ============================================================================ - -#include "orbsvcs/Property/CosPropertyService_i.h" -#include "ace/ACE.h" -#include "ace/OS_NS_string.h" - -ACE_RCSID(Property, CosPropertyService_i, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// = Methods to deal with ACE_Hash_Map_Manager. - -CosProperty_Hash_Key::CosProperty_Hash_Key (void) -{ -} - -CosProperty_Hash_Key::CosProperty_Hash_Key (const char * &name) - : pname_ (CORBA::string_dup (name)) -{ -} - -CosProperty_Hash_Key::CosProperty_Hash_Key (const CosPropertyService::PropertyName &name) - : pname_ (CORBA::string_dup (name)) -{ -} - -CosProperty_Hash_Key::CosProperty_Hash_Key (const CosProperty_Hash_Key &src) - : pname_ (src.pname_) -{ -} - -bool -CosProperty_Hash_Key::operator == (const CosProperty_Hash_Key &hash_key) const -{ - return (ACE_OS::strcmp (this->pname_, - hash_key.pname_) == 0); -} - -u_long -CosProperty_Hash_Key::hash (void) const -{ - u_long ret = ACE::hash_pjw (this->pname_); - - return ret; -} - -CosProperty_Hash_Key::~CosProperty_Hash_Key (void) -{ -} - -//====================================================================== - -CosProperty_Hash_Value::CosProperty_Hash_Value (void) -{ -} - -CosProperty_Hash_Value::CosProperty_Hash_Value (const CORBA::Any &any, - const CosPropertyService::PropertyModeType &mode) - : pvalue_ (any), - pmode_ (mode) -{ -} - -CosProperty_Hash_Value::CosProperty_Hash_Value (const CosProperty_Hash_Value &src) - : pvalue_ (src.pvalue_), - pmode_ (src.pmode_) -{ -} - -CosProperty_Hash_Value::~CosProperty_Hash_Value (void) -{ -} - -//====================================================================== - -// Constructor. -TAO_PropertySetFactory::TAO_PropertySetFactory (void) -{ -} - -// Destructor. -TAO_PropertySetFactory::~TAO_PropertySetFactory (void) -{ -} - -// Returns a new TAO_PropertySet object. "The property set returned -// will *not* have any initial properties." Keep sequence of things -// new'ed and at the destructor of the factory delete all these New'ed -// things. - -CosPropertyService::PropertySet_ptr -TAO_PropertySetFactory::create_propertyset (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // New a TAO_PropertySet. - TAO_PropertySet *new_set; - ACE_NEW_RETURN (new_set, TAO_PropertySet, 0); - - // Successful, store this in the products sequence and return. - CORBA::ULong cur_len = this->propertyset_products_.length (); - this->propertyset_products_.length (cur_len + 1); - this->propertyset_products_[cur_len] = new_set; - return new_set->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// Allows a client to create a new TAO_PropertySet with specific -// constraints. "All the properties will have *fixed-normal* modes". - -CosPropertyService::PropertySet_ptr -TAO_PropertySetFactory::create_constrained_propertyset (const CosPropertyService::PropertyTypes &allowed_property_types, - const CosPropertyService::Properties &allowed_properties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::ConstraintNotSupported)) -{ - TAO_PropertySet *new_set = 0; - CosPropertyService::PropertySet_ptr propset_ptr = 0; - - ACE_TRY - { - // New a TAO_PropertySet using these constraints. - ACE_NEW_RETURN (new_set, - TAO_PropertySet (allowed_property_types, - allowed_properties - ACE_ENV_ARG_PARAMETER), 0); - ACE_TRY_CHECK; - - // Successful, store this in the products sequence. - CORBA::ULong products_len = this->propertyset_products_.length (); - this->propertyset_products_.length (products_len + 1); - this->propertyset_products_[products_len] = new_set; - - // All done. - propset_ptr = new_set->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::UserException, ex) - { - // Release the memory. - delete new_set; - - // Throw the exception. - ACE_TRY_THROW (CosPropertyService::ConstraintNotSupported()); - } - ACE_CATCH (CORBA::SystemException, ex) - { - // Release memory. - delete new_set; - - // Throw the exception. - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - return propset_ptr; -} - -// Allows a client to create a new TAO_PropertySet with specific -// constraints. "All the properties will have *fixed-normal* modes". - -CosPropertyService::PropertySet_ptr -TAO_PropertySetFactory::create_initial_propertyset (const CosPropertyService::Properties &initial_properties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)) -{ - TAO_PropertySet *new_set = 0; - CosPropertyService::PropertySet_ptr propset_ptr = 0; - - ACE_TRY - { - // New a TAO_PropertySet. - ACE_NEW_RETURN (new_set, - TAO_PropertySet (initial_properties - ACE_ENV_ARG_PARAMETER), 0); - ACE_TRY_CHECK; - - // Successful, store this in the products sequence. - CORBA::ULong products_len = this->propertyset_products_.length (); - this->propertyset_products_.length (products_len + 1); - this->propertyset_products_[products_len] = new_set; - - // All done. - propset_ptr = new_set->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosPropertyService::MultipleExceptions, ex) - { - // Release memory. - delete new_set; - - // Throw the exception. - ACE_RE_THROW; - } - ACE_CATCH (CORBA::SystemException, ex) - { - // Release the memory. - delete new_set; - - // Throw the exception. - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - return propset_ptr; -} - -// Destructor. -TAO_PropertySetDefFactory::~TAO_PropertySetDefFactory (void) -{ - // Release all the new'ed products. - for (CORBA::ULong pi = 0; - pi < this->propertysetdef_products_.length (); - pi++) - delete this->propertysetdef_products_[pi]; -} - -//====================================================================== - -// Constrctor. -TAO_PropertySetDefFactory::TAO_PropertySetDefFactory (void) -{ -} - -// Returns a new TAO_PropertySetDef object. "The property setdef -// returned will *not* have any initial properties." -// Keep sequence of things new'ed and at the destructor of the factory -// delete all these New'ed things. - -CosPropertyService::PropertySetDef_ptr -TAO_PropertySetDefFactory::create_propertysetdef (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // New a TAO_PropertySetDef. - TAO_PropertySetDef *new_set; - ACE_NEW_RETURN (new_set, TAO_PropertySetDef, 0); - - // Successful, store this in the products sequence and return. - CORBA::ULong cur_len = this->propertysetdef_products_.length (); - this->propertysetdef_products_.length (cur_len + 1); - this->propertysetdef_products_[cur_len] = new_set; - - CosPropertyService::PropertySetDef_ptr propsetdef_ptr = - new_set->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return propsetdef_ptr; -} - -CosPropertyService::PropertySetDef_ptr -TAO_PropertySetDefFactory::create_constrained_propertysetdef (const CosPropertyService::PropertyTypes &allowed_property_types, - const CosPropertyService::PropertyDefs &allowed_property_defs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::ConstraintNotSupported)) -{ - TAO_PropertySetDef *new_set = 0; - CosPropertyService::PropertySetDef_ptr propsetdef_ptr = 0; - - ACE_TRY - { - // New a TAO_PropertySetDef using these constraints. - ACE_NEW_RETURN (new_set, - TAO_PropertySetDef (allowed_property_types, - allowed_property_defs - ACE_ENV_ARG_PARAMETER), 0); - ACE_TRY_CHECK; - - // Successful, store this in the products sequence. - CORBA::ULong products_len = this->propertysetdef_products_.length (); - this->propertysetdef_products_.length (products_len + 1); - this->propertysetdef_products_[products_len] = new_set; - - // All done. Return the pointer. - propsetdef_ptr = new_set->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::UserException, ex) - { - // Release the memory. - delete new_set; - - // Throw the exception. - ACE_TRY_THROW (CosPropertyService::ConstraintNotSupported()); - } - ACE_CATCH (CORBA::SystemException, ex) - { - // Release memory. - delete new_set; - - // Throw the exception. - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - return propsetdef_ptr; -} - -// Allows the client to create a new TAO_PropertySetDef with specific -// initital constraints. - -CosPropertyService::PropertySetDef_ptr -TAO_PropertySetDefFactory::create_initial_propertysetdef (const CosPropertyService::PropertyDefs &initial_property_defs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)) -{ - TAO_PropertySetDef *new_set = 0; - CosPropertyService::PropertySetDef_ptr propsetdef_ptr = 0; - - ACE_TRY - { - // New a TAO_PropertySet using these lengths. - ACE_NEW_RETURN (new_set, - TAO_PropertySetDef (initial_property_defs - ACE_ENV_ARG_PARAMETER), 0); - ACE_TRY_CHECK; - - // Successful, store this in the products sequence. - CORBA::ULong products_len = this->propertysetdef_products_.length (); - this->propertysetdef_products_.length (products_len + 1); - this->propertysetdef_products_[products_len] = new_set; - - // All done. - propsetdef_ptr = new_set->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosPropertyService::MultipleExceptions, ex) - { - // Release memory. - delete new_set; - - // Throw the exception. - ACE_RE_THROW; - } - ACE_CATCH (CORBA::SystemException, ex) - { - // Release the memory. - delete new_set; - - // Throw the exception. - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - return propsetdef_ptr; -} - -//====================================================================== - -// Makes default sized hash_table_. All the sequences are set the max -// length as 0. - -TAO_PropertySet::TAO_PropertySet (void) -{ -} - -// Init values that the PropertySetFactory will want to specify. Write -// the allowed properties in the Hash Table with *fixed-normal* mode. -// @@ Need to check for duplicate properties and raise exceptions. - - -TAO_PropertySet::TAO_PropertySet (const CosPropertyService::PropertyTypes allowed_property_types, - const CosPropertyService::Properties allowed_properties - ACE_ENV_ARG_DECL) - : allowed_property_types_ (allowed_property_types), - allowed_property_names_ (allowed_properties.length ()) -{ - // Set the length for the sequence, just to make sure. - this->allowed_property_names_.length (allowed_properties.length ()); - - // Keep the allowed property names in the sequence.. - for (CORBA::ULong ni = 0; - ni < allowed_properties.length (); - ni++) - this->allowed_property_names_[ni] = - allowed_properties[ni].property_name; - - // Define the allowed properties in the hash table. - ACE_TRY - { - this->define_properties (allowed_properties - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_PropertySet-Constructor"); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// TAO_PropertySetDef's constructor needs this, for initializing the -// allowed properties' sequence withe just the maximum length. - -TAO_PropertySet::TAO_PropertySet (const CosPropertyService::PropertyTypes allowed_property_types, - const CORBA::ULong number_of_allowed_properties - ACE_ENV_ARG_DECL_NOT_USED) - : allowed_property_types_ (allowed_property_types), - allowed_property_names_ (number_of_allowed_properties) -{ -} - -// PropertySetFactory needs this constructor. Store all the initial -// properies with *normal* modes. - - -TAO_PropertySet::TAO_PropertySet (const CosPropertyService::Properties initial_properties - ACE_ENV_ARG_DECL) -{ - // Define all the initial properties in the Property Set. All take - // *normal* modes. - ACE_TRY - { - this->define_properties (initial_properties - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_PropertySet-Constructor"); - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Destructor. All sequences will be deleted. - -TAO_PropertySet::~TAO_PropertySet (void) -{ -} - -// Function to modify or add a property to the PropertySet: -// Adds the name and the value to the set... Doesn't check for Typecode -// overwriting, duplicate names, void names etc, yet. -// @@ Uses Normal mode as the default mode of properties, We can -// change this behavior based on the Initial set of allowed modes, if -// there is anything like that set by the client. - - -void -TAO_PropertySet::define_property (const char *property_name, - const CORBA::Any &property_value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName, - CosPropertyService::ConflictingProperty, - CosPropertyService::UnsupportedTypeCode, - CosPropertyService::UnsupportedProperty, - CosPropertyService::ReadOnlyProperty)) -{ - // Check the name's validity. - if (property_name == 0) - ACE_THROW (CosPropertyService::InvalidPropertyName()); - - CORBA::TypeCode_var arg_tc = property_value.type (); - - // Is this type allowed? - if (is_type_allowed (arg_tc.in ()) != 1) - ACE_THROW (CosPropertyService::UnsupportedTypeCode()); - - // Is this property allowed? - if (is_property_allowed (property_name) != 1) - ACE_THROW (CosPropertyService::UnsupportedProperty()); - - // Try to bind the property. Use normal mode. - CosProperty_Hash_Key hash_key (property_name); - CosProperty_Hash_Value hash_value (property_value, - CosPropertyService::normal); - COSPROPERTY_HASH_ENTRY *entry_ptr; - //CosProperty_Hash_Key old_key; - //CosProperty_Hash_Value old_value; - - int ret = this->hash_table_.bind (hash_key, - hash_value, - entry_ptr); - - CORBA::TypeCode_var mapped_tc; - - switch (ret) - { - case 0: - break; - case 1: - // Property already exists. - - // Is the pointer valid? - if (entry_ptr == 0) - ACE_THROW (CORBA::UNKNOWN ()); - - mapped_tc = entry_ptr->int_id_.pvalue_.type (); - - { - CORBA::Boolean const equal_tc = - mapped_tc.in ()->equal (arg_tc.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // If type is not the same, raise exception. - if (!equal_tc) - ACE_THROW (CosPropertyService::ConflictingProperty()); - } - - // If mode is read only, raise exception. - if ((entry_ptr->int_id_.pmode_ == CosPropertyService::read_only) || - (entry_ptr->int_id_.pmode_ == CosPropertyService::fixed_readonly)) - ACE_THROW (CosPropertyService::ReadOnlyProperty()); - - // Use the mode that is already there. - hash_value.pmode_ = entry_ptr->int_id_.pmode_; - - // Everything is fine. Overwrite the value. - if (this->hash_table_.rebind (hash_key, - hash_value) != 1) - { - ACE_DEBUG ((LM_DEBUG, - "TAO_PropertySet::Define Property failed\n")); - ACE_THROW (CORBA::UNKNOWN ()); - } - break; - default: - // Error. ret is -1. - ACE_THROW (CORBA::UNKNOWN ()); - } - - return; -} - -// Tells whether this type is allowed in this property set or no. - -CORBA::Boolean -TAO_PropertySet::is_type_allowed (CORBA::TypeCode_ptr type) -{ - ACE_DECLARE_NEW_CORBA_ENV; - - // If the sequence is empty, no constraints. - if (this->allowed_property_types_.length () == 0) - return 1; - - // Check in the allowed_property_types sequence. - CORBA::Boolean ret_val = 0; - for (CORBA::ULong ti = 0; - ti < this->allowed_property_types_.length (); - ti++) - { - ACE_TRY - { - ret_val = this->allowed_property_types_[ti]->equal (type - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (ret_val == 1) - return 1; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "TAO_PropertySet::is_type_allowed failed"); - return ret_val; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - - // Type not found. - return ret_val; -} - -// Tells whether this property is allowed in this property or no. - -CORBA::Boolean -TAO_PropertySet::is_property_allowed (const char* property_name) -{ - // If the sequence is empty, no constraints. - if (this->allowed_property_names_.length() == 0) - return 1; - - // Check in the allowed_property_names. - for (CORBA::ULong ni = 0; - ni < this->allowed_property_names_.length (); - ni++) - if (ACE_OS::strcmp ((const char *) this->allowed_property_names_[ni], - property_name) == 0) - return 1; - - // Name not found in the sequence. - return 0; -} - -// Defining a sequence of properties -// -// Check for overwriting, duplicate names, void names etc and raise -// appropriate exceptions. - - -void -TAO_PropertySet::define_properties (const CosPropertyService::Properties &nproperties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)) -{ - // Get the length. - CORBA::ULong sequence_length = nproperties.length (); - - // Define multiple exceptions object. - CosPropertyService::MultipleExceptions multi_ex; - - for (CORBA::ULong pi = 0; pi < sequence_length; pi++) - { - ACE_TRY - { - // Define this property. - this->define_property (nproperties [pi].property_name.in (), - nproperties [pi].property_value - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosPropertyService::InvalidPropertyName, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::invalid_property_name; - multi_ex.exceptions[len].failing_property_name = - nproperties[pi].property_name; - } - ACE_CATCH (CosPropertyService::ConflictingProperty, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::conflicting_property; - multi_ex.exceptions[len].failing_property_name = - nproperties[pi].property_name; - } - ACE_CATCH (CosPropertyService::ReadOnlyProperty, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::read_only_property; - multi_ex.exceptions[len].failing_property_name = - nproperties[pi].property_name; - } - ACE_CATCH (CosPropertyService::UnsupportedTypeCode, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::unsupported_type_code; - multi_ex.exceptions[len].failing_property_name = - nproperties[pi].property_name; - } - ACE_CATCH (CosPropertyService::UnsupportedProperty, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::unsupported_property; - multi_ex.exceptions[len].failing_property_name = - nproperties[pi].property_name; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - } - - // Raise the multi exception if needed. - if (multi_ex.exceptions.length () > 0) - ACE_THROW (CosPropertyService::MultipleExceptions (multi_ex)); -} - -// Returns the current number of properties associated with this -// PropertySet. - - -CORBA::ULong -TAO_PropertySet::get_number_of_properties (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return static_cast (this->hash_table_.current_size ()); -} - -// Returns all of the property names currently defined in the -// PropertySet. If the PropertySet contains more than -// property names, then the remaining property names are put into the -// PropertyNamesIterator. - - -void -TAO_PropertySet::get_all_property_names (CORBA::ULong how_many, - CosPropertyService::PropertyNames_out property_names, - CosPropertyService::PropertyNamesIterator_out rest - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Allocating storage is a must. - ACE_NEW (property_names, - CosPropertyService::PropertyNames); - - CORBA::ULong num_of_properties = - this->get_number_of_properties (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (num_of_properties == 0) - // Nothing to do. - return; - - // Set the length of the property_names appropriately. - CORBA::ULong sequence_length = 0; - - if (how_many > 0) - { - if (how_many >= num_of_properties) - sequence_length = num_of_properties; - else - sequence_length = how_many; - property_names->length (sequence_length); - } - - // Iterate thru names and put them in the property_names. - - COSPROPERTY_HASH_ENTRY *entry_ptr; - COSPROPERTY_HASH_ITERATOR iterator (this->hash_table_); - - for (CORBA::ULong ni = 0; - ni < sequence_length; - ni++, iterator.advance ()) - if (iterator.next (entry_ptr) != 0) - property_names [ni] = - CORBA::string_dup (entry_ptr->ext_id_.pname_.in ()); - - // If there are some more properties, put them in the - // iterator. How?? Make a new PropertySet and use that to create - // propertyNames Iterator. - - if (num_of_properties > how_many) - { - TAO_PropertySet *property_set; - - ACE_NEW (property_set, TAO_PropertySet); - - for (CORBA::ULong i = how_many; - i < num_of_properties; - i++, iterator.advance ()) - if (iterator.next (entry_ptr) != 0) - if (property_set->hash_table_.bind (entry_ptr->ext_id_, - entry_ptr->int_id_) < 0) - ACE_DEBUG ((LM_DEBUG, - "Error:TAO_PropertySet::get_all_property_names\n")); - - // Make the NamesIterator out of this TAO_PropertySet. - TAO_PropertyNamesIterator *names_iterator; - ACE_NEW (names_iterator, TAO_PropertyNamesIterator (*property_set)); - - // Init the out parameter. - - // Get the Interface ptr. - CosPropertyService::PropertyNamesIterator_ptr iterator_ptr = - names_iterator->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // POA stuff todo here, since we have method in the - // interface. - // Give ownership of this servant to the POA. - names_iterator->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Init the out parameter. - rest = iterator_ptr; - } -} - -// Returns the value of a property in the PropertySet. - - -CORBA::Any * -TAO_PropertySet::get_property_value (const char *property_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::PropertyNotFound, - CosPropertyService::InvalidPropertyName)) -{ - // Check the name's validity. - if (property_name == 0) - ACE_THROW_RETURN (CosPropertyService::InvalidPropertyName(), - 0); - - // Get the value out of the hash table. - - CosProperty_Hash_Key hash_key (property_name); - CosProperty_Hash_Value hash_value; - - if (this->hash_table_.find (hash_key, hash_value) != 0) - ACE_THROW_RETURN (CosPropertyService::PropertyNotFound(), - 0); - - // Return the any value got. - CORBA::Any *any_ptr =0; - ACE_NEW_RETURN (any_ptr, - CORBA::Any (hash_value.pvalue_), - 0); - return any_ptr; -} - -// Returns the values of the properties listed in property_names. When -// the boolean return value is true, the Properties parameter contains -// valid values for all requested property names. If false, then all -// properties with a value of type tk_void may have failed due to -// or . - - -CORBA::Boolean -TAO_PropertySet::get_properties (const CosPropertyService::PropertyNames &property_names, - CosPropertyService::Properties_out nproperties - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Allocate memory for the out parameter. - ACE_NEW_RETURN (nproperties, - CosPropertyService::Properties, - 0); - - // Validate the length. - CORBA::ULong n = property_names.length (); - if (n == 0) - return 0; - - // Set the length for the out parameter. - nproperties->length (n); - - // Get values for all the names. - - CORBA::Any_ptr any_ptr = 0; - CORBA::Boolean ret_val = 1; - - for (CORBA::ULong i = 0; i < n; i++) - { - any_ptr = get_property_value (property_names [i] - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (any_ptr != 0) - { - // Property is found. - nproperties [i].property_name = property_names [i]; - nproperties [i].property_value = *any_ptr; - } - else - { - // Invalid name. Ret value is False. - ret_val = 0; - - // Assign void type to this name in the out parameter. - nproperties [i].property_name = - property_names [i]; - - // Make an any value with tk_void type. - CORBA::Any any; - any._tao_set_typecode (CORBA::_tc_void); - nproperties [i].property_value = any; - } - } - - return ret_val; -} - - -void -TAO_PropertySet::get_all_properties (CORBA::ULong how_many, - CosPropertyService::Properties_out nproperties, - CosPropertyService::PropertiesIterator_out rest - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Allocate memory for the out parameter. - ACE_NEW (nproperties, - CosPropertyService::Properties); - - // Validate the length. - CORBA::ULong num_of_properties = - this->get_number_of_properties (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (num_of_properties == 0) - return; - - // Set the length for the nproperties if how_many > 0. - CORBA::ULong sequence_length = 0; - - if (how_many > 0) - { - if (how_many >= num_of_properties) - sequence_length = num_of_properties; - else - sequence_length = how_many; - - nproperties->length (sequence_length); - } - - // Prepare an iterator and iterate through the PropertySet. Retrive - // the values. - - COSPROPERTY_HASH_ITERATOR iterator (this->hash_table_); - COSPROPERTY_HASH_ENTRY *entry_ptr = 0; - - for (CORBA::ULong i = 0; - i < sequence_length; - i++, iterator.advance ()) - if (iterator.next (entry_ptr) != 0) - { - nproperties[i].property_name = - CORBA::string_dup (entry_ptr->ext_id_.pname_.in ()); - nproperties[i].property_value = - entry_ptr->int_id_.pvalue_; - } - - // If there are more properties, put them in the . - // Make a new and use that to create an Properties - // iterator. put that in a iterator and assign that to the out - // paramerter. - - if (num_of_properties > how_many) - { - TAO_PropertySet *prop_set; - - ACE_NEW (prop_set, TAO_PropertySet); - - for (CORBA::ULong i = sequence_length; - i < num_of_properties; - i++, iterator.advance ()) - { - if (iterator.next (entry_ptr) != 0 - && prop_set->hash_table_.bind (entry_ptr->ext_id_, - entry_ptr->int_id_) < 0) - ACE_DEBUG ((LM_DEBUG, - "Error:TAO_PropertySet::get_all_properties\n")); - } - - // Make the iterator out of the new TAO_Propset. - TAO_PropertiesIterator *iterator = 0; - ACE_NEW (iterator, - TAO_PropertiesIterator (*prop_set)); - - // Init the out parameter. - - // Get the interface ptr. - CosPropertyService::PropertiesIterator_ptr iterator_ptr = - iterator->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // POA stuff todo here, since we have method in the - // interface. - // Give ownership of this servant to the POA. - iterator->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Init the out parameter. - rest = iterator_ptr; - } -} - -// Deletes the specified property if it exists from a PropertySet. - - -void -TAO_PropertySet::delete_property (const char *property_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::PropertyNotFound, - CosPropertyService::InvalidPropertyName, - CosPropertyService::FixedProperty)) -{ - // Check the name's validity. - if (property_name == 0) - ACE_THROW (CosPropertyService::InvalidPropertyName()); - - // Get the entry from the Hash Table. - - CosProperty_Hash_Key hash_key (property_name); - COSPROPERTY_HASH_ENTRY *entry_ptr = 0; - - if (this->hash_table_.find (hash_key, - entry_ptr) == -1) - ACE_THROW (CosPropertyService::PropertyNotFound()); - - // If property is fixed, then raise exception. - if ((entry_ptr->int_id_.pmode_ == CosPropertyService::fixed_normal) - || (entry_ptr->int_id_.pmode_ == CosPropertyService::fixed_readonly)) - ACE_THROW (CosPropertyService::FixedProperty()); - - // Unbind this property. - if (this->hash_table_.unbind (entry_ptr) != 0) - { - ACE_THROW (CORBA::UNKNOWN ()); - } - - return; -} - -// Deletes the properties defined in the property_names -// parameter. This is a batch operation that returns the -// MultipleExceptions exception if any delete failed. - - -void -TAO_PropertySet::delete_properties (const CosPropertyService::PropertyNames &property_names - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)) -{ - // Get the length. - CORBA::ULong sequence_length = property_names.length (); - - // Declare multiple exceptions' object. - CosPropertyService::MultipleExceptions *multi_ex = 0; - ACE_NEW (multi_ex, - CosPropertyService::MultipleExceptions); - - for (CORBA::ULong pi = 0; pi < sequence_length; pi++) - { - ACE_TRY - { - // Delete this property. - this->delete_property (property_names[pi] - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosPropertyService::InvalidPropertyName, ex) - { - // Put this exception in the multiple exception. - CORBA::ULong len = multi_ex->exceptions.length (); - multi_ex->exceptions.length (len + 1); - multi_ex->exceptions[len].reason = - CosPropertyService::invalid_property_name; - multi_ex->exceptions[len].failing_property_name = - property_names[pi]; - } - ACE_CATCH (CosPropertyService::PropertyNotFound, ex) - { - // Put this exception in the multiple exception. - CORBA::ULong len = multi_ex->exceptions.length (); - multi_ex->exceptions.length (len + 1); - multi_ex->exceptions[len].reason = - CosPropertyService::property_not_found; - multi_ex->exceptions[len].failing_property_name = - property_names[pi]; - } - ACE_CATCH (CosPropertyService::FixedProperty, ex) - { - // Put this exception in the multiple exception. - CORBA::ULong len = multi_ex->exceptions.length (); - multi_ex->exceptions.length (len + 1); - multi_ex->exceptions[len].reason = - CosPropertyService::fixed_property; - multi_ex->exceptions[len].failing_property_name = - property_names[pi]; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - // We cant afford to get this. Throw this. - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - } - - // Raise the multiple exceptions if there are any. - if (multi_ex->exceptions.length () > 0) - ACE_THROW (CosPropertyService::MultipleExceptions (*multi_ex)); -} - -// Delete all the properties in the current ProperySet : Delete the -// properties one by one. - - -CORBA::Boolean -TAO_PropertySet::delete_all_properties (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Get all the property names in a names' sequence. - CosPropertyService::PropertyNames *names_ptr = 0; - CosPropertyService::PropertyNames_out names_out (names_ptr); - CosPropertyService::PropertyNames_var names; - - CosPropertyService::PropertyNamesIterator *iter_ptr = 0; - CosPropertyService::PropertyNamesIterator_out iter_out (iter_ptr); - CosPropertyService::PropertyNamesIterator_var iter; - - CORBA::ULong size = this->get_number_of_properties (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->get_all_property_names (size, - names_out, - iter_out - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Get the out values on to the var varibles. - names = names_out.ptr (); - iter = iter_out.ptr (); - - // Delete all these properties. - this->delete_properties (names.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // All properties deleted. - return 1; -} - -// Returns TRUE if the property is defined in the PropertySet. - - -CORBA::Boolean -TAO_PropertySet::is_property_defined (const char *property_name - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName)) -{ - CosProperty_Hash_Key hash_key (property_name); - - if (this->hash_table_.find (hash_key) == 0) - return 1; - else - return 0; -} - - -void -TAO_PropertySet::operator= (const TAO_PropertySet &) -{ - // Empty. -} - -//====================================================================== - -// Makes default sized hash_table_. - -TAO_PropertySetDef::TAO_PropertySetDef (void) -{ -} - -// Constructor that the factory uses. - -TAO_PropertySetDef::TAO_PropertySetDef (const CosPropertyService::PropertyTypes allowed_property_types, - const CosPropertyService::PropertyDefs allowed_property_defs - ACE_ENV_ARG_DECL) - : TAO_PropertySet(allowed_property_types, - allowed_property_defs.length () - ACE_ENV_ARG_PARAMETER) -{ - // Set the length of the allowed property names. - this->allowed_property_names_.length (allowed_property_defs.length ()); - - // Copy the allowed properties' names to the sequence. - for (CORBA::ULong ni = 0; ni < allowed_property_defs.length (); ni++) - this->allowed_property_names_[ni] = - allowed_property_defs[ni].property_name; - - // Define the allowed properties in the hash table. - ACE_TRY - { - this->define_properties_with_modes (allowed_property_defs - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; -} - -// Constructor that the factory uses. - -TAO_PropertySetDef::TAO_PropertySetDef (const CosPropertyService::PropertyDefs initial_property_defs - ACE_ENV_ARG_DECL) -{ - this->define_properties_with_modes (initial_property_defs - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -// Destructor. - -TAO_PropertySetDef::~TAO_PropertySetDef (void) -{ -} - -// Return the sequence that is there in side. -void -TAO_PropertySetDef::get_allowed_property_types (CosPropertyService::PropertyTypes_out property_types - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Copy contents of the sequence. - ACE_NEW (property_types, - CosPropertyService::PropertyTypes (this->allowed_property_types_)); -} - -void -TAO_PropertySetDef::get_allowed_properties (CosPropertyService::PropertyDefs_out property_defs - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // We have all the names, get the values and the modes from the Hash - // Table and return. - - // Allocate memory. - ACE_NEW (property_defs, - CosPropertyService::PropertyDefs (this->allowed_property_names_.length ())); - - // Get the modes and property values for all these property - // names. Some may not be there in the Hash Table, probably got - // deleted because of their modes were not safe. - - // @@ TO DO. -} - -// Check for name's validity. If name not there define it. If it is -// there and if type is equal and if mode allows define it else raise -// exception. -void -TAO_PropertySetDef::define_property_with_mode (const char *property_name, - const CORBA::Any &property_value, - CosPropertyService::PropertyModeType property_mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName, - CosPropertyService::ConflictingProperty, - CosPropertyService::UnsupportedTypeCode, - CosPropertyService::UnsupportedProperty, - CosPropertyService::UnsupportedMode, - CosPropertyService::ReadOnlyProperty)) -{ - // Check the names validity. - if (property_name == 0) - ACE_THROW (CosPropertyService::InvalidPropertyName()); - - // Is this type allowed? - if (is_type_allowed (property_value.type ()) != 1) - ACE_THROW (CosPropertyService::UnsupportedTypeCode()); - - // Is this property allowed? - if (is_property_allowed (property_name) != 1) - ACE_THROW (CosPropertyService::UnsupportedProperty()); - - // Is this a valid mode. - if (property_mode == CosPropertyService::undefined) - ACE_THROW (CosPropertyService::UnsupportedMode()); - - // Try to bind the Property. - CosProperty_Hash_Key hash_key (property_name); - CosProperty_Hash_Value hash_value (property_value, - property_mode); - COSPROPERTY_HASH_ENTRY *entry_ptr; - - - int ret = this->hash_table_.bind (hash_key, hash_value, entry_ptr); - - //CosProperty_Hash_Value old_value; - //CosProperty_Hash_Key old_key; - - switch (ret) - { - case 0: - break; - case 1: - // Property name exists. - - // Is the pointer valid. - if (entry_ptr == 0) - ACE_THROW (CORBA::UNKNOWN ()); - - // If type is not the same, raise exception. - if (entry_ptr->int_id_.pvalue_.type () != property_value.type ()) - ACE_THROW (CosPropertyService::ConflictingProperty()); - - // If mode is read only, raise exception. - if ((entry_ptr->int_id_.pmode_ == CosPropertyService::read_only) || - (entry_ptr->int_id_.pmode_ == CosPropertyService::fixed_readonly)) - ACE_THROW (CosPropertyService::ReadOnlyProperty()); - - // If current mode is fixed_normal, but the new mode is not - // fixed, reject it. - if ((entry_ptr->int_id_.pmode_ == - CosPropertyService::fixed_normal) && - (property_mode < CosPropertyService::fixed_normal)) - ACE_THROW (CosPropertyService::UnsupportedMode()); - - // Everything is fine. Overwrite the value. - if (this->hash_table_.rebind (hash_key, - hash_value) > 0) - { - break; - } - default: - // Error. ret is -1 or rebind returned other than 1. - ACE_THROW (CORBA::UNKNOWN ()); - } - - return; -} - -// Define one by one. If any excceptions raised, build -// MultipleExceptions sequence and raise that. -void -TAO_PropertySetDef::define_properties_with_modes (const CosPropertyService::PropertyDefs &property_defs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)) -{ - // Get the length. - CORBA::ULong sequence_length = property_defs.length (); - - // Define multiple exceptions object. - CosPropertyService::MultipleExceptions multi_ex; - - // Try defining the propdefs one by one. - for (CORBA::ULong i = 0; i < sequence_length; i++) - { - ACE_TRY - { - // Define the property. - this->define_property_with_mode (property_defs[i].property_name, - property_defs[i].property_value, - property_defs[i].property_mode - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosPropertyService::InvalidPropertyName, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::invalid_property_name; - multi_ex.exceptions[len].failing_property_name = - property_defs[i].property_name; - } - ACE_CATCH (CosPropertyService::ConflictingProperty, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::conflicting_property; - multi_ex.exceptions[len].failing_property_name = - property_defs[i].property_name; - } - ACE_CATCH (CosPropertyService::ReadOnlyProperty, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::read_only_property; - multi_ex.exceptions[len].failing_property_name = - property_defs[i].property_name; - } - ACE_CATCH (CosPropertyService::UnsupportedTypeCode, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::unsupported_type_code; - multi_ex.exceptions[len].failing_property_name = - property_defs[i].property_name; - } - ACE_CATCH (CosPropertyService::UnsupportedProperty, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::unsupported_property; - multi_ex.exceptions[len].failing_property_name = - property_defs[i].property_name; - } - ACE_CATCH (CosPropertyService::UnsupportedMode, ex) - { - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::unsupported_mode; - multi_ex.exceptions[len].failing_property_name = - property_defs[i].property_name; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - } - - // Raise the multi exception if needed. - if (multi_ex.exceptions.length () > 0) - ACE_THROW (CosPropertyService::MultipleExceptions (multi_ex)); -} - -// Get the mode of a property. Raises InvalidpropertyName, -// PropertyNotFound exceptions. -CosPropertyService::PropertyModeType -TAO_PropertySetDef::get_property_mode (const char *property_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::PropertyNotFound, - CosPropertyService::InvalidPropertyName)) -{ - // Check for the name's validity. - if (property_name == 0) - ACE_THROW_RETURN (CosPropertyService::InvalidPropertyName(), - CosPropertyService::undefined); - - // Find the property in the hash table. - CosProperty_Hash_Key hash_key (property_name); - CosProperty_Hash_Value hash_value; - - int ret = this->hash_table_.find (hash_key, hash_value); - - switch (ret) - { - case 0: - // Property found. - return hash_value.pmode_; - default: - // Error or property is not found. - ACE_THROW_RETURN (CosPropertyService::PropertyNotFound(), - CosPropertyService::undefined); - } -} - -// Batch operation for getting the property. Invoke get_property_mode -// for each name. -// Return value False indicates that properties with *undefined* modes -// have failed due to PropertyNotFound or InvalidPropertyName exception. -// Returning False in case of *Nothing to retun* or New is -// failing. The caller has to check the out parameter whether it is -// Nil or no, before doing something with it. -CORBA::Boolean -TAO_PropertySetDef::get_property_modes (const CosPropertyService::PropertyNames &property_names, - CosPropertyService::PropertyModes_out property_modes - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Allocate memory for the out parameter. - ACE_NEW_RETURN (property_modes, - CosPropertyService::PropertyModes, - 1); - - // Validate the length of names sequence. - CORBA::ULong sequence_length = property_names.length (); - - if (sequence_length == 0) - return 1; - - // Set the length of the sequence. - property_modes->length (sequence_length); - - // Intialize thre return value. - CORBA::Boolean ret = 1; - - // Invoking get_property_mode for each name. - CosPropertyService::PropertyModeType mode; - for (CORBA::ULong i = 0; i < sequence_length; i++) - { - ACE_TRY - { - // Invoke get_property_mode for this name. - mode = this->get_property_mode (property_names[i] - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Store the mode in the out sequence. - property_modes[i].property_name = property_names[i]; - property_modes[i].property_mode = mode; - } - ACE_CATCHANY - { - // Return value becomes false. - ret = 1; - - // Assign this property to the out parameter with undefined - // mode. - property_modes[i].property_name = property_names[i]; - property_modes[i].property_mode = CosPropertyService::undefined; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - } - - return ret; -} - -// Changing the mode of the property. -// "Normal" to anything is possible. -// "Readonly" mode to "Fixed-Readonly" is possible. Others not possible. -// "Fixed-Normal" to "Fixed-Readonly" is possible. Other things are impossible. -// "Fixed-Readonly" to anything is *not* possible. -void -TAO_PropertySetDef::set_property_mode (const char *property_name, - CosPropertyService::PropertyModeType property_mode - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName, - CosPropertyService::PropertyNotFound, - CosPropertyService::UnsupportedMode)) -{ - // Check the names validity. - if (property_name == 0) - ACE_THROW (CosPropertyService::InvalidPropertyName()); - - // Trying to set to undefined mode is not allowed. - if (property_mode == CosPropertyService::undefined) - ACE_THROW (CosPropertyService::UnsupportedMode()); - - // Find the property from the Hash Table. - CosProperty_Hash_Key hash_key (property_name); - CosProperty_Hash_Value hash_value; - - int ret = this->hash_table_.find (hash_key, hash_value); - - //CosProperty_Hash_Value old_value; - //CosProperty_Hash_Key old_key; - - // Act acc to the ret value. - switch (ret) - { - case 0: - // Property found. - - // If the new mode is the same as the old one, nothing to do. - if (hash_value.pmode_ == property_mode) - return; - - // Check for legality of the mode change. - switch (hash_value.pmode_) - { - case CosPropertyService::normal: - // Set the new mode and update the hash table. - hash_value.pmode_ = property_mode; - if (this->hash_table_.rebind (hash_key, - hash_value) != 1) - // Return values 0 and -1 are not possible. - ACE_THROW (CORBA::UNKNOWN ()); - break; - - case CosPropertyService::read_only: - // Read_only to fixed read only alone is possible. - if (property_mode != CosPropertyService::fixed_readonly) - ACE_THROW (CosPropertyService::UnsupportedMode()); - else - { - // Change the mode and update hash table. - hash_value.pmode_ = property_mode; - if (this->hash_table_.rebind (hash_key, - hash_value) != 1) - // Return values 0 and -1 are not possible. - ACE_THROW (CORBA::UNKNOWN ()); - } - break; - - case CosPropertyService::fixed_normal: - // Fixed_normal to fixed_readonly alone is possible. - if (property_mode != CosPropertyService::fixed_readonly) - ACE_THROW (CosPropertyService::UnsupportedMode()); - else - { - // Change the mode and update the hash table. - hash_value.pmode_ = property_mode; - if (this->hash_table_.rebind (hash_key, - hash_value) != 1) - // Return values 0 and -1 are not possible. - ACE_THROW (CORBA::UNKNOWN ()); - } - break; - - default: - // Fixed_readonly to any mode is not possible. - ACE_THROW (CosPropertyService::UnsupportedMode()); - } - break; - case -1: - default: - // Error or property not found in the Hash Table. - ACE_THROW (CosPropertyService::PropertyNotFound()); - } -} - -// Batch operation for setting the property. Raises -// MultipleExceptions. Set the properties one by one, catch -// exceptions if any and keep them as in the multiple exceptions -// sequence and return. - -void -TAO_PropertySetDef::set_property_modes (const CosPropertyService::PropertyModes &property_modes - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)) -{ - // Get the length of the sequence. - CORBA::ULong sequence_length = property_modes.length (); - - // Multiple exception variable to keep track of exceptions. - CosPropertyService::MultipleExceptions multi_ex; - - // Set modes one by one. - for (CORBA::ULong i = 0; i < sequence_length; i++) - { - ACE_TRY - { - this->set_property_mode (property_modes[i].property_name, - property_modes[i].property_mode - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CosPropertyService::PropertyNotFound, ex) - { - // Put this exception in the multiple exception. - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::property_not_found; - multi_ex.exceptions[len].failing_property_name = - property_modes[i].property_name; - } - ACE_CATCH (CosPropertyService::InvalidPropertyName, ex) - { - // Put this exception in the multiple exception. - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::invalid_property_name; - multi_ex.exceptions[len].failing_property_name = - property_modes[i].property_name; - } - ACE_CATCH (CosPropertyService::UnsupportedMode, ex) - { - // Put this exception in the multiple exception. - CORBA::ULong len = multi_ex.exceptions.length (); - multi_ex.exceptions.length (len + 1); - multi_ex.exceptions[len].reason = - CosPropertyService::unsupported_mode; - multi_ex.exceptions[len].failing_property_name = - property_modes[i].property_name; - } - ACE_CATCH (CORBA::SystemException, systex) - { - ACE_RE_THROW; - } - ACE_ENDTRY; - ACE_CHECK; - } - - // Raise the multi_ex, if needed. - if (multi_ex.exceptions.length () > 0) - ACE_THROW (CosPropertyService::MultipleExceptions (multi_ex)); -} - -//====================================================================== - -// Constructor. Construct the iterator from the PropertySet object. - -TAO_PropertyNamesIterator::TAO_PropertyNamesIterator (TAO_PropertySet &property_set) - : iterator_ (property_set.hash_table_) -{ -} - -// Destructor. - -TAO_PropertyNamesIterator::~TAO_PropertyNamesIterator (void) -{ -} - -// Resets the position in an iterator to the first property name, if -// one exists. - -void -TAO_PropertyNamesIterator::reset (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->iterator_ = this->iterator_.map ().begin (); -} - -// The next_one operation returns true if an item exists at the -// current position in the iterator with an output parameter of a -// property name. A return of false signifies no more items in the -// iterator. - -CORBA::Boolean -TAO_PropertyNamesIterator::next_one (CORBA::String_out property_name - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - COSPROPERTY_HASH_ENTRY *entry_ptr; - - if (this->iterator_.next (entry_ptr) != 0) - { - property_name = - CORBA::string_dup (entry_ptr->ext_id_.pname_.in ()); - this->iterator_.advance (); - return 1; - } - else - return 0; -} - -CORBA::Boolean -TAO_PropertyNamesIterator::next_n (CORBA::ULong how_many, - CosPropertyService::PropertyNames_out property_names - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Allocate memory for the out parameter. - ACE_NEW_RETURN (property_names, - CosPropertyService::PropertyNames, - 0); - - COSPROPERTY_HASH_ENTRY *entry_ptr = 0; - - if (this->iterator_.next (entry_ptr) == 0 || how_many == 0) - return 0; - - CORBA::ULong size = static_cast (this->iterator_.map ().current_size ()); - - CORBA::ULong len = 0; - if (how_many <= size) - len = how_many; - else - len = size; - property_names->length (len); - - for (CORBA::ULong ni = 0; - ni < property_names->length (); - ni++, this->iterator_.advance ()) - if (this->iterator_.next (entry_ptr) != 0) - property_names [ni] = - CORBA::string_dup (entry_ptr->ext_id_.pname_.in ()); - - return 1; -} - -void -TAO_PropertyNamesIterator::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Remove self from POA. Because of reference counting, the POA - // will automatically delete the servant when all pending requests - // on this servant are complete. - - PortableServer::POA_var poa = this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::ObjectId_var id = poa->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - poa->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -//====================================================================== - -TAO_PropertiesIterator::TAO_PropertiesIterator (TAO_PropertySet &property_set) - : iterator_ (property_set.hash_table_) -{ -} - -TAO_PropertiesIterator::~TAO_PropertiesIterator (void) -{ -} - -void -TAO_PropertiesIterator::reset (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->iterator_ = this->iterator_.map ().begin (); -} - -CORBA::Boolean -TAO_PropertiesIterator::next_one (CosPropertyService::Property_out aproperty - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - COSPROPERTY_HASH_ENTRY *entry_ptr; - - if (this->iterator_.next (entry_ptr) != 0) - { - aproperty = new CosPropertyService::Property; - aproperty->property_name = entry_ptr->ext_id_.pname_; - aproperty->property_value = entry_ptr->int_id_.pvalue_; - this->iterator_.advance (); - return 1; - } - else - { - aproperty = new CosPropertyService::Property; - return 0; - } -} - -CORBA::Boolean -TAO_PropertiesIterator::next_n (CORBA::ULong how_many, - CosPropertyService::Properties_out nproperties - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Allocate memory for the out parameter. - ACE_NEW_RETURN (nproperties, - CosPropertyService::Properties, - 0); - - COSPROPERTY_HASH_ENTRY *entry_ptr = 0; - - if (this->iterator_.next (entry_ptr) == 0 || how_many == 0) - return 0; - - CORBA::ULong size = static_cast (this->iterator_.map ().current_size ()); - - CORBA::ULong len; - if (how_many <= size) - len = how_many; - else - len = size; - nproperties->length (len); - - for (CORBA::ULong ni = 0; - ni < nproperties->length (); - ni++, - this->iterator_.advance ()) - { - if (this->iterator_.next (entry_ptr) != 0) - { - nproperties [ni].property_name = entry_ptr->ext_id_.pname_; - nproperties [ni].property_value = - entry_ptr->int_id_.pvalue_; - } - else - break; - } - - return 1; -} - -void -TAO_PropertiesIterator::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Remove self from POA. Because of reference counting, the POA - // will automatically delete the servant when all pending requests - // on this servant are complete. - - PortableServer::POA_var poa = this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - PortableServer::ObjectId_var id = poa->servant_to_id (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - poa->deactivate_object (id.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.h b/TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.h deleted file mode 100644 index d887745dec3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.h +++ /dev/null @@ -1,621 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CosPropertyService_i.h - * - * $Id$ - * - * @author Alexander Babu Arulanthu - */ -//============================================================================= - -#ifndef TAO_COSPROPERTYSERVICE_I_H -#define TAO_COSPROPERTYSERVICE_I_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Property/property_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CosPropertyS.h" - -#include "tao/Sequence_T.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Null_Mutex.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// = Classes to deal with the ACE_Hash_Map_Manager. - -class TAO_Property_Serv_Export CosProperty_Hash_Key -{ - // = TITLE - // Key for the Hash Table. The EXT_ID of the - // ACE_Hash_Map_Manager. -public: - // = Initialization and termination methods. - - CosProperty_Hash_Key (void); - // Default constructor. - - CosProperty_Hash_Key (const char * &name); - // Constructor from a const string. - - CosProperty_Hash_Key (const CosPropertyService::PropertyName &name); - // Costructor that takes PropertyName. - - CosProperty_Hash_Key (const CosProperty_Hash_Key &hash_key); - // Copy constructor. - - virtual ~CosProperty_Hash_Key (void); - // Destructor. - - virtual bool operator == (const CosProperty_Hash_Key &hash_key) const; - // The operator for hash binding and "find"ing. - - virtual u_long hash (void) const; - // The function that computes a hash value. - -// private: - - CosPropertyService::PropertyName_var pname_; - // Storage pointer. -}; - -class TAO_Property_Serv_Export CosProperty_Hash_Value -{ - // = TITLE - // This will be the value part in the Hash_Table. The INT_ID of - // the ACE_Hash_Map_Manager. -public: - // = Initialization and termination methods. - - CosProperty_Hash_Value (void); - // Default constructor. - - CosProperty_Hash_Value (const CORBA::Any &any, - const CosPropertyService::PropertyModeType &mode); - // Constructor with the property_value and the property_mode. - - CosProperty_Hash_Value (const CosProperty_Hash_Value &hash_value); - // Copy constructor. - - virtual ~CosProperty_Hash_Value (void); - // Destructor. - -//private: - - CORBA::Any pvalue_; - // property value. - - CosPropertyService::PropertyModeType pmode_; - // Property Mode. -}; - -// ============================================================================ - -// Forward declaration. -class TAO_PropertySet; - -// ============================================================================ - -class TAO_Property_Serv_Export TAO_PropertySetFactory : public virtual POA_CosPropertyService::PropertySetFactory -{ - // = TITLE - // Factory class for the TAO_PropertySet class objects. - // - // = DESCRIPTION - // The object may be created with some predfined properties. -public: - // = Initialization and termination methods. - - TAO_PropertySetFactory (void); - // Constructor. - - virtual ~TAO_PropertySetFactory (void); - // Destructor. - - virtual CosPropertyService::PropertySet_ptr - create_propertyset (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Returns a new TAO_PropertySet object. "The property set returned - // will *not* have any initial properties." - - virtual CosPropertyService::PropertySet_ptr - create_constrained_propertyset (const CosPropertyService::PropertyTypes &allowed_property_types, - const CosPropertyService::Properties &allowed_properties - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::ConstraintNotSupported)); - // Allows a client to create a new TAO_PropertySet with specific - // constraints. "All the properties will have *fixed-normal* modes". - - virtual CosPropertyService::PropertySet_ptr - create_initial_propertyset (const CosPropertyService::Properties &initial_properties - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)); - // Allows a client to create a new TAO_PropertySet with specific - // initial properties."All the properties will have *fixed-normal" - // modes". - -private: - TAO::unbounded_value_sequence propertyset_products_; - // The PropertySet objects new'ed and given to the client. Let us - // keep track all of them so that we can delete them at the end. -}; - -// ============================================================================ - -// Forward declaration. -class TAO_PropertySetDef; - -// ============================================================================ - -class TAO_Property_Serv_Export TAO_PropertySetDefFactory : public virtual POA_CosPropertyService::PropertySetDefFactory -{ - // = TITLE - // Factory class for the TAO_PropertySetDef objects. - // - // = DESCRIPTION - // The object creation may be done with some predefined properties. -public: - // = Initialization and termination methods. - - TAO_PropertySetDefFactory(void); - // Constructor. - - virtual ~TAO_PropertySetDefFactory (void); - // Destructor. - - virtual CosPropertyService::PropertySetDef_ptr - create_propertysetdef (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Returns a new TAO_PropertySetDef object. - - virtual CosPropertyService::PropertySetDef_ptr - create_constrained_propertysetdef (const CosPropertyService::PropertyTypes &allowed_property_types, - const CosPropertyService::PropertyDefs &allowed_property_defs - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::ConstraintNotSupported)); - // Allows a client to create a new TAO_PropertySetDef with specific - // constraints. - - virtual CosPropertyService::PropertySetDef_ptr - create_initial_propertysetdef (const CosPropertyService::PropertyDefs &initial_property_defs - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)); - // Allows a client to create a new TAO_PropertySetDef with specific - // initial properties. - -private: - TAO::unbounded_value_sequence propertysetdef_products_; - // The PropertySet objects new'ed and given to the client. Let us - // keep track all of them so that we can delete them at the end. -}; - -// ============================================================================ - -class TAO_Property_Serv_Export TAO_PropertySet : public virtual POA_CosPropertyService::PropertySet -{ - // = TITLE - // Gives operations for defining, deleting, enumerating and - // checking of properties. - // - // = DESCRIPTION - // Uses a HashTable to manage the properties. -public: - friend class TAO_PropertyNamesIterator; - friend class TAO_PropertiesIterator; - - // = Initialization and termination methods. - - TAO_PropertySet (void); - // Default constructor. - - TAO_PropertySet (const CosPropertyService::PropertyTypes allowed_property_types, - const CosPropertyService::Properties allowed_properties - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - // Init values that the PropertySetFactory will want to specify. - - TAO_PropertySet (const CosPropertyService::Properties initial_properties - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - // PropertySetFactory needs this constructor. - - TAO_PropertySet (const CosPropertyService::PropertyTypes allowed_property_types, - const CORBA::ULong number_of_allowed_propertydefs - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - // PropertySetDef's construction needs this. - - virtual ~TAO_PropertySet (void); - // Destructor function. - - virtual void define_property (const char *property_name, - const CORBA::Any &property_value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName, - CosPropertyService::ConflictingProperty, - CosPropertyService::UnsupportedTypeCode, - CosPropertyService::UnsupportedProperty, - CosPropertyService::ReadOnlyProperty)); - - // Store the property in the hash after checking for validity of the - // property name, duplicate name, type code over writing etc. - - virtual void define_properties (const CosPropertyService::Properties &nproperties - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)); - // Define a sequence of properties at a time. - - virtual CORBA::ULong get_number_of_properties (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Get the number of properties that are currently defined in the - // PropertySet. - - virtual void get_all_property_names (CORBA::ULong how_many, - CosPropertyService::PropertyNames_out property_names, - CosPropertyService::PropertyNamesIterator_out rest - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Get the names of all the properties that are currently defined in - // the property set. - - virtual CORBA::Any *get_property_value (const char *property_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::PropertyNotFound, - CosPropertyService::InvalidPropertyName)); - // Get the value of the property, given the name. - - virtual CORBA::Boolean get_properties (const CosPropertyService::PropertyNames &property_names, - CosPropertyService::Properties_out nproperties - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Get all names and their property values. - - virtual void get_all_properties (CORBA::ULong how_many, - CosPropertyService::Properties_out nproperties, - CosPropertyService::PropertiesIterator_out rest - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Returns all of the property names currently defined in the - // PropertySet. If the PropertySet contains more than how_many - // property names, then the remaining property names are put into the PropertyNamesIterator. - - virtual void delete_property (const char *property_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::PropertyNotFound, - CosPropertyService::InvalidPropertyName, - CosPropertyService::FixedProperty)); - // Delete a property given a name. - - virtual void delete_properties (const CosPropertyService::PropertyNames &property_names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)); - // Delete all the these properties from this property set. - - virtual CORBA::Boolean delete_all_properties (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Delete everything from this property set. - - virtual CORBA::Boolean is_property_defined (const char *property_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName)); - // Tell whether this property is defined or no. Forget about the - // value. - -protected: - typedef ACE_Hash_Map_Manager - COSPROPERTY_HASH_MAP; - typedef ACE_Hash_Map_Entry - COSPROPERTY_HASH_ENTRY; - typedef ACE_Hash_Map_Iterator - COSPROPERTY_HASH_ITERATOR; - // Typedefs are useful. - - CORBA::Boolean is_type_allowed (CORBA::TypeCode_ptr type); - // Tells whether this type is allowed in this property set or no. - - CORBA::Boolean is_property_allowed (const char *name); - // Tells whether this property is allowed in this property set or - // no. - -private: - void operator= (const TAO_PropertySet &); - // Made private because not usable - - TAO_PropertySet (const TAO_PropertySet &); - // Not possible to copy - -public: // @todo make private - COSPROPERTY_HASH_MAP hash_table_; - // This Hash_Table manages storage for our properties. - -protected: - CosPropertyService::PropertyTypes allowed_property_types_; - // Stores the property types that can be allowed in this property - // set. - - CosPropertyService::PropertyNames allowed_property_names_; - // Stores the property names that are allowed in this property - // set. These properties will be defined with *fixed-normal* modes, by default, at - // creation. - // If this is *not* empty, these properties will be the only - // properties that will exist in this property set. Nothing more - // can be defined. -}; - -// ============================================================================ - -class TAO_Property_Serv_Export TAO_PropertySetDef : public virtual POA_CosPropertyService::PropertySetDef, - public virtual TAO_PropertySet -{ - // = TITLE - // This class implements PropertySetDef interface, which is - // specialization (subclass) of PropertySet interface. This - // class provides operations to PropertySet constraints, define - // and modify with modes, and to get or set property modes. - // - // = DESCRIPTION - // It should be noted that a TAO_PropertySetDef is still considered - // a PropertySet. The specialization operations are simply to - // provide more client access and control of the characteristics - // (metadata) of a PropertySet. -public: - // = Initialization and termination methods. - TAO_PropertySetDef (void); - // Constructor. - - TAO_PropertySetDef (const CosPropertyService::PropertyTypes allowed_property_types, - const CosPropertyService::PropertyDefs allowed_property - ACE_ENV_ARG_DECL); - // The factory uses this constructor. - - TAO_PropertySetDef (const CosPropertyService::PropertyDefs initial_property_defs - ACE_ENV_ARG_DECL); - // This is also for the factory. - - virtual ~TAO_PropertySetDef (void); - // Destructor. - - virtual void get_allowed_property_types (CosPropertyService::PropertyTypes_out property_types - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Indicates which types of properties are supported by this - // PropertySet. If the output sequence is empty, then there is no - // restrictions on the any TypeCode portion of the property_value - // field of a Property in this PropertySet, unless the - // get_allowed_properties output sequence is not empty. - - virtual void get_allowed_properties (CosPropertyService::PropertyDefs_out property_defs - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Indicates which properties are supported by this PropertySet. If - // the output sequence is empty, then there is no restrictions on - // the properties that can be in this PropertySet, unless the - // get_allowed_property_types output sequence is not empty. - - virtual void define_property_with_mode (const char *property_name, - const CORBA::Any &property_value, - CosPropertyService::PropertyModeType property_mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName, - CosPropertyService::ConflictingProperty, - CosPropertyService::UnsupportedTypeCode, - CosPropertyService::UnsupportedProperty, - CosPropertyService::UnsupportedMode, - CosPropertyService::ReadOnlyProperty)); - // This operation will modify or add a property to the - // PropertySet. If the property already exists, then the property - // type is checked before the value is overwritten. The property - // mode is also checked to be sure a new value may be written. If - // the property does not exist, then the property is added to the - // PropertySet. If type or mode is violated, ConflictingProperty - // exception is thrown. - - virtual void define_properties_with_modes (const CosPropertyService::PropertyDefs &property_defs - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)); - // This operation will modify or add each of the properties in the - // Properties parameter to the PropertySet. - - virtual CosPropertyService::PropertyModeType get_property_mode (const char *property_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::PropertyNotFound, - CosPropertyService::InvalidPropertyName)); - // Get the mode of a property. Raises InvalidpropertyName, - // PropertyNotFound exceptions. - - virtual CORBA::Boolean get_property_modes (const CosPropertyService::PropertyNames &property_names, - CosPropertyService::PropertyModes_out property_modes - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Batch operation for getting the property. Invoke - // get_property_mode for each name. Return value False indicates - // that properties with *undefined* modes have failed due to - // PropertyNotFound or InvalidPropertyName exception. Returning - // False in case of *Nothing to retun* or New is failing. The caller - // has to check the out parameter whether it is Nil or no, before - // doing something with it. - - virtual void set_property_mode (const char *property_name, - CosPropertyService::PropertyModeType property_mode - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::InvalidPropertyName, - CosPropertyService::PropertyNotFound, - CosPropertyService::UnsupportedMode)); - // Set the mode of a property. Watch the following. The change of - // mode is allowed introduce more constraints, but it should not - // relax the constraints. The following decisions have been made, in - // TAO's implementation. The Property Spec has left this to the - // implenters. "Normal" to anything is possible. "Readonly" mode - // to "Fixed-Readonly" is possible. Others not possible. - // "Fixed-Normal" to "Fixed-Readonly" is possible. Other things are - // impossible. "Fixed-Readonly" to anything is *not* possible. For - // all illegal set_mode attempts, UnsupportedMode exception is - // raised. - - virtual void set_property_modes (const CosPropertyService::PropertyModes &property_modes - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CosPropertyService::MultipleExceptions)); - // Batch operation for setting the property. Raises - // MultipleExceptions. -}; - -// ============================================================================ - -class TAO_Property_Serv_Export TAO_PropertyNamesIterator - : public virtual POA_CosPropertyService::PropertyNamesIterator -{ - // = TITLE - // The PropertyNamesIterator interface allows a client to - // iterate through the names using the next_one or next_n operations. - // - // = DESCRIPTION - // A PropertySet maintains a set of name-value pairs. The - // get_all_property_names operation returns a sequence of names - // (PropertyNames). If there are additional names, the - // get_all_property_names operation returns an object supporting - // the PropertyNamesIterator interface with the additional names. -public: - // = Initialization and termination methods. - TAO_PropertyNamesIterator (TAO_PropertySet &property_set); - // Constructor. - - virtual ~TAO_PropertyNamesIterator (void); - // Destructor. - - virtual void reset (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // The reset operation resets the position in an iterator to the - // first property name, if one exists. - - virtual CORBA::Boolean next_one (CORBA::String_out property_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // The next_one operation returns true if an item exists at the - // current position in the iterator with an output parameter of a - // property name. A return of false signifies no more items in the iterator. - - - virtual CORBA::Boolean next_n (CORBA::ULong how_many, - CosPropertyService::PropertyNames_out property_names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // The next_n operation returns true if an item exists at the - // current position in the iterator and the how_many parameter was - // set greater than zero. The output is a PropertyNames sequence - // with at most the how_many number of names. A return of false - // signifies no more items in the iterator. - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Destroys the iterator. -private: - typedef ACE_Hash_Map_Manager - COSPROPERTY_HASH_MAP; - typedef ACE_Hash_Map_Iterator - COSPROPERTY_HASH_ITERATOR; - typedef ACE_Hash_Map_Entry - COSPROPERTY_HASH_ENTRY; - - COSPROPERTY_HASH_ITERATOR iterator_; - // The Iterator object. -}; - -// ============================================================================ - -class TAO_Property_Serv_Export TAO_PropertiesIterator - : public virtual POA_CosPropertyService::PropertiesIterator -{ - // = TITLE - // Thid class implements PropertiesIterator interface allows a client to - // iterate through the name-value pairs using the next_one or - // next_n operations. - // - // = DESCRIPTION - // A PropertySet maintains a set of name-value pairs. The - // get_all_properties operation of the PropertySet interface - // returns a sequence of Property structures (Properties). If - // there are additional properties, the get_all_properties - // operation returns an object supporting the PropertiesIterator - // interface with the additional properties. -public: - // = Initialization and termination methods. - TAO_PropertiesIterator (TAO_PropertySet &property_set); - // Constructor. - - virtual ~TAO_PropertiesIterator (void); - // Destructor. - - virtual void reset (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Resets the position in an iterator to the first property, if one exists. - - virtual CORBA::Boolean next_one (CosPropertyService::Property_out aproperty - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // The next_one operation returns true if an item exists at the - // current position in the iterator with an output parameter of a - // property. A return of false signifies no more items in the - // iterator. - - virtual CORBA::Boolean next_n (CORBA::ULong how_many, - CosPropertyService::Properties_out nproperties - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // The next_n operation returns true if an item exists at the - // current position in the iterator and the how_many parameter was - // set greater than zero. The output is a properties sequence with - // at most the how_many number of properties. A return of false - // signifies no more items in the iterator. - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Destroys the iterator. - -private: - typedef ACE_Hash_Map_Manager - COSPROPERTY_HASH_MAP; - typedef ACE_Hash_Map_Iterator - COSPROPERTY_HASH_ITERATOR; - typedef ACE_Hash_Map_Entry - COSPROPERTY_HASH_ENTRY; - - COSPROPERTY_HASH_ITERATOR iterator_; - // The iterator object. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_COSPROPERTYSERVICE_I_H */ diff --git a/TAO/orbsvcs/orbsvcs/Property/property_export.h b/TAO/orbsvcs/orbsvcs/Property/property_export.h deleted file mode 100644 index 7013fca3a56..00000000000 --- a/TAO/orbsvcs/orbsvcs/Property/property_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_PROPERTY_EXPORT_H -#define TAO_PROPERTY_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_PROPERTY_HAS_DLL) -# define TAO_PROPERTY_HAS_DLL 0 -# endif /* ! TAO_PROPERTY_HAS_DLL */ -#else -# if !defined (TAO_PROPERTY_HAS_DLL) -# define TAO_PROPERTY_HAS_DLL 1 -# endif /* ! TAO_PROPERTY_HAS_DLL */ -#endif - -#if defined (TAO_PROPERTY_HAS_DLL) && (TAO_PROPERTY_HAS_DLL == 1) -# if defined (TAO_PROPERTY_BUILD_DLL) -# define TAO_Property_Export ACE_Proper_Export_Flag -# define TAO_PROPERTY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_PROPERTY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_PROPERTY_BUILD_DLL */ -# define TAO_Property_Export ACE_Proper_Import_Flag -# define TAO_PROPERTY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_PROPERTY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_PROPERTY_BUILD_DLL */ -#else /* TAO_PROPERTY_HAS_DLL == 1 */ -# define TAO_Property_Export -# define TAO_PROPERTY_SINGLETON_DECLARATION(T) -# define TAO_PROPERTY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_PROPERTY_HAS_DLL == 1 */ - -#endif /* TAO_PROPERTY_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Property/property_serv_export.h b/TAO/orbsvcs/orbsvcs/Property/property_serv_export.h deleted file mode 100644 index 593f9bc7d37..00000000000 --- a/TAO/orbsvcs/orbsvcs/Property/property_serv_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_PROPERTY_SERV_EXPORT_H -#define TAO_PROPERTY_SERV_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_PROPERTY_SERV_HAS_DLL) -# define TAO_PROPERTY_SERV_HAS_DLL 0 -# endif /* ! TAO_PROPERTY_SERV_HAS_DLL */ -#else -# if !defined (TAO_PROPERTY_SERV_HAS_DLL) -# define TAO_PROPERTY_SERV_HAS_DLL 1 -# endif /* ! TAO_PROPERTY_SERV_HAS_DLL */ -#endif - -#if defined (TAO_PROPERTY_SERV_HAS_DLL) && (TAO_PROPERTY_SERV_HAS_DLL == 1) -# if defined (TAO_PROPERTY_SERV_BUILD_DLL) -# define TAO_Property_Serv_Export ACE_Proper_Export_Flag -# define TAO_PROPERTY_SERV_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_PROPERTY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_PROPERTY_SERV_BUILD_DLL */ -# define TAO_Property_Serv_Export ACE_Proper_Import_Flag -# define TAO_PROPERTY_SERV_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_PROPERTY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_PROPERTY_SERV_BUILD_DLL */ -#else /* TAO_PROPERTY_SERV_HAS_DLL == 1 */ -# define TAO_Property_Serv_Export -# define TAO_PROPERTY_SERV_SINGLETON_DECLARATION(T) -# define TAO_PROPERTY_SERV_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_PROPERTY_SERV_HAS_DLL == 1 */ - -#endif /* TAO_PROPERTY_SERV_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Property/property_skel_export.h b/TAO/orbsvcs/orbsvcs/Property/property_skel_export.h deleted file mode 100644 index 60a4aa4fe46..00000000000 --- a/TAO/orbsvcs/orbsvcs/Property/property_skel_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_PROPERTY_SKEL_EXPORT_H -#define TAO_PROPERTY_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_PROPERTY_SKEL_HAS_DLL) -# define TAO_PROPERTY_SKEL_HAS_DLL 0 -# endif /* ! TAO_PROPERTY_SKEL_HAS_DLL */ -#else -# if !defined (TAO_PROPERTY_SKEL_HAS_DLL) -# define TAO_PROPERTY_SKEL_HAS_DLL 1 -# endif /* ! TAO_PROPERTY_SKEL_HAS_DLL */ -#endif - -#if defined (TAO_PROPERTY_SKEL_HAS_DLL) && (TAO_PROPERTY_SKEL_HAS_DLL == 1) -# if defined (TAO_PROPERTY_SKEL_BUILD_DLL) -# define TAO_Property_Skel_Export ACE_Proper_Export_Flag -# define TAO_PROPERTY_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_PROPERTY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_PROPERTY_SKEL_BUILD_DLL */ -# define TAO_Property_Skel_Export ACE_Proper_Import_Flag -# define TAO_PROPERTY_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_PROPERTY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_PROPERTY_SKEL_BUILD_DLL */ -#else /* TAO_PROPERTY_SKEL_HAS_DLL == 1 */ -# define TAO_Property_Skel_Export -# define TAO_PROPERTY_SKEL_SINGLETON_DECLARATION(T) -# define TAO_PROPERTY_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_PROPERTY_SKEL_HAS_DLL == 1 */ - -#endif /* TAO_PROPERTY_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc b/TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc deleted file mode 100644 index 92ffc461d20..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc +++ /dev/null @@ -1,27 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTCORBAEvent) : orbsvcslib, core, rtevent_serv, rtportableserver { - sharedname = TAO_RTCORBAEvent - dynamicflags = TAO_RTCORBAEVENT_BUILD_DLL - tagchecks += RTCORBAEvent - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - RTCORBAEvent { - Event/EC_RTCORBA_Dispatching.cpp - Event/EC_RTCORBA_Factory.cpp - } - } - - Header_Files { - } - - Inline_Files { - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling.idl b/TAO/orbsvcs/orbsvcs/RTCosScheduling.idl deleted file mode 100644 index 7ffd6662db1..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling.idl +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- idl -*- */ - -//============================================================================= -/** - * @file RTCosScheduling.idl - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - -/** - * This directory contains the idl for the RTCORBA 1.0 Scheduling Service. - * To generate the stubs and skeletons, run - * tao_idl -I $TAO_ROOT/ RTCosScheduling.idl - * - */ - - -#ifndef _RT_COS_SCHEDULING_ -#define _RT_COS_SCHEDULING_ - -#include -#include "tao/PortableServer/PortableServer_include.pidl" - -/** - * @module RTCosScheduling - * - * @brief This module contains the interfaces for the RTCORBA 1.0 - * Scheduling Service. - */ -module RTCosScheduling { - - /** - * This exception is thrown by schedule activity when an activity name - * is passed that is associated with a priority in the config file. - * It is thrown by schedule_object when an object name is passed in - * that was not assiciated with a resource priority ceiling in the - * config file. - */ - exception UnknownName {}; - - /** - * @interface ClientScheduler - * - * @brief This interface is used by clients who wish to - * schedule activities using the RT CORBA 1.0 Scheduling Service. - */ - local interface ClientScheduler { - - /** - * schedule_activity associates an activity name with a known priority - * for that activity. It then sets RT Current to that priority. - * If the name passed does not have a priority associated then - * schedule_activity throws an UnknownName exception. - * - * @param activity_name is the name of the activity that the client - * would like to run. The activity_name is associated with a - * priority by schedule_activity and RT Current is set to that - * priority. - */ - void schedule_activity(in string activity_name ) - raises (UnknownName); - }; - - /** - * @interface ServerScheduler - * - * @brief This interface is used by nodes that hold a local object - * reference. - */ - local interface ServerScheduler { - - /** - * create_POA is called by servers that would like to use the - * RT CORBA 2.0 Scheduling Service. - * - * @param parent The poa to base the RT POA upon - * @param adapter_name the adapter name for the poa - * @param a_POAManager the poa_manager - * @param policies the list of non real time policies to be set - * - */ - PortableServer::POA create_POA ( - in PortableServer::POA parent, - in string adapter_name, - in PortableServer::POAManager a_POAManager, - in CORBA::PolicyList policies) - raises (PortableServer::POA::AdapterAlreadyExists, - PortableServer::POA::InvalidPolicy); - - /** - * schedule_object is called on servers to associate a - * CORBA object reference with a name. This allows the - * scheduling service to map a server object name to a resource - * ceiling. An UnknownName exception is found if the object name - * is not found in the config file. - */ - void schedule_object(in Object obj, in string name) - raises (UnknownName); - - }; -}; - - -#endif // _RT_COS_SCHEDULING_IDL_ diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling.mpc b/TAO/orbsvcs/orbsvcs/RTCosScheduling.mpc deleted file mode 100644 index 0350cf8953f..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling.mpc +++ /dev/null @@ -1,24 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTCosScheduling) : orbsvcslib, core, rtportableserver, interceptors, codecfactory, tao_versioning_idl_defaults { - sharedname = TAO_RTCosScheduling - idlflags += -Gd -Wb,export_macro=TAO_RTCosScheduling_Export -Wb,export_include=orbsvcs/RTCosScheduling/RTCosScheduling_export.h - dynamicflags += TAO_RTCOSSCHEDULING_BUILD_DLL - tagchecks += RTCosScheduling - requires += dummy_label - - IDL_Files { - RTCosScheduling.idl - } - Source_Files(ORBSVCS_COMPONENTS) { - RTCosScheduling { - RTCosSchedulingC.cpp - RTCosSchedulingS.cpp - RTCosScheduling - } - } - Template_Files { - } -} - diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.cpp b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.cpp deleted file mode 100644 index d13cfe93576..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.cpp +++ /dev/null @@ -1,524 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTCosScheduling_ClientScheduler_i.cpp - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - -#include "orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h" - -#include "ace/OS_NS_errno.h" -#include "ace/OS_NS_stdio.h" - -#include "tao/ORB_Core.h" -#include "tao/LocalObject.h" -#include "tao/PortableInterceptorC.h" -#include "tao/CodecFactory/CodecFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - - /// Constructor - RTCosScheduling_ClientScheduler_i::RTCosScheduling_ClientScheduler_i ( - CORBA::ORB_var orb, - char *node_name, - char *file) - { - ACE_TRY_NEW_ENV - { - /// Read the resources and ceilings from the config file - /// and put them into the activity_map_ - if ( !ACE_OS::strcmp(file,"") || file == NULL) - { - ACE_DEBUG((LM_DEBUG, - "No config supplied to the ServerScheduler, " - "Server will not scheudle object execution " - "(ServerScheduler interceptor not installed)")); - } - else if (!tasks(node_name, file, &activity_map_)) - { - ACE_DEBUG((LM_DEBUG,"Invalid Filename given, aborting!\n")); - ACE_OS::exit(1); - } - // The tasks were successfully read in, create the client interceptor - else - { -#if (TAO_HAS_INTERCEPTORS == 1) - ACE_NEW_THROW_EX (this->client_interceptor_, - RTCosScheduling_ClientScheduler_Interceptor(orb), - CORBA::NO_MEMORY()); - ACE_CHECK; - - TAO_ORB_Core *orb_core = orb->orb_core(); - - // @@ (OO) Why isn't an ORBInitializer being used to - // register the interceptor? In fact, all of the - // following code should be done in an - // ORBInitializer, except for the interceptor list - // iteration. That is already done by the ORB when - // using an ORBInitializer to register an - // interceptor. - - /// First, get a list of all interceptors currently registered - TAO::ClientRequestInterceptor_List::TYPE &interceptors = - orb_core->client_request_interceptors(); - - - /// Now check to see if the ServerScheduler Interceptor has already - /// been registered - u_int i; - u_int unregistered = 1; - for (i = 0; i < interceptors.size() && unregistered; ++i) - { - if (ACE_OS::strncmp(interceptors[i]->_interface_repository_id (), - this->client_interceptor_->_interface_repository_id(), - ACE_OS::strlen( - this->client_interceptor_->_interface_repository_id()-2)) - == 0) - { - /// The interceptor is already registered, - /// don't try to register it again - unregistered = 0; - } - } - - /// if the ServerScheduler Interceptor was not registered by - /// another POA then register it now - if (unregistered) - { - orb_core->add_interceptor(this->client_interceptor_ - ACE_ENV_ARG_PARAMETER); - } -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - - /// Now resolve a reference to the Real Time ORB - CORBA::Object_var rt_obj = - orb->resolve_initial_references("RTORB" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Get a reference to the real time orb - RTCORBA::RTORB_var rt_orb = - RTCORBA::RTORB::_narrow (rt_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - /// resolve a reference to RT Current - rt_obj = - orb->resolve_initial_references ("RTCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->current_ = - RTCORBA::Current::_narrow (rt_obj.in () ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK - - /// Resolve a reference to the Linear Priority Mapping Manager - rt_obj = - orb->resolve_initial_references("PriorityMappingManager" - ACE_ENV_ARG_PARAMETER); - RTCORBA::PriorityMappingManager_var mapping_manager = - RTCORBA::PriorityMappingManager::_narrow(rt_obj.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - /// Create the Linear Priority Mapping Manager - ACE_NEW_THROW_EX(this->pm_, - TAO_Linear_Priority_Mapping( - ACE_SCHED_FIFO), - CORBA::NO_MEMORY()); - // WHERE the parameter is one of SCHED_OTHER, SCHED_FIFO, or SCHED_RR - - mapping_manager->mapping(this->pm_); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_ERROR((LM_ERROR, "Could not configure the orb")); - ACE_OS::exit(1); - } - ACE_ENDTRY; -} - - -/// Implementation skeleton destructor -RTCosScheduling_ClientScheduler_i::~RTCosScheduling_ClientScheduler_i (void) -{ - delete this->pm_; -#if (TAO_HAS_INTERCEPTORS == 1) - delete this->client_interceptor_; -#endif /* TAO_HAS_INTERCEPTORS == 1 */ -} - - -void RTCosScheduling_ClientScheduler_i::schedule_activity ( - const char * activity_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - RTCosScheduling::UnknownName)) -{ - /// Look up the priority using the activity name in the activity map - COS_SCHEDULER_ACTIVITY_VALUE priority = 0; - CORBA::Short result = - this->activity_map_.find(activity_name, - priority); - - /// If the activity/priority was found, set the current to the - /// appropriate priority. - if (result != -1) - { - this->current_->the_priority(priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } - /// If the activity was not found, throw an UnknownName exception. - else - { - ACE_THROW (RTCosScheduling::UnknownName()); - } -} - - -int -RTCosScheduling_ClientScheduler_i::tasks( - const char *node_name, - const char *file_name, - CosSchedulerActivityMap *activity_map) -{ - /// get the activity list just for the particular node - const unsigned int BUF_MAX = 256; - - FILE *fp = ACE_OS::fopen(file_name, "r"); - /// Make sure we can open the file - if (fp == NULL) - { - /// Error return of we cannot open the file. - ACE_ERROR_RETURN((LM_ERROR, - "Could not find the config file %s, aborting\n", - file_name), - 0); - } - - - char line[BUF_MAX], key[64]; - ACE_OS::strsncpy(key, "Node ", sizeof(key)); - ACE_OS::strcat(key, node_name); - - /// Skip to the appropriate node -#ifndef ACE_LACKS_CLEARERR - ACE_OS::clearerr(fp); -#else -# warning ACE_OS::clearerr() is unimplemented on this platform. -# warning This code may not function properly. -#endif /* !ACE_LACKS_CLEARERR */ - do - { - ACE_OS::fgets(line, BUF_MAX, fp); - /// Make sure we did not hit the end of file - if (ACE_OS::last_error() == EOF) - { - ACE_ERROR_RETURN((LM_ERROR, - "Node %s not found in config file\n", - node_name), - 0); - break; - } - } - while (ACE_OS::strncmp(line, key, ACE_OS::strlen(key)) != 0); - - /// Skip to the appropriate task section of the node -#ifndef ACE_LACKS_CLEARERR - ACE_OS::clearerr(fp); -#else -# warning ACE_OS::clearerr() is unimplemented on this platform. -# warning This code may not function properly. -#endif /* !ACE_LACKS_CLEARERR */ - do - { - ACE_OS::fgets(line, BUF_MAX, fp); - /// Make sure we did not hit the end of file - if (ACE_OS::last_error() == EOF) - { - ACE_ERROR_RETURN((LM_ERROR, - "Task list not found for node %s\n", - node_name), - 0); - break; - } - } - while (ACE_OS::strncmp(line, "Tasks:", ACE_OS::strlen("Tasks:")) != 0); - - CORBA::Short done = 0; - COS_SCHEDULER_ACTIVITY_KEY name; - COS_SCHEDULER_ACTIVITY_VALUE priority = 0; - u_int delimiter; - - /// read each activity/priority pair from the config file - while (!done) - { - /// get the activity name - ACE_OS::fgets(line, BUF_MAX, fp); - - /// Make sure we did not hit the end of file - if (ACE_OS::last_error() == EOF) - { - ACE_ERROR_RETURN((LM_ERROR, - "Task list not found for node %s\n", - node_name), - 0); - break; - } - - /// check to make sure we have not reached the end of the list. - if (ACE_OS::strncmp(line, "END", ACE_OS::strlen("END")) != 0) - { - name = ACE_CString(line); - delimiter = name.find('\t'); - char *p = ACE_OS::strchr(line, '\t'); - if (p) - priority = ACE_OS::atoi(p); - if (priority == 0) - priority = RTCORBA::minPriority; - if (delimiter < name.length() && delimiter > 0) - { - activity_map->bind(name.substr(0, delimiter), priority); - } - else - { - ACE_ERROR_RETURN((LM_ERROR, - "Error in reading activities from %s", - file_name), - 0); - } - } - else - { - done = 1; - } - } - - return 1; -} - - -#if (TAO_HAS_INTERCEPTORS == 1) - -RTCosScheduling_ClientScheduler_Interceptor::RTCosScheduling_ClientScheduler_Interceptor() : name_("RTCosScheduling_Client_Interceptor") -{ - ACE_TRY_NEW_ENV - { - /// resolve a reference to RT Current - int argc = 0; - CORBA::ORB_var orb = CORBA::ORB_init (argc, - 0, - 0 - ACE_ENV_ARG_PARAMETER); - CORBA::Object_var obj = - orb->resolve_initial_references ("RTCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil(obj.in())) - { - ACE_OS::exit(1); - } - else - { - this->current_ = - RTCORBA::Current::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - } - ACE_CHECK; - - obj = - orb->resolve_initial_references("CodecFactory" - ACE_ENV_ARG_PARAMETER); - - IOP::CodecFactory_var codec_factory; - if (CORBA::is_nil(obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "Could not initialize client interceptor, aborting!\n")); - ACE_OS::exit(1); - } - else - { - codec_factory = IOP::CodecFactory::_narrow(obj.in()); - } - - - IOP::Encoding encoding; - encoding.format = IOP::ENCODING_CDR_ENCAPS; - encoding.major_version = 1; - encoding.minor_version = 2; - - this->codec_ = codec_factory->create_codec(encoding); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "There was an error constructing the " - "ClientScheduler Interceptor\n"); - } - ACE_ENDTRY; -} - - -RTCosScheduling_ClientScheduler_Interceptor::RTCosScheduling_ClientScheduler_Interceptor( - const CORBA::ORB_var orb) : name_("RTCosScheduling_Client_Interceptor") -{ - ACE_TRY_NEW_ENV - { - /// resolve a reference to RT Current - CORBA::Object_var obj = - orb->resolve_initial_references ("RTCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - if (CORBA::is_nil(obj.in())) - { - ACE_OS::exit(1); - } - else - { - this->current_ = - RTCORBA::Current::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - } - ACE_TRY_CHECK; - - obj = - orb->resolve_initial_references("CodecFactory" - ACE_ENV_ARG_PARAMETER); - - // set up the codec factory to create the codec necessary to - // encode the octet stream for the service context - IOP::CodecFactory_var codec_factory; - if (CORBA::is_nil(obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "Could not initialize client interceptor, aborting!\n")); - ACE_OS::exit(1); - } - else - { - codec_factory = IOP::CodecFactory::_narrow(obj.in()); - } - - - IOP::Encoding encoding; - encoding.format = IOP::ENCODING_CDR_ENCAPS; - encoding.major_version = 1; - encoding.minor_version = 2; - - // Create the codec - this->codec_ = codec_factory->create_codec(encoding); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "Error in creating Client Interceptor\n"); - } - ACE_ENDTRY; -} - -char * -RTCosScheduling_ClientScheduler_Interceptor::name ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ -return CORBA::string_dup(this->name_); -} - -void -RTCosScheduling_ClientScheduler_Interceptor::destroy ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -RTCosScheduling_ClientScheduler_Interceptor::send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - ACE_TRY - { - - // Get the Corba priority that the activity is currently running at - CORBA::Any the_priority_as_any; - the_priority_as_any <<= - this->current_->the_priority(); - ACE_TRY_CHECK; - - // Set up a service context to hold the priority - IOP::ServiceContext sc; - sc.context_id = IOP::RTCorbaPriority; - - // Convert the priority to an octet stream - // (that is how service contexts send data) - sc.context_data = - reinterpret_cast (*this->codec_->encode (the_priority_as_any)); - ACE_TRY_CHECK; - - // add the service context - ri->add_request_service_context(sc, 0); - ACE_TRY_CHECK; - - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "ERROR - in Client interceptor\n"); - ACE_TRY_THROW (CORBA::INTERNAL ()); - } - ACE_ENDTRY; -} - -void -RTCosScheduling_ClientScheduler_Interceptor::send_poll ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -RTCosScheduling_ClientScheduler_Interceptor::receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -RTCosScheduling_ClientScheduler_Interceptor::receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -RTCosScheduling_ClientScheduler_Interceptor::receive_other ( - PortableInterceptor::ClientRequestInfo_ptr - ACE_ENV_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -#endif /* TAO_HAS_INTERCEPTORS == 1 */ - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h deleted file mode 100644 index 69ac688e910..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h +++ /dev/null @@ -1,218 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTCosScheduling_ClientScheduler_i.h - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - -#ifndef CLIENT_SCHEDULER_I_H -#define CLIENT_SCHEDULER_I_H - -#include /**/ "ace/pre.h" - -#include "ace/Map_T.h" -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if defined (__BORLANDC__) -#pragma option push -w-rvl -w-rch -w-ccc -w-inl -#endif /* __BORLANDC__ */ - - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#include "ace/SString.h" -#include -#include -#include "tao/RTCORBA/Priority_Mapping_Manager.h" -#include "tao/PortableInterceptorC.h" -#include "tao/CodecFactory/CodecFactory.h" -#include "tao/RTCORBA/Linear_Priority_Mapping.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO { - -#ifndef COS_SCHEDULER_ACTIVITY_MAP -#define COS_SCHEDULER_ACTIVITY_MAP - /** - * This typedef is used in RTCosScheduling_ClientScheduler - * to map activity names,stored as an ACE_CString, - * to CORBA priorities - */ - typedef ACE_CString COS_SCHEDULER_ACTIVITY_KEY; - typedef CORBA::Long COS_SCHEDULER_ACTIVITY_VALUE; - - typedef ACE_Map_Manager_Adapter< - COS_SCHEDULER_ACTIVITY_KEY, - COS_SCHEDULER_ACTIVITY_VALUE, - ACE_Noop_Key_Generator > - CosSchedulerActivityMap; -#endif /* ACTIVITY_MAP */ - -#if TAO_HAS_INTERCEPTORS -/** - * @class ClientRequestInterceptor - * - * @brief Simple concrete client request interceptor. - */ -class RTCosScheduling_ClientScheduler_Interceptor - : public PortableInterceptor::ClientRequestInterceptor -{ -public: - - RTCosScheduling_ClientScheduler_Interceptor(); - RTCosScheduling_ClientScheduler_Interceptor(const CORBA::ORB_var orb); - - virtual ~RTCosScheduling_ClientScheduler_Interceptor() { } - /** - * @name Methods Required by the Client Request Interceptor - * Interface - * - * These are methods that must be implemented since they are pure - * virtual in the abstract base class. They are the canonical - * methods required for all client request interceptors. - */ - //@{ - /// Return the name of this ClientRequestInterceptor. - // - virtual char * name (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_request ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_poll ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_reply ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_exception ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_other ( - PortableInterceptor::ClientRequestInfo_ptr ri - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - //@} - -private: - - /// The name of the interceptor - const char* name_; - - /// reference to set local priority - RTCORBA::Current_var current_; - - IOP::Codec_var codec_; - -}; -#endif /* TAO_HAS_INTERCEPTORS */ - -/** - * @class RTCosScheduling_ClientScheduler - * - * @brief Used in conjunction with the class ServerScheduler to - * provide RTCORBA 1.0 compliant scheduling - * - * This class provides the framework necessary for a client node - * to retrieve scheduling information from a config file and set - * the local OS priority. - * - */ -class TAO_RTCosScheduling_Export RTCosScheduling_ClientScheduler_i : - public virtual RTCosScheduling::ClientScheduler, - public virtual CORBA::LocalObject -{ - - public: -//@{ - /* - * Constructs a new ClientScheduler object for use on a client - * that wishes to use the RTCORBA 1.0 Scheduling Service. - * - * @param orb The orb - * @param node The name of the node the client resides on - */ - RTCosScheduling_ClientScheduler_i (CORBA::ORB_var orb, - char* node, - char* file); - - ///Destructor - virtual ~RTCosScheduling_ClientScheduler_i (void); - - - /** - * Called by clients to set the local thread priority to - * that specified in the scheduling config file - * - * @param activity_name the name of the activity that signifies - * the desired priority - */ - virtual void schedule_activity ( - const char *activity_name - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - CORBA::SystemException, - RTCosScheduling::UnknownName)); -//@} - - private: - /// The map to match activity names with corba priorities - CosSchedulerActivityMap activity_map_; - - /// RT Current, to change the priority of the thread - RTCORBA::Current_var current_; - - /// RT Corba Priority Mapping - RTCORBA::PriorityMapping *pm_; - -#if TAO_HAS_INTERCEPTORS - /// The Server Interceptor that handles the PCP control - RTCosScheduling_ClientScheduler_Interceptor *client_interceptor_; -#endif /* TAO_HAS_INTERCEPTORS */ - - int tasks(const char *node_name, - const char *file_name, - CosSchedulerActivityMap *activity_map); - -}; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option pop -#endif /* __BORLANDC__ */ - -#include /**/ "ace/post.h" -#endif /* CLIENT_SCHEDULER_I */ diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.cpp b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.cpp deleted file mode 100644 index 2f10810d9c9..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.cpp +++ /dev/null @@ -1,519 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file RTCosScheduling_PCP_Manager.cpp - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - -#include "orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h" -#include "ace/Condition_Thread_Mutex.h" -#include "ace/Thread.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_unistd.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO { - -CosSchedulingLockList::CosSchedulingLockList(CosSchedulingLockNode *lock_array, - const int size, - ACE_SYNCH_MUTEX *mutex) -{ - ACE_TRY_NEW_ENV - { - /* - * The pointers to the beginnings of the lists must be globally visible, - * so I have chosen to use the first three locks in the array. - * lock_array[0].next() (== free_->next() ) -> start of free list - * lock_array[1].next() (== granted_->next()) -> start of granted list - * lock_array[2].next() (== pending_->next()) -> start of pending list - */ - - /// start of the free list - lock_array[0].next(&lock_array[3]); - - /// start with an empty granted list - lock_array[1].next(0); - - /// start with an empty pending list - lock_array[2].next(0); - - /// initialize the free list (link together the elements in the array) - for (int i = 3; i < (size - 1); ++i) - { - lock_array[i].next(&lock_array[i + 1]); - ACE_NEW_THROW_EX(lock_array[i].condition_, - ACE_SYNCH_CONDITION(*mutex), - CORBA::NO_MEMORY()); - } - ACE_TRY_CHECK; - lock_array[size - 1].next(0); /// terminate the free list - - - /// Update the positions - this->free_ = &lock_array[0]; - this->granted_ = &lock_array[1]; - this->pending_ = &lock_array[2]; - } - ACE_CATCHANY - { - ACE_DEBUG((LM_ERROR, - "Error in %s: Line %d - Could not generate a Locklist in shared memory\n", - __FILE__, - __LINE__)); - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "Exception: CosSchedulingLockList()"); - } - ACE_ENDTRY; -} - -void -CosSchedulingLockList::destroy(const int size) -{ - for (int i = 3; i < size; ++i) - { - this->free_[i].condition_->remove(); - delete &free_[i].condition_; - } -} - -int -CosSchedulingLockList::grant_lock(const CosSchedulingLockNode& L) -{ - if (this->free_->next() == 0) - { - return 0; /// no free nodes left - } - /// take a node from the free list - CosSchedulingLockNode *new_lock = this->free_->next(); - this->free_->next(this->free_->next()->next()); - *new_lock = L; - - if ((this->granted_->next() == 0) - || (this->granted_->next()->priority_ceiling_ <= L.priority_ceiling_)) - { - /// insert at the head of the list - new_lock->next(this->granted_->next()); - this->granted_->next(new_lock); - } - else - { - /// find the proper location to insert - /// the new lock (ordered by priority ceiling) - CosSchedulingLockNode *current_lock = granted_->next(); - while ((current_lock->next() != 0) - && (current_lock->next()->priority_ceiling_ > L.priority_ceiling_)) - { - current_lock = current_lock->next(); - } - new_lock->next(current_lock->next()); - current_lock->next(new_lock); - } - - return 1; -} - -int -CosSchedulingLockList::defer_lock(const CosSchedulingLockNode& L, - ACE_SYNCH_MUTEX & mutex) -{ - if (this->free_->next() == 0) - { - return 0; /// no free nodes left - } - CosSchedulingLockNode *new_lock = free_->next(); - this->free_->next(free_->next()->next()); - *new_lock = L; - - if ((this->pending_->next() == 0) - ||(this->pending_->next()->priority_ <= L.priority_)) - { - /// insert at the head of the list - new_lock->next(this->pending_->next()); - this->pending_->next(new_lock); - } - else - { - /// find the proper location to insert the new lock - CosSchedulingLockNode *current_lock = pending_->next(); - while ((current_lock->next() != 0) - && (current_lock->next()->priority_ceiling_ > L.priority_ceiling_)) - { - current_lock = current_lock->next(); - } - new_lock->next(current_lock->next()); - current_lock->next(new_lock); - } - - - if (new_lock->condition_) - { - new_lock->condition_->wait(mutex); - return 1; - } - else - { - return 0; - } -} - - -int -CosSchedulingLockList::release_lock(CosSchedulingLockNode& L) -{ - if (this->granted_->next() == 0) - { - return 0; /// empty list of granted locks - } - - if (this->granted_->next()->threadID_ == L.threadID_) - { - /// remove the lock at the head of the list and put it on the free list - - /// Set the Lock to the next one in the granted list - L = *(this->granted_->next()); - - /// (sets next offset from previous statement) - L.next(this->granted_->next()->next()); - - /// set the next granted's next one to be the next free one - this->granted_->next()->next(this->free_->next()); - - /// Set the next free one to be the next granted one - this->free_->next(this->granted_->next()); - - /// Set the next granted on to be the Lock's next one - this->granted_->next(L.next()); - - /// Set the Locks next on to NULL - L.next(0); - - return 1; - } - - /// find the lock to remove - CosSchedulingLockNode *current_lock = granted_->next(); - while ((current_lock->next() != 0) - && (current_lock->next()->threadID_ != L.threadID_)) - { - current_lock = current_lock->next(); - } - if (current_lock->next() != 0) - { - /// removes lock and prepends to the free list, as above - L = *(current_lock->next()); - L.next(current_lock->next()->next()); - current_lock->next()->next(this->free_->next()); - this->free_->next(current_lock->next()); - current_lock->next(L.next()); - L.next(0); - return 1; - } - - return 0; -} - -int -CosSchedulingLockList::remove_deferred_lock(CosSchedulingLockNode& L) -{ - if (this->pending_->next() == 0) - { - return 0; /// empty list of pending locks - } - - /// take pending lock off the head of the list - /// (highest priority request) and add to the free list - L = *(this->pending_->next()); - CosSchedulingLockNode * fn = this->pending_->next(); - this->pending_->next(this->pending_->next()->next()); - fn->next(this->free_->next()); - this->free_->next(fn); - - return 1; -} - -PCP_Manager::PCP_Manager(CosSchedulingLockList *locks, - ACE_SYNCH_MUTEX *mutex, - const RTCORBA::Current_var current) -: locks_(locks), - mutex_(mutex), - current_(current) -{ - /// Get the thread ID - this->threadID_ = (ACE_OS::getpid() << 16) + int(ACE_Thread::self()); -} - -void -PCP_Manager::lock(const int priority_ceiling, const int priority) -{ - ACE_TRY_NEW_ENV - { - - /// we do not want the thread to be pre-empted inside - /// this critical section, so we - /// will set its priority to the highest possible - // This is not completely necessary since the server should be running - // at RTCORBA::maxPriority - this->current_->the_priority(RTCORBA::maxPriority); - this->mutex_->acquire(); - ACE_TRY_CHECK; - - /// create a structure to store my own lock request - CosSchedulingLockNode MyLock; - MyLock.threadID_ = this->threadID_; - MyLock.priority_ceiling_ = MyLock.elevated_priority_ = priority_ceiling; - MyLock.priority_ = priority; - /// Start by assuming we don't have the lock then go look for it - int HaveLock = 0; - while (!HaveLock) - { - /// retrieve the highest priority ceiling from the list - CosSchedulingLockNode *highest_lock = this->locks_->highest_ceiling(); - int prio_ceiling; - /// check to see if are at the highest priority, - /// if so set the priority ceiling - if (highest_lock) - { - prio_ceiling = highest_lock->priority_ceiling_; - } - else - { - prio_ceiling = -1; - } - - /// if I hold the highest ceiling or my priority is higher than the - /// highest ceiling, just get the lock - if ((highest_lock == 0) || - (highest_lock->threadID_ == this->threadID_) || - (highest_lock->priority_ceiling_ < priority)) - { - /// Try and grant the lock, if it is not granted, - /// then there are unfortunately no more lock nodes - if (!this->locks_->grant_lock (MyLock)) - { - ACE_ERROR ((LM_ERROR, - "Fatal error--out of lock nodes!!!")); - } - /// Lock obtained from grant_lock, don't loop again - HaveLock = 1; - } - else - { - /// There is another lock out there active, put this one - /// in the list of pending locks - if (this->locks_->defer_lock(MyLock, *this->mutex_)) - { - /// done waiting for it, remove it from the pending - /// lock list, will try again to grant on next loop - /// iteration - this->locks_->remove_deferred_lock (MyLock); - } - else - { - ACE_ERROR((LM_ERROR, - "Error in deferring lock\n")); - } - ACE_TRY_CHECK; - } - } - - /// remove mutex on the lock list - this->mutex_->release(); - ACE_TRY_CHECK; - - /// at this point we have the right to set the OS priority - /// Do so at the priority ceiline. - this->current_->the_priority(priority_ceiling); - - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_DEBUG((LM_ERROR, - "Error in %s: Line %d - Could lock resource\n" - __FILE__, - __LINE__)); - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "Exception: PCP_Manager::lock"); - } - ACE_ENDTRY; -} - -void PCP_Manager::release_lock() -{ - ACE_TRY_NEW_ENV - { - /// To prevent pre-emption in the critical section, - /// which could lead to unbounded blocking - this->current_->the_priority(RTCORBA::maxPriority); - - /// set up the mutex - this->mutex_->acquire(); - ACE_TRY_CHECK; - - /// remove the lock node from the list of locks - CosSchedulingLockNode L; - L.threadID_ = this->threadID_; - this->locks_->release_lock(L); - - /// Done with the list, release the mutex - this->mutex_->release(); - ACE_TRY_CHECK; - - /// Let the highest priority lock signal the condition variable - CosSchedulingLockNode *waiter = this->locks_->highest_priority(); - if (waiter) - { - waiter->condition_->signal(); - } - ACE_TRY_CHECK; - - /// We do not need to restore priority because we have already set this - // thread to wait at RTCORBA::maxPriority at the start of this method - } - ACE_CATCHANY - { - ACE_DEBUG((LM_ERROR, - "Error in %s: Line %d - Could not release lock\n" - __FILE__, - __LINE__)); - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "Exception: PCP_Manager::release_lock"); - } - ACE_ENDTRY; -} - - -PCP_Manager_Factory::PCP_Manager_Factory(const char *shared_file) -{ - ACE_TRY_NEW_ENV - { -#if !defined (ACE_LACKS_MMAP) - char temp_file[MAXPATHLEN + 1]; - - /// Get the temporary directory - if (ACE::get_temp_dir (temp_file, - MAXPATHLEN - ACE_OS_String::strlen(shared_file)) - == -1) - { - ACE_DEBUG((LM_ERROR, - "Error in %s: Line %d - Shared File Name too long\n" - __FILE__, - __LINE__)); - ACE_OS::exit(1); - } - ACE_TRY_CHECK; - - /// Add the filename to the end - ACE_OS_String::strcat (temp_file, shared_file); - - /// Store in the global variable. - this->shm_key_ = temp_file; - -#ifndef ACE_LACKS_MKSTEMP - if (ACE_OS::mkstemp (this->shm_key_) == 0 -#else - char *new_key = ACE_OS::mktemp (this->shm_key_); - if (ACE_OS::fopen(new_key, "w") != NULL -#endif /* ACE_LACKS_MKSTEMP */ - || (ACE_OS::unlink (this->shm_key_) == -1 -#ifndef ACE_HAS_WINCE - && errno == EPERM -#endif /* ACE_HAS_WINCE */ - )) - ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - this->shm_key_)); - ACE_TRY_CHECK; - -#else /* !ACE_LACKS_MMAP */ - ACE_DEBUG((LM_ERROR, - "Error in %s: Line %d - ACE_LACKS_MMAP - cannot create shared memory\n" - __FILE__, - __LINE__)); - ACE_OS::exit(); -#endif /* !ACE_LACKS_MMAP */ - - /// determine space requirements for the lock list - u_int CosSchedulingLockList_space = - LOCK_ARRAY_SIZE * sizeof (CosSchedulingLockNode); - - /// allocate space in shared memory for size of the lock list - int result = - this->mem_.open(this->shm_key_, CosSchedulingLockList_space); - - /// Make sure shared memory CosSchedulingLockList is ok, scheduling - /// service cannot run without it. - if (result == -1) - { - ACE_ERROR((LM_ERROR, - "Error in %s: Line %d - Error in creating the shared " - " memory segment to hold Lock information, " - "aborting ServerScheduler.\n" - __FILE__, - __LINE__)); - ACE_OS::exit(1); - } - - ACE_CHECK; - - /// Make the shared memory a place for a lock list - this->lock_array_ = static_cast (this->mem_.malloc(CosSchedulingLockList_space)); - /// get the pointer to the list of locks and - /// construct a lock list manager object - if (this->lock_array_ == 0) - { - ACE_ERROR((LM_ERROR, - "Error in %s: Line %d - Error in creating " - "array to hold lock information " - "ServerScheduler not created\n " - __FILE__, - __LINE__)); - ACE_OS::exit(1); - } - else - { - /// construct the new lock list in shared memory - ACE_NEW_THROW_EX(this->locks_, - CosSchedulingLockList(this->lock_array_, - LOCK_ARRAY_SIZE, - &this->mutex_), - CORBA::NO_MEMORY() - ); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_ERROR((LM_ERROR, - "Error in %s: Line %d - Error in creating " - "PCP_Manager_Factory to create new PCP_Managers\n" - __FILE__, - __LINE__)); - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "PCP_Manager_Factory::PCP_Manager_Factory\n"); - } - ACE_ENDTRY; -} - -PCP_Manager_Factory::~PCP_Manager_Factory() -{ - /// throw out all the old Locks - this->locks_->destroy(LOCK_ARRAY_SIZE); - /// and delete the shared memory - this->mem_.remove(); - delete this->locks_; -} - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h deleted file mode 100644 index b7d3cda9069..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h +++ /dev/null @@ -1,316 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTCosScheduling_PCP_Manager.h - * - * $Id$ - * - * @author Matt Murphy - * @author based upon work by Greg Cooper - * @author University of Rhode Island - */ -//============================================================================= - -#ifndef PCP_MANAGER_H -#define PCP_MANAGER_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Shared_Memory_MM.h" -#include "ace/Map_T.h" -#include "ace/SString.h" -#include "tao/RTCORBA/RTCORBA.h" - - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option push -w-rvl -w-rch -w-ccc -w-inl -#endif /* __BORLANDC__ */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO { - - -#if !defined (LOCK_ARRAY_SIZE) - #define LOCK_ARRAY_SIZE 1024 -#endif /* LOCK_ARRAY_SIZE */ - -#ifndef COS_SCHEDULING_CONTAINERS -#define COS_SCHEDULING_CONTAINERS - /* - * ResourceCeilingMap - * - * This typedef is used in the RTCORBA 1.0 Scheduling Service to - * map names of resources on a server with priority ceilings. - */ - typedef ACE_CString COS_SCHEDULING_RESOURCE_KEY; - typedef int COS_SCHEDULING_RESOURCE_VALUE; - - typedef ACE_Map_Manager_Adapter< - COS_SCHEDULING_RESOURCE_KEY, - COS_SCHEDULING_RESOURCE_VALUE, - ACE_Noop_Key_Generator > CosSchedulingResourceMap; -#endif /* COS_SCHEDULING_CONTAINERS */ - - -/** -* @class CosSchedulingLockList -* -* @brief This program provides an abstract mechanism -* for the PCP_Manager class to store its lists of locks in -* shared memory. It provides an efficient allocation and -* retrieval system and uses a pseudo-linked-list based on -* offsets (rather than absolute pointers) which allows it -* to work regardless of where it is mapped in a process's -* address space. This means it can be used in a shared -* memory segment. -* -*/ -struct CosSchedulingLockNode -{ - /// unique ID of the thread owning the lock - int threadID_; - - /// the lock's priority ceiling - int priority_ceiling_; - - /// the thread's original global priority - int priority_; - - /// the thread's elevated priority - int elevated_priority_; - - /// offset to the next lock in the list - int next_offset_; - - /// Condition Variable to wait on Mutex - ACE_SYNCH_CONDITION *condition_; - - /** - * Translates the offset to the next lock - * to a pointer and returns it - */ - struct CosSchedulingLockNode *next(); - - /** - * Translates the pointer into an offset and - * stores it in the structure - */ - void next(const struct CosSchedulingLockNode *Next); - - /** - * Copies the relevant fields while preserving those which should not be - *modified - */ - const CosSchedulingLockNode& operator=(const CosSchedulingLockNode& L); - -}; - -class CosSchedulingLockList -{ - public: - /** - * Creates a CosSchedulingLockList structure using the storage in lock_array: - * if Init is 1, the array is initialized to indicate that - * none of the nodes are in use - * - * @param lock_array The shared memory space for the CosSchedulingLockList - * @param size The size of the lock list - * @param mutex the mutex that guards the CosSchedulingLockList - */ - CosSchedulingLockList(CosSchedulingLockNode *lock_array, - const int size, - ACE_SYNCH_MUTEX *mutex); - - /** - * Calls ACE_Thread::remove() on all conditions in the list; - * should only be called when SchedInit terminates - * (may not be necessary then) - * - * @param size the number of locks to destroy, starting at head - */ - void destroy(const int size); - - /** - * Adds L to the granted list, if space is available - * (returns success); the list of granted locks is kept sorted - * by priority-ceiling so that the highest ceiling can - * be found quickly at the head - * - * @param L the CosSchedulingLockNode to add to the granted list. - */ - int grant_lock(const CosSchedulingLockNode& L); - - /** - * Adds L to the pending list, if space is available - * (returns success); the list of pending locks is kept - * sorted by priority so that the highest priority thread - * awaiting a lock will be at the head; returns pointer to - * condition variable upon success, NULL otherwise - * - * @param L The lock to add to the pending list. - * @param mutex The mutex that guards the locks. - */ - int defer_lock(const CosSchedulingLockNode& L, - ACE_SYNCH_MUTEX &mutex); - - /** - * Removes a node from the granted lock list whose threadID_ - * matches that of L, replacing L with the removed lock - * - * @param L released lock - */ - int release_lock(CosSchedulingLockNode& L); - - /** - * Removes the first node from the pending lock list, - * replacing L with the removed lock - * - * @param L Reference to the lock that is removed from pending - */ - int remove_deferred_lock(CosSchedulingLockNode& L); - - /** - * Returns a pointer to the node containing the highest ceiling (the - * first node in the list of held locks) - */ - CosSchedulingLockNode *highest_ceiling(); - - - /** - * Returns a pointer to the node with the highest priority - * (from the first node in the list of pending locks - */ - CosSchedulingLockNode *highest_priority(); - - private: - - /// A list of free locks - CosSchedulingLockNode *free_; - - /// A list of Free locks - CosSchedulingLockNode *granted_; - - /// A list of pending locks awaiting to be locked - CosSchedulingLockNode *pending_; - -}; - - -/** -* @class PCP_Manager -* -* @brief PCP_Manager handles Priority Ceiling Control Protocol for the -* RTCORBA 1.0 ServerScheduler -* Each thread needs a PCP_Manager object: these are created by the -* PCP_Manager_Factory object, of which only one is needed per process -* -*/ -class PCP_Manager -{ -public: - - /** - * Initializes a PCP_Manager object with the given lists, mutex, - * condition variable, and priority mapper. - * - * @param locks A list of the locks to use in the PCP_Manager. - * @param mutex The mutex to guard the locks. - */ - PCP_Manager(CosSchedulingLockList *locks, - ACE_SYNCH_MUTEX *mutex, - const RTCORBA::Current_var current); - - /** - * Acquires a lock on a shared resource using the - * priority ceiling protocol - * - * @param PriorityCeiling The priority ceiling of the lock - * @param priority The priority to lock at. - */ - void lock(const int PriorityCeiling, const int Priority); - - /** - * Releases a lock previously granted with lock() - */ - void release_lock(); - - /** - * Returns the mThreadID data member - */ - int threadID(); - - private: - int threadID_; /// ID of thread owning this object - CosSchedulingLockList *locks_; /// combined list of locks - ACE_SYNCH_MUTEX *mutex_; /// Mutex to guard lock list - RTCORBA::Current_var current_; /// reference to set local priority - -}; - -/** -* @class PCP_Manager_Factory -* -* @brief Creates PCP_Managers. Each process needs only one of -* these objects: it can create a PCP_Manager object for each -* thread as need arises. -*/ -class PCP_Manager_Factory -{ -public: - - /** - * Initializes a PCP_Manager_Factory: each process should only - * do this once. It attaches a shared memory segment and retrieves - * pointers to the granted and pending lock lists as well as - * the mutex and condition variable. - */ - PCP_Manager_Factory(const char *shared_file); - - ~PCP_Manager_Factory(); - - /** - * Creates a new PCP manager object using the lists and - * synchronization objects found in shared memory. - */ - PCP_Manager New_PCP_Manager(RTCORBA::Current_var current); - - private: - CosSchedulingLockList *locks_; /// lists of granted and pending locks - ACE_SYNCH_MUTEX mutex_; /// The mutex for locking the lock list - ACE_Shared_Memory_MM mem_; /// shared memory space - char *shm_key_; /// Key for shared memory - CosSchedulingLockNode *lock_array_; /// The lock list - -}; - -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i" -#endif /* __ACE_INLINE__ */ - - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option pop -#endif /* __BORLANDC__ */ - -#include /**/ "ace/post.h" -#endif /* PCP_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i deleted file mode 100644 index 15e9ced25a9..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i +++ /dev/null @@ -1,98 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTCosScheduling_PCP_Manager.i - * - * $Id$ - * - * @author Matt Murphy - * @author based upon work by Greg Cooper - * @author University of Rhode Island - */ -//============================================================================= - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * Returns a pointer to the node containing the highest ceiling (the - * first node in the list of held locks) - */ -ACE_INLINE TAO::CosSchedulingLockNode * -TAO::CosSchedulingLockList::highest_ceiling() -{ - return this->granted_->next(); -} - - -/** - * Returns a pointer to the node with the highest priority - * (from the first node in the list of pending locks - */ -ACE_INLINE TAO::CosSchedulingLockNode * -TAO::CosSchedulingLockList::highest_priority() -{ - return this->pending_->next(); -} - - -/** - * Returns the mThreadID data member - */ -ACE_INLINE int -TAO::PCP_Manager::threadID() -{ - return this->threadID_; -} - - -/** - * Creates a new PCP manager object using the lists and - * synchronization objects found in shared memory. - */ -ACE_INLINE TAO::PCP_Manager -TAO::PCP_Manager_Factory::New_PCP_Manager(RTCORBA::Current_var current) -{ - return TAO::PCP_Manager(this->locks_, &this->mutex_, current); -} - -ACE_INLINE struct TAO::CosSchedulingLockNode * -TAO::CosSchedulingLockNode::next() -{ - /// INT_MAX is a special value indicating the end of a list - if (this->next_offset_ == INT_MAX) - { - return 0; - } - else - { - return this + this->next_offset_; - } -} - -ACE_INLINE void -TAO::CosSchedulingLockNode::next(const struct CosSchedulingLockNode *next_lock) -{ - /// INT_MAX is a special value indicating the end of a list - if (next_lock == 0) - { - this->next_offset_ = INT_MAX; - } - else - { - this->next_offset_ = next_lock - this; - } -} - -ACE_INLINE const TAO::CosSchedulingLockNode& -TAO::CosSchedulingLockNode::operator=(const CosSchedulingLockNode& L) -{ - this->threadID_ = L.threadID_; - this->priority_ceiling_ = L.priority_ceiling_; - this->priority_ = L.priority_; - this->elevated_priority_ = L.elevated_priority_; - - return *this; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp deleted file mode 100644 index d0fb3c1c07b..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp +++ /dev/null @@ -1,766 +0,0 @@ -//============================================================================= -/** - * @file RTCosScheduling_ServerScheduler_i.cpp - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - -#include "orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h" -#include "ace/OS_NS_errno.h" -#include "ace/OS_NS_unistd.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i" -#endif /* __ACE_INLINE__ */ - -#include "tao/ORB_Core.h" -#include "tao/PortableServer/Root_POA.h" -#include "tao/RTCORBA/Linear_Priority_Mapping.h" -#include "tao/RTCORBA/Priority_Mapping_Manager.h" -#include "tao/RTPortableServer/RTPortableServer.h" -#include "tao/CodecFactory/CodecFactory.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO { - -RTCosScheduling_ServerScheduler_i:: - RTCosScheduling_ServerScheduler_i (char *node, - char *file, - char *shared_file, - int numthreads - ) -: num_threads_(numthreads), - shared_file_(shared_file) -{ - /// Read the Resources and ceilings from the config file - /// and put them into the resource_map_ - if ( !ACE_OS::strcmp(file,"") || file == NULL || !TAO_HAS_INTERCEPTORS) - { - ACE_DEBUG((LM_DEBUG, - "Server will not schedule object execution " - "(ServerScheduler interceptor not installed)")); - } - else if (!resources(node, file, &this->resource_map_)) - { - ACE_OS::exit(1); - } -} - - -// Implementation skeleton destructor -RTCosScheduling_ServerScheduler_i::~RTCosScheduling_ServerScheduler_i (void) -{ - delete this->pm_; -} - - -int -RTCosScheduling_ServerScheduler_i::configure_ORB(TAO_ORB_Core *orb_core) -{ - ACE_TRY_NEW_ENV - { - - // Get an object reference to orb from the orb core - CORBA::ORB_ptr orb = orb_core->orb(); - -#if TAO_HAS_INTERCEPTORS - /// Construct the interceptor that the Scheduling service uses - RTCosScheduling_ServerScheduler_Interceptor *server_interceptor = 0;; - ACE_NEW_THROW_EX(server_interceptor, - RTCosScheduling_ServerScheduler_Interceptor(orb, - this->shared_file_, - &this->object_name_map_, - &this->resource_map_), - CORBA::NO_MEMORY()); - ACE_TRY_CHECK; - - /// First, get a list of all interceptors currently registered - TAO::ServerRequestInterceptor_List::TYPE &interceptors = - orb_core->server_request_interceptors(); - - - /// Now check to see if the ServerScheduler Interceptor has already - /// been registered - u_int i; - u_int unregistered = 1; - for (i = 0; i < interceptors.size() && unregistered; ++i) - { - if (ACE_OS::strncmp( - interceptors[i]->_interface_repository_id (), - server_interceptor->_interface_repository_id(), - ACE_OS::strlen( - server_interceptor->_interface_repository_id())-2) - == 0) - { - /// The interceptor is already registered, - /// don't try to register it again - unregistered = 0; - } - } - - if (unregistered) - { - orb_core->add_interceptor(server_interceptor - ACE_ENV_ARG_PARAMETER); - } -#endif /* TAO_HAS_INTERCEPTORS */ - - /// Resolve a reference to the Linear Priority Mapping Manager - CORBA::Object_var rt_obj = - orb->resolve_initial_references("PriorityMappingManager" - ACE_ENV_ARG_PARAMETER); - if (CORBA::is_nil(rt_obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "Priority Mapping Manager not available, " - "RT not used on server!\n")); - return 0; - } - RTCORBA::PriorityMappingManager_var mapping_manager = - RTCORBA::PriorityMappingManager::_narrow(rt_obj.in() - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - /// Create the Linear Priority Mapping Manager - ACE_NEW_THROW_EX(this->pm_, - TAO_Linear_Priority_Mapping( - ACE_SCHED_FIFO), - CORBA::NO_MEMORY()); - - mapping_manager->mapping(this->pm_); - ACE_TRY_CHECK; - - } - ACE_CATCHANY - { - ACE_ERROR((LM_ERROR, "Could not configure the orb")); - ACE_OS::exit(1); - } - ACE_ENDTRY; - return 1; -} - - -::PortableServer::POA_ptr RTCosScheduling_ServerScheduler_i::create_POA ( - PortableServer::POA_ptr parent, - const char * adapter_name, - PortableServer::POAManager_ptr a_POAManager, - const CORBA::PolicyList & policies - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( CORBA::SystemException - , PortableServer::POA::AdapterAlreadyExists - , PortableServer::POA::InvalidPolicy)) -{ - ACE_TRY_NEW_ENV - { - // We should hopefully be using more than one thread -#if defined (ACE_HAS_THREADS) - u_int has_threads = 2; -#else - u_int has_threads = 1; -#endif /* ACE_HAS_THREADS */ - - /// Get the ORB core from the POA Manager - TAO_Root_POA *tao_poa = dynamic_cast(parent); - - TAO_ORB_Core &orb_core = tao_poa->orb_core(); - - /// configure the orb (linear mapping, register interceptor, etc.) - configure_ORB(&orb_core); - - /// Get an object reference to orb from the orb core - CORBA::ORB_ptr orb = orb_core.orb(); - - /// Now resolve a reference to the Real Time ORB - CORBA::Object_var rt_obj = - orb->resolve_initial_references("RTORB" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil(rt_obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "RTORB not available, " - "not using RT on the server!\n")); - return 0; - } - - /// Get the reference to the RT ORB - RTCORBA::RTORB_var rt_orb = - RTCORBA::RTORB::_narrow (rt_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil(rt_orb.in ())) - { - ACE_DEBUG((LM_DEBUG, - "Could not initialize orb for the server interceptor, " - "RT will not be used!\n")); - return 0; - } - - - // Copy the non realtime policy list - CORBA::PolicyList poa_policy_list = policies; - poa_policy_list.length (policies.length()+has_threads); - - /// Set the server to run at max priority so it will immediately - /// process intercepts and place new requests into the approprate queue - poa_policy_list[policies.length()] = - rt_orb->create_priority_model_policy ( - RTCORBA::SERVER_DECLARED, - RTCORBA::maxPriority - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // Set up the threadpool -#if defined (ACE_HAS_THREADS) - CORBA::ULong stacksize = 0; - - /// ideally 1, but not implemented in TAO. This is fine as long - /// the system is not overloaded and can accept all requests - CORBA::Boolean allow_request_buffering = 0; - - // ideally max_concurrent - num_threads_, but no request buffer in TAO - CORBA::ULong max_buffered_requests = 0; - - /// TAO does not have, nor plan to implement, request buffering - CORBA::ULong max_request_buffer_size = 0; - - /// This comes from the model of the system - CORBA::ULong static_threads = this->num_threads_; - - CORBA::ULong dynamic_threads = 0; - - /// Set it to max so there will be no priority inversions - /// while the request is accepted - CORBA::ULong default_thread_priority = RTCORBA::maxPriority; - - /// Create the threadpool the server uses to execute requests - RTCORBA::ThreadpoolId threadpool = - rt_orb->create_threadpool (stacksize, - static_threads, - dynamic_threads, - default_thread_priority, - allow_request_buffering, - max_buffered_requests, - max_request_buffer_size - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - poa_policy_list[policies.length()+1] = - rt_orb->create_threadpool_policy (threadpool - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; -#endif /* ACE_HAS_THREADS */ - - - /// Create the RT POA - PortableServer::POA_var poa = - parent->create_POA (adapter_name, - a_POAManager, - poa_policy_list - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - RTPortableServer::POA_var rt_poa = - RTPortableServer::POA::_narrow(poa.in() - ACE_ENV_ARG_PARAMETER); - - /// return the reference to the RT POA - return rt_poa.in(); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "ERROR: Could not create a Scheduling Service POA\n"); - return parent; - } - ACE_ENDTRY; - return parent; -} - -void -RTCosScheduling_ServerScheduler_i::schedule_object ( - CORBA::Object_ptr obj, - const char * name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException - , RTCosScheduling::UnknownName)) -{ - /// Check and see if the object name is in the resource map, - /// if it is, then there is a ceiling for it and we can add it to the - /// object name map. If there is no name in the resource map, then there - /// is no valid ceiling for it, throw an UnknownName exception - if (this->resource_map_.find(name) == -1) - { - ACE_THROW (RTCosScheduling::UnknownName()); - } - else - { - this->object_name_map_.rebind(obj, name); - ACE_CHECK; - } -} - - - -#if TAO_HAS_INTERCEPTORS -RTCosScheduling_ServerScheduler_Interceptor::RTCosScheduling_ServerScheduler_Interceptor( - CORBA::ORB_ptr orb, - char *shared_file, - CosSchedulingObjectMap *ObjectMap, - CosSchedulingResourceMap *resourceMap) -: name_("RTCosScheduling_ServerScheduler_Interceptor"), - orb_(orb), - object_name_map_(ObjectMap), - resource_map_(resourceMap) -{ - ACE_TRY_NEW_ENV - { - // Create a new Priority Ceiling protocol manager factory - ACE_NEW_THROW_EX(this->PCP_factory_, - PCP_Manager_Factory(shared_file), - CORBA::NO_MEMORY()); - ACE_CHECK; - - - /// Now resolve a reference to the Real Time ORB - CORBA::Object_var obj = - this->orb_->resolve_initial_references("RTORB" - ACE_ENV_ARG_PARAMETER); - RTCORBA::RTORB_var rt_orb; - ACE_TRY_CHECK; - if (CORBA::is_nil(obj.in ())) - { - ACE_DEBUG((LM_DEBUG, - "RTORB not available, " - "RT ServerScheduler not used!\n")); - return; - } - else - { - rt_orb =RTCORBA::RTORB::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - } - - // Now get a reference to the RTCurrent - // for the PCP manager to control - obj = this->orb_->resolve_initial_references ("RTCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil(obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "RTCurrent not available, " - "RT ServerScheduler not used!\n")); - return; - } - else - { - this->current_ = - RTCORBA::Current::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - } - - // Now get a reference to the codec factory to create a codec that will - // decode the client priority sent in the service context - obj = - this->orb_->resolve_initial_references ("CodecFactory" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil(obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "Could not initalize the server interceptor Codec, " - "RT ServerScheduler not used!\n")); - return; - } - else - { - this->codec_factory_ = IOP::CodecFactory::_narrow(obj.in()); - } - ACE_TRY_CHECK; - - - // Set up the codec - IOP::Encoding encoding; - encoding.format = IOP::ENCODING_CDR_ENCAPS; - encoding.major_version = 1; - encoding.minor_version = 2; - - this->codec_ = this->codec_factory_->create_codec(encoding); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "Error in installing the interceptor for the ServerScheduler\n"); - } - ACE_ENDTRY; -} - - -// Delete the objects we have made in the interceptor -RTCosScheduling_ServerScheduler_Interceptor::~RTCosScheduling_ServerScheduler_Interceptor() -{ - this->object_name_map_ = 0; - this->resource_map_ = 0; - delete this->PCP_factory_; -} - -void -RTCosScheduling_ServerScheduler_Interceptor::receive_request( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_NOT_USED) -ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - ACE_TRY_NEW_ENV - { - - ACE_CString name = ""; - COS_SCHEDULING_RESOURCE_VALUE ceiling, base_priority = 0; - - // Now get a reference to the POA, this is used to get a reference - // to the target object - PortableInterceptor::AdapterName *adapter_seq = ri->adapter_name(); - ACE_TRY_CHECK; - PortableServer::POA_var poa; - const char *adapter_name = - (*adapter_seq)[adapter_seq->length() - 1]; - - CORBA::Object_var obj = - this->orb_->resolve_initial_references("RootPOA" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - if (CORBA::is_nil(obj.in())) - { - ACE_DEBUG((LM_DEBUG, - "Could not get root POA, " - "RT scheduling not used on server!\n")); - return; - } - else - { - PortableServer::POA_var root_poa = - PortableServer::POA::_narrow(obj.in()); - if (CORBA::is_nil(root_poa.in())) - { - ACE_ERROR((LM_ERROR, - "No POA found in Interceptor prio not set\n")); - return; - } - poa = root_poa->find_POA(adapter_name, 0); - ACE_TRY_CHECK; - } - - // decode the Client priority sent in the service context - IOP::ServiceId id = IOP::RTCorbaPriority; - IOP::ServiceContext_var sc; - ACE_TRY_EX(svc_req) - { - sc = ri->get_request_service_context(id); - ACE_TRY_CHECK_EX(svc_req); - } - ACE_CATCHANY - { - // The RTCorbaPriority was not sent, do not use real time - // Here we cannot let the server continue to run at - // RTCORBA::maxPriority, so change to RTCORBA::minPriority - // and things will run best effort - this->current_->the_priority(RTCORBA::minPriority); - return; - } - ACE_ENDTRY; - - CORBA::OctetSeq ocSeq = CORBA::OctetSeq( - sc->context_data.length(), - sc->context_data.length(), - sc->context_data.get_buffer(), - 0); - ACE_TRY_CHECK; - - CORBA::Any the_priority_as_any; - the_priority_as_any = *this->codec_->decode(ocSeq); - ACE_TRY_CHECK; - - RTCORBA::Priority the_client_priority; - the_priority_as_any >>= the_client_priority; - ACE_TRY_CHECK; - - // get the object from the object ID that is passed - CORBA::OctetSeq_var oseq = ri->object_id(); - PortableServer::ObjectId oid(oseq -> length(), - oseq -> length(), - oseq -> get_buffer(), - 0); - ACE_TRY_CHECK; - - CORBA::Object_var target_object = poa->id_to_reference(oid); - ACE_TRY_CHECK; - - // Check to make sure we have the object as scheduled by the - // ServerScheduler - if (this->object_name_map_->find(target_object, name) == -1 ) - { - ACE_DEBUG((LM_DEBUG, - "Object not found in config file, " - "RT ServerScheduler not used!\n")); - // Here we cannot let the server continue to run at - // RTCORBA:: maxPriority, so it will run at minPriority - // and things will run best effort - this->current_->the_priority(RTCORBA::minPriority); - return; - } - - /// If the object name if found, get its priority ceiling - if (this->resource_map_->find(name, ceiling) == -1 ) - { - /// We could not find the Object's priority ceiling - /// given its name - ACE_DEBUG((LM_DEBUG, - "Object Resource Ceiling not found in config file, " - "RT ServerScheduler not used!\n")); - // Here we cannot let the server continue to run at - // RTCORBA:: maxPriority, so it will run at minPriority - // and things will run best effort - this->current_->the_priority(RTCORBA::minPriority); - return; - } - - /// Get the base priority of the server - if (this->resource_map_->find("BP", base_priority) == -1 ) - { - ACE_DEBUG((LM_DEBUG, - "Server Base Priority not found in config file, " - "RTServerScheduler not used!\n")); - // Here we cannot let the server continue to run at - // RTCORBA:: maxPriority, so it will run at minPriority - // and things will run best effort - this->current_->the_priority(RTCORBA::minPriority); - return; - } - - /// Create a new PCP Manager to manage the priority control - COS_SCHEDULING_INVOCATION_VALUE p = 0; - ACE_NEW_THROW_EX(p, - PCP_Manager( - PCP_factory_->New_PCP_Manager(this->current_)), - CORBA::NO_MEMORY()); - ACE_TRY_CHECK; - - // Get the lock on the resource, using MPCP - - p->lock(ceiling + base_priority, - the_client_priority + base_priority); - - /// store the thread in the invocation list - this->invocation_map_.bind( - p->threadID(), - p); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION(ACE_ANY_EXCEPTION, - "Unknown exception in the receive request\n"); - ACE_OS::exit(1); - } - ACE_ENDTRY; -} - -void -RTCosScheduling_ServerScheduler_Interceptor::send_reply( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC(( - CORBA::SystemException - )) -{ - ACE_UNUSED_ARG(ri); - finish_execution(); -} - -void -RTCosScheduling_ServerScheduler_Interceptor::finish_execution() -{ - PCP_Manager *p = 0; - this->invocation_map_.unbind((ACE_OS::getpid() << 16) + int(ACE_Thread::self()),p); - if (p) - { - /// Release the Lock on the Thread - p->release_lock(); - /// Delete the PCP Manager - delete p; - } -} - -char* -RTCosScheduling_ServerScheduler_Interceptor::name(ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC((CORBA::SystemException)) -{ - return CORBA::string_dup(this->name_); -} - -void -RTCosScheduling_ServerScheduler_Interceptor::destroy(ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC((CORBA::SystemException)) -{ -} - -void -RTCosScheduling_ServerScheduler_Interceptor::receive_request_service_contexts( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - ACE_UNUSED_ARG(ri); -} - -void -RTCosScheduling_ServerScheduler_Interceptor::send_exception( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - ACE_UNUSED_ARG(ri); - finish_execution(); -} - -void -RTCosScheduling_ServerScheduler_Interceptor::send_other( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)) - { - ACE_UNUSED_ARG(ri); - finish_execution(); - } - -#endif /* TAO_HAS_INTERCEPTORS */ - -int -RTCosScheduling_ServerScheduler_i::resources( - const char *node_name, - const char *file_name, - CosSchedulingResourceMap *resource_map) -{ - /// get the resource list list just for the particular node - const unsigned int BUF_MAX = 256; - FILE *fp = ACE_OS::fopen(file_name, "r"); - if (fp == NULL) - { - /// Error return of we cannot open the file. - ACE_ERROR_RETURN((LM_ERROR, - "Could not find the config file %s, aborting\n", - file_name), - 0); - } - - - char line[BUF_MAX], key[64]; - ACE_OS::strncpy(key, "Node ", sizeof("Node ")); - ACE_OS::strcat(key, node_name); - -#ifndef ACE_LACKS_CLEARERR - ACE_OS::clearerr(fp); -#else -# warning ACE_OS::clearerr() is unimplemented on this platform. -# warning This code may not function properly. -#endif /* !ACE_LACKS_CLEARERR */ - do - { - ACE_OS::fgets(line, BUF_MAX, fp); - if (ACE_OS::last_error() == EOF) - { - ACE_ERROR_RETURN((LM_ERROR, - "Node %s not found in config file\n", - node_name), - 0); - break; - } - - } - while (ACE_OS::strncmp(line,key,ACE_OS::strlen(key)) != 0); - - /// Skip to the appropriate Task section of the node -#ifndef ACE_LACKS_CLEARERR - ACE_OS::clearerr(fp); -#else -# warning ACE_OS::clearerr() is unimplemented on this platform. -# warning This code may not function properly. -#endif /* !ACE_LACKS_CLEARERR */ - do - { - ACE_OS::fgets(line, BUF_MAX, fp); - /// Make sure we did not hit the end of file - if (ACE_OS::last_error() == EOF) - { - ACE_ERROR_RETURN((LM_ERROR, - "Task list not found for node %s\n", - node_name), - 0); - break; - } - - } - while (ACE_OS::strncmp(line, - "Resources:", - ACE_OS::strlen("Resources:") - ) != 0); - - CORBA::Short done = 0; - COS_SCHEDULING_RESOURCE_KEY name; - COS_SCHEDULING_RESOURCE_VALUE priority = 0; - u_int delimiter; - - /// read each activity/priority pair from the config file - while (!done) - { - /// get the activity name - ACE_OS::fgets(line, BUF_MAX, fp); - - /// check to make sure we have not reached the end of the list. - if (ACE_OS::strncmp(line, "END", ACE_OS::strlen(line)-1) != 0) - { - name = ACE_CString(line); - delimiter = name.find('\t'); - char *p = ACE_OS::strchr(line, '\t'); - if (p) - priority = ACE_OS::atoi(p); - if (priority == 0) - priority = RTCORBA::minPriority; - if (delimiter < name.length() && delimiter > 0) - { - resource_map->bind(name.substr(0, delimiter), priority); - } - else - { - ACE_ERROR_RETURN((LM_ERROR, - "Error in reading resources from %s, aborting", - file_name), - 0); - } - } - else - { - done = 1; - } - } - - return 1; -} - -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h deleted file mode 100644 index beb95c8417c..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h +++ /dev/null @@ -1,316 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTCosScheduling_ServerScheduler_i.h - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - -#ifndef SERVER_SCHEDULERI_H -#define SERVER_SCHEDULERI_H - -#include /**/ "ace/pre.h" - -#include "ace/Map_T.h" -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SString.h" -#include -#include -#include "orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h" -#include "tao/PortableInterceptorC.h" -#include "tao/CodecFactory/CodecFactory.h" -#include "tao/LocalObject.h" - - - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option push -w-rvl -w-rch -w-ccc -w-inl -#endif /* __BORLANDC__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -#ifndef RTCOSSCHEDULING_SERVER_CONTAINERS -#define RTCOSSCHEDULING_SERVER_CONTAINERS - -/** - * CosSchedulingObjectNameMap - * - * This typedef is used by the RTCORBA 1.0 ServerScheduler to map - * CORBA object references to names - */ - -typedef CORBA::Object_var COS_SCHEDULING_OBJECT_NAME_KEY; -typedef ACE_CString COS_SCHEDULING_OBJECT_NAME_VALUE; - -template<> -class TAO_RTCosScheduling_Export ACE_Equal_To< COS_SCHEDULING_OBJECT_NAME_KEY > -{ - public: - int operator () (const COS_SCHEDULING_OBJECT_NAME_KEY lhs, - const COS_SCHEDULING_OBJECT_NAME_KEY rhs) const; -}; - - -namespace TAO { - -class TAO_RTCosScheduling_Export CosSchedulingObjectMap_Hash_Key -{ -public: - u_long operator () (const COS_SCHEDULING_OBJECT_NAME_KEY &key) const; -}; - -typedef ACE_Hash_Map_Manager_Ex_Adapter< - COS_SCHEDULING_OBJECT_NAME_KEY, - COS_SCHEDULING_OBJECT_NAME_VALUE, - CosSchedulingObjectMap_Hash_Key, - ACE_Equal_To, - ACE_Noop_Key_Generator > CosSchedulingObjectMap; - -/** - * This typedef is used in the ServerScheduler to hold a list of - * priority ceiling protocol managers for each active method call - * from a client. - */ -typedef int COS_SCHEDULING_INVOCATION_KEY; -typedef PCP_Manager * COS_SCHEDULING_INVOCATION_VALUE; - -class CosSchedulingInvocation_Hash_key -{ -public: - u_long operator () (const COS_SCHEDULING_INVOCATION_KEY &key) const; -}; - -typedef ACE_Hash_Map_Manager_Ex_Adapter< - COS_SCHEDULING_INVOCATION_KEY, - COS_SCHEDULING_INVOCATION_VALUE, - CosSchedulingInvocation_Hash_key, - ACE_Equal_To, - ACE_Noop_Key_Generator > CosSchedulingInvocationMap; - - -#endif /* RTCOSSCHEDULING_SERVER_CONTAINERS */ - -#if TAO_HAS_INTERCEPTORS - /** - * @class RTCosScheduling_ServerScheduler_Interceptor - * - * @brief The RTCosScheduling_ServerScheduler_Interceptor intercepts CORBA - * requests on behalf of the RTCORBA 1.0 scheduling service and - * schedules the requests. - */ - class RTCosScheduling_ServerScheduler_Interceptor - : public PortableInterceptor::ServerRequestInterceptor - { - public : - RTCosScheduling_ServerScheduler_Interceptor(CORBA::ORB_ptr orb, - char *shared_file, - CosSchedulingObjectMap *CosSchedulingObjectMap, - CosSchedulingResourceMap *resourceMap); - - - virtual ~RTCosScheduling_ServerScheduler_Interceptor(); - - virtual char* name(ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC(( - CORBA::SystemException)); - - virtual void destroy( ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC((CORBA::SystemException)); - - virtual void receive_request( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_request_service_contexts( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_reply( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC((CORBA::SystemException)); - - virtual void send_exception( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_other( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC(( - CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - void finish_execution(); - - - private: - - /// The name of the interceptor - const char* name_; - - /// reference to set local priority - RTCORBA::Current_var current_; - - /// Factory reference to receive PCP_managers - PCP_Manager_Factory * PCP_factory_; - - /// Map to match threadIDs with PCP_Managers - CosSchedulingInvocationMap invocation_map_; - - //The orb - CORBA::ORB_ptr orb_; - - /// Map to match CORBA::Object_vars to names - CosSchedulingObjectMap *object_name_map_; - - /// Map to match Resource names to Ceilings - CosSchedulingResourceMap *resource_map_; - - // The codec to decode incoming CORBA Priorities - IOP::Codec_var codec_; - - - // The factory to create the codec - IOP::CodecFactory_var codec_factory_; - }; - -#endif /* TAO_HAS_INTERCEPTORS */ - - /** - * @class RTCosScheduling_ServerScheduler_i - * - * @brief The ServerScheduler class handles server side - * scheduling for the RTCORBA 1.0 Scheduling Service. - */ - class TAO_RTCosScheduling_Export RTCosScheduling_ServerScheduler_i - : public virtual RTCosScheduling::ServerScheduler, - public virtual CORBA::LocalObject - { - public: - // Constructor - RTCosScheduling_ServerScheduler_i (char *node, - char *file, - char *shared_file, - int numthreads); - - //Destructor - virtual ~RTCosScheduling_ServerScheduler_i (void); - - /** - * This creates and returns a RT POA for use on the server. - * It accepts a set of non-RT policies and sets these as - * well as RT policies (threadpooling and Server Declared). - * - * @param parent The poa to base the RT POA upon - * @param adapter_name the adapter name for the poa - * @param a_POAManager the poa_manager - * @param policies the list of non real time policies to be set - */ - virtual ::PortableServer::POA_ptr create_POA ( - PortableServer::POA_ptr parent, - const char * adapter_name, - PortableServer::POAManager_ptr a_POAManager, - const CORBA::PolicyList & policies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException - , PortableServer::POA::AdapterAlreadyExists - , PortableServer::POA::InvalidPolicy)); - - /** - * This maps a CORBA::Object_var with a name. The names are - * later associated with priority ceiling stored in the - * scheduling config file. - * - * @param obj the CORBA object reference to associate with a name - * @param name name to associate with the CORBA object reference - */ - virtual void schedule_object (CORBA::Object_ptr obj, - const char * name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( CORBA::SystemException - , RTCosScheduling::UnknownName)); - - private: - - /** - * This sets the orb for the ServerScheduler, - * it also resolves references to RT current and sets - * priority mapping - */ - int configure_ORB(TAO_ORB_Core *orb_core); - - /// RT Current, to change the priority of the thread - - /// RT Corba Priority Mapping , uses - /// Linear Priority Mapping - RTCORBA::PriorityMapping *pm_; - - /// The number of threads in the server threadpool - int num_threads_; - - char *shared_file_; - - /// The map to match CORBA::Object_vars - /// to names - CosSchedulingObjectMap object_name_map_; - - /// The map to match resource names to corba priorities - CosSchedulingResourceMap resource_map_; - - /* - * resources populates a string/int map with a list of resources (keys) - * and associated priority ceilings(values) - * - * @param node_name the name of the node the client resides on, - * resources() only retrieves ceilings for the local node - * - * @param map resource_map a reference to the resource map to populate - * - */ - int resources(const char* node_name, - const char* file_name, - CosSchedulingResourceMap * resource_map); - }; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i" -#endif /* __ACE_INLINE__ */ - - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option pop -#endif /* __BORLANDC__ */ - - -#include /**/ "ace/post.h" -#endif /* SERVER_SCHEDULERI_H */ diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i deleted file mode 100644 index 4bf50f13a5b..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i +++ /dev/null @@ -1,39 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file RTCosScheduling_ServerScheduler_i.i - * - * $Id$ - * - * @author Matt Murphy - */ -//============================================================================= - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE int -ACE_Equal_To< COS_SCHEDULING_OBJECT_NAME_KEY >::operator () ( - COS_SCHEDULING_OBJECT_NAME_KEY lhs, - COS_SCHEDULING_OBJECT_NAME_KEY rhs) const -{ - return lhs->_is_equivalent(rhs.in()); -} - -ACE_INLINE u_long -TAO::CosSchedulingObjectMap_Hash_Key::operator () ( - const COS_SCHEDULING_OBJECT_NAME_KEY &key) const -{ - u_long value = key->_hash(ACE_UINT32_MAX); - return value; -} - -ACE_INLINE u_long -TAO::CosSchedulingInvocation_Hash_key::operator () ( - const COS_SCHEDULING_INVOCATION_KEY &key) const -{ - return static_cast (key); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_export.h b/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_export.h deleted file mode 100644 index 413a49c7658..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_export.h +++ /dev/null @@ -1,60 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl TAO_RTCosScheduling -// ------------------------------ -#ifndef TAO_RTCOSSCHEDULING_EXPORT_H -#define TAO_RTCOSSCHEDULING_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTCOSSCHEDULING_HAS_DLL) -# define TAO_RTCOSSCHEDULING_HAS_DLL 0 -# endif /* ! TAO_RTCOSSCHEDULING_HAS_DLL */ -#else -# if !defined (TAO_RTCOSSCHEDULING_HAS_DLL) -# define TAO_RTCOSSCHEDULING_HAS_DLL 1 -# endif /* ! TAO_RTCOSSCHEDULING_HAS_DLL */ -#endif - -#if defined (TAO_RTCOSSCHEDULING_HAS_DLL) && (TAO_RTCOSSCHEDULING_HAS_DLL == 1) -# if defined (TAO_RTCOSSCHEDULING_BUILD_DLL) -# define TAO_RTCosScheduling_Export ACE_Proper_Export_Flag -# define TAO_RTCOSSCHEDULING_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTCOSSCHEDULING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTCOSSCHEDULING_BUILD_DLL */ -# define TAO_RTCosScheduling_Export ACE_Proper_Import_Flag -# define TAO_RTCOSSCHEDULING_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTCOSSCHEDULING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTCOSSCHEDULING_BUILD_DLL */ -#else /* TAO_RTCOSSCHEDULING_HAS_DLL == 1 */ -# define TAO_RTCosScheduling_Export -# define TAO_RTCOSSCHEDULING_SINGLETON_DECLARATION(T) -# define TAO_RTCOSSCHEDULING_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTCOSSCHEDULING_HAS_DLL == 1 */ - -// Set TAO_RTCOSSCHEDULING_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (TAO_RTCOSSCHEDULING_NTRACE) -# if (ACE_NTRACE == 1) -# define TAO_RTCOSSCHEDULING_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define TAO_RTCOSSCHEDULING_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !TAO_RTCOSSCHEDULING_NTRACE */ - -#if (TAO_RTCOSSCHEDULING_NTRACE == 1) -# define TAO_RTCOSSCHEDULING_TRACE(X) -#else /* (TAO_RTCOSSCHEDULING_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define TAO_RTCOSSCHEDULING_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (TAO_RTCOSSCHEDULING_NTRACE == 1) */ - -#endif /* TAO_RTCOSSCHEDULING_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/RTEvent.mpc b/TAO/orbsvcs/orbsvcs/RTEvent.mpc deleted file mode 100644 index 72141564487..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEvent.mpc +++ /dev/null @@ -1,55 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTEvent) : orbsvcslib, core, svc_utils, tao_versioning_idl_defaults { - sharedname = TAO_RTEvent - idlflags += -Wb,stub_export_macro=TAO_RTEvent_Export -Wb,stub_export_include=orbsvcs/Event/event_export.h -Wb,skel_export_macro=TAO_RTEvent_Skel_Export -Wb,skel_export_include=orbsvcs/Event/event_skel_export.h - dynamicflags = TAO_RTEVENT_BUILD_DLL - tagchecks += RTEvent - - IDL_Files { - RtecDefaultEventData.idl - RtecEventComm.idl - RtecEventChannelAdmin.idl - RtecUDPAdmin.idl - } - - // This could be simplified if the cpp files for RTEvent were - // in their own directory. - Source_Files { - Event_Utilities.cpp - RtecDefaultEventDataC.cpp - RtecEventCommC.cpp - RtecEventChannelAdminC.cpp - RtecUDPAdminC.cpp - } - - Header_Files { - Event_Utilities.h - RtecDefaultEventDataC.h - RtecEventCommC.h - RtecEventChannelAdminC.h - RtecUDPAdminC.h - Event/event_export.h - Event/event_skel_export.h - } - - Inline_Files { - Event_Utilities.i - RtecDefaultEventDataC.inl - RtecEventCommC.inl - RtecEventChannelAdminC.inl - RtecUDPAdminC.inl - } - - Resource_Files{ - RTEvent.rc - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_RTEvent.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTEvent.rc b/TAO/orbsvcs/orbsvcs/RTEvent.rc deleted file mode 100644 index 9bb0b0f9439..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEvent.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "RTEvent\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_RTEventDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_RTEvent.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/RTEventLogAdmin.idl b/TAO/orbsvcs/orbsvcs/RTEventLogAdmin.idl deleted file mode 100644 index 2d2f900fae4..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEventLogAdmin.idl +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = FILENAME -// RTEventLogAdmin.idl -// -// = DESCRIPTION -// This module defines the EventLog and -// EventLogFactory interfaces. -// -// = AUTHOR -// D A Hanvey (d.hanvey@qub.ac.uk) -// -// ============================================================================ - -#ifndef RTEVENT_LOG_ADMIN_IDL -#define RTEVENT_LOG_ADMIN_IDL - -#include "RtecEventChannelAdmin.idl" -// CORBA Event Service - -#include "DsLogAdmin.idl" - -#pragma prefix "omg.org" - -module RTEventLogAdmin -{ - interface EventLog : DsLogAdmin::Log, - RtecEventChannelAdmin::EventChannel{}; - - interface EventLogFactory : DsLogAdmin::LogMgr, - RtecEventChannelAdmin::ConsumerAdmin - { - EventLog create ( - in DsLogAdmin::LogFullActionType full_action, - in unsigned long long max_size, - in DsLogAdmin::CapacityAlarmThresholdList thresholds, - out DsLogAdmin::LogId id - ) raises (DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold); - - EventLog create_with_id ( - in DsLogAdmin::LogId id, - in DsLogAdmin::LogFullActionType full_action, - in unsigned long long max_size, - in DsLogAdmin::CapacityAlarmThresholdList thresholds - ) raises (DsLogAdmin::LogIdAlreadyExists, - DsLogAdmin::InvalidLogFullAction, - DsLogAdmin::InvalidThreshold); - - }; - -}; - -#endif /* RTEVENT_LOG_ADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/RTEventLogAdmin.mpc b/TAO/orbsvcs/orbsvcs/RTEventLogAdmin.mpc deleted file mode 100644 index 5ecee5826dd..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEventLogAdmin.mpc +++ /dev/null @@ -1,107 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTEventLogAdmin_IDL) : orbsvcslib, core, dslogadmin, rtevent, tao_versioning_idl_defaults { - custom_only = 1 - idlflags += -Wb,stub_export_macro=TAO_RTEventLog_Export -Wb,stub_export_include=orbsvcs/Log/rteventlog_export.h -Wb,skel_export_macro=TAO_RTEventLog_Skel_Export -Wb,skel_export_include=orbsvcs/Log/rteventlog_skel_export.h - - IDL_Files { - RTEventLogAdmin.idl - } -} - -project(RTEventLogAdmin) : orbsvcslib, core, dslogadmin, rtevent { - sharedname = TAO_RTEventLogAdmin - dynamicflags = TAO_RTEVENTLOG_BUILD_DLL - tagchecks += RTEventLog - after += RTEventLogAdmin_IDL - - IDL_Files { - } - - Source_Files { - RTEventLogAdminC.cpp - } - - Header_Files { - RTEventLogAdminC.h - Log/rteventlog_export.h - } - - Inline_Files { - RTEventLogAdminC.inl - } - - Template_Files { - } - - // explicit Resource_Files to avoid including _Skel & _Serv rc files. - Resource_Files { - } - - Pkgconfig_Files { - TAO_RTEventLogAdmin.pc.in - } -} - -project(RTEventLogAdmin_Skel) : orbsvcslib, core, rteventlogadmin, dslogadmin_skel, rtevent_skel, portableserver { - sharedname = TAO_RTEventLogAdmin_Skel - dynamicflags = TAO_RTEVENTLOG_SKEL_BUILD_DLL - tagchecks += RTEventLog - - IDL_Files { - } - - Source_Files { - RTEventLogAdminS.cpp - } - - Header_Files { - RTEventLogAdminS.h - RTEventLogAdminS_T.h - Log/rteventlog_skel_export.h - } - - Inline_Files { - RTEventLogAdminS.inl - RTEventLogAdminS_T.inl - } - - Template_Files { - RTEventLogAdminS_T.cpp - } - - Pkgconfig_Files { - TAO_RTEventLogAdmin_Skel.pc.in - } -} - -project(RTEventLogAdmin_Serv) : orbsvcslib, core, rteventlogadmin_skel, dslogadmin_serv, rtevent_serv, rtsched { - sharedname = TAO_RTEventLogAdmin_Serv - dynamicflags = TAO_RTEVENTLOG_SERV_BUILD_DLL - tagchecks += RTEventLog - - IDL_Files { - } - - Source_Files { - Log/RTEventLogConsumer.cpp - Log/RTEventLogFactory_i.cpp - Log/RTEventLogNotification.cpp - Log/RTEventLog_i.cpp - } - - Header_Files { - Log/rteventlog_serv_export.h - } - - Inline_Files { - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_RTEventLogAdmin_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc b/TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc deleted file mode 100644 index 1e9797263d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc +++ /dev/null @@ -1,99 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTEvent_Serv) : orbsvcslib, core, rtevent_skel, svc_utils, messaging { - avoids += ace_for_tao // Requires ACE_crc32 - sharedname = TAO_RTEvent_Serv - dynamicflags = TAO_RTEVENT_SERV_BUILD_DLL - tagchecks += RTEvent - - IDL_Files { - } - - Source_Files { - Event/ECG_Adapters.cpp - Event/ECG_CDR_Message_Receiver.cpp - Event/ECG_CDR_Message_Sender.cpp - Event/ECG_Complex_Address_Server.cpp - Event/ECG_Mcast_EH.cpp - Event/ECG_Mcast_Gateway.cpp - Event/ECG_Simple_Address_Server.cpp - Event/ECG_Simple_Mcast_EH.cpp - Event/ECG_UDP_EH.cpp - Event/ECG_UDP_Out_Endpoint.cpp - Event/ECG_UDP_Receiver.cpp - Event/ECG_UDP_Sender.cpp - Event/ECG_ConsumerEC_Control.cpp - Event/ECG_Reactive_ConsumerEC_Control.cpp - Event/ECG_Reconnect_ConsumerEC_Control.cpp - Event/EC_And_Filter.cpp - Event/EC_Basic_Factory.cpp - Event/EC_Basic_Filter_Builder.cpp - Event/EC_Bitmask_Filter.cpp - Event/EC_Channel_Destroyer.cpp - Event/EC_Conjunction_Filter.cpp - Event/EC_ConsumerAdmin.cpp - Event/EC_ConsumerControl.cpp - Event/EC_Default_Factory.cpp - Event/EC_Default_ProxyConsumer.cpp - Event/EC_Default_ProxySupplier.cpp - Event/EC_Disjunction_Filter.cpp - Event/EC_Dispatching.cpp - Event/EC_Dispatching_Task.cpp - Event/EC_Event_Channel.cpp - Event/EC_Event_Channel_Base.cpp - Event/EC_Factory.cpp - Event/EC_Filter.cpp - Event/EC_Filter_Builder.cpp - Event/EC_Gateway.cpp - Event/EC_Gateway_IIOP.cpp - Event/EC_Gateway_IIOP_Factory.cpp - Event/EC_Group_Scheduling.cpp - Event/EC_Lifetime_Utils.cpp - Event/EC_Masked_Type_Filter.cpp - Event/EC_MT_Dispatching.cpp - Event/EC_Negation_Filter.cpp - Event/EC_Null_Factory.cpp - Event/EC_Null_Scheduling.cpp - Event/EC_ObserverStrategy.cpp - Event/EC_Per_Supplier_Filter.cpp - Event/EC_Prefix_Filter_Builder.cpp - Event/EC_ProxyConsumer.cpp - Event/EC_ProxySupplier.cpp - Event/EC_Proxy_Disconnector.cpp - Event/EC_QOS_Info.cpp - Event/EC_Reactive_ConsumerControl.cpp - Event/EC_Reactive_Dispatching.cpp - Event/EC_Reactive_SupplierControl.cpp - Event/EC_Reactive_Timeout_Generator.cpp - Event/EC_Scheduling_Strategy.cpp - Event/EC_SupplierAdmin.cpp - Event/EC_SupplierControl.cpp - Event/EC_Supplier_Filter.cpp - Event/EC_Supplier_Filter_Builder.cpp - Event/EC_Timeout_Filter.cpp - Event/EC_Timeout_Generator.cpp - Event/EC_Trivial_Supplier_Filter.cpp - Event/EC_Type_Filter.cpp - Event/EC_UDP_Admin.cpp - Event/EC_TPC_Dispatching.cpp - Event/EC_TPC_Dispatching_Task.cpp - Event/EC_TPC_Factory.cpp - Event/EC_TPC_ProxyConsumer.cpp - Event/EC_TPC_ProxySupplier.cpp - } - - Template_Files { - Event/EC_Busy_Lock.cpp - Event/EC_Lifetime_Utils_T.cpp - Channel_Clients_T.cpp - } - - Resource_Files{ - RTEvent_Serv.rc - } - - Pkgconfig_Files { - TAO_RTEvent_Serv.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTEvent_Serv.rc b/TAO/orbsvcs/orbsvcs/RTEvent_Serv.rc deleted file mode 100644 index db8c3e96a2c..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEvent_Serv.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "RTEvent_Serv\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_RTEvent_ServDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_RTEvent_Serv.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/RTEvent_Skel.mpc b/TAO/orbsvcs/orbsvcs/RTEvent_Skel.mpc deleted file mode 100644 index 6a8bb6d38b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEvent_Skel.mpc +++ /dev/null @@ -1,44 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTEvent_Skel) : orbsvcslib, core, rtevent, portableserver { - sharedname = TAO_RTEvent_Skel - dynamicflags = TAO_RTEVENT_SKEL_BUILD_DLL - tagchecks += RTEvent - - IDL_Files { - } - - Source_Files { - RtecDefaultEventDataS.cpp - RtecEventCommS.cpp - RtecEventChannelAdminS.cpp - RtecUDPAdminS.cpp - } - - Header_Files { - RtecDefaultEventDataS.h - RtecEventCommS.h - RtecEventChannelAdminS.h - RtecUDPAdminS.h - Event/event_skel_export.h - } - - Inline_Files { - RtecDefaultEventDataS.inl - RtecEventCommS.inl - RtecEventChannelAdminS.inl - RtecUDPAdminS.inl - } - - Template_Files { - } - - Resource_Files{ - RTEvent_Skel.rc - } - - Pkgconfig_Files { - TAO_RTEvent_Skel.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTEvent_Skel.rc b/TAO/orbsvcs/orbsvcs/RTEvent_Skel.rc deleted file mode 100644 index 89f1ed77e4f..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTEvent_Skel.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "RTEvent_Skel\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_RTEvent_SkelDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_RTEvent_Skel.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc b/TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc deleted file mode 100644 index e56df1c1027..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc +++ /dev/null @@ -1,24 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTKokyuEvent) : orbsvcslib, core, rtevent_serv, rtsched, kokyu { - sharedname = TAO_RTKokyuEvent - dynamicflags = TAO_RTKOKYUEVENT_BUILD_DLL - tagchecks += RTKokyuEvent - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - RTKokyuEvent { - Event/EC_Kokyu_Dispatching.cpp - Event/EC_Kokyu_Factory.cpp - Event/EC_Kokyu_Filter.cpp - Event/EC_Kokyu_Filter_Builder.cpp - Event/EC_Kokyu_Scheduling.cpp - } - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTSched.mpc b/TAO/orbsvcs/orbsvcs/RTSched.mpc deleted file mode 100644 index 4659069665c..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTSched.mpc +++ /dev/null @@ -1,32 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTSched) : orbsvcslib, core, naming, portableserver, svc_utils, tao_versioning_idl_defaults { - sharedname = TAO_RTSched - idlflags += -Wb,export_macro=TAO_RTSched_Export -Wb,export_include=orbsvcs/Sched/sched_export.h - dynamicflags = TAO_RTSCHED_BUILD_DLL - tagchecks += Sched - - IDL_Files { - RtecScheduler.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - Sched { - RtecSchedulerC.cpp - RtecSchedulerS.cpp - Scheduler_Factory.cpp - Runtime_Scheduler.cpp - Scheduler_Utilities.cpp - Sched - } - } - - Template_Files { - } - - // To avoid picking up RTSchedEvent.rc as well, explicitly list the files. - Resource_Files { - RTSched.rc - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTSched.rc b/TAO/orbsvcs/orbsvcs/RTSched.rc deleted file mode 100644 index 88566f35e85..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTSched.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "RTSched\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_RTSchedDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_RTSched.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc b/TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc deleted file mode 100644 index e23e9e8e73f..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc +++ /dev/null @@ -1,25 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RTSchedEvent) : orbsvcslib, core, rtevent_serv, rtsched { - sharedname = TAO_RTSchedEvent - dynamicflags = TAO_RTSCHEDEVENT_BUILD_DLL - tagchecks += RTSchedEvent - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - RTSchedEvent { - Event/EC_Gateway_Sched.cpp - Event/EC_Priority_Dispatching.cpp - Event/EC_Priority_Scheduling.cpp - Event/EC_Sched_Factory.cpp - Event/EC_Sched_Filter.cpp - Event/EC_Sched_Filter_Builder.cpp - } - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/RTSchedEvent.rc b/TAO/orbsvcs/orbsvcs/RTSchedEvent.rc deleted file mode 100644 index 4962285f17b..00000000000 --- a/TAO/orbsvcs/orbsvcs/RTSchedEvent.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "RTSchedEvent\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_RTSchedEventDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_RTSchedEvent.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/RT_Notification.mpc b/TAO/orbsvcs/orbsvcs/RT_Notification.mpc deleted file mode 100644 index f43b2825357..00000000000 --- a/TAO/orbsvcs/orbsvcs/RT_Notification.mpc +++ /dev/null @@ -1,26 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(RT_Notification) : orbsvcslib, core, rtcorba, notification_serv, tao_versioning_idl_defaults { - sharedname = TAO_RT_Notification - idlflags += -Wb,export_macro=TAO_RT_Notify_Export -Wb,export_include=orbsvcs/Notify/rt_notify_export.h - dynamicflags = TAO_RT_NOTIFY_BUILD_DLL - tagchecks += RT_Notify - - IDL_Files { - } - - Source_Files(ORBSVCS_COMPONENTS) { - RT_Notify { - Notify/RT_Builder.cpp - Notify/RT_Factory.cpp - Notify/RT_Notify_Service.cpp - Notify/RT_POA_Helper.cpp - Notify/RT_Properties.cpp - Notify/Structured/RT_StructuredProxyPushSupplier.cpp - } - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/RT_Notification.rc b/TAO/orbsvcs/orbsvcs/RT_Notification.rc deleted file mode 100644 index f39d9fe9699..00000000000 --- a/TAO/orbsvcs/orbsvcs/RT_Notification.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "CosNotification\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_CosNotificationDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_CosNotification.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/RtecBase.idl b/TAO/orbsvcs/orbsvcs/RtecBase.idl deleted file mode 100644 index 193e6f65299..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecBase.idl +++ /dev/null @@ -1,92 +0,0 @@ -// $Id$ -/** - * @file RtecBase.idl - * - * @brief Define the RtecBase module - * - * RtecBase.idl,v 1.2 2001/09/17 20:50:34 coryan Exp - * - * @author Carlos O'Ryan - */ - -#ifndef TAO_RTEC_BASE_IDL -#define TAO_RTEC_BASE_IDL - -/** - * @namespace RtecBase - * - * @brief Define types shared by the real-time scheduling and event - * services. - * - * These types are defined in a separate module to decouple the - * real-time event services from the scheduling service interface (and - * implementation!) - */ -module RtecBase -{ - /// Specify type of call. - enum Dependency_Type_t - { - /// One-way call. - ONE_WAY_CALL, - /// Two-way call. - TWO_WAY_CALL - }; - - /// Provide a fast, low-footprint identifier for RT_Infos. - /** - * The Event and Scheduling Service need to communicate information - * about RT_Infos (descriptions about the scheduling properties of a - * simple operation). On a centralized application one would use - * pointers for such a task, but obviously that does not work on a - * distributed system. - * It is tempting to use object references to identify each RT_Info, - * but that does not work either: first the *contents* of the - * RT_Info must be transmitted between applications, and object - * references are not good identifiers (due to the semantics of - * _is_equivalent()) - * - * The handle_t type is used to generate unique identifiers on the - * scheduling service, the Event Service can then refer to any - * RT_Info using either their name or the quicker handle_t. - */ - typedef long handle_t; - - enum Dependency_Enabled_Type_t - // Specify whether a dependency is enabled, disabled, or - // non-volatile (enabled + cannot be disabled automatically). - { - DEPENDENCY_DISABLED, - DEPENDENCY_ENABLED, - DEPENDENCY_NON_VOLATILE - }; - - /// Define dependencies between two RT_Infos - struct Dependency_Info - { - /// Type of dependency - Dependency_Type_t dependency_type; - - /// Number of times the dependency is called - long number_of_calls; - - /// Dependency - handle_t rt_info; - - handle_t rt_info_depended_on; - Dependency_Enabled_Type_t enabled; - // Notice the reference to the RT_Info we - // depend on. - }; - - /// Helper typedef to define the OS priority. - typedef long OS_Priority; - - /// Helper typedef to define the OS-independent priority - typedef long Preemption_Priority_t; - - /// Helper typedef to define the OS-independent sub-priority - typedef long Preemption_Subpriority_t; -}; - -#endif /* TAO_RTEC_BASE_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl b/TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl deleted file mode 100644 index ab51ef3a3bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl +++ /dev/null @@ -1,78 +0,0 @@ -/** - * @file RtecDefaultEventData.idl - * - * @brief Define the RtecBase module - * - * $Id$ - * - * TAO's Real-time Event Service is described in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - * - * @author Carlos O'Ryan - */ - -#ifndef TAO_RTEC_DEFAULTEVENTDATA_IDL -#define TAO_RTEC_DEFAULTEVENTDATA_IDL - -#include - -#pragma prefix "" - -/// Define one of the common event payloads -typedef CORBA::OctetSeq EventPayload; - -/** - * @brief User defined Event Data - * - * - * This structure defines the default payload in TAO's Real-time Event - * Service. - * - * Users wanting maximum flexibility can use an Any, users that only - * have one type of event may use structures, other users may preffer - * union, trying to strike a balance between performance and - * flexibility. Users willing to implement their own marshalling may - * use a sequence of octets. - * - * The Event Service is completely transparent as to the contents of - * this structure. - */ -struct RtecEventData -{ -#ifndef TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE - /// Add padding to align the octet sequence contents - /** - * This fields ensures that the contents of the octet sequence - * following are always aligned to an 8-byte boundary. - * Such alignment allows application developers to implement custom - * demarshaling from the octet sequence without requiring any data - * copies. - * - * This is how this works: - * - The last field in the header is an 8-byte unsigned long, hence - the header finishes on an 8 byte boundary. - * - The pad1 long has 4 bytes. - * - The length in the octet sequence adds another 4 bytes. - * - Thus the data in the octet sequence starts on an 8 bytes - * boundary too. - */ - long pad1; - - /// Octet sequence payload. - /** - * This is the payload used more often by high-performance - * applications. - */ - EventPayload payload; -#endif /* TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE */ - -#ifndef TAO_LACKS_EVENT_CHANNEL_ANY - /// Use a CORBA any type as payload. - any any_value; -#endif /* TAO_LACKS_EVENT_CHANNEL_ANY */ -}; - -#pragma prefix "" - -#endif /* TAO_RTEC_DEFAULTEVENTDATA_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl deleted file mode 100644 index b217e6bffca..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl +++ /dev/null @@ -1,393 +0,0 @@ -/** - * @file RtecEventChannelAdmin.idl - * - * @brief Define the RtecEventChannelAdmin module - * - * $Id$ - * - * TAO's Real-time Event Service is described in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - * - * @author Carlos O'Ryan - * @author Tim Harrison - */ - -#ifndef TAO_RTEC_EVENTCHANNELADMIN_IDL -#define TAO_RTEC_EVENTCHANNELADMIN_IDL - -#include "RtecEventComm.idl" -#include "RtecBase.idl" - -/** - * @namespace RtecEventChannelAdmin - * - * @brief Interfaces and data structures provided by TAO's Real-time - * Event Service implementation - */ -module RtecEventChannelAdmin -{ - /** - * @exception AlreadyConnected - * - * @brief Exception raised if a consumer or supplier tries to - * reconnect even though it is connected already. - * - * In some configurations the Event Channel implementation allows - * reconnections, and treats them as changes in the QoS properties - * of the client. This exception is not used in those cases. - */ - exception AlreadyConnected {}; - - /** - * @struct Dependency - * - * @brief Encapsulate the parameters of a consumer QoS property - * - * This structure is used to represent both filtering information - * and the QoS requirements that the consumer has for events that - * pass the filter. - * - * @todo It has become painfully obvious that we don't need a - * complete RtecEventComm::Event to declare the dependency, simply - * the EventHeader would do. - */ - struct Dependency - { - /// The filtering information, usually takes the form of an event - /// type and/or source that the consumer is interested in. - RtecEventComm::Event event; - - /// The handle to the RT_Info structure that describes the - /// behavior of the consumer upon receiving such an event - /** - * This handle is ignored for Event Channels configured without an - * scheduling service. - */ - RtecBase::handle_t rt_info; - }; - - /// Define a list of consumer QoS properties - typedef sequence DependencySet; - - /** - * @struct ConsumerQOS - * - * @brief Define the complete QoS properties of a consumer - * - * Consumers declared their QoS properties using a DependencySet and - * a special flag to indicate if they are a gateway consumer. - * Gateway consumers are ignored in the computation of changes to - * the subscription list. - */ - struct ConsumerQOS - { - /// List of QoS, filtering, correlation and timeouts for this - /// consumer. - DependencySet dependencies; - - /// If TRUE the consumer is a gateway, i.e., it forwards events - /// from a remote peer. - boolean is_gateway; - }; - - /** - * @struct Publication - * - * @brief Encapsulate one supplier publication and the QoS - * properties for that publication. - * - * Suppliers can publish multiple event types, each one with - * different QoS properties. - * - * @todo It has become painfully obvious that we don't need a - * complete RtecEventComm::Event to declare the publication, simply - * the EventHeader would do. - */ - struct Publication - { - /// The event publication, normally only the event source and type - /// (from the header) is considered. - RtecEventComm::Event event; - - /// The dependency information, this includes the RT_Info handle, - /// the type of request and other details. - /** - * This field is ignored by event channels configured without an - * scheduling service. - */ - RtecBase::Dependency_Info dependency_info; - }; - - /// A list of Publication structures - typedef sequence PublicationSet; - - /** - * @struct SupplierQOS - * - * @brief Describe the complete QoS and filtering properties for a - * supplier - * - * Consumers declared their QoS properties and publications using a - * PublicationSet and a special flag to indicate if they are a - * gateway supplier. - * Gateway suppliers are ignored in the computation of changes to - * the publication list. - */ - struct SupplierQOS - { - /// The publications - PublicationSet publications; - - /// Set to TRUE if the supplier is a gateway. - boolean is_gateway; - }; - - /** - * @exception TypeError - * - * @brief Obsolete exception - */ - exception TypeError {}; - - /** - * @interface ProxyPushSupplier - * - * @brief Interface used to implement the Abstract Session pattern - * for the consumers - * - * Each consumer converse with the Event Channel via a different - * object that implements the ProxyPushSupplier interface. This is - * a common idiom in CORBA, as it allows the identification of the - * remove consumer efficiently. - */ - interface ProxyPushSupplier : RtecEventComm::PushSupplier - { - /// Connect a consumer with the Event Channel - /** - * The ConsumerQOS argument is used to setup the filtering and - * QoS properties of the consumer. - * - * @param push_consumer The consumer that will receive the events. - * @param qos The QoS properties for this consumer - * @throws CORBA::BAD_PARAM if push_consumer is nil - * @throws AlreadyConnected if this operation is invoked multiple - * times - * @todo The TypeError exception is not used and should be - * removed. - */ - void connect_push_consumer(in RtecEventComm::PushConsumer push_consumer, - in ConsumerQOS qos) - raises(AlreadyConnected, TypeError); - - /// Temporarily suspend reception of events from the Event - /// Channel. - /** - * Calling this method is more efficient than dropping the - * events when received by the consumer, and less expensive than - * disconnecting and connecting again (but it is not free!!) - */ - void suspend_connection (); - - /// Resume the reception of events. - void resume_connection (); - -/* - //@{ - void checkpoint (in RtecEventComm::SequenceNumber last_received) - raises (Invalid_Checkpoint); - void resend_by_sequence (in RtecEventComm::SequenceNumber last_received) - raises (Invalid_Resend_Request); - void resend_by_date (in RtecEventComm::Time last_timestamp) - raises (Invalid_Resend_Request); - //@} -*/ - }; - - /** - * @interface ProxyPushConsumer - * - * @brief Interface used to implement the Abstract Session pattern - * for the suppliers. - * - * Each supplier converse with the Event Channel via a different - * object that implements the ProxyPushConsumer interface. This is - * a common idiom in CORBA, as it allows identification of the - * remote supplier efficiently. - */ - interface ProxyPushConsumer : RtecEventComm::PushConsumer - { - /// Connect a supplier with the Event Channel - /** - * @param push_supplier A callback interface, the - * disconnect_push_supplier operation is called when the Event - * Channel is destroyed. - * @param qos This argument is used to pre-compute filtering and - * QoS properties for the supplier. - * - * @throws CORBA::BAD_PARAM if the push_supplier argument is nil - * @throws AlreadyConnected if this operation is invoked multiple - * times. - */ - void connect_push_supplier (in RtecEventComm::PushSupplier push_supplier, - in SupplierQOS qos) - raises (AlreadyConnected); - }; - - /** - * @interface ConsumerAdmin - * - * @brief Implement an Abstract Factory to create ProxyPushSupplier - * objects. - */ - interface ConsumerAdmin - { - /// Create a new ProxyPushSupplier object - /** - * There is an inherent risk of leaking a ProxyPushSupplier - * here, i.e. if the application does not call - * connect_push_consumer() at all. The Event Service may choose - * to reclaim ProxyPushSupplier objects that have been idle for - * too long. - */ - ProxyPushSupplier obtain_push_supplier (); - }; - - /** - * @class SupplierAdmin - * - * @brief Implement an Abstract Factory to create ProxyPushConsumer - * objects. - */ - interface SupplierAdmin - { - /// Create a new ProxyPushConsumer object - /** - * There is an inherent risk of leaking a ProxyPushConsumer - * here, i.e. if the application does not call - * connect_push_supplier() at all. The Event Service may choose - * to reclaim ProxyPushConsumer objects that have been idle for - * too long. - */ - ProxyPushConsumer obtain_push_consumer (); - }; - - /** - * @class Observer - * - * @brief Monitor changes in the consumer subscriptions and/or - * supplier publciations. - * - * The event channel reports changes in its internal subscription - * and/or publication list via this interface. - */ - interface Observer - { - /// A change in the list of consumers has ocurred. - /** - * The disjunction of the subscriptions is sent to the - * observer. - */ - void update_consumer (in ConsumerQOS sub); - - /// A change in the list of suppliers has ocurred. - /** - * The list of all the event publications is passed to the - * observer. - */ - void update_supplier (in SupplierQOS pub); - }; - - /// Opaque identifier for a connected Observer. - typedef unsigned long Observer_Handle; - - /** - * @class EventChannel - * - * @brief The main interface for the event service - * - * This class provides the main entry point for the Event Service. - * The class follows a protocol similar to the COS Events Service as - * described in the CORBAservices spec. - */ - interface EventChannel - { - /** - * @exception SYNCHRONIZATION_ERROR - * - * @brief Exception raised if the Event Channel cannot acquire its - * internal locks. - */ - exception SYNCHRONIZATION_ERROR {}; - - /** - * @exception CANT_APPEND_OBSERVER - * - * @brief Exception raised if the Event Channel is unable to add - * an observer due to some internal limitation. - */ - exception CANT_APPEND_OBSERVER {}; - - /** - * @exception CANT_REMOVE_OBSERVER - * - * @brief Exception raised if the Event Channel is unable to remove - * an observer due to some internal limitation or because the - * observer cannot be found. - */ - exception CANT_REMOVE_OBSERVER {}; - - //@{ - /** - * @name Unused exceptions - * - * @todo The following exceptions are not declared in any raises() - * clause, therefore they cannot be raised! They should be - * removed or added to the right places. - */ - - /// Exception raised if the QOS properties required are invalid or - /// cannot be satisfied - exception QOS_ERROR {}; - - /// Exception raised if the subscriptions are invalid - exception SUBSCRIPTION_ERROR {}; - - /// Exception raised if the requested correlation (a form of - /// filtering) is invalid - exception CORRELATION_ERROR {}; - - /// Exception raised if the event cannot be dispatched - exception DISPATCH_ERROR {}; - //@} - - /// Consumers call this method to gain access to the - /// ProxyPushSupplier factory. - ConsumerAdmin for_consumers (); - - /// Suppliers call this method to gain access to the - /// ProxyPushConsumer factory. - SupplierAdmin for_suppliers (); - - /// Shuts down the Event Channel. - /** - * Calling this methods destroys the event service, all its - * resource and results in a call to disconnect_push_XXX() on all - * connected clients. - */ - void destroy (); - - /// Add an observer to the event channel. - /** - * Return the handle used in the remove_observer() call. - */ - Observer_Handle append_observer (in Observer gw) - raises (SYNCHRONIZATION_ERROR,CANT_APPEND_OBSERVER); - - /// Remove the observer. - void remove_observer (in Observer_Handle gw) - raises (SYNCHRONIZATION_ERROR,CANT_REMOVE_OBSERVER); - }; -}; - -#endif /* TAO_RTEC_EVENTCHANNELADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/RtecEventComm.idl b/TAO/orbsvcs/orbsvcs/RtecEventComm.idl deleted file mode 100644 index 59fe732f592..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecEventComm.idl +++ /dev/null @@ -1,175 +0,0 @@ -/** - * @file RtecEventComm.idl - * - * @brief Define the RtecEventComm module - * - * $Id$ - * - * TAO's Real-time Event Service is described in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - * - * @author Carlos O'Ryan - * @author Tim Harrison - */ -#ifndef TAO_RTEC_EVENTCOMM_IDL -#define TAO_RTEC_EVENTCOMM_IDL - -#include "TimeBase.idl" - -// Remove the prefix definition... -// @@ TODO Is this the "Right Thing"? AFAIK the spec does not mention -// if pragmas should survive the file scope... -#pragma prefix "" - -#include "RtecDefaultEventData.idl" - -/** - * @namespace RtecEventComm - * - * @brief Interfaces and data structures used by the event service - * clients - */ -module RtecEventComm -{ - /// The event data - typedef RtecEventData EventData; - - /// Shortcut for the time structures. - typedef TimeBase::TimeT Time; - - typedef long EventSourceID; - typedef long _EventType; - - /** - * @struct EventHeader - * - * @brief Define the structure of an event header - * - * The event header is the portion of the event examined by the - * event service for filtering purposes. - * - * Events can be filtered based on their type and SourceID, though - * the latest is a misnomer, over time it has evolved into a 'source - * class' or 'event domain' field, i.e. multiple sources can have - * the same 'ID' and the same source can generate events with - * different IDs. - */ - struct EventHeader - { - /// The event type. - /** - * Notice that the 'type' of the event may or may not be related - * to the data type in its contents. I.e. it is perfectly - * possible to send the same payload with different values in this - * field. In other words, this is just a filterable value, and - * it is up to the application to define (or not) its relation to - * the contents of the event. - */ - _EventType type; - - /// Some way to identify the supplier. - EventSourceID source; - - /// The "Time To Live" counter. - /** - * Each time an EC process the event it decreases the TTL field, - * when it gets to zero the message is no longer forwarded. - */ - long ttl; - - /// Applications can use this field to time-stamp the event at the - /// source. - /** - * @todo Because the filtering language uses EventHeaders as - * filtering expressions (yeah, it sucks) we also use this field - * to pass timeout values into the EC filter. - */ - Time creation_time; - -#ifndef TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS - //@{ - /** @name Benchmarking timestamps - * - * The following timestamps are used to benchmark the Event - * Channel, they should not be used by the application and may be - * removed without notice. - */ - Time ec_recv_time; - Time ec_send_time; - //@} -#endif /* TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS */ - }; - - /** - * @struct Event - * - * @brief The basic events delivered by the Event Service. - * - * The event service uses this structure to pass events around. - */ - struct Event - { - /// The header, used for filtering - EventHeader header; - - /// The payload, the event service treats this as an opaque data - /// field. - EventData data; - }; - /// The real argument to the push() operations. - /** - * For performance reasons TAO's Real-time Event Service uses - * sequences of events - */ - typedef sequence EventSet; - - /** - * @interface PushConsumer - * - * @brief Define the interface used by consumers to receive events. - * - * Applications usually implement this interface to subscribe for - * events. - */ - interface PushConsumer - { - /// Main event delivery callback - oneway void push (in EventSet data); - - /// Callback method to indicate a disconnection. - /** - * If the event service is destroyed while a consumer is still - * connected then the following callback operation is invoked on - * the consumer. - * - * The same operation is used by suppliers to disconnect from the - * Event Channel, but it is invoked via their - * RtecEventChannelAdmin::ProxyPushConsumer peer. - */ - void disconnect_push_consumer (); - }; - - /** - * @interface PushSupplier - * - * @brief Defines the interface used by suppliers to receive - * callbacks from the Event Channel. - */ - interface PushSupplier - { - /// Callback method to indicate a disconnection. - /** - * If the event service is destroyed while a supplier is still - * connected then the following callback operation is invoked on - * the supplier. - * - * The same operation is used by consumers to disconnect from the - * Event Channel, but it is invoked via their - * RtecEventChannelAdmin::ProxyPushSupplier peer. - */ - void disconnect_push_supplier (); - }; -}; - -#endif /* TAO_RTEC_EVENTCOMM_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/RtecScheduler.idl b/TAO/orbsvcs/orbsvcs/RtecScheduler.idl deleted file mode 100644 index 374ef6c195b..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecScheduler.idl +++ /dev/null @@ -1,496 +0,0 @@ -// $Id$ - -#ifndef TAO_RTEC_SCHEDULER_IDL -#define TAO_RTEC_SCHEDULER_IDL - -#include "TimeBase.idl" -#include "RtecBase.idl" -#pragma prefix "" - -module RtecScheduler -{ - // Module TimeBase defines the OMG Time Service. - typedef TimeBase::TimeT Time; // 100 nanoseconds - typedef Time Quantum_t; - - typedef long Period_t; // 100 nanoseconds - - typedef long Threads_t; - - typedef sequence Period_Set; - - enum Criticality_t - // Defines the criticality of the operation. - // For use with Dynamic Scheduler. - { - VERY_LOW_CRITICALITY, - LOW_CRITICALITY, - MEDIUM_CRITICALITY, - HIGH_CRITICALITY, - VERY_HIGH_CRITICALITY - }; - - enum Importance_t - // Defines the importance of the operation, - // which can be used by the Scheduler as a - // "tie-breaker" when other scheduling - // parameters are equal. - { - VERY_LOW_IMPORTANCE, - LOW_IMPORTANCE, - MEDIUM_IMPORTANCE, - HIGH_IMPORTANCE, - VERY_HIGH_IMPORTANCE - }; - - enum Info_Type_t - // Defines type of operation information. - { - OPERATION, - CONJUNCTION, - DISJUNCTION, - REMOTE_DEPENDANT - }; - - typedef RtecBase::Dependency_Enabled_Type_t Dependency_Enabled_Type_t; - typedef RtecBase::Dependency_Type_t Dependency_Type_t; - - enum RT_Info_Enabled_Type_t - // Specify whether an RT_Info is enabled, disabled, or - // non-volatile (enabled + cannot be disabled automatically). - { - RT_INFO_DISABLED, - RT_INFO_ENABLED, - RT_INFO_NON_VOLATILE - }; - - typedef RtecBase::handle_t handle_t; - // RT_Info's are assigned per-application - // unique identifiers. - - struct RT_Info_Enable_State_Pair - { - handle_t handle; - RT_Info_Enabled_Type_t enabled; - }; - - typedef sequence RT_Info_Enable_State_Pair_Set; - - typedef RtecBase::Dependency_Info Dependency_Info; - - typedef sequence Dependency_Set; - - typedef RtecBase::OS_Priority OS_Priority; - typedef RtecBase::Preemption_Subpriority_t Preemption_Subpriority_t; - typedef RtecBase::Preemption_Priority_t Preemption_Priority_t; - - struct RT_Info - // = TITLE - // Describes the QoS for an "RT_Operation". - // - // = DESCRIPTION - // The CPU requirements and QoS for each - // "entity" implementing an application - // operation is described by the following - // information. - { - // Application-defined string that uniquely - // identifies the operation. - string entry_point; - - // The scheduler-defined unique identifier. - handle_t handle; - - // Execution times. - Time worst_case_execution_time; - Time typical_execution_time; - - // To account for server data caching. - Time cached_execution_time; - - // For rate-base operations, this expresses - // the rate. 0 means "completely pasive", - // i.e., this operation only executes when - // called. - Period_t period; - - // Operation Criticality (user assigned significance). - Criticality_t criticality; - - // Operation importance, used to "break ties". - Importance_t importance; - - // For time-slicing (for BACKGROUND operations only). - Quantum_t quantum; - - // The number of internal threads contained by - // the operation. - Threads_t threads; - - // The following attributes are defined by - // the Scheduler once the off-line schedule - // is computed. - - // The operations we depend upon. - Dependency_Set dependencies; - - // The OS thread priority for processing the - // events generated from this RT_Info.= - OS_Priority priority; - - // For ordering RT_Info's with equal priority. - Preemption_Subpriority_t preemption_subpriority; - - // The queue number for this RT_Info. - Preemption_Priority_t preemption_priority; - - // Info_Type - Info_Type_t info_type; - // Whether or not the RT_Info is enabled. - RT_Info_Enabled_Type_t enabled; - - // Token reserved for the scheduler's internal use: - // information placed here from outside the scheduler - // implementation is prone to be overwritten. - unsigned long long volatile_token; - }; - - enum Dispatching_Type_t - // Defines the type of prioritization strategy - // to be used by a dispatching queue - { - STATIC_DISPATCHING, - DEADLINE_DISPATCHING, - LAXITY_DISPATCHING - }; - - struct Config_Info - // = TITLE - // Describes configuration information for a dispatching queue - // - // = DESCRIPTION - // The CPU requirements and QoS for each - // "entity" implementing an application - // operation is described by the following - // information. - { - // preemption priority for messages dispatched by the queue - Preemption_Priority_t preemption_priority; - - // OS priority of the dispatching thread associated with the queue - OS_Priority thread_priority; - - // type of dispatching queue - Dispatching_Type_t dispatching_type; - - // Set of timer periods associated with the priority level - Period_Set timer_periods; - }; - - typedef sequence Config_Info_Set; - - enum Anomaly_Severity - // Defines the type of prioritization strategy - // to be used by a dispatching queue - { - ANOMALY_FATAL, - ANOMALY_ERROR, - ANOMALY_WARNING, - ANOMALY_NONE - }; - - struct Scheduling_Anomaly - // = TITLE - // Describes an anomalous condition encountered during scheduling. - // - // = DESCRIPTION - // The severity and description of an anomolous - // condition encountered during schedule computation - // is described by the following information. - { - // Application-defined string that describes - // the anomalous condition. - string description; - - // Severity of the anomaly - Anomaly_Severity severity; - }; - - typedef sequence Scheduling_Anomaly_Set; - - exception CYCLIC_DEPENDENCIES {}; - // There are cycles in the registered dependencies. - - exception UNRESOLVED_LOCAL_DEPENDENCIES {}; - // There are unresolved local dependencies: one - // or more nodes that are not declared as having - // unresolved remote dependencies has no threads, - // period, or dependencies on another node. - - exception THREAD_SPECIFICATION {}; - // A node that specifies threads does not specify a period. - - exception DUPLICATE_NAME {}; - // The application is trying to register the same task again. - - exception UNKNOWN_TASK {}; - // The RT_Info handle was not valid. - - exception NOT_SCHEDULED {}; - // The application is trying to obtain scheduling information, but - // none is available. - - exception UTILIZATION_BOUND_EXCEEDED {}; - exception INSUFFICIENT_THREAD_PRIORITY_LEVELS {}; - exception TASK_COUNT_MISMATCH {}; - // Problems while computing scheduling. - - exception UNKNOWN_PRIORITY_LEVEL {}; - // Problems obtaining run-time dispatch queue info. - - exception SYNCHRONIZATION_FAILURE {}; - // Problems acquiring a synchronization resource. - - exception INTERNAL {}; - // Problems with the internal scheduler data structures. - - typedef sequence RT_Info_Set; - - // TODO: Find a reasonable name for this interface, maybe we should - // change the name of the module to RtecSchedulerAdmin and name this - // Scheduler - interface Scheduler - // = DESCRIPTION - // This class holds all the RT_Info's for a single application. - // During the configuration run this will be implemented as a - // single remote object, whose services are used by the - // suppliers, consumers and the EC. - // At run-time each process will hold a copy of the compiled - // version of the Scheduler, using the precomputed data to - // resolve requests (avoiding any remote calls) and ignoring any - // requests for modifying its state. - // A Factory class will be used to choose the proper - // implementation. - // - // This class must be registered with the naming service using a - // well known name ("Scheduler" seems the obvious choice), the - // Naming Context will account for different applications and - // modes. - // - // Once the scheduling data is computed it can be retrieved - // remotely to generate the code for the run-time version. - { - handle_t create (in string entry_point) - raises (DUPLICATE_NAME, INTERNAL, SYNCHRONIZATION_FAILURE); - // Creates a new RT_Info entry for the function identifier - // "entry_point", it can be any string, but the fully qualified - // name function name is suggested. - // Returns a handle to the RT_Info. - - handle_t lookup (in string entry_point) - raises (UNKNOWN_TASK, SYNCHRONIZATION_FAILURE); - // Lookups a handle for entry_point. - - RT_Info get (in handle_t handle) - raises (UNKNOWN_TASK, SYNCHRONIZATION_FAILURE); - // Retrieve information about an RT_Info. - - void set (in handle_t handle, - in Criticality_t criticality, - in Time wc_time, - in Time typical_time, - in Time cached_time, - in Period_t period, - in Importance_t importance, - in Quantum_t quantum, - in Threads_t threads, - in Info_Type_t info_type) - raises (UNKNOWN_TASK, INTERNAL, SYNCHRONIZATION_FAILURE); - // Set the input attributes of an RT_Info. Multiple calls - // to set with the same handle will result in registration - // of different tuples for the same RT_Info, e.g., for multi-rate - // admission control. - // Notice that some values may not be modified (like priority). - // Criticality and Info_Type are only used with the Dynamic Scheduler. - - void reset (in handle_t handle, - in Criticality_t criticality, - in Time wc_time, - in Time typical_time, - in Time cached_time, - in Period_t period, - in Importance_t importance, - in Quantum_t quantum, - in Threads_t threads, - in Info_Type_t info_type) - raises (UNKNOWN_TASK, INTERNAL, SYNCHRONIZATION_FAILURE); - // Removes previous tuples and resets the attributes of an RT_Info. - // Notice that some values may not be modified (like priority). - // Criticality and Info_Type are only used with the Dynamic Scheduler. - - - void set_seq (in RT_Info_Set infos) - raises (UNKNOWN_TASK, INTERNAL, SYNCHRONIZATION_FAILURE); - // Set the input attributes of an RT_Info. Tuples for the passed - // sequence elements will be concatenated with the previous - // tuples for the same RT_Infos, e.g., for multi-rate admission control. - // Notice that some values may not be modified (like priority). - - void reset_seq (in RT_Info_Set infos) - raises (UNKNOWN_TASK, INTERNAL, SYNCHRONIZATION_FAILURE); - // Reset the input attributes of an RT_Info. Tuples for the passed - // sequence elements will be replace the previous - // tuples for the same RT_Infos, e.g., for multi-rate admission control. - // Notice that some values may not be modified (like priority). - - void replace_seq (in RT_Info_Set infos) - raises (UNKNOWN_TASK, INTERNAL, SYNCHRONIZATION_FAILURE); - // Replace all RT_Infos, setting characteristics of the RT_Infos - // corresponding to the passed handles. All other RT_Infos are reset - // to their uninitialized values, i.e., the same they have just after - // the create call. - - void add_dependency (in handle_t handle, - in handle_t dependency, - in long number_of_calls, - in Dependency_Type_t dependency_type) - raises (SYNCHRONIZATION_FAILURE, UNKNOWN_TASK); - // Adds to . - // Dependency_Type_t is only used with the Dynamic Scheduler. - - void remove_dependency (in handle_t handle, - in handle_t dependency, - in long number_of_calls, - in Dependency_Type_t dependency_type) - raises (SYNCHRONIZATION_FAILURE, UNKNOWN_TASK); - // Removes from . Raises UNKNOWN_TASK - // if no matching dependency is found. - - void set_dependency_enable_state (in handle_t handle, - in handle_t dependency, - in long number_of_calls, - in Dependency_Type_t dependency_type, - in Dependency_Enabled_Type_t enabled) - raises (SYNCHRONIZATION_FAILURE, UNKNOWN_TASK); - // Enables or disables on . Raises UNKNOWN_TASK - // if no matching dependency is found. - - void set_dependency_enable_state_seq (in Dependency_Set dependencies) - raises (SYNCHRONIZATION_FAILURE, UNKNOWN_TASK); - // Sets the enable state of each dependency in the sequence. Raises - // UNKNOWN_TASK if no matching dependency is found. - - void set_rt_info_enable_state (in handle_t handle, - in RT_Info_Enabled_Type_t enabled) - raises (SYNCHRONIZATION_FAILURE, INTERNAL, UNKNOWN_TASK); - // Enables or disables the RT_Info. Raises UNKNOWN_TASK - // if no matching RT_Info is found. - - void set_rt_info_enable_state_seq (in RT_Info_Enable_State_Pair_Set pair_set) - raises (SYNCHRONIZATION_FAILURE, INTERNAL, UNKNOWN_TASK); - // Enables or disables each rt_info in the passed set. Raises UNKNOWN_TASK - // if no matching dependency is found. - - void priority (in handle_t handle, - out OS_Priority o_priority, - out Preemption_Subpriority_t p_subpriority, - out Preemption_Priority_t p_priority) - raises (UNKNOWN_TASK, SYNCHRONIZATION_FAILURE, NOT_SCHEDULED); - void entry_point_priority (in string entry_point, - out OS_Priority o_priority, - out Preemption_Subpriority_t p_subpriority, - out Preemption_Priority_t p_priority) - raises (UNKNOWN_TASK, SYNCHRONIZATION_FAILURE, NOT_SCHEDULED); - // Obtain the run time priorities. - // TODO: Do we need the two interfaces or is it simply confusing? - // If we should to keep only the version: Are the extra - // round-trips too expensive? - // If we choose only the version: Are the copies for - // the string affordable? - - void compute_scheduling (in long minimum_priority, - in long maximum_priority, - out RT_Info_Set infos, - out Dependency_Set dependencies, - out Config_Info_Set configs, - out Scheduling_Anomaly_Set anomalies) - raises (UTILIZATION_BOUND_EXCEEDED, - SYNCHRONIZATION_FAILURE, - INSUFFICIENT_THREAD_PRIORITY_LEVELS, - TASK_COUNT_MISMATCH, - INTERNAL, - DUPLICATE_NAME); - // Computes the scheduling priorities, returns the RT_Info's with - // their priorities properly filled. - // This info can be cached by a Run_Time_Scheduler service or - // dumped into a C++ file for compilation and even faster (static) - // lookup. - - - void recompute_scheduling (in long minimum_priority, - in long maximum_priority, - out Scheduling_Anomaly_Set anomalies) - raises (UTILIZATION_BOUND_EXCEEDED, - SYNCHRONIZATION_FAILURE, - INSUFFICIENT_THREAD_PRIORITY_LEVELS, - TASK_COUNT_MISMATCH, - INTERNAL, - DUPLICATE_NAME); - // Recomputes the scheduling priorities, etc. - - void get_rt_info_set (out RT_Info_Set infos) - raises (SYNCHRONIZATION_FAILURE, - INTERNAL); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - void get_dependency_set (out Dependency_Set dependencies) - raises (SYNCHRONIZATION_FAILURE, - INTERNAL); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - void get_config_info_set (out Config_Info_Set configs) - raises (SYNCHRONIZATION_FAILURE, - INTERNAL); - // Returns the set of config_infos, describing the appropriate - // number, types, and priority levels for the dispatching lanes. - - void dispatch_configuration (in Preemption_Priority_t p_priority, - out OS_Priority o_priority, - out Dispatching_Type_t d_type) - raises (NOT_SCHEDULED, - SYNCHRONIZATION_FAILURE, - UNKNOWN_PRIORITY_LEVEL); - // Returns the thread priority and dispatching type assigned - // to the dispatching priority level that was passed in. This - // information can be used to configure the queues through which - // the scheduled operations are to be dispatched. - // - // If the schedule has not been computed: - // raises (NOT_SCHEDULED); - // - // If the schedule has been computed, but the passed - // priority level is outside those assigned: - // raises (UNKNOWN_PRIORITY_LEVEL); - - - Preemption_Priority_t last_scheduled_priority () - raises (SYNCHRONIZATION_FAILURE, NOT_SCHEDULED); - // Returns the last priority number assigned to an operation in the schedule. - // The number returned is one less than the total number of scheduled priorities. - // All scheduled priorities range from 0 to the number returned, inclusive. - // - // If the schedule has not been computed: - // raises (NOT_SCHEDULED); - - void get_config_infos(out Config_Info_Set configs) - raises (SYNCHRONIZATION_FAILURE, NOT_SCHEDULED); - // Provides the set of Config_Infos associated with the current schedule. - // - // If the schedule has not been computed: - // raises (NOT_SCHEDULED); - }; -}; - -#endif /* TAO_RTEC_SCHEDULER_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl b/TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl deleted file mode 100644 index b63f52fe9a2..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file RtecUDPAdmin.idl - * - * @brief Define the RtecUDPAdmin module - * - * $Id$ - * - * TAO's Real-time Event Service is described in: - * - * http://doc.ece.uci.edu/~coryan/EC/ - * - * @author Carlos O'Ryan - */ - -#ifndef TAO_RTEC_UDP_ADMIN_IDL -#define TAO_RTEC_UDP_ADMIN_IDL - -#include "RtecEventComm.idl" - -/** - * @namespace RtecUDPAdmin - * - * @brief Define the data structures and interfaces used by UDP-based - * gateways - */ -module RtecUDPAdmin -{ - /** - * @struct UDP_Addr - * - * @brief Represent a UDP SAP. - */ - struct UDP_Addr - { - /// The IP address - unsigned long ipaddr; - /// The UDP port - unsigned short port; - }; - - /** - * @interface AddrServer - * - * @brief Defines a interface to configure the mapping between - * events and multicast groups (or UDP broadcast or UDP unicast) - * addresses. - */ - interface AddrServer - { - /// Get the UDP address give the event header - /** - * @param header The event header, used to fetch the type and - * source of the event - * @param addr Return the address used for the given event type - */ - void get_addr (in RtecEventComm::EventHeader header, - out UDP_Addr addr); - }; -}; - -#endif /* TAO_RTEC_UDP_ADMIN_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp deleted file mode 100644 index d582988c508..00000000000 --- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp +++ /dev/null @@ -1,594 +0,0 @@ -// $Id$ - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/Runtime_Scheduler.h" -#include "ace/OS_NS_string.h" - -ACE_RCSID (orbsvcs, - Runtime_Scheduler, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Constructor. Initialize the data from the POD_RT_Info array. - -ACE_Runtime_Scheduler:: -ACE_Runtime_Scheduler (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int entry_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[]) - : config_count_ (config_count), - config_info_ (config_info), - entry_count_ (entry_count), - rt_info_ (rt_info) -{ -} - -// Create an RT_Info. In the config run scheduler this actually constructs -// a new RT_Info. Here, we just return its handle, or an error value if -// it's not present. - -RtecScheduler::handle_t -ACE_Runtime_Scheduler::create (const char *entry_point - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME)) -{ - // Just make sure it's there and return its handle. - for (int i = 0; i < entry_count_; ++i) - if (ACE_OS::strcmp (entry_point, - rt_info_[i].entry_point) == 0) - return i + 1; - - // TODO: throw an exception or print an error. - return -1; -} - -// Lookup a handle for an RT_Info, and return its handle, or an error -// value if it's not present. - -RtecScheduler::handle_t -ACE_Runtime_Scheduler::lookup (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return create (entry_point ACE_ENV_ARG_PARAMETER); -} - - -// Return a pointer to the RT_Info corresponding to the passed handle. - -RtecScheduler::RT_Info * -ACE_Runtime_Scheduler::get (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle <= 0 || handle > entry_count_) - ACE_THROW_RETURN (RtecScheduler::UNKNOWN_TASK (), - 0); - // Note: there is no memory leak here, according to the CORBA spec, - // we are supposed to allocate an structure and return it, the - // caller owns it from then on. - - // Allocate a new RT_Info - RtecScheduler::RT_Info* info; - ACE_NEW_THROW_EX (info, - RtecScheduler::RT_Info, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - - info->entry_point = rt_info_[handle - 1].entry_point; - info->handle = rt_info_[handle - 1].handle; - info->worst_case_execution_time = rt_info_[handle - 1].worst_case_execution_time; - info->typical_execution_time = rt_info_[handle - 1].typical_execution_time; - info->cached_execution_time = rt_info_[handle - 1].cached_execution_time; - info->period = rt_info_[handle - 1].period; - info->criticality = RtecScheduler::Criticality_t(rt_info_[handle - 1].criticality); - info->importance = RtecScheduler::Importance_t(rt_info_[handle - 1].importance); - info->quantum = rt_info_[handle - 1].quantum; - info->threads = rt_info_[handle - 1].threads; - info->priority = rt_info_[handle - 1].priority; - info->preemption_subpriority = rt_info_[handle - 1].static_subpriority; - info->preemption_priority = rt_info_[handle - 1].preemption_priority; - info->info_type = RtecScheduler::Info_Type_t(rt_info_[handle - 1].info_type); - - return info; -} - - -// Set characteristics of the RT_Info corresponding to the passed handle. - -void -ACE_Runtime_Scheduler::set (::RtecScheduler::handle_t handle, - ::RtecScheduler::Criticality_t criticality, - ::RtecScheduler::Time time, - ::RtecScheduler::Time typical_time, - ::RtecScheduler::Time cached_time, - ::RtecScheduler::Period_t period, - ::RtecScheduler::Importance_t importance, - ::RtecScheduler::Quantum_t quantum, - ::RtecScheduler::Threads_t threads, - ::RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - // We compare the values with the ones stored and print a message on - // any differences. - if (handle <= 0 || handle > entry_count_) - { - ACE_DEBUG ((LM_DEBUG, "Unknown task: no entry for handle %d\n", - handle)); - ACE_THROW (RtecScheduler::UNKNOWN_TASK()); - // NOTREACHED - } - if (rt_info_[handle - 1].worst_case_execution_time != time - || rt_info_[handle - 1].typical_execution_time != typical_time - || rt_info_[handle - 1].cached_execution_time != cached_time - || rt_info_[handle - 1].period != period - || rt_info_[handle - 1].criticality != criticality - || rt_info_[handle - 1].importance != static_cast (importance) - || rt_info_[handle - 1].quantum != quantum - || rt_info_[handle - 1].info_type != info_type - || rt_info_[handle - 1].threads != static_cast (threads)) - ACE_ERROR ((LM_ERROR, - "invalid data for RT_Info: %s\n", - (const char*)rt_info_[handle - 1].entry_point)); - // TODO: throw something here. -} - - -void -ACE_Runtime_Scheduler::reset (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - RtecScheduler::Threads_t threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - // Just go ahead and call the set method - this->set (handle, criticality, time, typical_time, cached_time, - period, importance, quantum, threads, info_type ACE_ENV_ARG_PARAMETER ); -} - - -void -ACE_Runtime_Scheduler::set_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ - for (u_int i = 0; i < infos.length (); ++i) - { -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) && defined (NDEBUG) - // BCB2006 and BCB6 get an internal backend error when building this - // code in release mode, reported to Borland as QC27961 - RtecScheduler::RT_Info info = infos[i]; - - // Call the internal set method. - this->set (info.handle, - info.criticality, - info.worst_case_execution_time, - info.typical_execution_time, - info.cached_execution_time, - info.period, - info.importance, - info.quantum, - info.threads, - info.info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#else - // Call the internal set method. - this->set (infos[i].handle, - infos[i].criticality, - infos[i].worst_case_execution_time, - infos[i].typical_execution_time, - infos[i].cached_execution_time, - infos[i].period, - infos[i].importance, - infos[i].quantum, - infos[i].threads, - infos[i].info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - } -} - -void -ACE_Runtime_Scheduler::replace_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ - for (u_int i = 0; i < infos.length (); ++i) - { -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) && defined (NDEBUG) - // BCB2006 and BCB6 get an internal backend error when building this - // code in release mode, reported to Borland as QC27961 - RtecScheduler::RT_Info info = infos[i]; - - // Call the internal set method. - this->set (info.handle, - info.criticality, - info.worst_case_execution_time, - info.typical_execution_time, - info.cached_execution_time, - info.period, - info.importance, - info.quantum, - info.threads, - info.info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#else - // Call the internal set method. - this->set (infos[i].handle, - infos[i].criticality, - infos[i].worst_case_execution_time, - infos[i].typical_execution_time, - infos[i].cached_execution_time, - infos[i].period, - infos[i].importance, - infos[i].quantum, - infos[i].threads, - infos[i].info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - } -} - - -void -ACE_Runtime_Scheduler::reset_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ - // Just call the set sequence method - this->set_seq (infos ACE_ENV_ARG_PARAMETER); -} - - -// Returns the priority and subpriority values assigned to an RT_Info, -// based on its handle. - -void -ACE_Runtime_Scheduler::priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - if (handle <= 0 || handle > entry_count_) - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - // NOTREACHED - - o_priority = rt_info_[handle - 1].priority; - subpriority = rt_info_[handle - 1].static_subpriority; - p_priority = rt_info_[handle - 1].preemption_priority; -} - - -// Returns the priority and subpriority values assigned to an RT_Info, -// based on its entry point name. - -void -ACE_Runtime_Scheduler::entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Preemption_Subpriority_t& subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - RtecScheduler::handle_t handle = lookup (entry_point ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (handle < -1) - // The exception was thrown or is in ACE_ENV_SINGLE_ARG_PARAMETER already. - return; - this->priority (handle, - priority, - subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); -} - - -// In the config run scheduler, this method registers a dependency between -// two RT_Infos. In the run time scheduler, this is a no-op. - -void -ACE_Runtime_Scheduler::add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t /* dependency */, - CORBA::Long /* number_of_calls */, - RtecScheduler::Dependency_Type_t /* dependency_type */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle <= 0 || handle > entry_count_) - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - // NOTREACHED - -#if 0 - // Just check that the information is consistent. - RtecScheduler::Dependency_Set& deps = rt_info_[handle - 1]->dependencies; - for (CORBA::ULong i = 0; i < deps.length (); ++i) - { - if (deps[i].rt_info == dependency - && deps[i].number_of_calls == number_of_calls - && deps[i].dependency_type == dependency_type) - { - return; - } - } - ACE_ERROR ((LM_ERROR, "unmatched dependency on %s\n", - (const char*)rt_info_[handle - 1]->entry_point)); -#endif -} - - -// In the reconfig scheduler, this method removes a dependency between -// two RT_Infos. In the run time scheduler, this is a no-op. - -void -ACE_Runtime_Scheduler::remove_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t /* dependency */, - CORBA::Long /* number_of_calls */, - RtecScheduler::Dependency_Type_t /* dependency_type */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle <= 0 || handle > entry_count_) - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); -} - - -// In the reconfig scheduler, this method enables a dependency between -// two RT_Infos. In the run time scheduler, this is a no-op. - -void -ACE_Runtime_Scheduler::set_dependency_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::handle_t /* dependency */, - CORBA::Long /* number_of_calls */, - RtecScheduler::Dependency_Type_t /* dependency_type */, - RtecScheduler::Dependency_Enabled_Type_t /* enabled */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle <= 0 || handle > entry_count_) - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); -} - - -// In the reconfig scheduler, this method enables or disables an RT_Info. -// In the run time scheduler, this is a no-op. - -void -ACE_Runtime_Scheduler::set_rt_info_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::RT_Info_Enabled_Type_t /* enabled */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle <= 0 || handle > entry_count_) - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); -} - - -void ACE_Runtime_Scheduler::set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) - // This method sets the enable state of a sequence of dependencies. -{ - ACE_UNUSED_ARG (dependencies); - - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Runtime_Scheduler::set_rt_info_enable_state_seq ( - const RtecScheduler::RT_Info_Enable_State_Pair_Set & - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -// This method enables or disables a sequence of RT_Infos. -{ -} - -// In the config run scheduler, this method causes scheduling information -// to be computed for all registered RT_Infos. In the run time scheduler, -// this is a no-op. - -void -ACE_Runtime_Scheduler::compute_scheduling (CORBA::Long /* minimum_priority */, - CORBA::Long /* maximum_priority */, - RtecScheduler::RT_Info_Set_out /* infos */, - RtecScheduler::Dependency_Set_out /*dependencies */, - RtecScheduler::Config_Info_Set_out /* configs */, - RtecScheduler::Scheduling_Anomaly_Set_out /* anomalies */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH)) -{ - // TODO: Right now just do nothing, later we could validate the - // priorities (without recomputing). - // TODO: fill up the infos. - return; -} - -// Recomputes the scheduling priorities, etc. - -void -ACE_Runtime_Scheduler::recompute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL_NOT_USED) - - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)) -{ - // TODO: Right now just do nothing. - ACE_UNUSED_ARG(minimum_priority); - ACE_UNUSED_ARG(maximum_priority); - ACE_UNUSED_ARG(anomalies); - - return; -} - - -// Returns the set of rt_infos, with their assigned priorities (as -// of the last schedule re-computation). - -void -ACE_Runtime_Scheduler::get_rt_info_set (RtecScheduler::RT_Info_Set_out infos - ACE_ENV_ARG_DECL_NOT_USED) - - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ - // TODO: Right now just do nothing. - ACE_UNUSED_ARG(infos); - return; -} - - -// Returns the set of rt_infos, with their assigned priorities (as -// of the last schedule re-computation). - -void -ACE_Runtime_Scheduler::get_dependency_set (RtecScheduler::Dependency_Set_out dependencies - ACE_ENV_ARG_DECL_NOT_USED) - - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ - // TODO: Right now just do nothing. - ACE_UNUSED_ARG(dependencies); - return; -} - - -// Returns the set of config_infos, describing the appropriate -// number, types, and priority levels for the dispatching lanes. - -void -ACE_Runtime_Scheduler::get_config_info_set (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ - // TODO: Right now just do nothing. - ACE_UNUSED_ARG(configs); - return; -} - - -// Provides the thread priority and queue type for the given priority -// level. - -void -ACE_Runtime_Scheduler::dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Dispatching_Type_t & d_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED, - RtecScheduler::UNKNOWN_PRIORITY_LEVEL)) -{ - // Throw an exception if a valid schedule has not been loaded - if (config_count_ <= 0 - || config_info_ [p_priority].preemption_priority != p_priority) - { - ACE_THROW (RtecScheduler::NOT_SCHEDULED ()); - ACE_NOTREACHED (return); - } - // throw an exception if an invalid priority was passed - else if (p_priority < 0 || p_priority >= config_count_) - { - ACE_THROW (RtecScheduler::UNKNOWN_PRIORITY_LEVEL()); - ACE_NOTREACHED (return); - } - else - { - priority = config_info_ [p_priority].thread_priority; - d_type = config_info_ [p_priority].dispatching_type; - return; - } -} - - -// Returns the last priority number assigned to an operation in the -// schedule. The number returned is one less than the total number -// of scheduled priorities. All scheduled priorities range from 0 -// to the number returned, inclusive. - -RtecScheduler::Preemption_Priority_t -ACE_Runtime_Scheduler::last_scheduled_priority (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED)) -{ - // throw an exception if a valid schedule has not been loaded - if (config_count_ <= 0) - ACE_THROW_RETURN (RtecScheduler::NOT_SCHEDULED(), - (RtecScheduler::Preemption_Priority_t) -1); - else - return (RtecScheduler::Preemption_Priority_t) (config_count_ - 1); -} - - -void -ACE_Runtime_Scheduler::get_config_infos (RtecScheduler::Config_Info_Set_out /*configs */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED)) -{ - // throw an exception if a valid schedule has not been loaded - if (this->config_count_ <= 0) - ACE_THROW (RtecScheduler::NOT_SCHEDULED()); - //TODO: fill the Config_Info_Set with the runtime Config_Infos - //for now, this function is unimplemented - // - // @@ If unimplemented we either return a CORBA::NO_IMPL exception - // or a proprietary ACE_NOTSUP; -- Bala - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h deleted file mode 100644 index f7afe874c75..00000000000 --- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h +++ /dev/null @@ -1,288 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Runtime_Scheduler.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef ACE_RUNTIME_SCHEDULER_H -#define ACE_RUNTIME_SCHEDULER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Scheduler_Factory.h" -#include "orbsvcs/RtecSchedulerS.h" -#include "orbsvcs/Sched/sched_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_RTSched_Export ACE_Runtime_Scheduler : public POA_RtecScheduler::Scheduler -{ - // = TITLE - // A fast and simple servant for RtecScheduler::Scheduler based on - // precomputed schedules. - // - // = DESCRIPTION - // This class offers the services of the scheduler, but based on - // precomputed and precompiled information. This results in a - // highly optimized execution after the configuration runs. -public: - ACE_Runtime_Scheduler (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int entry_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[]); - // Constructor. Initialize the data from the POD_RT_Info array. - - virtual RtecScheduler::handle_t create (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME)); - // Create an RT_Info. In the config run scheduler this actually constructs - // a new RT_Info. Here, we just return its handle, or an error value if - // it's not present. - - virtual RtecScheduler::handle_t lookup (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException)); - // Lookup a handle for an RT_Info, and return its handle, or an error - // value if it's not present. - - virtual RtecScheduler::RT_Info* get (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // Return a pointer to the RT_Info corresponding to the passed handle. - - virtual void set (::RtecScheduler::handle_t handle, - ::RtecScheduler::Criticality_t criticality, - ::RtecScheduler::Time time, - ::RtecScheduler::Time typical_time, - ::RtecScheduler::Time cached_time, - ::RtecScheduler::Period_t period, - ::RtecScheduler::Importance_t importance, - ::RtecScheduler::Quantum_t quantum, - ::RtecScheduler::Threads_t threads, - ::RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // Set characteristics of the RT_Info corresponding to the passed handle. - - virtual void reset (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - RtecScheduler::Threads_t threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // Reset characteristics of the RT_Info corresponding to the passed handle. - - virtual void set_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Set characteristics of the RT_Infos corresponding to the passed handles. - // Tuples are added in the case of existing and/or multiple definitions. - - virtual void replace_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Replace characteristics of the RT_Infos corresponding to the - // passed handles. - - virtual void reset_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Reset characteristics of the RT_Infos corresponding to the passed handles. - // Tuples are replaced in the case of existing and/or multiple definitions. - - virtual void priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - // Returns the priority and subpriority values assigned to an RT_Info, - // based on its handle. - - virtual void entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - // Returns the priority and subpriority values assigned to an RT_Info, - // based on its entry point name. - - virtual void add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // In the config run scheduler, this method registers a dependency between - // two RT_Infos. In the run time scheduler, this is a no-op. - - virtual void remove_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // In the reconfig scheduler, this method removes a dependency between - // two RT_Infos. In the run time scheduler, this is a no-op. - - virtual void set_dependency_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // In the reconfig scheduler, this method (re)enabes a dependency between - // two RT_Infos. In the run time scheduler, this is a no-op. - - virtual void set_rt_info_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::RT_Info_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // In the reconfig scheduler, enables or disables an RT_Info. - // In the run time scheduler, this is a no-op. - - virtual void set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method sets the enable state of a sequence of dependencies. - - virtual void set_rt_info_enable_state_seq (const RtecScheduler::RT_Info_Enable_State_Pair_Set & pair_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method enables or disables a sequence of RT_Infos. - - virtual void compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - RtecScheduler::Dependency_Set_out deps, - RtecScheduler::Config_Info_Set_out configs, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH)); - // In the config run scheduler, this method causes scheduling information - // to be computed for all registered RT_Infos. In the run time scheduler, - // this is a no-op. - - virtual void recompute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)); - // Recomputes the scheduling priorities, etc. - - virtual void get_rt_info_set (RtecScheduler::RT_Info_Set_out infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - virtual void get_dependency_set (RtecScheduler::Dependency_Set_out dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - virtual void get_config_info_set (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of config_infos, describing the appropriate - // number, types, and priority levels for the dispatching lanes. - - virtual void dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Dispatching_Type_t & d_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED, - RtecScheduler::UNKNOWN_PRIORITY_LEVEL)); - // Provides the thread priority and queue type for the given priority level. - - virtual RtecScheduler::Preemption_Priority_t last_scheduled_priority (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED)); - // Returns the last priority number assigned to an operation in the - // schedule. The number returned is one less than the total number - // of scheduled priorities. All scheduled priorities range from 0 - // to the number returned, inclusive. - - virtual void get_config_infos (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED)); - -private: - int config_count_; - // The number of elements in the config array. - - ACE_Scheduler_Factory::POD_Config_Info* config_info_; - // The array of precomputed queue configuration structures. - - int entry_count_; - // The number of elements in the RT_Info array. - - ACE_Scheduler_Factory::POD_RT_Info* rt_info_; - // The array of precomputed RT_Info structures. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* ACE_RUNTIME_SCHEDULER_H */ diff --git a/TAO/orbsvcs/orbsvcs/SL3CSI.idl b/TAO/orbsvcs/orbsvcs/SL3CSI.idl deleted file mode 100644 index 3f6f3981d43..00000000000 --- a/TAO/orbsvcs/orbsvcs/SL3CSI.idl +++ /dev/null @@ -1,353 +0,0 @@ -//tabstop=4 -//*********************************************************************** -// ORBAsec SL3 -// ---------------------------------------------------------------------- -// Copyright (C) 2001 Adiron, LLC. -// All rights reserved. -// ---------------------------------------------------------------------- -// $Id$ -//*********************************************************************** -#ifndef _SL3CSIArgs_IDL_ -#define _SL3CSIArgs_IDL_ -#include -#include -#include -#include -#include -#include -#include -#include - -#pragma prefix "adiron.com" - -/** - * This module contains structures and a factory interface to - * create tagged argument lists that will be given to the - * args parameter of the SecurityLevel3::CredentialsCurator. - *

- * ORBAsec SL3 uses this kind of mechanism because it is the - * easiest way to represent optional arguments. - *

- * To alleviate the hassles of dealing with any's and creating - * them, there is a factory retrieved by ORB::resolve_initial_references - * using "SL3:ArgumentFactory". From this object one may create an - * acquisition argument builder. This approach takes most of the work - * out of forming the Credentials acquisition argument. - * The form of the arguments and their requiredness or optionality - * are defined by the specific acquisition mechanisms using them. - * - * The Credentials Acquired with these arguments handle the - * CORBA CSIv2 protocol. - */ -module SL3CSI { - - /** - * There is currently only one acquisition method for - * CSI based Credentials. - */ - const SecurityLevel3::AcquisitionMethod AQM_CSIArgs = "CSIArgs"; - - /** - * An object of this interface is created by the Argument Factory Object. - * It aids in creating the Credentials Acquisition Argument for - * CSI based Credentials. - */ - local interface CSIArgBuilder : SL3AQArgs::GenericArgBuilder { - - /** - * This operation explicitly disables caching of ATLAS tokens. - * This is used in the case where CSI credentials are needed - * in order to communicate with an external cache. If cacheing - * were enabled in this case, then there would be a cache for - * the cache, which gets recursively messy. - */ - void addSetNoLocalCache(); - - /** - * This operation adds an already existing ATLASCache as an - * acquisition argument. This is used in the case where an - * externalized cache is to be used. If a cache is not - * explicitly added to the argument, then a new cache will - * be created by the Credentials Curator. - */ - void addATLASCache( - in ATLASCache::AuthTokenCache cache - ); - - /** - * This operation places a user defined Password Generator - * in the acquisition argument. - */ - void addUserPasswordCAGenerator( - in UserPassword::PasswordGenerator generator - ); - - /** - * This operation places a user defined Password Processor - * in the acquisition argument. - */ - void addUserPasswordCAProcessor( - in UserPassword::PasswordProcessor processor - ); - - /** - * This operation causes the creation credentials that - * have a "quoted" principal. CSI Credentials of this - * type will assert the particular principal name to a server. - */ - void addNamedQuotedPrincipal( - in SecurityLevel3::PrincipalName principal_name - ); - - /** - * This operation causes the creation credentials that - * have a "quoted" principal. CSI Credentials of this - * type will assert the particular identity to a server. - */ - void addEncodedQuotedPrincipal( - in SecurityLevel3::IdentityStatement identity - ); - - /** - * This operation places a user defined Trust Decider in - * the acquisition argument. - */ - void addLocalTrustInServerDecider( - in Trust::LocalTrustInServerDecider trust_decider - ); - - /** - * This operation causes CSI Credentials to be created - * over a particular transport as if you created the - * transport credentials using the - * TransportSecurity::CredentialsCurator and used the - * addUseTransportCredentials operation of this object. - */ - void addTransportCredentialsAQArgs( - in TransportSecurity::MechanismId mechanism_id, - in TransportSecurity::AcquisitionMethod acquisition_method, - in any acquisition_arguments - ); - - /** - * This operation causes CSI Credentials to be created - * over a particular transport credentials that have - * already been created by using the - * TransportSecurity::CredentialsCurator. - */ - void addUseTransportCredentials( - in TransportSecurity::OwnCredentials credentials - ); - - /** - * This operation adds an ATLAS to your CSI Credentials. - * ATLAS is the Authorization Token Layer Acquisition Service. - * Each ATLAS represents a specific Authorization context, and - * is used to give your clients the ability to "log" in, and - * present credentials (i.e. an Authorization Token) for which - * to work the requests. It also gives the ability for clients - * to cache the tokens, so performance will be better. - *

- * None of the arguments can be null. - *

- * The cache_id is the caching Id, according to the ATLAS - * specification which must be unique to this authorization - * context, amongst all other authorization contexts. If you - * do not have a cache id, then this argument should be an - * empty octet sequence. - *

- * The token_dispenser is the ATLAS AuthTokenDispenser interface. - * This cannot be a "local" object. - *

- * The supports_delegation_by_client and requires_delegation_by_client - * arguments tell the client the way in which it - * will use the ATLAS. This - * information gets put in the ATLAS Profile, which is put - * in the IOR of the objects associated with the credentials. - *

- * The token_processor is the "sister" to the ATLAS, as it - * understands the tokens that the ATLAS ships out to clients. - * It is specific to the Authorization context. It may be - * a local object, but also can make remote calls. - */ - void addATLASObject( - in ATLAS::ATLASCacheId cache_id, - in ATLAS::AuthTokenDispenser token_dispenser, - in boolean supports_delegation_by_client, - in boolean requires_delegation_by_client, - in SL3Authorization::TokenProcessor token_processor - ); - - }; - - /** - * This interface is a factory for arguments that will - * be in use for ORBAsec credentials acquisition mechanisms. - * It is retrievable off the ORB at "SL3:ArgumentFactory" - */ - local interface ArgumentFactory { - - /** - * Creates a new CSI Argument Builder object with the specified - * Credentials usage. - */ - CSIArgBuilder createCSIArgBuilder( - in SecurityLevel3::CredentialsUsage usage - ); - - /** - * This operation creates a Tagged Argument containing - * an flag that will disable the creation of the default - * ATLASCache. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createSetNoLocalCache(); - - /** - * This operation creates a Tagged Argument containing - * an ATLASCache implementation to use for caching ATLAS - * tokens. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createATLASCache( - in ATLASCache::AuthTokenCache cache - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createUserPasswordCAGenerator( - in UserPassword::PasswordGenerator generator - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createUserPasswordCAProcessor( - in UserPassword::PasswordProcessor processor - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createKerberosCAGenerator( - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createKerberosCAProcessor( - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createNamedQuotedPrincipal( - in SecurityLevel3::PrincipalName prin_name - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createEncodedQuotedPrincipal( - in SecurityLevel3::IdentityStatement prin_name - ); - - /** - * This operation creates a Arg_TrustInServerDecider tagged - * argument. - */ - SL3AQArgs::Argument createLocalTrustInServerDecider( - in Trust::LocalTrustInServerDecider trust_decider - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createTransportCredentialsAQArgs( - in TransportSecurity::MechanismId mechanism_id, - in TransportSecurity::AcquisitionMethod acquisition_method, - in any acquisition_arguments - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createUseTransportCredentials( - in TransportSecurity::OwnCredentials credentials - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring CSI credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the CSIArgBuilder. - * - * @see CSIArgBuilder - */ - SL3AQArgs::Argument createATLASObject( - in ATLAS::ATLASCacheId cache_id, - in ATLAS::AuthTokenDispenser token_dispenser, - in boolean supports_endorsement_by_client, - in boolean requires_endorsement_by_client, - in SL3Authorization::TokenProcessor token_processor - ); - - }; - -}; -#endif diff --git a/TAO/orbsvcs/orbsvcs/SL3TCPIP.idl b/TAO/orbsvcs/orbsvcs/SL3TCPIP.idl deleted file mode 100644 index f6d2c1a5246..00000000000 --- a/TAO/orbsvcs/orbsvcs/SL3TCPIP.idl +++ /dev/null @@ -1,203 +0,0 @@ -//tabstop=4 -//*********************************************************************** -// ORBAsec SL3 -// ---------------------------------------------------------------------- -// Copyright (C) 2001 Adiron, LLC. -// All rights reserved. -// ---------------------------------------------------------------------- -// $Id$ -//*********************************************************************** -#ifndef _SL3TCPIP_IDL_ -#define _SL3TCPIP_IDL_ -#include -#include -#include -#include - -#pragma prefix "adiron.com" - -module SL3TCPIP { - - const TransportSecurity::MechanismId MID_TCPIP = "TCPIP"; - - /** - * This is the only acquisition mechanism for acquiring TCPIP - * Transport Credentials. - */ - const TransportSecurity::AcquisitionMethod AQM_TCPIPArgs = "TCPIPArgs"; - - /** - * An object of this interface is created by the Argument Factory Object. - * It aids in creating the Credentials Acquisition Argument for - * TCPIP based Transport Credentials. - */ - local interface TCPIPArgBuilder : SL3AQArgs::GenericArgBuilder { - - /** - * This operation adds Transport Credentials CSIv1 protocol - * version capability. - * @param support If false, the associated transports will - * always be expected to carry CSIv2 information. - * Default is true. - * For CSIv2 capability without the ability to - * use these credentials for CSIv1 transports, this - * argument must be explicitly stated with a value - * of false. - */ - void addSupportCSIv1( - in boolean support - ); - - /** - * This operation adds Transport Credentials CSIv2 protocol - * version capability. - * @param support If false, the associated transports will - * not, or be expected to carry CSIv2 information. - * If true, they must, if CSIv1 support is false. - * It's default value is false. - */ - void addSupportCSIv2( - in boolean support - ); - - /** - * This operation adds Transport Credentials Initiator Options to - * the acquisition argument. This argument is only relevant when - * the Credentials Usage include Initiate. - * - * @param bind This argument contains the interface to which to bind. - * An empty string signifies to use the operating system - * default. - * @param low_port If this argument is 0, the system select the port. - * If this argument is not 0, then connections - * will attempt to bind to this port or higher. - * @param high_port If low_port is not 0, and this argument is greater - * than or equal to low_port, then the lowest - * available port within the range will be selected. - * @param timeout Timeout (in milliseconds) for connection establishment. - * The value 0 indicates an indefinite wait. - */ - void addTCPIPInitiatorOptions( - in string bind, // Interface to bind the socket to. - // If empty, then system selects - in long low_port, // If 0 system selects - in long high_port, // Only if low_port != 0, high port >=low_port - // If equal, it binds to that port. - // If greater, it will try for ports within - // the range. - in long timeout // default timeout for connections. - ); - - /** - * This operation adds Transport Credentials Acceptor Options to - * the acquisition argument. This argument is only relevant when - * the Credentials Usage include Accept. - * - * @param hosts This operation contains a list of "hosts", or - * addresses that should be placed in the IOR of - * objects associated with these credentials. - * @param bind This argument contains the interface to which to - * bind. An empty string signifies to use the - * operating system default. - * @param low_port If this argument is 0, the system select the port. - * If this argument is not 0, then connections - * will attempt to bind to this port or higher. - * @param high_port If low_port is not 0, and this argument is greater - * than or equal to low_port, then the lowest - * available port within the range will be selected. - * @param backlog Socket Listening Backlog. 0 means use operating - * system default. - * @param numeric If this argument is true, all addresses associated - * with these credentials that are placed in IORs - * will be in numeric form. - */ - void addTCPIPAcceptorOptions( - in CORBA::StringSeq hosts, // If empty, system select - in string bind, // if not empty, must be one of hosts. - in long low_port, // 0 means system select - in long high_port, // Only if low_port != 0; - in long backlog, // socket parameter - in boolean numeric // use numeric addresses inIORs? - ); - }; - - /** - * This interface is used to create the TCPIP Argument Builder - */ - local interface ArgumentFactory : SL3AQArgs::ArgumentFactory { - - /** - * This operation creates a TCPIP Transport Security - * Credentials Acquisition Argument Builder. - */ - TCPIPArgBuilder createTCPIPArgBuilder( - in TransportSecurity::CredentialsUsage usage - ); - - /** - * This operation creates a TaggedArgument containing - * the following information for acquiring transport - * credentials with CSIv1 capability turned off or on. - * - * @param support. If false, call GIOP requests traveling - * over these transports is expected to - * carry CSIv2 information. - */ - SL3AQArgs::Argument createSupportCSIv1( - in boolean support - ); - - /** - * This operation creates a TaggedArgument containing - * the following information for acquiring transport - * credentials with CSIv2 capability turned off or on. - * - * @param support. If false, call GIOP requests traveling - * over these transports will not and is - * not expected to carry CSIv2 information. - */ - SL3AQArgs::Argument createSupportCSIv2( - in boolean support - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring TCPIP credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the TCPIPArgBuilder. - * - * @see TCPIPArgBuilder - */ - SL3AQArgs::Argument createTCPIPInitiatorOptions( - in string bind, // Interface to bind the socket to. - // If empty, then system selects - in long low_port, // If 0 system selects - in long high_port, // Only if low_port != 0, high port >=low_port - // If equal, it binds to that port. - // If greater, it will try for ports within - // the range. - in long timeout // default timeout for connections. - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring TCPIP credentials. - *

- * For a description of the arguments, please see the - * corresponding operation in the TCPIPArgBuilder. - * - * @see TCPIPArgBuilder - */ - SL3AQArgs::Argument createTCPIPAcceptorOptions( - in CORBA::StringSeq hosts, // If empty, system select - in string bind, // if not empty, must be one of hosts. - in long low_port, // 0 means system select - in long high_port, // Only if low_port != 0; - in long backlog, // socket parameter - in boolean numeric // use numeric addresses inIORs? - ); - }; -}; - -#endif diff --git a/TAO/orbsvcs/orbsvcs/SL3TLS.idl b/TAO/orbsvcs/orbsvcs/SL3TLS.idl deleted file mode 100644 index c5701351e11..00000000000 --- a/TAO/orbsvcs/orbsvcs/SL3TLS.idl +++ /dev/null @@ -1,350 +0,0 @@ -//tabstop=4 -//*********************************************************************** -// ORBAsec SL3 -// ---------------------------------------------------------------------- -// Copyright (C) 2001 Adiron, LLC. -// All rights reserved. -// ---------------------------------------------------------------------- -// $Id$ -//*********************************************************************** -#ifndef _SL3TLS_IDL_ -#define _SL3TLS_IDL_ -#include -#include -#include -#include -#include - -#pragma prefix "adiron.com" - -module SL3TLS { - const TransportSecurity::MechanismId MID_TLS = "TLS"; - - /** - * This is the only acquisition mechanism for acquiring TLS - * Transport Credentials. - */ - const TransportSecurity::AcquisitionMethod AQM_TLSArgs = "TLSArgs"; - - /** - * Implementers may create their own local version of - * this interface to verify chains of X509 Certificates. - */ - local interface TLSX509IdentityVerifier { - - /** - * This operation is called by the security service at the - * TLS Transport Credentials creation phase to add certificates - * as trusted entities directed by other TLS options. - */ - void add_trusted_authority( - in SecurityLevel3::X509IdentityStatement auth - ); - - /** - * This operation is called by the security service to determine - * if the peer is allowed to be anonymous. This means that the - * peer has not delivered a certificate and did not authenticate - * itself. - */ - boolean is_anonymous_allowed(); - - /** - * This operation is called by the security service at the - * transport authentication phase, when the peer certificate - * needs to be verified. The X509IdentityStatement will contain - * a sequence of encoded X509 Certificates, which may be empty. - */ - boolean verify( - in SecurityLevel3::X509IdentityStatement ident - ); - }; - - /** - * The TLS KeyStore Acquisition Builder extends the TCPIP - * Builder. This is because the same TCPIP Acquisition Arguments - * apply to TLS, as TCPIP sits underneath TLS. - */ - local interface TLSKeyStoreArgBuilder : SL3TCPIP::TCPIPArgBuilder { - - /** - * This operation adds a X509 Certificate Chain Identity Verifier - * argument to the acquisition arguments. - * - * @param verifier The locally defined interface that will verify - * the certificate chain. - */ - void addTLSX509IdentityVerifier( - in TLSX509IdentityVerifier verifier - ); - - /** - * This operation is used when there is a password on - * the keystore. - * - * @param keystore This argument contains the URL of the - * keystore. - * @param storetype This argument contains the type of the - * keystore. Currently, one of "IAIKKeyStore" - * or "jks". - * @param storepass This is the password that protects the - * key store. - * @param keyalias This argument contains the alias of a private - * key in the keystore. If this argument is - * an empty string, then the credentials will - * be considered anonymous. - * @param keypass This argument contains the password that - * unlocks the private key named by the keyalias. - * @param trusted_cert_names - * This argument contains the alias of certificates - * in the key store that are considered trusted - * to verify certificates of the peer during - * authentication. A empty string sequence signifies - * that the default chain verifier will accept - * chains ending in any trusted certificate - * entry found in the keystore. - *

- * Note: On the default TLSX509IdentityVerifier, anonymous - * communication is always allowed. - */ - void addTLSKeyStoreWithStorePass( - in string keystore, - in string storetype, - in string storepass, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - /** - * This operation is used when there is no password on - * the keystore. This approach should only be used in - * cases where the integrity of the keystore is not an issue. - * - * @param keystore This argument contains the URL of the - * keystore. - * @param storetype This argument contains the type of the - * keystore. Currently, one of "IAIKKeyStore" - * or "jks". - * @param keyalias This argument contains the alias of a private - * key in the keystore. If this argument is - * an empty string, then the credentials will - * be considered anonymous. - * @param keypass This argument contains the password that - * unlocks the private key named by the keyalias. - * @param trusted_cert_names - * This argument contains the alias of certificates - * in the key store that are considered trusted - * to verify certificates of the peer during - * authentication. A empty string sequence signifies - * that the default chain verifier will accept - * chains ending in any trusted certificate - * entry found in the keystore. - *

- * Note: On the default TLSX509IdentityVerifier, anonymous - * communication is always allowed. - */ - void addTLSKeyStoreNoStorePass( - in string keystore, - in string storetype, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - /** - * This operation is used when there is a password on - * the keystore. - * - * @param keystore This argument contains the octet - * sequence containing the keystore. - * @param storetype This argument contains the type of the - * keystore. Currently, one of "IAIKKeyStore" - * or "jks". - * @param storepass This is the password that protects the - * key store. - * @param keyalias This argument contains the alias of a private - * key in the keystore. If this argument is - * an empty string, then the credentials will - * be considered anonymous. - * @param keypass This argument contains the password that - * unlocks the private key named by the keyalias. - * @param trusted_cert_names - * This argument contains the alias of certificates - * in the key store that are considered trusted - * to verify certificates of the peer during - * authentication. A empty string sequence signifies - * that the default chain verifier will accept - * chains ending in any trusted certificate - * entry found in the keystore. - *

- * Note: On the default TLSX509IdentityVerifier, anonymous - * communication is always allowed. - */ - void addTLSEncodedKeyStoreWithStorePass( - in CORBA::OctetSeq keystore, - in string storetype, - in string storepass, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - /** - * This operation is used when there is no password on - * the keystore. This approach should only be used in - * cases where the integrity of the keystore is not an issue. - * - * @param keystore This argument contains the octet - * sequence containing the keystore. - * @param storetype This argument contains the type of the - * keystore. Currently, one of "IAIKKeyStore" - * or "jks". - * @param keyalias This argument contains the alias of a private - * key in the keystore. If this argument is - * an empty string, then the credentials will - * be considered anonymous. - * @param keypass This argument contains the password that - * unlocks the private key named by the keyalias. - * @param trusted_cert_names - * This argument contains the alias of certificates - * in the key store that are considered trusted - * to verify certificates of the peer during - * authentication. A empty string sequence signifies - * that the default chain verifier will accept - * chains ending in any trusted certificate - * entry found in the keystore. - *

- * Note: On the default TLSX509IdentityVerifier, anonymous - * communication is always allowed. - */ - void addTLSEncodedKeyStoreNoStorePass( - in CORBA::OctetSeq keystore, - in string storetype, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - }; - - /** - * This acquisition mechanism specifies getting TLS credential - * information from a Java KeyStore file. The Argument Factory - * and Builder inherit the TCPIP. - * The arguments used in TCPIP apply - * in setting up TCPIP sockets, because TCPIP lies - * below SSL/TLS. - *

- * If the TCPIPInitiatorOptions and/or TCPIPAcceptorOptions - * arguments are present, then they are followed, otherwise - * defaults for TCPIP are used. - *

- * The Arguments should have one of - * TLSKeyStoreWithStorePass or TLSKeyStoreNoStorePass. If - * neither of them is specified, the resulting Credentials will - * run in TLS anonymously. - * - */ - const TransportSecurity::AcquisitionMethod - AQM_TLSKeyStoreArgs = "TLSKeyStoreArgs"; - - /** - * This object allows to create the Builder for use with TLS - * and a Java KeyStore. - */ - local interface ArgumentFactory : SL3TCPIP::ArgumentFactory { - - /** - * This operation creates a TLS KeyStore Arg Builder - * object. - */ - TLSKeyStoreArgBuilder createTLSKeyStoreArgBuilder( - in TransportSecurity::CredentialsUsage usage - ); - - /** - * This operation creates a Tagged Argument containing - * a reference to a X509 Certificate Chain Verifier - */ - SL3AQArgs::Argument createTLSX509IdentityVerifier( - in TLSX509IdentityVerifier verifier - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring credentials - * from a Java KeyStore that is protected with a password. - *

- * For a description of the arguments, please see the - * corresponding operation in the TLSKeyStoreArgBuilder. - * - * @see TLSKeyStoreArgBuilder - */ - SL3AQArgs::Argument createTLSKeyStoreWithStorePass( - in string keystore, - in string storetype, - in string storepass, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring credentials - * from a Java KeyStore that may be protected with a password. - *

- * For a description of the arguments, please see the - * corresponding operation in the TLSKeyStoreArgBuilder. - * - * @see TLSKeyStoreArgBuilder - */ - SL3AQArgs::Argument createTLSKeyStoreNoStorePass( - in string keystore, - in string storetype, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring credentials - * from a Java KeyStore that is protected with a password. - *

- * For a description of the arguments, please see the - * corresponding operation in the TLSKeyStoreArgBuilder. - * - * @see TLSKeyStoreArgBuilder - */ - SL3AQArgs::Argument createTLSEncodedKeyStoreWithStorePass( - in CORBA::OctetSeq keystore, - in string storetype, - in string storepass, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - /** - * This operation creates a Tagged Argument containing - * the following information for acquiring credentials - * from a Java KeyStore that may be protected with a password. - *

- * For a description of the arguments, please see the - * corresponding operation in the TLSKeyStoreArgBuilder. - * - * @see TLSKeyStoreArgBuilder - */ - SL3AQArgs::Argument createTLSEncodedKeyStoreNoStorePass( - in CORBA::OctetSeq keystore, - in string storetype, - in string keyalias, - in string keypass, - in CORBA::StringSeq trusted_cert_names - ); - - }; - -}; -#endif diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP.idl b/TAO/orbsvcs/orbsvcs/SSLIOP.idl deleted file mode 100644 index ba4f9c406b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP.idl +++ /dev/null @@ -1,98 +0,0 @@ -// -*- IDL -*- -// -// $Id$ - -// File: SSLIOP.idl -// Part of the Security Service with additions from the Firewall -// specification. - -#ifndef _SSLIOP_IDL -#define _SSLIOP_IDL - -#include "tao/IOP.pidl" -#include "Security.idl" -// #include - -#pragma prefix "omg.org" - -module SSLIOP { - - /// Security mechanism SSL - const IOP::ComponentId TAG_SSL_SEC_TRANS = 20; - - struct SSL { - Security::AssociationOptions target_supports; - Security::AssociationOptions target_requires; - unsigned short port; - }; - - // const Firewall::IdTag TAG_ID_SSL_CERT = xx; // OMG allocated - - /// A DER encoded X.509 certificate. - typedef sequence ASN_1_Cert; - - /// A chain of DER encoded X.509 certificates. The chain is actually - /// a sequence, according CORBA CDR encapsulation rules. - /// The sender's certificate is first, followed by any Certificate - /// Authority certificates proceeding sequentially upward. - typedef sequence SSL_Cert; - - /// The following are TAO extensions. -# pragma prefix "ssliop.tao" - /// The SSLIOP::Current interface provides methods to gain access to - /// the SSL session state for the current execution context. - local interface Current : CORBA::Current { - - - /// Exception that indicates a SSLIOP::Current operation was - /// invoked outside of an SSL session. - exception NoContext {}; - - /// Return the peer certificate associated with the current - /// request. - ASN_1_Cert get_peer_certificate () raises (NoContext); - - /// Return the certificate chain associated with the current - /// execution context. If no SSL session is being used for the - /// request or upcall, then the NoContext exception is raised. - /** - * On the client side, the chain does include the peer (server) - * certficate. However, the certificate chain on the server side - * does NOT contain the peer (client) certificate. - */ - SSL_Cert get_peer_certificate_chain () raises (NoContext); - - /// Returns true if the current execution context is not within a - /// SSL session. This method is mostly useful as an inexpensive - /// means of determining whether or not SSL session state is - /// available. - boolean no_context (); - }; - - enum FileType { - ASN1, - PEM - }; - - struct File { - FileType type; - string filename; - string password; // Only needed for encrypted PEM files. - }; - - /// The AuthData structure is the SSLIOP-specific authentication - /// data that will be passed to the - /// SecurityLevel2::PrincipalAuthenticator::authenticate() method. - /// Note that this TAO-specific. - struct AuthData { - File certificate; - File key; - }; - -# pragma prefix "omg.org" - -}; - -#pragma prefix "" - -#endif /* _SSLIOP_IDL */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP.mpc b/TAO/orbsvcs/orbsvcs/SSLIOP.mpc deleted file mode 100644 index 4485f068c26..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP.mpc +++ /dev/null @@ -1,29 +0,0 @@ -// -*- MPC -*- -// -// $Id$ - -project(SSLIOP) : orbsvcslib, core, security, ssl, pi_server, interceptors, tao_versioning_idl_defaults { - sharedname = TAO_SSLIOP - idlflags += -Wb,export_macro=TAO_SSLIOP_Export -Wb,export_include=orbsvcs/SSLIOP/SSLIOP_Export.h -SS - dynamicflags = TAO_SSLIOP_BUILD_DLL - tagchecks += SSLIOP - pch_header = - pch_source = - - IDL_Files { - SSLIOP.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - SSLIOP { - SSLIOP - } - } - - IDL_Files { - idlflags += -Sci -Gp -Gd -Ge 1 -Sc -Sa -Sorb \ - -o SSLIOP - idlflags -= -St - SSLIOP/ssl_endpoints.pidl - } -} diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP.rc b/TAO/orbsvcs/orbsvcs/SSLIOP.rc deleted file mode 100644 index 861b6bf944a..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "SSLIOP\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_SSLIOPDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_SSLIOP.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp deleted file mode 100644 index 89bea659c76..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h" - -#include "tao/ORB_Core.h" -#include "tao/debug.h" - - -ACE_RCSID (SSLIOP, - IIOP_SSL_Acceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::IIOP_SSL_Acceptor::IIOP_SSL_Acceptor (CORBA::Boolean flag) - : TAO_IIOP_Acceptor (flag), - base_acceptor_ (), - creation_strategy_ (0), - concurrency_strategy_ (0), - accept_strategy_ (0) -{ -} - -TAO::IIOP_SSL_Acceptor::~IIOP_SSL_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::IIOP_SSL_Acceptor::close (void) -{ - return this->base_acceptor_.close (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h deleted file mode 100644 index 951e2ab73be..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IIOP_SSL_Acceptor.h - * - * $Id$ - * - * SSL-aware IIOP specific acceptor processing - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_IIOP_SSL_ACCEPTOR_H -#define TAO_IIOP_SSL_ACCEPTOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/IIOP_Acceptor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - - /** - * @class IIOP_SSL_Acceptor - * - * @brief An SSL aware IIOP acceptor. - * - * The class differs from the non-SSL aware TAO_IIOP_Acceptor class - * since it uses a different a set of Acceptor strategies. In - * particular, it overrides the open_i() method to use the Acceptor - * strategies tailored to use the SSL aware server connection handler. - * See the TAO_IIOP_SSL_Connection_Handler notes for details. - */ - class IIOP_SSL_Acceptor : public TAO_IIOP_Acceptor - { - public: - - typedef ACE_Strategy_Acceptor TAO_IIOP_SSL_BASE_ACCEPTOR; - typedef TAO_Creation_Strategy TAO_IIOP_SSL_CREATION_STRATEGY; - typedef TAO_Concurrency_Strategy TAO_IIOP_SSL_CONCURRENCY_STRATEGY; - typedef TAO_Accept_Strategy TAO_IIOP_SSL_ACCEPT_STRATEGY; - - /// Constructor. - IIOP_SSL_Acceptor (CORBA::Boolean flag = 0); - - /// Destructor. - ~IIOP_SSL_Acceptor (void); - - virtual int close (void); - - private: - - /// The concrete acceptor, as a pointer to it's base class. - TAO_IIOP_SSL_BASE_ACCEPTOR base_acceptor_; - - /** - * @name Acceptor Strategies - * - * Server side creation, concurrency and accept strategies. - */ - //@{ - TAO_IIOP_SSL_CREATION_STRATEGY *creation_strategy_; - TAO_IIOP_SSL_CONCURRENCY_STRATEGY *concurrency_strategy_; - TAO_IIOP_SSL_ACCEPT_STRATEGY *accept_strategy_; - //@} - - }; - -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_IIOP_SSL_ACCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp deleted file mode 100644 index fb9a61ba32b..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h" -#include "orbsvcs/SSLIOP/IIOP_SSL_Transport.h" -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" -#include "tao/Timeprobe.h" -#include "tao/ORB_Core.h" -#include "tao/ORB.h" -#include "tao/debug.h" - - -ACE_RCSID (SSLIOP, - IIOP_SSL_Connection_Handler, - "$Id$") - - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_ENABLE_TIMEPROBES) - -static const char * const TAO_IIOP_SSL_Connect_Timeprobe_Description[] = -{ - "IIOP_SSL_Connection_Handler::handle_input - start", - "IIOP_SSL_Connection_Handler::handle_input - end", - - "IIOP_SSL_Connection_Handler::handle_locate - start", - "IIOP_SSL_Connection_Handler::handle_locate - end", - - "IIOP_SSL_Connection_Handler::receive_request - end", - - "IIOP_SSL_Connection_Handler::send_request - start", - "IIOP_SSL_Connection_Handler::send_request - end"}; - -enum -{ - // Timeprobe description table start key - TAO_IIOP_SSL_CONNECTION_HANDLER_HANDLE_INPUT_START = 320, - TAO_IIOP_SSL_CONNECTION_HANDLER_HANDLE_INPUT_END, - - TAO_IIOP_SSL_CONNECTION_HANDLER_HANDLE_LOCATE_START, - TAO_IIOP_SSL_CONNECTION_HANDLER_HANDLE_LOCATE_END, - - TAO_IIOP_SSL_CONNECTION_HANDLER_RECEIVE_REQUEST_END - -}; - -// Setup Timeprobes -ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_IIOP_SSL_Connect_Timeprobe_Description, - TAO_IIOP_SSL_CONNECTION_HANDLER_HANDLE_INPUT_START); - -#endif /* ACE_ENABLE_TIMEPROBES */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::IIOP_SSL_Connection_Handler::IIOP_SSL_Connection_Handler ( - ACE_Thread_Manager *t) - : TAO_IIOP_Connection_Handler (t) -{ - // This constructor should *never* get called, it is just here to - // make the compiler happy: the default implementation of the - // Creation_Strategy requires a constructor with that signature, we - // don't use that implementation, but some (most?) compilers - // instantiate it anyway. - ACE_ASSERT (0); -} - - -TAO::IIOP_SSL_Connection_Handler::IIOP_SSL_Connection_Handler ( - TAO_ORB_Core *orb_core, - CORBA::Boolean /* flag */) - : TAO_IIOP_Connection_Handler (orb_core, 0) -{ - // Delete the transport with TAO_IIOP_Connection_Handler. - delete this->transport (); - - IIOP_SSL_Transport* specific_transport = 0; - ACE_NEW (specific_transport, - IIOP_SSL_Transport (this, - orb_core, - 0)); - - // store this pointer - this->transport (specific_transport); -} - -TAO::IIOP_SSL_Connection_Handler::~IIOP_SSL_Connection_Handler (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h deleted file mode 100644 index 3c81122ede9..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h +++ /dev/null @@ -1,122 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IIOP_SSL_Connection_Handler.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_IIOP_SSL_CONNECTION_HANDLER_H -#define TAO_IIOP_SSL_CONNECTION_HANDLER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" - -#include "orbsvcs/SSLIOPC.h" -#include "tao/IIOP_Connection_Handler.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - - /** - * @class IIOP_SSL_Connection_Handler - * - * @brief - * IIOP connection handler designed to be "SSL aware," i.e. it is - * aware of the existence of the SSLIOP connection handler. It - * makes sure that SSL session state from a previous connection is - * not associated with the non-SSL connection handled by this - * handler. - * - * This class is just a place holder to create the - * TAO_IIOP_SSL_Transport which does the work of clearing the TSS - * SSL state. - */ - class IIOP_SSL_Connection_Handler : public TAO_IIOP_Connection_Handler - { - public: - - /// Constructor. - IIOP_SSL_Connection_Handler (ACE_Thread_Manager* t = 0); - IIOP_SSL_Connection_Handler (TAO_ORB_Core *orb_core, - CORBA::Boolean flag); - - /// Destructor. - ~IIOP_SSL_Connection_Handler (void); - - }; - - // **************************************************************** - - /** - * @class Null_SSL_State_Guard - * - * @brief - * This class sets up null TSS SSL state upon instantiation, and - * restores the previous TSS SSL state when that instance goes out - * of scope. - * - * This guard is used to make TSS SSL state configuration and - * deconfiguration during an upcall exception safe. Exceptions are - * not supposed to be propagated up to the scope this guard is used - * in, so this guard may be unnecessary. However, since proper TSS - * SSL state configuration/deconfiguration is critical to proper - * security support, this guard is used to ensure that - * configuration/deconfiguration is exception safe. - */ - class Null_SSL_State_Guard - { - public: - - /// Constructor that sets up the null TSS SSL state. - Null_SSL_State_Guard (TAO::SSLIOP::Current_ptr current, - int &result); - - /// Destructor that restores the previous TSS SSL state. - ~Null_SSL_State_Guard (void); - - private: - - /// The SSLIOP::Current implementation that was previously - /// associated with the current thread and invocation. - /** - * It is stored here until the invocation completes, after which - * it placed back into TSS. - */ - TAO::SSLIOP::Current_Impl *previous_current_impl_; - - /// Reference to the SSLIOP::Current object. - TAO::SSLIOP::Current_ptr current_; - - /// Flag that specifies whether or not setup of the SSLIOP::Current - /// object completed for the current thread and invocation. - bool setup_done_; - - }; - -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" - -#endif /* TAO_IIOP_SSL_CONNECTION_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl deleted file mode 100644 index 7a0b3d4b320..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl +++ /dev/null @@ -1,33 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO::Null_SSL_State_Guard::Null_SSL_State_Guard ( - TAO::SSLIOP::Current_ptr current, - int &result) - : previous_current_impl_ (0), - current_ (current), // No need to duplicate - setup_done_ (false) -{ - // Invalidate the TSS SSL session state to make sure that SSL state - // from a previous SSL connection is not confused with this non-SSL - // connection. - current->setup (this->previous_current_impl_, - 0, // Null SSL state - this->setup_done_); - - result = 0; -} - -ACE_INLINE -TAO::Null_SSL_State_Guard::~Null_SSL_State_Guard (void) -{ - // Restore the previous TSS SSL state. - this->current_->teardown (this->previous_current_impl_, - this->setup_done_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL 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 51a3db9a486..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp +++ /dev/null @@ -1,288 +0,0 @@ -#include "orbsvcs/SSLIOP/IIOP_SSL_Connector.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/Thread_Lane_Resources.h" -#include "tao/Connect_Strategy.h" -#include "tao/Wait_Strategy.h" -#include "tao/Profile_Transport_Resolver.h" -#include "tao/Transport.h" - -#include "ace/Strategies_T.h" - - -ACE_RCSID (SSLIOP, - IIOP_SSL_Connector, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::IIOP_SSL_Connector::IIOP_SSL_Connector (CORBA::Boolean flag) - : TAO_IIOP_Connector (flag), - connect_strategy_ (), - base_connector_ () -{ -} - -TAO::IIOP_SSL_Connector::~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; - - // Our connect creation strategy - CONNECT_CREATION_STRATEGY *connect_creation_strategy = 0; - - ACE_NEW_RETURN (connect_creation_strategy, - CONNECT_CREATION_STRATEGY (orb_core->thr_mgr (), - orb_core, - this->lite_flag_), - -1); - - // Our activation strategy - CONNECT_CONCURRENCY_STRATEGY *concurrency_strategy = 0; - - ACE_NEW_RETURN (concurrency_strategy, - 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 = - dynamic_cast (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_SSL 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; -} - -TAO_Transport * -TAO::IIOP_SSL_Connector::make_connection ( - TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface &desc, - ACE_Time_Value *max_wait_time) -{ - TAO_IIOP_Endpoint *iiop_endpoint = - dynamic_cast (desc.endpoint ()); - - if (iiop_endpoint == 0) - return 0; - - const ACE_INET_Addr &remote_address = - iiop_endpoint->object_addr (); - - if (TAO_debug_level > 4) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) IIOP_SSL_Connector::connect ") - ACE_TEXT ("making a new connection \n"))); - - // Get the right synch options - ACE_Synch_Options synch_options; - - this->active_connect_strategy_->synch_options (max_wait_time, - synch_options); - - // If we don't need to block for a transport just set the timeout to - // be zero. - ACE_Time_Value tmp_zero (ACE_Time_Value::zero); - if (!r->blocked_connect ()) - { - synch_options.timeout (ACE_Time_Value::zero); - max_wait_time = &tmp_zero; - } - - - IIOP_SSL_Connection_Handler *svc_handler = 0; - - // Connect. - int result = - this->base_connector_.connect (svc_handler, - remote_address, - synch_options); - - // The connect() method creates the service handler and bumps the - // #REFCOUNT# up one extra. There are three possibilities from - // calling connect(): (a) connection succeeds immediately - in this - // case, the #REFCOUNT# on the handler is two; (b) connection - // completion is pending - in this case, the #REFCOUNT# on the - // handler is also two; (c) connection fails immediately - in this - // case, the #REFCOUNT# on the handler is one since close() gets - // called on the handler. - // - // The extra reference count in - // TAO_Connect_Creation_Strategy::make_svc_handler() is needed in - // the case when connection completion is pending and we are going - // to wait on a variable in the handler to changes, signifying - // success or failure. Note, that this increment cannot be done - // once the connect() returns since this might be too late if - // another thread pick up the completion and potentially deletes the - // handler before we get a chance to increment the reference count. - - // Make sure that we always do a remove_reference - ACE_Event_Handler_var svc_handler_auto_ptr (svc_handler); - - TAO_Transport *transport = - svc_handler->transport (); - - if (result == -1) - { - // No immediate result, wait for completion - if (errno == EWOULDBLOCK) - { - // Try to wait until connection completion. Incase we block, then we - // get a connected transport or not. In case of non block we get - // a connected or not connected transport - if (!this->wait_for_connection_completion (r, - transport, - max_wait_time)) - { - if (TAO_debug_level > 2) - ACE_ERROR ((LM_ERROR, "TAO (%P|%t) - IIOP_SSL_Connector::" - "make_connection, " - "wait for completion failed\n")); - } - } - else - { - // Transport is not usable - transport = 0; - } - } - - // In case of errors transport is zero - if (transport == 0) - { - // Give users a clue to the problem. - if (TAO_debug_level) - { - ACE_DEBUG ((LM_ERROR, - "TAO (%P|%t) - IIOP_SSL_Connector::make_connection, " - "connection to <%s:%d> failed (%p)\n", - iiop_endpoint->host (), iiop_endpoint->port (), - "errno")); - } - - return 0; - } - - // At this point, the connection has be successfully connected. - // #REFCOUNT# is one. - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - IIOP_SSL_Connector::make_connection, " - "new connection to <%s:%d> on Transport[%d]\n", - iiop_endpoint->host (), iiop_endpoint->port (), - svc_handler->peer ().get_handle ())); - - // Add the handler to Cache - int retval = - this->orb_core ()->lane_resources ().transport_cache ().cache_transport ( - &desc, - transport); - - // Failure in adding to cache. - if (retval != 0) - { - // Close the handler. - svc_handler->close (); - - if (TAO_debug_level > 0) - { - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) - IIOP_SSL_Connector::make_connection, " - "could not add the new connection to cache\n")); - } - - return 0; - } - - if (transport->is_connected () && - transport->wait_strategy ()->register_handler () != 0) - { - // Registration failures. - - // Purge from the connection cache, if we are not in the cache, this - // just does nothing. - (void) transport->purge_entry (); - - // Close the handler. - (void) transport->close_connection (); - - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) - IIOP_SSL_Connector [%d]::make_connection, " - "could not register the transport " - "in the reactor.\n", - transport->id ())); - - return 0; - } - - return transport; -} - -int -TAO::IIOP_SSL_Connector::cancel_svc_handler ( - TAO_Connection_Handler * svc_handler) -{ - IIOP_SSL_Connection_Handler* handler= - dynamic_cast (svc_handler); - - if (handler) - // Cancel from the connector - return this->base_connector_.cancel (handler); - - return -1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h deleted file mode 100644 index b051fa19cae..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h +++ /dev/null @@ -1,104 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IIOP_SSL_Connector.h - * - * $Id$ - * - * IIOP specific connector processing -- SSL aware version - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_IIOP_SSL_CONNECTOR_H -#define TAO_IIOP_SSL_CONNECTOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/IIOP_Connector.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /** - * @class IIOP_SSL_Connector - * - * @brief IIOP-specific Connector (SSL aware) bridge for pluggable - * protocols. - * - * Concrete instance of the TAO_Connector class. Responsible - * for establishing a connection with a server and is called from the - * Connector_Registry. - */ - class IIOP_SSL_Connector : public TAO_IIOP_Connector - { - public: - - /// Constructor. - IIOP_SSL_Connector (CORBA::Boolean flag = 0); - - /// Destructor. - ~IIOP_SSL_Connector (void); - - int open (TAO_ORB_Core *orb_core); - int close (void); - - public: - - typedef TAO_Connect_Concurrency_Strategy - CONNECT_CONCURRENCY_STRATEGY; - - typedef TAO_Connect_Creation_Strategy - CONNECT_CREATION_STRATEGY; - - typedef ACE_Connect_Strategy - CONNECT_STRATEGY ; - - typedef ACE_Strategy_Connector - BASE_CONNECTOR; - - protected: - - /** - * @name The TAO_Connector Methods - * - * Check the documentation in tao/Transport_Connector.h for details. - */ - //@{ - int set_validate_endpoint (TAO_Endpoint *ep); - - TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface &desc, - ACE_Time_Value *timeout = 0); - - virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler); - //@} - - private: - - /// Our connect strategy - CONNECT_STRATEGY connect_strategy_; - - /// The connector initiating connection requests for IIOP_SSL. - BASE_CONNECTOR base_connector_; - }; - -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_IIOP_SSL_CONNECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp deleted file mode 100644 index 1a5d1724a2e..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include "orbsvcs/SSLIOP/IIOP_SSL_Transport.h" -#include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h" -#include "orbsvcs/SSLIOP/SSLIOP_Util.h" - -#include "tao/ORB_Core.h" -#include "tao/ORB.h" -#include "tao/Timeprobe.h" -#include "tao/debug.h" - - -ACE_RCSID (SSLIOP, - IIOP_SSL_Transport, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::IIOP_SSL_Transport::IIOP_SSL_Transport ( - IIOP_SSL_Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean flag) - : TAO_IIOP_Transport (handler, - orb_core, - flag) -{ - this->current_ = - TAO::SSLIOP::Util::current (orb_core); -} - -TAO::IIOP_SSL_Transport::~IIOP_SSL_Transport (void) -{ -} - -int -TAO::IIOP_SSL_Transport::handle_input (TAO_Resume_Handle &rh, - ACE_Time_Value *max_wait_time, - int block) -{ - int result = 0; - - // Invalidate the TSS SSL session state to make sure that SSL state - // from a previous SSL connection is not confused with this non-SSL - // connection. - TAO::Null_SSL_State_Guard guard (this->current_.in (), result); - - if (result != 0) - return -1; - - return - this->TAO_IIOP_Transport::handle_input (rh, - max_wait_time, - block); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h deleted file mode 100644 index a6c1aa7ea0f..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h +++ /dev/null @@ -1,90 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file IIOP_SSL_Transport.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_IIOP_SSL_TRANSPORT_H -#define TAO_IIOP_SSL_TRANSPORT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/IIOP_Transport.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ORB_Core; -class TAO_Resume_Handle; - -namespace TAO -{ - class IIOP_SSL_Connection_Handler; - - /** - * @class IIOP_SSL_Transport - * - * @brief - * IIOP Transport designed to be "SSL aware," i.e. it is - * aware of the existence of the SSLIOP Transport. It makes - * sure that SSL session state from a previous connection is not - * associated with the non-SSL connection handled by this handler. - * - * However, this class overrides the handle_input() method to - * invalidate the current TSS SSL state during a standard IIOP - * (insecure) upcall. This prevents SSL session state from a - * previous SSL connection from being associated with non-SSL - * connections processed by this connection handler. In particular, - * this is very important for closing a security hole in nested - * upcalls. For example, an SSLIOP request is made. During that - * secure upcall, an insecure nested upcall is made. A naive - * implementation would associate the TSS SSL state from the secure - * upcall with the insecure upcall. This implementation closes that - * security hole. - */ - class IIOP_SSL_Transport : public TAO_IIOP_Transport - { - public: - /// Constructor. - IIOP_SSL_Transport (IIOP_SSL_Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean flag = 0); - - /// Default destructor. - ~IIOP_SSL_Transport (void); - - /** @name Overridden Template Methods - * - * Please check the documentation in "tao/Transport.h" for more - * details. - */ - virtual int handle_input (TAO_Resume_Handle &rh, - ACE_Time_Value *max_wait_time = 0, - int block = 0); - - protected: - - /// Reference to the TAO::SSLIOP::Current object. - TAO::SSLIOP::Current_var current_; - - }; - -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_IIOP_SSL_TRANSPORT_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp deleted file mode 100644 index 5de9b828787..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_Accept_Strategy, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Accept_Strategy::Accept_Strategy ( - TAO_ORB_Core * orb_core, - const ACE_Time_Value & timeout) - : TAO_Accept_Strategy (orb_core), - timeout_ (timeout) -{ -} - -int -TAO::SSLIOP::Accept_Strategy::accept_svc_handler (handler_type * svc_handler) -{ - ACE_TRACE ("TAO::SSLIOP::Accept_Strategy::accept_svc_handler"); - - // The following code is basically the same code found in - // ACE_Accept_Strategy::accept_svc_handler(). The only difference - // is that a timeout value is passed to the peer acceptor's accept() - // method. A timeout is necessary to prevent malicious or - // misbehaved clients from only completing the TCP handshake and not - // the SSL handshake. Without the timeout, a denial-of-service - // vulnerability would exist where multiple incomplete SSL passive - // connections (i.e. where only the TCP handshake is completed) - // could result in the server process running out of file - // descriptors. That would be due to the SSL handshaking process - // blocking/waiting for the handshake to complete. - - // The timeout value will be modified. Make a copy. - ACE_Time_Value timeout (this->timeout_); - - // Try to find out if the implementation of the reactor that we are - // using requires us to reset the event association for the newly - // created handle. This is because the newly created handle will - // inherit the properties of the listen handle, including its event - // associations. - const int reset_new_handle = this->reactor_->uses_event_associations (); - - if (this->peer_acceptor_.accept (svc_handler->peer (), // stream - 0, // remote address - &timeout, // timeout - 1, // restart - reset_new_handle // reset new handler - ) == -1) - { - // Ensure that errno is preserved in case the svc_handler - // close() method resets it. - ACE_Errno_Guard error (errno); - - // Close down handler to avoid memory leaks. - svc_handler->close (0); - - return -1; - } - else - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h deleted file mode 100644 index 0ce82cca857..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h +++ /dev/null @@ -1,98 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Accept_Strategy.h - * - * $Id$ - * - * IIOP/SSL specific accept strategy - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_ACCEPT_STRATEGY_H -#define TAO_SSLIOP_ACCEPT_STRATEGY_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" - -#include "tao/Acceptor_Impl.h" - -#include "ace/SSL/SSL_SOCK_Acceptor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - - /** - * @class Accept_Strategy - * - * @brief SSLIOP-specific accept strategy that builds on the - * TAO_Accept_Strategy implementation. - * - * This accept strategy builds on on the TAO_Accept_Strategy - * implementation. It sub-classes that class, and overrides the - * accept_svc_handler() method so that a timeout value may be - * passed to the underlying peer acceptor. This is necessary to - * defend against a simple Denial-of-Service attack. - * @par - * Since SSL requires two handshakes, one TCP and one SSL, it is - * possible for a malicious client to establish a TCP connection - * to the SSL port, and never complete the SSL handshake. The - * underlying SSL passive connection code would block/hang waiting - * for the SSL handshake to complete. Given enough incomplete - * connections where only the TCP handshake is completed, a server - * process could potentially run out of available file - * descriptors, thus preventing legitimate client connections from - * being established. - * @par. - * The timeout defense alluded to above bounds the time this sort of - * DoS attack lasts. - */ - class Accept_Strategy - : public TAO_Accept_Strategy - { - public: - - /// Constructor. - Accept_Strategy (TAO_ORB_Core * orb_core, - const ACE_Time_Value & timeout); - - /// Overridden method that forces a passive connection timeout value - /// to be passed to the underlying acceptor. - virtual int accept_svc_handler (handler_type * svc_handler); - - private: - - /// The accept() timeout. - /** - * This timeout includes the overall time to complete the SSL - * handshake. This includes both the TCP handshake and the SSL - * handshake. - */ - const ACE_Time_Value timeout_; - - }; - - } // End SSLIOP namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_ACCEPT_STRATEGY_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp deleted file mode 100644 index 41428c0a1ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp +++ /dev/null @@ -1,684 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Acceptor.h" -#include "orbsvcs/SSLIOP/SSLIOP_Profile.h" - -#include "tao/MProfile.h" -#include "tao/ORB_Core.h" -#include "tao/Server_Strategy_Factory.h" -#include "tao/Codeset_Manager.h" -#include "tao/CDR.h" -#include "tao/debug.h" - -#if !defined(__ACE_INLINE__) -#include "orbsvcs/SSLIOP/SSLIOP_Acceptor.i" -#endif /* __ACE_INLINE__ */ - - -ACE_RCSID (SSLIOP, - SSLIOP_Acceptor, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Acceptor::Acceptor (::Security::QOP qop, - const ACE_Time_Value & timeout) - : TAO::IIOP_SSL_Acceptor (), - ssl_acceptor_ (), - creation_strategy_ (0), - concurrency_strategy_ (0), - accept_strategy_ (0), - timeout_ (timeout) -{ - // --- CSIv1 --- - - // 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); - - - // --- CSIv2 --- - - // Clear all bits in the CSIIOP::TLS_SEC_TRANS association option - // fields. - this->csiv2_component_.target_supports = 0; - this->csiv2_component_.target_requires = 0; - - // SSLIOP requires these CSIIOP::AssociationOptions by default. - ACE_SET_BITS (this->csiv2_component_.target_requires, - CSIIOP::Integrity - | CSIIOP::Confidentiality - | CSIIOP::NoDelegation); - - // SSLIOP supports these CSIIOP::AssociationOptions by default. - ACE_SET_BITS (this->csiv2_component_.target_supports, - CSIIOP::Integrity - | CSIIOP::Confidentiality - | CSIIOP::EstablishTrustInTarget - | CSIIOP::NoDelegation); - - // @@ This should go away once we support setting security - // association options through policies. - if (qop == CSIIOP::NoProtection) - ACE_SET_BITS (this->csiv2_component_.target_supports, - CSIIOP::NoProtection); -} - -TAO::SSLIOP::Acceptor::~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. - const 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); - - TAO_Codeset_Manager *csm = this->orb_core_->codeset_manager(); - if (csm) - csm->set_codeset (pfile->tagged_components()); - - 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 - const 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 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 = dynamic_cast (pfile); - if (ssliop_profile == 0) - return -1; - break; - } - } - - // If 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 = - dynamic_cast (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); - - TAO_Codeset_Manager *csm = this->orb_core_->codeset_manager(); - if (csm) - csm->set_codeset(ssliop_profile->tagged_components()); - - 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 = - dynamic_cast (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->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; - - ACE_INET_Addr addr; - ACE_CString specified_hostname; - if (this->parse_address (address, addr, specified_hostname) == -1) - return -1; - - // Open the non-SSL enabled endpoints, then open the SSL enabled - // endpoints. - if (this->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() - addr.set_port_number (this->ssl_component_.port); - - 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->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, - static_cast (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; - - // Explicitly disable GIOPlite support since it introduces security - // holes. - static const int giop_lite = 0; - - ACE_NEW_RETURN (this->creation_strategy_, - CREATION_STRATEGY (this->orb_core_, - giop_lite), - -1); - - ACE_NEW_RETURN (this->concurrency_strategy_, - CONCURRENCY_STRATEGY (this->orb_core_), - -1); - - ACE_NEW_RETURN (this->accept_strategy_, - ACCEPT_STRATEGY (this->orb_core_, - this->timeout_), - -1); - - u_short requested_port = addr.get_port_number (); - if (requested_port == 0) - { - // don't care, i.e., let the OS choose an ephemeral port - if (this->ssl_acceptor_.open (addr, - reactor, - this->creation_strategy_, - this->accept_strategy_, - this->concurrency_strategy_, - 0, 0, 0, 1, - this->reuse_addr_) == -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; - } - } - else - { - ACE_INET_Addr a(addr); - - int found_a_port = 0; - ACE_UINT32 last_port = requested_port + this->port_span_ - 1; - if (last_port > ACE_MAX_DEFAULT_PORT) - { - last_port = ACE_MAX_DEFAULT_PORT; - } - - for (ACE_UINT32 p = requested_port; p <= last_port; p++) - { - if (TAO_debug_level > 5) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) IIOP_Acceptor::open_i() ") - ACE_TEXT ("trying to listen on port %d\n"), p)); - - // Now try to actually open on that port - a.set_port_number ((u_short)p); - if (this->ssl_acceptor_.open (a, - reactor, - this->creation_strategy_, - this->accept_strategy_, - this->concurrency_strategy_, - 0, 0, 0, 1, - this->reuse_addr_) != -1) - { - found_a_port = 1; - break; - } - } - - // Now, if we couldn't locate a port, we punt - if (! found_a_port) - { - 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_i (int &argc, ACE_CString ** argv) -{ - //first, do the base class parser, then parse the leftovers. - int result = this->IIOP_SSL_Acceptor::parse_options_i(argc,argv); - if (result == -1) - return result; - - // then parse out our own options. - int i = 0; - while (i < argc) - { - // since the base class has already iterated over the list once, - // it has vound any ill-formed options. Therefore we don't need - // to do that again here. - int slot = argv[i]->find ("="); - ACE_CString name = argv[i]->substring (0, slot); - ACE_CString value = argv[i]->substring (slot + 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 - { - // the name is not known, skip to the next option - i++; - continue; - } - // at the end, we've consumed this argument. Shift the list and - // put this one on the end. This technique has the effect of - // putting them in reverse order, but that doesn't matter, since - // these arguments are only whole strings. - argc--; - ACE_CString *temp = argv[i]; - for (int j = i; j <= argc-1; j++) - argv[j] = argv[j+1]; - argv[argc] = temp; - - } - 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; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h deleted file mode 100644 index f8c12442dc3..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h +++ /dev/null @@ -1,169 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Acceptor.h - * - * $Id$ - * - * IIOP/SSL specific acceptor processing - * - * - * @author Carlos O'Ryan - * @author Ossama Othman - */ -//============================================================================= - - -#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 "orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h" -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" -#include "orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h" - -#include "orbsvcs/SSLIOPC.h" /* CSIv1 */ -#include "orbsvcs/CSIIOPC.h" /* CSIv2 */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - - /** - * @class Acceptor - * - * @brief The SSLIOP-specific bridge class for the concrete acceptor. - */ - class Acceptor - : public IIOP_SSL_Acceptor - { - public: - - /// Constructor. - Acceptor (::Security::QOP qop, - const ACE_Time_Value & timeout); - - /// Destructor. - ~Acceptor (void); - - typedef ACE_Strategy_Acceptor BASE_ACCEPTOR; - typedef TAO_Creation_Strategy CREATION_STRATEGY; - typedef TAO_Concurrency_Strategy CONCURRENCY_STRATEGY; - typedef Accept_Strategy 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 CSIv1 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. - virtual int parse_options_i (int &argc, ACE_CString ** argv); - - /// 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. - BASE_ACCEPTOR ssl_acceptor_; - - /** - * @name Acceptor Strategies - * - * Strategies used when accepting an incoming connection. - */ - CREATION_STRATEGY *creation_strategy_; - CONCURRENCY_STRATEGY *concurrency_strategy_; - ACCEPT_STRATEGY *accept_strategy_; - - /// The CSIv1 SSL component. - /** - * This is the SSLIOP endpoint-specific tagged component that is - * embedded in a given IOR. - */ - ::SSLIOP::SSL ssl_component_; - - /// The SSLIOP CSIv2 tagged component. - /** - * - */ - CSIIOP::TLS_SEC_TRANS csiv2_component_; - - /// The accept() timeout. - /** - * This timeout includes the overall time to complete the SSL - * handshake. This includes both the TCP handshake and the SSL - * handshake. - */ - const ACE_Time_Value timeout_; - - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(__ACE_INLINE__) -#include "orbsvcs/SSLIOP/SSLIOP_Acceptor.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_ACCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i deleted file mode 100644 index 9dd630f54ef..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE const SSLIOP::SSL & -TAO::SSLIOP::Acceptor::ssl_component (void) const -{ - return this->ssl_component_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.cpp deleted file mode 100644 index 4cf1fe799fb..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.cpp +++ /dev/null @@ -1,142 +0,0 @@ -// $Id$ - -#include "orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h" -#include "orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_ClientCredentials, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::ClientCredentials::ClientCredentials ( - X509 * cert, - EVP_PKEY *evp, - SSL * ssl) - : SSLIOP_Credentials (cert, evp), - ssl_ (TAO::SSLIOP::OpenSSL_traits< ::SSL >::_duplicate (ssl)) -{ -} - -TAO::SSLIOP::ClientCredentials::~ClientCredentials (void) -{ -} - -SecurityLevel3::CredentialsType -TAO::SSLIOP::ClientCredentials::creds_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return SecurityLevel3::CT_ClientCredentials; -} - -char * -TAO::SSLIOP::ClientCredentials::context_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::Principal * -TAO::SSLIOP::ClientCredentials::client_principal (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::StatementList * -TAO::SSLIOP::ClientCredentials::client_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::ResourceNameList * -TAO::SSLIOP::ClientCredentials::client_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::Principal * -TAO::SSLIOP::ClientCredentials::target_principal (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::StatementList * -TAO::SSLIOP::ClientCredentials::target_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::ResourceNameList * -TAO::SSLIOP::ClientCredentials::target_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::OwnCredentials_ptr -TAO::SSLIOP::ClientCredentials::parent_credentials (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::OwnCredentials_ptr creds = - SecurityLevel3::OwnCredentials::_nil (); - - ACE_NEW_THROW_EX (creds, - TAO::SSLIOP::OwnCredentials ( - ::SSL_get_certificate (this->ssl_.in ()), - ::SSL_get_privatekey (this->ssl_.in ())), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (creds); - - return creds; -} - -CORBA::Boolean -TAO::SSLIOP::ClientCredentials::client_authentication ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // If the client presented no certificate (i.e. cert_.ptr() == 0), - // the client was not authenticated. Otherwise, verify the peer's - // certificate. - - return - this->x509_.in () != 0 - && SSL_get_verify_result (this->ssl_.in ()) == X509_V_OK; -} - -CORBA::Boolean -TAO::SSLIOP::ClientCredentials::target_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), false); -} - -CORBA::Boolean -TAO::SSLIOP::ClientCredentials::confidentiality (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), false); -} - -CORBA::Boolean -TAO::SSLIOP::ClientCredentials::integrity (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // TAO's SSLIOP pluggable transport always provides integrity. Note - // that if we - - return true; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h deleted file mode 100644 index ce621276918..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h +++ /dev/null @@ -1,153 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_ClientCredentials.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_CLIENT_CREDENTIALS_H -#define TAO_SSLIOP_CLIENT_CREDENTIALS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Credentials.h" -#include "orbsvcs/SSLIOP/SSLIOP_SSL.h" - -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - /** - * @class ClientCredentials - * - * @brief - * - * - */ - class ClientCredentials - : public virtual SecurityLevel3::ClientCredentials, - public virtual SSLIOP_Credentials - { - public: - - /// Constructor - ClientCredentials (::X509 * cert, - ::EVP_PKEY * evp, - ::SSL * ssl); - - /** - * @name SecurityLevel3::Credentials Methods - * - * Methods required by the SecurityLevel3::Credentials - * interface. - */ - //@{ - virtual SecurityLevel3::CredentialsType creds_type ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /** - * @name SecurityLevel3::ClientCredentials Methods - * - * Methods required by the SecurityLevel3::ClientCredentials - * interface. - */ - //@{ - virtual char * context_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::Principal * client_principal ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::StatementList * client_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::ResourceNameList * client_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::Principal * target_principal ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::StatementList * target_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::ResourceNameList * target_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::OwnCredentials_ptr parent_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean client_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean confidentiality (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean integrity (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~ClientCredentials (void); - - private: - - /// Reference to the OpenSSL @c SSL data structure associated - /// with the current security context (e.g. SSL connection). - TAO::SSLIOP::SSL_var ssl_; - - }; - - } // End SSLIOP namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CLIENT_CREDENTIALS_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp deleted file mode 100644 index 3d652c1df81..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp +++ /dev/null @@ -1,445 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" -#include "orbsvcs/SSLIOP/SSLIOP_Endpoint.h" -#include "orbsvcs/SSLIOP/SSLIOP_Util.h" - -#include "tao/debug.h" -#include "tao/Base_Transport_Property.h" -#include "tao/ORB_Core.h" -#include "tao/IIOP_Endpoint.h" -#include "tao/IIOP_Connection_Handler.h" -#include "tao/Transport_Cache_Manager.h" -#include "tao/Thread_Lane_Resources.h" -#include "tao/Wait_Strategy.h" -#include "tao/Protocols_Hooks.h" -#include "ace/os_include/netinet/os_tcp.h" -#include "ace/os_include/os_netdb.h" - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i" -#endif /* ! __ACE_INLINE__ */ - -ACE_RCSID (SSLIOP, - SSLIOP_Connection_Handler, - "$Id$") - -// **************************************************************** - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Connection_Handler::Connection_Handler ( - ACE_Thread_Manager *t) - : SVC_HANDLER (t, 0 , 0), - TAO_Connection_Handler (0), - current_ () -{ - // This constructor should *never* get called, it is just here to - // make the compiler happy: the default implementation of the - // Creation_Strategy requires a constructor with that signature, we - // don't use that implementation, but some (most?) compilers - // instantiate it anyway. - ACE_ASSERT (0); -} - -TAO::SSLIOP::Connection_Handler::Connection_Handler ( - TAO_ORB_Core *orb_core, - CORBA::Boolean /* flag */) // SSLIOP does *not* support GIOPlite - : SVC_HANDLER (orb_core->thr_mgr (), 0, 0), - TAO_Connection_Handler (orb_core), - current_ () -{ - this->current_ = - TAO::SSLIOP::Util::current (orb_core); - - TAO::SSLIOP::Transport* specific_transport = 0; - ACE_NEW (specific_transport, - TAO::SSLIOP::Transport (this, orb_core, 0)); - - // store this pointer (indirectly increment ref count) - this->transport (specific_transport); -} - -TAO::SSLIOP::Connection_Handler::~Connection_Handler (void) -{ - delete this->transport (); -} - -int -TAO::SSLIOP::Connection_Handler::open_handler (void *v) -{ - return this->open (v); -} - -int -TAO::SSLIOP::Connection_Handler::open (void *) -{ - TAO_IIOP_Protocol_Properties protocol_properties; - - // Initialize values from ORB params. - protocol_properties.send_buffer_size_ = - this->orb_core ()->orb_params ()->sock_sndbuf_size (); - protocol_properties.recv_buffer_size_ = - this->orb_core ()->orb_params ()->sock_rcvbuf_size (); - protocol_properties.no_delay_ = - this->orb_core ()->orb_params ()->nodelay (); - - TAO_Protocols_Hooks *tph = - this->orb_core ()->get_protocols_hooks (); - - int client = - this->transport ()->opened_as () == TAO::TAO_CLIENT_ROLE;; - - ACE_DECLARE_NEW_CORBA_ENV; - - ACE_TRY - { - if (client) - { - tph->client_protocol_properties_at_orb_level ( - protocol_properties - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - else - { - tph->server_protocol_properties_at_orb_level ( - protocol_properties - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - return -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - if (this->set_socket_option (this->peer (), - protocol_properties.send_buffer_size_, - protocol_properties.recv_buffer_size_) == -1) - return -1; - -#if !defined (ACE_LACKS_TCP_NODELAY) - if (this->peer ().set_option (ACE_IPPROTO_TCP, - TCP_NODELAY, - (void *) &protocol_properties.no_delay_, - sizeof (protocol_properties.no_delay_)) == -1) - return -1; -#endif /* ! ACE_LACKS_TCP_NODELAY */ - - if (this->transport ()->wait_strategy ()->non_blocking ()) - { - if (this->peer ().enable (ACE_NONBLOCK) == -1) - return -1; - - // Enable partial SSL writes. - // - // By default, OpenSSL attempts to send the entire chunk of - // data. This is fine for relatively small chunks of data. - // However, if SSL_write() returns with an SSL_ERROR_WANT_WRITE - // (basically an EWOULDBLOCK) when using non-blocking I/O, TAO - // may attempt to resend the same data with a potentially - // different buffer address. Such a scenario is prone to happen - // when sending large chunks of data that cause flow control to - // occur. For most protocol implementations this is fine. - // OpenSSL, on the other hand, requires that the same arguments - // be passed to SSL_write() if an SSL_ERROR_WANT_WRITE error - // occured on a previous SSL_write() attempt, which cannot be - // guaranteed by TAO's current message queuing/construction - // code, often resulting in a "bad write retry" OpenSSL error. - // To work around this issue, we enable partial SSL_write()s in - // SSL/TLS connections created by TAO's SSLIOP pluggable - // protocol. Doing so makes SSL_write() behave like write(2). - // - // This isn't an issue when using blocking I/O. - (void) ::SSL_set_mode (this->peer ().ssl (), - SSL_MODE_ENABLE_PARTIAL_WRITE); - (void) ::SSL_set_mode (this->peer ().ssl (), - SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); - } - - // Called by the when the handler is - // completely connected. - ACE_INET_Addr remote_addr; - if (this->peer ().get_remote_addr (remote_addr) == -1) - return -1; - - ACE_INET_Addr local_addr; - if (this->peer ().get_local_addr (local_addr) == -1) - return -1; - - int use_dotted_decimal_addresses = - this->orb_core ()->orb_params ()->use_dotted_decimal_addresses (); - - if (local_addr.get_ip_address () == remote_addr.get_ip_address () - && local_addr.get_port_number () == remote_addr.get_port_number ()) - { - if (TAO_debug_level > 0) - { - char remote_as_string[MAXHOSTNAMELEN + 16]; - char local_as_string[MAXHOSTNAMELEN + 16]; - - (void) remote_addr.addr_to_string (remote_as_string, - sizeof (remote_as_string), - use_dotted_decimal_addresses); - (void) local_addr.addr_to_string (local_as_string, - sizeof (local_as_string), - use_dotted_decimal_addresses); - ACE_ERROR ((LM_ERROR, - "TAO(%P|%t) - TAO::SSLIOP::Connection_Handler::open, " - "Holy Cow! The remote addr and " - "local addr are identical (%s == %s)\n", - remote_as_string, local_as_string)); - } - - return -1; - } - - if (TAO_debug_level > 0) - { - char client[MAXHOSTNAMELEN + 16]; - - // Verify that we can resolve the peer hostname. - if (remote_addr.addr_to_string (client, - sizeof (client), - use_dotted_decimal_addresses) == -1) - { - ACE_OS::strcpy (client, "*unable to obtain*"); - } - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) SSLIOP connection from ") - ACE_TEXT ("client <%s> on [%d]\n"), - client, - this->peer ().get_handle ())); - - // Verify that we can resolve our hostname. - if (local_addr.addr_to_string (client, - sizeof (client), - use_dotted_decimal_addresses) == -1) - { - ACE_OS::strcpy (client, "*unable to obtain*"); - } - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) SSLIOP connection accepted from ") - ACE_TEXT ("server <%s> on [%d]\n"), - client, - this->get_handle ())); - } - - // Set that the transport is now connected, if fails we return -1 - // Use C-style cast b/c otherwise we get warnings on lots of - // compilers - if (!this->transport ()->post_open ((size_t) this->get_handle ())) - return -1; - - // @@ Not needed - this->state_changed (TAO_LF_Event::LFS_SUCCESS, - this->orb_core ()->leader_follower ()); - - return 0; -} - -int -TAO::SSLIOP::Connection_Handler::resume_handler (void) -{ - return ACE_Event_Handler::ACE_APPLICATION_RESUMES_HANDLER; -} - -int -TAO::SSLIOP::Connection_Handler::close_connection (void) -{ - return this->close_connection_eh (this); -} - -int -TAO::SSLIOP::Connection_Handler::handle_input (ACE_HANDLE h) -{ - return this->handle_input_eh (h, this); -} - -int -TAO::SSLIOP::Connection_Handler::handle_output (ACE_HANDLE handle) -{ - const int result = - this->handle_output_eh (handle, this); - - if (result == -1) - { - this->close_connection (); - return 0; - } - - return result; -} - -int -TAO::SSLIOP::Connection_Handler::handle_timeout (const ACE_Time_Value &, - const void *) -{ - // We don't use this upcall for I/O. This is only used by the - // Connector to indicate that the connection timedout. Therefore, - // we should call close(). - return this->close (); -} - -int -TAO::SSLIOP::Connection_Handler::handle_close (ACE_HANDLE, - ACE_Reactor_Mask) -{ - ACE_ASSERT (0); - return 0; -} - -int -TAO::SSLIOP::Connection_Handler::close (u_long) -{ - return this->close_handler (); -} - -int -TAO::SSLIOP::Connection_Handler::release_os_resources (void) -{ - return this->peer().close (); -} - -void -TAO::SSLIOP::Connection_Handler::pos_io_hook (int & return_value) -{ - if (return_value == 0 && ::SSL_pending (this->peer ().ssl ())) - return_value = 1; -} - -int -TAO::SSLIOP::Connection_Handler::add_transport_to_cache (void) -{ - ACE_INET_Addr addr; - - // Get the peername. - // - // Note that the port set in the ACE_INET_Addr is actually the SSL - // port! - if (this->peer ().get_remote_addr (addr) == -1) - return -1; - - // Construct an IIOP_Endpoint object - TAO_IIOP_Endpoint tmpoint ( - addr, - this->orb_core()->orb_params()->use_dotted_decimal_addresses()); - - // @@ This is broken. We need to include the SecurityAssociation - // options to be able to truly distinguish cached SSLIOP - // transports. - const ::SSLIOP::SSL ssl = - { - 0, // target_supports - 0, // target_requires - addr.get_port_number () // port - }; - - TAO_SSLIOP_Endpoint endpoint (&ssl, - &tmpoint); - - // Construct a property object - TAO_Base_Transport_Property prop (&endpoint); - - TAO::Transport_Cache_Manager &cache = - this->orb_core ()->lane_resources ().transport_cache (); - - // Add the handler to Cache - return cache.cache_idle_transport (&prop, - this->transport ()); -} - -int -TAO::SSLIOP::Connection_Handler::process_listen_point_list ( - IIOP::ListenPointList &listen_list) -{ - // Get the size of the list - const CORBA::ULong len = listen_list.length (); - - for (CORBA::ULong i = 0; i < len; ++i) - { - IIOP::ListenPoint listen_point = listen_list[i]; - ACE_INET_Addr addr (listen_point.port, - listen_point.host.in ()); - - - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Listening port [%d] on [%s]\n", - listen_point.port, - listen_point.host.in ())); - } - - // Construct an IIOP_Endpoint object using the host as provided - // in the listen point list. We must use the host in that form - // because that's also how the ORB on the other side will - // advertise the host in an IOR. - // - // Note that the port in the ACE_INET_Addr is actually the SSL - // port! - TAO_IIOP_Endpoint tmpoint (listen_point.host.in (), - listen_point.port, - addr); - - // @@ This is broken. Instead of just using the default CORBA - // SecurityAssociation options, by not supplying SSLIOP::SSL - // instance in the endpoint constructor, we need to include the - // actual SecurityAssociation options so that the invocation to - // the originator is attempted with the appropriate security - // settings. Unfortunately, there is currently no portable way to - // send the SecurityAssociation options with the - // IIOP::ListenPointList. Presumably the new Firewall - // specification will address this deficiency. - TAO_SSLIOP_Synthetic_Endpoint endpoint (&tmpoint); - - // Construct a property object - TAO_Base_Transport_Property prop (&endpoint); - - // Mark the connection as bidirectional - prop.set_bidir_flag (1); - - // The property for this handler has changed. Recache the - // handler with this property - const int retval = this->transport ()->recache_transport (&prop); - if (retval == -1) - return retval; - - // Make the handler idle and ready for use - this->transport ()->make_idle (); - } - - return 0; -} - -int -TAO::SSLIOP::Connection_Handler::setup_ssl_state ( - TAO::SSLIOP::Current_Impl *&previous_current_impl, - TAO::SSLIOP::Current_Impl *new_current_impl, - bool &setup_done) -{ - // Make the SSL session state available to the SSLIOP::Current - // TSS object. - new_current_impl->ssl (this->peer ().ssl ()); - - // The following call is reentrant and thread-safe - this->current_->setup (previous_current_impl, - new_current_impl, - setup_done); - - return 0; -} - -void -TAO::SSLIOP::Connection_Handler::teardown_ssl_state ( - TAO::SSLIOP::Current_Impl *previous_current_impl, - bool &setup_done) -{ - this->current_->teardown (previous_current_impl, - setup_done); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h deleted file mode 100644 index 9ce3ba997af..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h +++ /dev/null @@ -1,202 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Connection_Handler.h - * - * $Id$ - * - * @author Carlos O'Ryan - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_CONNECTION_HANDLER_H -#define TAO_SSLIOP_CONNECTION_HANDLER_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" -#include "orbsvcs/SSLIOP/SSLIOP_Transport.h" - -#include "tao/Connection_Handler.h" -#include "tao/IIOPC.h" - -#include "ace/Reactor.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_IIOP_Properties; - -namespace TAO -{ - namespace SSLIOP - { - - /** - * @class Connection_Handler - * - * @brief Handles requests on a single connection. - * - * The Connection handler which is common for the Acceptor and - * the Connector - */ - class Connection_Handler - : public SVC_HANDLER, - public TAO_Connection_Handler - { - public: - - Connection_Handler (ACE_Thread_Manager* t = 0); - - /// Constructor. - /** - * @param arg Parameter is used by the Acceptor to pass the - * protocol configuration properties for this - * connection. - */ - Connection_Handler (TAO_ORB_Core *orb_core, - CORBA::Boolean flag); - - /// Destructor. - ~Connection_Handler (void); - - /** - * @name Connection Handler overloads - * - * Connection Handler overloads. - */ - //@{ - virtual int open_handler (void *); - //@} - - /// Close called by the Acceptor or Connector when connection - /// establishment fails. - int close (u_long = 0); - - //@{ - /** @name Event Handler overloads - */ - virtual int resume_handler (void); - virtual int close_connection (void); - virtual int handle_input (ACE_HANDLE); - virtual int handle_output (ACE_HANDLE); - virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask); - virtual int handle_timeout (const ACE_Time_Value ¤t_time, - const void *act = 0); - virtual int open (void *); - //@} - - /// Add ourselves to cache. - int add_transport_to_cache (void); - - /// Process the @a listen_list. - int process_listen_point_list (IIOP::ListenPointList &listen_list); - - /// Make the SSL session state available to the SSLIOP::Current - /// object. - int setup_ssl_state (TAO::SSLIOP::Current_Impl *&previous_current_impl, - TAO::SSLIOP::Current_Impl *new_current_impl, - bool &setup_done); - - /// Teardown the SSL session state. - void teardown_ssl_state ( - TAO::SSLIOP::Current_Impl *previous_current_impl, - bool &setup_done); - - protected: - - //@{ - /** - * @name TAO_Connection Handler overloads - */ - virtual int release_os_resources (void); - virtual void pos_io_hook (int & return_value); - //@} - - protected: - - /// Reference to the SSLIOP::Current object (downcast to gain - /// access to the low-level management methods). - TAO::SSLIOP::Current_var current_; - - private: - - /// TCP configuration for this connection. - TAO_IIOP_Properties *tcp_properties_; - - }; - - // **************************************************************** - - /** - * @class State_Guard - * - * @brief This Class that sets up TSS SSL states upon - * instantiation, and tears down the TSS SSL state when - * that instance goes out of scope. - * - * This guard is used to make TSS SSL state configuration and - * deconfiguration during an upcall exception safe. Exceptions - * are not supposed to be propagated up to the scope this guard is - * used in, so this guard may be unnecessary. However, since - * proper TSS SSL state configuration/deconfiguration is critical - * to proper security support, this guard is used to ensure that - * configuration/deconfiguration is exception safe. - */ - class State_Guard - { - public: - - /// Constructor that sets up the TSS SSL state. - State_Guard (TAO::SSLIOP::Connection_Handler *handler, - int &result); - - /// Destructor that tears down the TSS SSL state. - ~State_Guard (void); - - private: - - /// Pointer to the connection handler currently handling the - /// request/upcall. - Connection_Handler *handler_; - - /// The SSLIOP::Current implementation that was previously - /// associated with the current thread and invocation. - /** - * It is stored here until the invocation completes, after which it - * placed back into TSS. - */ - Current_Impl *previous_current_impl_; - - /// The SSLIOP::Current implementation to be associated with the - /// current invocation. - Current_Impl current_impl_; - - /// Flag that specifies whether or not setup of the SSLIOP::Current - /// object completed for the current thread and invocation. - bool setup_done_; - - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined (__ACE_INLINE__) -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CONNECTION_HANDLER_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i deleted file mode 100644 index 193fc62f426..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i +++ /dev/null @@ -1,29 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO::SSLIOP::State_Guard::State_Guard ( - TAO::SSLIOP::Connection_Handler *handler, - int &result) - : handler_ (handler), - previous_current_impl_ (0), - current_impl_ (), - setup_done_ (false) -{ - // Set up the SSLIOP::Current object. - result = this->handler_->setup_ssl_state (this->previous_current_impl_, - &(this->current_impl_), - this->setup_done_); -} - -ACE_INLINE -TAO::SSLIOP::State_Guard::~State_Guard (void) -{ - this->handler_->teardown_ssl_state (this->previous_current_impl_, - this->setup_done_); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp deleted file mode 100644 index 3635555cb98..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp +++ /dev/null @@ -1,862 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Connector.h" -#include "orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h" -#include "orbsvcs/SSLIOP/SSLIOP_Profile.h" -#include "orbsvcs/SSLIOP/SSLIOP_X509.h" - -#include "orbsvcs/SecurityLevel2C.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/Thread_Lane_Resources.h" -#include "tao/Stub.h" -#include "tao/Transport_Connector.h" -#include "tao/Blocked_Connect_Strategy.h" -#include "tao/Wait_Strategy.h" -#include "tao/Profile_Transport_Resolver.h" -#include "ace/Auto_Ptr.h" -#include "ace/os_include/os_netdb.h" - -ACE_RCSID (SSLIOP, - SSLIOP_Connector, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Connector::Connector (::Security::QOP qop) - : TAO::IIOP_SSL_Connector (), - qop_ (qop), - connect_strategy_ (), - base_connector_ () -{ -} - -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 one 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; - - // Our connect creation strategy - CONNECT_CREATION_STRATEGY *connect_creation_strategy = 0; - - ACE_NEW_RETURN (connect_creation_strategy, - CONNECT_CREATION_STRATEGY - (orb_core->thr_mgr (), - orb_core, - 0 /* Forcibly disable TAO's GIOPlite feature. - It introduces a security hole. */), - -1); - - // Our activation strategy - CONNECT_CONCURRENCY_STRATEGY *concurrency_strategy = 0; - - ACE_NEW_RETURN (concurrency_strategy, - 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 (); -} - -TAO_Transport * -TAO::SSLIOP::Connector::connect (TAO::Profile_Transport_Resolver *resolver, - TAO_Transport_Descriptor_Interface *desc, - ACE_Time_Value *timeout - 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 0; - - TAO_SSLIOP_Endpoint *ssl_endpoint = - dynamic_cast (endpoint); - - if (ssl_endpoint == 0) - return 0; - - // @@ 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 = - resolver->stub ()->get_policy (::Security::SecEstablishTrustPolicy - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - SecurityLevel2::EstablishTrustPolicy_var trust_policy = - SecurityLevel2::EstablishTrustPolicy::_narrow (policy.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // 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 (0); - } - - // Flag that states whether any form of establishment of trust - // should occur. - CORBA::Boolean const 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? - 0); - } - - // Check if the user overrode the default Quality-of-Protection for - // the current object. - policy = resolver->stub ()->get_policy (::Security::SecQOPPolicy - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - SecurityLevel2::QOPPolicy_var qop_policy = - SecurityLevel2::QOPPolicy::_narrow (policy.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // 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 (0); - } - - // 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? - 0); - } - - if ((!establish_trust && qop == ::Security::SecQOPNoProtection) - || ssl_endpoint->ssl_component ().port == 0) - { - return this->iiop_connect (ssl_endpoint, - resolver, - timeout - ACE_ENV_ARG_PARAMETER); - } - - return this->ssliop_connect (ssl_endpoint, - qop, - trust, - resolver, - desc, - timeout - ACE_ENV_ARG_PARAMETER); -} - - -TAO_Profile * -TAO::SSLIOP::Connector::create_profile (TAO_InputCDR& cdr) -{ - TAO_Profile *pfile = 0; - ACE_NEW_RETURN (pfile, - TAO_SSLIOP_Profile (this->orb_core ()), - 0); - - const 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::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return profile; -} - - -TAO_Profile * -TAO::SSLIOP::Connector::make_secure_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 (), - 1), // SSL component - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - return profile; -} - - - -TAO_Profile * -TAO::SSLIOP::Connector::corbaloc_scan (const char *endpoint, - size_t &len - ACE_ENV_ARG_DECL) -{ - int ssl_only = 0; - if (this->check_prefix (endpoint) == 0) - { - ssl_only = 1; - } - else - { - if (this->TAO_IIOP_Connector::check_prefix (endpoint) != 0) - return 0; - } - - // Determine the (first in a list of possibly > 1) endpoint address - const char *comma_pos = ACE_OS::strchr (endpoint,','); - const char *slash_pos = ACE_OS::strchr (endpoint,'/'); - if (comma_pos == 0 && slash_pos == 0) - { - if (TAO_debug_level) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("(%P|%t) SSLIOP_Connector::corbaloc_scan warning: ") - ACE_TEXT("supplied string contains no comma or slash: %s\n"), - endpoint)); - } - len = ACE_OS::strlen (endpoint); - } - else if (slash_pos != 0 || comma_pos > slash_pos) - { - // The endpoint address does not extend past the first '/' or ',' - len = slash_pos - endpoint; - } - else - { - len = comma_pos - endpoint; - } - - //Create the corresponding profile - TAO_Profile *ptmp = 0; - if (ssl_only) - { - ptmp = this->make_secure_profile (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - else - { - ptmp = this->make_profile (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - } - - return ptmp; -} - - -int -TAO::SSLIOP::Connector::check_prefix (const char *endpoint) -{ - // Check for a valid string - if (!endpoint || !*endpoint) return -1; // Failure - - const char *protocol[] = { "ssliop", "sslioploc" }; - - size_t first_slot = ACE_OS::strchr (endpoint, ':') - endpoint; - - size_t len0 = ACE_OS::strlen (protocol[0]); - size_t len1 = ACE_OS::strlen (protocol[1]); - - // Check for the proper prefix in the IOR. If the proper prefix - // isn't in the IOR then it is not an IOR we can use. - if (first_slot == len0 && ACE_OS::strncmp (endpoint, protocol[0], len0) == 0) - return 0; - - if (first_slot == len1 && ACE_OS::strncmp (endpoint, protocol[1], len1) == 0) - return 0; - - // Failure: not an SSLIOP IOR - // DO NOT throw an exception here. - return -1; -} - - -TAO_Transport* -TAO::SSLIOP::Connector::iiop_connect ( - TAO_SSLIOP_Endpoint *ssl_endpoint, - TAO::Profile_Transport_Resolver *resolver, - ACE_Time_Value *timeout - 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::VMCID, - EPERM), - CORBA::COMPLETED_NO), - 0); - - 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 ( - resolver, - &iiop_desc, - timeout - ACE_ENV_ARG_PARAMETER); -} - -TAO_Transport * -TAO::SSLIOP::Connector::ssliop_connect ( - TAO_SSLIOP_Endpoint *ssl_endpoint, - ::Security::QOP qop, - const ::Security::EstablishTrust &trust, - TAO::Profile_Transport_Resolver *resolver, - TAO_Transport_Descriptor_Interface *desc, - ACE_Time_Value *max_wait_time - ACE_ENV_ARG_DECL) -{ - 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::VMCID, - EPERM), - CORBA::COMPLETED_NO), - 0); - - // If the invocation wants integrity without confidentiality but the - // server does not support "no protection," then it won't be - // possible to 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 (), 0); - - 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 0; - } - - int result = 0; - TAO::SSLIOP::Connection_Handler *svc_handler = 0; - TAO_Transport *transport = 0; - - // Before we can check the cache to find an existing connection, we - // need to make sure the ssl_endpoint is fully initialized with the - // local security information. This endpoint initalized by the - // profile does not (and cannot) contain the desired QOP, trust, or - // credential information which is necesary to uniquely identify - // this connection. - if (!ssl_endpoint->credentials_set ()) - { - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Initializing SSLIOP_Endpoint \n") - )); - - if (this->base_connector_.creation_strategy ()->make_svc_handler ( - svc_handler) != 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Unable to create SSLIOP ") - ACE_TEXT ("service handler.\n"))); - - return 0; - } - - ACE_Auto_Basic_Ptr - safe_handler (svc_handler); - TAO::SSLIOP::OwnCredentials_var credentials = - this->retrieve_credentials (resolver->stub (), - svc_handler->peer ().ssl () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - svc_handler = safe_handler.release (); - ssl_endpoint->set_sec_attrs (qop, trust, credentials.in()); - } - - // Check the Cache first for connections - if (this->orb_core ()->lane_resources ().transport_cache ().find_transport ( - desc, - transport) == 0) - { - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - SSLIOP_Connector::ssliop_connect, ") - ACE_TEXT ("got existing transport[%d]\n"), - transport->id ())); - - // When the transport is not connected wait for completion - if (!transport->is_connected()) - { - if (!this->wait_for_connection_completion (resolver, - transport, - max_wait_time)) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) - SSLIOP_Connector::ssliop_connect,") - ACE_TEXT ("wait for completion failed\n"))); - - } - } - } - else - { - if (TAO_debug_level > 4) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - SSLIOP_Connector::ssliop_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. - // - // The make_svc_handler() method creates the service handler and - // bumps the #REFCOUNT# up one extra. The extra reference count - // in TAO_Connect_Creation_Strategy::make_svc_handler() is - // needed in the case when connection completion is pending and - // we are going to wait on a variable in the handler to changes, - // signifying success or failure. Note, that this increment - // cannot be done once the connect() returns since this might be - // too late if another thread pick up the completion and - // potentially deletes the handler before we get a chance to - // increment the reference count. - if (svc_handler == 0 && - this->base_connector_.creation_strategy ()->make_svc_handler ( - svc_handler) != 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Unable to create SSLIOP ") - ACE_TEXT ("service handler.\n"))); - - return 0; - } - - ACE_Auto_Basic_Ptr - 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 (), 0); - } - - svc_handler = safe_handler.release (); - - // Get the right synch options - ACE_Synch_Options synch_options; - - this->active_connect_strategy_->synch_options (max_wait_time, - synch_options); - - // If we don't need to block for a transport just set the timeout to - // be zero. - ACE_Time_Value tmp_zero (ACE_Time_Value::zero); - if (!resolver->blocked_connect ()) - { - synch_options.timeout (ACE_Time_Value::zero); - max_wait_time = &tmp_zero; - } - - // We obtain the transport in the 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); - - // There are three possibilities from calling connect(): (a) - // connection succeeds immediately - in this case, the - // #REFCOUNT# on the handler is two; (b) connection completion - // is pending - in this case, the #REFCOUNT# on the handler is - // also two; (c) connection fails immediately - in this case, - // the #REFCOUNT# on the handler is one since close() gets - // called on the handler. - - // Make sure that we always do a remove_reference - ACE_Event_Handler_var svc_handler_auto_ptr (svc_handler); - - transport = - svc_handler->transport (); - - if (result == -1) - { - // No immediate result, wait for completion - if (errno == EWOULDBLOCK) - { - // Try to wait until connection completion. Incase we block, then we - // get a connected transport or not. In case of non block we get - // a connected or not connected transport - if (!this->wait_for_connection_completion (resolver, - transport, - max_wait_time)) - { - if (TAO_debug_level > 2) - ACE_ERROR ((LM_ERROR, "TAO (%P|%t) - SSLIOP_Connector::" - "ssliop_connect, " - "wait for completion failed\n")); - } - } - else - { - // Transport is not usable - transport = 0; - } - } - - // In case of errors transport is zero - if (transport == 0) - { - // Give users a clue to the problem. - if (TAO_debug_level) - { - char buffer [MAXHOSTNAMELEN + 6 + 1]; - ssl_endpoint->addr_to_string (buffer, - sizeof (buffer) - 1); - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) - SSL connection to ") - ACE_TEXT ("<%s:%d> failed (%p)\n"), - buffer, - remote_address.get_port_number (), - ACE_TEXT ("errno"))); - } - - return 0; - } - - // At this point, the connection has be successfully connected. - // #REFCOUNT# is one. - if (TAO_debug_level > 2) - ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - SSLIOP_Connector::ssliop_connect, " - "new SSL connection to port %d on transport[%d]\n", - remote_address.get_port_number (), - svc_handler->peer ().get_handle ())); - - // Add the handler to Cache - int retval = - this->orb_core ()-> - lane_resources ().transport_cache ().cache_transport (desc, - transport); - - // Failure in adding to cache. - if (retval != 0) - { - // Close the handler. - svc_handler->close (); - - if (TAO_debug_level > 0) - { - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) - SLIIOP_Connector::ssliop_connect, " - "could not add the new connection to cache\n")); - } - - return 0; - } - - if (transport->is_connected () && - transport->wait_strategy ()->register_handler () != 0) - { - // Registration failures. - - // Purge from the connection cache, if we are not in the cache, this - // just does nothing. - (void) transport->purge_entry (); - - // Close the handler. - (void) transport->close_connection (); - - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) - SSLIOP_Connector [%d]::ssliop_connect, " - "could not register the transport " - "in the reactor.\n", - transport->id ())); - - return 0; - } - } - - return transport; -} - -TAO::SSLIOP::OwnCredentials * -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 (::SecurityLevel3::ContextEstablishmentPolicyType - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO::SSLIOP::OwnCredentials::_nil ()); - - SecurityLevel3::ContextEstablishmentPolicy_var creds_policy = - SecurityLevel3::ContextEstablishmentPolicy::_narrow ( - policy.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO::SSLIOP::OwnCredentials::_nil ()); - - TAO::SSLIOP::OwnCredentials_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 ())) - { - SecurityLevel3::OwnCredentialsList_var creds_list = - creds_policy->creds_list (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO::SSLIOP::OwnCredentials::_nil ()); - - if (creds_list->length () > 0) - { - // Assume that we've got an SSLIOP credential. - SecurityLevel3::Credentials_ptr credentials = - creds_list[0u]; - - ssliop_credentials = - TAO::SSLIOP::OwnCredentials::_narrow (credentials - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (TAO::SSLIOP::OwnCredentials::_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::OwnCredentials::_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::OwnCredentials::_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. - - /** - * @todo Check if the CredentialsCurator contains a default set - * of SSLIOP OwnCredentials. - */ - - TAO::SSLIOP::OwnCredentials_ptr & c = ssliop_credentials.out (); - ACE_NEW_THROW_EX (c, - TAO::SSLIOP::OwnCredentials ( - ::SSL_get_certificate (ssl), - ::SSL_get_privatekey (ssl)), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (TAO::SSLIOP::OwnCredentials::_nil ()); - } - - return ssliop_credentials._retn (); -} - -int -TAO::SSLIOP::Connector::cancel_svc_handler ( - TAO_Connection_Handler * svc_handler) -{ - TAO::SSLIOP::Connection_Handler* handler= - dynamic_cast (svc_handler); - - if (handler) - // Cancel from the connector - return this->base_connector_.cancel (handler); - - return -1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h deleted file mode 100644 index 99578662196..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h +++ /dev/null @@ -1,162 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Connector.h - * - * $Id$ - * - * SSLIOP specific connector processing - * - * @author Carlos O'Ryan - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_CONNECTOR_H -#define TAO_SSLIOP_CONNECTOR_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/IIOP_SSL_Connector.h" -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" - -#include "ace/SSL/SSL_SOCK_Connector.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Forward declarations. -class TAO_Base_Transport_Property; - -class TAO_SSLIOP_Endpoint; - -namespace TAO -{ - namespace SSLIOP - { - class OwnCredentials; - - /** - * @class Connector - * - * @brief SSLIOP-specific Connector bridge for pluggable protocols. - * - * Concrete instance of the TAO_Connector class. Responsible - * for establishing a connection with a server and is called from - * the Connector_Registry. - */ - class Connector : public TAO::IIOP_SSL_Connector - { - public: - - /// Constructor. - Connector (::Security::QOP qop); - - /** - * @name The TAO_Connector methods - * - * Please check the documentation in Transport_Connector.h - */ - //@{ - virtual int open (TAO_ORB_Core *orb_core); - virtual int close (void); - virtual TAO_Transport *connect (TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface *desc, - ACE_Time_Value *timeout - ACE_ENV_ARG_DECL); - - virtual TAO_Profile *create_profile (TAO_InputCDR& cdr); - virtual int check_prefix (const char *endpoint); - virtual TAO_Profile * corbaloc_scan (const char *ior, - size_t &len - ACE_ENV_ARG_DECL); - - //@} - - protected: - - /** - * @name @c TAO_Connector Methods - * - * Methods required by the @c TAO_Connector base class. - * - * @see @c TAO_Connector - */ - //@{ - virtual TAO_Profile * make_profile (ACE_ENV_SINGLE_ARG_DECL); - virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler); - //@} - - /// SSL-specific profile - TAO_Profile * make_secure_profile (ACE_ENV_SINGLE_ARG_DECL); - - /// IIOP-specific connection establishment. - /** - * @note The IIOP endpoint is extracted from the SSLIOP endpoint. - */ - TAO_Transport* iiop_connect (TAO_SSLIOP_Endpoint *ssliop_endpoint, - TAO::Profile_Transport_Resolver *r, - ACE_Time_Value *timeout - ACE_ENV_ARG_DECL); - - /// SSLIOP-specific connection establishment. - TAO_Transport* ssliop_connect (TAO_SSLIOP_Endpoint *ssliop_endpoint, - ::Security::QOP qop, - const ::Security::EstablishTrust &trust, - TAO::Profile_Transport_Resolver *r, - TAO_Transport_Descriptor_Interface *desc, - ACE_Time_Value *timeout - ACE_ENV_ARG_DECL); - - /// Retrieve SSLIOP credentials from the policy overrides list - /// and set up the underlying SSL connection to use the X.509 - /// certificates stored within them. - TAO::SSLIOP::OwnCredentials * retrieve_credentials (TAO_Stub *stub, - SSL *ssl - ACE_ENV_ARG_DECL); - - public: - - typedef TAO_Connect_Concurrency_Strategy - CONNECT_CONCURRENCY_STRATEGY; - - typedef TAO_Connect_Creation_Strategy - CONNECT_CREATION_STRATEGY; - - typedef ACE_Connect_Strategy - CONNECT_STRATEGY; - - typedef ACE_Strategy_Connector - BASE_CONNECTOR; - - private: - - /// If zero, connect to IIOP over SSL port by default. - /// Otherwise, connect to the insecure IIOP port. - ::Security::QOP qop_; - - /// Our connect strategy - CONNECT_STRATEGY connect_strategy_; - - /// The connector initiating connection requests for IIOP. - BASE_CONNECTOR base_connector_; - - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CONNECTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp deleted file mode 100644 index 9f8804ad604..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp +++ /dev/null @@ -1,267 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Credentials.h" - -#include "tao/ORB_Constants.h" - -#include "ace/SString.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_Credentials, - "$Id$") - - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Credentials.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP_Credentials::SSLIOP_Credentials (::X509 *cert, ::EVP_PKEY *evp) - : x509_ (TAO::SSLIOP::OpenSSL_traits< ::X509 >::_duplicate (cert)), - evp_ (TAO::SSLIOP::OpenSSL_traits< ::EVP_PKEY >::_duplicate (evp)), - id_ (), - creds_usage_ (SecurityLevel3::CU_Indefinite), - expiry_time_ (), - creds_state_ (SecurityLevel3::CS_Invalid) -{ - ::X509 *x = cert; - - if (x != 0) - { - // We use the X.509 certificate's serial number as the - // credentials Id. - BIGNUM * bn = ASN1_INTEGER_to_BN (::X509_get_serialNumber (x), 0); - if (BN_is_zero (bn)) - this->id_ = CORBA::string_dup ("X509: 00"); - else - { - char * id = BN_bn2hex (bn); - - ACE_CString s = - ACE_CString ("X509: ") - + ACE_CString (const_cast (id)); - - this->id_ = CORBA::string_dup (s.c_str ()); - -#ifdef OPENSSL_free - OPENSSL_free (id); -#else - // Older versions of OpenSSL didn't define the OpenSSL - // macro. - CRYPTO_free (id); -#endif /* OPENSSL_free */ - } - - // ------------------------------------------- - - TimeBase::UtcT & t = this->expiry_time_; - - const ASN1_TIME * exp = X509_get_notAfter (x); - - if (exp->length > ACE_SIZEOF_LONG_LONG) - { - // @@ Will this ever happen? - - // Overflow! - t.time = ACE_UINT64_LITERAL (0xffffffffffffffff); - } - else - { - t.time = 0; - for (int i = 0; i < exp->length; ++i) - { - t.time <<= 8; - t.time |= (unsigned char) exp->data[i]; - } - } - } -} - -TAO::SSLIOP_Credentials::~SSLIOP_Credentials (void) -{ -} - -char * -TAO::SSLIOP_Credentials::creds_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup (this->id_.in ()); -} - -SecurityLevel3::CredentialsUsage -TAO::SSLIOP_Credentials::creds_usage (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return SecurityLevel3::CU_Indefinite; -} - -TimeBase::UtcT -TAO::SSLIOP_Credentials::expiry_time (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->expiry_time_; -} - -SecurityLevel3::CredentialsState -TAO::SSLIOP_Credentials::creds_state (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - const ::X509 *x = this->x509_.in (); - - // The pointer to the underlying X509 structure should only be zero - // if destroy() was called on this Credentials object. - if (x == 0) - ACE_THROW_RETURN (CORBA::BAD_OPERATION (), - SecurityLevel3::CS_Invalid); - - if (this->creds_state_ == SecurityLevel3::CS_Valid) - { - // Make sure the X.509 certificate is still valid. - - const int after_status = - ::X509_cmp_current_time (X509_get_notAfter (x)); - - if (after_status == 0) - { - // Error in certificate's "not after" field. - ACE_THROW_RETURN (CORBA::BAD_PARAM (), // @@ Correct exception? - SecurityLevel3::CS_Invalid); - } - else if (after_status > 0) // Certificate has expired. - this->creds_state_ = SecurityLevel3::CS_Expired; - } - else if (this->creds_state_ == SecurityLevel3::CS_Invalid) - { - // Check if the X.509 certificate has become valid. - - const int before_status = - ::X509_cmp_current_time (X509_get_notBefore (x)); - - if (before_status == 0) - { - // Error in certificate's "not before" field. - ACE_THROW_RETURN (CORBA::BAD_PARAM (), // @@ Correct exception? - SecurityLevel3::CS_Invalid); - } - else if (before_status < 0) // Certificate is now valid. - this->creds_state_ = SecurityLevel3::CS_Valid; - } - - return this->creds_state_; -} - -char * -TAO::SSLIOP_Credentials::add_relinquished_listener ( - SecurityLevel3::RelinquishedCredentialsListener_ptr /* listener */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -void -TAO::SSLIOP_Credentials::remove_relinquished_listener (const char * /* id */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -bool -TAO::SSLIOP_Credentials::operator== (const TAO::SSLIOP_Credentials &rhs) -{ - ::X509 * xa = this->x509_.in (); - ::X509 * xb = rhs.x509_.in (); - // EVP_PKEY *ea = this->evp_.in (); - // EVP_PKEY *eb = rhs.evp_.in (); - - ACE_DECLARE_NEW_CORBA_ENV; - // No need for a full blown ACE_TRY/CATCH block. - - const SecurityLevel3::CredentialsType lct = - this->creds_type (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - const SecurityLevel3::CredentialsType rct = - const_cast (rhs).creds_type ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (false); - - // Don't bother check the creds_id and expiry_time attributes. They - // are checked implicitly by the below X509_cmp() call. - // - // Additionally, the creds_state attribute is not included in the - // check since it is not considered important when distinguishing - // between two Credentials. - - return - lct == rct - && this->creds_usage_ == rhs.creds_usage_ - && ((xa == xb) || (xa != 0 && xb != 0 && ::X509_cmp (xa, xb) == 0)) -// && ((ea == eb) || (ea != 0 && eb != 0 && ::EVP_PKEY_cmp (ea, eb) == 0)) - ; -} - -CORBA::ULong -TAO::SSLIOP_Credentials::hash (void) const -{ - ::X509 * x509 = this->x509_.in (); - - return (x509 == 0 ? 0 : ::X509_issuer_name_hash (x509)); -} - -TAO::SSLIOP::Credentials_ptr -TAO::SSLIOP_Credentials::_narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL_NOT_USED) -{ - return TAO::SSLIOP_Credentials::_duplicate ( - dynamic_cast (obj)); -} - -TAO::SSLIOP::Credentials_ptr -TAO::SSLIOP_Credentials::_duplicate (TAO::SSLIOP::Credentials_ptr obj) -{ - if (!CORBA::is_nil (obj)) - obj->_add_ref (); - - return obj; -} - -// ----------------------------------------------------------- - -TAO::SSLIOP::Credentials_ptr -tao_TAO_SSLIOP_Credentials_duplicate (TAO::SSLIOP::Credentials_ptr p) -{ - return TAO::SSLIOP_Credentials::_duplicate (p); -} - -void -tao_TAO_SSLIOP_Credentials_release (TAO::SSLIOP::Credentials_ptr p) -{ - CORBA::release (p); -} - -TAO::SSLIOP::Credentials_ptr -tao_TAO_SSLIOP_Credentials_nil (void) -{ - return TAO::SSLIOP_Credentials::_nil (); -} - -TAO::SSLIOP::Credentials_ptr -tao_TAO_SSLIOP_Credentials_narrow (CORBA::Object *p - ACE_ENV_ARG_DECL) -{ - return TAO::SSLIOP_Credentials::_narrow (p - ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object_ptr -tao_TAO_SSLIOP_Credentials_upcast (void *src) -{ - TAO::SSLIOP_Credentials **tmp = - static_cast (src); - - return *tmp; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h deleted file mode 100644 index 5fdf4f78e6c..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h +++ /dev/null @@ -1,186 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Credentials.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_CREDENTIALS_H -#define TAO_SSLIOP_CREDENTIALS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_X509.h" -#include "orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h" -#include "orbsvcs/SecurityLevel3C.h" -#include "tao/LocalObject.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - class SSLIOP_Credentials; - - namespace SSLIOP - { - typedef SSLIOP_Credentials* Credentials_ptr; - typedef TAO_Pseudo_Var_T Credentials_var; - typedef TAO_Pseudo_Out_T Credentials_out; - } - - /** - * @class SSLIOP_Credentials - * - * @brief SSLIOP-specific implementation of the - * SecurityLevel3::Credentials interface. - * - * This class encapsulates the X.509 certificate associated with a - * given a principal. - * - * @note Why is this class not the TAO::SSLIOP namespace? Because - * brain damaged MSVC++ 6 cannot call a base class - * constructor of class declared in a namespace that is more - * than one level deep in a sub-class base member - * initializer list. - */ - class TAO_SSLIOP_Export SSLIOP_Credentials - : public virtual SecurityLevel3::Credentials, - public virtual TAO_Local_RefCounted_Object - { - public: - typedef SSLIOP::Credentials_ptr _ptr_type; - typedef SSLIOP::Credentials_var _var_type; - typedef SSLIOP::Credentials_out _out_type; - - /// Constructor - SSLIOP_Credentials (::X509 * cert, ::EVP_PKEY * evp); - - /** - * @name SecurityLevel3::Credentials Methods - * - * Methods required by the SecurityLevel3::Credentials - * interface. - */ - //@{ - virtual char * creds_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual - SecurityLevel3::CredentialsType creds_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - - virtual SecurityLevel3::CredentialsUsage creds_usage ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual TimeBase::UtcT expiry_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::CredentialsState creds_state ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * add_relinquished_listener ( - SecurityLevel3::RelinquishedCredentialsListener_ptr listener - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void remove_relinquished_listener (const char * id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - - //@{ - /// Return a pointer to the underlying X.509 certificate. - /** - * @note Caller owns the returned object. Use a - * TAO::SSLIOP::X509_var. - */ - ::X509 *x509 (void); - //@} - - /// Return a pointer to the underlying private key. - /** - * @return Non-zero value if private key is used. - * - * @note Caller owns the returned object. Use a - * TAO::SSLIOP::EVP_PKEY_var. - */ - ::EVP_PKEY *evp (void); - //@} - - bool operator== (const SSLIOP_Credentials &rhs); - - CORBA::ULong hash (void) const; - - // The static operations. - static SSLIOP::Credentials_ptr _duplicate (SSLIOP::Credentials_ptr obj); - - static SSLIOP::Credentials_ptr _narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - static SSLIOP::Credentials_ptr _nil (void) - { - return (SSLIOP::Credentials_ptr) 0; - } - - //@} - - protected: - - /// Destructor. - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~SSLIOP_Credentials (void); - - protected: - - /// Reference to the X.509 certificate associated with this SSLIOP - /// Credentials object. - SSLIOP::X509_var x509_; - - /// Reference to the private key associated with the X.509 - /// certificate. - SSLIOP::EVP_PKEY_var evp_; - - /// Credentials Identifier. - CORBA::String_var id_; - - /// The intended usage of the Credentials. - SecurityLevel3::CredentialsUsage creds_usage_; - - /// The time these Credentials expire. - TimeBase::UtcT expiry_time_; - - /// The validity of the Credentials. - SecurityLevel3::CredentialsState creds_state_; - - }; - -// } // End SSLIOP namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Credentials.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CREDENTIALS_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl deleted file mode 100644 index 42970eb800f..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl +++ /dev/null @@ -1,21 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE ::X509 * -TAO::SSLIOP_Credentials::x509 (void) -{ - return - TAO::SSLIOP::OpenSSL_traits< ::X509 >::_duplicate (this->x509_.in ()); -} - -ACE_INLINE ::EVP_PKEY * -TAO::SSLIOP_Credentials::evp (void) -{ - return - TAO::SSLIOP::OpenSSL_traits< ::EVP_PKEY >::_duplicate (this->evp_.in ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp deleted file mode 100644 index fcccd07cc67..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp +++ /dev/null @@ -1,388 +0,0 @@ -// $Id$ - -#include "orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h" -#include "orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h" - -#include "tao/debug.h" -#include "tao/ORB_Constants.h" - -#include "ace/SSL/SSL_Context.h" - -#include "ace/OS_NS_stdio.h" - -#include -#include - - -ACE_RCSID (SSLIOP, - SSLIOP_CredentialsAcquirer, - "$Id$") - - -// ------------------------------------------------------- - -#if (defined (TAO_HAS_VERSIONED_NAMESPACE) && TAO_HAS_VERSIONED_NAMESPACE == 1) -# define TAO_SSLIOP_PASSWORD_CALLBACK_NAME ACE_PREPROC_CONCATENATE(TAO_VERSIONED_NAMESPACE_NAME, _TAO_SSLIOP_password_callback) -#else -# define TAO_SSLIOP_PASSWORD_CALLBACK_NAME TAO_SSLIOP_password_callback -#endif /* TAO_HAS_VERSIONED_NAMESPACE == 1 */ - - -extern "C" -int -TAO_SSLIOP_PASSWORD_CALLBACK_NAME (char *buf, - int size, - int /* rwflag */, - void *userdata) -{ - // @@ I'm probably over complicating this implementation, but that's - // what you get when you try to be overly efficient. :-) - // -Ossama - - const char * password = static_cast (userdata); - - int pwlen = -1; - - if (password != 0) - { - pwlen = ACE_OS::strlen (password); - - int copy_len = pwlen + 1; // Include the NULL terminator - - // Clear the portion of the buffer that exceeds the space that - // will be occupied by the password. - if (copy_len < size) - ACE_OS::memset (buf + copy_len, 0, size - copy_len); - - // Make sure we don't overflow the OpenSSL supplied buffer. - // Truncate the password if necessary. - copy_len = (copy_len > size) ? size : copy_len; - - ACE_OS::memcpy (buf, password, copy_len); - - // NULL terminate the truncated password. - if (copy_len > size) - { - pwlen = size - 1; - buf[pwlen] = '\0'; - } - } - - return pwlen; -} - -// ------------------------------------------------------- - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::CredentialsAcquirer::CredentialsAcquirer ( - TAO::SL3::CredentialsCurator_ptr curator, - const CORBA::Any & acquisition_arguments) - : lock_ (), - curator_ (TAO::SL3::CredentialsCurator::_duplicate (curator)), - acquisition_arguments_ (acquisition_arguments), - destroyed_ (false) -{ -} - -TAO::SSLIOP::CredentialsAcquirer::~CredentialsAcquirer (void) -{ -} - -char * -TAO::SSLIOP::CredentialsAcquirer::acquisition_method (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->check_validity (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return CORBA::string_dup ("SL3TLS"); -} - -SecurityLevel3::AcquisitionStatus -TAO::SSLIOP::CredentialsAcquirer::current_status (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->check_validity (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (SecurityLevel3::AQST_Failed); - - return SecurityLevel3::AQST_Succeeded; // @@ Really? -} - -CORBA::ULong -TAO::SSLIOP::CredentialsAcquirer::nth_iteration (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->check_validity (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // SSL/TLS credentials is single-step process from the point-of-view - // of the caller. - return 1; -} - -CORBA::Any * -TAO::SSLIOP::CredentialsAcquirer::get_continuation_data ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // SSL/TLS credentials acquisition does generate continuation data. - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), 0); -} - -SecurityLevel3::AcquisitionStatus -TAO::SSLIOP::CredentialsAcquirer::continue_acquisition ( - const CORBA::Any & /* acquisition_arguments */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // SSL/TLS credentials acquisition does generate continuation data. - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), - SecurityLevel3::AQST_Failed); -} - -SecurityLevel3::OwnCredentials_ptr -TAO::SSLIOP::CredentialsAcquirer::get_credentials (CORBA::Boolean on_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->check_validity (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (SecurityLevel3::OwnCredentials::_nil ()); - - ::SSLIOP::AuthData *data; - - if (!(this->acquisition_arguments_ >>= data)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - SecurityLevel3::OwnCredentials::_nil ()); - - TAO::SSLIOP::X509_var x509 = this->make_X509 (data->certificate); - - if (x509.in () == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - SecurityLevel3::OwnCredentials::_nil ()); - - TAO::SSLIOP::EVP_PKEY_var evp = this->make_EVP_PKEY (data->key); - - if (evp.in () == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - SecurityLevel3::OwnCredentials::_nil ()); - - // Verify that the private key is consistent with the certificate. - if (::X509_check_private_key (x509.in (), evp.in ()) != 1) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("(%P|%t) ERROR: Private key is not ") - ACE_TEXT ("consistent with X.509 certificate"))); - - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - SecurityLevel3::OwnCredentials::_nil ()); - } - - TAO::SSLIOP::OwnCredentials * creds; - ACE_NEW_THROW_EX (creds, - TAO::SSLIOP::OwnCredentials (x509.in (), evp.in ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (SecurityLevel3::OwnCredentials::_nil ()); - - SecurityLevel3::OwnCredentials_var credentials = creds; - - if (on_list) - { - this->curator_->_tao_add_own_credentials (creds - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (SecurityLevel3::OwnCredentials::_nil ()); - } - - this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (SecurityLevel3::OwnCredentials::_nil ()); - - return credentials._retn (); -} - -void -TAO::SSLIOP::CredentialsAcquirer::destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->check_validity (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - ACE_GUARD (TAO_SYNCH_MUTEX, - guard, - this->lock_); - - if (!this->destroyed_) - { - this->destroyed_ = true; - - // Release our reference to the CredentialsCurator. - (void) this->curator_.out (); - } -} - -void -TAO::SSLIOP::CredentialsAcquirer::check_validity (ACE_ENV_SINGLE_ARG_DECL) -{ - ACE_GUARD (TAO_SYNCH_MUTEX, - guard, - this->lock_); - - if (this->destroyed_) - ACE_THROW (CORBA::BAD_INV_ORDER ()); -} - -::X509 * -TAO::SSLIOP::CredentialsAcquirer::make_X509 (const ::SSLIOP::File &certificate) -{ - // No password is used or needed when reading ASN.1 encoded - // certificates. - - const char *filename = certificate.filename.in (); - - if (filename == 0) - return 0; - - FILE *fp = 0; - ::X509 *x = 0; - - if (certificate.type == ::SSLIOP::ASN1) - { - // ASN.1/DER encoded certificate - - // No password is used or needed when reading ASN.1 encoded - // certificates. - - const char *filename = certificate.filename.in (); - - if (filename == 0) - return 0; - - fp = ACE_OS::fopen (filename, "rb"); - - if (fp == 0) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) SSLIOP::CredentialsAcquirer::make_X509 - %p\n"), - ACE_TEXT ("fopen"))); - - return 0; - } - - // Read ASN.1 / DER encoded X.509 certificate from a file, and - // convert it to OpenSSL's internal X.509 format. - x = ::d2i_X509_fp (fp, 0); - } - else - { - // PEM encoded certificate - - fp = ACE_OS::fopen (filename, "r"); - - if (fp == 0) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) SSLIOP::CredentialsAcquirer::make_X509 - %p\n"), - ACE_TEXT ("fopen"))); - - return 0; - } - - const char *password = certificate.password.in (); - - // Read PEM encoded X.509 certificate from a file, and convert - // it to OpenSSL's internal X.509 format. - x = PEM_read_X509 (fp, - 0, - TAO_SSLIOP_PASSWORD_CALLBACK_NAME, - const_cast (password)); - } - - (void) ACE_OS::fclose (fp); - - if (x == 0 && TAO_debug_level > 0) - ACE_SSL_Context::report_error (); - - return x; -} - -::EVP_PKEY * -TAO::SSLIOP::CredentialsAcquirer::make_EVP_PKEY (const ::SSLIOP::File &key) -{ - // No password is used or needed when reading ASN.1 encoded - // private keys. - - const char *filename = key.filename.in (); - - if (filename == 0) - return 0; - - FILE *fp = 0; - ::EVP_PKEY *evp = 0; - - if (key.type == ::SSLIOP::ASN1) - { - // ASN.1/DER encoded private key - - // No password is used or needed when reading ASN.1 encoded - // private keys. - - const char *filename = key.filename.in (); - - if (filename == 0) - return 0; - - fp = ACE_OS::fopen (filename, "rb"); - - if (fp == 0) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) SSLIOP::CredentialsAcquirer::make_EVP_PKEY ") - ACE_TEXT ("- %p\n"), - ACE_TEXT ("fopen"))); - - return 0; - } - - // Read ASN.1 / DER encoded private key from a file, and convert - // it to OpenSSL's internal private key format. - evp = ::d2i_PrivateKey_fp (fp, 0); - } - else - { - // PEM encoded private key - - fp = ACE_OS::fopen (filename, "r"); - - if (fp == 0) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("(%P|%t) SSLIOP::CredentialsAcquirer::make_EVP_PKEY ") - ACE_TEXT ("- %p\n"), - ACE_TEXT ("fopen"))); - - return 0; - } - - const char *password = key.password.in (); - - // Read PEM encoded private key from a file, and convert it to - // OpenSSL's internal private key format. - evp = PEM_read_PrivateKey (fp, - 0, - TAO_SSLIOP_PASSWORD_CALLBACK_NAME, - const_cast (password)); - } - - (void) ACE_OS::fclose (fp); - - if (evp == 0 && TAO_debug_level > 0) - ACE_SSL_Context::report_error (); - - return evp; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h deleted file mode 100644 index 734ca4d1884..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h +++ /dev/null @@ -1,154 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_CredentialsAcquirer.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_CREDENTIALS_ACQUIRER_H -#define TAO_SSLIOP_CREDENTIALS_ACQUIRER_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Security/SL3_CredentialsCurator.h" - -#include "orbsvcs/SSLIOPC.h" -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#include - - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -/// Forward declarations for OpenSSL data structures. -extern "C" -{ - typedef struct x509_st X509; - typedef struct evp_pkey_st EVP_PKEY; -} - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - /** - * @class CredentialsAcquirer - * - * @brief SSLIOP-specific SecurityLevel3::CredentialsAcquirer - * implementation. - * - * This class generates SSLIOP-specific credentials. - */ - class TAO_SSLIOP_Export CredentialsAcquirer - : public virtual SecurityLevel3::CredentialsAcquirer, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - CredentialsAcquirer (TAO::SL3::CredentialsCurator_ptr curator, - const CORBA::Any & acquisition_arguments); - - /** - * @name SecurityLevel3::CredentialsAcquirer Methods - * - * Methods required by the SecurityLevel3::CredentialsAcquirer - * interface. - */ - //@{ - virtual char * acquisition_method (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::AcquisitionStatus current_status ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::ULong nth_iteration (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * get_continuation_data (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::AcquisitionStatus continue_acquisition ( - const CORBA::Any & acquisition_arguments - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::OwnCredentials_ptr get_credentials ( - CORBA::Boolean on_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~CredentialsAcquirer (void); - - private: - - /// Verify that this CredentialsAcquirer object is still valid, - /// i.e. hasn't been destroyed. - void check_validity (ACE_ENV_SINGLE_ARG_DECL); - - /// Create an OpenSSL X.509 certificate data structure. - static ::X509 * make_X509 (const ::SSLIOP::File &certificate); - - /// Create an OpenSSL EVP_PKEY key data structure. - static ::EVP_PKEY * make_EVP_PKEY (const ::SSLIOP::File &key); - - private: - - /// Lock used for synchronization. - TAO_SYNCH_MUTEX lock_; - - /// Reference to the TAO CredentialsCurator implementation. - TAO::SL3::CredentialsCurator_var curator_; - - /// SSLIOP-specific credentials acquisition arguments. - const CORBA::Any & acquisition_arguments_; - - /// Has this CredentialsAcquirer object completed credentials - /// acquisition or been explicitly destroyed? - bool destroyed_; - - }; - - } // End SSLIOP namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CREDENTIALS_ACQUIRER_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp deleted file mode 100644 index 06ac8c86977..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp +++ /dev/null @@ -1,30 +0,0 @@ -// $Id$ - -#include "orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h" -#include "orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_CredentialsAcquirerFactory, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -SecurityLevel3::CredentialsAcquirer_ptr -TAO::SSLIOP::CredentialsAcquirerFactory::make ( - TAO::SL3::CredentialsCurator_ptr curator, - const CORBA::Any & acquisition_arguments - ACE_ENV_ARG_DECL) -{ - SecurityLevel3::CredentialsAcquirer_ptr ca; - ACE_NEW_THROW_EX (ca, - TAO::SSLIOP::CredentialsAcquirer (curator, - acquisition_arguments), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (SecurityLevel3::CredentialsAcquirer::_nil ()); - - return ca; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h deleted file mode 100644 index dcc44e36919..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_CredentialsAcquirerFactory.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_CREDENTIALS_ACQUIRER_FACTORY_H -#define TAO_SSLIOP_CREDENTIALS_ACQUIRER_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Security/SL3_CredentialsAcquirerFactory.h" - -#include "orbsvcs/SecurityLevel3C.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - - /** - * @class CredentialsAcquirerFactory - * - * @brief SSLIOP-specific TAO::SL3::CredentialsAcquirerFactory - * implementation. - * - * This class generates SSLIOP::CredentialsAcquirer instances. - */ - class TAO_SSLIOP_Export CredentialsAcquirerFactory - : public virtual TAO::SL3::CredentialsAcquirerFactory - { - public: - - /// Create a TAO::SSLIOP::CredentialsAcquirerFactory. - virtual SecurityLevel3::CredentialsAcquirer_ptr make ( - TAO::SL3::CredentialsCurator_ptr curator, - const CORBA::Any & acquisition_arguments - ACE_ENV_ARG_DECL); - - }; - - } // End SSLIOP namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CREDENTIALS_ACQUIRER_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp deleted file mode 100644 index 9d39c05ba21..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp +++ /dev/null @@ -1,197 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" -#include "tao/debug.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_Current, - "$Id$") - - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Current.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Current::Current (TAO_ORB_Core *orb_core) - : tss_slot_ (0), - orb_core_ (orb_core) -{ -} - -TAO::SSLIOP::Current::~Current (void) -{ -} - -::SSLIOP::ASN_1_Cert * -TAO::SSLIOP::Current::get_peer_certificate ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - SSLIOP::Current::NoContext)) -{ - TAO::SSLIOP::Current_Impl *impl = this->implementation (); - - // If the implementation pointer returned from TSS is zero, then - // we're not in the middle of a request or an upcall. Throw an - // exception to indicate that. - if (impl == 0) - ACE_THROW_RETURN (::SSLIOP::Current::NoContext (), 0); - - // A valid value must always be returned, so instantiate a sequence - // regardless of whether or not it is populated with certificates. - ::SSLIOP::ASN_1_Cert *c = 0; - ACE_NEW_THROW_EX (c, - ::SSLIOP::ASN_1_Cert, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - ::SSLIOP::ASN_1_Cert_var certificate = c; - - // Populate the sequence with the DER encoded certificate. - impl->get_peer_certificate (c); - - return certificate._retn (); -} - -SSLIOP::SSL_Cert * -TAO::SSLIOP::Current::get_peer_certificate_chain ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - SSLIOP::Current::NoContext)) -{ - TAO::SSLIOP::Current_Impl *impl = this->implementation (); - - // If the implementation pointer returned from TSS is zero, then - // we're not in the middle of a request or an upcall. Throw an - // exception to indicate that. - if (impl == 0) - ACE_THROW_RETURN (SSLIOP::Current::NoContext (), 0); - - // A valid value must always be returned, so instantiate a sequence - // regardless of whether or not it is populated with certificates. - ::SSLIOP::SSL_Cert *c = 0; - ACE_NEW_THROW_EX (c, - ::SSLIOP::SSL_Cert, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - ::SSLIOP::SSL_Cert_var cert_chain = c; - - // Populate the sequence with the chain of DER encoded certificates. - impl->get_peer_certificate_chain (c); - - return cert_chain._retn (); -} - -CORBA::Boolean -TAO::SSLIOP::Current::no_context (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return (this->implementation () == 0 ? 1 : 0); -} - -void -TAO::SSLIOP::Current::setup (TAO::SSLIOP::Current_Impl *&prev_impl, - TAO::SSLIOP::Current_Impl *new_impl, - bool &setup_done) -{ - // Set the current context and remember the old one. - - prev_impl = this->implementation (); - - (void) this->implementation (new_impl); // Check for error? - - // Setup is complete. - setup_done = true; -} - -void -TAO::SSLIOP::Current::teardown (TAO::SSLIOP::Current_Impl *prev_impl, - bool &setup_done) -{ - if (setup_done) - { - // Reset the old context. - (void) this->implementation (prev_impl); - setup_done = false; - } -} - -TAO::SSLIOP::Current_ptr -TAO::SSLIOP::Current::_narrow ( - CORBA::Object_ptr obj - ACE_ENV_ARG_DECL_NOT_USED) -{ - return TAO::SSLIOP::Current::_duplicate ( - dynamic_cast (obj)); -} - -TAO::SSLIOP::Current_ptr -TAO::SSLIOP::Current::_duplicate (TAO::SSLIOP::Current_ptr obj) -{ - if (!CORBA::is_nil (obj)) - obj->_add_ref (); - - return obj; -} - -const char * -TAO::SSLIOP::Current::_interface_repository_id (void) const -{ - return "IDL:TAO/SSLIOP/Current:1.0"; -} - -// ---------------------------------------------------------------- - -TAO::SSLIOP::Current_ptr -tao_TAO_SSLIOP_Current_duplicate ( - TAO::SSLIOP::Current_ptr p - ) -{ - return TAO::SSLIOP::Current::_duplicate (p); -} - -void -tao_TAO_SSLIOP_Current_release ( - TAO::SSLIOP::Current_ptr p - ) -{ - CORBA::release (p); -} - -TAO::SSLIOP::Current_ptr -tao_TAO_SSLIOP_Current_nil ( - void - ) -{ - return TAO::SSLIOP::Current::_nil (); -} - -TAO::SSLIOP::Current_ptr -tao_TAO_SSLIOP_Current_narrow ( - CORBA::Object *p - ACE_ENV_ARG_DECL - ) -{ - return TAO::SSLIOP::Current::_narrow (p ACE_ENV_ARG_PARAMETER); -} - -CORBA::Object * -tao_TAO_SSLIOP_Current_upcast ( - void *src - ) -{ - TAO::SSLIOP::Current **tmp = - static_cast (src); - return *tmp; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h deleted file mode 100644 index 02b68b6f60b..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h +++ /dev/null @@ -1,177 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SSLIOP_Current.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - -#ifndef TAO_SSLIOP_CURRENT_H -#define TAO_SSLIOP_CURRENT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Current_Impl.h" - -#include "orbsvcs/SSLIOPC.h" -#include "tao/ORB_Core.h" -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - class Current; - typedef Current * Current_ptr; - typedef TAO_Pseudo_Var_T Current_var; - typedef TAO_Pseudo_Out_T Current_out; - - /** - * @class Current - * - * @brief Implementation of the TAO SSLIOP::Current extension. - * - * This object can be used to obtain SSL session related - * information about the current execution context. For example, - * SSL peer certificate chains for the current request can be - * obtained from this object. - */ - class Current - : public ::SSLIOP::Current, - public TAO_Local_RefCounted_Object - { - public: - typedef Current_ptr _ptr_type; - typedef Current_var _var_type; - typedef Current_out _out_type; - - /// Constructor. - Current (TAO_ORB_Core *orb_core); - - /// Return the peer certificate associated with the current - /// request. - virtual ::SSLIOP::ASN_1_Cert * get_peer_certificate ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::SSLIOP::Current::NoContext)); - - /** - * Return the certificate chain associated with the current - * execution context. If no SSL session is being used for the - * request or upcall, then the NoContext exception is raised. - * On the client side, the chain does include the peer (server) - * certficate. However, the certificate chain on the server - * side does NOT contain the peer (client) certificate. - */ - virtual ::SSLIOP::SSL_Cert * get_peer_certificate_chain ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::SSLIOP::Current::NoContext)); - - /** - * This method is mostly useful as an inexpensive means of - * determining whether or not SSL session state is available. - * - * @return @c true if the current execution context is not - * within a SSL session. - */ - virtual CORBA::Boolean no_context (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Set the TSS slot ID assigned to this object. - void tss_slot (size_t slot); - - /// Setup the Current. - void setup (Current_Impl *& prev_impl, - Current_Impl * new_impl, - bool &setup_done); - - /// Teardown the Current for this request. - void teardown (Current_Impl *prev_impl, - bool &setup_done); - - /** - * @name Downcast and Reference Counting Methods - * - * These are basically the same methods generated by the IDL - * compiler for all IDL interfaces. - */ - //@{ - // The static operations. - static Current_ptr _duplicate (Current_ptr obj); - - static Current_ptr _narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - static Current_ptr _nil (void) - { - return (Current_ptr)0; - } - - virtual const char* _interface_repository_id (void) const; - //@} - - protected: - - /// Destructor - ~Current (void); - - /// Set the TSS SSLIOP::Current implementation. - int implementation (Current_Impl *impl); - - /// Return the TSS SSLIOP::Current implementation. - Current_Impl *implementation (void); - - private: - - /// Prevent copying through the copy constructor and the assignment - /// operator. - //@{ - Current (const Current &); - void operator= (const Current &); - //@} - - private: - - /// TSS slot assigned to this object. - size_t tss_slot_; - - /// Pointer to the ORB Core corresponding to the ORB with which this - /// object is registered. - TAO_ORB_Core * const orb_core_; - }; - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Current.inl" -#endif /* __ACE_INLINE__ */ - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CURRENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl deleted file mode 100644 index 1584b919606..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl +++ /dev/null @@ -1,40 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE void -TAO::SSLIOP::Current::tss_slot (size_t slot) -{ - this->tss_slot_ = slot; -} - -ACE_INLINE int -TAO::SSLIOP::Current::implementation (TAO::SSLIOP::Current_Impl *impl) -{ - if (this->orb_core_ == 0) - return -1; - - return this->orb_core_->set_tss_resource (this->tss_slot_, impl); -} - -ACE_INLINE TAO::SSLIOP::Current_Impl * -TAO::SSLIOP::Current::implementation (void) -{ - if (this->orb_core_ == 0) - return 0; - - TAO::SL3::SecurityCurrent_Impl *impl = - static_cast ( - this->orb_core_->get_tss_resource (this->tss_slot_)); - - // Make sure we've got SSL session state in TSS before allowing - // further use of the SSLIOP::Current object. - if (impl != 0 && impl->tag () == ::SSLIOP::TAG_SSL_SEC_TRANS) - return dynamic_cast (impl); - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp deleted file mode 100644 index 27f173dfaac..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp +++ /dev/null @@ -1,128 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Current_Impl.h" - -#include "ace/OS_String.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_Current_Impl, - "$Id$") - - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl" -#endif /* __ACE_INLINE__ */ - -#include "orbsvcs/SSLIOP/SSLIOP_X509.h" -#include "orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h" - -#include "tao/ORB_Constants.h" - -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Current_Impl::~Current_Impl (void) -{ -} - -SecurityLevel3::ClientCredentials_ptr -TAO::SSLIOP::Current_Impl::client_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::SSLIOP::X509_var cert = ::SSL_get_peer_certificate (this->ssl_); - if (cert.ptr () == 0) - ACE_THROW_RETURN (CORBA::BAD_OPERATION (), - SecurityLevel3::ClientCredentials::_nil ()); - - SecurityLevel3::ClientCredentials_ptr creds; - ACE_NEW_THROW_EX (creds, - TAO::SSLIOP::ClientCredentials (cert.in (), - 0, - this->ssl_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (SecurityLevel3::ClientCredentials::_nil ()); - - return creds; -} - -CORBA::Boolean -TAO::SSLIOP::Current_Impl::request_is_local (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -void -TAO::SSLIOP::Current_Impl::get_peer_certificate ( - ::SSLIOP::ASN_1_Cert *certificate) -{ - if (this->ssl_ == 0) - return; - - TAO::SSLIOP::X509_var cert = ::SSL_get_peer_certificate (this->ssl_); - if (cert.ptr () == 0) - return; - - // Get the size of the ASN.1 encoding. - const int cert_length = ::i2d_X509 (cert.in (), 0); - if (cert_length <= 0) - return; - - certificate->length (cert_length); - - CORBA::Octet *buffer = certificate->get_buffer (); - - // Convert from the internal X509 representation to the DER encoding - // representation. - (void) ::i2d_X509 (cert.in (), &buffer); -} - -void -TAO::SSLIOP::Current_Impl::get_peer_certificate_chain ( - ::SSLIOP::SSL_Cert *cert_chain) -{ - if (this->ssl_ == 0) - return; - - STACK_OF (X509) *certs = ::SSL_get_peer_cert_chain (this->ssl_); - if (certs == 0) - return; - - const int chain_length = sk_X509_num (certs); - cert_chain->length (chain_length); - - // Copy the peer certificate chain to the SSLIOP::SSL_Cert - // sequence. - for (int i = 0; i < chain_length; ++i) - { - // Extract the certificate from the OpenSSL X509 stack. - ::X509 *x = sk_X509_value (certs, i); - - // Get the size of the ASN.1 encoding. - const int cert_length = ::i2d_X509 (x, 0); - if (cert_length <= 0) - continue; // @@ What do we do if there is an error? - - ::SSLIOP::ASN_1_Cert &certificate = (*cert_chain)[i]; - certificate.length (cert_length); - - CORBA::Octet *buffer = certificate.get_buffer (); - - // Convert from the internal X509 representation to the DER - // encoding representation. - (void) ::i2d_X509 (x, &buffer); - } -} - -CORBA::ULong -TAO::SSLIOP::Current_Impl::tag (void) const -{ - return ::SSLIOP::TAG_SSL_SEC_TRANS; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h deleted file mode 100644 index 32bc8c7a283..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h +++ /dev/null @@ -1,113 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SSLIOP_Current_Impl.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - -#ifndef TAO_SSLIOP_CURRENT_IMPL_H -#define TAO_SSLIOP_CURRENT_IMPL_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOPC.h" -#include "orbsvcs/Security/SL3_SecurityCurrent_Impl.h" - -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - /** - * @class Current_Impl - * - * @brief TSS portion of the TAO SSLIOP::Current extension, and - * the SSLIOP-specific SecurityLevel3::SecurityCurrent - * object. - * - * This class encapsulates the thread-specific state of an SSL - * session during a given upcall. - */ - class Current_Impl : public TAO::SL3::SecurityCurrent_Impl - { - public: - - /// Constructor. - Current_Impl (void); - - /// Destructor - ~Current_Impl (void); - - /// Implementation of the SSLIOP-specific - /// SecurityLevel3::client_credentials() method. - virtual SecurityLevel3::ClientCredentials_ptr client_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Implementation of the SSLIOP-specific - /// SecurityLevel3::request_is_local() method. - virtual CORBA::Boolean request_is_local ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the SSL peer certificate associated with the - /// current request as an octet sequence, i.e. a DER encoded - /// certificate. - void get_peer_certificate (::SSLIOP::ASN_1_Cert *certificate); - - /// Return the SSL peer certificate chain associated with the - /// current request as a sequence of DER encoded certificates. - void get_peer_certificate_chain (::SSLIOP::SSL_Cert *cert_chain); - - /// Set the pointer to the underlying SSL session state. - void ssl (SSL *s); - - /// Return pointer to the SSL session state for the current upcall. - SSL *ssl (void); - - protected: - - /// Return the unique tag that identifies the concrete subclass. - virtual CORBA::ULong tag (void) const; - - private: - - /// Prevent copying through the copy constructor and the assignment - /// operator. - //@{ - Current_Impl (const Current_Impl &); - void operator= (const Current_Impl &); - //@} - - private: - - /// The SSL session state corresponding to the current upcall. - SSL *ssl_; - - }; - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_CURRENT_IMPL_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl deleted file mode 100644 index d1f4b91ee81..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE -TAO::SSLIOP::Current_Impl::Current_Impl (void) - : ssl_ (0) -{ -} - -ACE_INLINE void -TAO::SSLIOP::Current_Impl::ssl (SSL *s) -{ - this->ssl_ = s; -} - -ACE_INLINE SSL * -TAO::SSLIOP::Current_Impl::ssl (void) -{ - return this->ssl_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp deleted file mode 100644 index 020904b53d2..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h" - -#include -#include -#include -#include -#include "orbsvcs/SSLIOP/params_dup.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_EVP_PKEY, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -::EVP_PKEY * -TAO::SSLIOP::OpenSSL_traits< ::EVP_PKEY >::copy (::EVP_PKEY const & key) -{ - ::EVP_PKEY * pkey = const_cast< ::EVP_PKEY *> (&key); - - // We're using the EVP_PKEY_var even though it depends on this - // trait function. This works since we're not actually using - // any of the EVP_PKEY_var methods that call this copy() - // trait. This allows us to maintain exception safety. - TAO::SSLIOP::EVP_PKEY_var p = ::EVP_PKEY_new (); - - switch (::EVP_PKEY_type (pkey->type)) - { - case EVP_PKEY_RSA: - { - RSA * rsa = ::EVP_PKEY_get1_RSA (pkey); - if (rsa != 0) - { - // Not exception safe! - ::EVP_PKEY_set1_RSA (p.in (), RSAPrivateKey_dup (rsa)); - ::RSA_free (rsa); - } - } - break; - - case EVP_PKEY_DSA: - { - DSA * dsa = ::EVP_PKEY_get1_DSA (pkey); - if (dsa != 0) - { - // Not exception safe! - ::EVP_PKEY_set1_DSA (p.in (), DSAPARAMS_DUP_WRAPPER_NAME (dsa)); - ::DSA_free (dsa); - } - } - break; - - case EVP_PKEY_DH: - { - DH * dh = ::EVP_PKEY_get1_DH (pkey); - if (dh != 0) - { - // Not exception safe! - ::EVP_PKEY_set1_DH (p.in (), DHPARAMS_DUP_WRAPPER_NAME (dh)); - ::DH_free (dh); - } - } - break; - - default: - // We should never get here! - return 0; - } - - return p._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h deleted file mode 100644 index 8c43b8a5b68..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h +++ /dev/null @@ -1,79 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_EVP_PKEY.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_EVP_PKEY_H -#define TAO_SSLIOP_EVP_PKEY_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h" - -#include -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - // OpenSSL @c EVP_PKEY structure traits specialization. - template <> - struct OpenSSL_traits< ::EVP_PKEY > - { - /// OpenSSL lock ID for use in OpenSSL CRYPTO_add() reference - /// count manipulation function. - enum { LOCK_ID = CRYPTO_LOCK_EVP_PKEY }; - - /// Increase the reference count on the given OpenSSL structure. - /** - * @note This used to be in a function template but MSVC++ 6 - * can't handle function templates correctly so reproduce - * the code in each specialization. *sigh* - */ - static ::EVP_PKEY * _duplicate (::EVP_PKEY * st) - { - if (st != 0) - CRYPTO_add (&(st->references), - 1, - LOCK_ID); - - return st; - } - - /// Perform deep copy of the given OpenSSL structure. - static ::EVP_PKEY * copy (::EVP_PKEY const & key); - - /// Decrease the reference count on the given OpenSSL - /// structure. - static void release (::EVP_PKEY * st) - { - ::EVP_PKEY_free (st); - } - }; - - typedef OpenSSL_st_var< ::EVP_PKEY > EVP_PKEY_var; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_EVP_PKEY_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp deleted file mode 100644 index 62061e03009..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp +++ /dev/null @@ -1,382 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Endpoint.h" - -#include "tao/IIOP_Endpoint.h" - -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" -#include "ace/os_include/os_netdb.h" - -#include "tao/debug.h" - -ACE_RCSID (SSLIOP, - SSLIOP_Endpoint, - "$Id$") - - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/SSLIOP/SSLIOP_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_SSLIOP_Endpoint::TAO_SSLIOP_Endpoint (const ::SSLIOP::SSL *ssl_component, - TAO_IIOP_Endpoint *iiop_endp) - : TAO_Endpoint (IOP::TAG_INTERNET_IOP), - object_addr_ (), - next_ (0), - iiop_endpoint_ (iiop_endp), - destroy_iiop_endpoint_ (false), - qop_ (::Security::SecQOPIntegrityAndConfidentiality), -#if !defined (VXWORKS) && !defined (__QNX__) - // Some compilers don't like the initialization - trust_ (), -#endif /* !VXWORKS && !__QNX__ */ - credentials_ (), - credentials_set_ (0) -{ - if (ssl_component != 0) - { - // Copy the security association options in the IOR's SSL tagged - // component. - this->ssl_component_.target_supports = ssl_component->target_supports; - this->ssl_component_.target_requires = ssl_component->target_requires; - this->ssl_component_.port = ssl_component->port; - } - else - { - // No SSL tagged component is available so construct a default - // set of security association options, in addition to the IANA - // assigned IIOP over SSL port (684). This is generally a - // client side issue. - - // 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. - // - // Note that the Security::NoProtection bit is set since we - // can't be sure if the server supports SSL, and TAO's SSLIOP - // implementation must support IIOP over SSL and plain IIOP. - ACE_SET_BITS (this->ssl_component_.target_supports, - ::Security::Integrity - | ::Security::Confidentiality - | ::Security::EstablishTrustInTarget - | ::Security::NoProtection - | ::Security::NoDelegation); - - // Initialize the default SSL port to zero, not the IANA - // assigned IIOP over SSL port (684). We usually only get here - // if we're creating a profile on the client side using an IOR - // that does not contain an SSLIOP tagged component. - this->ssl_component_.port = 0; - } - - // Invalidate the Addr until the first attempt to use it is made. - this->object_addr_.set_type (-1); - - this->trust_.trust_in_target = 1; - this->trust_.trust_in_client = 1; -} - -TAO_SSLIOP_Endpoint::~TAO_SSLIOP_Endpoint (void) -{ - if (this->destroy_iiop_endpoint_) - delete this->iiop_endpoint_; -} - -#if 0 -static void -dump_endpoint (const char* msg, const TAO_Endpoint *other_endpoint) -{ - - TAO_Endpoint *endpt = const_cast (other_endpoint); - - TAO_SSLIOP_Endpoint *endpoint = - dynamic_cast (endpt); - - if (endpoint == 0) - { - ACE_DEBUG ((LM_DEBUG, "TAO (%P|%t) endpoint - %s: Unable to cast an endpoint to SSLIOP_Endpoint\n", msg)); - return; - } - - char hostaddr[MAXHOSTNAMELEN + 16]; - int gothost = endpoint->addr_to_string (hostaddr, sizeof hostaddr); - - ACE_DEBUG ((LM_INFO, "TAO (%P|%t) SSLIOPEndpoint %s - %@ {%s, ssl=%d, iiop=%d," - " qop=%d, trst=(%d,%d), c=%@, crdh=0x%x}, h=0x%x\n", - msg, - endpoint, - (gothost == 0 ? hostaddr : "*UNKNOWN*"), - endpoint->ssl_component ().port , - endpoint->iiop_endpoint ()->port (), - endpoint->qop() , - endpoint->trust().trust_in_target , - endpoint->trust().trust_in_client , - endpoint->credentials() , - (endpoint->credentials_set () ? endpoint->credentials()->hash () : 0) , - endpoint->hash ())); -} -#endif /* 0 */ - -int -TAO_SSLIOP_Endpoint::addr_to_string (char *buffer, size_t length) -{ - size_t actual_len = - ACE_OS::strlen (this->iiop_endpoint_->host ()) // chars in host name - + sizeof (':') // delimiter - + ACE_OS::strlen ("65536") // max port - + sizeof ('\0'); - - if (length < actual_len) - return -1; - - ACE_OS::sprintf (buffer, - "%s:%d", - this->iiop_endpoint_->host (), - this->ssl_component_.port); - - return 0; -} - - -TAO_Endpoint * -TAO_SSLIOP_Endpoint::next (void) -{ - return this->next_; -} - -CORBA::Boolean -TAO_SSLIOP_Endpoint::is_equivalent (const TAO_Endpoint *other_endpoint) -{ - TAO_Endpoint *endpt = const_cast (other_endpoint); - - TAO_SSLIOP_Endpoint *endpoint = - dynamic_cast (endpt); - - if (endpoint == 0) - return 0; - - ::Security::EstablishTrust t = endpoint->trust (); - - if ((this->ssl_component_.port != 0 - && endpoint->ssl_component_.port != 0 - && this->ssl_component_.port != endpoint->ssl_component_.port) - || this->qop_ != endpoint->qop () - || this->trust_.trust_in_target != t.trust_in_target - || this->trust_.trust_in_client != t.trust_in_client - || (!CORBA::is_nil (this->credentials_.in ()) - && !(*this->credentials_.in () == *endpoint->credentials ()))) - { - return 0; - } - - // Comparing the underlying iiop endpoints is wrong, as their port - // numbers often may not make sense. Or may not being used anyway. - // Therefore, we only need to directly compare the hosts. See also the - // comments in the hash() method. - if (this->iiop_endpoint() == 0 || endpoint->iiop_endpoint() == 0) - return 0; - - if ((ACE_OS::strcmp (this->iiop_endpoint()->host (), - endpoint->iiop_endpoint()->host ()) != 0)) - return 0; - - return 1; -} - -TAO_Endpoint * -TAO_SSLIOP_Endpoint::duplicate (void) -{ - TAO_SSLIOP_Endpoint *endpoint = 0; - - // @@ We need to set the priority of the newly formed endpoint. It - // shouldnt be a problem as long as SSL is not used with RTCORBA. - ACE_NEW_RETURN (endpoint, - TAO_SSLIOP_Endpoint (&this->ssl_component_, - 0), - 0); - - if (this->credentials_set_) - endpoint->set_sec_attrs (this->qop_,this->trust_, this->credentials_.in()); - - endpoint->iiop_endpoint (this->iiop_endpoint_, true); - endpoint->hash_val_ = this->hash_val_; - return endpoint; -} - -CORBA::ULong -TAO_SSLIOP_Endpoint::hash (void) -{ - // there is actually the potential for a race of the inverse case, - // since setting the security attributes will reset the hash_val_, - // it is possible this test to pass, but then have the hash reset - // before the value is returned. - if (this->hash_val_ != 0) - return this->hash_val_; - - // Do this with no locks held, as it may try to acquire it, too. - const ACE_INET_Addr &oaddr = this->object_addr(); - - { // nested scope for the lock - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->addr_lookup_lock_, - this->hash_val_); - // .. DCL - if (this->hash_val_ != 0) - return this->hash_val_; - - - // Note that we are not using the underlying IIOP endpoint's hash - // value in order to avoid the influence of the IIOP port number, - // since it is ignored anyway. When it features a - // purely fictional port number, as when accepting an SSL - // connection, the unsecured port is undefined and - // had we used it in computing the hash it would have broken the - // bi-directional support - as the 'guessed' IIOP port value will - // hardly match the one specified in the bi-dir service context. - this->hash_val_ = - oaddr.get_ip_address () - + this->ssl_component_.port; - } - - return this->hash_val_; -} - - -const ACE_INET_Addr & -TAO_SSLIOP_Endpoint::object_addr (void) const -{ - // The object_addr_ is initialized here, rather than at IOR decode - // time for several reasons: - // 1. A request on the object may never be invoked. - // 2. The DNS setup may have changed dynamically. - // ...etc.. - - // Double checked locking optimization. - if (this->object_addr_.get_type () != AF_INET) - { - const ACE_INET_Addr &iiop_addr = this->iiop_endpoint_->object_addr (); - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->addr_lookup_lock_, - this->object_addr_); - - if (this->object_addr_.get_type () != AF_INET) - { - this->object_addr_ = iiop_addr; - this->object_addr_.set_port_number (this->ssl_component_.port); - } - } - - return this->object_addr_; -} - -void -TAO_SSLIOP_Endpoint::set_sec_attrs (::Security::QOP q, - const ::Security::EstablishTrust &t, - const TAO::SSLIOP::OwnCredentials_ptr c) -{ - if (this->credentials_set_) - return; - - ACE_GUARD (TAO_SYNCH_MUTEX, - guard, - this->addr_lookup_lock_); - - // double-check - if (this->credentials_set_) - return; - - this->qop_ = q; - this->trust_ = t; - this->credentials_ = TAO::SSLIOP::OwnCredentials::_duplicate (c); - this->credentials_set_ = 1; - - // reset the hash value to force a recomputation. - this->hash_val_ = 0; -} - - - - -TAO_SSLIOP_Synthetic_Endpoint::~TAO_SSLIOP_Synthetic_Endpoint () -{ -} - -TAO_SSLIOP_Synthetic_Endpoint::TAO_SSLIOP_Synthetic_Endpoint (const ::SSLIOP::SSL *ssl) - : TAO_SSLIOP_Endpoint (ssl, 0) -{ -} - - -TAO_SSLIOP_Synthetic_Endpoint::TAO_SSLIOP_Synthetic_Endpoint (TAO_IIOP_Endpoint *iiop_endp) - : TAO_SSLIOP_Endpoint ((const ::SSLIOP::SSL *)0, iiop_endp) -{ - this->ssl_component_.port = iiop_endp->port (); -} - - -CORBA::Boolean -TAO_SSLIOP_Synthetic_Endpoint::is_equivalent (const TAO_Endpoint *other_endpoint) -{ - TAO_Endpoint *endpt = const_cast (other_endpoint); - - TAO_SSLIOP_Endpoint *endpoint = - dynamic_cast (endpt); - - if (endpoint == 0) - return 0; - - if ((this->ssl_component ().port != 0 - && endpoint->ssl_component ().port != 0 - && this->ssl_component ().port != endpoint->ssl_component ().port) - || this->qop () < endpoint->qop ()) - { - return 0; - } - - // Comparing the underlying iiop endpoints is wrong, as their port - // numbers often may not make sense, or are not being used anyway. - // Therefore, directly comparing the hosts at this point. See also the - // comments in the hash() method - if (this->iiop_endpoint() == 0 || endpoint->iiop_endpoint() == 0) - return 0; - - if ((ACE_OS::strcmp (this->iiop_endpoint()->host (), - endpoint->iiop_endpoint()->host ()) != 0)) - return 0; - - return 1; -} - -TAO_Endpoint * -TAO_SSLIOP_Synthetic_Endpoint::duplicate (void) -{ - TAO_SSLIOP_Synthetic_Endpoint *endpoint = 0; - - // @@ We need to set the priority of the newly formed endpoint. It - // shouldnt be a problem as long as SSL is not used with RTCORBA. - ACE_NEW_RETURN (endpoint, - TAO_SSLIOP_Synthetic_Endpoint (&(this->ssl_component ())), - 0); - - if (this->credentials_set()) - endpoint->set_sec_attrs (this->qop (),this->trust (), this->credentials ()); - - endpoint->iiop_endpoint (this->iiop_endpoint (), true); - endpoint->hash_val_ = this->hash (); - return endpoint; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h deleted file mode 100644 index d05fec097ad..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h +++ /dev/null @@ -1,256 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Endpoint.h - * - * $Id$ - * - * SSLIOP implementation of PP Framework Endpoint interface. - * - * @author Marina Spivak - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_ENDPOINT_H -#define TAO_SSLIOP_ENDPOINT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h" - -#include "orbsvcs/SSLIOPC.h" -#include "orbsvcs/SecurityC.h" - -#include "tao/IIOP_Endpoint.h" -#include "ace/INET_Addr.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - /// Tag for storing multiple ssl endpoints within a single profile. - const ACE_UINT32 TAG_SSL_ENDPOINTS = 0x54414f01U; -} - -// namespace TAO -// { -// namespace SSLIOP -// { - /** - * @class Endpoint - * - * @brief SSLIOP-specific implementation of PP Framework Endpoint - * interface. - * - * - */ - class TAO_SSLIOP_Export TAO_SSLIOP_Endpoint : public TAO_Endpoint - { - public: - - friend class TAO_SSLIOP_Profile; - - /// Constructor - TAO_SSLIOP_Endpoint (const ::SSLIOP::SSL *ssl_component, - TAO_IIOP_Endpoint *iiop_endp); - - /// Destructor. - virtual ~TAO_SSLIOP_Endpoint (void); - - /** - * @name TAO_Endpoint Methods - * - * See Endpoint.h for their documentation. - */ - //@{ - virtual TAO_Endpoint *next (void); - virtual int addr_to_string (char *buffer, size_t length); - - /// Return true if this endpoint is equivalent to @param - /// other_endpoint. The relationship is defined as equivalency of - /// their qop, hostname and ssl ports (if non-zero). - /// Two endpoints may be equivalent even if their iiop counterparts are - /// not. In fact, there are cases (as with the LPL processing) - /// when those counterparts are not known at all. - CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint); - - /// Return a copy of the corresponding endpoints by allocating - /// memory. - virtual TAO_Endpoint *duplicate (void); - - /// Return a hash value for this object. Note that only the IP - /// address and port are used to generate the hash value. This may - /// cause a few more hash table collisions in the transport cache, - /// because a synthesized SSLIOP endpoints for an address will - /// have the same hash value as a fully qualified one. The - /// redeeming feature is that it makes / bi-directional SSLIOP work - /// by allowing descendent class (Synthetic_Endpoint) instances to - /// be used as keys in the cache manager and match other fully - /// qualified endpoint. (which were used earlier to cache a - /// particular transport) - virtual CORBA::ULong hash (void); - //@} - - /** - * @name SSLIOP_Endpoint-specific Methods - */ - //@{ - /// Return SSL component corresponding to this endpoint. - const ::SSLIOP::SSL &ssl_component (void) const; - - /// Accessor to our IIOP counterpart. - TAO_IIOP_Endpoint *iiop_endpoint (void) const; - - /// Mutator to our IIOP counterpart. - /** - * @param destroy If set to @c true, the TAO::SSLIOP::Endpoint - * object retains ownership of the given - * TAO_IIOP_Endpoint. - */ - void iiop_endpoint (TAO_IIOP_Endpoint *endpoint, bool destroy); - - /// Return the SSLIOP-specific ACE_INET_Addr. - const ACE_INET_Addr &object_addr (void) const; - - /// Set the Quality-of-Protection, establishment of trust, and - /// credentials for this endpoint. This is all done in one function - /// so that the guard may be used uniformly. - void set_sec_attrs (::Security::QOP qop, - const ::Security::EstablishTrust &trust, - const TAO::SSLIOP::OwnCredentials_ptr creds); - - /// Get the Quality-of-Protection settings for this endpoint. - ::Security::QOP qop (void) const; - - /// Get the establishment of trust settings for this endpoint. - ::Security::EstablishTrust trust (void) const; - - /// Get the credentials for this endpoint. - /** - * @note This method does not follow C++ mapping memory - * management rules. Specifically, no duplication or - * reference counting occurs in this method. This is so - * that no additional locks occur when checking the - * transport cache. - */ - TAO::SSLIOP::OwnCredentials * credentials (void) const; - //@} - - - /// Credentials are not supplied by the constructor, and it is - /// valid to have a nil credential, for instance if the - /// SSL_use_certificate() method returns 0. Therefore it is - /// necessary to have a new method to distinguish between a - /// credential that is nil because it has not been set, vs one - /// that was set to nil explicitly. - int credentials_set (void) const; - - protected: - - /// Cache the SSL tagged component in a decoded format. Notice - /// that we do not need to marshal this object! - ::SSLIOP::SSL ssl_component_; - - private: - - /// Cached instance of ACE_INET_Addr for use in making invocations, - /// etc. - mutable ACE_INET_Addr object_addr_; - - /// IIOP Endpoints can be stringed into a list. Return the next - /// endpoint in the list, if any. - TAO_SSLIOP_Endpoint *next_; - - /// IIOP counterpart. - /** - * Since SSLIOP is an 'extension' of IIOP, each SSLIOP_Endpoint - * contains SSL-specific information plus a pointer to the - * IIOP_Endpoint containing the IIOP portion of our address. - */ - TAO_IIOP_Endpoint *iiop_endpoint_; - - /// Flag that determines whether or not the iiop_endpoint_ member is - /// deallocated with delete(). - bool destroy_iiop_endpoint_; - - /// Quailty-of-Protection settings for this endpoint object. - ::Security::QOP qop_; - - /// Establishment of trust settings for this endpoint object. - ::Security::EstablishTrust trust_; - - /// SSLIOP-specific credentials for this endpoint object. - TAO::SSLIOP::OwnCredentials_var credentials_; - - /// A flag indicating that credentials_ was explicitly initialized - int credentials_set_; - }; - - /** - * @class SSLIOP_Synthetic_Endpoint - * - * @brief SSLIOP-specific implementation of PP Framework Endpoint - * interface, representing synthetic endpoints. An endpoints - * is synthetic whenever there is insuficient data to fully - * initialize an SSLIOP endpoint: qop, trust, credentials, - * etc. Such as when creating an SSLIOP endpoint in response - * of a Listen Point List or accepting a connection. - * - * LPL and IOR-originated endpoints can now compare as - * equivalent, if they denote the same host, port and - * protection. That would have given some false - * positives in some very obscure cases (same SSL port, but - * different protection or undelying IIOP port, or vice versa) - * The "synthetic eVndpoint" has its very own is_equivalent() - * to help eliminate any false positives and make the process - * more clear. - * - */ - class TAO_SSLIOP_Export TAO_SSLIOP_Synthetic_Endpoint : public TAO_SSLIOP_Endpoint - { - public: - - /// Constructor - TAO_SSLIOP_Synthetic_Endpoint (TAO_IIOP_Endpoint *iiop_endp); - - /// Destructor. - virtual ~TAO_SSLIOP_Synthetic_Endpoint (void); - - /** - * Return true if this endpoint is equivalent to @param - * other_endpoint. - * Two synthetic endpoints are equivalent iff their iiop counterparts are - * equivalent, and, if both have non-zero ssl ports, their ssl - * ports are the same. - */ - CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint); - - /// Return a copy of the corresponding endpoints by allocating - /// memory. - virtual TAO_Endpoint *duplicate (void); - - private: - TAO_SSLIOP_Synthetic_Endpoint (const ::SSLIOP::SSL *ssl); - - }; - -// } // End SSLIOP namespace. -// } // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/SSLIOP/SSLIOP_Endpoint.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_ENDPOINT_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i deleted file mode 100644 index 9ea9beb96b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i +++ /dev/null @@ -1,70 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE TAO_IIOP_Endpoint * -TAO_SSLIOP_Endpoint::iiop_endpoint (void) const -{ - return this->iiop_endpoint_; -} - -ACE_INLINE void -TAO_SSLIOP_Endpoint::iiop_endpoint (TAO_IIOP_Endpoint *iiop_endpoint, - bool destroy) -{ - if (iiop_endpoint != 0) - { - TAO_IIOP_Endpoint *new_endpoint = 0; - - if (destroy) - { - TAO_Endpoint *endpoint = iiop_endpoint->duplicate (); - - new_endpoint = dynamic_cast (endpoint); - - } - else - new_endpoint = iiop_endpoint; - - if (this->destroy_iiop_endpoint_) - delete this->iiop_endpoint_; - - this->iiop_endpoint_ = new_endpoint; - this->destroy_iiop_endpoint_ = destroy; - } -} - -ACE_INLINE const ::SSLIOP::SSL & -TAO_SSLIOP_Endpoint::ssl_component (void) const -{ - return this->ssl_component_; -} - -ACE_INLINE ::Security::QOP -TAO_SSLIOP_Endpoint::qop (void) const -{ - return this->qop_; -} - -ACE_INLINE ::Security::EstablishTrust -TAO_SSLIOP_Endpoint::trust (void) const -{ - return this->trust_; -} - -ACE_INLINE TAO::SSLIOP::OwnCredentials * -TAO_SSLIOP_Endpoint::credentials (void) const -{ - return this->credentials_.in (); -} - -ACE_INLINE int -TAO_SSLIOP_Endpoint::credentials_set (void) const -{ - return this->credentials_set_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Export.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Export.h deleted file mode 100644 index 806577d0855..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_SSLIOP_EXPORT_H -#define TAO_SSLIOP_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_SSLIOP_HAS_DLL) -# define TAO_SSLIOP_HAS_DLL 0 -# endif /* ! TAO_SSLIOP_HAS_DLL */ -#else -# if !defined (TAO_SSLIOP_HAS_DLL) -# define TAO_SSLIOP_HAS_DLL 1 -# endif /* ! TAO_SSLIOP_HAS_DLL */ -#endif - -#if defined (TAO_SSLIOP_HAS_DLL) && (TAO_SSLIOP_HAS_DLL == 1) -# if defined (TAO_SSLIOP_BUILD_DLL) -# define TAO_SSLIOP_Export ACE_Proper_Export_Flag -# define TAO_SSLIOP_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_SSLIOP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_SSLIOP_BUILD_DLL */ -# define TAO_SSLIOP_Export ACE_Proper_Import_Flag -# define TAO_SSLIOP_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_SSLIOP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_SSLIOP_BUILD_DLL */ -#else /* TAO_SSLIOP_HAS_DLL == 1 */ -# define TAO_SSLIOP_Export -# define TAO_SSLIOP_SINGLETON_DECLARATION(T) -# define TAO_SSLIOP_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_SSLIOP_HAS_DLL == 1 */ - -#endif /* TAO_SSLIOP_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp deleted file mode 100644 index 49a369925e7..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp +++ /dev/null @@ -1,614 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Factory.h" -#include "orbsvcs/SSLIOP/SSLIOP_Acceptor.h" -#include "orbsvcs/SSLIOP/SSLIOP_Connector.h" -#include "orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h" -#include "ace/OS_NS_strings.h" - -#include "orbsvcs/Security/Security_ORBInitializer.h" /// @todo should go away - -#include "tao/debug.h" -#include "tao/ORBInitializer_Registry.h" - -#include "ace/SSL/sslconf.h" -#include "ace/SSL/SSL_Context.h" - -ACE_RCSID (SSLIOP, - SSLIOP_Factory, - "$Id$") - - -// An SSL session id seed value. Needs not be too unique, just somewhat -// different. See the OpenSSL manual -static const unsigned char session_id_context_[] = - "$Id$"; - -// Protocol name prefix -static const char * const the_prefix[] = {"iiop", "ssliop"}; - -// An OS-dependent path separator character -static ACE_TCHAR const TAO_PATH_SEPARATOR_STRING[] = -#if defined(ACE_WIN32) - ACE_TEXT (";"); -#else - ACE_TEXT (":"); -#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - static const long ACCEPT_TIMEOUT = 10; // Default accept timeout - // in seconds. - } -} - -TAO::SSLIOP::Protocol_Factory::Protocol_Factory (void) - : TAO_Protocol_Factory (IOP::TAG_INTERNET_IOP), - qop_ (::Security::SecQOPIntegrityAndConfidentiality), - timeout_ (TAO::SSLIOP::ACCEPT_TIMEOUT) -{ -} - -TAO::SSLIOP::Protocol_Factory::~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 (), ::the_prefix[0]) == 0) - || (ACE_OS::strcasecmp (prefix.c_str (), ::the_prefix[1]) == 0); -} - -const char * -TAO::SSLIOP::Protocol_Factory::prefix (void) const -{ - // Note: This method doesn't seem to be used anywhere. Moreover, - // keeping it may make things more confusing - a Factory can - // well be handling multiple protocol prefixes, not just one! - // Shouldn't it be deprecated? - return ::the_prefix[0]; -} - -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_, - this->timeout_), - 0); - - return acceptor; -} - - -// Parses a X509 path. Beware: This function modifies -// the buffer pointed to by arg! -int -TAO::SSLIOP::Protocol_Factory::parse_x509_file (char *arg, - char **path) -{ - ACE_ASSERT (arg != 0); - ACE_ASSERT (path != 0); - - char *lst = 0; - const char *type_name = ACE_OS::strtok_r (arg, ":", &lst); - *path = ACE_OS::strtok_r (0, "", &lst); - - if (ACE_OS::strcasecmp (type_name, "ASN1") == 0) - return SSL_FILETYPE_ASN1; - - if (ACE_OS::strcasecmp (type_name, "PEM") == 0) - return SSL_FILETYPE_PEM; - - return -1; -} - - -int -TAO::SSLIOP::Protocol_Factory::init (int argc, - char* argv[]) -{ - char *certificate_path = 0; - char *private_key_path = 0; - char *dhparams_path = 0; - char *ca_file = 0; - char *ca_dir = 0; - char *rand_path = 0; - - int certificate_type = -1; - int private_key_type = -1; - int dhparams_type = -1; - - int prevdebug = -1; - - CSIIOP::AssociationOptions csiv2_target_supports = - CSIIOP::Integrity | CSIIOP::Confidentiality; - CSIIOP::AssociationOptions csiv2_target_requires = - CSIIOP::Integrity | CSIIOP::Confidentiality; - - // 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); - - size_t session_id_len = - (sizeof session_id_context_ >= SSL_MAX_SSL_SESSION_ID_LENGTH) - ? SSL_MAX_SSL_SESSION_ID_LENGTH - : sizeof session_id_context_; - - // Note that this function returns 1, if the operation succeded. - // See SSL_CTX_set_session_id_context(3) - if( 1 != ::SSL_CTX_set_session_id_context (ssl_ctx->context(), - session_id_context_, - session_id_len)) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Unable to set the session id ") - ACE_TEXT ("context to \'%s\'\n"), session_id_context_)); - - return -1; - } - - 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 ("TAO (%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; - - ACE_SET_BITS (csiv2_target_supports, - CSIIOP::NoProtection); - - ACE_CLR_BITS (csiv2_target_requires, - CSIIOP::Confidentiality); - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLCertificate") == 0) - { - curarg++; - if (curarg < argc) - { - certificate_type = parse_x509_file (argv[curarg], &certificate_path); - } - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLPrivateKey") == 0) - { - curarg++; - if (curarg < argc) - { - private_key_type = parse_x509_file (argv[curarg], &private_key_path); - } - } - - 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; - - ACE_SET_BITS (csiv2_target_supports, - CSIIOP::EstablishTrustInTarget - | CSIIOP::EstablishTrustInClient); - } - 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; - - ACE_SET_BITS (csiv2_target_supports, - CSIIOP::EstablishTrustInTarget - | CSIIOP::EstablishTrustInClient); - - ACE_SET_BITS (csiv2_target_requires, - CSIIOP::EstablishTrustInClient); - } - - ssl_ctx->default_verify_mode (mode); - } - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLAcceptTimeout") == 0) - { - curarg++; - if (curarg < argc) - { - float timeout = 0; - - if (sscanf (argv[curarg], "%f", &timeout) != 1 - || timeout < 0) - ACE_ERROR_RETURN ((LM_ERROR, - "ERROR: Invalid -SSLAcceptTimeout " - "value: %s.\n", - argv[curarg]), - -1); - else - this->timeout_.set (timeout); - } - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLDHparams") == 0) - { - curarg++; - if (curarg < argc) - { - dhparams_type = parse_x509_file (argv[curarg], &dhparams_path); - } - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLCAfile") == 0) - { - curarg++; - if (curarg < argc) - { - (void) parse_x509_file (argv[curarg], &ca_file); - } - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLCApath") == 0) - { - curarg++; - if (curarg < argc) - { - ca_dir = argv[curarg]; - } - } - - else if (ACE_OS::strcasecmp (argv[curarg], - "-SSLrand") == 0) - { - curarg++; - if (curarg < argc) - { - rand_path = argv[curarg]; - } - } - } - - // Load some (more) entropy from the user specified sources - // in addition to what's pointed to by ACE_SSL_RAND_FILE_ENV - if (rand_path != 0) - { - short errors = 0; - char *file_name = 0; - const char *path = ACE_OS::strtok_r (rand_path, - TAO_PATH_SEPARATOR_STRING, - &file_name); - while ( path != 0) - { - if( -1 == ssl_ctx->seed_file (path, -1)) - { - errors++; - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Failed to load ") - ACE_TEXT ("more entropy from <%s>: %m\n"), path)); - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Loaded ") - ACE_TEXT ("more entropy from <%s>\n"), path)); - } - - path = ACE_OS::strtok_r (0, TAO_PATH_SEPARATOR_STRING, &file_name); - } - - if (errors > 0) - return -1; - } - - // Load any trusted certificates explicitely rather than relying on - // previously set SSL_CERT_FILE and/or SSL_CERT_PATH environment variable - if (ca_file != 0 || ca_dir != 0) - { - if (ssl_ctx->load_trusted_ca (ca_file, ca_dir) != 0) - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("TAO (%P|%t) Unable to load ") - ACE_TEXT ("CA certs from %s%s%s\n"), - ((ca_file != 0) ? ca_file : ACE_TEXT ("a file pointed to by ") - ACE_TEXT (ACE_SSL_CERT_FILE_ENV) - ACE_TEXT (" env var (if any)")), - ACE_TEXT (" and "), - ((ca_dir != 0) ? ca_dir : ACE_TEXT ("a directory pointed to by ") - ACE_TEXT (ACE_SSL_CERT_DIR_ENV) - ACE_TEXT (" env var (if any)")))); - - return -1; - } - else - { - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_INFO, - ACE_TEXT ("TAO (%P|%t) SSLIOP loaded ") - ACE_TEXT ("Trusted Certificates from %s%s%s\n"), - ((ca_file != 0) ? ca_file : ACE_TEXT ("a file pointed to by ") - ACE_TEXT (ACE_SSL_CERT_FILE_ENV) - ACE_TEXT (" env var (if any)")), - ACE_TEXT (" and "), - ((ca_dir != 0) ? ca_dir : ACE_TEXT ("a directory pointed to by ") - ACE_TEXT (ACE_SSL_CERT_DIR_ENV) - ACE_TEXT (" env var (if any)")))); - } - } - - // 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>\n"), - 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 problems ") - 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 ("TAO (%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 ("TAO (%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 ("TAO (%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 ("TAO (%P|%t) SSLIOP loaded ") - ACE_TEXT ("Private Key ") - ACE_TEXT ("from %s\n"), - private_key_path)); - } - } - - if (this->register_orb_initializer (csiv2_target_supports, - csiv2_target_requires) != 0) - return -1; - - if (prevdebug != -1) - TAO_debug_level = prevdebug; - - return 0; -} - -int -TAO::SSLIOP::Protocol_Factory::register_orb_initializer ( - CSIIOP::AssociationOptions csiv2_target_supports, - CSIIOP::AssociationOptions csiv2_target_requires) -{ - 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::VMCID, - 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_, - csiv2_target_supports, - csiv2_target_requires), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - 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; - ACE_CHECK_RETURN (-1); - - 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; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -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 169e12b7bf2..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h +++ /dev/null @@ -1,141 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Factory.h - * - * $Id$ - * - * SSLIOP implementation of PP Framework Protocol_Factory interface. - * - * @author Carlos O'Ryan - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_FACTORY_H -#define TAO_SSLIOP_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityC.h" -#include "orbsvcs/CSIIOPC.h" - -#include "tao/Protocol_Factory.h" - -#include "ace/Service_Config.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Acceptor; -class TAO_Connector; - -namespace TAO -{ - namespace SSLIOP - { - - /** - * @class 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 Protocol_Factory - : public TAO_Protocol_Factory - { - public: - - /// Constructor. - Protocol_Factory (void); - - /// Destructor. - virtual ~Protocol_Factory (void); - - // = Service Configurator hooks. - /// Dynamic linking hook - virtual int init (int argc, char* argv[]); - - /// Verify prefix is a match - virtual int match_prefix (const ACE_CString & prefix); - - /// Returns the prefix used by the protocol. - virtual const char * prefix (void) const; - - /// Return the character used to mark where an endpoint ends and - /// where its options begin. - virtual char options_delimiter (void) const; - - // = 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: - - /// Parse an X509 file path, which is expected to looks like: - /// ::= ':' - /// ::= 'PEM' | 'ASN1' - /// ::= any-string - /// Returns either SSL_FILETYPE_ASN1, SSL_FILETYPE_PEM or -1 - /// if the prefix can not be recognized. The *path will point - /// to the part of the original buffer, after the initial ':', - /// or will contain 0, if no path was specified. - /// - /// Beware: This function modifies the buffer pointed to by arg! - /// - static int parse_x509_file (char *arg, char **path); - - /// Create and register the SSLIOP ORB initializer. - int register_orb_initializer ( - CSIIOP::AssociationOptions csiv2_target_supports, - CSIIOP::AssociationOptions csiv2_target_requires); - - private: - - /// Default quality-of-protection settings for the SSLIOP - /// pluggable protocol. - ::Security::QOP qop_; - - /// The accept() timeout. - /** - * This timeout includes the overall time to complete the SSL - * handshake. This includes both the TCP handshake and the SSL - * handshake. - */ - ACE_Time_Value timeout_; - - /// The SSLIOP-specific CSIv2 transport mechanism component. - /** - * This SSLIOP-specific structure is embedded in the CSIv2 transport - * mechanism list of the @c CSIIOP::CompoundSecMechList IOR tagged - * component. - */ - // CSIIOP::TLS_SEC_TRANS * csiv2_component_; - - }; - } // End SSLIOP namespace. -} // End TAO namespace. - -// Work around preprocessor tokenization. -typedef TAO::SSLIOP::Protocol_Factory TAO_SSLIOP_Protocol_Factory; - -TAO_END_VERSIONED_NAMESPACE_DECL - -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/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp deleted file mode 100644 index 5e90c389e80..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp +++ /dev/null @@ -1,175 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h" - -#include "orbsvcs/SecurityLevel2C.h" - -#include "tao/ORB_Constants.h" -#include "tao/PortableServer/PS_CurrentC.h" -#include "tao/debug.h" - -#if defined(SSLIOP_DEBUG_PEER_CERTIFICATE) -#include // @@ For debugging code below -#endif /* DEBUG_PEER_CERTIFICATES */ - -ACE_RCSID (SSLIOP, - SSLIOP_Invocation_Interceptor, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Server_Invocation_Interceptor::Server_Invocation_Interceptor ( - ::SSLIOP::Current_ptr current, - ::Security::QOP qop) - : ssliop_current_ (::SSLIOP::Current::_duplicate (current)), - qop_ (qop) -{ -} - -TAO::SSLIOP::Server_Invocation_Interceptor::~Server_Invocation_Interceptor ( - void) -{ -} - -char * -TAO::SSLIOP::Server_Invocation_Interceptor::name ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CORBA::string_dup ("TAO::SSLIOP::Server_Invocation_Interceptor"); -} - -void -TAO::SSLIOP::Server_Invocation_Interceptor::destroy ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - - -void -TAO::SSLIOP::Server_Invocation_Interceptor::receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr /*ri*/ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ - // The current upcall is not being performed through an SSL - // connection. If server is configured to disallow insecure - // invocations then throw a CORBA::NO_PERMISSION exception. - // @@ TODO: Once the SecurityManager is implemented, query it - // for the current object's - // SecureInvocationPolicy of type - // SecTargetSecureInvocationPolicy so that we can - // accept or reject requests on a per-object basis - // instead on a per-endpoint basis. - CORBA::Boolean const no_ssl = - this->ssliop_current_->no_context (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (TAO_debug_level >= 3) - ACE_DEBUG ((LM_DEBUG, "SSLIOP (%P|%t) Interceptor (context), ssl=%d\n", !(no_ssl))); - - if (no_ssl && this->qop_ != ::Security::SecQOPNoProtection) - ACE_THROW (CORBA::NO_PERMISSION ()); - -#if defined(DEBUG_PEER_CERTIFICATES) - ACE_TRY - { - // If the request was not made through an SSL connection, then - // this method will throw the SSLIOP::Current::NoContext - // exception. Otherwise, it will return a DER encoded X509 - // certificate. - ::SSLIOP::ASN_1_Cert_var cert = - this->ssliop_current_->get_peer_certificate ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - // @@ The following debugging code works but I don't think that - // we should include it since it dumps alot of information, - // i.e. prints two lines of information per request. - if (TAO_debug_level > 1) - { - CORBA::Octet *der_cert = cert->get_buffer (); - - X509 *peer = ::d2i_X509 (0, &der_cert, cert->length ()); - if (peer != 0) - { - char buf[BUFSIZ] = { 0 }; - - ::X509_NAME_oneline (::X509_get_subject_name (peer), - buf, - BUFSIZ); - - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Certificate subject: %s\n", - buf)); - - ::X509_NAME_oneline (::X509_get_issuer_name (peer), - buf, - BUFSIZ); - - ACE_DEBUG ((LM_DEBUG, - "(%P|%t) Certificate issuer: %s\n", - buf)); - - - ::X509_free (peer); - } - } - } - ACE_CATCH (::SSLIOP::Current::NoContext, exc) - { - // The current upcall is not being performed through an SSL - // connection. If server is configured to disallow insecure - // invocations then throw a CORBA::NO_PERMISSION exception. - // @@ TODO: Once the SecurityManager is implemented, query it - // for the current object's - // SecureInvocationPolicy of type - // SecTargetSecureInvocationPolicy so that we can - // accept or reject requests on a per-object basis - // instead on a per-endpoint basis. - if (this->qop_ != ::Security::SecQOPNoProtection) - ACE_THROW (CORBA::NO_PERMISSION ()); - } - ACE_ENDTRY; - ACE_CHECK; -#endif /* DEBUG_PEER_CERTIFICATES */ -} - - -void -TAO::SSLIOP::Server_Invocation_Interceptor::receive_request ( - PortableInterceptor::ServerRequestInfo_ptr /* ri */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -TAO::SSLIOP::Server_Invocation_Interceptor::send_reply ( - PortableInterceptor::ServerRequestInfo_ptr /* ri */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -void -TAO::SSLIOP::Server_Invocation_Interceptor::send_exception ( - PortableInterceptor::ServerRequestInfo_ptr /* ri */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -void -TAO::SSLIOP::Server_Invocation_Interceptor::send_other ( - PortableInterceptor::ServerRequestInfo_ptr /* ri */ - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h deleted file mode 100644 index 9ab7aaffad1..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h +++ /dev/null @@ -1,148 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SSLIOP_Invocation_Interceptor.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - -#ifndef TAO_SSLIOP_INVOCATION_INTERCEPTOR_H -#define TAO_SSLIOP_INVOCATION_INTERCEPTOR_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOPC.h" -#include "tao/PortableInterceptorC.h" -#include "tao/PI_Server/PI_Server.h" -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined (_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - /** - * @class Server_Invocation_Interceptor - * - * @brief Secure invocation server request interceptor. - * - * This server request interceptor rejects insecure request - * invocations if the effective target object policy requires - * secure invocations. - */ - class Server_Invocation_Interceptor - : public virtual PortableInterceptor::ServerRequestInterceptor, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor. - Server_Invocation_Interceptor (::SSLIOP::Current_ptr current, - ::Security::QOP qop); - - /** - * @name PortableInterceptor::ServerRequestInterceptor Methods - * - * Methods required by the - * PortableInterceptor::ServerRequestInterceptor interface. - */ - //@{ - virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void receive_request_service_contexts ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void receive_request ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_reply ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void send_exception ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - - virtual void send_other ( - PortableInterceptor::ServerRequestInfo_ptr ri - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - PortableInterceptor::ForwardRequest)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to force deallocation by the reference - * counting mechanism. - */ - ~Server_Invocation_Interceptor (void); - - private: - - /** - * @name Copying and Assignment - * - * Protected to prevent copying through the copy constructor and the - * assignment operator. - */ - //@{ - Server_Invocation_Interceptor (const Server_Invocation_Interceptor &); - void operator= (const Server_Invocation_Interceptor &); - //@} - - private: - - /// Reference to the current SSLIOP execution context. - ::SSLIOP::Current_var ssliop_current_; - - /// The default quality-of-protection settings in use. - ::Security::QOP qop_; - - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_INVOCATION_INTERCEPTOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp deleted file mode 100644 index 6f36fa774c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp +++ /dev/null @@ -1,248 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_ORBInitializer, - "$Id$") - - -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" -#include "orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h" -//#include "SSLIOP_IORInterceptor.h" -#include "orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h" - -#include "orbsvcs/Security/SL3_SecurityCurrent.h" -#include "orbsvcs/Security/SL3_CredentialsCurator.h" - -#include "orbsvcs/SSLIOPC.h" -#include "orbsvcs/CSIIOPC.h" - -#include "tao/Exception.h" -#include "tao/PI/ORBInitInfo.h" -#include "tao/debug.h" - -#include "ace/Auto_Ptr.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::ORBInitializer::ORBInitializer ( - ::Security::QOP qop, - CSIIOP::AssociationOptions csiv2_target_supports, - CSIIOP::AssociationOptions csiv2_target_requires) - : qop_ (qop), - csiv2_target_supports_ (csiv2_target_supports), - csiv2_target_requires_ (csiv2_target_requires) -{ -} - -void -TAO::SSLIOP::ORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_ORBInitInfo_var tao_info = - TAO_ORBInitInfo::_narrow (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (tao_info.in ())) - ACE_THROW (CORBA::INV_OBJREF ()); - - // SSLIOP doesn't use the ORB Core until a request invocation occurs - // so there is no problem in retrieving the ORB Core pointer in this - // pre_init() method. - TAO_ORB_Core *orb_core = tao_info->orb_core (); - - // Create the SSLIOP::Current object. - // Note that a new SSLIOP::Current object is created for each ORB. - // It wouldn't be very useful to share security context information - // with another ORB that isn't configured with security, for - // example. - SSLIOP::Current_ptr current; - ACE_NEW_THROW_EX (current, - TAO::SSLIOP::Current (orb_core), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - SSLIOP::Current_var ssliop_current = current; - - // Register the SSLIOP::Current object reference with the ORB. - info->register_initial_reference ("SSLIOPCurrent", - ssliop_current.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO::SSLIOP::ORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Note we do not store the SSLIOP::Current as a class member since - // we need to avoid potential problems where the same - // SSLIOP::Current object is shared between ORBs. Each ORB should - // have its own unique SSLIOP::Current object. By obtaining the - // SSLIOP::Current object from the resolve_initial_references() - // mechanism, we are guaranteed that the SSLIOP::Current object is - // specific to the ORB being initialized since a new SSLIOP::Current - // object is registered for each ORB in this ORBInitializer's - // pre_init() method. - - CORBA::Object_var obj = - info->resolve_initial_references ("SSLIOPCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - SSLIOP::Current_var ssliop_current = - SSLIOP::Current::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (!CORBA::is_nil (ssliop_current.in ())) - { - TAO::SSLIOP::Current *tao_current = - dynamic_cast (ssliop_current.in ()); - - if (tao_current != 0) - { - const size_t slot = - this->get_tss_slot_id (info ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - tao_current->tss_slot (slot); - } - else - ACE_THROW (CORBA::INTERNAL ()); - } - - // Create the SSLIOP secure invocation server request interceptor. - PortableInterceptor::ServerRequestInterceptor_ptr si = - PortableInterceptor::ServerRequestInterceptor::_nil (); - ACE_NEW_THROW_EX (si, - TAO::SSLIOP::Server_Invocation_Interceptor ( - ssliop_current.in (), - this->qop_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - PortableInterceptor::ServerRequestInterceptor_var si_interceptor = - si; - - // Register the SSLIOP secure invocation server request interceptor - // with the ORB. - info->add_server_request_interceptor (si_interceptor.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -// TAO_ORBInitInfo_var tao_info = -// TAO_ORBInitInfo::_narrow (info -// ACE_ENV_ARG_PARAMETER); -// ACE_CHECK; - -// if (CORBA::is_nil (tao_info.in ())) -// ACE_THROW (CORBA::INV_OBJREF ()); - -// TAO_ORB_Core * orb_core = tao_info->orb_core (); - -// // Create the SSLIOP IOR interceptor. -// PortableInterceptor::IORInterceptor_ptr ii = -// PortableInterceptor::IORInterceptor::_nil (); -// ACE_NEW_THROW_EX (ii, -// TAO::SSLIOP::IORInterceptor (orb_core, -// this->csiv2_target_supports_, -// this->csiv2_target_requires_), -// CORBA::NO_MEMORY ( -// CORBA::SystemException::_tao_minor_code ( -// TAO::VMCID, -// ENOMEM), -// CORBA::COMPLETED_NO)); -// ACE_CHECK; - -// PortableInterceptor::IORInterceptor_var ior_interceptor = -// ii; - -// // Register the SSLIOP IORInterceptor. -// info->add_ior_interceptor (ior_interceptor.in () -// ACE_ENV_ARG_PARAMETER); -// ACE_CHECK; - - // Register the SSLIOP-specific vault with the - // PrincipalAuthenticator. - obj = info->resolve_initial_references ("SecurityLevel3:SecurityManager" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - SecurityLevel3::SecurityManager_var manager = - SecurityLevel3::SecurityManager::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - SecurityLevel3::CredentialsCurator_var curator = - manager->credentials_curator (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - TAO::SL3::CredentialsCurator_var tao_curator = - TAO::SL3::CredentialsCurator::_narrow (curator.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - TAO::SSLIOP::CredentialsAcquirerFactory * factory; - ACE_NEW_THROW_EX (factory, - TAO::SSLIOP::CredentialsAcquirerFactory, - CORBA::NO_MEMORY ()); - ACE_CHECK; - - auto_ptr safe_factory; - - tao_curator->register_acquirer_factory ("SL3TLS", - factory - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - (void) safe_factory.release (); // CredentialsCurator now owns - // CredentialsAcquirerFactory. -} - -size_t -TAO::SSLIOP::ORBInitializer::get_tss_slot_id ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) -{ - // Obtain the Security Service TSS slot ID from the SecurityCurrent - // object. - CORBA::Object_var obj = - info->resolve_initial_references ("SecurityLevel3:SecurityCurrent" - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - SecurityLevel3::SecurityCurrent_var current = - SecurityLevel3::SecurityCurrent::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - TAO::SL3::SecurityCurrent * security_current = - dynamic_cast (current.in ()); - - if (security_current == 0) - { - ACE_DEBUG ((LM_DEBUG, - "Unable to obtain TSS slot ID from " - "\"SecurityCurrent\" object.\n")); - - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - } - - return security_current->tss_slot (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h deleted file mode 100644 index 905b526d000..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_ORBInitializer.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_ORB_INITIALIZER_H -#define TAO_SSLIOP_ORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/CSIIOPC.h" -#include "orbsvcs/SecurityC.h" - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - - /** - * @name ORBInitializer - * - * @brief - * ORB initializer that registers all SSLIOP-specific interceptors and - * object references. - */ - class ORBInitializer - : public virtual PortableInterceptor::ORBInitializer, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor. - ORBInitializer (::Security::QOP qop, - CSIIOP::AssociationOptions csiv2_target_supports, - CSIIOP::AssociationOptions csiv2_target_requires); - - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - - // Obtain the TSS slot ID assigned to the "SSLIOPCurrent" object. - size_t get_tss_slot_id (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL); - - private: - - /// The default quality-of-protection settings in use. - ::Security::QOP qop_; - - /// Default support CSIv2 association options. - CSIIOP::AssociationOptions csiv2_target_supports_; - - /// Default required CSIv2 association options. - CSIIOP::AssociationOptions csiv2_target_requires_; - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp deleted file mode 100644 index f20eb554f4c..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// $Id$ - -#ifndef TAO_SSLIOP_OPENSSL_ST_T_CPP -#define TAO_SSLIOP_OPENSSL_ST_T_CPP - -#include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl" -#endif /* !__ACE_INLINE__ */ - -#endif /* TAO_SSLIOP_OPENSSL_ST_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h deleted file mode 100644 index 1fee4c1504b..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h +++ /dev/null @@ -1,139 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_OpenSSL_st_T.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_OPENSSL_ST_T_H -#define TAO_SSLIOP_OPENSSL_ST_T_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - /** - * @struct OpenSSL_traits - * - * @brief Template traits structure for OpenSSL data structures. - * - * Template traits structure containing constants and functions - * specific to a given OpenSSL data structure. - */ - template - struct OpenSSL_traits; - - /** - * @name CORBA-style Reference Count Manipulation Methods - * - * These reference count manipulation methods are generally - * specific to OpenSSL structures. - */ - /// Increase the reference count on the given OpenSSL structure. - template - T * _duplicate (T * st); - - /// Deep copy the given OpenSSL structure. - template - T * copy (T const & st); - - /// Decrease the reference count on the given OpenSSL structure. - template - void release (T * st); - - /** - * @class OpenSSL_st_var - * - * @brief "_var" class for the OpenSSL @param T structure. - * - * This class is simply used to make operations on instances of - * the OpenSSL @c T structure exception safe. It is only used - * internally by the SSLIOP pluggable transport. - */ - template - class OpenSSL_st_var - { - public: - - /** - * @name Constructors - * - * Constructors. - */ - //@{ - OpenSSL_st_var (void); - OpenSSL_st_var (T * st); - OpenSSL_st_var (OpenSSL_st_var const & v); - OpenSSL_st_var (T const & st); - //@} - - /// Destructor - ~OpenSSL_st_var (void); - - /** - * @name Assignment operators. - * - * Assignment operators. - */ - //@{ - OpenSSL_st_var & operator= (T* st); - OpenSSL_st_var & operator= (OpenSSL_st_var const & v); - OpenSSL_st_var & operator= (T const & st); - //@} - - T const * operator-> (void) const; - T* operator-> (void); - - operator const T& () const; - operator T& (); - - T* in (void) const; - T*& inout (void); - T*& out (void); - T* _retn (void); - T* ptr (void) const; - - private: - - /// The OpenSSL structure whose reference count is managed. - T * st_; - - }; - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined (__ACE_INLINE__) -#include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -# include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -# pragma implementation ("SSLIOP_OpenSSL_st_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_OPENSSL_ST_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl deleted file mode 100644 index 0233a73fc01..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl +++ /dev/null @@ -1,165 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -#include - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template ACE_INLINE T * -TAO::SSLIOP::_duplicate (T * st) -{ - // Shallow copy. - - // OpenSSL provides no structure-specific functions to increase the - // reference count on the structure it defines, so we do it - // manually. - if (st != 0) - CRYPTO_add (&(st->references), - 1, - TAO::SSLIOP::OpenSSL_traits::LOCK_ID); - - return st; -} - -template ACE_INLINE T * -TAO::SSLIOP::copy (T const & st) -{ - // Deep copy. - return TAO::SSLIOP::OpenSSL_traits::copy (st); -} - -template ACE_INLINE void -TAO::SSLIOP::release (T * st) -{ - TAO::SSLIOP::OpenSSL_traits::release (st); -} - -// ------------------------------------------------------------------- - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::OpenSSL_st_var (void) - : st_ (0) -{ -} - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::OpenSSL_st_var (T * st) - : st_ (st) -{ -} - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::OpenSSL_st_var ( - TAO::SSLIOP::OpenSSL_st_var const & st) - : st_ (TAO::SSLIOP::OpenSSL_traits::_duplicate (st.ptr ())) -{ -} - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::OpenSSL_st_var (T const & st) - : st_ (TAO::SSLIOP::OpenSSL_traits::copy (st)) -{ -} - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::~OpenSSL_st_var (void) -{ - TAO::SSLIOP::OpenSSL_traits::release (this->st_); - // TAO::SSLIOP::release (this->st_); -} - -template ACE_INLINE TAO::SSLIOP::OpenSSL_st_var & -TAO::SSLIOP::OpenSSL_st_var::operator= (T * st) -{ - TAO::SSLIOP::OpenSSL_traits::release (this->st_); - this->st_ = st; - return *this; -} - -template ACE_INLINE TAO::SSLIOP::OpenSSL_st_var & -TAO::SSLIOP::OpenSSL_st_var::operator= ( - TAO::SSLIOP::OpenSSL_st_var const & st) -{ - if (this != &st) - { - TAO::SSLIOP::OpenSSL_traits::release (this->st_); - this->st_ = TAO::SSLIOP::OpenSSL_traits::_duplicate (st.ptr ()); - } - - return *this; -} - -template ACE_INLINE TAO::SSLIOP::OpenSSL_st_var & -TAO::SSLIOP::OpenSSL_st_var::operator= (T const & st) -{ - if (this->st_ != &st) - { - TAO::SSLIOP::OpenSSL_traits::release (this->st_); - this->st_ = TAO::SSLIOP::OpenSSL_traits::copy (st); - } - - return *this; -} - -template ACE_INLINE T const * -TAO::SSLIOP::OpenSSL_st_var::operator-> (void) const -{ - return this->st_; -} - -template ACE_INLINE T * -TAO::SSLIOP::OpenSSL_st_var::operator-> (void) -{ - return this->st_; -} - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::operator T const &() const -{ - return *this->st_; -} - -template ACE_INLINE -TAO::SSLIOP::OpenSSL_st_var::operator T &() -{ - return *this->st_; -} - -template ACE_INLINE T * -TAO::SSLIOP::OpenSSL_st_var::in (void) const -{ - return this->st_; -} - -template ACE_INLINE T *& -TAO::SSLIOP::OpenSSL_st_var::inout (void) -{ - return this->st_; -} - -template ACE_INLINE T *& -TAO::SSLIOP::OpenSSL_st_var::out (void) -{ - TAO::SSLIOP::OpenSSL_traits::release (this->st_); - this->st_ = 0; - return this->st_; -} - -template ACE_INLINE T * -TAO::SSLIOP::OpenSSL_st_var::_retn (void) -{ - // Yield ownership of the OpenSSL structure. - T * st = this->st_; - this->st_ = 0; - return st; -} - -template ACE_INLINE T * -TAO::SSLIOP::OpenSSL_st_var::ptr (void) const -{ - return this->st_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp deleted file mode 100644 index 7d90833fff5..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp +++ /dev/null @@ -1,77 +0,0 @@ -// $Id$ - -#include "orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_OwnCredentials, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::OwnCredentials::OwnCredentials (X509 *cert, EVP_PKEY *evp) - : SSLIOP_Credentials (cert, evp) -{ -} - -TAO::SSLIOP::OwnCredentials::~OwnCredentials (void) -{ -} - -TAO::SSLIOP::OwnCredentials_ptr -TAO::SSLIOP::OwnCredentials::_duplicate (TAO::SSLIOP::OwnCredentials_ptr obj) -{ - if (!CORBA::is_nil (obj)) - obj->_add_ref (); - - return obj; -} - -TAO::SSLIOP::OwnCredentials_ptr -TAO::SSLIOP::OwnCredentials::_narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL_NOT_USED) -{ - return TAO::SSLIOP::OwnCredentials::_duplicate ( - dynamic_cast (obj)); -} - -TAO::SSLIOP::OwnCredentials_ptr -TAO::SSLIOP::OwnCredentials::_nil (void) -{ - return (OwnCredentials *) 0; - -} - -SecurityLevel3::CredentialsType -TAO::SSLIOP::OwnCredentials::creds_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return SecurityLevel3::CT_OwnCredentials; -} - -SecurityLevel3::CredsInitiator_ptr -TAO::SSLIOP::OwnCredentials::creds_initiator (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - SecurityLevel3::CredsInitiator::_nil ()); -} - -SecurityLevel3::CredsAcceptor_ptr -TAO::SSLIOP::OwnCredentials::creds_acceptor (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - SecurityLevel3::CredsAcceptor::_nil ()); -} - -void -TAO::SSLIOP::OwnCredentials::release_credentials ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->creds_state_ = SecurityLevel3::CS_PendingRelease; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h deleted file mode 100644 index 8376cda69dc..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h +++ /dev/null @@ -1,121 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_OwnCredentials.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_OWN_CREDENTIALS_H -#define TAO_SSLIOP_OWN_CREDENTIALS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Credentials.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - class OwnCredentials; - typedef OwnCredentials* OwnCredentials_ptr; - typedef TAO_Pseudo_Var_T OwnCredentials_var; - typedef TAO_Pseudo_Out_T OwnCredentials_out; - - /** - * @class OwnCredentials - * - * @brief Credentials representing our identity, not our peer's - * identity. - * - * @c OwnCredentials are a representation of our identity, not our - * peer's identity. - */ - class OwnCredentials - : public virtual SecurityLevel3::OwnCredentials, - public virtual SSLIOP_Credentials - { - public: - typedef OwnCredentials_ptr _ptr_type; - typedef OwnCredentials_var _var_type; - typedef OwnCredentials_out _out_type; - - /// Constructor - OwnCredentials (::X509 *cert, ::EVP_PKEY *evp); - - static OwnCredentials_ptr _duplicate (OwnCredentials_ptr obj); - static OwnCredentials_ptr _nil (void); - static OwnCredentials_ptr _narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - /** - * @name SecurityLevel3::TargetCredentials Methods - * - * Methods required by the SecurityLevel3::Credentials - * interface. - */ - //@{ - SecurityLevel3::CredentialsType creds_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /** - * @name SecurityLevel3::OwnCredentials Methods - * - * Methods required by the SecurityLevel3::OwnCredentials - * interface. - */ - //@{ - virtual SecurityLevel3::CredsInitiator_ptr creds_initiator ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::CredsAcceptor_ptr creds_acceptor ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void release_credentials (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~OwnCredentials (void); - }; - - } // End SSLIOP namespace -} // End TAO namespace - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_OWN_CREDENTIALS_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp deleted file mode 100644 index f9c084779cd..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp +++ /dev/null @@ -1,357 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Profile.h" -#include "orbsvcs/SSLIOP/ssl_endpointsC.h" -#include "tao/CDR.h" -#include "tao/Environment.h" -#include "ace/OS_NS_string.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_Profile, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_SSLIOP_Profile::TAO_SSLIOP_Profile (const ACE_INET_Addr & addr, - const TAO::ObjectKey & object_key, - const TAO_GIOP_Message_Version & version, - TAO_ORB_Core * orb_core, - const ::SSLIOP::SSL * ssl_component) - : TAO_IIOP_Profile (addr, - object_key, - version, - orb_core), - ssl_endpoint_ (ssl_component, 0), - ssl_only_ (0) -{ - this->ssl_endpoint_.iiop_endpoint (&this->endpoint_, true); -} - -TAO_SSLIOP_Profile::TAO_SSLIOP_Profile (const char * host, - CORBA::UShort port, - const TAO::ObjectKey & object_key, - const ACE_INET_Addr & addr, - const TAO_GIOP_Message_Version & version, - TAO_ORB_Core * orb_core, - const ::SSLIOP::SSL * ssl_component) - : TAO_IIOP_Profile (host, - port, - object_key, - addr, - version, - orb_core), - ssl_endpoint_ (ssl_component, 0), - ssl_only_ (0) -{ - this->ssl_endpoint_.iiop_endpoint (&this->endpoint_, true); -} - -TAO_SSLIOP_Profile::TAO_SSLIOP_Profile (TAO_ORB_Core * orb_core, - const ::SSLIOP::SSL * ssl_component) - : TAO_IIOP_Profile (orb_core), - ssl_endpoint_ (ssl_component, 0), - ssl_only_ (0) -{ - this->ssl_endpoint_.iiop_endpoint (&this->endpoint_, true); -} - -TAO_SSLIOP_Profile::TAO_SSLIOP_Profile (TAO_ORB_Core * orb_core, int ssl_only) - : TAO_IIOP_Profile (orb_core), - ssl_endpoint_ (0, 0), - ssl_only_ (ssl_only) -{ - this->ssl_endpoint_.iiop_endpoint (&this->endpoint_, true); -} - -TAO_SSLIOP_Profile::~TAO_SSLIOP_Profile (void) -{ - // Clean up the list of endpoints since we own it. - // Skip the head, since it is not dynamically allocated. - TAO_Endpoint *tmp = 0; - - for (TAO_Endpoint *next = this->ssl_endpoint_.next (); - next != 0; - next = tmp) - { - tmp = next->next (); - delete next; - } -} - -// return codes: -// -1 -> error -// 0 -> can't understand this version -// 1 -> success. -int -TAO_SSLIOP_Profile::decode (TAO_InputCDR & cdr) -{ - int r = this->TAO_IIOP_Profile::decode (cdr); - if (r != 1) - return r; - - // Attempt to decode SSLIOP::SSL tagged component. It may not be - // there if we are dealing with pure IIOP profile. - int ssl_component_found = 0; - IOP::TaggedComponent component; - component.tag = ::SSLIOP::TAG_SSL_SEC_TRANS; - - if (this->tagged_components ().get_component (component)) - { - TAO_InputCDR cdr (reinterpret_cast ( - component.component_data.get_buffer ()), - component.component_data.length ()); - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - cdr.reset_byte_order (static_cast (byte_order)); - - if (cdr >> this->ssl_endpoint_.ssl_component_) - ssl_component_found = 1; - else - return -1; - } - - // Since IIOP portion of the profile has already been decoded, we - // know how many endpoints it should contain and can finish - // initialization accordingly. - if (this->count_ < 2) - { - // This profile contains only one endpoint. Finish initializing - // it. - this->ssl_endpoint_.iiop_endpoint (&this->endpoint_, true); - this->ssl_endpoint_.priority (this->endpoint_.priority ()); - return 1; - } - else - { - // This profile contains more than one endpoint. - if (ssl_component_found) - { - // It is true ssl profile, i.e., not just IIOP, so must have - // ssl endpoints encoded. - - if (this->decode_tagged_endpoints () == -1) - return -1; - - return 1; - } - else - { - // IIOP profile - doesn't have ssl endpoints encoded. We - // must create 'dummy' ssl endpoint list anyways, in order to - // make iiop endpoints accessable and usable. - for (size_t i = 0; - i < this->count_; - ++i) - { - TAO_SSLIOP_Endpoint *endpoint = 0; - ACE_NEW_RETURN (endpoint, - TAO_SSLIOP_Endpoint (0, 0), - -1); - this->add_endpoint (endpoint); - } - - // Now that we have a complete list of ssl endpoins, we can - // connect them with their iiop counterparts. - TAO_IIOP_Endpoint *iiop_endp = &this->endpoint_; - - for (TAO_SSLIOP_Endpoint * ssl_endp = &this->ssl_endpoint_; - ssl_endp != 0; - ssl_endp = ssl_endp->next_) - { - ssl_endp->iiop_endpoint (iiop_endp, true); - ssl_endp->priority (iiop_endp->priority ()); - iiop_endp = iiop_endp->next_; - } - - return 1; - } - } -} - -CORBA::Boolean -TAO_SSLIOP_Profile::do_is_equivalent (const TAO_Profile * other_profile) -{ - const TAO_SSLIOP_Profile *op = - dynamic_cast (other_profile); - - // Make sure we have a TAO_SSLIOP_Profile. - if (op == 0) - return 0; - - // Now verify TAO_SSLIOP_Endpoint equivalence. - const TAO_SSLIOP_Endpoint *other_endp = &op->ssl_endpoint_; - for (TAO_SSLIOP_Endpoint *endp = &this->ssl_endpoint_; - endp != 0; - endp = endp->next_) - { - if (endp->is_equivalent (other_endp)) - other_endp = other_endp->next_; - else - return 0; - } - - return 1; -} - -TAO_Endpoint* -TAO_SSLIOP_Profile::endpoint (void) -{ - return &this->ssl_endpoint_; -} - -void -TAO_SSLIOP_Profile::add_endpoint (TAO_SSLIOP_Endpoint * endp) -{ - endp->next_ = this->ssl_endpoint_.next_; - this->ssl_endpoint_.next_ = endp; - - // We do not want to add our IIOP endpoint counterpart when we are - // decoding a profile, and IIOP endpoints have been added before we - // even get to SSLIOP-specific decoding. - if (endp->iiop_endpoint () != 0) - this->TAO_IIOP_Profile::add_endpoint (endp->iiop_endpoint ()); -} - -int -TAO_SSLIOP_Profile::encode_endpoints (void) -{ - // If we have more than one endpoint, we encode info about others - // into a tagged component for wire transfer. - if (this->count_ > 1) - { - // Encode all endpoints except the first one, since it is always - // transferred through standard profile component. - - // Create a data structure and fill it with endpoint info for wire - // transfer. - TAO_SSLEndpointSequence endpoints; - endpoints.length (this->count_ - 1); - - const TAO_SSLIOP_Endpoint *endpoint = this->ssl_endpoint_.next_; - for (size_t i = 0; - i < this->count_ - 1; - ++i) - { - endpoints[i] = endpoint->ssl_component (); - endpoint = endpoint->next_; - } - - // Encode the data structure. - TAO_OutputCDR out_cdr; - if ((out_cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER) - == 0) - || (out_cdr << endpoints) == 0) - return -1; - - const CORBA::ULong length = out_cdr.total_length (); - - IOP::TaggedComponent tagged_component; - tagged_component.tag = TAO::TAG_SSL_ENDPOINTS; - tagged_component.component_data.length (length); - CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - for (const ACE_Message_Block *iterator = out_cdr.begin (); - iterator != 0; - iterator = iterator->cont ()) - { - CORBA::ULong i_length = iterator->length (); - ACE_OS::memcpy (buf, iterator->rd_ptr (), i_length); - - buf += i_length; - } - - // Add component with encoded endpoint data to this profile's - // TaggedComponents. - tagged_components_.set_component (tagged_component); - } - - return this->TAO_IIOP_Profile::encode_endpoints (); -} - -int -TAO_SSLIOP_Profile::decode_tagged_endpoints (void) -{ - IOP::TaggedComponent tagged_component; - tagged_component.tag = TAO::TAG_SSL_ENDPOINTS; - - if (this->tagged_components_.get_component (tagged_component)) - { - const CORBA::Octet *buf = - tagged_component.component_data.get_buffer (); - - TAO_InputCDR in_cdr (reinterpret_cast (buf), - tagged_component.component_data.length ()); - - // Extract the Byte Order. - CORBA::Boolean byte_order; - if ((in_cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - in_cdr.reset_byte_order (static_cast (byte_order)); - - // Extract endpoints sequence. - TAO_SSLEndpointSequence endpoints; - if ((in_cdr >> endpoints) == 0) - return -1; - - // Use information extracted from the tagged component to - // populate the profile. Begin from the end of the sequence to - // preserve endpoint order, since method reverses - // the order of endpoints in the list. - for (CORBA::ULong i = endpoints.length () - 1; - (i + 1) != 0; - --i) - { - TAO_SSLIOP_Endpoint *endpoint = 0; - ACE_NEW_RETURN (endpoint, - TAO_SSLIOP_Endpoint (0, 0), - -1); - endpoint->ssl_component_ = endpoints[i]; - this->add_endpoint (endpoint); - } - - // Now that we have a complete list of ssl endpoins, we can - // connect them with their iiop counterparts, which have been - // extracted/chained during the IIOP profile decoding. - TAO_IIOP_Endpoint *iiop_endp = &this->endpoint_; - - for (TAO_SSLIOP_Endpoint * ssl_endp = &this->ssl_endpoint_; - ssl_endp != 0; - ssl_endp = ssl_endp->next_) - { - ssl_endp->iiop_endpoint (iiop_endp, true); - ssl_endp->priority (iiop_endp->priority ()); - iiop_endp = iiop_endp->next_; - } - - return 0; - } - - // Since this method is only called if we are expecting - // TAO_TAG_SSL_ENDPOINTS component, failure to find it is an error. - return -1; -} - -void -TAO_SSLIOP_Profile::parse_string (const char * ior - ACE_ENV_ARG_DECL) -{ - TAO_IIOP_Profile::parse_string (ior - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->ssl_endpoint_.iiop_endpoint (&this->endpoint_, true); - - if( ssl_only_) - { - this->ssl_endpoint_.ssl_component_.port = this->endpoint_.port_; - - // Note that the Security::NoProtection bit is cleared since we - // are sure the server supports SSL (we're told so) - ACE_CLR_BITS (this->ssl_endpoint_.ssl_component_.target_supports, - Security::NoProtection); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h deleted file mode 100644 index 849914f148d..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h +++ /dev/null @@ -1,179 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Profile.h - * - * $Id$ - * - * SSLIOP profile specific processing - * - * @author Carlos O'Ryan - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_PROFILE_H -#define TAO_SSLIOP_PROFILE_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Endpoint.h" -#include "tao/IIOP_Profile.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// namespace TAO -// { -// namespace SSLIOP -// { - - /** - * @class Profile - * - * @brief This class defines the protocol specific attributes - * required for locating ORBs over a TCP/IP network, using - * either IIOP or IIOP/SSL for communication. - * - * This class extends TAO_IIOP_Profile to support secure - * communication using SSL. - */ - class TAO_SSLIOP_Profile : public TAO_IIOP_Profile - { - public: - /// Profile constructor, same as above except the object_key has - /// already been marshaled. - TAO_SSLIOP_Profile (const ACE_INET_Addr & addr, - const TAO::ObjectKey & object_key, - const TAO_GIOP_Message_Version & version, - TAO_ORB_Core * orb_core, - const ::SSLIOP::SSL * ssl_component); - - /// Profile constructor, this is the most efficient since it - /// doesn't require any address resolution processing. - TAO_SSLIOP_Profile (const char *host, - CORBA::UShort port, - const TAO::ObjectKey & object_key, - const ACE_INET_Addr & addr, - const TAO_GIOP_Message_Version & version, - TAO_ORB_Core * orb_core, - const ::SSLIOP::SSL * ssl_component); - - /// Create profile with the given SSLIOP tagged component. - TAO_SSLIOP_Profile (TAO_ORB_Core * orb_core, - const ::SSLIOP::SSL * ssl_component); - - /// Profile constructor. ssl_only != 0 will force secure - /// connections, pnly. - TAO_SSLIOP_Profile (TAO_ORB_Core * orb_core, int ssl_only = 0); - - - // = Please see Profile.h for the documentation of these methods. - virtual int decode (TAO_InputCDR& cdr); - virtual int encode_endpoints (void); - virtual TAO_Endpoint *endpoint (void); - - /** - * Override parse_string() from the base class to update the SSL - * endpoint's iiop endpoint once the base class has completed - * parsing the string. - *@par - * Initialize this object using the given input string. - * URL-style string contain only one endpoint. - */ - virtual void parse_string (const char * string - ACE_ENV_ARG_DECL); - - /** - * Add @a endp to this profile's list of endpoints (it is - * inserted next to the head of the list). This profiles takes - * ownership of @a endp. If @a endp's @c iiop_endpoint_ member - * is not 0, it is added to our parent's class endpoint list. - */ - void add_endpoint (TAO_SSLIOP_Endpoint * endp); - - protected: - - /// Destructor. - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~TAO_SSLIOP_Profile (void); - - /// Profile equivalence template method. - /** - * @see TAO_Profile::do_is_equivalent() - */ - virtual CORBA::Boolean do_is_equivalent ( - const TAO_Profile * other_profile); - - private: - - /** - * Helper for @c decode. Decodes TAO_TAG_SSL_ENDPOINTS from a - * tagged component. Decode only if RTCORBA is enabled. - * - * @return 0 on success and -1 on failure. - * - * @note This should be enabled only when RTCORBA is enabled, - * but sadly others pay the price (of footprint) under - * normal operations. - */ - int decode_tagged_endpoints (void); - - /** - * Head of this profile's list of endpoints. This endpoint is - * not dynamically allocated because a profile always contains - * at least one endpoint. - * @par - * Currently, a profile contains more than one endpoint, i.e., - * list contains more than just the head, only when RTCORBA is - * enabled. However, in the near future, this will be used in - * non-RT mode as well, e.g., to support @c - * TAG_ALTERNATE_IIOP_ADDRESS feature. - * @par - * Since SSLIOP profile is an extension of IIOP profile, its - * addressing info is contained in two places: IIOP parent - * class contains all iiop addressing while this class contains - * SSL-specific addressing additions to iiop. This means that - * there are two lists of endpoints: one maintained in the - * parent class and one maintained here. Each ssl endpoint - * maintains a pointer to its counterpart in the parent class - * endpoint list. - * @par - * For transmission of IIOP addressing information, see - * @c TAO_IIOP_Profile. Addressing info of the default SSL - * endpoint, i.e., head of the list, is transmitted using - * standard SSLIOP::TAG_SSL_SEC_TRANS tagged component. See - * @c encode_endpoints method documentation above for how the - * rest of the SSL endpoint list is transmitted. - */ - TAO_SSLIOP_Endpoint ssl_endpoint_; - - /** - * Allways treat this endpoint as secure, even if the constructor - * did not explicitely specify a tagged component for SSL. - * @par - * Most likely the parse_string() will supply a subset of the - * attributes - port number, for instance. - */ - int ssl_only_; - - }; - -// } // End SSLIOP namespace. -// } // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_PROFILE_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.h deleted file mode 100644 index b9b01e4a85d..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_SSL.h - * - * OpenSSL @c SSL data structure specializations and typedefs. - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_SSL_H -#define TAO_SSLIOP_SSL_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h" - -#include -#include - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - // OpenSSL @c SSL structure traits specialization. - template <> - struct OpenSSL_traits< ::SSL > - { - /// OpenSSL lock ID for use in OpenSSL CRYPTO_add() reference - /// count manipulation function. - enum { LOCK_ID = CRYPTO_LOCK_SSL }; - - /// Increase the reference count on the given OpenSSL structure. - /** - * @note This used to be in a function template but MSVC++ 6 - * can't handle function templates correctly so reproduce - * the code in each specialization. *sigh* - */ - static ::SSL * _duplicate (::SSL * st) - { - if (st != 0) - CRYPTO_add (&(st->references), - 1, - LOCK_ID); - - return st; - } - - /// Perform deep copy of the given OpenSSL structure. - static ::SSL * copy (::SSL const & st) - { - return ::SSL_dup (const_cast< ::SSL * > (&st)); - } - - /// Decrease the reference count on the given OpenSSL - /// structure. - static void release (::SSL * st) - { - ::SSL_free (st); - } - }; - - typedef OpenSSL_st_var< ::SSL > SSL_var; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_SSL_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp deleted file mode 100644 index a081a95c168..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp +++ /dev/null @@ -1,134 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_TargetCredentials, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::TargetCredentials::TargetCredentials (::X509 *cert, - ::EVP_PKEY *evp) - : SSLIOP_Credentials (cert, evp) -{ -} - - -SecurityLevel3::CredentialsType -TAO::SSLIOP::TargetCredentials::creds_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return SecurityLevel3::CT_TargetCredentials; -} - -char * -TAO::SSLIOP::TargetCredentials::context_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::Principal * -TAO::SSLIOP::TargetCredentials::client_principal (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::StatementList * -TAO::SSLIOP::TargetCredentials::client_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::ResourceNameList * -TAO::SSLIOP::TargetCredentials::client_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::Principal * -TAO::SSLIOP::TargetCredentials::target_principal (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::StatementList * -TAO::SSLIOP::TargetCredentials::target_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::ResourceNameList * -TAO::SSLIOP::TargetCredentials::target_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -SecurityLevel3::OwnCredentials_ptr -TAO::SSLIOP::TargetCredentials::parent_credentials (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - SecurityLevel3::OwnCredentials::_nil ()); -} - -CORBA::Boolean -TAO::SSLIOP::TargetCredentials::client_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CORBA::Boolean -TAO::SSLIOP::TargetCredentials::target_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CORBA::Boolean -TAO::SSLIOP::TargetCredentials::confidentiality (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CORBA::Boolean -TAO::SSLIOP::TargetCredentials::integrity (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CORBA::Boolean -TAO::SSLIOP::TargetCredentials::target_embodied (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -CORBA::Boolean -TAO::SSLIOP::TargetCredentials::target_endorsed (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -void -TAO::SSLIOP::TargetCredentials::release (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h deleted file mode 100644 index 920db9d2e61..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h +++ /dev/null @@ -1,129 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_TargetCredentials.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_TARGET_CREDENTIALS_H -#define TAO_SSLIOP_TARGET_CREDENTIALS_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Credentials.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - /** - * @class TargetCredentials - * - * @brief SSLIOP-specific implementation of the - * SecurityLevel3::TargetCredentials interface. - * - * This class implements SSLIOP-specific - * SecurityLevel3::TargetCredentials. - */ - class TAO_SSLIOP_Export TargetCredentials - : public virtual SecurityLevel3::TargetCredentials, - public virtual SSLIOP_Credentials - { - public: - - TargetCredentials (::X509 *cert, ::EVP_PKEY *evp); - - /** - * @name SecurityLevel3::Credentials Methods - * - * Methods required by the SecurityLevel3::Credentials - * interface. - */ - //@{ - virtual SecurityLevel3::CredentialsType creds_type ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /** - * @name SecurityLevel3::TargetCredentials Methods - * - * Methods required by the SecurityLevel3::TargetCredentials - * interface. - */ - //@{ - virtual char * context_id (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::Principal * client_principal ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::StatementList * client_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::ResourceNameList * client_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::Principal * target_principal ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::StatementList * target_supporting_statements ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::ResourceNameList * target_restricted_resources ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::OwnCredentials_ptr parent_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean client_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_authentication (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean confidentiality (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean integrity (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_embodied (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_endorsed (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void release (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - }; - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_TARGET_CREDENTIALS_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp deleted file mode 100644 index 3f60b36bcdf..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp +++ /dev/null @@ -1,385 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" -#include "orbsvcs/SSLIOP/SSLIOP_Transport.h" -#include "orbsvcs/SSLIOP/SSLIOP_Profile.h" -#include "orbsvcs/SSLIOP/SSLIOP_Acceptor.h" - -#include "tao/debug.h" - -#include "tao/Timeprobe.h" -#include "tao/CDR.h" -#include "tao/Transport_Mux_Strategy.h" -#include "tao/Wait_Strategy.h" -#include "tao/Stub.h" -#include "tao/ORB_Core.h" -#include "tao/debug.h" -#include "tao/GIOP_Message_Base.h" -#include "tao/Acceptor_Registry.h" -#include "tao/Thread_Lane_Resources.h" - -ACE_RCSID (SSLIOP, - SSLIOP_Transport, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Transport::Transport ( - TAO::SSLIOP::Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean /* flag */) - : TAO_Transport (IOP::TAG_INTERNET_IOP, orb_core), - connection_handler_ (handler), - messaging_object_ (0) -{ - // Use the normal GIOP object - ACE_NEW (this->messaging_object_, - TAO_GIOP_Message_Base (orb_core, this)); -} - -TAO::SSLIOP::Transport::~Transport (void) -{ - delete this->messaging_object_; -} - -ACE_Event_Handler * -TAO::SSLIOP::Transport::event_handler_i (void) -{ - return this->connection_handler_; -} - -TAO_Connection_Handler * -TAO::SSLIOP::Transport::connection_handler_i (void) -{ - return this->connection_handler_; -} - -TAO_Pluggable_Messaging * -TAO::SSLIOP::Transport::messaging_object (void) -{ - return this->messaging_object_; -} - -int -TAO::SSLIOP::Transport::handle_input (TAO_Resume_Handle &rh, - ACE_Time_Value *max_wait_time, - int block) -{ - int result = 0; - - // Set up the SSLIOP::Current object. - TAO::SSLIOP::State_Guard ssl_state_guard (this->connection_handler_, - result); - - if (result == -1) - return -1; - - return TAO_Transport::handle_input (rh, - max_wait_time, - block); -} - -ssize_t -TAO::SSLIOP::Transport::send (iovec *iov, - int iovcnt, - size_t &bytes_transferred, - const ACE_Time_Value *max_wait_time) -{ - const ssize_t retval = - this->connection_handler_->peer ().sendv (iov, iovcnt, max_wait_time); - - if (retval > 0) - bytes_transferred = retval; - - return retval; -} - -ssize_t -TAO::SSLIOP::Transport::recv (char *buf, - size_t len, - const ACE_Time_Value *max_wait_time) -{ - const ssize_t n = this->connection_handler_->peer ().recv (buf, - len, - max_wait_time); - - // Most of the errors handling is common for - // Now the message has been read - if (n == -1 - && TAO_debug_level > 4 - && errno != ETIME) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO (%P|%t) - %p \n"), - ACE_TEXT ("TAO - read message failure ") - ACE_TEXT ("recv_i () \n"))); - } - - // Error handling - if (n == -1) - { - if (errno == EWOULDBLOCK) - return 0; - - return -1; - } - // @@ What are the other error handling here?? - else if (n == 0) - { - return -1; - } - - return n; -} - -int -TAO::SSLIOP::Transport::send_request (TAO_Stub *stub, - TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int message_semantics, - ACE_Time_Value *max_wait_time) -{ - if (this->ws_->sending_request (orb_core, - message_semantics) == -1) - return -1; - - if (this->send_message (stream, - stub, - message_semantics, - max_wait_time) == -1) - - return -1; - - return 0; -} - -int -TAO::SSLIOP::Transport::send_message (TAO_OutputCDR &stream, - TAO_Stub *stub, - int message_semantics, - ACE_Time_Value *max_wait_time) -{ - // Format the message in the stream first - if (this->messaging_object_->format_message (stream) != 0) - return -1; - - // Strictly speaking, should not need to loop here because the - // socket never gets set to a nonblocking mode ... some Linux - // versions seem to need it though. Leaving it costs little. - - // This guarantees to send all data (bytes) or return an error. - const ssize_t n = this->send_message_shared (stub, - message_semantics, - stream.begin (), - max_wait_time); - - if (n == -1) - { - if (TAO_debug_level) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("TAO: (%P|%t|%N|%l) closing transport ") - ACE_TEXT ("%d after fault %p\n"), - this->id (), - ACE_TEXT ("send_message ()\n"))); - - return -1; - } - - return 1; -} - - -int -TAO::SSLIOP::Transport::generate_request_header ( - TAO_Operation_Details &opdetails, - TAO_Target_Specification &spec, - TAO_OutputCDR &msg) -{ - // Check whether we have a Bi Dir IIOP policy set, whether the - // messaging objects are ready to handle bidirectional connections - // and also make sure that we have not recd. or sent any information - // regarding this before... - if (this->orb_core ()->bidir_giop_policy () - && this->messaging_object_->is_ready_for_bidirectional (msg) - && this->bidirectional_flag () < 0) - { - this->set_bidir_context_info (opdetails); - - // Set the flag to 1 - this->bidirectional_flag (1); - - // At the moment we enable BiDIR giop we have to get a new - // request id to make sure that we follow the even/odd rule - // for request id's. We only need to do this when enabled - // it, after that the Transport Mux Strategy will make sure - // that the rule is followed - opdetails.request_id (this->tms ()->request_id ()); - } - - // We are going to pass on this request to the underlying messaging - // layer. It should take care of this request - return TAO_Transport::generate_request_header (opdetails, - spec, - msg); -} - -int -TAO::SSLIOP::Transport::messaging_init (CORBA::Octet major, - CORBA::Octet minor) -{ - this->messaging_object_->init (major, - minor); - return 1; -} - - -int -TAO::SSLIOP::Transport::tear_listen_point_list (TAO_InputCDR &cdr) -{ - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - return -1; - - cdr.reset_byte_order (static_cast (byte_order)); - - IIOP::ListenPointList listen_list; - if ((cdr >> listen_list) == 0) - return -1; - - // As we have received a bidirectional information, set the flag to - // 0 - this->bidirectional_flag (0); - - return this->connection_handler_->process_listen_point_list (listen_list); -} - - - -void -TAO::SSLIOP::Transport::set_bidir_context_info ( - TAO_Operation_Details &opdetails) -{ - // Get a handle on to the acceptor registry - TAO_Acceptor_Registry &ar = - this->orb_core ()->lane_resources ().acceptor_registry (); - - // Get the first acceptor in the registry - TAO_AcceptorSetIterator acceptor = ar.begin (); - - IIOP::ListenPointList listen_point_list; - - for (; - acceptor != ar.end (); - acceptor++) - { - // Check whether it is a IIOP acceptor - if ((*acceptor)->tag () == IOP::TAG_INTERNET_IOP) - { - if (this->get_listen_point (listen_point_list, - *acceptor) == -1) - { - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) - SSLIOP_Transport::set_bidir_info, ", - "error getting listen_point \n")); - - return; - } - } - } - - // We have the ListenPointList at this point. Create a output CDR - // stream at this point - TAO_OutputCDR cdr; - - // Marshall the information into the stream - if ((cdr << ACE_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER) == 0) - || (cdr << listen_point_list) == 0) - return; - - // Add this info in to the svc_list - opdetails.request_service_context ().set_context (IOP::BI_DIR_IIOP, - cdr); - return; -} - - -int -TAO::SSLIOP::Transport::get_listen_point ( - IIOP::ListenPointList &listen_point_list, - TAO_Acceptor *acceptor) -{ - TAO::SSLIOP::Acceptor *ssliop_acceptor = - dynamic_cast (acceptor); - - if (ssliop_acceptor == 0) - return -1; - - // Get the array of IIOP (not SSLIOP!) endpoints serviced by the - // SSLIOP_Acceptor. - const ACE_INET_Addr *endpoint_addr = - ssliop_acceptor->endpoints (); - - // Get the count - const size_t count = - ssliop_acceptor->endpoint_count (); - - // The SSL port is stored in the SSLIOP::SSL component associated - // with the SSLIOP_Acceptor. - const ::SSLIOP::SSL &ssl = ssliop_acceptor->ssl_component (); - - // Get the local address of the connection - ACE_INET_Addr local_addr; - { - if (this->connection_handler_->peer ().get_local_addr (local_addr) - == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("(%P|%t) Could not resolve local host") - ACE_TEXT (" address in get_listen_point()\n")), - -1); - } - - } - - // Note: Looks like there is no point in sending the list of - // endpoints on interfaces on which this connection has not - // been established. If this is wrong, please correct me. - CORBA::String_var local_interface; - - // Get the hostname for the local address - if (ssliop_acceptor->hostname (this->orb_core_, - local_addr, - local_interface.out ()) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("(%P|%t) Could not resolve local host") - ACE_TEXT (" name \n")), - -1); - } - - for (size_t index = 0; index < count; ++index) - { - if (local_addr.get_ip_address () - == endpoint_addr[index].get_ip_address ()) - { - // Get the count of the number of elements - const CORBA::ULong len = listen_point_list.length (); - - // Increase the length by 1 - listen_point_list.length (len + 1); - - // We have the connection and the acceptor endpoint on the - // same interface - IIOP::ListenPoint & point = listen_point_list[len]; - point.host = CORBA::string_dup (local_interface.in ()); - - // All endpoints, if more than one, serviced by the - // SSLIOP_Acceptor should be listening on the same port (due - // to the bind to the INADDR_ANY address). - point.port = ssl.port; - } - } - - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h deleted file mode 100644 index fec7a5ee95f..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h +++ /dev/null @@ -1,159 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Transport.h - * - * $Id$ - * - * SSLIOP Transport specific processing. - * - * @author Carlos O'Ryan - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_TRANSPORT_H -#define TAO_SSLIOP_TRANSPORT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/SSLIOP/SSLIOP_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/Transport.h" -#include "tao/operation_details.h" -#include "tao/GIOP_Message_Version.h" -#include "tao/Pluggable_Messaging_Utils.h" -#include "tao/IIOPC.h" - -#include "ace/SSL/SSL_SOCK_Stream.h" - -#include "ace/Svc_Handler.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward decls. -class TAO_ORB_Core; -class TAO_Pluggable_Messaging; -class TAO_Acceptor; - -namespace TAO -{ - namespace SSLIOP - { - typedef ACE_Svc_Handler SVC_HANDLER; - - class Handler_Base; - class Connection_Handler; - - /** - * @class Transport - * - * @brief SSLIOP-specific transport implementation. - * - * SSLIOP-specific transport implementation. - */ - class TAO_SSLIOP_Export Transport : public TAO_Transport - { - public: - - /// Constructor. - Transport (Connection_Handler *handler, - TAO_ORB_Core *orb_core, - CORBA::Boolean flag); - - /// Default destructor. - ~Transport (void); - - /// Overload of the handle_input () in the TAO_Transport - /// class. This is required to set up the state guard. The - /// thread-per-connection and wait on RW strategies call this - /// handle_input (). - virtual int handle_input (TAO_Resume_Handle &rh, - ACE_Time_Value *max_wait_time = 0, - int block = 0); - - protected: - /** @name Overridden Template Methods - * - * These are implementations of template methods declared by - * TAO_Transport. - */ - //@{ - virtual ACE_Event_Handler * event_handler_i (void); - virtual TAO_Connection_Handler *connection_handler_i (void); - - virtual TAO_Pluggable_Messaging *messaging_object (void); - - /// Write the complete Message_Block chain to the connection. - virtual ssize_t send (iovec *iov, int iovcnt, - size_t &bytes_transferred, - const ACE_Time_Value *timeout = 0); - - /// Read len bytes from into buf. - virtual ssize_t recv (char *buf, - size_t len, - const ACE_Time_Value *s = 0); - - public: - /// @todo These methods IMHO should have more meaningful - /// names. The names seem to indicate nothing. - virtual int send_request (TAO_Stub *stub, - TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int message_semantics, - ACE_Time_Value *max_wait_time); - - virtual int send_message (TAO_OutputCDR &stream, - TAO_Stub *stub = 0, - int message_semantics = - TAO_Transport::TAO_TWOWAY_REQUEST, - ACE_Time_Value *max_time_wait = 0); - - virtual int generate_request_header (TAO_Operation_Details &opdetails, - TAO_Target_Specification &spec, - TAO_OutputCDR &msg); - - /// Initialising the messaging object - virtual int messaging_init (CORBA::Octet major, - CORBA::Octet minor); - - /// Open teh service context list and process it. - virtual int tear_listen_point_list (TAO_InputCDR &cdr); - //@} - - private: - - /// Set the Bidirectional context info in the service context - /// list. - void set_bidir_context_info (TAO_Operation_Details &opdetails); - - /// Add the listen points in @a acceptor to the @a - /// listen_point_list if this connection is in the same - /// interface as that of the endpoints in the @a acceptor. - int get_listen_point (IIOP::ListenPointList &listen_point_list, - TAO_Acceptor *acceptor); - - private: - - /// The connection service handler used for accessing lower layer - /// communication protocols. - Connection_Handler *connection_handler_; - - /// Our messaging object. - TAO_Pluggable_Messaging *messaging_object_; - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_SSLIOP_TRANSPORT_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp deleted file mode 100644 index 385e58f64e2..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include "orbsvcs/SSLIOP/SSLIOP_Util.h" - - -ACE_RCSID (SSLIOP, - SSLIOP_Util, - "$Id$") - - -#include "orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h" -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" - -#include "tao/ORB_Core.h" -#include "tao/debug.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SSLIOP::Current_ptr -TAO::SSLIOP::Util::current ( - TAO_ORB_Core *orb_core) -{ - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // Go straight to the object_ref_table in the ORB Core to avoid - // the ORB::resolve_initial_references() mechanism's complaints - // about the fact that the ORB isn't fully initialized yet - // (happens on the client side). - CORBA::Object_var obj = - orb_core->object_ref_table ().resolve_initial_reference ( - "SSLIOPCurrent"); - - TAO::SSLIOP::Current_var tao_current = - TAO::SSLIOP::Current::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (tao_current.in ())) - ACE_TRY_THROW (CORBA::INV_OBJREF ()); - - return tao_current._retn (); - } - ACE_CATCHANY - { - if (TAO_debug_level > 0) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Could not resolve " - "\"SSLIOPCurrent\" object"); - - return 0; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (0); - - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h deleted file mode 100644 index 15e3e5f1545..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_Util.h - * - * $Id$ - * - * Utility class used by the SSLIOP pluggable protocol. - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SSLIOP_UTIL_H -#define TAO_SSLIOP_UTIL_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_Current.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ORB_Core; -class TAO_IIOP_Properties; - -namespace TAO -{ - namespace SSLIOP - { - /** - * @class Util - * - * @brief Class that provides utility/helper methods for several - * classes in the SSLIOP pluggable protocol. - * - * Methods useful to many classes in the SSLIOP pluggable protocol - * are centrally located in this uility class. - */ - class Util - { - public: - - /// Access Current. - static TAO::SSLIOP::Current_ptr current ( - TAO_ORB_Core *orb_core); - - }; - - } // End SSLIOP namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_UTIL_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h deleted file mode 100644 index fc46e69fa9c..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SSLIOP_X509.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SSLIOP_X509_H -#define TAO_SSLIOP_X509_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h" - -#include -#include - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SSLIOP - { - // OpenSSL @c X509 structure traits specialization. - template <> - struct OpenSSL_traits< ::X509 > - { - /// OpenSSL lock ID for use in OpenSSL CRYPTO_add() reference - /// count manipulation function. - enum { LOCK_ID = CRYPTO_LOCK_X509 }; - - /// Increase the reference count on the given OpenSSL structure. - /** - * @note This used to be in a function template but MSVC++ 6 - * can't handle function templates correctly so reproduce - * the code in each specialization. *sigh* - */ - static ::X509 * _duplicate (::X509 * st) - { - if (st != 0) - CRYPTO_add (&(st->references), - 1, - LOCK_ID); - - return st; - } - - /// Perform deep copy of the given OpenSSL structure. - static ::X509 * copy (::X509 const & st) - { - return ::X509_dup (const_cast< ::X509 *> (&st)); - } - - /// Decrease the reference count on the given OpenSSL - /// structure. - static void release (::X509 * st) - { - ::X509_free (st); - } - }; - - typedef OpenSSL_st_var< ::X509 > X509_var; - - } // End SSLIOP namespace. -} // End TAO namespace. - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SSLIOP_X509_H */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.c b/TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.c deleted file mode 100644 index cea38d78e06..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.c +++ /dev/null @@ -1,19 +0,0 @@ -// $Id$ - -#include "params_dup.h" - -#include - - -DSA * -DSAPARAMS_DUP_WRAPPER_NAME (DSA * dsa) -{ - return DSAparams_dup (dsa); -} - -DH * -DHPARAMS_DUP_WRAPPER_NAME (DH * dh) -{ - return DHparams_dup (dh); -} - diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.h b/TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.h deleted file mode 100644 index 350705ec2d0..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/params_dup.h +++ /dev/null @@ -1,44 +0,0 @@ -/* $Id$ */ - -#ifndef TAO_SSLIOP_PARAMS_DUP_H -#define TAO_SSLIOP_PARAMS_DUP_H - -#include /**/ "ace/pre.h" - -#include "ace/config-macros.h" -#include "tao/Versioned_Namespace.h" - -// As of 0.9.7e, OpenSSL's DSAparams_dup() and DHparams_dup() macros -// contain casts that are invalid in C++. These C wrapper functions -// allows them to be called from C++. - -#include -#include - -#if (defined (TAO_HAS_VERSIONED_NAMESPACE) && TAO_HAS_VERSIONED_NAMESPACE == 1) - -# define DSAPARAMS_DUP_WRAPPER_NAME ACE_PREPROC_CONCATENATE(TAO_VERSIONED_NAMESPACE_NAME, _DSAparams_dup_wrapper) -# define DHPARAMS_DUP_WRAPPER_NAME ACE_PREPROC_CONCATENATE(TAO_VERSIONED_NAMESPACE_NAME, _DHparams_dup_wrapper) - -#else - -# define DSAPARAMS_DUP_WRAPPER_NAME DSAparams_dup_wrapper -# define DHPARAMS_DUP_WRAPPER_NAME DHparams_dup_wrapper - -#endif /* ACE_HAS_VERSIONED_NAMESPACE == 1 */ - - -#ifdef __cplusplus -extern "C" { -#endif - -extern DSA *DSAPARAMS_DUP_WRAPPER_NAME (DSA *dsa); -extern DH *DHPARAMS_DUP_WRAPPER_NAME (DH *dh); - -#ifdef __cplusplus -} -#endif - -#include /**/ "ace/post.h" - -#endif diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpoints.pidl b/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpoints.pidl deleted file mode 100644 index 93bbab422d8..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpoints.pidl +++ /dev/null @@ -1,33 +0,0 @@ -// $Id$ -// ================================================================ - -/** - * This file contains idl definition for data structures used to - * encapsulate data in TAO_TAG_SSL_ENDPOINTS tagged component. This - * TAO-specific component is used for transmission of multiple - * endpoints per single SSLIOP profile. See SSLIOP_Profile.* - * for more details. - * - * This file was used to generate the code in - * ssl_endpoints.* The command used to generate code - * is: - * - * tao_idl - * -Sa -Sc -Gp -Gd -DCORBA3 -Sci - * -Wb,export_macro=TAO_SSLIOP_Export \ - * -Wb,pre_include="ace/pre.h" \ - * -Wb,post_include="ace/post.h" \ - * ssl_endpoints.pidl - */ - -#ifndef _SSL_ENDPOINTS_IDL_ -#define _SSL_ENDPOINTS_IDL_ - -#include "orbsvcs/SSLIOP.idl" - -/// Stores information for a collection of SSLIOP endpoints. -typedef sequence TAO_SSLEndpointSequence; - -#pragma prefix "" - -#endif /* _SSL_ENDPOINTS_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp deleted file mode 100644 index b9d85e7b2b7..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp +++ /dev/null @@ -1,165 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:291 - - -#include "tao/AnyTypeCode/Null_RefCount_Policy.h" -#include "tao/AnyTypeCode/TypeCode_Constants.h" -#include "tao/AnyTypeCode/Alias_TypeCode_Static.h" -#include "tao/AnyTypeCode/Sequence_TypeCode_Static.h" -#include "tao/AnyTypeCode/String_TypeCode_Static.h" -#include "orbsvcs/SSLIOP/ssl_endpointsC.h" -#include "tao/CDR.h" - -#if defined (__BORLANDC__) -#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig -#endif /* __BORLANDC__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO_IDL - Generated from -// be\be_visitor_arg_traits.cpp:69 - -// Arg traits specializations. -namespace TAO -{ -} - - -// TAO_IDL - Generated from -// be\be_visitor_sequence/sequence_cs.cpp:65 - -#if !defined (_TAO_SSLENDPOINTSEQUENCE_CS_) -#define _TAO_SSLENDPOINTSEQUENCE_CS_ - -TAO_SSLEndpointSequence::TAO_SSLEndpointSequence (void) -{} - -TAO_SSLEndpointSequence::TAO_SSLEndpointSequence ( - CORBA::ULong max - ) - : TAO::unbounded_value_sequence< - SSLIOP::SSL - > - (max) -{} - -TAO_SSLEndpointSequence::TAO_SSLEndpointSequence ( - CORBA::ULong max, - CORBA::ULong length, - SSLIOP::SSL * buffer, - CORBA::Boolean release - ) - : TAO::unbounded_value_sequence< - SSLIOP::SSL - > - (max, length, buffer, release) -{} - -TAO_SSLEndpointSequence::TAO_SSLEndpointSequence ( - const TAO_SSLEndpointSequence &seq - ) - : TAO::unbounded_value_sequence< - SSLIOP::SSL - > - (seq) -{} - -TAO_SSLEndpointSequence::~TAO_SSLEndpointSequence (void) -{} - -#endif /* end #if !defined */ - -// TAO_IDL - Generated from -// be\be_visitor_typecode/alias_typecode.cpp:31 - - - -// TAO_IDL - Generated from -// be\be_visitor_typecode/typecode_defn.cpp:925 - - -#ifndef _TAO_TYPECODE_TAO_SSLEndpointSequence_GUARD -#define _TAO_TYPECODE_TAO_SSLEndpointSequence_GUARD -namespace TAO -{ - namespace TypeCode - { - TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *, - TAO::Null_RefCount_Policy> - TAO_SSLEndpointSequence_0 ( - CORBA::tk_sequence, - &SSLIOP::_tc_SSL, - 0U); - - ::CORBA::TypeCode_ptr const tc_TAO_SSLEndpointSequence_0 = - &TAO_SSLEndpointSequence_0; - - } -} - - -#endif /* _TAO_TYPECODE_TAO_SSLEndpointSequence_GUARD */ -static TAO::TypeCode::Alias - _tao_tc_TAO_SSLEndpointSequence ( - CORBA::tk_alias, - "IDL:TAO_SSLEndpointSequence:1.0", - "TAO_SSLEndpointSequence", - &TAO::TypeCode::tc_TAO_SSLEndpointSequence_0); - -::CORBA::TypeCode_ptr const _tc_TAO_SSLEndpointSequence = - &_tao_tc_TAO_SSLEndpointSequence; - -// TAO_IDL - Generated from -// be\be_visitor_sequence/cdr_op_cs.cpp:96 - -#if !defined _TAO_CDR_OP_TAO_SSLEndpointSequence_CPP_ -#define _TAO_CDR_OP_TAO_SSLEndpointSequence_CPP_ - -CORBA::Boolean operator<< ( - TAO_OutputCDR &strm, - const TAO_SSLEndpointSequence &_tao_sequence - ) -{ - return TAO::marshal_sequence(strm, _tao_sequence); -} - -CORBA::Boolean operator>> ( - TAO_InputCDR &strm, - TAO_SSLEndpointSequence &_tao_sequence - ) -{ - return TAO::demarshal_sequence(strm, _tao_sequence); -} - -#endif /* _TAO_CDR_OP_TAO_SSLEndpointSequence_CPP_ */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h b/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h deleted file mode 100644 index 5d117696d17..00000000000 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h +++ /dev/null @@ -1,158 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** -// TAO and the TAO IDL Compiler have been developed by: -// Center for Distributed Object Computing -// Washington University -// St. Louis, MO -// USA -// http://www.cs.wustl.edu/~schmidt/doc-center.html -// and -// Distributed Object Computing Laboratory -// University of California at Irvine -// Irvine, CA -// USA -// http://doc.ece.uci.edu/ -// and -// Institute for Software Integrated Systems -// Vanderbilt University -// Nashville, TN -// USA -// http://www.isis.vanderbilt.edu/ -// -// Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html - -// TAO_IDL - Generated from -// be\be_codegen.cpp:153 - -#ifndef _TAO_IDL_ORIG_SSL_ENDPOINTSC_H_ -#define _TAO_IDL_ORIG_SSL_ENDPOINTSC_H_ - -#include /**/ "ace/pre.h" - - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/ORB.h" -#include "tao/SystemException.h" -#include "tao/Environment.h" -#include "tao/Sequence_T.h" -#include "tao/Seq_Var_T.h" -#include "tao/Seq_Out_T.h" - -#include "orbsvcs/SSLIOPC.h" - -#if defined (TAO_EXPORT_MACRO) -#undef TAO_EXPORT_MACRO -#endif -#define TAO_EXPORT_MACRO TAO_SSLIOP_Export - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option push -w-rvl -w-rch -w-ccc -w-inl -#endif /* __BORLANDC__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// TAO_IDL - Generated from -// be\be_visitor_sequence/sequence_ch.cpp:101 - -#if !defined (_TAO_SSLENDPOINTSEQUENCE_CH_) -#define _TAO_SSLENDPOINTSEQUENCE_CH_ - -class TAO_SSLEndpointSequence; - -typedef - TAO_FixedSeq_Var_T< - TAO_SSLEndpointSequence - > - TAO_SSLEndpointSequence_var; - -typedef - TAO_Seq_Out_T< - TAO_SSLEndpointSequence - > - TAO_SSLEndpointSequence_out; - -class TAO_SSLIOP_Export TAO_SSLEndpointSequence - : public - TAO::unbounded_value_sequence< - SSLIOP::SSL - > -{ -public: - TAO_SSLEndpointSequence (void); - TAO_SSLEndpointSequence (CORBA::ULong max); - TAO_SSLEndpointSequence ( - CORBA::ULong max, - CORBA::ULong length, - SSLIOP::SSL* buffer, - CORBA::Boolean release = false - ); - TAO_SSLEndpointSequence (const TAO_SSLEndpointSequence &); - ~TAO_SSLEndpointSequence (void); - - typedef TAO_SSLEndpointSequence_var _var_type; -}; - -#endif /* end #if !defined */ - -// TAO_IDL - Generated from -// be\be_visitor_typecode/typecode_decl.cpp:44 - -extern TAO_SSLIOP_Export ::CORBA::TypeCode_ptr const _tc_TAO_SSLEndpointSequence; - -// TAO_IDL - Generated from -// be\be_visitor_traits.cpp:61 - -// Traits specializations. -namespace TAO -{ -} - -// TAO_IDL - Generated from -// be\be_visitor_sequence/cdr_op_ch.cpp:71 - -#if !defined _TAO_CDR_OP_TAO_SSLEndpointSequence_H_ -#define _TAO_CDR_OP_TAO_SSLEndpointSequence_H_ - -TAO_SSLIOP_Export CORBA::Boolean operator<< ( - TAO_OutputCDR &, - const TAO_SSLEndpointSequence & - ); -TAO_SSLIOP_Export CORBA::Boolean operator>> ( - TAO_InputCDR &, - TAO_SSLEndpointSequence & - ); - -#endif /* _TAO_CDR_OP_TAO_SSLEndpointSequence_H_ */ - -TAO_END_VERSIONED_NAMESPACE_DECL - -// TAO_IDL - Generated from -// be\be_codegen.cpp:955 - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#if defined (__BORLANDC__) -#pragma option pop -#endif /* __BORLANDC__ */ - -#include /**/ "ace/post.h" - -#endif /* ifndef */ - - diff --git a/TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp b/TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp deleted file mode 100644 index c8c56c6b5ac..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp +++ /dev/null @@ -1,674 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/Scheduler_Factory.h" - -#include "orbsvcs/Sched/Config_Scheduler.h" - -ACE_RCSID(Sched, Config_Scheduler, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_Config_Scheduler::ACE_Config_Scheduler (void) -#if defined (TAO_USES_STRATEGY_SCHEDULER) - : scheduler_strategy_ (static_cast (TAO_MIN_CRITICAL_PRIORITY)) - , impl (new ACE_Strategy_Scheduler (scheduler_strategy_)) -#else - : impl (new Scheduler_Generic) -#endif /* defined (TAO_USES_STRATEGY_SCHEDULER) */ -{ - // impl->output_level (10); -} - -ACE_Config_Scheduler::~ACE_Config_Scheduler (void) -{ - delete impl; -} - -RtecScheduler::handle_t -ACE_Config_Scheduler::create (const char * entry_point - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME)) -{ - typedef RtecScheduler::RT_Info* RT_Info_ptr; - - RtecScheduler::RT_Info** rt_info = 0; - ACE_NEW_RETURN (rt_info, RT_Info_ptr[1], -1); - - ACE_NEW_RETURN (rt_info[0], RtecScheduler::RT_Info, -1); - - rt_info[0]->entry_point = CORBA::string_dup(entry_point); - rt_info[0]->handle = -1; - rt_info[0]->worst_case_execution_time = ORBSVCS_Time::zero (); - rt_info[0]->typical_execution_time = ORBSVCS_Time::zero (); - rt_info[0]->cached_execution_time = ORBSVCS_Time::zero (); - rt_info[0]->period = 0; - rt_info[0]->criticality = RtecScheduler::VERY_LOW_CRITICALITY; - rt_info[0]->importance = RtecScheduler::VERY_LOW_IMPORTANCE; - rt_info[0]->quantum = ORBSVCS_Time::zero (); - rt_info[0]->threads = 0; - rt_info[0]->priority = 0; - rt_info[0]->preemption_subpriority = 0; - rt_info[0]->preemption_priority = 0; - rt_info[0]->info_type = RtecScheduler::OPERATION; - rt_info[0]->volatile_token = 0; - - RtecScheduler::handle_t handle = -1; -#if defined (TAO_USES_STRATEGY_SCHEDULER) - switch (impl->register_task (rt_info[0], handle)) -#else - switch (impl->register_task (rt_info, 1, handle)) -#endif /* defined (TAO_USES_STRATEGY_SCHEDULER) */ - - { - case BaseSchedImplType::SUCCEEDED: - break; - case BaseSchedImplType::ST_VIRTUAL_MEMORY_EXHAUSTED: - case BaseSchedImplType::ST_TASK_ALREADY_REGISTERED: - default: - delete rt_info[0]; - delete[] rt_info; - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::create - register_task failed\n")); - // @@ TODO: throw something. - break; - } - return handle; -} - -RtecScheduler::handle_t -ACE_Config_Scheduler::lookup (const char * entry_point - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - RtecScheduler::RT_Info* rt_info = 0; - switch (impl->get_rt_info (entry_point, rt_info)) - { - case BaseSchedImplType::SUCCEEDED: - return rt_info->handle; - ACE_NOTREACHED (break); - case BaseSchedImplType::FAILED: - case BaseSchedImplType::ST_UNKNOWN_TASK: - default: - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::lookup - get_rt_info failed\n")); - // @@ TODO: throw something. - break; - } - return -1; -} - -RtecScheduler::RT_Info* -ACE_Config_Scheduler::get (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - RtecScheduler::RT_Info* rt_info = 0; - switch (impl->lookup_rt_info (handle, rt_info)) - { - case BaseSchedImplType::SUCCEEDED: - { - // IDL memory managment semantics require that we return a copy. - RtecScheduler::RT_Info* copy; - ACE_NEW_RETURN (copy, RtecScheduler::RT_Info (*rt_info), 0); - return copy; - } - ACE_NOTREACHED (break); - case BaseSchedImplType::FAILED: - case BaseSchedImplType::ST_UNKNOWN_TASK: - default: - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::get - lookup_rt_info failed\n")); - // @@ TODO: throw something. - break; - } - return 0; -} - -void ACE_Config_Scheduler::set (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - RtecScheduler::RT_Info* rt_info = 0; - switch (impl->lookup_rt_info (handle, rt_info)) - { - case BaseSchedImplType::SUCCEEDED: - rt_info->criticality = criticality, - rt_info->worst_case_execution_time = time; - rt_info->typical_execution_time = typical_time; - rt_info->cached_execution_time = cached_time; - rt_info->period = period; - rt_info->importance = importance; - rt_info->quantum = quantum; - rt_info->threads = threads; - rt_info->info_type = info_type; - break; - case BaseSchedImplType::FAILED: - case BaseSchedImplType::ST_UNKNOWN_TASK: - default: - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::set - lookup_rt_info failed\n")); - // @@ TODO: throw something. - break; - } -} - -void ACE_Config_Scheduler::priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - - if (impl->priority (handle, priority, p_subpriority, p_priority) == -1) - { - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::priority - priority failed\n")); - // TODO: throw something. - } -} - -void ACE_Config_Scheduler::entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - this->priority (lookup (entry_point ACE_ENV_ARG_PARAMETER), - priority, p_subpriority, p_priority - ACE_ENV_ARG_PARAMETER); -} - -void ACE_Config_Scheduler::add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t - dependency_type - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - - RtecScheduler::RT_Info* rt_info = 0; - switch (impl->lookup_rt_info (handle, rt_info)) - { - case BaseSchedImplType::SUCCEEDED: - { - RtecScheduler::Dependency_Info dep; - dep.rt_info = dependency; - dep.number_of_calls = number_of_calls; - dep.dependency_type = dependency_type; -#if defined (TAO_USES_STRATEGY_SCHEDULER) - impl->add_dependency (rt_info, dep); -#else - BaseSchedImplType::add_dependency (rt_info, dep); -#endif /* defined (TAO_USES_STRATEGY_SCHEDULER) */ - - } - break; - case BaseSchedImplType::FAILED: - case BaseSchedImplType::ST_UNKNOWN_TASK: - default: - ACE_ERROR ((LM_ERROR, - "cannot find %d to add dependency", handle)); - // TODO: throw something. - break; - } -} - -void ACE_Config_Scheduler::compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - RtecScheduler::Dependency_Set_out dependencies, - RtecScheduler::Config_Info_Set_out configs, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH)) -{ - - // Initialize the scheduler implementation. - impl->init (minimum_priority, maximum_priority); - - // Construct an unbounded set to hold any scheduling anomalies. - ACE_Unbounded_Set anomaly_set; - - // Invoke the imlementation's scheduling method. - BaseSchedImplType::status_t schedule_status; - schedule_status = impl->schedule (anomaly_set); - - if (dependencies.ptr () == 0) - { - dependencies = new RtecScheduler::Dependency_Set (); - } - - // Iterate over the set of anomalies, reporting each one, storing - // it in the set of anomalies to return, and determining the worst - // anomaly severity. - RtecScheduler::Anomaly_Severity severity = RtecScheduler::ANOMALY_NONE; - RtecScheduler::Scheduling_Anomaly **anomaly = 0; - const char *anomaly_severity_msg = "NONE"; - CORBA::ULong anomaly_index = 0; - CORBA::ULong anomaly_set_size = - static_cast (anomaly_set.size ()); - if (anomalies.ptr () == 0) - { - anomalies = - new RtecScheduler::Scheduling_Anomaly_Set (anomaly_set_size); - } - anomalies->length (anomaly_set_size); - ACE_Unbounded_Set_Iterator - anomaly_iter (anomaly_set); - for (anomaly_iter.first (), anomaly_index = 0; - anomaly_iter.next (anomaly); - anomaly_iter.advance (), ++anomaly_index) - { - if (0 == *anomaly) - { - // if for some reason we stored a null anomaly pointer, - // just give default values to that entry in the sequence. - anomalies[anomaly_index].severity = RtecScheduler::ANOMALY_NONE; - anomalies[anomaly_index].description = ""; - continue; - } - - // Keep track of the *worst* anomaly severity - switch ((*anomaly)->severity) - { - case RtecScheduler::ANOMALY_FATAL: - anomaly_severity_msg = "FATAL"; - severity = RtecScheduler::ANOMALY_FATAL; - break; - - case RtecScheduler::ANOMALY_ERROR: - anomaly_severity_msg = "ERROR"; - if (severity != RtecScheduler::ANOMALY_FATAL) - { - severity = RtecScheduler::ANOMALY_ERROR; - } - break; - - case RtecScheduler::ANOMALY_WARNING: - anomaly_severity_msg = "WARNING"; - if ((severity != RtecScheduler::ANOMALY_FATAL) && - (severity != RtecScheduler::ANOMALY_ERROR)) - { - severity = RtecScheduler::ANOMALY_WARNING; - } - break; - - // case RtecScheduler::ANOMALY_NONE: - // case Anomaly_Severity_TAO_ENUM_32BIT_ENFORCER: - default: - anomaly_severity_msg = "UNKNOWN"; - break; - } - - // Output the anomaly message - ACE_DEBUG ((LM_DEBUG, - "%s: %s\n", - anomaly_severity_msg, - (*anomaly)->description.in ())); - - // Store the anomaly in the anomaly sequence out parameter - anomalies[anomaly_index] = **anomaly; - - // Release the anomaly node. - delete *anomaly; - } - - switch (severity) - { - // On a fatal anomaly abort without generating a schedule. - case RtecScheduler::ANOMALY_FATAL: - // TODO: throw something. - ACE_ERROR ((LM_ERROR, "Schedule failed due to FATAL anomaly.\n")); - return; - - // Otherwise, make sure we didn't get a fatal return type. - default: - switch (schedule_status) - { - case BaseSchedImplType::ST_BAD_INTERNAL_POINTER : - // TODO: throw something. - ACE_ERROR ((LM_ERROR, - "Schedule failed due to bad internal pointer.\n")); - return; - - case BaseSchedImplType::ST_VIRTUAL_MEMORY_EXHAUSTED : - // TODO: throw something. - ACE_ERROR ((LM_ERROR, - "Schedule failed due to insufficient memory.\n")); - return; - - case BaseSchedImplType::THREAD_COUNT_MISMATCH : - // TODO: throw something. - ACE_ERROR ((LM_ERROR, - "Schedule failed due to thread count mismatch.\n")); - return; - - case BaseSchedImplType::TASK_COUNT_MISMATCH : - // TODO: throw something. - ACE_ERROR ((LM_ERROR, - "Schedule failed due to task count mismatch.\n")); - return; - - // Otherwise, go ahead and generate a schedule. - default: - break; - } - break; - } - - // return the set of scheduled RT_Infos - if (infos.ptr () == 0) - { - infos = new RtecScheduler::RT_Info_Set (impl->tasks ()); - } - infos->length (impl->tasks ()); - for (RtecScheduler::handle_t handle = 1; - handle <= static_cast (impl->tasks ()); - ++handle) - { - RtecScheduler::RT_Info* rt_info = 0; - switch (impl->lookup_rt_info (handle, rt_info)) - { - case BaseSchedImplType::SUCCEEDED: - // We know that handles start at 1. - infos[static_cast (handle - 1)] = *rt_info; - break; - case BaseSchedImplType::FAILED: - case BaseSchedImplType::ST_UNKNOWN_TASK: - default: - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::schedule - lookup_rt_info failed\n")); - // TODO: throw something. - break; - } - } - - // return the set of scheduled Config_Infos - if (configs.ptr () == 0) - { - configs = - new RtecScheduler::Config_Info_Set(impl->minimum_priority_queue () + 1); - } - configs->length (impl->minimum_priority_queue () + 1); - for (RtecScheduler::Preemption_Priority_t priority = 0; - priority <= - static_cast (impl->minimum_priority_queue ()); - ++priority) - { - RtecScheduler::Config_Info* config_info = 0; - switch (impl->lookup_config_info (priority, config_info)) - { - case BaseSchedImplType::SUCCEEDED: - // We know that handles start at 1. - configs[CORBA::ULong(priority)] = *config_info; - break; - case BaseSchedImplType::FAILED: - case BaseSchedImplType::ST_UNKNOWN_TASK: - default: - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::schedule - " - "lookup_config_info failed\n")); - // TODO: throw something. - break; - } - } - - ACE_DEBUG ((LM_DEBUG, "Schedule prepared.\n")); - ACE_DEBUG ((LM_DEBUG, "Dumping to stdout.\n")); - ACE_Scheduler_Factory::dump_schedule (*(infos.ptr()), - *(dependencies.ptr()), - *(configs.ptr()), - *(anomalies.ptr()), 0); - ACE_DEBUG ((LM_DEBUG, "Dump done.\n")); -} - - -void ACE_Config_Scheduler::dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Dispatching_Type_t & d_type - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED, - RtecScheduler::UNKNOWN_PRIORITY_LEVEL)) -{ - - if (impl->dispatch_configuration (p_priority, priority, d_type) == -1) - { - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::dispatch_configuration -" - " dispatch_configuration failed\n")); - // TODO: throw something. - } -} - // provide the thread priority and queue type for the given priority level - - -RtecScheduler::Preemption_Priority_t -ACE_Config_Scheduler::last_scheduled_priority (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED)) -{ - - RtecScheduler::Preemption_Priority_t priority = impl->minimum_priority_queue (); - - if (priority < 0) - { - ACE_ERROR ((LM_ERROR, - "Config_Scheduler::last_scheduled_priority - priorities failed\n")); - // TODO: throw something. - } - - return priority; -} - // Returns the last priority number assigned to an operation in the schedule. - // The number returned is one less than the total number of scheduled priorities. - // All scheduled priorities range from 0 to the number returned, inclusive. - -void -ACE_Config_Scheduler::get_config_infos (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)) -{ - ACE_UNUSED_ARG ((configs)); - - //TODO: fill the Config_Info_Set with the runtime Config_Infos - //for now, this function is unimplemented - return; -} - -void ACE_Config_Scheduler::reset (RtecScheduler::handle_t, - RtecScheduler::Criticality_t, - RtecScheduler::Time, - RtecScheduler::Time, - RtecScheduler::Time, - RtecScheduler::Period_t, - RtecScheduler::Importance_t, - RtecScheduler::Quantum_t, - CORBA::Long, - RtecScheduler::Info_Type_t - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::set_seq (const RtecScheduler::RT_Info_Set& - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -// Set characteristics of the RT_Infos corresponding to the passed handles. -// Tuples are added in the case of existing and/or multiple definitions. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::reset_seq (const RtecScheduler::RT_Info_Set& - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -// Reset characteristics of the RT_Infos corresponding to the passed handles. -// Tuples are replaced in the case of existing and/or multiple definitions. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::replace_seq (const RtecScheduler::RT_Info_Set& - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -// Replace all RT_Infos, resetting characteristics of the RT_Infos -// corresponding to the passed handles. All other RT_Infos are -// reset to their uninitialized values, i.e., the same they have -// just after the create call. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::remove_dependency (RtecScheduler::handle_t, - RtecScheduler::handle_t, - CORBA::Long, - RtecScheduler::Dependency_Type_t - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -// This method removes a dependency between two RT_Infos. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::set_dependency_enable_state (RtecScheduler::handle_t, - RtecScheduler::handle_t, - CORBA::Long, - RtecScheduler::Dependency_Type_t, - RtecScheduler::Dependency_Enabled_Type_t - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -// This method sets the enable state of a dependency between two RT_Infos. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -// This method sets the enable state of a sequence of dependencies. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::set_rt_info_enable_state (RtecScheduler::handle_t, - RtecScheduler::RT_Info_Enabled_Type_t - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -// This method enables or disables an RT_Info. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::set_rt_info_enable_state_seq ( - const RtecScheduler::RT_Info_Enable_State_Pair_Set & - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -// This method enables or disables a sequence of RT_Infos. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::recompute_scheduling (CORBA::Long, - CORBA::Long, - RtecScheduler::Scheduling_Anomaly_Set_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)) -// Recomputes the scheduling priorities, etc. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::get_rt_info_set (RtecScheduler::RT_Info_Set_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -// Returns the set of rt_infos, with their assigned priorities (as -// of the last schedule re-computation). -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::get_dependency_set (RtecScheduler::Dependency_Set_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -// Returns the set of rt_infos, with their assigned priorities (as -// of the last schedule re-computation). -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void ACE_Config_Scheduler::get_config_info_set (RtecScheduler::Config_Info_Set_out - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -// Returns the set of config_infos, describing the appropriate -// number, types, and priority levels for the dispatching lanes. -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.h b/TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.h deleted file mode 100644 index d6b378d8f82..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.h +++ /dev/null @@ -1,318 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -#ifndef ACE_CONFIG_SCHEDULER_H -#define ACE_CONFIG_SCHEDULER_H - -#include /**/ "ace/pre.h" - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/RtecSchedulerS.h" -#include "orbsvcs/Event_Service_Constants.h" - -#include "orbsvcs/Sched/sched_export.h" - -#if defined (TAO_USES_STRATEGY_SCHEDULER) -#include "orbsvcs/Sched/Strategy_Scheduler.h" -#else -#include "orbsvcs/Sched/Scheduler_Generic.h" -#endif /* defined (TAO_USES_STRATEGY_SCHEDULER) */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_RTSched_Export ACE_Config_Scheduler -: public POA_RtecScheduler::Scheduler - // = TITLE - // A (local) implementation for the RtecScheduler::Scheduler service. - // - // = DESCRIPTION - // This class implements a servant for the - // RtecScheduler::Scheduler service, using the Scheduler classes - // distributed with the EC. -{ -public: - - ACE_Config_Scheduler (void); - virtual ~ACE_Config_Scheduler (void); - - virtual RtecScheduler::handle_t create (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, RtecScheduler::DUPLICATE_NAME)); - - virtual RtecScheduler::handle_t lookup (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException)); - - virtual RtecScheduler::RT_Info* get (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, RtecScheduler::UNKNOWN_TASK)); - - virtual void set (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, RtecScheduler::UNKNOWN_TASK)); - - virtual void priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - - virtual void entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - - virtual void add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - - virtual void compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - RtecScheduler::Dependency_Set_out dependencies, - RtecScheduler::Config_Info_Set_out configs, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH)); - - virtual void dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Dispatching_Type_t & d_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED, - RtecScheduler::UNKNOWN_PRIORITY_LEVEL)); - // provide the thread priority and queue type for the given priority level - - virtual RtecScheduler::Preemption_Priority_t - last_scheduled_priority (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED)); - // Returns the last priority number assigned to an operation in the - // schedule. - // The number returned is one less than the total number of - // scheduled priorities. - // All scheduled priorities range from 0 to the number returned, - // inclusive. - - virtual void get_config_infos (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)); - // Provides the set of Config_Infos associated with the current schedule. - - virtual void reset (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Reset characteristics of the RT_Info corresponding to the passed handle. - - virtual void set_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Set characteristics of the RT_Infos corresponding to the passed handles. - // Tuples are added in the case of existing and/or multiple definitions. - - virtual void reset_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Reset characteristics of the RT_Infos corresponding to the passed handles. - // Tuples are replaced in the case of existing and/or multiple definitions. - - virtual void replace_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Replace all RT_Infos, resetting characteristics of the RT_Infos - // corresponding to the passed handles. All other RT_Infos are - // reset to their uninitialized values, i.e., the same they have - // just after the create call. - - virtual void remove_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method removes a dependency between two RT_Infos. - - virtual void set_dependency_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method sets the enable state of a dependency between two RT_Infos. - - virtual void set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method sets the enable state of a sequence of dependencies. - - virtual void set_rt_info_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::RT_Info_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method enables or disables an RT_Info. - - virtual void set_rt_info_enable_state_seq (const RtecScheduler::RT_Info_Enable_State_Pair_Set & pair_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method enables or disables a sequence of RT_Infos. - - virtual void recompute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)); - // Recomputes the scheduling priorities, etc. - - virtual void get_rt_info_set (RtecScheduler::RT_Info_Set_out infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - virtual void get_dependency_set (RtecScheduler::Dependency_Set_out dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - virtual void get_config_info_set (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of config_infos, describing the appropriate - // number, types, and priority levels for the dispatching lanes. - - -private: - -#if defined (TAO_USES_STRATEGY_SCHEDULER) - - // trait for the scheduler implementation base class - typedef ACE_DynScheduler BaseSchedImplType; - - // traits for the scheduler strategy -#if defined (TAO_USES_MUF_SCHEDULING) - - typedef ACE_MUF_Scheduler_Strategy Scheduler_Strategy; - -#elif defined (TAO_USES_MLF_SCHEDULING) -# if ! defined (TAO_MIN_CRITICAL_PRIORITY) -# define TAO_MIN_CRITICAL_PRIORITY 0 -# endif /* ! defined (TAO_MIN_CRITICAL_PRIORITY) */ - typedef ACE_MLF_Scheduler_Strategy Scheduler_Strategy; - -#elif defined (TAO_USES_EDF_SCHEDULING) - -# if ! defined (TAO_MIN_CRITICAL_PRIORITY) -# define TAO_MIN_CRITICAL_PRIORITY 0 -# endif /* ! defined (TAO_MIN_CRITICAL_PRIORITY) */ - typedef ACE_EDF_Scheduler_Strategy Scheduler_Strategy; - -#elif defined (TAO_USES_RMS_SCHEDULING) -# if ! defined (TAO_MIN_CRITICAL_PRIORITY) -# define TAO_MIN_CRITICAL_PRIORITY 0 -# endif /* ! defined (TAO_MIN_CRITICAL_PRIORITY) */ - typedef ACE_RMS_Scheduler_Strategy Scheduler_Strategy; - -#elif defined (TAO_USES_CRITICALITY_SCHEDULING) - typedef ACE_Criticality_Scheduler_Strategy Scheduler_Strategy; - -#else - #error scheduling strategy must be defined - -#endif /* defined (TAO_USES_MUF_SCHEDULING) */ - - Scheduler_Strategy scheduler_strategy_; - -#else /* ! defined (TAO_USES_STRATEGY_SCHEDULER) */ - - // trait for the scheduler implementation base class - typedef ACE_Scheduler BaseSchedImplType; - -#endif /* defined (TAO_USES_STRATEGY_SCHEDULER) */ - - // implementation base class pointer - BaseSchedImplType* impl; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* ACE_CONFIG_SCHEDULER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/DynSched.cpp b/TAO/orbsvcs/orbsvcs/Sched/DynSched.cpp deleted file mode 100644 index 69b1e25ddca..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/DynSched.cpp +++ /dev/null @@ -1,2423 +0,0 @@ -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// DynSched.cpp -// -// = CREATION DATE -// 23 January 1997 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#include "orbsvcs/Sched/DynSched.h" -#include "ace/Basic_Types.h" -#include "ace/Sched_Params.h" -#include "ace/OS_NS_stdio.h" -#include "ace/Null_Mutex.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Sched/DynSched.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Sched, DynSched, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////// -// Helper functions // -////////////////////// - -// compare the DFS finish times of two task entries, order higher time *first* -#if defined (ACE_HAS_WINCE) -int _cdecl compare_entry_finish_times (const void *first, const void *second) -#else -extern "C" int compare_entry_finish_times (const void *first, const void *second) -#endif // ACE_HAS_WINCE -{ - // sort blank entries to the end - if (! first) - { - return (second) ? 1 : 0; - } - else if (! second) - { - return -1; - } - - const Task_Entry *first_entry = - * static_cast (first); - const Task_Entry *second_entry = - * static_cast (second); - - // sort blank entries to the end - if (! first_entry) - { - return (second_entry) ? 1 : 0; - } - else if (! second_entry) - { - return -1; - } - - if (first_entry->finished () > second_entry->finished ()) - { - return -1; - } - else if (first_entry->finished () < second_entry->finished ()) - { - return 1; - } - - return 0; -} - -////////////////////////////////////////// -// class ACE_DynScheduler member functions // -////////////////////////////////////////// - -const char * -ACE_DynScheduler::status_message (ACE_DynScheduler::status_t status) -{ - switch (status) - { - case NOT_SCHEDULED : - return "NOT_SCHEDULED"; - case SUCCEEDED : - return "SUCCEEDED"; - case ST_NO_TASKS_REGISTERED : - return "ST_NO_TASKS_REGISTERED"; - case ST_TASK_ALREADY_REGISTERED : - return "TASK_ALREADY_REGISTERED"; - case ST_BAD_INTERNAL_POINTER : - return "BAD_INTERNAL_POINTER"; - case ST_VIRTUAL_MEMORY_EXHAUSTED : - return "VIRTUAL_MEMORY_EXHAUSTED"; - case ST_UNKNOWN_TASK : - return "UNKNOWN_TASK"; - case TASK_COUNT_MISMATCH : - return "TASK_COUNT_MISMATCH"; - case THREAD_COUNT_MISMATCH : - return "THREAD_COUNT_MISMATCH"; - case INVALID_PRIORITY : - return "INVALID_PRIORITY"; - case TWO_WAY_DISJUNCTION : - return "TWO_WAY_DISJUNCTION (IGNORED)"; - case TWO_WAY_CONJUNCTION : - return "TWO_WAY_CONJUNCTION (IGNORED)"; - case UNRECOGNIZED_INFO_TYPE : - return "UNRECOGNIZED_INFO_TYPE (IGNORED)"; - - // The following are only used during scheduling (in the case of - // off-line scheduling, they are only used prior to runtime). - // To save a little code space (280 bytes on g++ 2.7.2/Solaris 2.5.1), - // we could conditionally compile them so that they're not in the - // runtime version. - case ST_UTILIZATION_BOUND_EXCEEDED : - return "UTILIZATION_BOUND_EXCEEDED"; - case ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS : - return "INSUFFICIENT_THREAD_PRIORITY_LEVELS"; - case ST_CYCLE_IN_DEPENDENCIES : - return "CYCLE_IN_DEPENDENCIES"; - case ST_UNRESOLVED_REMOTE_DEPENDENCIES : - return "ST_UNRESOLVED_REMOTE_DEPENDENCIES"; - case ST_UNRESOLVED_LOCAL_DEPENDENCIES : - return "ST_UNRESOLVED_LOCAL_DEPENDENCIES"; - case ST_INVALID_PRIORITY_ORDERING : - return "INVALID_PRIORITY_ORDERING"; - case UNABLE_TO_OPEN_SCHEDULE_FILE : - return "UNABLE_TO_OPEN_SCHEDULE_FILE"; - case UNABLE_TO_WRITE_SCHEDULE_FILE : - return "UNABLE_TO_WRITE_SCHEDULE_FILE"; - // End of config-only status values. - - default: - break; - } - - return "UNKNOWN STATUS"; -} - -// = Utility function for creating an entry for determining -// the severity of an anomaly detected during scheduling. -ACE_DynScheduler::Anomaly_Severity -ACE_DynScheduler::anomaly_severity (ACE_DynScheduler::status_t status) -{ - // Determine severity of the anomaly - switch (status) - { - // Fatal anomalies reflect unrecoverable internal scheduler errors - case ST_BAD_INTERNAL_POINTER : - case ST_VIRTUAL_MEMORY_EXHAUSTED : - case THREAD_COUNT_MISMATCH : - case TASK_COUNT_MISMATCH : - return RtecScheduler::ANOMALY_FATAL; - - // Errors reflect severe problems with given scheduling information - case UNABLE_TO_OPEN_SCHEDULE_FILE : - case UNABLE_TO_WRITE_SCHEDULE_FILE : - case NOT_SCHEDULED : - case ST_UNRESOLVED_LOCAL_DEPENDENCIES : - case ST_UNKNOWN_TASK : - case ST_CYCLE_IN_DEPENDENCIES : - case ST_INVALID_PRIORITY_ORDERING : - return RtecScheduler::ANOMALY_ERROR; - - // Warnings reflect serious problems with given scheduling information - case ST_TASK_ALREADY_REGISTERED : - case ST_UNRESOLVED_REMOTE_DEPENDENCIES : - case ST_UTILIZATION_BOUND_EXCEEDED : - case ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS : - case TWO_WAY_DISJUNCTION : - case TWO_WAY_CONJUNCTION : - case UNRECOGNIZED_INFO_TYPE : - case ST_NO_TASKS_REGISTERED : - return RtecScheduler::ANOMALY_WARNING; - - // Produce a lowest severity anomaly for any unknown status value - default: - return RtecScheduler::ANOMALY_NONE; - } -} - - -// = Utility function for creating an entry for the -// log of anomalies detected during scheduling. -ACE_DynScheduler::Scheduling_Anomaly * -ACE_DynScheduler::create_anomaly (ACE_DynScheduler::status_t status) -{ - ACE_DynScheduler::Scheduling_Anomaly * anomaly; - ACE_NEW_RETURN (anomaly, ACE_DynScheduler::Scheduling_Anomaly, 0); - - anomaly->severity = anomaly_severity (status); - anomaly->description = status_message (status); - - return anomaly; -} - - -ACE_DynScheduler::ACE_DynScheduler () - // Set the minimum and maximum priority to those for the current platform. - // This shouldn't be necessary, but UPSingleProcessorOrb::initialize_reactors - // creates threads before the Event Channel calls Scheduler::init (). - : minimum_priority_ (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO, - ACE_SCOPE_PROCESS)) - , maximum_priority_ (ACE_Sched_Params::priority_max (ACE_SCHED_FIFO, - ACE_SCOPE_PROCESS)) - , task_entries_ (0) - , ordered_task_entries_ (0) - , thread_delineators_ (0) - , ordered_thread_dispatch_entries_ (0) - , dispatch_entries_ (0) - , config_info_entries_ (0) - , expanded_dispatches_ (0) - , ordered_dispatch_entries_ (0) - , dispatch_entry_count_ (0) - , threads_ (0) - , timeline_ (0) - , lock_ () - , rt_info_entries_ () - , handles_ (0) - , runtime_filename_ (0) - , rt_info_filename_ (0) - , timeline_filename_ (0) - , tasks_ (0) - , status_ (NOT_SCHEDULED) - , output_level_ (0) - , frame_size_ (1) - , critical_set_frame_size_ (0) - , utilization_ (0.0) - , critical_set_utilization_ (0.0) - , minimum_priority_queue_ (0) - , minimum_guaranteed_priority_queue_ (-1) - , up_to_date_ (0) - , min_dispatch_id_ (0) - , max_dispatch_id_ (0) -{ -} - - -ACE_DynScheduler::~ACE_DynScheduler () -{ - // release all resources used for the most recent schedule - reset (); -} - - -void -ACE_DynScheduler::init (const OS_Priority minimum_priority, - const OS_Priority maximum_priority, - const char *runtime_filename, - const char *rt_info_filename, - const char *timeline_filename) -{ - minimum_priority_ = minimum_priority; - maximum_priority_ = maximum_priority; - runtime_filename_ = runtime_filename; - rt_info_filename_ = rt_info_filename; - timeline_filename_ = timeline_filename; -} - // = initializes the scheduler. - -ACE_DynScheduler::status_t -ACE_DynScheduler::register_task (RT_Info *rt_info, handle_t &handle) -{ - ACE_DynScheduler::status_t ret = ST_UNKNOWN_TASK; - - // check the pointer we were passed - if (! rt_info) - { - handle = 0; - return ret; - } - - // try to store the new task's information . . . - switch (rt_info_entries_.insert (rt_info)) - { - case 0 : // successfully inserted - { - rt_info->handle = (handle = ++handles_); - ret = SUCCEEDED; - - // zero out the task entry ACT used by the scheduler - rt_info->volatile_token = 0; - - // make sure the schedule is reset when a new task is registered - reset (); - - if (output_level () >= 5) - { - ACE_OS::printf ("registered task \"%s\" with RT_Info at %p\n", - (const char*)(rt_info->entry_point), rt_info); - } - } - break; - - case 1 : // the entry had already been inserted - handle = 0; - ret = ST_TASK_ALREADY_REGISTERED; - break; - - default : - // case -1 : insert failed, probably because virtual memory exhaused - handle = 0; - ret = ST_VIRTUAL_MEMORY_EXHAUSTED; - break; - } - - return ret; -} - // = registers a task. - - - -ACE_DynScheduler::status_t -ACE_DynScheduler::get_rt_info (Object_Name name, - RT_Info* &rtinfo) -{ - handle_t handle; - - // This makes a copy. We can optimize this with our own string - // class. - ACE_CString lookup (name); - // Search the map for the . If found, return the RT_Info. - if (info_collection_.find (lookup, rtinfo) >= 0) - { - // If we find it, return. - return SUCCEEDED; - } - else - // Otherwise, make one, bind it, and register it. - { - rtinfo = new RT_Info; - rtinfo->info_type = RtecScheduler::OPERATION; - rtinfo->entry_point = CORBA::string_dup(name); - // Bind the rtinfo to the name. - if (info_collection_.bind (lookup, rtinfo) != 0) - { - delete rtinfo; - rtinfo = 0; - return FAILED; // Error! - } - else - { - // Register the task - status_t result = this->register_task (rtinfo, handle); - if (result == SUCCEEDED) - { - rtinfo->handle = handle; - return ST_UNKNOWN_TASK; // Didn't find it, but made one! - } - else - { - rtinfo->handle = 0; - return FAILED; - } - } - } -} - - - - -int ACE_DynScheduler::priority ( - const RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority &priority, - RtecScheduler::Preemption_Subpriority_t &subpriority, - RtecScheduler::Preemption_Priority_t &preemption_prio) -{ - // look up the RT_Info that has the given handle - RT_Info *rt_info = 0; - if (lookup_rt_info (handle, rt_info) == SUCCEEDED) - { - // copy the priority values from the RT_Info - priority = rt_info->priority; - subpriority = rt_info->preemption_subpriority; - preemption_prio = rt_info->preemption_priority; - - return 0; - } - else - - { - // RT_Info not found: assign default priority values - priority = minimum_priority_; - subpriority = ACE_Scheduler_MIN_SUB_PRIORITY; - preemption_prio = ACE_Scheduler_MAX_PREEMPTION_PRIORITY; - - if (output_level () >= 3) - { - ACE_OS::printf ("preemption_prio %d: min %d, pri %d, min_pri %d\n", - preemption_prio, minimum_priority_queue (), - priority, minimum_priority_); - } - - return -1; - } -} - // "priority" is the OS thread priority that was assigned to the Task that - // was assigned "handle". "subpriority" combines the dynamic and static - // subpriorities of the Task that was assigned handle. "preemption_prio" - // is a platform-independent priority queue number, ranging from a - // highest priority value of 0 to the lowest priority value, which is - // returned by "minimum_priority_queue ()". The current and deadline times - // supplied are used to compute the operation's dynamic subpriority - // Returns 0 on success, or -1 if an invalid handle was supplied. - - -int ACE_DynScheduler::number_of_dependencies(RT_Info* rt_info) -{ - return rt_info->dependencies.length(); -} - -int ACE_DynScheduler::number_of_dependencies(RT_Info& rt_info) -{ - return rt_info.dependencies.length(); -} - -int ACE_DynScheduler::add_dependency(RT_Info* rt_info, - Dependency_Info& d) -{ - RT_Info *temp_info = 0; // temporary pointer to the caller's RT_Info - - switch (d.dependency_type) - { - case RtecBase::TWO_WAY_CALL: - - temp_info = rt_info; - break; - - case RtecBase::ONE_WAY_CALL: - - // swap the handles and point to the caller instead of the called operation - if (lookup_rt_info (d.rt_info, temp_info) != SUCCEEDED) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("cannot find %d to add dependency\n"), d.rt_info)); - return -1; - } - - d.rt_info = rt_info->handle; - break; - - default: - - ACE_ERROR ((LM_ERROR, - ACE_TEXT("unrecognized dependency type %d for %s\n"), - d.dependency_type, ACE_TEXT_CHAR_TO_TCHAR(rt_info->entry_point.in ()))); - return -1; - } - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("Sched (%t) adding %s dependency to caller: %s\n"), - (const ACE_TCHAR *) ((d.dependency_type == RtecBase::TWO_WAY_CALL) - ? ACE_TEXT("TWO_WAY") : ACE_TEXT("ONE_WAY")), - ACE_TEXT_CHAR_TO_TCHAR(temp_info->entry_point.in ()))); - - RtecScheduler::Dependency_Set& set = temp_info->dependencies; - int l = set.length(); - set.length(l + 1); - set[l] = d; - return 0; -} - -void ACE_DynScheduler::export_to_file (RT_Info* info, FILE* file) -{ - ACE_DynScheduler::export_to_file (*info, file); -} - -void ACE_DynScheduler::export_to_file (RT_Info& info, FILE* file) -{ - (void) ACE_OS::fprintf (file, - "%s\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%u\n" - "# begin calls\n%d\n", - info.entry_point.in (), - info.handle, - ACE_U64_TO_U32 (info.worst_case_execution_time), - ACE_U64_TO_U32 (info.typical_execution_time), - ACE_U64_TO_U32 (info.cached_execution_time), - int(info.period), - info.criticality, - info.importance, - ACE_U64_TO_U32 (info.quantum), - info.threads, - number_of_dependencies(info)); - - for (int i = 0; i < number_of_dependencies(info); ++i) - { - RT_Info tmp; - (void) ACE_OS::fprintf (file, "%s, %d\n", - (const char*)tmp.entry_point, - info.dependencies[i].number_of_calls); - - } - - (void) ACE_OS::fprintf (file, "# end calls\n%d\n%d\n\n", - info.priority, - info.preemption_subpriority); - - -} - - -int -ACE_DynScheduler::dispatch_configuration (const Preemption_Priority & p_priority, - OS_Priority & priority, - Dispatching_Type & d_type) -{ - // look up the stored configuration info for the given priority level - Config_Info *config_info; - if (lookup_config_info (p_priority, config_info) != SUCCEEDED) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("Config info for priority %lu could not be found\n"), - p_priority), - -1); - } - - priority = config_info->thread_priority; - d_type = config_info->dispatching_type; - - return 0; -} - // provide the thread priority and queue type for the given priority level - - -ACE_DynScheduler::status_t -ACE_DynScheduler::lookup_rt_info (handle_t handle, - RT_Info*& rtinfo) -{ - if (handle < 0 || (size_t) handle > rt_info_entries_.size ()) - { - return ST_UNKNOWN_TASK; - } - - RT_Info** entry; - ACE_Unbounded_Set_Iterator i (rt_info_entries_); - while (i.next (entry) != 0) - { - i.advance (); - RT_Info* info_ptr = *entry; - if (info_ptr->handle == handle) - { - rtinfo = info_ptr; - return SUCCEEDED; - } - } - - return ST_UNKNOWN_TASK; -} - // obtains an RT_Info based on its "handle". - -ACE_DynScheduler::status_t -ACE_DynScheduler::lookup_config_info (Preemption_Priority priority, - Config_Info* &config_info) -{ - if (config_info_entries_ == 0) - { - return NOT_SCHEDULED; - } - - if (priority < 0 || (size_t) priority > config_info_entries_->size ()) - { - return ST_UNKNOWN_PRIORITY; - } - - Config_Info** entry; - ACE_Unbounded_Set_Iterator i (*config_info_entries_); - while (i.next (entry) != 0) - { - i.advance (); - Config_Info* config_ptr = *entry; - if (config_ptr->preemption_priority == priority) - { - config_info = config_ptr; - return SUCCEEDED; - } - } - - return ST_UNKNOWN_PRIORITY; -} - // Obtains a Config_Info based on its priority. - - -void -ACE_DynScheduler::reset () -{ - // if the schedule is up to date, free resources - // and mark schedule as not being up to date - if (up_to_date_) - { - delete [] task_entries_; - task_entries_ = 0; - - delete [] ordered_task_entries_; - ordered_task_entries_ = 0; - - delete thread_delineators_; - thread_delineators_ = 0; - - delete [] ordered_thread_dispatch_entries_; - ordered_thread_dispatch_entries_ = 0; - - if (dispatch_entries_) - { - // free all the dispatch entries in the list, then the list itself - ACE_Unbounded_Set_Iterator iter (*dispatch_entries_); - Dispatch_Entry **entry = 0; - for (iter.first (); ! iter.done (); iter.advance (), entry = 0) - { - if ((iter.next (entry) != 0) && (entry) && (*entry)) - { - delete (*entry); - } - } - delete dispatch_entries_; - dispatch_entries_ = 0; - } - - if (config_info_entries_) - { - // free all the config info entries in the list, then the list itself - ACE_Unbounded_Set_Iterator iter (*config_info_entries_); - Config_Info **entry = 0; - for (iter.first (); ! iter.done (); iter.advance (), entry = 0) - { - if ((iter.next (entry) != 0) && (entry) && (*entry)) - { - delete (*entry); - } - } - delete config_info_entries_; - config_info_entries_ = 0; - } - - - if (expanded_dispatches_) - { - // free all the dispatch entries in the list, then the list itself - ACE_Unbounded_Set_Iterator expanded_iter (*expanded_dispatches_); - Dispatch_Entry **expanded_entry = 0; - for (expanded_iter.first (); ! expanded_iter.done (); - expanded_iter.advance (), expanded_entry = 0) - { - if ((expanded_iter.next (expanded_entry) != 0) && - (expanded_entry) && (*expanded_entry)) - { - delete (*expanded_entry); - } - } - delete expanded_dispatches_; - expanded_dispatches_ = 0; - } - - delete [] ordered_dispatch_entries_; - ordered_dispatch_entries_ = 0; - - dispatch_entry_count_ = 0; - threads_ = 0; - - status_ = NOT_SCHEDULED; - - frame_size_ = 1; - critical_set_frame_size_ = 0; - utilization_ = 0.0; - critical_set_utilization_ = 0.0; - minimum_priority_queue_ = 0; - minimum_guaranteed_priority_queue_ = -1; - - if (timeline_) - { - // iterate over and delete the set of timeline entries - ACE_Ordered_MultiSet_Iterator t_iter (*timeline_); - TimeLine_Entry_Link *t_entry = 0; - for (t_iter.first (); ! t_iter.done (); t_iter.advance (), t_entry = 0) - { - if ((t_iter.next (t_entry) != 0) && (t_entry)) - { - delete &(t_entry->entry ()); - } - } - delete timeline_; - timeline_ = 0; - } - - up_to_date_ = 0; - } -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::schedule ( - ACE_Unbounded_Set &anomaly_set) -{ - ACE_GUARD_RETURN (LOCK, ace_mon, lock_, ACE_DynScheduler::FAILED); - - RtecScheduler::Anomaly_Severity severity = RtecScheduler::ANOMALY_NONE; - RtecScheduler::Anomaly_Severity temp_severity = RtecScheduler::ANOMALY_NONE; - status_t temp_status = SUCCEEDED; - Scheduling_Anomaly *anomaly = 0; - ACE_CString unresolved_locals (""), unresolved_remotes (""); - - if (up_to_date_) - { - // do nothing if the RT_Infos have not changed - // since the last valid schedule was generated - return SUCCEEDED; - } - else - { - // save the total number of registered RT_Infos - tasks (static_cast (rt_info_entries_.size ())); - } - - // set up the task entry data structures - status_ = setup_task_entries (); - if (status_ != SUCCEEDED) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (status_); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - switch (anomaly->severity) - { - case RtecScheduler::ANOMALY_FATAL : - return status_; - - default: - severity = anomaly->severity; - break; - } - } - - // check for cycles in the dependency graph: as a side effect, leaves - // the ordered_task_entries_ pointer array sorted in topological order, - // which is used by propagate_dispatches () to ensure that dispatches - // are propagated top down in the call graph. - temp_status = check_dependency_cycles (); - if (temp_status != SUCCEEDED) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (temp_status); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - switch (anomaly->severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = anomaly->severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = anomaly->severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // task entries are related, now threads can be found - temp_status = identify_threads (unresolved_locals, - unresolved_remotes); - if (temp_status != SUCCEEDED) - { - temp_severity = anomaly_severity (temp_status); - switch (temp_severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = temp_severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = temp_severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // invoke the internal thread scheduling method of the strategy - temp_status = schedule_threads (anomaly_set); - if (temp_status != SUCCEEDED) - { - temp_severity = anomaly_severity (temp_status); - switch (temp_severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = temp_severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = temp_severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // propagate the dispatch information from the - // threads throughout the call graph - temp_status = propagate_dispatches (anomaly_set, - unresolved_locals, - unresolved_remotes); - if (temp_status != SUCCEEDED) - { - temp_severity = anomaly_severity (temp_status); - switch (temp_severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = temp_severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = temp_severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // log anomalies for unresolved local dependencies - if (unresolved_locals.length () > 0) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (ST_UNRESOLVED_LOCAL_DEPENDENCIES); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - ACE_NEW_RETURN (anomaly, ACE_DynScheduler::Scheduling_Anomaly, - ST_VIRTUAL_MEMORY_EXHAUSTED); - - ACE_CString temp_str ("The following entry points have " - "unresolved local dependencies:\n"); - temp_str += unresolved_locals; - - anomaly->severity = - anomaly_severity (ST_UNRESOLVED_LOCAL_DEPENDENCIES); - anomaly->description = temp_str.c_str (); - anomaly_set.insert (anomaly); - } - - // log anomalies for unresolved remote dependencies - if (unresolved_remotes.length () > 0) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (ST_UNRESOLVED_REMOTE_DEPENDENCIES); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - ACE_NEW_RETURN (anomaly, ACE_DynScheduler::Scheduling_Anomaly, - ST_VIRTUAL_MEMORY_EXHAUSTED); - - ACE_CString temp_str ("The following entry points have " - "unresolved remote dependencies:\n"); - temp_str += unresolved_remotes; - - anomaly->severity = - anomaly_severity (ST_UNRESOLVED_REMOTE_DEPENDENCIES); - anomaly->description = temp_str.c_str (); - anomaly_set.insert (anomaly); - } - - // invoke the internal dispatch scheduling method of the strategy - temp_status = schedule_dispatches (anomaly_set); - if (temp_status != SUCCEEDED) - { - temp_severity = anomaly_severity (temp_status); - switch (temp_severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = temp_severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = temp_severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // calculate utilization, total frame size, critical set - temp_status = calculate_utilization_params (); - if (temp_status != SUCCEEDED) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (temp_status); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - switch (anomaly->severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = anomaly->severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = anomaly->severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // calculate utilization, total frame size, critical set - temp_status = store_assigned_info (); - if (temp_status != SUCCEEDED) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (temp_status); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - switch (anomaly->severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = anomaly->severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = anomaly->severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - // generate, store the timeline to a file if file was given - if (timeline_filename_ != 0) - { - // generate the scheduling timeline over the total frame size - temp_status = create_timeline (); - if (temp_status != SUCCEEDED) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (temp_status); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - switch (anomaly->severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = anomaly->severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = anomaly->severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - - - temp_status = output_timeline (timeline_filename_, 0); - if (temp_status != SUCCEEDED) - { - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (temp_status); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - switch (anomaly->severity) - { - case RtecScheduler::ANOMALY_FATAL : - status_ = temp_status; - return status_; - - case RtecScheduler::ANOMALY_ERROR : - severity = anomaly->severity; - status_ = temp_status; - break; - - case RtecScheduler::ANOMALY_WARNING : - if (severity == RtecScheduler::ANOMALY_NONE) - { - severity = anomaly->severity; - status_ = temp_status; - } - break; - - default: - break; - } - } - } - - // if a valid schedule was generated, mark it as up to date - switch (status_) - { - // These are statuses that indicate a reasonable schedule was generated. - case SUCCEEDED: - case ST_TASK_ALREADY_REGISTERED : - case ST_UNRESOLVED_REMOTE_DEPENDENCIES : - case ST_UTILIZATION_BOUND_EXCEEDED : - case ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS : - - // if we made it here, the schedule is done - up_to_date_ = 1; - - break; - - default: - break; - } - - - return status_; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::propagate_dispatches ( - ACE_Unbounded_Set &anomaly_set, - ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes) -{ - u_long i; - frame_size_ = 1; - status_t status = SUCCEEDED; - Scheduling_Anomaly * anomaly = 0; - - // iterate through the ordered_task_entries_ array in order - // from highest DFS finishing time to lowest, so that every - // calling dispatch is accessed before those it calls: - // the dispatches propagate top down through the call DAG - for (i = 0; i < tasks (); ++i) - { - switch (ordered_task_entries_ [i]->merge_dispatches (*dispatch_entries_, - unresolved_locals, - unresolved_remotes)) - { - case Task_Entry::INTERNAL_ERROR : - // Create an anomaly, add it to anomaly set - anomaly = create_anomaly (ST_BAD_INTERNAL_POINTER); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - return ST_BAD_INTERNAL_POINTER; - - case Task_Entry::TWO_WAY_DISJUNCTION : - if (status == SUCCEEDED) - { - status = TWO_WAY_DISJUNCTION; - } - anomaly = create_anomaly (TWO_WAY_DISJUNCTION); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - break; - - case Task_Entry::TWO_WAY_CONJUNCTION : - if (status == SUCCEEDED) - { - status = TWO_WAY_CONJUNCTION; - } - anomaly = create_anomaly (TWO_WAY_CONJUNCTION); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - break; - - case Task_Entry::UNRECOGNIZED_INFO_TYPE : - if (status == SUCCEEDED) - { - status = UNRECOGNIZED_INFO_TYPE; - } - anomaly = create_anomaly (UNRECOGNIZED_INFO_TYPE); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - break; - - case Task_Entry::SUCCEEDED : - default: - break; - } - - if (ordered_task_entries_ [i]->effective_period () > 0) - { - frame_size_ = - ACE::minimum_frame_size (frame_size_, - ordered_task_entries_ [i]-> - effective_period ()); - } - } - - return status; -} -// propagate the dispatch information from the -// threads throughout the call graph - - -ACE_DynScheduler::status_t -ACE_DynScheduler::calculate_utilization_params (void) -{ - critical_set_frame_size_ = 0; - utilization_ = 0.0; - critical_set_utilization_ = 0.0; - - minimum_priority_queue_ = - ordered_dispatch_entries_ [0]->priority (); - - minimum_guaranteed_priority_queue_ = -1; - - // iterate through ordered task entries, calculating frame size, utilization - for (u_int i = 0; i < dispatch_entry_count_; ++i) - { - // if we've just finished examining another priority level - if (minimum_priority_queue_ != ordered_dispatch_entries_ [i]->priority ()) - { - // update parameters for the previous priority level - update_priority_level_params (); - - // update the minimum priority queue - minimum_priority_queue_ = ordered_dispatch_entries_ [i]->priority (); - } - - // Only consider computation times of dispatches of - // OPERATION and REMOTE_DEPENDANT descriptors. - if (((ordered_dispatch_entries_ [i]->task_entry ().info_type () == - RtecScheduler::OPERATION) || - (ordered_dispatch_entries_ [i]->task_entry ().info_type () == - RtecScheduler::REMOTE_DEPENDANT)) && - (ordered_dispatch_entries_ [i]->task_entry ().effective_period () > 0)) - { - utilization_ += - static_cast (ACE_UINT64_DBLCAST_ADAPTER (ordered_dispatch_entries_ [i]-> - task_entry ().rt_info ()->worst_case_execution_time)) / - static_cast (ordered_dispatch_entries_ [i]-> - task_entry ().effective_period ()); - } - } - - // update parameters for the lowest priority level - update_priority_level_params (); - - // if the critical set is schedulable, return success - return (1.0 - critical_set_utilization_ > DBL_EPSILON) - ? SUCCEEDED : ST_UTILIZATION_BOUND_EXCEEDED; -} - - - -void -ACE_DynScheduler::update_priority_level_params () -{ - // if we've just finished examining a critical priority level - if (minimum_priority_queue_ <= minimum_critical_priority ()) - { - // update the information about the critical set - critical_set_frame_size_ = frame_size_; - critical_set_utilization_ = utilization_; - } - - // if the lowest priority level considered is schedulable - if (1.0 - utilization_ > DBL_EPSILON) - { - // the minimum guaranteed priority queue is the minimum considered so far - minimum_guaranteed_priority_queue_ = minimum_priority_queue_; - } -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::setup_task_entries (void) -{ - // store number of tasks, based on registrations - tasks (static_cast (rt_info_entries_.size ())); - - // bail out if there are no tasks registered - if (tasks () <= 0) - { - return ST_NO_TASKS_REGISTERED; - } - - // clear the decks of any previous scheduling information - reset (); - - // allocate new table of task entries (wrappers for rt_infos) - size_t task_count = tasks (); - ACE_NEW_RETURN (task_entries_, Task_Entry [task_count], - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // allocate new table of pointers to task entries (for sorting) - ACE_NEW_RETURN (ordered_task_entries_, Task_Entry *[task_count], - ST_VIRTUAL_MEMORY_EXHAUSTED); - // @@ TODO: this is completely bogus code, the bit-wise - // representation of a null pointer is not always a string of - // zeroes. The correct way to intialize this array is with a for - // loop. - // ACE_OS::memset (ordered_task_entries_, 0, - // sizeof (Task_Entry *) * task_count); - for (size_t j = 0; j != task_count; ++j) - ordered_task_entries_[j] = 0; - - // allocate new unbounded set for pointers to - // task entries that delineate threads - ACE_NEW_RETURN (thread_delineators_, ACE_Unbounded_Set , - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // allocate new unbounded set for pointers to dispatch entries - ACE_NEW_RETURN (dispatch_entries_, - ACE_Unbounded_Set , - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // allocate new unbounded set for pointers to config info entries - ACE_NEW_RETURN (config_info_entries_, - ACE_Unbounded_Set , - ST_VIRTUAL_MEMORY_EXHAUSTED); - - - // set up links between rt_info_entries_, task_entries_, - // and ordered_task_entries_ tables - ACE_Unbounded_Set_Iterator iter (rt_info_entries_); - for (u_int i = 0; i < tasks (); ++i, iter.advance ()) - { - RT_Info** info_entry; - - // tie task entry to corresponding rt_info - if (! iter.next (info_entry)) - { - return ST_BAD_INTERNAL_POINTER; - } - task_entries_ [i].rt_info (*info_entry); - - // Tie rt_info to corresponding task entry: the double cast is - // needed to ensure that the size of the pointer and the size of the - // stored magic cookie are the same (see the definition of - // ptrdiff_t in ACE to grok how this works portably). - task_entries_ [i].rt_info ()->volatile_token = - static_cast (reinterpret_cast (&(task_entries_ [i]))); - - // tie ordered task entry pointer to corresponding task entry - ordered_task_entries_ [i] = &(task_entries_ [i]); - } - - // set up bidirectional links between task entries - return relate_task_entries (); -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::relate_task_entries (void) -{ - status_t status = SUCCEEDED; - - // do DFS traversal of the entire RT_Info handle dependency DAG, replicating - // the handle dependency DAG as a calls DAG of pointers between task - // entries (and creating its transpose, the callers DAG). This is done - // to avoid the O(n) cost of handle lookups in the RT_Infos for further - // traversal of the graph during schedule sorting. One useful side effect - // of this traversal is that is produces a topological ordering of dependencies - // in the traversal finishing times, which can be used to detect call cycles. - long time = 0; - - for (u_int i = 0; i < tasks (); ++i) - { - if ((status = relate_task_entries_recurse (time, task_entries_[i])) - != SUCCEEDED) - { - break; - } - } - - return status; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::relate_task_entries_recurse (long &time, Task_Entry &entry) -{ - - // may have entered at a non-root node previously, so this does - // not necessarily indicate a cycle in the dependency graph - if (entry.dfs_status () != Task_Entry::NOT_VISITED) - { - return SUCCEEDED; - } - - // when a node is discovered, mark it as visited, increment "time" and - // store as the entry's discovery time. This is not currently used in - // the scheduling algorithms, but is left in for possible future use - // as it shows full parenthetization of entry discovery/finishing. - entry.dfs_status (Task_Entry::VISITED); - entry.discovered (++time); - - u_int dependency_count = number_of_dependencies (*entry.rt_info ()); - if (dependency_count > 0) - { - // traverse dependencies of underlying RT_Info - for (u_int i = 0; i < dependency_count; ++i) - { - // obtain a pointer to the corresponding Task_Entry for each dependency - - RT_Info* dependency_info = 0; - lookup_rt_info(entry.rt_info ()->dependencies[i].rt_info, dependency_info); - - if (! dependency_info) - { - return ST_BAD_INTERNAL_POINTER; - } - - // Obtain a pointer to the Task_Entry from the dependency - // RT_Info: the double cast is needed to ensure that the size of - // the pointer and the size of the stored magic cookie are the - // same (see the definition of ptrdiff_t in ACE to grok how - // this works portably). - Task_Entry *dependency_entry_ptr = - ACE_LONGLONG_TO_PTR (Task_Entry *, dependency_info->volatile_token); - - if (! dependency_entry_ptr) - { - return ST_BAD_INTERNAL_POINTER; - } - - // relate the entries according to the direction of the dependency - Task_Entry_Link *link; - ACE_NEW_RETURN (link, - Task_Entry_Link (entry, - *dependency_entry_ptr, - entry.rt_info ()->dependencies[i].number_of_calls, - entry.rt_info ()->dependencies[i].dependency_type), - ST_VIRTUAL_MEMORY_EXHAUSTED); - - dependency_entry_ptr->callers ().insert (link); - entry.calls ().insert (link); - - // depth first recursion on the newly identified entry - relate_task_entries_recurse (time, *dependency_entry_ptr); - } - } - - // when a node is finished, mark it as finished, increment "time" and - // store as the entry's finish time. This produces a topological ordering - // based on dependencies, which is used to check for call cycles. - entry.dfs_status (Task_Entry::FINISHED); - entry.finished (++time); - - return SUCCEEDED; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::identify_threads (ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes) -{ - u_int i, j; - ACE_DynScheduler::status_t result = SUCCEEDED; - char string_buffer [BUFSIZ]; - - // walk array of task entries, picking out thread delineators - for (i = 0; i < tasks_; i++) - { - // if entry has exposed threads or no callers, it may be a thread - if ((task_entries_ [i].rt_info ()->threads > 0) || - (task_entries_ [i].callers ().is_empty ())) - { - // if its period is valued, it's a thread delineator - if (task_entries_ [i].rt_info ()->period > 0) - { - task_entries_ [i].effective_period (task_entries_ [i].rt_info ()->period); - task_entries_ [i].is_thread_delineator (1); - - // create a Dispatch_Entry for each thread of the delimiting Task_Entry - u_int thread_count = (task_entries_ [i].rt_info ()->threads > 0) - ? task_entries_ [i].rt_info ()->threads : 1; - // Just use low 32 bits of effective_period. This will - // have to change when TimeBase.idl is finalized. - const TimeBase::TimeT zero = 0; - for (j = 0; j < thread_count; j++) - { - Dispatch_Entry *dispatch_ptr; - const TimeBase::TimeT effective_period = - task_entries_ [i].effective_period (); - ACE_NEW_RETURN(dispatch_ptr, - Dispatch_Entry (zero, - effective_period, - task_entries_ [i].rt_info ()->preemption_priority, - task_entries_ [i].rt_info ()->priority, - task_entries_ [i]), - ST_VIRTUAL_MEMORY_EXHAUSTED); - - if ((task_entries_ [i].dispatches ().insert (Dispatch_Entry_Link (*dispatch_ptr)) < 0) || - (dispatch_entries_->insert (dispatch_ptr) < 0) || - (thread_delineators_->insert (dispatch_ptr) < 0)) - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - // increase the count of thread dispatches - ++ threads_; - } - } - else if (task_entries_ [i].rt_info ()->info_type == RtecScheduler::REMOTE_DEPENDANT) - { - // Warn about unresolved remote dependencies, mark the task entry - - result = (result == SUCCEEDED) - ? ST_UNRESOLVED_REMOTE_DEPENDENCIES - : result; - - task_entries_ [i].has_unresolved_remote_dependencies (1); - - ACE_DEBUG ( - (LM_DEBUG, - ACE_TEXT("Warning: an operation identified by ") - ACE_TEXT("\"%s\" has unresolved remote dependencies.\n"), - ACE_TEXT_CHAR_TO_TCHAR((const char*)task_entries_ [i].rt_info ()->entry_point))); - - // Record entry point in list of unresolved remote dependencies - ACE_OS::sprintf (string_buffer, "// %s\n", - (const char*) task_entries_ [i].rt_info ()-> - entry_point); - unresolved_remotes += - ACE_CString (string_buffer); - } - else - { - // Local node that no one calls and has neither rate nor threads is suspect - ACE_DEBUG ( - (LM_DEBUG, - ACE_TEXT("Error: operation \"%s\" does not specify a period or\n") - ACE_TEXT("visible threads, and is not called by any other operation.\n") - ACE_TEXT("Are there backwards dependencies.\n"), - ACE_TEXT_CHAR_TO_TCHAR((const char*)task_entries_ [i].rt_info ()->entry_point))); - - result = ST_UNRESOLVED_LOCAL_DEPENDENCIES; - - task_entries_ [i].has_unresolved_local_dependencies (1); - - // Record entry point in list of unresolved local dependencies - ACE_OS::sprintf (string_buffer, "// %s\n", - (const char*) task_entries_ [i].rt_info ()-> - entry_point); - unresolved_locals += - ACE_CString (string_buffer); - } - } - } - - return result; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::check_dependency_cycles (void) -{ - status_t return_status = SUCCEEDED; - - // sort the pointers to entries in order of descending finish time - ACE_OS::qsort ((void *) ordered_task_entries_, - tasks (), - sizeof (Task_Entry *), - compare_entry_finish_times); - - // set all the dfs_status indicators to NOT_VISITED - u_int i; - for (i = 0; i < tasks (); ++i) - { - ordered_task_entries_ [i]->dfs_status (Task_Entry::NOT_VISITED); - } - - // recurse on each entry, saving most recent status if it is not SUCCEEDED - for (i = 0; i < tasks (); ++i) - { - status_t status = - check_dependency_cycles_recurse (*ordered_task_entries_ [i]); - - if (status != SUCCEEDED) - { - return_status = status; - } - } - - return return_status; -} - // uses strongly connected components algorithm: consider entries - // in order of finishing time from dependency DAG traversal, - // but traverse transpose graph: any entry that has a dependant - // that was not previously visited in this traversal is part - // of a dependency cycle - - -ACE_DynScheduler::status_t -ACE_DynScheduler::check_dependency_cycles_recurse (Task_Entry &entry) -{ - status_t return_status = SUCCEEDED; - - // halt DFS recursion on callers graph if entry has already been visited - if (entry.dfs_status () != Task_Entry::NOT_VISITED) - { - return return_status; - } - - // mark the entry as visited - entry.dfs_status (Task_Entry::VISITED); - - // check all the calling operations: if there is one that has not already been - // visited, mark the return status indicating there is a cycle, print - // an error message to that effect, and recurse on that dependant - Task_Entry_Link **calling_entry_link; - ACE_Unbounded_Set_Iterator i (entry.callers ()); - while (i.next (calling_entry_link) != 0) - { - i.advance (); - if ((*calling_entry_link)->caller ().dfs_status () == Task_Entry::NOT_VISITED) - { - // indicate the two tasks are in (the same) dependency cycle - ACE_ERROR ((LM_ERROR, - ACE_TEXT("Tasks \"%s\" and \"%s\" are part of a call cycle.\n"), - ACE_TEXT_CHAR_TO_TCHAR((*calling_entry_link)->caller ().rt_info ()->entry_point.in ()), - ACE_TEXT_CHAR_TO_TCHAR(entry.rt_info ()->entry_point.in ()))); - - // set return status, ignore status returned by recursive call: - // we already know there are cycles in the dependencies - return_status = ST_CYCLE_IN_DEPENDENCIES; - check_dependency_cycles_recurse ((*calling_entry_link)->caller ()); - } - } - - // mark the entry as finished - entry.dfs_status (Task_Entry::FINISHED); - - return return_status; -} - - -ACE_DynScheduler::status_t -ACE_DynScheduler::schedule_threads (ACE_Unbounded_Set &anomaly_set) -{ - // make sure there are as many thread delineator - // entries in the set as the counter indicates - if (threads_ != thread_delineators_->size ()) - { - return THREAD_COUNT_MISMATCH; - } - - // allocate an array of pointers to the thread delineators - ACE_NEW_RETURN (ordered_thread_dispatch_entries_, - Dispatch_Entry * [threads_], - ST_VIRTUAL_MEMORY_EXHAUSTED); - ACE_OS::memset (ordered_thread_dispatch_entries_, 0, - sizeof (Dispatch_Entry *) * threads_); - - - // copy pointers to the thread delineators from the set to the array - ACE_Unbounded_Set_Iterator iter (*thread_delineators_); - for (u_int i = 0; i < threads_; ++i, iter.advance ()) - { - Dispatch_Entry** dispatch_entry; - - if (! iter.next (dispatch_entry)) - { - return ST_BAD_INTERNAL_POINTER; - } - - ordered_thread_dispatch_entries_ [i] = *dispatch_entry; - } - - // sort the thread dispatch entries into priority order - status_t status = sort_dispatches (ordered_thread_dispatch_entries_, threads_); - - if (status == SUCCEEDED) - { - // assign priorities to the thread dispatch entries - status = assign_priorities (ordered_thread_dispatch_entries_, - threads_, anomaly_set); - } - - return status; -} - // thread scheduling method: sets up array of pointers to task - // entries that are threads, calls internal thread scheduling method - -ACE_DynScheduler::status_t -ACE_DynScheduler::schedule_dispatches (ACE_Unbounded_Set &anomaly_set) -{ - dispatch_entry_count_ = static_cast (dispatch_entries_->size ()); - - ACE_NEW_RETURN (ordered_dispatch_entries_, - Dispatch_Entry * [dispatch_entry_count_], - ST_VIRTUAL_MEMORY_EXHAUSTED); - ACE_OS::memset (ordered_dispatch_entries_, 0, - sizeof (Dispatch_Entry *) * dispatch_entry_count_); - - ACE_Unbounded_Set_Iterator iter (*dispatch_entries_); - for (u_int i = 0; i < dispatch_entry_count_; ++i, iter.advance ()) - { - Dispatch_Entry** dispatch_entry; - - if (! iter.next (dispatch_entry)) - { - return ST_BAD_INTERNAL_POINTER; - } - - ordered_dispatch_entries_ [i] = *dispatch_entry; - } - - // sort the entries in order of priority and subpriority - sort_dispatches (ordered_dispatch_entries_, dispatch_entry_count_); - - // assign dynamic and static subpriorities to the thread dispatch entries - return assign_subpriorities (ordered_dispatch_entries_, - dispatch_entry_count_, anomaly_set); -} - // dispatch scheduling method: sets up an array of dispatch entries, - // calls internal dispatch scheduling method. - -ACE_DynScheduler::status_t -ACE_DynScheduler::store_assigned_info (void) -{ - for (u_int i = 0; i < dispatch_entry_count_; ++i) - { - if ((! ordered_dispatch_entries_) || (! (ordered_dispatch_entries_[i])) || - (! (ordered_dispatch_entries_[i]->task_entry ().rt_info ()))) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::store_assigned_info () could not store ") - ACE_TEXT("priority information (error in internal representation)")), - ST_BAD_INTERNAL_POINTER); - } - - // set OS priority and Scheduler preemption priority and static - // preemption subpriority in underlying RT_Info - ordered_dispatch_entries_ [i]->task_entry ().rt_info ()->priority = - ordered_dispatch_entries_ [i]->OS_priority (); - ordered_dispatch_entries_ [i]->task_entry ().rt_info ()->preemption_priority = - ordered_dispatch_entries_ [i]->priority (); - ordered_dispatch_entries_ [i]->task_entry ().rt_info ()->preemption_subpriority = - ordered_dispatch_entries_ [i]->static_subpriority (); - } - - return SUCCEEDED; -} - // = store assigned information back into the RT_Infos - - -ACE_DynScheduler::status_t -ACE_DynScheduler::create_timeline () -{ - // queue of previously scheduled entries that need to be rescheduled - ACE_Unbounded_Queue reschedule_queue; - - status_t status = SUCCEEDED; - - ACE_NEW_RETURN(timeline_, ACE_Ordered_MultiSet , - ST_VIRTUAL_MEMORY_EXHAUSTED); - - ACE_NEW_RETURN(expanded_dispatches_, ACE_Unbounded_Set , - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // start with the id of the first entry in the array - min_dispatch_id_ = ordered_dispatch_entries_[0]->dispatch_id (); - max_dispatch_id_ = ordered_dispatch_entries_[0]->dispatch_id (); - - for (u_long i = 0; i < dispatch_entry_count_; ++i) - { - // update the minimal and maximal id values for the schedule - if (ordered_dispatch_entries_[i]->dispatch_id () < min_dispatch_id_) - { - min_dispatch_id_ = ordered_dispatch_entries_[i]->dispatch_id (); - } - if (ordered_dispatch_entries_[i]->dispatch_id () > max_dispatch_id_) - { - max_dispatch_id_ = ordered_dispatch_entries_[i]->dispatch_id (); - } - - // only put OPERATION and REMOTE_DEPENDANT dispatches into the timeline. - if ((ordered_dispatch_entries_[i]->task_entry().info_type () != - RtecScheduler::OPERATION) && - (ordered_dispatch_entries_[i]->task_entry().info_type () != - RtecScheduler::REMOTE_DEPENDANT)) - { - continue; - } - - // schedule the current dispatch entry into the timeline - status = schedule_timeline_entry (*(ordered_dispatch_entries_[i]), - reschedule_queue); - if (status != SUCCEEDED) - { - break; - } - - // iterate through the set of dispatch entries that need to be rescheduled - Dispatch_Entry *rescheduled_entry; - while (reschedule_queue.is_empty () == 0) - { - - if (reschedule_queue.dequeue_head (rescheduled_entry) < 0) - { - status = ST_BAD_INTERNAL_POINTER; - break; - } - - status = schedule_timeline_entry (*rescheduled_entry, reschedule_queue); - if (status != SUCCEEDED) - { - break; - } - } - if (status != SUCCEEDED) - { - break; - } - - // Schedule additional dispatches of the entry - // over the total frame size into the timeline. - u_long current_frame_offset = 0; - u_long task_period = - ordered_dispatch_entries_[i]->task_entry ().effective_period (); - for (current_frame_offset = task_period; - current_frame_offset < frame_size_; - current_frame_offset += task_period) - { - Dispatch_Entry *new_dispatch_entry; - - // create a new dispatch entry at the current sub-frame offset - // Just use low 32 bits of arrival and deadline. This will - // have to change when TimeBase.idl is finalized. - const TimeBase::TimeT arrival = - ordered_dispatch_entries_[i]->arrival () + - static_cast (current_frame_offset); - const TimeBase::TimeT deadline= - ordered_dispatch_entries_[i]->deadline () + - static_cast (current_frame_offset); - - ACE_NEW_RETURN ( - new_dispatch_entry, - Dispatch_Entry (arrival, - deadline, - ordered_dispatch_entries_[i]->priority (), - ordered_dispatch_entries_[i]->OS_priority (), - ordered_dispatch_entries_[i]->task_entry (), - ordered_dispatch_entries_[i]), - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // add the new dispatch entry to the set of expanded dispatches - expanded_dispatches_->insert (new_dispatch_entry); - - // schedule the new dispatch entry into the timeline - status = schedule_timeline_entry (*new_dispatch_entry, reschedule_queue); - if (status != SUCCEEDED) - { - break; - } - - while (reschedule_queue.is_empty () == 0) - { - if (reschedule_queue.dequeue_head (rescheduled_entry) < 0) - { - status = ST_BAD_INTERNAL_POINTER; - break; - } - status = schedule_timeline_entry (*rescheduled_entry, reschedule_queue); - if (status != SUCCEEDED) - { - break; - } - } - if (status != SUCCEEDED) - { - break; - } - } - - if (status != SUCCEEDED) - { - break; - } - } - - return status; -} - // Create a timeline. - - - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_dispatch_priorities (const char *filename) -{ - status_t status = UNABLE_TO_OPEN_SCHEDULE_FILE; - - // open the file - FILE *file = ACE_OS::fopen (ACE_TEXT_CHAR_TO_TCHAR(filename), ACE_TEXT("w")); - if (file) - { - status = output_dispatch_priorities (file); - fclose (file); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_priorities: ") - ACE_TEXT("Could not open schedule file (\"%s\")"), - ACE_TEXT_CHAR_TO_TCHAR(filename))); - } - - return status; -} - - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_dispatch_priorities (FILE *file) -{ - - u_long dispatch_count = 0; - u_long i = 0; - for (i = 0; i < dispatch_entry_count_; ++i) - { - dispatch_count += - frame_size_ - / ordered_dispatch_entries_[i]->task_entry ().effective_period (); - } - - if (ACE_OS::fprintf ( - file, "\n\nSCHEDULING RESULTS:\n\n" - "Number of dispatches: %3lu\n" - "Number of threads: %3u\n" - "Number of tasks: %3u\n" - "Scheduler Status: [%d] %s\n" - "Total Frame Size: %lu nsec (%f Hz)\n" - "Critical Set Frame Size: %lu nsec (%f Hz)\n" - "Utilization: %f\n" - "Critical Set Utilization: %f\n" - "Minimum Priority Queue: %3d\n" - "Minimum Guaranteed Priority Queue: %3d\n" - "Minimum Critical Priority: %3d\n\n\n" - - "DISPATCH PRIORITIES:\n\n" - " (critical \n" - " instant) \n" - " dispatch dynamic static \n" - "operation ID priority subpriority subpriority\n" - "--------- -------- -------- ----------- -----------\n", - dispatch_count, threads_, tasks_, status_, - status_message(status_), frame_size_, - (double) (10000000.0 / ((double) frame_size_)), - critical_set_frame_size_, - (double) (10000000.0 / ((double) critical_set_frame_size_)), - utilization_, critical_set_utilization_, - int(minimum_priority_queue_), - int(minimum_guaranteed_priority_queue_), - int(minimum_critical_priority ())) < 0) - - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_priorities: ") - ACE_TEXT("Could not write to schedule file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - - for (i = 0; i < dispatch_entry_count_; ++i) - { - if (ACE_OS::fprintf (file, "%-11s %8lu %8u %11u %11u\n", - ordered_dispatch_entries_[i]->task_entry ().rt_info ()-> - entry_point.in (), - ordered_dispatch_entries_[i]->dispatch_id (), - ordered_dispatch_entries_[i]->priority (), - ordered_dispatch_entries_[i]->dynamic_subpriority (), - ordered_dispatch_entries_[i]->static_subpriority ()) < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_priorities: ") - ACE_TEXT("Could not write to schedule file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - } - - return SUCCEEDED; -} - - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_dispatch_timeline (const char *filename) -{ - status_t status = UNABLE_TO_OPEN_SCHEDULE_FILE; - - // open the file - FILE *file = ACE_OS::fopen (ACE_TEXT_CHAR_TO_TCHAR(filename), ACE_TEXT("w")); - if (file) - { - status = output_dispatch_timeline (file); - fclose (file); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_timeline: ") - ACE_TEXT("Could not open schedule file (\"%s\")"), - filename)); - } - - return status; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_dispatch_timeline (FILE *file) -{ - if (ACE_OS::fprintf ( - file, "\n\nDISPATCH TIMELINE:\n\n" - " dispatch arrival deadline start stop execution latency laxity\n" - "operation ID (nsec) (nsec) (nsec) (nsec) time (nsec) (nsec) (nsec)\n" - "--------- ----------- ------- -------- ----- ------ ----------- ------- ------\n") < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_timeline: ") - ACE_TEXT("Could not write to schedule file")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - - // iterate through timeline, picking out entries whose prev_ pointer - // is null (i.e. those representing the start of a dispatch), find end - // of dispatch, output the operation, dispatch, priority, and time info - ACE_Ordered_MultiSet_Iterator iter (*timeline_); - for (iter.first (); iter.done () == 0; iter.advance ()) - { - TimeLine_Entry_Link *link; - if ((iter.next (link) == 0) || (! link)) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_timeline: ") - ACE_TEXT("Bad internal pointer\n")), - ST_BAD_INTERNAL_POINTER); - } - - // for each timeline entry that starts a dispatch - if (link->entry ().prev () == 0) - { - // find the last time slice for the dispatch - TimeLine_Entry *last_entry = &(link->entry ()); - while (last_entry->next ()) - { - last_entry = last_entry->next (); - } - - Time tmp = last_entry->stop () - link->entry ().arrival () - - link->entry ().dispatch_entry ().task_entry ().rt_info ()-> - worst_case_execution_time; - if (link->entry ().dispatch_entry ().original_dispatch ()) - { - if (ACE_OS::fprintf ( - file, - "%-11s [%4lu] %4lu %7u %8u %8u " - "%10u %11u %10d %10d\n", - link->entry ().dispatch_entry ().task_entry ().rt_info ()-> - entry_point.in (), - link->entry ().dispatch_entry ().original_dispatch ()->dispatch_id (), - link->entry ().dispatch_entry ().dispatch_id (), - ACE_U64_TO_U32 (link->entry ().arrival ()), - ACE_U64_TO_U32 (link->entry ().deadline ()), - ACE_U64_TO_U32 (link->entry ().start ()), - ACE_U64_TO_U32 (last_entry->stop ()), - ACE_U64_TO_U32 (link->entry ().dispatch_entry ().task_entry (). - rt_info ()->worst_case_execution_time), - ACE_U64_TO_U32 (tmp), - ACE_U64_TO_U32 (link->entry ().deadline () - - last_entry->stop ())) < 0) - - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_timeline: ") - ACE_TEXT("Unable to write to schedule file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - } - else - { - if (ACE_OS::fprintf ( - file, - "%-11s %11lu %7u %8u %8u %10u %11u %10d %10d\n", - link->entry ().dispatch_entry ().task_entry ().rt_info ()-> - entry_point.in (), - link->entry ().dispatch_entry ().dispatch_id (), - ACE_U64_TO_U32 (link->entry ().arrival ()), - ACE_U64_TO_U32 (link->entry ().deadline ()), - ACE_U64_TO_U32 (link->entry ().start ()), - ACE_U64_TO_U32 (last_entry->stop ()), - ACE_U64_TO_U32 (link->entry ().dispatch_entry ().task_entry (). - rt_info ()->worst_case_execution_time), - ACE_U64_TO_U32 (tmp), - ACE_U64_TO_U32 (link->entry ().deadline () - - last_entry->stop ())) < 0) - - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_dispatch_timeline: ") - ACE_TEXT("Unable to write to schedule file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - } - } - } - - return SUCCEEDED; -} - // this prints the entire set of timeline outputs to the specified file - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_preemption_timeline (const char *filename) -{ - status_t status = UNABLE_TO_OPEN_SCHEDULE_FILE; - - // open the file - FILE *file = ACE_OS::fopen (ACE_TEXT_CHAR_TO_TCHAR(filename), ACE_TEXT("w")); - if (file) - { - status = output_preemption_timeline (file); - fclose (file); - } - else - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_preemption_timeline: ") - ACE_TEXT("Cannot open timeline file (\"%s\")\n"), - ACE_TEXT_CHAR_TO_TCHAR(filename))); - } - - return status; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_preemption_timeline (FILE *file) -{ - if (ACE_OS::fprintf ( - file, "\n\nPREEMPTION TIMELINE:\n\n" - " dispatch start stop \n" - "operation ID (nsec) (nsec)\n" - "--------- ----------- ------ ------\n") < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_preemption_timeline: ") - ACE_TEXT("Cannot write to timeline file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - - ACE_Ordered_MultiSet_Iterator iter (*timeline_); - - TimeLine_Entry_Link *link; - for (iter.first (); iter.done () == 0; iter.advance ()) - { - if ((iter.next (link) == 0) || (! link)) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_preemption_timeline: ") - ACE_TEXT("Bad internal pointer\n")), - ST_BAD_INTERNAL_POINTER); - } - - if (link->entry ().dispatch_entry ().original_dispatch ()) - { - if (ACE_OS::fprintf ( - file, "%-9s [%4lu] %4lu %8u %8u\n", - link->entry ().dispatch_entry ().task_entry ().rt_info ()-> - entry_point.in (), - link->entry ().dispatch_entry ().original_dispatch ()->dispatch_id (), - link->entry ().dispatch_entry ().dispatch_id (), - ACE_U64_TO_U32 (link->entry ().start ()), - ACE_U64_TO_U32 (link->entry ().stop ())) < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_preemption_timeline: ") - ACE_TEXT("Cannot write to timeline file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - } - else - { - if (ACE_OS::fprintf ( - file, "%-9s %11lu %8u %8u\n", - link->entry ().dispatch_entry ().task_entry ().rt_info ()-> - entry_point.in (), - link->entry ().dispatch_entry ().dispatch_id (), - ACE_U64_TO_U32 (link->entry ().start ()), - ACE_U64_TO_U32 (link->entry ().stop ())) < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_preemption_timeline: ") - ACE_TEXT("Cannot write to timeline file\n")), - UNABLE_TO_WRITE_SCHEDULE_FILE); - } - } - } - - return SUCCEEDED; -} - - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_viewer_timeline (const char *filename) -{ - status_t status = UNABLE_TO_OPEN_SCHEDULE_FILE; - - // open the file - FILE *file = ACE_OS::fopen (ACE_TEXT_CHAR_TO_TCHAR(filename), ACE_TEXT("w")); - if (file) - { - status = output_dispatch_timeline (file); - fclose (file); - } - - return status; -} - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_viewer_timeline (FILE *file) -{ - if (ACE_OS::fprintf ( - file, "\n\nVIEWER TIMELINE:\n\n" - " arrival deadline completion execution \n" - "operation utilization overhead (nsec) (nsec) time (nsec) time (nsec)\n" - "--------- ----------- -------- ------- -------- ----------- -----------\n") < 0) - { - return UNABLE_TO_WRITE_SCHEDULE_FILE; - } - - // iterate through timeline, picking out dispatches in chronological - // order of operation completion time - int entries_remain = 1; - Time accumulated_execution = 0; - Time current_accumulated_execution = 0; - Time last_completion = 0; - Time current_completion = 0; - TimeLine_Entry *current_entry = 0; - TimeLine_Entry *current_last_entry = 0; - - while (entries_remain) - { - last_completion = current_completion; - - accumulated_execution = 0; - current_accumulated_execution = 0; - current_completion = 0; - current_entry = 0; - current_last_entry = 0; - - ACE_Ordered_MultiSet_Iterator iter (*timeline_); - for (iter.first (); iter.done () == 0; iter.advance ()) - { - TimeLine_Entry_Link *link; - if ((iter.next (link) == 0) || (! link)) - { - return ST_BAD_INTERNAL_POINTER; - } - - accumulated_execution += link->entry ().stop () - - link->entry ().start (); - - // for each timeline entry that starts a dispatch - if (link->entry ().prev () == 0) - { - // find the last time slice for the dispatch - TimeLine_Entry *last_entry = &(link->entry ()); - while (last_entry->next ()) - { - last_entry = last_entry->next (); - } - - if ((last_entry->stop () > last_completion) && - ((last_entry->stop () < current_completion) || - (current_completion == 0U))) - { - current_completion = last_entry->stop (); - current_entry = &(link->entry ()); - current_last_entry = last_entry; - } - } - - // save the accumulated execution if we're at - // the last entry for the current dispatch - if (current_last_entry == &(link->entry ())) - { - current_accumulated_execution = accumulated_execution; - } - } - - // if we found another entry, print it (otherwise we're done) - if (current_entry) - { - if (ACE_OS::fprintf ( - file, "%-11s %9f %9f %8u %8u %11u %11u\n", - current_entry->dispatch_entry ().task_entry ().rt_info ()-> - entry_point.in (), - static_cast (ACE_UINT64_DBLCAST_ADAPTER(current_accumulated_execution)) / - static_cast (ACE_UINT64_DBLCAST_ADAPTER(current_completion)), - 0.0, - ACE_U64_TO_U32 (current_entry->arrival ()), - ACE_U64_TO_U32 (current_entry->deadline ()), - ACE_U64_TO_U32 (current_last_entry->stop ()), - ACE_U64_TO_U32 (current_entry->dispatch_entry ().task_entry (). - rt_info ()->worst_case_execution_time)) < 0) - { - return UNABLE_TO_WRITE_SCHEDULE_FILE; - } - } - else - { - entries_remain = 0; - } - } - - return SUCCEEDED; -} - - -ACE_DynScheduler::status_t -ACE_DynScheduler::output_timeline (const char *filename, const char *heading) -{ - status_t status = SUCCEEDED; - FILE *file = 0; - - // bail out if we're not up to date or there is no timeline - if ((! up_to_date_) || (! timeline_)) - { - status = NOT_SCHEDULED; - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_timeline: ") - ACE_TEXT("Schedule not generated"))); - } - - if (status == SUCCEEDED) - { - // open the file - file = ACE_OS::fopen (ACE_TEXT_CHAR_TO_TCHAR(filename), ACE_TEXT("w")); - if (! file) - { - status = UNABLE_TO_OPEN_SCHEDULE_FILE; - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_timeline: ") - ACE_TEXT("Could not open schedule file"))); - } - } - - if ((status == SUCCEEDED) && (heading)) - { - if (ACE_OS::fprintf (file, "%s\n\n", heading) < 0) - { - status = UNABLE_TO_WRITE_SCHEDULE_FILE; - ACE_ERROR ((LM_ERROR, - ACE_TEXT("ACE_DynScheduler::output_timeline: ") - ACE_TEXT("Could not write to schedule file"))); - } - } - - if (status == SUCCEEDED) - { - status = output_dispatch_priorities (file); - } - - if (status == SUCCEEDED) - { - status = output_dispatch_timeline (file); - } - - if (status == SUCCEEDED) - { - status = output_preemption_timeline (file); - } - - if (status == SUCCEEDED) - { - status = output_viewer_timeline (file); - } - - if (file) - { - fclose (file); - } - - return status; -} - // this prints the entire set of timeline outputs to the specified file - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/DynSched.h b/TAO/orbsvcs/orbsvcs/Sched/DynSched.h deleted file mode 100644 index bae77c581a2..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/DynSched.h +++ /dev/null @@ -1,544 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// DynSched.h -// -// = CREATION DATE -// 23 January 1997 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef DYNSCHED_H -#define DYNSCHED_H -#include /**/ "ace/pre.h" - -#include "ace/ACE.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Map_Manager.h" -#include "ace/Message_Block.h" -#include "ace/SString.h" -#include "orbsvcs/Sched/SchedEntry.h" -#include "orbsvcs/Sched/sched_export.h" -#include "ace/Recursive_Thread_Mutex.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_RTSched_Export ACE_DynScheduler - // = TITLE - // Dispatch scheduling interface. - // - // = DESCRIPTION - // This abstract base class provides the majority of the - // implementation of either an off-line scheduler, or the - // necessary on-line component of the Scheduler. -{ -public: - - ////////////////////////////// - // public type declarations // - ////////////////////////////// - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Config_Info Config_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - typedef RtecScheduler::Dispatching_Type_t Dispatching_Type; - typedef RtecScheduler::Scheduling_Anomaly Scheduling_Anomaly; - typedef RtecScheduler::Anomaly_Severity Anomaly_Severity; - - typedef ACE_Map_Entry Thread_Map_Entry; - typedef ACE_Map_Manager - Thread_Map; - typedef ACE_Map_Iterator - Thread_Map_Iterator; - - typedef const char *Object_Name; - // Objects are named by unique strings. - - enum status_t { - // The following are used both by the runtime Scheduler and during - // scheduling. - NOT_SCHEDULED = -1 // the schedule () method has not been called yet - , FAILED = -1 - , SUCCEEDED - , ST_UNKNOWN_TASK - , ST_UNKNOWN_PRIORITY - , ST_TASK_ALREADY_REGISTERED - , ST_NO_TASKS_REGISTERED - , ST_BAD_DEPENDENCIES_ON_TASK - , ST_BAD_INTERNAL_POINTER - , ST_VIRTUAL_MEMORY_EXHAUSTED - , TWO_WAY_DISJUNCTION - , TWO_WAY_CONJUNCTION - , UNRECOGNIZED_INFO_TYPE - - // The following are only used by the runtime Scheduler. - , TASK_COUNT_MISMATCH // only used by schedule () - , THREAD_COUNT_MISMATCH // only used by schedule () - , INVALID_PRIORITY // only used by schedule (): mismatch of - // (off-line, maybe) Scheduler output to - // the runtime Scheduler component. - - // The following are only used during scheduling (in the case of - // off-line scheduling, they are only used prior to runtime). - , ST_UTILIZATION_BOUND_EXCEEDED - , ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS - , ST_CYCLE_IN_DEPENDENCIES - , ST_UNRESOLVED_REMOTE_DEPENDENCIES - , ST_UNRESOLVED_LOCAL_DEPENDENCIES - , ST_INVALID_PRIORITY_ORDERING - , UNABLE_TO_OPEN_SCHEDULE_FILE - , UNABLE_TO_WRITE_SCHEDULE_FILE - }; - - - - ///////////////////////////// - // public member functions // - ///////////////////////////// - - virtual ~ACE_DynScheduler (); - // public dtor - - // = Utility function for outputting the textual - // representation of a status_t value. - static const char * status_message (status_t status); - - // = Utility function for creating an entry for determining - // the severity of an anomaly detected during scheduling. - static Anomaly_Severity anomaly_severity (status_t status); - - // = Utility function for creating an entry for the - // log of anomalies detected during scheduling. - static Scheduling_Anomaly * create_anomaly (status_t status); - - - // = Initialize the scheduler. - void init (const OS_Priority minimum_priority, - const OS_Priority maximum_priority, - const char *runtime_filename = 0, - const char *rt_info_filename = 0, - const char *timeline_filename = 0); - // The minimum and maximum priority are the OS-specific priorities that - // are used when creating the schedule (assigning priorities). The - // minimum_priority is the priority value of the lowest priority. - // It may be numerically higher than the maximum_priority, on OS's such - // as VxWorks that use lower values to indicate higher priorities. - // - // When Scheduler::schedule is called, the schedule is output to the - // file named by "runtime_filename" if it is non-zero. - // This file is compilable; it is linked into the runtime executable - // to provide priorities to the runtime scheduling component. - // If the "rt_info_filename" is non-zero, the RT_Info for - // every task is exported to it. It is not used at runtime. - // If the "timeline_filename" is non-zero, the timeline output - // file is created. It is not used at runtime. - // - // The runtime scheduling component ignores these filenames. It just - // uses the priorities that were linked in to the executable, after - // converting them to platform-specific values. - - void reset (); - // Prepare for another schedule computation: once a reasonable schedule - // has been generated, a new schedule will not be computed unless an - // RT_Info is added, or this method is invoked to clear the previous - // schedule (allows fault correcting alteration of RT_Infos outside the - // scheduler implementation, followed by generation of a new schedule). - - // = Registers a task. - status_t register_task (RT_Info *, handle_t &handle); - // If the Task registration succeeds, this function returns SUCCEEDED - // and sets "handle" to a unique identifier for the task. - // Otherwise, it returns either VIRTUAL_MEMORY_EXHAUSTED or - // TASK_ALREADY_REGISTERED sets the handle to 0. (A task may - // only be registered once.) - - status_t get_rt_info (Object_Name name, RT_Info* &rtinfo); - // Tries to find the RT_Info corresponding to in the RT_Info - // database. Returns SUCCEEDED if was found and was - // set. Returns UNKNOWN_TASK if was not found, but - // was set to a newly allocated RT_Info. In this UNKNOWN_TASK case, - // the task must call RT_Info::set to fill in execution properties. - // In the SUCCEEDED and UNKNOWN_TASK cases, this->register_task - // (rtinfo, 0, handle) is called. Returns FAILED if an error - // occurs. - // - // One motivation for allocating RT_Info's from within the Scheduler - // is to allow RT_Infos to persist after the tasks that use them. - // For instance, we may want to call this->schedule right before the - // application exits a configuration run. If the tasks have been - // deleted (deleting their RT_Infos with them), this->schedule will - // fail. - - status_t lookup_rt_info (handle_t handle, RT_Info* &rtinfo); - // Obtains an RT_Info based on its "handle". - - status_t lookup_config_info (Preemption_Priority priority, - Config_Info* &config_info); - // Obtains a Config_Info based on its priority. - - status_t - schedule (ACE_Unbounded_Set &anomaly_set); - // This sets up the data structures, invokes the internal scheduling method. - - status_t output_timeline (const char *filename, const char *heading); - // this prints the entire set of timeline outputs to the specified file - - - // = Access a thread priority. - virtual int priority (const handle_t handle, - OS_Priority &priority, - Sub_Priority &subpriority, - Preemption_Priority &preemption_prio); - // "priority" is the OS thread priority that was assigned to the Task that - // was assigned "handle". "subpriority" combines the dynamic and static - // subpriorities of the Task that was assigned handle. "preemption_prio" - // is a platform-independent priority queue number, ranging from a - // highest priority value of 0 to the lowest priority value, which is - // returned by "minimum_priority_queue ()". Returns 0 on success, - // or -1 if an invalid handle was supplied. - - // = Access the platform-independent priority value of the lowest-priority - // thread. - Preemption_Priority minimum_priority_queue () const; - - // = Access the number of tasks. - u_int tasks () const; - - // = Access the number of threads. - u_int threads () const; - - // = Access the current scheduler status. - status_t status () const; - - // = Access the current output (debugging) level. - u_int output_level () const; - // Default is 0; set to 1 to print out schedule, by task. Set - // to higher than one for debugging info. - - // = Set the scheduler output (debugging) level. - void output_level (const u_int level); - // the only supported levels are 0 (quiet), 1 (verbose) and 2 (debug) - - int add_dependency(RT_Info* rt_info, - Dependency_Info& d); - - static int number_of_dependencies(RT_Info* rt_info); - static int number_of_dependencies(RT_Info& rt_info); - - static void export_to_file (RT_Info*, FILE* file); - static void export_to_file (RT_Info&, FILE* file); - - // accessors for the minimal and maximal dispatch entry id in the schedule - u_long min_dispatch_id () const; - u_long max_dispatch_id () const; - - virtual int dispatch_configuration (const Preemption_Priority &p_priority, - OS_Priority& priority, - Dispatching_Type & d_type); - // provide the thread priority and queue type for the given priority level - -protected: - - //////////////////////////////// - // protected member functions // - //////////////////////////////// - - ACE_DynScheduler (); - - status_t schedule_threads ( - ACE_Unbounded_Set &anomaly_set); - // thread scheduling method: sets up array of pointers to task - // entries that are threads, calls internal thread scheduling method - - status_t schedule_dispatches ( - ACE_Unbounded_Set &anomaly_set); - // dispatch scheduling method: sets up an array of dispatch entries, - // calls internal dispatch scheduling method. - - virtual status_t store_assigned_info (void); - // = store assigned information back into the RT_Infos - - // = Set the minimum priority value. - void minimum_priority_queue (const Preemption_Priority minimum_priority_queue_number); - - // = Set the number of tasks. - void tasks (const u_int tasks); - - // = Set the number of threads. - void threads (const u_int threads); - - // = Set the current scheduler status. - void status (const status_t new_status); - - ///////////////////////////////////////////// - // protected pure virtual member functions // - ///////////////////////////////////////////// - - virtual Preemption_Priority minimum_critical_priority () = 0; - // = determine the minimum critical priority number - - virtual status_t sort_dispatches (Dispatch_Entry **, u_int) = 0; - // internal sorting method: this orders the dispatches by - // static priority and dynamic and static subpriority. - - virtual status_t assign_priorities ( - Dispatch_Entry **dispatches, - u_int count, - ACE_Unbounded_Set &anomaly_set) = 0; - // = assign priorities to the sorted dispatches - - virtual status_t assign_subpriorities ( - Dispatch_Entry **dispatches, - u_int count, - ACE_Unbounded_Set &anomaly_set) = 0; - // = assign dynamic and static sub-priorities to the sorted dispatches - - virtual status_t - schedule_timeline_entry (Dispatch_Entry &dispatch_entry, - ACE_Unbounded_Queue - &reschedule_queue) = 0; - // = schedule a dispatch entry into the timeline being created - - //////////////////////////// - // protected data members // - //////////////////////////// - - OS_Priority minimum_priority_; - // The minimum OS thread priority value that the application specified (in - // its call to init ()). - - OS_Priority maximum_priority_; - // The maximum OS thread priority value that the application specified (in - // its call to init ()). - - Task_Entry *task_entries_; - // Collection of known tasks. - - Task_Entry **ordered_task_entries_; - // An array of pointers to task entries which wrap RT_Infos. It is - // sorted by the DFS finishing time and then the resulting topological - // over the call graph is used both to check for call chain cycles and - // to correctly propagate scheduling information away from the threads. - - ACE_Unbounded_Set *thread_delineators_; - // identifies dispatch entries whose underlying - // Task Entries delineate threads - - Dispatch_Entry **ordered_thread_dispatch_entries_; - // An array of pointers to task entries which initiate call chains. - // It is sorted by the schedule_threads method defined in the derived class. - - ACE_Unbounded_Set *dispatch_entries_; - // the set of dispatch entries - - ACE_Unbounded_Set *config_info_entries_; - // Collection of dispatch configuration entries. - - ACE_Unbounded_Set *expanded_dispatches_; - // expanded set of dispatch entries (all dispatch entries produced by - // expanding sub-frames to the total frame size during timeline creation) - - Dispatch_Entry **ordered_dispatch_entries_; - // An array of pointers to dispatch entries. It is - // sorted by the schedule_dispatches method. - - u_int dispatch_entry_count_; - // the number of dispatch entries in the schedule - - u_int threads_; - // the number of dispatch entries in the schedule - - ACE_Ordered_MultiSet *timeline_; - // Ordered MultiSet of timeline entries. - -private: - - /////////////////////////////// - // private type declarations // - /////////////////////////////// - - typedef ACE_CString EXT; - typedef RT_Info *INT; - -#if defined (ACE_HAS_THREADS) - typedef TAO_SYNCH_MUTEX SYNCH; - typedef TAO_SYNCH_RECURSIVE_MUTEX LOCK; -#else - typedef ACE_Null_Mutex SYNCH; - typedef ACE_Null_Mutex LOCK; -#endif /* ACE_HAS_THREADS */ - - typedef ACE_Map_Manager Info_Collection; - typedef ACE_Map_Iterator Info_Collection_Iterator; - typedef ACE_Map_Entry Info_Collection_Entry; - - ////////////////////////////// - // private member functions // - ////////////////////////////// - - status_t create_timeline (); - // Create a timeline. - - status_t output_dispatch_timeline (const char *filename); - status_t output_dispatch_timeline (FILE *file); - // this prints a dispatch timeline to the specified file - - status_t output_preemption_timeline (const char *filename); - status_t output_preemption_timeline (FILE *file); - // this prints a preemption timeline to the specified file - - status_t output_viewer_timeline (const char *filename); - status_t output_viewer_timeline (FILE *file); - // this prints a scheduling viewer timeline to the specified file - - status_t output_dispatch_priorities (const char *filename); - status_t output_dispatch_priorities (FILE *file); - // this prints the scheduling parameters and assigned priorities to the specified file - - // = Set up the task entry data structures - status_t setup_task_entries (void); - - // = Relate the task entries according to the - // dependencies of the underlying RT_Infos - status_t relate_task_entries (void); - - // recursively traverse dependency graph, relating - // task entries and performing DFS start/end marking - status_t relate_task_entries_recurse (long &time, Task_Entry &entry); - - // identify thread delimiters - status_t - identify_threads (ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes); - - // checks for cycles in the dependency graph - status_t check_dependency_cycles (void); - - // recursion used to check for cycles in the dependency graph - status_t check_dependency_cycles_recurse (Task_Entry &entry); - - // = Aggregate the scheduling parameters of the threads - status_t aggregate_thread_parameters (void); - - // = recursion over oneway dependencies used to aggregate thread parameters - status_t aggregate_oneways_recurse (Task_Entry &entry); - - // = recursion over twoway dependencies used to aggregate thread parameters - status_t aggregate_twoways_recurse (Task_Entry &entry); - - // update the scheduling parameters for the previous priority level - void update_priority_level_params (); - - status_t - propagate_dispatches ( - ACE_Unbounded_Set &anomaly_set, - ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes); - // propagate the dispatch information from the - // threads throughout the call graph - - status_t calculate_utilization_params (); - // calculate utilization, frame size, etc. - - // the following functions are not implememented - ACE_DynScheduler (const ACE_DynScheduler &); - ACE_DynScheduler &operator= (const ACE_DynScheduler &); - - ////////////////////////// - // private data members // - ////////////////////////// - - LOCK lock_; - // This protects access to the scheduler during configuration runs. - - ACE_Unbounded_Set rt_info_entries_; - // Collection of known tasks. - - u_int handles_; - // The number of task handles dispensed so far. - - const char *runtime_filename_; - // Destination file of Scheduler output from the configuration run. - - const char *rt_info_filename_; - // Destination file of all rt_info data from the configuration run. - - const char *timeline_filename_; - // The destination of the timeline. - - Info_Collection info_collection_; - // A binding of name to rt_info. This is the mapping for every - // rt_info in the process. - - u_int tasks_; - - status_t status_; - - u_int output_level_; - - u_long frame_size_; /* 100 nanosec */ - // minimum frame size for all tasks - - u_long critical_set_frame_size_; /* 100 nanosec */ - // minimum frame size for guaranteed schedulable tasks - - double utilization_; - // total utilization for all tasks - - double critical_set_utilization_; - // minimum frame size for guaranteed schedulable tasks - - Preemption_Priority minimum_priority_queue_; - // The platform-independent priority value of the Event Channel's - // minimum priority dispatch queue. The value of the maximum priority - // dispatch queue is always 0. - - Preemption_Priority minimum_guaranteed_priority_queue_; - // The platform-independent priority value of the minimum priority dispatch - // queue whose operations are guaranteed to be schedulable. The value of - // the maximum priority dispatch queue is always 0, -1 indicates none can - // be guaranteed. - - u_int up_to_date_; - // indicates whether the a valid schedule has been generated since the last - // relevant change (addition, alteration or removal of an RT_Info, etc.) - - u_long min_dispatch_id_; - - u_long max_dispatch_id_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Sched/DynSched.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* DYNSCHED_H */ - -// EOF diff --git a/TAO/orbsvcs/orbsvcs/Sched/DynSched.i b/TAO/orbsvcs/orbsvcs/Sched/DynSched.i deleted file mode 100644 index 8e27d24c28e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/DynSched.i +++ /dev/null @@ -1,113 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// DynSched.i -// -// = CREATION DATE -// 23 January 1997 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//////////////////////////// -// Class ACE_DynScheduler // -//////////////////////////// - -ACE_INLINE ACE_DynScheduler::Preemption_Priority -ACE_DynScheduler::minimum_priority_queue () const -{ - return minimum_priority_queue_; -} - // This is intended for use by the Event Channel, so it can determine the - // number of priority dispatch queues to create. - -// = Access the number of tasks. -ACE_INLINE u_int -ACE_DynScheduler::tasks () const -{ - return tasks_; -} - - // = Access the number of threads. -ACE_INLINE u_int -ACE_DynScheduler::threads () const -{ - return threads_; -} - - // = Access the current scheduler status. -ACE_INLINE ACE_DynScheduler::status_t -ACE_DynScheduler::status () const -{ - return status_; -} - - // = Access the current output (debugging) level. -ACE_INLINE u_int -ACE_DynScheduler::output_level () const { - return output_level_; -} - // Default is 0; set to 1 to print out schedule, by task. Set - // to higher than one for debugging info. - - // = Set the scheduler output (debugging) level. -ACE_INLINE void -ACE_DynScheduler::output_level (const u_int level) -{ - output_level_ = level; -} - // the only supported levels are 0 (quiet), 1 (verbose) and 2 - // (debug) - -ACE_INLINE void -ACE_DynScheduler::minimum_priority_queue (const Preemption_Priority minimum_priority_queue_number) -{ - minimum_priority_queue_ = minimum_priority_queue_number; -} - - // = Set the number of tasks. -ACE_INLINE void -ACE_DynScheduler::tasks (const u_int tasks) -{ - tasks_ = tasks; -} - - // = Set the number of threads. -// TBD - remove this - allowing the application to modify this is *not* good -ACE_INLINE void -ACE_DynScheduler::threads (const u_int threads) -{ - threads_ = threads; -} - - // = Set the current scheduler status. -ACE_INLINE void -ACE_DynScheduler::status (const status_t new_status) -{ - status_ = new_status; -} - -ACE_INLINE u_long -ACE_DynScheduler::min_dispatch_id () const -{ - return min_dispatch_id_; -} - -ACE_INLINE u_long -ACE_DynScheduler::max_dispatch_id () const -{ - return max_dispatch_id_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp deleted file mode 100644 index f3669c611c5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp +++ /dev/null @@ -1,1808 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Sched_Utils.cpp -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHED_UTILS_C -#define TAO_RECONFIG_SCHED_UTILS_C - -#include "orbsvcs/Sched/Reconfig_Sched_Utils_T.h" -#include "orbsvcs/Sched/Reconfig_Sched_Utils.h" - - -#include "orbsvcs/Time_Utilities.h" - - -ACE_RCSID (Sched, Reconfig_Sched_Utils, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/////////////////////////// -// struct TAO_RT_Info_Ex // -/////////////////////////// - -// Default Constructor. - -TAO_RT_Info_Ex::TAO_RT_Info_Ex () -{ - // Note: the entry_point string takes care of itself. - handle = 0; - criticality = RtecScheduler::VERY_LOW_CRITICALITY; - worst_case_execution_time = 0; - typical_execution_time = 0; - cached_execution_time = 0; - period = 0; - importance = RtecScheduler::VERY_LOW_IMPORTANCE; - quantum = 0; - threads = 0; - info_type = RtecScheduler::OPERATION; - priority = 0; - preemption_subpriority = 0; - preemption_priority = 0; - enabled = RtecScheduler::RT_INFO_ENABLED; - volatile_token = 0; -} - - -// Constructor from an RT_Info -// (Also serves as a copy constructor) - -TAO_RT_Info_Ex::TAO_RT_Info_Ex (const RtecScheduler::RT_Info &info) -{ - this->entry_point = info.entry_point; - this->handle = info.handle; - this->criticality = info.criticality; - this->worst_case_execution_time = info.worst_case_execution_time; - this->typical_execution_time = info.typical_execution_time; - this->cached_execution_time = info.cached_execution_time; - this->period = info.period; - this->importance = info.importance; - this->quantum = info.quantum; - this->threads = info.threads; - this->info_type = info.info_type; - this->priority = info.priority; - this->preemption_subpriority = info.preemption_subpriority; - this->preemption_priority = info.preemption_priority; - this->enabled = info.enabled; // TODO- rethink? - this->volatile_token = info.volatile_token; -} - - -// Destructor. -TAO_RT_Info_Ex::~TAO_RT_Info_Ex () -{ -} - - -// Assignment operator with an RT_Info on the RHS. - -void -TAO_RT_Info_Ex::operator = (const RtecScheduler::RT_Info &info) -{ - // IMPORTANT: we don't copy the name or the handle or the output - // attributes or the volatile token (entry pointer) or the valid - // flag. These can only be copied in the copy ctor at - // initialization. - - criticality = info.criticality; - worst_case_execution_time = info.worst_case_execution_time; - typical_execution_time = info.typical_execution_time; - cached_execution_time = info.cached_execution_time; - period = info.period; - importance = info.importance; - quantum = info.quantum; - threads = info.threads; - info_type = info.info_type; - enabled = info.enabled; -} - - -// Resets all data members to initial (invalid) values, and removes -// tuples corresponding to the reset flags. - -void -TAO_RT_Info_Ex::reset (u_long reset_flags) -{ - // IMPORTANT: among the input arguments, we only reset the period ... - // TBD - if execution times etc. can be selected as well, then reset those, e.g., - // - // criticality = RtecScheduler::VERY_LOW_CRITICALITY; - // worst_case_execution_time = 0; - // typical_execution_time = 0; - // cached_execution_time = 0; - // importance = RtecScheduler::VERY_LOW_IMPORTANCE; - // quantum = 0; - // threads = 0; - // info_type = RtecScheduler::OPERATION; - - period = 0; - - // ... However, we do reset the output attributes ... - - priority = 0; - preemption_subpriority = 0; - preemption_priority = 0; - - // ... and the appropriate tuples associated with the entry. - TAO_Reconfig_Scheduler_Entry * entry_ptr = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - volatile_token); - - //ACE_DEBUG((LM_DEBUG, "Removing Entries for RT_Info: %d, entry_ptr: %x\n", handle, entry_ptr)); - if (entry_ptr) - { - entry_ptr->remove_tuples (reset_flags); - } - else - { - ACE_ERROR ((LM_ERROR, "Pointer to associated entry is zero.")); - } -} - -void -TAO_RT_Info_Ex::enabled_state (RtecScheduler::RT_Info_Enabled_Type_t enabled_in) -{ - TAO_Reconfig_Scheduler_Entry * entry_ptr = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - volatile_token); - if (entry_ptr) - { - this->enabled = enabled_in; - entry_ptr->enabled_state (enabled_in); - } - else - { - ACE_ERROR ((LM_ERROR, "Pointer to associated entry is zero.")); - } -} - -RtecScheduler::RT_Info_Enabled_Type_t -TAO_RT_Info_Ex::enabled_state () -{ - return this->enabled; -} - - - -////////////////////////////// -// struct TAO_RT_Info_Tuple // -////////////////////////////// - -// Default Constructor. -TAO_RT_Info_Tuple::TAO_RT_Info_Tuple () - : rate_index (0) -{ -} - - -// Constructor from an RT_Info. -// (Also serves as a copy constructor) - -TAO_RT_Info_Tuple::TAO_RT_Info_Tuple (const RtecScheduler::RT_Info &info) - : TAO_RT_Info_Ex (info), - rate_index (0) -{ -} - -// Destructor. - -TAO_RT_Info_Tuple::~TAO_RT_Info_Tuple () -{ -} - - -// Assignment operator with an RT_Info on the RHS. - -void -TAO_RT_Info_Tuple::operator = (const RtecScheduler::RT_Info &info) -{ - static_cast (*this) = info; -} - - -// Less-than comparison operator: orders tuples by ascending rate (descending period). - -bool -TAO_RT_Info_Tuple::operator < (const TAO_RT_Info_Tuple &t) -{ - return (this->period > t.period) ? true : false; -} - - -//////////////////////////////////////// -// class TAO_Reconfig_Scheduler_Entry // -//////////////////////////////////////// - -// Constructor. - -TAO_Reconfig_Scheduler_Entry:: -TAO_Reconfig_Scheduler_Entry (TAO_RT_Info_Ex &rt_info) - : actual_rt_info_ (&rt_info), - fwd_dfs_status_ (NOT_VISITED), - rev_dfs_status_ (NOT_VISITED), - fwd_discovered_ (-1), - rev_discovered_ (-1), - fwd_finished_ (-1), - rev_finished_ (-1), - is_thread_delineator_ (0), - has_unresolved_remote_dependencies_ (0), - has_unresolved_local_dependencies_ (0), - aggregate_exec_time_ (0), - orig_tuple_period_sum_ (0), - prop_tuple_period_sum_ (0), - orig_tuple_count_ (0), - prop_tuple_count_ (0), - current_admitted_tuple_ (0), - enabled_ (rt_info.enabled) - // effective_exec_multiplier_ (0), //WSOA merge commented out - // effective_period_ (0) //WSOA merge commented out -{ - // Store the RT_Info fields. - this->orig_rt_info_data (*actual_rt_info_); -} - -// Constructor. - -TAO_Reconfig_Scheduler_Entry:: -~TAO_Reconfig_Scheduler_Entry () -{ - this->remove_tuples (ORIGINAL | PROPAGATED); -} - - -// Removes all tuples from the entry. - -void -TAO_Reconfig_Scheduler_Entry:: -remove_tuples (u_long tuple_flags) -{ - TAO_RT_Info_Tuple **tuple_ptr_ptr; - - if (tuple_flags & ORIGINAL) - { - TUPLE_SET_ITERATOR orig_tuple_iter (this->orig_tuple_subset_); - - while (orig_tuple_iter.done () == 0) - { - if (orig_tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || *tuple_ptr_ptr == 0) - { - ACE_ERROR ((LM_ERROR, - "Failed to access tuple under iterator")); - return; - } - - delete (*tuple_ptr_ptr); - - orig_tuple_iter.advance (); - } - - this->orig_tuple_subset_.reset (); - } - - // If either the originals or the propagated tuple pointers are to - // be removed, we have to get rid of the propagated pointers lest - // they become handles to access violations after the original - // tuples are destroyed. - if (tuple_flags & PROPAGATED - || tuple_flags & ORIGINAL) - { - this->prop_tuple_subset_.reset (); - } -} - - -// Adds a new tuple to the entry and updates the -// rate indices and mean rate for the tuples. - -int -TAO_Reconfig_Scheduler_Entry:: -insert_tuple (TAO_RT_Info_Tuple &tuple, - Tuple_Type tuple_type, - int replace) -{ - // Choose the appropriate tuple subset. - TUPLE_SET *set_ptr = (tuple_type == ORIGINAL) ? & orig_tuple_subset_ : & prop_tuple_subset_; - - // Recompute rate indices. - - tuple.rate_index = 0; - TAO_RT_Info_Tuple **tuple_ptr_ptr; - - TUPLE_SET_ITERATOR tuple_iter (*set_ptr); - - while (tuple_iter.done () == 0) - { - // Get a pointer to the tuple under the iterator. - if (tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || *tuple_ptr_ptr == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "Failed to access tuple under iterator"), -1); - } - - // Update existing tuples - if ((*tuple_ptr_ptr)->period > tuple.period) - { - // Move the tuple's rate index higher than any in the set - // with lower rates. - ++tuple.rate_index; - } - else if (replace && (*tuple_ptr_ptr)->period == tuple.period) - { - // If the replace flag is set, and there is already a tuple - // with the same rate in the set, just update that tuple and - // return. - **tuple_ptr_ptr = tuple; - return 1; - } - else - { - // Otherwise, just update the rate index of the subsequent - // tuples, which have the same or higher rates. - ++(*tuple_ptr_ptr)->rate_index; - } - - tuple_iter.advance (); - } - - // Update aggregate rate data, insert the tuple - if (tuple_type == ORIGINAL) - { - this->orig_tuple_period_sum_ += tuple.period; - ++this->orig_tuple_count_; - return (this->orig_tuple_subset_.insert (&tuple) < 0) ? -1 : 0; - } - else - { - this->prop_tuple_period_sum_ += tuple.period; - ++this->prop_tuple_count_; - return (this->prop_tuple_subset_.insert (&tuple) < 0) ? -1 : 0; - } -} - - -// Updates a matching tuple. - -int -TAO_Reconfig_Scheduler_Entry:: -update_tuple (TAO_RT_Info_Ex &info, - Tuple_Type tuple_type) -{ - // Choose the appropriate tuple subset. - TUPLE_SET *set_ptr = (tuple_type == ORIGINAL) ? & orig_tuple_subset_ : & prop_tuple_subset_; - - // Find and update the first matching tuple, if any. - - TAO_RT_Info_Tuple **tuple_ptr_ptr; - TUPLE_SET_ITERATOR tuple_iter (*set_ptr); - - while (tuple_iter.done () == 0) - { - // Get a pointer to the tuple under the iterator. - if (tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || *tuple_ptr_ptr == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "Failed to access tuple under iterator"), -1); - } - else if ((*tuple_ptr_ptr)->period < info.period) - { - // If we've hit a tuple with a shorter period (higher rate), - // then we're done. - break; - } - else if ((*tuple_ptr_ptr)->period == info.period) - { - // If the replace flag is set, and there is already a tuple - // with the same rate in the set, just update that tuple and - // return. - **tuple_ptr_ptr = info; - return 1; - } - - tuple_iter.advance (); - } - - return 0; -} - - -// Registers tuples into the passed tuple pointer array. -int -TAO_Reconfig_Scheduler_Entry:: -register_tuples (TAO_RT_Info_Tuple ** tuple_ptr_array, - long &tuple_count) -{ - // Iterate over the tuples, adding them to the pointer array. - - TAO_RT_Info_Tuple **tuple_ptr_ptr; - TUPLE_SET_ITERATOR tuple_iter (orig_tuple_subset_); - - while (tuple_iter.done () == 0) - { - // Get a pointer to the tuple under the iterator. - if (tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || *tuple_ptr_ptr == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "Failed to access tuple under iterator"), -1); - } - else - { - tuple_ptr_array [tuple_count] = *tuple_ptr_ptr; - ++tuple_count; - } - - tuple_iter.advance (); - } - - return 0; -} - - - - -// Accessor for original RT_Info data. - -TAO_RT_Info_Ex & -TAO_Reconfig_Scheduler_Entry::orig_rt_info_data () -{ - return orig_rt_info_data_; -} - - -// Mutator for stored original RT_Info data. - -void -TAO_Reconfig_Scheduler_Entry::orig_rt_info_data (TAO_RT_Info_Ex &data) -{ - // Only store the information that can be updated by the public interface at run-time. - this->orig_rt_info_data_.worst_case_execution_time = data.worst_case_execution_time; - this->orig_rt_info_data_.typical_execution_time = data.typical_execution_time; - this->orig_rt_info_data_.cached_execution_time = data.cached_execution_time; - this->orig_rt_info_data_.period = data.period; - this->orig_rt_info_data_.criticality = data.criticality; - this->orig_rt_info_data_.importance = data.importance; - this->orig_rt_info_data_.quantum = data.quantum; - this->orig_rt_info_data_.threads = data.threads; - this->orig_rt_info_data_.info_type = data.info_type; - this->orig_rt_info_data_.enabled = data.enabled; -} - -// Accessor for actual RT_Info pointer. - -TAO_RT_Info_Ex * -TAO_Reconfig_Scheduler_Entry:: -actual_rt_info () -{ - return this->actual_rt_info_; -} - - -// Mutator for actual RT_Info pointer. - -void -TAO_Reconfig_Scheduler_Entry:: -actual_rt_info (TAO_RT_Info_Ex *rt_info) -{ - this->actual_rt_info_ = rt_info; -} - - -// Accessor for when the node was discovered in forward DFS traversal. - -long -TAO_Reconfig_Scheduler_Entry:: -fwd_discovered () const -{ - return this->fwd_discovered_; -} - - -// Mutator for when the node was discovered in forward DFS traversal. - -void -TAO_Reconfig_Scheduler_Entry:: -fwd_discovered (long l) -{ - this->fwd_discovered_ = l; -} - - -// Accessor for when the node was discovered in reverse DFS traversal. - -long -TAO_Reconfig_Scheduler_Entry:: -rev_discovered () const -{ - return this->rev_discovered_; -} - - -// Mutator for when the node was discovered in reverse DFS traversal. - -void -TAO_Reconfig_Scheduler_Entry:: -rev_discovered (long l) -{ - this->rev_discovered_ = l; -} - - -// Accessor for when the node was finished in forward DFS traversal. - -long -TAO_Reconfig_Scheduler_Entry:: -fwd_finished () const -{ - return this->fwd_finished_; -} - - -// Mutator for when the node was finished in forward DFS traversal. - -void -TAO_Reconfig_Scheduler_Entry:: -fwd_finished (long l) -{ - this->fwd_finished_ = l; -} - - -// Accessor for when the node was finished in reverse DFS traversal. - -long -TAO_Reconfig_Scheduler_Entry:: -rev_finished () const -{ - return this->rev_finished_; -} - - -// Mutator for when the node was finished in reverse DFS traversal. - -void -TAO_Reconfig_Scheduler_Entry:: -rev_finished (long l) -{ - this->rev_finished_ = l; -} - - -// Accessor for forward DFS traversal status of the node. - -TAO_Reconfig_Scheduler_Entry::DFS_Status -TAO_Reconfig_Scheduler_Entry:: -fwd_dfs_status () const -{ - return this->fwd_dfs_status_; -} - - -// Mutator for forward DFS traversal status of the node. - -void -TAO_Reconfig_Scheduler_Entry:: -fwd_dfs_status (TAO_Reconfig_Scheduler_Entry::DFS_Status ds) -{ - this->fwd_dfs_status_ = ds; -} - - - -// Accessor for DFS traversal status of the node. - -TAO_Reconfig_Scheduler_Entry::DFS_Status -TAO_Reconfig_Scheduler_Entry:: -rev_dfs_status () const -{ - return this->rev_dfs_status_; -} - - -// Mutator for DFS traversal status of the node. - -void -TAO_Reconfig_Scheduler_Entry:: -rev_dfs_status (TAO_Reconfig_Scheduler_Entry::DFS_Status ds) -{ - this->rev_dfs_status_ = ds; -} - - -// Accessor for flag indicating whether node is a thread -// delineator. - -int -TAO_Reconfig_Scheduler_Entry:: -is_thread_delineator () const -{ - return this->is_thread_delineator_; -} - - -// Mutator for flag indicating whether node is a thread -// delineator. - -void -TAO_Reconfig_Scheduler_Entry:: -is_thread_delineator (int i) -{ - this->is_thread_delineator_ = i; -} - - -// Accessor for flag indicating whether node has unresolved remote -// dependencies. - -int -TAO_Reconfig_Scheduler_Entry:: -has_unresolved_remote_dependencies () const -{ - return this->has_unresolved_remote_dependencies_; -} - - -// Mutator for flag indicating whether node has unresolved remote -// dependencies. - -void -TAO_Reconfig_Scheduler_Entry:: -has_unresolved_remote_dependencies (int i) -{ - this->has_unresolved_remote_dependencies_ = i; -} - - -// Accessor for flag indicating whether node has unresolved local -// dependencies. - -int -TAO_Reconfig_Scheduler_Entry:: -has_unresolved_local_dependencies () const -{ - return this->has_unresolved_local_dependencies_; -} - - -// Mutator for flag indicating whether node has unresolved local -// dependencies. - -void -TAO_Reconfig_Scheduler_Entry:: -has_unresolved_local_dependencies (int i) -{ - this->has_unresolved_local_dependencies_ = i; -} - -/* WSOA merge - commented out -// Accessor for effective period of corresponding RT_Info. - -RtecScheduler::Period_t -TAO_Reconfig_Scheduler_Entry:: -effective_period () -{ - return this->effective_period_; -} - - -// Mutator for effective period of corresponding RT_Info. - -void -TAO_Reconfig_Scheduler_Entry:: -effective_period (RtecScheduler::Period_t p) -{ - this->effective_period_ = p; -} - - -// Accessor for effective execution time of corresponding RT_Info. - -CORBA::Long -TAO_Reconfig_Scheduler_Entry:: -effective_exec_multiplier () -{ - return this->effective_exec_multiplier_; -} - - -// Mutator for effective execution time of corresponding RT_Info. - -void -TAO_Reconfig_Scheduler_Entry:: -effective_exec_multiplier (CORBA::Long l) -{ - this->effective_exec_multiplier_ = l; -} -*/ - -/////////////////////////// - -TAO_Reconfig_Sched_Entry_Visitor::~TAO_Reconfig_Sched_Entry_Visitor (void) -{ -} - -/////////////////////////// -// TAO_RSE_Reset_Visitor // -/////////////////////////// - -// Constructor. - -TAO_RSE_Reset_Visitor::TAO_RSE_Reset_Visitor () -{ -} - - -// Resets the fields in the entry to pre-DFS traversal states. -// Returns 0 on success and -1 on error. - -int -TAO_RSE_Reset_Visitor::visit (TAO_Reconfig_Scheduler_Entry &rse) -{ - // Note that this value differs from what is set in the - // constructor for the entry. This is because the reset - // visitor is applied prior to a DFS traversal, in which callers - // *unset* the thread delineator status of any of their called - // operations that do not specify a period or threads. - - if (rse.actual_rt_info ()->enabled != RtecScheduler::RT_INFO_NON_VOLATILE) - { - rse.is_thread_delineator (1); - - // Only reset the period for entries that are not root nodes. Added by BRM. - if (rse.actual_rt_info ()->threads == 0) - { - rse.actual_rt_info ()->period = 0; - } - } - - // Remove the propagated tuples in the entry. - rse.remove_tuples (TAO_Reconfig_Scheduler_Entry::PROPAGATED); - - rse.fwd_dfs_status (TAO_Reconfig_Scheduler_Entry::NOT_VISITED); - rse.rev_dfs_status (TAO_Reconfig_Scheduler_Entry::NOT_VISITED); - rse.fwd_discovered (-1); - rse.rev_discovered (-1); - rse.fwd_finished (-1); - rse.rev_finished (-1); - rse.has_unresolved_remote_dependencies (0); - rse.has_unresolved_local_dependencies (0); - rse.aggregate_exec_time (rse.actual_rt_info ()->worst_case_execution_time); - rse.current_admitted_tuple (0); - - //WSOA merge - commented out - // These settings are used for a conservative but - // efficient approach to estimating utilization: - // for an exact algorithm using frame merging, - // other initial settings might be needed. - //rse.effective_exec_multiplier (0); - //rse.effective_period (0); - - return 0; -} - - -// Accessor for effective execution time of corresponding RT_Info. - -RtecScheduler::Time -TAO_Reconfig_Scheduler_Entry:: -aggregate_exec_time () -{ - return this->aggregate_exec_time_; -} - - -// Mutator for effective execution time of corresponding RT_Info. - -void -TAO_Reconfig_Scheduler_Entry:: -aggregate_exec_time (RtecScheduler::Time t) -{ - this->aggregate_exec_time_ = t; -} - -// Accessor for the sum of periods for tuples directly associated -// with the entry. -RtecScheduler::Period_t -TAO_Reconfig_Scheduler_Entry:: -orig_tuple_period_sum () -{ - return orig_tuple_period_sum_; -} - - -// Mutator for the sum of periods for tuples directly associated -// with the entry. -void -TAO_Reconfig_Scheduler_Entry:: -orig_tuple_period_sum (RtecScheduler::Period_t p) -{ - orig_tuple_period_sum_ = p; -} - - -// Accessor for the sum of periods for tuples propagated via -// dependencies on other entries. -RtecScheduler::Period_t -TAO_Reconfig_Scheduler_Entry:: -prop_tuple_period_sum () -{ - return prop_tuple_period_sum_; -} - - -// Mutator for the sum of periods for tuples propagated via -// dependencies on other entries. -void -TAO_Reconfig_Scheduler_Entry:: -prop_tuple_period_sum (RtecScheduler::Period_t p) -{ - prop_tuple_period_sum_ = p; -} - - -// Accessor for the number of tuples directly associated with the -// entry. -u_int -TAO_Reconfig_Scheduler_Entry:: -orig_tuple_count () -{ - return orig_tuple_count_; -} - - -// Mutator for the number of tuples directly associated with the -// entry. -void -TAO_Reconfig_Scheduler_Entry:: -orig_tuple_count (u_int c) -{ - orig_tuple_count_ = c; -} - - -// Accessor for the number of tuples propagated via dependencies on -// other entries. -u_int -TAO_Reconfig_Scheduler_Entry:: -prop_tuple_count () -{ - return prop_tuple_count_; -} - - -// Mutator for the number of tuples propagated via dependencies on -// other entries. -void -TAO_Reconfig_Scheduler_Entry:: -prop_tuple_count (u_int c) -{ - prop_tuple_count_ = c; -} - - -// Accessor for the set of tuples directly associated with the -// entry. -TUPLE_SET & -TAO_Reconfig_Scheduler_Entry:: -orig_tuple_subset () -{ - return orig_tuple_subset_; -} - - -// Accessor for the set of tuples propagated via dependencies on -// other entries. -TUPLE_SET & -TAO_Reconfig_Scheduler_Entry:: -prop_tuple_subset () -{ - return prop_tuple_subset_; -} - - -TAO_RT_Info_Tuple * -TAO_Reconfig_Scheduler_Entry:: -current_admitted_tuple () -{ - return current_admitted_tuple_; -} - - -void -TAO_Reconfig_Scheduler_Entry:: -current_admitted_tuple (TAO_RT_Info_Tuple * t) -{ - current_admitted_tuple_ = t; -} - -// Accessor for flag indicating whether or not node is enabled. - -RtecScheduler::RT_Info_Enabled_Type_t -TAO_Reconfig_Scheduler_Entry:: -enabled_state () const -{ - return this->enabled_; -} - - -// Mutator for flag indicating whether or not node is enabled. - -void -TAO_Reconfig_Scheduler_Entry:: -enabled_state (RtecScheduler::RT_Info_Enabled_Type_t et) -{ - this->enabled_ = et; -} - - -//////////////////////////////////////////// - -TAO_RT_Info_Tuple_Visitor::~TAO_RT_Info_Tuple_Visitor (void) -{ -} - -//////////////////////////////////////////// -// class TAO_Reconfig_Sched_Strategy_Base // -//////////////////////////////////////////// - - -// Ordering function to compare the DFS finish times of -// two RT_Info_Tuples -int -TAO_Reconfig_Sched_Strategy_Base::comp_tuple_finish_times (const void *first, const void *second) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_RT_Info_Tuple **first_tuple = - reinterpret_cast (const_cast (first)); - - //volatile_token is a TAO_Reconfig_Scheduler_Entry*, but we need to treat it as a void* - void * first_entry = ACE_LONGLONG_TO_PTR (void *, - (*first_tuple)->volatile_token); - - TAO_RT_Info_Tuple **second_tuple = - reinterpret_cast (const_cast (second)); - - //volatile_token is a TAO_Reconfig_Scheduler_Entry*, but we need to treat it as a void* - void * second_entry = ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*second_tuple)->volatile_token); - - return TAO_Reconfig_Sched_Strategy_Base::comp_entry_finish_times(first_entry,second_entry); -} - -// Ordering function to compare the DFS finish times of -// two task entries, so qsort orders these in topological -// order, with the higher times *first* -int -TAO_Reconfig_Sched_Strategy_Base::comp_entry_finish_times (const void *first, const void *second) -{ - const TAO_Reconfig_Scheduler_Entry *first_entry = - * reinterpret_cast (first); - - const TAO_Reconfig_Scheduler_Entry *second_entry = - * reinterpret_cast (second); - - // sort blank entries to the end - if (! first_entry) - { - return (second_entry) ? 1 : 0; - } - else if (! second_entry) - { - return -1; - } - - // sort disabled entries to the end - if (first_entry->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return (second_entry->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if (second_entry->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - // Sort entries with higher forward DFS finishing times before those - // with lower forward DFS finishing times. - if (first_entry->fwd_finished () > - second_entry->fwd_finished ()) - { - return -1; - } - else if (first_entry->fwd_finished () < - second_entry->fwd_finished ()) - { - return 1; - } - - return 0; -} - -// Determines whether or not an entry is critical, based on operation characteristics. -// returns 1 if critical, 0 if not - -int -TAO_Reconfig_Sched_Strategy_Base::is_critical (TAO_Reconfig_Scheduler_Entry &rse) -{ - // Look at the underlying RT_Info's criticality field. - return (rse.actual_rt_info ()->criticality == RtecScheduler::HIGH_CRITICALITY || - rse.actual_rt_info ()->criticality == RtecScheduler::VERY_HIGH_CRITICALITY) - ? 1 : 0; -} - -// Determines whether or not a tuple is critical, based on operation -// characteristics. returns 1 if critical, 0 if not - -int -TAO_Reconfig_Sched_Strategy_Base::is_critical (TAO_RT_Info_Tuple &t) -{ - // Look at the underlying RT_Info's criticality field. - return (t.criticality == RtecScheduler::HIGH_CRITICALITY || - t.criticality == RtecScheduler::VERY_HIGH_CRITICALITY) - ? 1 : 0; -} - - -// Compares two entries by subpriority alone. Returns -1 if the first -// one is higher, 0 if they're the same, and 1 if the second one is -// higher. - -int -TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs) -{ - // First, compare importance. - - if (lhs.actual_rt_info ()->importance > rhs.actual_rt_info ()->importance) - { - return -1; - } - else if (lhs.actual_rt_info ()->importance < rhs.actual_rt_info ()->importance) - { - return 1; - } - - // Same importance, so look at dfs finish time as a tiebreaker. - - else if (lhs.fwd_finished () > rhs.fwd_finished ()) - { - return -1; - } - else if (lhs.fwd_finished () < rhs.fwd_finished ()) - { - return 1; - } - - // Same dfs finish time, so look at handle as a tiebreaker. - - else if (lhs.actual_rt_info ()->handle > rhs.actual_rt_info ()->handle) - { - return -1; - } - else if (lhs.actual_rt_info ()->handle < rhs.actual_rt_info ()->handle) - { - return 1; - } - - // They're the same if we got here. - return 0; -} - - -//////////////////////////////////////////////// -// class TAO_MUF_FAIR_Reconfig_Sched_Strategy // -//////////////////////////////////////////////// - -// Ordering function used to qsort an array of TAO_RT_Info_Tuple -// pointers into a total ordering. Returns -1 -// if the first one is higher, 0 if they're the same, and 1 if the -// second one is higher. - -int -TAO_MUF_FAIR_Reconfig_Sched_Strategy::total_priority_comp (const void *s, const void *t) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_Reconfig_Scheduler_Entry **first = - reinterpret_cast (const_cast (s)); - TAO_Reconfig_Scheduler_Entry **second = - reinterpret_cast (const_cast (t)); - - // Check the converted pointers. - if (first == 0 || *first == 0) - { - return (second == 0 || *second == 0) ? 0 : 1; - } - else if (second == 0 || *second == 0) - { - return -1; - } - - // sort disabled entries to the end - if ((*first)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - int result = - TAO_MUF_FAIR_Reconfig_Sched_Strategy::compare_priority (**first, - **second); - - // Check whether they were distinguished by priority. - if (result == 0) - { - return TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (**first, - **second); - } - else - { - return result; - } -} - - -// Ordering function used to qsort an array of RT_Info_Tuple -// pointers into a total ordering for admission control. Returns -// -1 if the first one is higher, 0 if they're the same, and 1 if -// the second one is higher. - -int -TAO_MUF_FAIR_Reconfig_Sched_Strategy::total_admission_comp (const void *s, - const void *t) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_RT_Info_Tuple **first = - reinterpret_cast (const_cast (s)); - - TAO_Reconfig_Scheduler_Entry * first_entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*first)->volatile_token); - - TAO_RT_Info_Tuple **second = - reinterpret_cast (const_cast (t)); - - TAO_Reconfig_Scheduler_Entry * second_entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*second)->volatile_token); - - // Check the converted pointers. - if (first == 0 || *first == 0) - { - return (second == 0 || *second == 0) ? 0 : 1; - } - else if (second == 0 || *second == 0) - { - return -1; - } - - // sort disabled tuples to the end - if ((*first)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - // First, compare according to rate index. - - if ((*first)->rate_index < (*second)->rate_index) - { - return -1; - } - else if ((*second)->rate_index < (*first)->rate_index) - { - return 1; - } - - // Then compare by priority. - - int result = - TAO_MUF_FAIR_Reconfig_Sched_Strategy::compare_priority (**first, **second); - if (result != 0) - { - return result; - } - - // Then compare by subpriority. - - result = TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (*first_entry, - *second_entry); - if (result != 0) - { - return result; - } - - return 0; -} - - - -// Compares two RT_Info entries by priority alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_MUF_FAIR_Reconfig_Sched_Strategy::compare_priority (TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs) -{ - // In MUF, priority is per criticality level: compare criticalities. - if (lhs.actual_rt_info ()->criticality > - rhs.actual_rt_info ()->criticality) - { - return -1; - } - else if (lhs.actual_rt_info ()->criticality < - rhs.actual_rt_info ()->criticality) - { - return 1; - } - - // They're the same if we got here. - return 0; -} - - -// Compares two RT_Info tuples by priority alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_MUF_FAIR_Reconfig_Sched_Strategy::compare_priority (TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs) -{ - // In MUF, priority is per criticality level: compare criticalities. - if (lhs.criticality > rhs.criticality) - { - return -1; - } - else if (lhs.criticality < rhs.criticality) - { - return 1; - } - - // They're the same if we got here. - return 0; -} - - -// Fills in a static dispatch configuration for a priority level, based -// on the operation characteristics of a representative scheduling entry. - -int -TAO_MUF_FAIR_Reconfig_Sched_Strategy::assign_config (RtecScheduler::Config_Info &info, - TAO_Reconfig_Scheduler_Entry &rse) -{ - // Global and thread priority of dispatching queue are simply - // those assigned the representative operation it will dispatch. - info.preemption_priority = rse.actual_rt_info ()->preemption_priority; - info.thread_priority = rse.actual_rt_info ()->priority; - - // Dispatching queues are all laxity-based in this strategy. - info.dispatching_type = RtecScheduler::LAXITY_DISPATCHING; - - return 0; -} - -/////////////////////////////////////////////////// -// class TAO_RMS_FAIR_Reconfig_Sched_Strategy // -/////////////////////////////////////////////////// - - -// Ordering function used to qsort an array of TAO_RT_Info_Tuple -// pointers into a total ordering. Returns -1 -// if the first one is higher, 0 if they're the same, and 1 if the -// second one is higher. - -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::total_priority_comp (const void *s, const void *t) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_Reconfig_Scheduler_Entry **first = - reinterpret_cast (const_cast (s)); - TAO_Reconfig_Scheduler_Entry **second = - reinterpret_cast (const_cast (t)); - - // Check the converted pointers. - if (first == 0 || *first == 0) - { - return (second == 0 || *second == 0) ? 0 : 1; - } - else if (second == 0 || *second == 0) - { - return -1; - } - - // sort disabled entries to the end - if ((*first)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - - // Check whether they are distinguished by priority, and if not, - // then by subpriority. - - int result = - TAO_RMS_FAIR_Reconfig_Sched_Strategy::compare_priority (**first, - **second); - - if (result == 0) - { - return TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (**first, - **second); - } - else - { - return result; - } -} - - -// Ordering function used to qsort an array of RT_Info_Tuple -// pointers into a total ordering for admission control. Returns -// -1 if the first one is higher, 0 if they're the same, and 1 if -// the second one is higher. - -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::total_admission_comp (const void *s, - const void *t) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_RT_Info_Tuple **first = - reinterpret_cast (const_cast (s)); - - TAO_Reconfig_Scheduler_Entry * first_entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*first)->volatile_token); - - TAO_RT_Info_Tuple **second = - reinterpret_cast (const_cast (t)); - - TAO_Reconfig_Scheduler_Entry * second_entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*second)->volatile_token); - - // Check the converted pointers. - if (first == 0 || *first == 0) - { - return (second == 0 || *second == 0) ? 0 : 1; - } - else if (second == 0 || *second == 0) - { - return -1; - } - - // sort disabled tuples to the end - if ((*first)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - // First, compare by rate index. - - if ((*first)->rate_index < (*second)->rate_index) - { - return -1; - } - else if ((*second)->rate_index < (*first)->rate_index) - { - return 1; - } - - // Then compare by priority. - - int result = - TAO_RMS_FAIR_Reconfig_Sched_Strategy::compare_criticality (**first, - **second); - if (result != 0) - { - return result; - } - - // Then compare by subpriority. - - result = TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (*first_entry, - *second_entry); - if (result != 0) - { - return result; - } - - return 0; -} - - -// Compares two RT_Info entries by criticality alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::compare_criticality(TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs) -{ - ACE_UNUSED_ARG (lhs); - ACE_UNUSED_ARG (rhs); - // In RMS_FAIR, no consideration of criticalities - return 0; -} - -// Compares two RT_Info entries by criticality alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::compare_criticality(TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs) -{ - ACE_UNUSED_ARG (lhs); - ACE_UNUSED_ARG (rhs); - // In plain RMS, no consideration of criticalities - return 0; -} - -// Compares two RT_Info entries by priority alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::compare_priority (TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs) -{ - //differentiate by rate. - if (lhs.actual_rt_info ()->period < rhs.actual_rt_info ()->period) - { - return -1; - } - else if (lhs.actual_rt_info ()->period > rhs.actual_rt_info ()->period) - { - return 1; - } - - // They're the same if we got here. - return 0; -} - - -// Compares two RT_Info tuples by priority alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::compare_priority (TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs) -{ - // In RMS_FAIR, priority is partitioned based on rate: - if (lhs.period < rhs.period) - { - return -1; - } - else if (lhs.period > rhs.period) - { - return 1; - } - - // They're the same if we got here. - return 0; -} - - -// Fills in a static dispatch configuration for a priority level, based -// on the operation characteristics of a representative scheduling entry. - -int -TAO_RMS_FAIR_Reconfig_Sched_Strategy::assign_config (RtecScheduler::Config_Info &info, - TAO_Reconfig_Scheduler_Entry &rse) -{ - // Global and thread priority of dispatching queue are simply - // those assigned the representative operation it will dispatch. - info.preemption_priority = rse.actual_rt_info ()->preemption_priority; - info.thread_priority = rse.actual_rt_info ()->priority; - - // In RMS_FAIR, all queues are static - info.dispatching_type = RtecScheduler::STATIC_DISPATCHING; - - return 0; -} - -/////////////////////////////////////////////////// -// class TAO_RMS_MLF_Reconfig_Sched_Strategy // -/////////////////////////////////////////////////// - - -// Ordering function used to qsort an array of TAO_RT_Info_Tuple -// pointers into a total ordering. Returns -1 -// if the first one is higher, 0 if they're the same, and 1 if the -// second one is higher. - -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::total_priority_comp (const void *s, const void *t) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_Reconfig_Scheduler_Entry **first = - reinterpret_cast (const_cast (s)); - TAO_Reconfig_Scheduler_Entry **second = - reinterpret_cast (const_cast (t)); - - // Check the converted pointers. - if (first == 0 || *first == 0) - { - return (second == 0 || *second == 0) ? 0 : 1; - } - else if (second == 0 || *second == 0) - { - return -1; - } - - // sort disabled entries to the end - if ((*first)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - - // Check whether they are distinguished by priority, and if not, - // then by subpriority. - - int result = - TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_priority (**first, - **second); - - if (result == 0) - { - return TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (**first, - **second); - } - else - { - return result; - } -} - - -// Ordering function used to qsort an array of RT_Info_Tuple -// pointers into a total ordering for admission control. Returns -// -1 if the first one is higher, 0 if they're the same, and 1 if -// the second one is higher. - -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::total_admission_comp (const void *s, - const void *t) -{ - // Convert the passed pointers: the double cast is needed to - // make Sun C++ 4.2 happy. - TAO_RT_Info_Tuple **first = - reinterpret_cast (const_cast (s)); - - TAO_Reconfig_Scheduler_Entry * first_entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*first)->volatile_token); - - TAO_RT_Info_Tuple **second = - reinterpret_cast (const_cast (t)); - - TAO_Reconfig_Scheduler_Entry * second_entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - (*second)->volatile_token); - - // Check the converted pointers. - if (first == 0 || *first == 0) - { - return (second == 0 || *second == 0) ? 0 : 1; - } - else if (second == 0 || *second == 0) - { - return -1; - } - - // sort disabled tuples to the end - if ((*first)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) ? 0 : 1; - } - else if ((*second)->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return -1; - } - - // First, compare by rate index. - - if ((*first)->rate_index < (*second)->rate_index) - { - return -1; - } - else if ((*second)->rate_index < (*first)->rate_index) - { - return 1; - } - - // Then compare by priority. - - int result = - TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_criticality (**first, - **second); - if (result != 0) - { - return result; - } - - // Then compare by subpriority. - - result = TAO_Reconfig_Sched_Strategy_Base::compare_subpriority (*first_entry, - *second_entry); - if (result != 0) - { - return result; - } - - return 0; -} - - -// Compares two RT_Info entries by criticality alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_criticality(TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs) -{ - // In RMS+MLF, priority is per criticality level: compare criticalities. - - if (lhs.actual_rt_info ()->criticality > rhs.actual_rt_info ()->criticality) - { - return -1; - } - else if (lhs.actual_rt_info ()->criticality < rhs.actual_rt_info ()->criticality) - { - return 1; - } - else - { - return 0; - } -} - -// Compares two RT_Info entries by criticality alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_criticality(TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs) -{ - if (lhs.criticality > rhs.criticality) - { - return -1; - } - else if (lhs.criticality < rhs.criticality) - { - return 1; - } - else - { - return 0; - } -} - -// Compares two RT_Info entries by priority alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_priority (TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs) -{ - // In RMS+MLF, priority is per criticality level: compare criticalities. - int result = TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_criticality(lhs, rhs); - - if (result != 0) - { - return result; - } - - // Same criticality: if high criticality, differentiate by rate. - if (TAO_Reconfig_Sched_Strategy_Base::is_critical (rhs)) - { - if (lhs.actual_rt_info ()->period < rhs.actual_rt_info ()->period) - { - return -1; - } - else if (lhs.actual_rt_info ()->period > rhs.actual_rt_info ()->period) - { - return 1; - } - } - - // They're the same if we got here. - return 0; -} - - -// Compares two RT_Info tuples by priority alone. Returns -1 if the -// first one is higher, 0 if they're the same, and 1 if the second one is higher. - -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::compare_priority (TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs) -{ - // In RMS_Dyn, priority is first partitioned per criticality level: - // compare criticalities. - - if (lhs.criticality > rhs.criticality) - { - return -1; - } - else if (lhs.criticality < rhs.criticality) - { - return 1; - } - - // Same criticality: if high criticality, differentiate by rate. - else if (TAO_Reconfig_Sched_Strategy_Base::is_critical (rhs)) - { - if (lhs.period < rhs.period) - { - return -1; - } - else if (lhs.period > rhs.period) - { - return 1; - } - } - - // They're the same if we got here. - return 0; -} - -// Fills in a static dispatch configuration for a priority level, based -// on the operation characteristics of a representative scheduling entry. - -int -TAO_RMS_MLF_Reconfig_Sched_Strategy::assign_config (RtecScheduler::Config_Info &info, - TAO_Reconfig_Scheduler_Entry &rse) -{ - // Global and thread priority of dispatching queue are simply - // those assigned the representative operation it will dispatch. - info.preemption_priority = rse.actual_rt_info ()->preemption_priority; - info.thread_priority = rse.actual_rt_info ()->priority; - - // Critical queues are static, and non-critical ones are - // laxity-based in this strategy. - if (TAO_Reconfig_Sched_Strategy_Base::is_critical (rse)) - { - info.dispatching_type = RtecScheduler::STATIC_DISPATCHING; - } - else - { - info.dispatching_type = RtecScheduler::LAXITY_DISPATCHING; - } - - return 0; -} - - -#endif /* TAO_RECONFIG_SCHED_UTILS_C */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h deleted file mode 100644 index 408d42bb56f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h +++ /dev/null @@ -1,669 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Scheduler_Utils.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHED_UTILS_H -#define TAO_RECONFIG_SCHED_UTILS_H -#include /**/ "ace/pre.h" - -// Uncomment this to turn on some extra trace level debugging info, -// comment it out to turn off that extra debugging info. -//#define SCHEDULER_LOGGING - -#include "ace/config-all.h" - -#include "orbsvcs/Scheduler_Factory.h" -#include "orbsvcs/RtecSchedulerS.h" -#include "orbsvcs/Sched/sched_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -struct TAO_RTSched_Export TAO_RT_Info_Ex - : public RtecScheduler::RT_Info - // = TITLE - // A wrapper class for the IDL-generated RT_Info operation descriptors. - // - // = DESCRIPTION - // This class provides (re)initialization methods and a validity flag - // for the underlying IDL-generated RT_Info descriptor. -{ - TAO_RT_Info_Ex (); - // Default Constructor. - - TAO_RT_Info_Ex (const RtecScheduler::RT_Info &); - // Constructor from an RT_Info - // (also serves as a copy constructor). - - virtual ~TAO_RT_Info_Ex (); - // Destructor. - - void operator = (const RtecScheduler::RT_Info &); - // Assignment operator with an RT_Info on the RHS. - - virtual void reset (u_long reset_flags); - // Resets output data members to initial values, and removes tuples - // corresponding to the reset flags. - - virtual void enabled_state (RtecScheduler::RT_Info_Enabled_Type_t); - // Sets the info and underlying entry's enable states. - - virtual RtecScheduler::RT_Info_Enabled_Type_t enabled_state (); - // Returns the info's enable state. -}; - - -struct TAO_RTSched_Export TAO_RT_Info_Tuple - : public TAO_RT_Info_Ex - // = TITLE - // An implementation class used to wrap available operation descriptors. - // Each operation may have one or more tuples describing different rates, - // etc., for the same operation. - // - // = DESCRIPTION - // This class enables admission control within the Reconfig Scheduler, - // which offers improved performance compared to admission control - // outside the scheduler. -{ - TAO_RT_Info_Tuple (); - // Default Constructor. - - TAO_RT_Info_Tuple (const RtecScheduler::RT_Info &); - // Constructor from an RT_Info. - // (also serves as a copy constructor). - - virtual ~TAO_RT_Info_Tuple (); - // Destructor. - - void operator = (const RtecScheduler::RT_Info &); - // Assignment operator with an RT_Info on the RHS. - - bool operator < (const TAO_RT_Info_Tuple &t); - // Less-than comparison operator: orders tuples by ascending rate (descending period). - - u_long rate_index; - // Index of the tuple in the operation's ordered available rates -}; - - -class TAO_RTSched_Export TAO_Reconfig_Scheduler_Entry - // = TITLE - // An implementation class used to decouple the available descriptors - // from the admitted descriptors, and to store interim scheduling results - // such as DFS finishing order, etc. - // - // = DESCRIPTION - // This class improves the performance of the Reconfig Scheduler - // by saving information from one computation for use in other - // computations, and simplifies the implementation logic. -{ -public: - - // Info for DFS traversal, topological sort of call graph. - enum DFS_Status {NOT_VISITED, VISITED, FINISHED}; - - enum Tuple_Type {ORIGINAL = 0x01UL, PROPAGATED = 0x02UL}; - - TAO_Reconfig_Scheduler_Entry (TAO_RT_Info_Ex &rt_info); - // Constructor. - - ~TAO_Reconfig_Scheduler_Entry (); - // Destructor. - - void remove_tuples (u_long tuple_flags = ORIGINAL | PROPAGATED); - // Removes all tuples from the entry. - - int insert_tuple (TAO_RT_Info_Tuple &tuple, - Tuple_Type tuple_type = ORIGINAL, - int replace = 0); - // Inserts a tuple into the appropriate tuple multiset. - - int update_tuple (TAO_RT_Info_Ex &info, - Tuple_Type tuple_type = ORIGINAL); - // Updates a matching tuple. - - int register_tuples (TAO_RT_Info_Tuple ** tuple_ptr_array, - long &tuple_count); - // Registers tuples into the passed tuple pointer array. - - TAO_RT_Info_Ex & orig_rt_info_data (void); - // Accessor for stored original RT_Info data. - - void orig_rt_info_data (TAO_RT_Info_Ex &data); - // Mutator for stored original RT_Info data. - - TAO_RT_Info_Ex * actual_rt_info (); - // Accessor for actual RT_Info. - - void actual_rt_info (TAO_RT_Info_Ex *); - // Mutator for actual RT_Info. - - long fwd_discovered () const; - // Accessor for when the node was discovered in forward DFS traversal. - - void fwd_discovered (long l); - // Mutator for when the node was discovered in forward DFS traversal. - - long rev_discovered () const; - // Accessor for when the node was discovered in reverse DFS traversal. - - void rev_discovered (long l); - // Mutator for when the node was discovered in reverse DFS traversal. - - long fwd_finished () const; - // Accessor for when the node was finished in forward DFS traversal. - - void fwd_finished (long l); - // Mutator for when the node was finished in forward DFS traversal. - - long rev_finished () const; - // Accessor for when the node was finished in reverse DFS traversal. - - void rev_finished (long l); - // Mutator for when the node was finished in reverse DFS traversal. - - DFS_Status fwd_dfs_status () const; - // Accessor for forward DFS traversal status of the node. - - DFS_Status rev_dfs_status () const; - // Accessor for reverse DFS traversal status of the node. - - void fwd_dfs_status (DFS_Status ds); - // Mutator for forward DFS traversal status of the node. - - void rev_dfs_status (DFS_Status ds); - // Mutator for reverse DFS traversal status of the node. - - int is_thread_delineator () const; - // Accessor for flag indicating whether node is a thread - // delineator. - - void is_thread_delineator (int i); - // Mutator for flag indicating whether node is a thread - // delineator. - - int has_unresolved_remote_dependencies () const; - // Accessor for flag indicating whether node has unresolved remote - // dependencies. - - void has_unresolved_remote_dependencies (int i); - // Mutator for flag indicating whether node has unresolved remote - // dependencies. - - int has_unresolved_local_dependencies () const; - // Accessor for flag indicating whether node has unresolved local - // dependencies. - - void has_unresolved_local_dependencies (int i); - // Mutator for flag indicating whether node has unresolved local - // dependencies. - - RtecScheduler::Time aggregate_exec_time (); - // Accessor for effective execution time of the corresponding - // RT_Info and all of its disjunctively (i.e., dispatching waveforms - // are additive) executed dependants. - - void aggregate_exec_time (RtecScheduler::Time t); - // Mutator for effective execution time of the corresponding RT_Info - // and its disjunctively executed dependants. - - RtecScheduler::Period_t orig_tuple_period_sum (); - // Accessor for the sum of periods for tuples directly associated - // with the entry. It can be used to compute the mean rate for the - // entry. - - void orig_tuple_period_sum (RtecScheduler::Period_t p); - // Mutator for the sum of periods for tuples directly associated - // with the entry. It can be used to compute the mean rate for the - // entry. - - RtecScheduler::Period_t prop_tuple_period_sum (); - // Accessor for the sum of periods for tuples propagated via - // dependencies on other entries. It can be used to compute the - // mean rate for the entry. - - void prop_tuple_period_sum (RtecScheduler::Period_t p); - // Mutator for the sum of periods for tuples propagated via - // dependencies on other entries. It can be used to compute the - // mean rate for the entry. - - u_int orig_tuple_count (); - // Accessor for the number of tuples directly associated with the - // entry. - - void orig_tuple_count (u_int c); - // Mutator for the number of tuples directly associated with the - // entry. - - u_int prop_tuple_count (); - // Accessor for the number of tuples propagated via dependencies on - // other entries. - - void prop_tuple_count (u_int c); - // Mutator for the number of tuples propagated via dependencies on - // other entries. - - TUPLE_SET& orig_tuple_subset (); - // Accessor for the set of tuples directly associated with the - // entry. - - TUPLE_SET& prop_tuple_subset (); - // Accessor for the set of tuples propagated via dependencies on - // other entries. - - TAO_RT_Info_Tuple * current_admitted_tuple (); - // Returns a pointer to the entry's most recently admitted tuple. - // The pointer is zero if no tuples have been admitted so far. - - void current_admitted_tuple (TAO_RT_Info_Tuple *); - // Sets a pointer to the entry's most recently admitted tuple. - // The pointer is zero if no tuples have been admitted so far. - - RtecScheduler::RT_Info_Enabled_Type_t enabled_state () const; - // Accessor for flag indicating whether or not node is enabled. - - void enabled_state (RtecScheduler::RT_Info_Enabled_Type_t); - // Mutator for flag indicating whether or not node is enabled. - -/* WSOA merge - commented out - RtecScheduler::Period_t effective_period (); - // Accessor for effective period of corresponding RT_Info. - - void effective_period (RtecScheduler::Period_t p); - // Mutator for effective period of corresponding RT_Info. - - CORBA::Long effective_exec_multiplier (); - // Accessor for effective execution time multiplier of corresponding - // RT_Info. - - void effective_exec_multiplier (CORBA::Long l); - // Mutator for effective execution time multiplier of corresponding - // RT_Info. -*/ - -private: - - TAO_RT_Info_Ex orig_rt_info_data_; - // Stores the values of operation characteristics as they were specified - // in the most recent call to the Reconfig_Scheduler's set () method. - // That way, the scheduler propagation pass can overwrite RT_Info fields - // without losing the original values. This is useful when - - TAO_RT_Info_Ex *actual_rt_info_; - // Points to the actual RT_Info to which the schedling entry corresponds. - - DFS_Status fwd_dfs_status_; - // Forward depth-first-search status of the entry. - - DFS_Status rev_dfs_status_; - // Reverse depth-first-search status of the entry. - - long fwd_discovered_; - // Forward depth-first-search discovery order of the entry. - - long rev_discovered_; - // Reverse depth-first-search discovery order of the entry. - - long fwd_finished_; - // Forward depth-first-search completion order of the entry. - - long rev_finished_; - // Reverse depth-first-search completion order of the entry. - - int is_thread_delineator_; - // Flag identifying threads in the call graph. - - int has_unresolved_remote_dependencies_; - // Flag indicating whether or not there are unresolved remote - // dependencies in the entry's dependency call chain. - - int has_unresolved_local_dependencies_; - // Flag indicating whether or not there are unresolved local - // dependencies in the entry's dependency call chain. - - RtecScheduler::Time aggregate_exec_time_; - // Effective execution time for corresponding RT_Info and its - // disjunctively executed dependants. - - RtecScheduler::Period_t orig_tuple_period_sum_; - // Sum of periods for tuples directly associated with the entry. It - // can be used to compute the mean rate for the entry. - - RtecScheduler::Period_t prop_tuple_period_sum_; - // The sum of periods for tuples propagated via dependencies on - // other entries. It can be used to compute the mean rate for the - // entry. - - u_int orig_tuple_count_; - // The number of tuples directly associated with the entry. - - u_int prop_tuple_count_; - // The number of tuples propagated via dependencies on other - // entries. - - TUPLE_SET orig_tuple_subset_; - // The set of tuples directly associated with the entry. - - TUPLE_SET prop_tuple_subset_; - // The set of tuples propagated via dependencies on other entries. - - TAO_RT_Info_Tuple * current_admitted_tuple_; - // A pointer to the entry's most recently admitted tuple. - - RtecScheduler::RT_Info_Enabled_Type_t enabled_; - // Flag indicating whether or not node is enabled. - - /* - WSOA merge - commented out - CORBA::Long effective_exec_multiplier_; - // Effective execution time multiplier for corresponding RT_Info. - - RtecScheduler::Period_t effective_period_; - // Effective period of corresponding RT_Info. - */ -}; - - -class TAO_RTSched_Export TAO_Reconfig_Sched_Entry_Visitor - // = TITLE - // An abstract base class for scheduler entry visitors. - // - // = DESCRIPTION - // This class simplifies the reconfig scheduler implementation - // by giving a common interface for distinct visitors over the - // scheduling entries. -{ -public: - - /// Destructor. - virtual ~TAO_Reconfig_Sched_Entry_Visitor (void); - - virtual int visit (TAO_Reconfig_Scheduler_Entry &) = 0; - // Visit a Reconfig Scheduler Entry. - -}; - - -class TAO_RTSched_Export TAO_RSE_Reset_Visitor : - public TAO_Reconfig_Sched_Entry_Visitor - // = TITLE - // A scheduler entry visitor that resets nodes. - // - // = DESCRIPTION - // This class resets each node it visits to an initial state - // prior to the first DFS traversal for topological sorting. -{ -public: - - TAO_RSE_Reset_Visitor (); - // Constructor. - - virtual ~TAO_RSE_Reset_Visitor () {} - // Destructor. - - virtual int visit (TAO_Reconfig_Scheduler_Entry &rse); - // Resets the fields in the entry to pre-DFS traversal states. - // Returns 0 on success and -1 on error. -}; - -class TAO_RTSched_Export TAO_RT_Info_Tuple_Visitor - // = TITLE - // An abstract base class for RT_Info tuple visitors. - // - // = DESCRIPTION - // This class simplifies the reconfig scheduler implementation - // by giving a common interface for distinct visitors over the - // RT_Info tuples. -{ -public: - - /// Destructor. - virtual ~TAO_RT_Info_Tuple_Visitor (void); - - virtual int visit (TAO_RT_Info_Tuple &) = 0; - // Visit a RT_Info tuple. - -}; - -class TAO_RTSched_Export TAO_Reconfig_Sched_Strategy_Base - // = TITLE - // A base class for scheduling strategies - // - // = DESCRIPTION This class provides a DFS finish time comparison - // function, a static subpriority comparison function, and a - // criticality evaluation function for all scheduling strategies. -{ -public: - - static int comp_tuple_finish_times (const void *first, const void *second); - // Ordering function to compare the DFS finish times of - // two RT_Info_Tuples - - static int comp_entry_finish_times (const void *first, const void *second); - // Ordering function to compare the DFS finish times of - // two task entries, so qsort orders these in topological - // order, with the higher times *first*. - - static int is_critical (TAO_Reconfig_Scheduler_Entry &rse); - // Determines whether or not an entry is critical, based on - // operation characteristics. returns 1 if critical, 0 if not - - static int is_critical (TAO_RT_Info_Tuple &t); - // Determines whether or not a tuple is critical, based on operation - // characteristics. returns 1 if critical, 0 if not - - static int compare_subpriority (TAO_Reconfig_Scheduler_Entry &, - TAO_Reconfig_Scheduler_Entry &); - // Compares two entries by subpriority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. -}; - -class TAO_RTSched_Export TAO_MUF_FAIR_Reconfig_Sched_Strategy - : public TAO_Reconfig_Sched_Strategy_Base - // = TITLE - // A scheduling strategy that implements the Maximum Urgency First - // scheduling algorithm with Fair Admission of Indexed Rates - // (FAIR). - // - // = DESCRIPTION - // The strategy assigns static thread and global priority according - // to operation criticality, assigns static subpriority according to - // importance and then topological order, and assigns a dispatching - // configuration with a minimum laxity dispatching queue for each - // distinct criticality level. It admits operation tuples in order - // of ascending rate index, where the lowest rate for an operation - // has index 0, the next higher rate has index 1, etc. -{ -public: - - static int total_priority_comp (const void *, const void *); - // Ordering function used to qsort an array of RT_Info_Tuple - // pointers into a total ordering. Returns - // -1 if the first one is higher, 0 if they're the same, and 1 if - // the second one is higher. - - static int total_admission_comp (const void *, const void *); - // Ordering function used to qsort an array of RT_Info_Tuple - // pointers into a total ordering for admission control. Returns - // -1 if the first one is higher, 0 if they're the same, and 1 if - // the second one is higher. - - static int compare_priority (TAO_Reconfig_Scheduler_Entry &, - TAO_Reconfig_Scheduler_Entry &); - // Compares two entries by priority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_priority (TAO_RT_Info_Tuple &, - TAO_RT_Info_Tuple &); - // Compares two tuples by priority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_admission_order (TAO_RT_Info_Tuple &, - TAO_RT_Info_Tuple &); - // Compares two tuples by the given admission ordering. Returns -1 if the - // first one is earlier, 0 if they're the same, and 1 if the second one is earlier. - - static int assign_config (RtecScheduler::Config_Info &, - TAO_Reconfig_Scheduler_Entry &); - // Fills in a static dispatch configuration for a priority level, based - // on the operation characteristics of a representative scheduling entry. -}; - -class TAO_RTSched_Export TAO_RMS_FAIR_Reconfig_Sched_Strategy - : public TAO_Reconfig_Sched_Strategy_Base - // = TITLE - // A scheduling strategy that implements the Boeing RMS-Dynamic - // scheduling algorithm, and the Honeywell MNO admission control - // algorithm. - // - // = DESCRIPTION - // The strategy assigns static thread and global priority - // according to criticality and rate, assigns static subpriority - // according to importance and then topological order, and assigns - // a dispatching configuration with a static dispatching queue for - // each high criticality rate, and a single minimum laxity - // dispatching queue for all low criticality operations. It - // admits the lowest rate-index tuple for each operation, then - // admits operations at their highest admissible rates in priority - // order. -{ -public: - - static int total_priority_comp (const void *, const void *); - // Ordering function used to qsort an array of RT_Info_Tuple - // pointers into a total ordering. Returns - // -1 if the first one is higher, 0 if they're the same, and 1 if - // the second one is higher. - - static int total_admission_comp (const void *, const void *); - // Ordering function used to qsort an array of RT_Info_Tuple - // pointers into a total ordering for admission control. Returns - // -1 if the first one is higher, 0 if they're the same, and 1 if - // the second one is higher. - - static int compare_criticality(TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs); - // Compares two entries by criticality alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_criticality(TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs); - // Compares two entries by criticality alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_priority (TAO_Reconfig_Scheduler_Entry &, - TAO_Reconfig_Scheduler_Entry &); - // Compares two entries by priority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_priority (TAO_RT_Info_Tuple &, - TAO_RT_Info_Tuple &); - // Compares two tuples by priority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_admission_order (TAO_RT_Info_Tuple &, - TAO_RT_Info_Tuple &); - // Compares two entries by admission ordering policy. Returns -1 if the - // first one is earlier, 0 if they're the same, and 1 if the second one is earlier. - - static int compare_subpriority (TAO_Reconfig_Scheduler_Entry &, - TAO_Reconfig_Scheduler_Entry &); - // Compares two entries by subpriority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int assign_config (RtecScheduler::Config_Info &, - TAO_Reconfig_Scheduler_Entry &); - // Fills in a static dispatch configuration for a priority level, based - // on the operation characteristics of a representative scheduling entry. -}; - -class TAO_RTSched_Export TAO_RMS_MLF_Reconfig_Sched_Strategy - : public TAO_Reconfig_Sched_Strategy_Base - // = TITLE - // A scheduling strategy that implements the Boeing RMS-Dynamic - // scheduling algorithm, and the Honeywell MNO admission control - // algorithm. - // - // = DESCRIPTION - // The strategy assigns static thread and global priority - // according to criticality and rate, assigns static subpriority - // according to importance and then topological order, and assigns - // a dispatching configuration with a static dispatching queue for - // each high criticality rate, and a single minimum laxity - // dispatching queue for all low criticality operations. It - // admits the lowest rate-index tuple for each operation, then - // admits operations at their highest admissible rates in priority - // order. -{ -public: - - static int total_priority_comp (const void *, const void *); - // Ordering function used to qsort an array of RT_Info_Tuple - // pointers into a total ordering. Returns - // -1 if the first one is higher, 0 if they're the same, and 1 if - // the second one is higher. - - static int total_admission_comp (const void *, const void *); - // Ordering function used to qsort an array of RT_Info_Tuple - // pointers into a total ordering for admission control. Returns - // -1 if the first one is higher, 0 if they're the same, and 1 if - // the second one is higher. - - static int compare_criticality(TAO_Reconfig_Scheduler_Entry &lhs, - TAO_Reconfig_Scheduler_Entry &rhs); - // Compares two entries by criticality alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_criticality(TAO_RT_Info_Tuple &lhs, - TAO_RT_Info_Tuple &rhs); - // Compares two entries by criticality alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_priority (TAO_Reconfig_Scheduler_Entry &, - TAO_Reconfig_Scheduler_Entry &); - // Compares two entries by priority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_priority (TAO_RT_Info_Tuple &, - TAO_RT_Info_Tuple &); - // Compares two tuples by priority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int compare_admission_order (TAO_RT_Info_Tuple &, - TAO_RT_Info_Tuple &); - // Compares two entries by admission ordering policy. Returns -1 if the - // first one is earlier, 0 if they're the same, and 1 if the second one is earlier. - - static int compare_subpriority (TAO_Reconfig_Scheduler_Entry &, - TAO_Reconfig_Scheduler_Entry &); - // Compares two entries by subpriority alone. Returns -1 if the - // first one is higher, 0 if they're the same, and 1 if the second one is higher. - - static int assign_config (RtecScheduler::Config_Info &, - TAO_Reconfig_Scheduler_Entry &); - // Fills in a static dispatch configuration for a priority level, based - // on the operation characteristics of a representative scheduling entry. -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -// Include the templates here. -#include "orbsvcs/Sched/Reconfig_Sched_Utils_T.h" - -#include /**/ "ace/post.h" -#endif /* TAO_RECONFIG_SCHED_UTILS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp deleted file mode 100644 index cfc7cfd332a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp +++ /dev/null @@ -1,1085 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Sched_Utils_T.cpp -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHED_UTILS_T_CPP -#define TAO_RECONFIG_SCHED_UTILS_T_CPP - -#include "orbsvcs/Sched/Reconfig_Sched_Utils_T.h" -#include "ace/Sched_Params.h" -#include "ace/ACE.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -//////////////////////////////// -// TAO_RSE_Dependency_Visitor // -//////////////////////////////// - -// Constructor. - -template -TAO_RSE_Dependency_Visitor:: -TAO_RSE_Dependency_Visitor - (DEPENDENCY_SET_MAP & dependency_map, RT_INFO_MAP & rt_info_map) - : dependency_map_ (dependency_map), - rt_info_map_ (rt_info_map) -{ -} - - -// Visit a Reconfig Scheduler Entry. This method calls protected hook -// methods that can be overridden by derived classes, according to the -// Template Method design pattern. - -template int -TAO_RSE_Dependency_Visitor:: -visit (TAO_Reconfig_Scheduler_Entry &rse) -{ - int result = 0; - - /* WSOA merge - commented out - // Call unconditional action method, which performs any necessary - // modifications that are applied to each node unconditionally. - if (this->unconditional_action (rse) < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_RSE_Dependency_Visitor::" - "visit: error from unconditional action.\n"), -1); - } - */ - - // Call precondition hook method, and only proceed if the - // precondition returns 0 for success. - - result = this->precondition (rse); - if (result < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_RSE_Dependency_Visitor::" - "visit: error from precondition evaluation.\n"), -1); - } - - if (result == 0) - { - // Call prefix action method, which performs any necessary - // modifications on the node prior to visiting its successors. - if (this->prefix_action (rse) < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_RSE_Dependency_Visitor::" - "visit: error from prefix action.\n"), -1); - } - - // Get the dependency set for the current entry. - RtecScheduler::Dependency_Set *dependency_set = 0; - if (dependency_map_.find (rse.actual_rt_info ()->handle, - dependency_set) == 0) - { - // Iterate over the set of dependencies for the current entry. - TAO_Reconfig_Scheduler_Entry * next_rse = 0; - TAO_RT_Info_Ex *next_rt_info = 0; - for (u_int i = 0; i < dependency_set->length (); ++i) - { - // Skip over disabled dependencies - if ((*dependency_set) [i].enabled == RtecBase::DEPENDENCY_DISABLED) - { - continue; - } - - // Take the handle from the dependency and use it - // to obtain an RT_Info pointer from the map. - if (rt_info_map_.find ((*dependency_set) [i].rt_info, - next_rt_info) != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "RT_Info (%i) not found.\n", - (*dependency_set) [i].rt_info), -1); - } - - // Extract a pointer to the scheduling entry from the RT_Info. - - if (next_rt_info == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "RT_Info in map was null.\n"), - -1); - } - - // Reference the associated scheduling entry: the double cast is - // needed to ensure that the size of the pointer and the size of the - // stored magic cookie are the same - next_rse = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - next_rt_info->volatile_token); - if (next_rse == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Entry pointer in RT_Info was null.\n"), - -1); - } - - // Call pre-recursion action method, which performs any necessary - // modifications to a successor (or the entry) prior to recursing - // on the successor. - result = this->pre_recurse_action (rse, *next_rse, - (*dependency_set) [i]); - if (result < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "TAO_RSE_Dependency_Visitor::visit: " - "error from pre-recursion action.\n"), - -1); - } - - // If the pre-recursion action returned 0, visit the successor. - if (result == 0) - { - this->visit (*next_rse); - } - } - - } - - // Call postfix action method, which performs any necessary - // modifications on the node after visiting all its successors. - if (this->postfix_action (rse) < 0) - { - ACE_ERROR_RETURN ((LM_ERROR, "TAO_RSE_Dependency_Visitor::" - "visit: error from postfix action.\n"), -1); - } - } - - return 0; -} - -// WSOA merge - commented out -// // Performs an unconditional action when the entry is first reached. -// // Returns 0 for success, and -1 if an error occurred. - -// template int -// TAO_RSE_Dependency_Visitor:: -// unconditional_action (TAO_Reconfig_Scheduler_Entry & /* rse */) -// { -// // Default behavior: just return success. -// return 0; -// } -// - -// Tests whether or not any conditional actions should be taken for -// the entry. Returns 0 if the actions should be applied, 1 if the -// entry should be left alone, and -1 if an error occurred. - -template int -TAO_RSE_Dependency_Visitor:: -precondition (TAO_Reconfig_Scheduler_Entry &rse) -{ - // Only signal to proceed (0) if the passed entry is enabled or non-volatile - return (rse.enabled_state () == RtecScheduler::RT_INFO_DISABLED) - ? 1 - : 0; -} - - -// Performs an action on the entry prior to visiting any of -// its successors. Returns 0 on success and -1 on error. - -template int -TAO_RSE_Dependency_Visitor:: -prefix_action (TAO_Reconfig_Scheduler_Entry & /* rse */) -{ - // Default behavior: just return success. - return 0; -} - - -// Performs an action on a successor entry prior to visiting -// it. Returns 0 on success and -1 on error. - -template int -TAO_RSE_Dependency_Visitor:: -pre_recurse_action (TAO_Reconfig_Scheduler_Entry & /* entry */, - TAO_Reconfig_Scheduler_Entry & /* successor */, - const RtecScheduler::Dependency_Info & /* di */) -{ - // Default behavior: just return success. - return 0; -} - - -// Performs an action on the entry after visiting all of -// its successors. Returns 0 on success and -1 on error. - -template int -TAO_RSE_Dependency_Visitor:: -postfix_action (TAO_Reconfig_Scheduler_Entry & /* rse */) -{ - // Default behavior: just return success. - return 0; -} - - - -///////////////////////// -// TAO_RSE_DFS_Visitor // -///////////////////////// - -// Constructor. - -template -TAO_RSE_DFS_Visitor:: -TAO_RSE_DFS_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map) - : TAO_RSE_Dependency_Visitor - (dependency_map, rt_info_map), - DFS_time_ (0) -{ -} - - -// Makes sure the entry has not previously been visited in forward DFS. -// Returns 0 if the actions should be applied, 1 if the entry -// should be left alone, and -1 if an error occurred. - -template int -TAO_RSE_DFS_Visitor:: -precondition (TAO_Reconfig_Scheduler_Entry &rse) -{ - int result = - TAO_RSE_Dependency_Visitor:: - precondition (rse); - - return (result == 0) - ? ((rse.fwd_dfs_status () == TAO_Reconfig_Scheduler_Entry::NOT_VISITED) - ? 0 - : 1) - : result; -} - -// Marks entry as forward visited and sets its forward DFS start -// time, prior to visiting any of its successors. Returns 0 on -// success and -1 on error. - -template int -TAO_RSE_DFS_Visitor:: -prefix_action (TAO_Reconfig_Scheduler_Entry &rse) -{ - rse.fwd_dfs_status (TAO_Reconfig_Scheduler_Entry::VISITED); - rse.fwd_discovered (this->DFS_time_++); - return 0; -} - - -// Marks whether or not successor is a thread delineator prior to -// visiting it. Returns 0 on success and -1 on error. - -template int -TAO_RSE_DFS_Visitor:: -pre_recurse_action (TAO_Reconfig_Scheduler_Entry & /* entry */, - TAO_Reconfig_Scheduler_Entry & successor, - const RtecScheduler::Dependency_Info & /* di */) -{ - // Enabled operations we reached via a dependency and that do not - // specify a period are not thread delineators. - if (successor.enabled_state () != RtecScheduler::RT_INFO_DISABLED - && successor.actual_rt_info ()->period == 0 - && successor.actual_rt_info ()->threads == 0) - { - successor.is_thread_delineator (0); - } - - return 0; -} - - -// Marks entry as forward finished and sets its forward DFS finish -// time, after all of its successors have been visited. Returns 0 -// on success and -1 on error. - -template int -TAO_RSE_DFS_Visitor:: -postfix_action (TAO_Reconfig_Scheduler_Entry &rse) -{ - rse.fwd_dfs_status (TAO_Reconfig_Scheduler_Entry::FINISHED); - rse.fwd_finished (this->DFS_time_++); - return 0; -} - - -///////////////////////// -// TAO_RSE_SCC_Visitor // -///////////////////////// - -// Constructor. - -template -TAO_RSE_SCC_Visitor:: -TAO_RSE_SCC_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map) - : TAO_RSE_Dependency_Visitor - (dependency_map, rt_info_map), - DFS_time_ (0), - number_of_cycles_ (0), - in_a_cycle_ (0) -{ -} - -// Accessor for number of cycles detected in traversal. - -template int -TAO_RSE_SCC_Visitor:: -number_of_cycles (void) -{ - return this->number_of_cycles_; -} - - -// Accessor for whether or not the recursion is within a previously -// detected cycle. - -template int -TAO_RSE_SCC_Visitor:: -in_a_cycle (void) -{ - return this->in_a_cycle_; -} - - -// Mutator for whether or not the recursion is within a previously -// detected cycle. - -template void -TAO_RSE_SCC_Visitor:: -in_a_cycle (int i) -{ - this->in_a_cycle_ = i; -} - -/* WSOA merge - commented out -template int -TAO_RSE_SCC_Visitor:: -unconditional_action (TAO_Reconfig_Scheduler_Entry &rse) -{ - if (rse.is_thread_delineator () && - rse.effective_period () == 0) - { - rse.effective_period (rse.actual_rt_info ()->period); - long threads = rse.actual_rt_info ()->threads; - rse.effective_exec_multiplier (threads > 0 ? threads : 1); - } - - return 0; -} -*/ - -// Makes sure the entry has not previously been visited in the -// reverse DFS (call graph transpose) direction. Returns 0 if -// the actions should be applied, 1 if the entry should be left -// alone, and -1 if an error occurred. - -template int -TAO_RSE_SCC_Visitor:: -precondition (TAO_Reconfig_Scheduler_Entry &rse) -{ - int result = - TAO_RSE_Dependency_Visitor:: - precondition (rse); - - return (result == 0) - ? ((rse.rev_dfs_status () == TAO_Reconfig_Scheduler_Entry::NOT_VISITED) - ? 0 - : 1) - : 1; -} - - -// Marks reverse status as visited and sets reverse start time for -// entry, prior to visiting any of its successors. Returns 0 on -// success and -1 on error. - -template int -TAO_RSE_SCC_Visitor:: -prefix_action (TAO_Reconfig_Scheduler_Entry &rse) -{ - rse.rev_dfs_status (TAO_Reconfig_Scheduler_Entry::VISITED); - rse.rev_discovered (this->DFS_time_++); - return 0; -} - - -// Checks reverse status of each successor. For any that have not -// been previously visited, it complains about the entry and -// successor being part of a cycle, stores the fact that a cycle was -// detected, and maintains a count of the total number of cycles -// (strongly connected components). Returns 0 on success and -1 on -// an error (finding a cycle is not considered an error, at least as -// far as this method is concerned). - -template int -TAO_RSE_SCC_Visitor:: -pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info & /* di */) -{ - if (successor.enabled_state () != - RtecScheduler::RT_INFO_DISABLED - && successor.rev_dfs_status () == - TAO_Reconfig_Scheduler_Entry::NOT_VISITED) - { - if (this->in_a_cycle () == 0) - { - this->in_a_cycle (1); - ++this->number_of_cycles_; - } - - ACE_DEBUG ((LM_ERROR, - "RT_Infos \"%s\" and \"%s\" are part of dependency cycle %d.\n", - entry.actual_rt_info ()->entry_point.in (), - successor.actual_rt_info ()->entry_point.in (), - this->number_of_cycles_)); - } - - return 0; -} - - -// Sets the entry's reverse finish time and marks it as finished in -// the reverse DFS traversal, after visiting all of its successors. -// Returns 0 on success and -1 on error. - -template int -TAO_RSE_SCC_Visitor:: -postfix_action (TAO_Reconfig_Scheduler_Entry &rse) -{ - rse.rev_dfs_status (TAO_Reconfig_Scheduler_Entry::FINISHED); - rse.rev_finished (this->DFS_time_++); - return 0; -} - -///////////////////////////////////////// -// TAO_RSE_Reverse_Propagation_Visitor // -///////////////////////////////////////// - -// Constructor. - -template -TAO_RSE_Reverse_Propagation_Visitor:: -TAO_RSE_Reverse_Propagation_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map) - : TAO_RSE_Dependency_Visitor (dependency_map, rt_info_map) -{ -} - - -template int -TAO_RSE_Reverse_Propagation_Visitor:: -pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info & /* di */) -{ - // @TODO - check for conjunction nodes here and perform conjunctive - // function on existing rate tuples. Idea: treat conjunctive tuples - // as skolem functions over the possible rates of their incedent - // edges thread delineators!!! Then, can tentatively compute - // utilization for rate combinations. Question: can I find a case - // where this makes tuple rate admission non-monotonic??? I.e., - // where a higher rate for an input results in a lower utilization? - // Might require a skew in the exec times and rates. What are the - // determining characteristics of this? What impact if any does - // phasing have on this? - - // Check for conjunction nodes and don't propagate - // upward from them: they represent a cut point in the graph. - // Do not allow conjunction nodes for now. - if (entry.actual_rt_info ()->info_type == RtecScheduler::CONJUNCTION) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Conjunction Nodes are not supported currently.")), - -1); - } - else - { - // @TODO - replace the explicit WCET attribute propagation with - // a scheduling strategy functor that propagates arbitrary - // execution time attributes. BTW, for conjunctions BCET and WCET - // are probably needed relative the upper and lower bounds on - // arrival waveforms. - - // Add the successor's aggregate time to the entry's aggregate time. - // Since we're visiting in topological order (called nodes before - // calling nodes), the successor's aggregate time is up to date. - if (successor.enabled_state () != RtecScheduler::RT_INFO_DISABLED) - { - entry.aggregate_exec_time (entry.aggregate_exec_time () - + successor.aggregate_exec_time ()); - } - } - - - // Do not recurse on the successor node, just continue to the next successor. - return 1; -} - - -///////////////////////////////////////// -// TAO_RSE_Forward_Propagation_Visitor // -///////////////////////////////////////// - -// Constructor. - -template -TAO_RSE_Forward_Propagation_Visitor:: -TAO_RSE_Forward_Propagation_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map) - : TAO_RSE_Dependency_Visitor (dependency_map, rt_info_map), - unresolved_locals_ (0), - unresolved_remotes_ (0), - thread_specification_errors_ (0) -{ -} - - -// Accessor for number of nodes with unresolved local dependencies. - -template int -TAO_RSE_Forward_Propagation_Visitor:: -unresolved_locals (void) -{ - return this->unresolved_locals_; -} - - -// Mutator for number of nodes with unresolved local dependencies. - -template void -TAO_RSE_Forward_Propagation_Visitor:: -unresolved_locals (int i) -{ - this->unresolved_locals_ = i; -} - - -// Accessor for number of nodes with unresolved remote dependencies. - -template int -TAO_RSE_Forward_Propagation_Visitor:: -unresolved_remotes (void) -{ - return this->unresolved_remotes_; -} - - -// Mutator for number of nodes with unresolved remote dependencies. - -template void -TAO_RSE_Forward_Propagation_Visitor:: -unresolved_remotes (int i) -{ - this->unresolved_remotes_ = i; -} - -// Accessor for number of nodes with thread specification errors. - -template int -TAO_RSE_Forward_Propagation_Visitor:: -thread_specification_errors (void) -{ - return this->thread_specification_errors_; -} - - -// Mutator for number of nodes with thread specification errors. - -template void -TAO_RSE_Forward_Propagation_Visitor:: -thread_specification_errors (int i) -{ - this->thread_specification_errors_ = i; -} - - -// Tests the entry for possibly having unresolved remote or local -// dependencies prior to visiting any of its successors, and also -// checks for thread specification errors. Returns 0 on success and -// -1 on error (having unresolved dependencies or thread specification -// problems is not considered an error, at least for this method). - -template int -TAO_RSE_Forward_Propagation_Visitor:: -prefix_action (TAO_Reconfig_Scheduler_Entry &rse) -{ - // Complain about anything that is still marked as a thread - // delineator but does not have a period: if it has threads, it is a - // specification error. Otherwise, if it's not a remote dependant - // (per RT_Info's info_type field) it has unresolved *local* - // dependencies. - - if (rse.is_thread_delineator ()) - { - if (rse.actual_rt_info ()->period == 0) - { - if (rse.actual_rt_info ()->threads == 0) - { - if (rse.actual_rt_info ()->info_type == - RtecScheduler::REMOTE_DEPENDANT) - { - ++this->unresolved_remotes_; - - ACE_DEBUG ((LM_ERROR, - "RT_Info \"%s\" has unresolved " - "remote dependencies.\n", - rse.actual_rt_info ()->entry_point.in ())); - } - else - { - ++this->unresolved_locals_; - - ACE_DEBUG ((LM_ERROR, - "RT_Info \"%s\" has unresolved " - "local dependencies.\n", - rse.actual_rt_info ()->entry_point.in ())); - } - } - else - { - // Specification error: any RT_Info that specifies threads - // must also specify a period. - ++this->thread_specification_errors_; - ACE_DEBUG ((LM_ERROR, - "RT_Info \"%s\" specifies %1d " - "threads, but no period.\n", - rse.actual_rt_info ()->entry_point.in (), - rse.actual_rt_info ()->threads)); - } - } - } - - return 0; -} - - -// Propagates effective period from entry to successor prior to -// visiting successor. Returns 0 on success and -1 on error. - -template int -TAO_RSE_Forward_Propagation_Visitor:: -pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info & /* di */) -{ - if (successor.enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return 1; - } - - TAO_RT_Info_Tuple **tuple_ptr_ptr; - - TUPLE_SET_ITERATOR orig_tuple_iter (entry.orig_tuple_subset ()); - - while (orig_tuple_iter.done () == 0) - { - if (orig_tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || *tuple_ptr_ptr == 0) - { - ACE_ERROR ((LM_ERROR, - "Failed to access tuple under iterator")); - return -1; - } - - // @TODO - check for conjunction nodes here and perform conjunctive - // function on existing rate tuples. - -#ifdef SCHEDULER_LOGGING - ACE_DEBUG((LM_DEBUG, "Inserting new propagated tuple for RT_Info: %d, entry_ptr: 0x%x, tuple_ptr: 0x%x\n", - successor.actual_rt_info ()->handle, - &successor, - (*tuple_ptr_ptr))); -#endif - // Propagate tuples disjunctively. - successor.insert_tuple (**tuple_ptr_ptr, - TAO_Reconfig_Scheduler_Entry::PROPAGATED); - - successor.actual_rt_info ()->period = - (successor.actual_rt_info ()->period == 0) - ? (*tuple_ptr_ptr)->period - : ACE::minimum_frame_size (successor.actual_rt_info ()->period, - (*tuple_ptr_ptr)->period); - orig_tuple_iter.advance (); - } - - TUPLE_SET_ITERATOR prop_tuple_iter (entry.prop_tuple_subset ()); - - while (prop_tuple_iter.done () == 0) - { - if (prop_tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || *tuple_ptr_ptr == 0) - { - ACE_ERROR ((LM_ERROR, - "Failed to access tuple under iterator")); - return -1; - } - - // @TODO - check for conjunction nodes here and perform conjunctive - // function on existing rate tuples. - -#ifdef SCHEDULER_LOGGING - ACE_DEBUG((LM_DEBUG, "Inserting new propagated tuple for RT_Info: %d, entry_ptr: 0x%x, tuple_ptr: 0x%x\n", - successor.actual_rt_info ()->handle, - &successor, - (*tuple_ptr_ptr))); -#endif - - // Propagate tuples disjunctively. - successor.insert_tuple (**tuple_ptr_ptr, - TAO_Reconfig_Scheduler_Entry::PROPAGATED); - - successor.actual_rt_info ()->period = - (successor.actual_rt_info ()->period == 0) - ? (*tuple_ptr_ptr)->period - : ACE::minimum_frame_size (successor.actual_rt_info ()->period, - (*tuple_ptr_ptr)->period); - - prop_tuple_iter.advance (); - } - - // Do not recurse on the successor node, just continue to the next successor. - return 1; -} - -//////////////////////////////////// -// class TAO_RSE_Priority_Visitor // -//////////////////////////////////// - -// Constructor. - -template -TAO_RSE_Priority_Visitor:: -TAO_RSE_Priority_Visitor (RtecScheduler::handle_t handles, - TAO_Reconfig_Scheduler_Entry ** entry_ptr_array) - : previous_entry_ (0), - first_subpriority_entry_ (0), - priority_ (0), - subpriority_ (0), - os_priority_ (ACE_Sched_Params::priority_max (ACE_SCHED_FIFO, - ACE_SCOPE_PROCESS)), - handles_ (handles), - entry_ptr_array_ (entry_ptr_array) -{ -} - - -// Visit a RT_Info tuple. This method assigns a priority and -// subpriority value to each tuple. Priorities are assigned in -// increasing numeric order, with lower numbers corresponding to -// higher priorities. - -template int -TAO_RSE_Priority_Visitor::visit (TAO_Reconfig_Scheduler_Entry &rse) -{ - int result = 0; -#ifdef SCHEDULER_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Priority_Visitor visiting %s[%d],crit=%d,period=%d\n", - rse.actual_rt_info ()->entry_point.in(), - rse.actual_rt_info ()->handle, - rse.actual_rt_info ()->criticality, - rse.actual_rt_info ()->period)); -#endif - - if (previous_entry_ == 0) - { - // Indicate a new priority level was assigned. - result = 1; - - // If we're on the first node, store the start of the array - // as the start of the priority level. - first_subpriority_entry_ = this->entry_ptr_array_; - rse.actual_rt_info ()->preemption_subpriority = subpriority_; - } - else - { -#ifdef SCHEDULER_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Previous entry %s[%d],crit=%d,period=%d\n", - previous_entry_->actual_rt_info ()->entry_point.in(), - previous_entry_->actual_rt_info ()->handle, - previous_entry_->actual_rt_info ()->criticality, - previous_entry_->actual_rt_info ()->period)); -#endif - // Don't change priority levels on a disabled node. - if (rse.enabled_state () == RtecScheduler::RT_INFO_DISABLED - || RECONFIG_SCHED_STRATEGY::compare_priority (*previous_entry_, rse) == 0) - { - // Subpriority is increased at each new node. - ++subpriority_; - - // Store negative value of subpriority level: will be - // adjusted by adding back in the total number of - // subpriorities in the priority level, so the - // subpriorities are assigned in decreasing order. - rse.actual_rt_info ()->preemption_subpriority = - subpriority_; - } - else - { - // Indicate a new priority level was assigned. - result = 1; - - // Iterate back through and adjust the subpriority levels. - for (int i = 0; i <= subpriority_; ++i, ++first_subpriority_entry_) - { - (*first_subpriority_entry_)->actual_rt_info ()-> - preemption_subpriority += subpriority_; - } - - subpriority_ = 0; - rse.actual_rt_info ()->preemption_subpriority = subpriority_; - - ++priority_; -#ifdef SCHEDULER_LOGGING - ACE_DEBUG ((LM_DEBUG, "New priority %d formed\n", priority_)); -#endif - os_priority_ = ACE_Sched_Params::previous_priority (ACE_SCHED_FIFO, - os_priority_, - ACE_SCOPE_PROCESS); - } - } - - // Assign the entry's priority and subpriority values - rse.actual_rt_info ()->priority = os_priority_; - rse.actual_rt_info ()->preemption_priority = priority_; - - // Remember the current entry for the next visit. - previous_entry_ = &rse; - - return result; -} - - -// Finishes scheduler entry priority assignment by iterating over the -// remaining entries in the last subpriority level, and adjusting -// their subpriorities. -template int -TAO_RSE_Priority_Visitor::finish () -{ - // Iterate back through and adjust the subpriority levels. - for (int i = 0; i <= subpriority_; ++i, ++first_subpriority_entry_) - { - (*first_subpriority_entry_)->actual_rt_info ()-> - preemption_subpriority += subpriority_; - } - - // Indicate no new priority level was identified. - return 0; -} - -/////////////////////////////////////// -// class TAO_Tuple_Admission_Visitor // -/////////////////////////////////////// - -// Constructor. - -template -TAO_Tuple_Admission_Visitor:: -TAO_Tuple_Admission_Visitor (const CORBA::Double & critical_utilization_threshold, - const CORBA::Double & noncritical_utilization_threshold) - : critical_utilization_ (0.0), - noncritical_utilization_ (0.0), - total_critical_utilization_ (0.0), - total_noncritical_utilization_ (0.0), - critical_utilization_threshold_ (critical_utilization_threshold), - noncritical_utilization_threshold_ (noncritical_utilization_threshold) -{ -} - -// Visit a Reconfig Scheduler Entry. This method -// determines the utilization by the entry, and -// adds it to the critical or non-critical utilization, -// depending on whether or not the strategy says the -// operation is critical. - -template int -TAO_Tuple_Admission_Visitor::visit (TAO_RT_Info_Tuple &t) -{ - TAO_Reconfig_Scheduler_Entry *entry = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - t.volatile_token); - - // Ignore disabled tuples and entries - if (t.enabled_state () == RtecScheduler::RT_INFO_DISABLED - || entry->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - return 0; - } - - // Compute the current tuple's utilization. - CORBA::Double delta_utilization = - (static_cast (t.threads) - * static_cast (ACE_UINT64_DBLCAST_ADAPTER (entry-> - aggregate_exec_time ()))) - / static_cast (t.period); - - // Subtract the previous tuple's utilization (if any) for the entry. - if (entry->current_admitted_tuple ()) - { - delta_utilization -= - (static_cast (entry->current_admitted_tuple ()->threads) - * static_cast (ACE_UINT64_DBLCAST_ADAPTER (entry-> - aggregate_exec_time ()))) - / static_cast (entry->current_admitted_tuple ()->period); - } - - if (RECONFIG_SCHED_STRATEGY::is_critical (t)) - { - this->total_critical_utilization_ += delta_utilization; - - if (this->critical_utilization_ + this->noncritical_utilization_ - +delta_utilization - < this->critical_utilization_threshold_) - { - this->critical_utilization_ += delta_utilization; - entry->current_admitted_tuple (&t); - entry->actual_rt_info ()->period = t.period; - } - } - else - { - this->total_noncritical_utilization_ += delta_utilization; - if (this->critical_utilization_ + this->noncritical_utilization_ - +delta_utilization - < this->noncritical_utilization_threshold_) - { - this->noncritical_utilization_ += delta_utilization; - entry->current_admitted_tuple (&t); - entry->actual_rt_info ()->period = t.period; - } - } - return 0; -} - - -// Accessor for utilization by critical operations. - -template CORBA::Double -TAO_Tuple_Admission_Visitor::critical_utilization () -{ - return this->critical_utilization_; -} - - -// Accessor for utilization by noncritical operations. - -template CORBA::Double -TAO_Tuple_Admission_Visitor::noncritical_utilization () -{ - return this->noncritical_utilization_; -} - -template CORBA::Double -TAO_Tuple_Admission_Visitor::total_critical_utilization () -{ - return this->total_critical_utilization_; -} - - -// Accessor for utilization by noncritical operations. - -template CORBA::Double -TAO_Tuple_Admission_Visitor::total_noncritical_utilization () -{ - return this->total_noncritical_utilization_; -} - -// Accessor for utilization threshold for critical operations. - -template CORBA::Double -TAO_Tuple_Admission_Visitor::critical_utilization_threshold () -{ - return this->critical_utilization_threshold_; -} - - -// Accessor for utilization by noncritical operations. - -template CORBA::Double -TAO_Tuple_Admission_Visitor::noncritical_utilization_threshold () -{ - return this->noncritical_utilization_threshold_; -} - - -///////////////////////////////////////// -// TAO_RSE_Criticality_Propagation_Visitor // -///////////////////////////////////////// - -// Constructor. - -template -TAO_RSE_Criticality_Propagation_Visitor:: -TAO_RSE_Criticality_Propagation_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map) - : TAO_RSE_Dependency_Visitor (dependency_map, rt_info_map) -{ -} - - -template int -TAO_RSE_Criticality_Propagation_Visitor:: -pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info & /* di */) -{ -#ifdef SCHEDULER_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Crit Prop_Visitor visiting %s[%d], successor is %s[%d]\n", - entry.actual_rt_info ()->entry_point.in(), - entry.actual_rt_info ()->handle, - successor.actual_rt_info ()->entry_point.in(), - successor.actual_rt_info ()->handle)); -#endif - - if (successor.enabled_state () != RtecScheduler::RT_INFO_DISABLED) - { - RtecScheduler::Criticality_t entry_crit = - entry.actual_rt_info ()->criticality; - RtecScheduler::Criticality_t succ_crit = - successor.actual_rt_info ()->criticality; - RtecScheduler::Criticality_t max_crit = entry_crit; - - if (max_crit < succ_crit) - max_crit = succ_crit; - - successor.actual_rt_info ()->criticality = max_crit; - -#ifdef SCHEDULER_LOGGING - ACE_DEBUG ((LM_DEBUG, - "Successor's new criticality is %d\n", - successor.actual_rt_info ()->criticality)); -#endif - } - - // Do not recurse on the successor node, just continue to the next successor. - return 1; -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_RECONFIG_SCHED_UTILS_T_CPP */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h deleted file mode 100644 index b66b0f389bd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h +++ /dev/null @@ -1,490 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Scheduler_Utils_T.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHED_UTILS_T_H -#define TAO_RECONFIG_SCHED_UTILS_T_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" -#include "orbsvcs/Sched/Reconfig_Sched_Utils.h" -#include "ace/Hash_Map_Manager.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////////////////////////// -// Reconfig Sched Entry Visitor classes // -////////////////////////////////////////// - -template -class TAO_RSE_Dependency_Visitor : - public TAO_Reconfig_Sched_Entry_Visitor - // = TITLE - // A base class for scheduler entry visitors that use a - // dependency map to traverse a dependency graph over entries. - // - // = DESCRIPTION - // This class hold the maps and a constructor that - // derived classes may call to pass them in. -{ -public: - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_LOCK> DEPENDENCY_SET_MAP; - // Type of map used for O(1) lookup of RT_Info - // dependency sets by caller or called handle. - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_LOCK> RT_INFO_MAP; - // Type of map used for O(1) lookup of RT_Infos by their handles. - - TAO_RSE_Dependency_Visitor - (DEPENDENCY_SET_MAP & dependency_map, - RT_INFO_MAP & rt_info_map); - // Constructor. - - virtual int visit (TAO_Reconfig_Scheduler_Entry &); - // Visit a Reconfig Scheduler Entry. This method calls - // protected hook methods that can be overridden by - // derived classes, according to the Template Method - // design pattern. - -protected: - /* WSOA merge - commented out - virtual int unconditional_action (TAO_Reconfig_Scheduler_Entry &rse); - // Performs an unconditional action when the entry is first reached. - // Returns 0 for success, and -1 if an error occurred. - */ - virtual int precondition (TAO_Reconfig_Scheduler_Entry &rse); - // Tests whether or not any conditional actions should be taken for - // the entry. Returns 0 if the actions should be applied, 1 if the - // entry should be left alone, and -1 if an error occurred. - - virtual int prefix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Performs an action on the entry prior to visiting any of - // its successors. Returns 0 on success and -1 on error. - - virtual int pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info &di); - // Performs an action on a successor entry prior to visiting - // it. Returns 0 if the successor should be visited recursively, - // 1 if the successor should not be visited, and -1 on error. - - virtual int postfix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Performs an action on the entry after visiting all of - // its successors. Returns 0 on success and -1 on error. - - DEPENDENCY_SET_MAP & dependency_map_; - // Map of dependencies between RT_Info handles. - - RT_INFO_MAP & rt_info_map_; - // Map of handles into RT_Infos. - -}; - - - -template -class TAO_RSE_DFS_Visitor : - public TAO_RSE_Dependency_Visitor - // = TITLE - // A scheduler entry visitor that marks nodes with DFS start - // and finish times. - // - // = DESCRIPTION - // This class does DFS traversal marking of each node it visits, - // as appropriate according to DFS state markers. -{ -public: - - TAO_RSE_DFS_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map); - // Constructor. - -protected: - virtual int precondition (TAO_Reconfig_Scheduler_Entry &rse); - // Makes sure the entry has not previously been visited in forward DFS. - // Returns 0 if the actions should be applied, 1 if the entry - // should be left alone, and -1 if an error occurred. - - virtual int prefix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Marks entry as forward visited and sets its forward DFS start - // time, prior to visiting any of its successors. Returns 0 on - // success and -1 on error. - - virtual int pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info &di); - // Marks whether or not successor is a thread delineator prior to - // visiting it. Returns 0 on success and -1 on error. - - virtual int postfix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Marks entry as forward finished and sets its forward DFS finish - // time, after all of its successors have been visited. Returns 0 - // on success and -1 on error. - -private: - int DFS_time_; - // Keeps track of DFS start and finish times. - -}; - - -template -class TAO_RSE_SCC_Visitor : - public TAO_RSE_Dependency_Visitor - // = TITLE - // A scheduler entry visitor that checks for cycles in the graph. - // - // = DESCRIPTION - // This class, when applied to nodes in the transpose of the DFS graph as - // ordered for the strongly connected components algorithm, will - // flag cycles in the graph. -{ -public: - - TAO_RSE_SCC_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map); - // Constructor. - - int number_of_cycles (void); - // Accessor for number of cycles detected in traversal. - - int in_a_cycle (void); - // Accessor for whether or not the recursion is within a previously - // detected cycle. - - void in_a_cycle (int); - // Mutator for whether or not the recursion is within a previously - // detected cycle. - -protected: - /* WSOA merge - commented out - virtual int unconditional_action (TAO_Reconfig_Scheduler_Entry &rse); - // If the entry is a thread delineator, sets its effective period and - // execution multiplier from the values in its corresponding RT_Info. - // Returns 0 for success, and -1 if an error occurred. - */ - - virtual int precondition (TAO_Reconfig_Scheduler_Entry &rse); - // Makes sure the entry has not previously been visited in the - // reverse DFS (call graph transpose) direction. Returns 0 if - // the actions should be applied, 1 if the entry should be left - // alone, and -1 if an error occurred. - - virtual int prefix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Marks reverse status as visited and sets reverse start time for - // entry, prior to visiting any of its successors. Returns 0 on - // success and -1 on error. - - virtual int pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info &di); - // Checks reverse status of each successor. For any that have not - // been previously visited, it complains about the entry and - // successor being part of a cycle, stores the fact that a cycle was - // detected, and maintains a count of the total number of cycles - // (strongly connected components). Returns 0 on success and -1 on - // an error (finding a cycle is not considered an error, at least as - // far as this method is concerned). - - virtual int postfix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Sets the entry's reverse finish time and marks it as finished in - // the reverse DFS traversal, after visiting all of its successors. - // Returns 0 on success and -1 on error. - -private: - int DFS_time_; - // Keeps track of DFS start and finish times. - - int number_of_cycles_; - // Keeps track of DFS start and finish times. - - int in_a_cycle_; - // Indicates whether or not the recursion is - // currently within a previously discovered cycle. -}; - -template -class TAO_RSE_Reverse_Propagation_Visitor : - public TAO_RSE_Dependency_Visitor - // = TITLE - // A scheduler entry visitor that propagates aggregate execution - // times from called to calling nodes in a topologically ordered - // graph. - // - // = DESCRIPTION - // This class computes the aggregate execution time of each node - // and its dependants, according to its dependencies. -{ -public: - - TAO_RSE_Reverse_Propagation_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map); - // Constructor. - -protected: - - virtual int pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info &di); - // Propagates aggregate execution time from successor to calling - // entry. Returns 1 on success (to prevent recursion on the - // successor), and -1 on error. - -}; - - -template -class TAO_RSE_Forward_Propagation_Visitor : - public TAO_RSE_Dependency_Visitor - // = TITLE - // A scheduler entry visitor that propagates effective periods and - // execution time multipliers between nodes in a topologically - // ordered graph. - // - // = DESCRIPTION - // This class computes the effective period of each node, according to - // its dependencies, and the period and threads it specifies. -{ -public: - - TAO_RSE_Forward_Propagation_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map); - // Constructor. - - int unresolved_locals (void); - // Accessor for number of nodes with unresolved local dependencies. - - void unresolved_locals (int); - // Mutator for numberof nodes with unresolved local dependencies. - - int unresolved_remotes (void); - // Accessor for number of nodes with unresolved remote dependencies. - - void unresolved_remotes (int); - // Mutator for number of nodes with unresolved remote dependencies. - - int thread_specification_errors (void); - // Accessor for number of nodes with thread specification errors. - - void thread_specification_errors (int); - // Mutator for number of nodes with thread specification errors. - -protected: - virtual int prefix_action (TAO_Reconfig_Scheduler_Entry &rse); - // Tests the entry for possibly having unresolved remote or local - // dependencies prior to visiting any of its successors. Returns 0 - // on success and -1 on error (having unresolved remote or local - // dependencies is not considered an error, at least for this - // method). - - virtual int pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info &di); - // Propagates effective period and execution time multiplier from - // entry to successor prior to visiting successor. Returns 1 on - // success (to prevent recursion on the successor), and -1 on error. - -private: - - int unresolved_locals_; - // Number of nodes with unresolved local dependencies. - - int unresolved_remotes_; - // Number of nodes with unresolved remote dependencies. - - int thread_specification_errors_; - // Number of nodes with thread specification errors. -}; - -template -class TAO_RSE_Priority_Visitor : - public TAO_Reconfig_Sched_Entry_Visitor - // = TITLE - // An entry visitor that assigns static priority and subpriority - // values to entries in an array already sorted in static - // order. - // - // = DESCRIPTION - // The visitor uses the parameterized strategy type to determine - // priority and subpriority boundaries. -{ -public: - - TAO_RSE_Priority_Visitor (RtecScheduler::handle_t handles, - TAO_Reconfig_Scheduler_Entry ** entry_ptr_array); - // Constructor. - - virtual int visit (TAO_Reconfig_Scheduler_Entry &); - // Visit a RT_Info tuple. This method assigns a priority and - // subpriority value to each tuple. Priorities are assigned in - // increasing value order, with lower numbers corresponding to - // higher priorities. Returns -1 on error, 1 if a new priority was - // assigned, or 0 otherwise. - - int finish (); - // Finishes tuple priority assignment by iterating over the - // remaining tuples in the last subpriority level, and adjusting - // their subpriorities. - -private: - - TAO_Reconfig_Scheduler_Entry *previous_entry_; - // Pointer to previous tuple in the iteration. - - TAO_Reconfig_Scheduler_Entry **first_subpriority_entry_; - // Pointer to first subpriority tuple in the priority level. - - RtecScheduler::Preemption_Priority_t priority_; - // Current priority value. - - RtecScheduler::Preemption_Subpriority_t subpriority_; - // Current subpriority value. - - RtecScheduler::OS_Priority os_priority_; - // Current OS (thread) priority value. - - RtecScheduler::handle_t handles_; - // Number of handles in the entry pointer array. - - TAO_Reconfig_Scheduler_Entry ** entry_ptr_array_; - // An array of pointers to entries we will be visiting. -}; - -template -class TAO_Tuple_Admission_Visitor : - public TAO_RT_Info_Tuple_Visitor - // = TITLE - - // A tuple visitor that accumulates utilization separately for - // critical and non-critical operations. Operation tuples that - // fit within the threashold defined for their criticality level - // are admitted to the schedule, by updating the corresponding - // RT_Info with the tuple data. - // - // = DESCRIPTION - // The visitor uses the parameterized strategy type to determine - // whether or not a given operation is critical. -{ -public: - - TAO_Tuple_Admission_Visitor (const CORBA::Double & critical_utilization_threshold, - const CORBA::Double & noncritical_utilization_threshold); - // Constructor. - - virtual int visit (TAO_RT_Info_Tuple &); - // Visit an RT_Info tuple. This method determines the utilization by - // the tuple, and if it's admissible, updates its RT_Info and either - // the critical or non-critical utilization, depending on whether or - // not the strategy says the operation is critical. - - CORBA::Double critical_utilization (); - // Accessor for utilization by critical operations. - - CORBA::Double noncritical_utilization (); - // Accessor for utilization by noncritical operations. - - CORBA::Double critical_utilization_threshold (); - // Accessor for utilization by critical operations. - - CORBA::Double noncritical_utilization_threshold (); - // Accessor for utilization by noncritical operations. - - CORBA::Double total_critical_utilization (); - // Accessor for utilization by critical operations. - - CORBA::Double total_noncritical_utilization (); - // Accessor for utilization by noncritical operations. - -private: - - CORBA::Double critical_utilization_; - // Utilization by critical operations. - - CORBA::Double noncritical_utilization_; - // Utilization by noncritical operations. - - CORBA::Double total_critical_utilization_; - // Utilization by critical operations. - - CORBA::Double total_noncritical_utilization_; - // Utilization by noncritical operations. - - CORBA::Double critical_utilization_threshold_; - // Utilization by critical operations. - - CORBA::Double noncritical_utilization_threshold_; - // Utilization by noncritical operations. -}; - -template -class TAO_RSE_Criticality_Propagation_Visitor : - public TAO_RSE_Dependency_Visitor - // = TITLE - // A scheduler entry visitor that propagates criticality - // from called to calling nodes in a topologically ordered - // graph. - // - // = DESCRIPTION - // This class computes the criticality of each node - // and its dependants, according to its dependencies. -{ -public: - - TAO_RSE_Criticality_Propagation_Visitor - (ACE_TYPENAME TAO_RSE_Dependency_Visitor::DEPENDENCY_SET_MAP & dependency_map, - ACE_TYPENAME TAO_RSE_Dependency_Visitor::RT_INFO_MAP & rt_info_map); - // Constructor. - -protected: - - virtual int pre_recurse_action (TAO_Reconfig_Scheduler_Entry &entry, - TAO_Reconfig_Scheduler_Entry &successor, - const RtecScheduler::Dependency_Info &di); - // Propagates criticality from successor to calling - // entry. Returns 1 on success (to prevent recursion on the - // successor), and -1 on error. - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Reconfig_Sched_Utils_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include /**/ "ace/post.h" -#endif /* TAO_RECONFIG_SCHED_UTILS_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h deleted file mode 100644 index 1734634a104..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Scheduler.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHEDULER_H -#define TAO_RECONFIG_SCHEDULER_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - - -#include "ace/Hash_Map_Manager.h" -#include "ace/RB_Tree.h" -#include "orbsvcs/Scheduler_Factory.h" -#include "orbsvcs/RtecSchedulerS.h" -#include "orbsvcs/Sched/Reconfig_Sched_Utils.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -// Include the templates here. -#include "orbsvcs/Sched/Reconfig_Scheduler_T.h" - -#include /**/ "ace/post.h" -#endif /* TAO_RECONFIG_SCHEDULER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp deleted file mode 100644 index 76e925b5086..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp +++ /dev/null @@ -1,3218 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Scheduler_T.cpp -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHEDULER_T_C -#define TAO_RECONFIG_SCHEDULER_T_C - -#include "orbsvcs/Sched/Reconfig_Scheduler_T.h" -#include "orbsvcs/Time_Utilities.h" -#include "ace/Auto_Ptr.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -//#ifdef _DEBUG -//#define SCHEDULER_LOGGING 1 -//#endif - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////////////////////////////// -// Helper function type definition for sort // -////////////////////////////////////////////// - -// This is awkward, but it makes MSVC++ happy. -extern "C" -{ -typedef int (*COMP_FUNC) (const void*, const void*); -} - - -// Default constructor. - -template -TAO_Reconfig_Scheduler:: -TAO_Reconfig_Scheduler (int enforce_schedule_stability, - const CORBA::Double & critical_utilization_threshold, - const CORBA::Double & noncritical_utilization_threshold) - : config_info_count_ (0), - rt_info_count_ (0), - rt_info_tuple_count_ (0), - next_handle_ (1), - entry_ptr_array_ (0), - entry_ptr_array_size_ (0), - tuple_ptr_array_ (0), - tuple_ptr_array_size_ (0), - stability_flags_ (SCHED_NONE_STABLE), - enforce_schedule_stability_ (enforce_schedule_stability), - dependency_count_ (0), - last_scheduled_priority_ (0), - noncritical_utilization_ (0.0), - critical_utilization_ (0.0), - noncritical_utilization_threshold_ (noncritical_utilization_threshold), - critical_utilization_threshold_ (critical_utilization_threshold) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler default ctor.\n")); -#endif /* SCHEDULER_LOGGING */ -} - -// Constructor. Initialize the scheduler from the POD_Config_Info, POD_RT_Info, -// and POD_Dependency arrays, plus stability flag. - -template -TAO_Reconfig_Scheduler:: -TAO_Reconfig_Scheduler (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_infos[], - int rt_info_count, - ACE_Scheduler_Factory::POD_RT_Info rt_infos[], - int dependency_count, - ACE_Scheduler_Factory::POD_Dependency_Info dependency_infos[], - u_long stability_flags, - int enforce_schedule_stability, - const CORBA::Double & critical_utilization_threshold, - const CORBA::Double & noncritical_utilization_threshold) - : config_info_count_ (0), - rt_info_count_ (0), - rt_info_tuple_count_ (0), - next_handle_ (1), - stability_flags_ (SCHED_ALL_STABLE), - enforce_schedule_stability_ (enforce_schedule_stability), - dependency_count_ (0), - last_scheduled_priority_ (0), - noncritical_utilization_ (0.0), - critical_utilization_ (0.0), - noncritical_utilization_threshold_ (noncritical_utilization_threshold), - critical_utilization_threshold_ (critical_utilization_threshold) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler alternative ctor.\n")); -#endif /* SCHEDULER_LOGGING */ - - // @ TODO - think about what it means to emit all the tuples as - // well as the established RT_Infos. State is more complex now. - - // The init method can throw an exception, which must be caught - // *inside* the constructor to be portable between compilers that - // differ in whether they support native C++ exceptions. - ACE_TRY_NEW_ENV - { - this->init (config_count, config_infos, - rt_info_count, rt_infos, - dependency_count, dependency_infos, - stability_flags ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, corba_sysex) - { - ACE_ERROR ((LM_ERROR, "TAO_Reconfig_Scheduler::TAO_Reconfig_Scheduler " - "system exception: cannot init scheduler.\n")); - } - ACE_ENDTRY; -} - - -// Destructor. - -template -TAO_Reconfig_Scheduler:: -~TAO_Reconfig_Scheduler () -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler dtor.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_TRY_NEW_ENV - { - this->close (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCH (CORBA::SystemException, corba_sysex) - { - ACE_ERROR ((LM_ERROR, "TAO_Reconfig_Scheduler::~TAO_Reconfig_Scheduler " - "exception: cannot close scheduler.\n")); - } - ACE_ENDTRY; - - // Delete the entry and tuple pointer arrays. - delete [] entry_ptr_array_; - delete [] tuple_ptr_array_; -} - -// Additive initialization: can be called multiple times, with -// new sets of operation, dependency, and config information. - -template int -TAO_Reconfig_Scheduler:: -init (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int rt_info_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[], - int dependency_count, - ACE_Scheduler_Factory::POD_Dependency_Info dependency_info[], - u_long stability_flags - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::init.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK_RETURN (-1); - - int result = 0; - int i = 0; - -/* WSOA merge - commented out - // Clear out the previous entries, if any. - this->close (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); -*/ - - // Re-map the RT_Info and dependency handle values if necessary. - // Assumes that dependencies only refer to handles within the - // current set: changing that assumption would require us to use - // operation names, and the equivalent of a symbol table and - // relocating linker for RT_Infos to do this correctly in the - // general case. - if (this->next_handle_ > 1) - { - for (i = 0; i < rt_info_count; ++i) - { - rt_info [i].handle += this->next_handle_ - 1; - } - for (i = 0; i < dependency_count; ++i) - { - dependency_info [i].info_that_depends += this->next_handle_ - 1; - dependency_info [i].info_depended_on += this->next_handle_ - 1; - } - } - - // (Re)initialize using the new settings. - - // Add the passed config infos to the scheduler - auto_ptr new_config_info_ptr; - for (i = 0; i < config_count; ++i) - { - RtecScheduler::Config_Info* new_config_info; - ACE_NEW_THROW_EX (new_config_info, - RtecScheduler::Config_Info, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (-1); - - // Make sure the new config info is cleaned up if we exit abruptly. - ACE_AUTO_PTR_RESET (new_config_info_ptr, new_config_info, RtecScheduler::Config_Info); - - result = config_info_map_.bind (config_info [i].preemption_priority, - new_config_info); - switch (result) - { - case -1: - // Something bad but unknown occurred while trying to bind in map. - ACE_THROW_RETURN (RtecScheduler::INTERNAL (), -1); - - case 1: - // Tried to bind an operation that was already in the map. - ACE_THROW_RETURN (RtecScheduler::DUPLICATE_NAME (), -1); - - default: - break; - } - - new_config_info->preemption_priority = - config_info [i].preemption_priority; - new_config_info->thread_priority = - config_info [i].thread_priority; - new_config_info->dispatching_type = - config_info [i].dispatching_type; - - if (new_config_info->preemption_priority > - last_scheduled_priority_) - { - this->last_scheduled_priority_ = - new_config_info->preemption_priority; - } - - // Release the auto_ptr so it does not clean - // up the sucessfully bound config info. - new_config_info_ptr.release (); - - // Increase the count of successfully bound config infos. - ++this->config_info_count_; - } - - // Add RT_Infos to scheduler - TAO_RT_Info_Ex* new_rt_info; - for (int num_rt_infos = 0; num_rt_infos < rt_info_count; ++num_rt_infos) - { - new_rt_info = create_i (rt_info [num_rt_infos].entry_point, - rt_info [num_rt_infos].handle, 1 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - if (new_rt_info == 0) - { - ACE_THROW_RETURN (RtecScheduler::INTERNAL (), -1); - } - - // Set the new info's enabled state - new_rt_info->enabled_state (rt_info [num_rt_infos].enabled); - - // Fill in the portions to which the user has access. - this->set_i (new_rt_info, - RtecScheduler::Criticality_t (rt_info [num_rt_infos].criticality), - rt_info [num_rt_infos].worst_case_execution_time, - rt_info [num_rt_infos].typical_execution_time, - rt_info [num_rt_infos].cached_execution_time, - rt_info [num_rt_infos].period, - RtecScheduler::Importance_t (rt_info [num_rt_infos].importance), - rt_info [num_rt_infos].quantum, - rt_info [num_rt_infos].threads, - RtecScheduler::Info_Type_t (rt_info [num_rt_infos].info_type) - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - // Fill in the scheduler managed portions. - new_rt_info->priority = - rt_info [num_rt_infos].priority; - new_rt_info->preemption_subpriority = - rt_info [num_rt_infos].static_subpriority; - new_rt_info->preemption_priority = - rt_info [num_rt_infos].preemption_priority; - new_rt_info->volatile_token = 0; - - // Add dependencies between RT_Infos to scheduler. - for (i = 0; i < dependency_count; ++i) - { - add_dependency_i (dependency_info [dependency_count_].info_that_depends, - dependency_info [dependency_count_].info_depended_on, - dependency_info [dependency_count_].number_of_calls, - dependency_info [dependency_count_].dependency_type, - dependency_info [dependency_count_].enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (-1); - - ++this->dependency_count_; - } - - } - - // Set stability flags after the operations are loaded, as the passed flags - // should be respected as being the stability state of the passed schedule. - this->stability_flags_ = stability_flags; - - return result; -} - -// Closes the scheduler, releasing all current resources. -template void -TAO_Reconfig_Scheduler::close (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::close.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Unbind and delete each RT_Info in the map: this also cleans up - // all the entries and tuples associated with each RT_Info. - TAO_RT_Info_Ex *rt_info = 0; - RtecScheduler::handle_t handle; - while (rt_info_map_.current_size () > 0) - { - handle = (*rt_info_map_.begin ()).ext_id_; - if (rt_info_map_.unbind (handle, rt_info) == 0) - { - if (rt_info_tree_.unbind (rt_info->entry_point) == 0) - { - // Delete the entry associated with the RT_Info, then - // the RT_Info itself. - delete ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - rt_info->volatile_token); - delete rt_info; - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - else - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - } - - // Delete each Config_Info in the map. - RtecScheduler::Preemption_Priority_t config_priority; - RtecScheduler::Config_Info *config_info = 0; - while (config_info_map_.current_size () > 0) - { - config_priority = (*config_info_map_.begin ()).ext_id_; - if (config_info_map_.unbind (config_priority, config_info) == 0) - { - delete config_info; - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Delete each dependency set in the caller map - RtecScheduler::Dependency_Set *dependency_set = 0; - while (calling_dependency_set_map_.current_size () > 0) - { - handle = (*calling_dependency_set_map_.begin ()).ext_id_; - if (calling_dependency_set_map_.unbind (handle, dependency_set) == 0) - { - delete dependency_set; - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Delete each dependency set in the called map - while (called_dependency_set_map_.current_size () > 0) - { - handle = (*called_dependency_set_map_.begin ()).ext_id_; - if (called_dependency_set_map_.unbind (handle, dependency_set) == 0) - { - delete dependency_set; - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Zero out the scheduling entry pointer array but do not deallocate it. - if (entry_ptr_array_size_ > 0) - { - ACE_OS::memset (this->entry_ptr_array_, 0, - sizeof (TAO_Reconfig_Scheduler_Entry *) - * this->entry_ptr_array_size_); - } - - // Zero out the scheduling entry pointer array but do not deallocate it. - if (tuple_ptr_array_size_ > 0) - { - ACE_OS::memset (this->tuple_ptr_array_, 0, - sizeof (TAO_RT_Info_Tuple *) - * this->tuple_ptr_array_size_); - } - - // Finally, reset the entry counts and start over with the lowest - // handle number. - this->config_info_count_ = 0; - this->rt_info_count_ = 0; - this->rt_info_tuple_count_ = 0; - this->next_handle_ = 1; -} - -// Create an RT_Info. If it does not exist, a new RT_Info is -// created and inserted into the schedule, and the handle of the new -// RT_Info is returned. If the RT_Info already exists, an exception -// is thrown. - -template -RtecScheduler::handle_t -TAO_Reconfig_Scheduler:: -create (const char *entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::create.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK_RETURN (0); - - RtecScheduler::handle_t handle = next_handle_; - create_i (entry_point, handle, 0 ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (handle); - - // Set affected stability flags. - this->stability_flags_ |= - SCHED_UTILIZATION_NOT_STABLE | - SCHED_PRIORITY_NOT_STABLE; - - return handle; -} - -// Lookup a handle for an RT_Info, and return its handle, or an error -// value if it's not present. - -template -RtecScheduler::handle_t -TAO_Reconfig_Scheduler:: -lookup (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::lookup.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK_RETURN (0); - - RtecScheduler::handle_t handle; - handle = this->lookup_i (entry_point ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (handle); - - return handle; -} - - -// Return a pointer to the RT_Info corresponding to the passed handle. - -template -RtecScheduler::RT_Info * -TAO_Reconfig_Scheduler:: -get (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::get.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK_RETURN (0); - - // Find the RT_Info in the hash map. - TAO_RT_Info_Ex *rt_info = 0; - if (rt_info_map_.find (handle, rt_info) != 0) - { - ACE_THROW_RETURN (RtecScheduler::UNKNOWN_TASK (), 0); - } - - // Allocate a new RT_Info - RtecScheduler::RT_Info* new_info; - ACE_NEW_THROW_EX (new_info, - RtecScheduler::RT_Info, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - *new_info = *rt_info; - - return new_info; -} - - -// Set characteristics of the RT_Info corresponding to the passed handle. - -template -void -TAO_Reconfig_Scheduler:: -set (::RtecScheduler::handle_t handle, - ::RtecScheduler::Criticality_t criticality, - ::RtecScheduler::Time time, - ::RtecScheduler::Time typical_time, - ::RtecScheduler::Time cached_time, - ::RtecScheduler::Period_t period, - ::RtecScheduler::Importance_t importance, - ::RtecScheduler::Quantum_t quantum, - ::RtecScheduler::Threads_t threads, - ::RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Look up the RT_Info by its handle, throw an exception if it's not there. - TAO_RT_Info_Ex *rt_info_ptr = 0; - if (rt_info_map_.find (handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Enable the RT_Info if it was disabled. Does not modify NON_VOLATILE ops. - if (rt_info_ptr->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - rt_info_ptr->enabled_state (RtecScheduler::RT_INFO_ENABLED); - } - - // Call the internal set method. - this->set_i (rt_info_ptr, criticality, time, typical_time, - cached_time, period, importance, quantum, - threads, info_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - // Update stability flags. For now, just mark everything as unstable. - // @@ TODO - revisit this and see if we can efficiently detect when - // changes do not affect stability of various aspects. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - this->stability_flags_ |= SCHED_PRIORITY_NOT_STABLE; - this->stability_flags_ |= SCHED_PROPAGATION_NOT_STABLE; - - return; -} - -template -void -TAO_Reconfig_Scheduler:: -reset (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::reset.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Look up the RT_Info by its handle, throw an exception if it's not there. - TAO_RT_Info_Ex *rt_info_ptr = 0; - if (rt_info_map_.find (handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Enable the RT_Info if it was disabled. Does not modify NON_VOLATILE ops. - if (rt_info_ptr->enabled_state () == RtecScheduler::RT_INFO_NON_VOLATILE) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - else - { - // Reset the RT_Info. - rt_info_ptr->reset (TAO_Reconfig_Scheduler_Entry::ORIGINAL - | TAO_Reconfig_Scheduler_Entry::PROPAGATED); - - rt_info_ptr->enabled_state (RtecScheduler::RT_INFO_ENABLED); - } - - // Refresh the internal tuple pointer array. - this->refresh_tuple_ptr_array_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - // Then call the internal set method. - this->set_i (rt_info_ptr, criticality, time, typical_time, - cached_time, period, importance, quantum, - threads, info_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - // Update stability flags. For now, just mark everything as unstable. - // @@ TODO - revisit this and see if we can efficiently detect when - // changes do not affect stability of various aspects. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - this->stability_flags_ |= SCHED_PRIORITY_NOT_STABLE; - this->stability_flags_ |= SCHED_PROPAGATION_NOT_STABLE; - - return; -} - - - -template -void -TAO_Reconfig_Scheduler:: -set_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_seq.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - for (u_int i = 0; i < infos.length (); ++i) - { - // Look up the RT_Info by its handle, throw an exception if it's not there. - TAO_RT_Info_Ex *rt_info_ptr = 0; - if (rt_info_map_.find (infos[i].handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Enable the RT_Info if it was disabled. Does not modify NON_VOLATILE ops. - if (rt_info_ptr->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - rt_info_ptr->enabled_state (RtecScheduler::RT_INFO_ENABLED); - } - -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) && defined (NDEBUG) - // BCB2006 and BCB6 get an internal backend error when building this - // code in release mode, reported to Borland as QC27961 - // Call the internal set method. - RtecScheduler::RT_Info info = infos[i]; - - this->set_i (rt_info_ptr, - info.criticality, - info.worst_case_execution_time, - info.typical_execution_time, - info.cached_execution_time, - info.period, - info.importance, - info.quantum, - info.threads, - info.info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#else - this->set_i (rt_info_ptr, - infos[i].criticality, - infos[i].worst_case_execution_time, - infos[i].typical_execution_time, - infos[i].cached_execution_time, - infos[i].period, - infos[i].importance, - infos[i].quantum, - infos[i].threads, - infos[i].info_type - ACE_ENV_ARG_PARAMETER); -#endif - } - - // Update stability flags. For now, just mark everything as unstable. - // @@ TODO - revisit this and see if we can efficiently detect when - // changes do not affect stability of various aspects. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - this->stability_flags_ |= SCHED_PRIORITY_NOT_STABLE; - this->stability_flags_ |= SCHED_PROPAGATION_NOT_STABLE; - - return; -} - - -template -void -TAO_Reconfig_Scheduler:: -reset_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::reset_seq.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - TAO_RT_Info_Ex *rt_info_ptr = 0; - u_int i; - - for (i = 0; i < infos.length (); ++i) - { - // Look up the RT_Info by its handle, throw an exception if it's not there. - if (rt_info_map_.find (infos[i].handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - // Enable the RT_Info. Does not modify NON_VOLATILE ops. - if (rt_info_ptr->enabled_state () == RtecScheduler::RT_INFO_NON_VOLATILE) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - else - { - // Reset the RT_Info. - rt_info_ptr->reset (TAO_Reconfig_Scheduler_Entry::ORIGINAL - | TAO_Reconfig_Scheduler_Entry::PROPAGATED); - - rt_info_ptr->enabled_state (RtecScheduler::RT_INFO_ENABLED); - } - } - - // Refresh the internal tuple pointer array. - this->refresh_tuple_ptr_array_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - for (i = 0; i < infos.length (); ++i) - { - // Look up the RT_Info by its handle, throw an exception if it's not there. - if (rt_info_map_.find (infos[i].handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) && defined (NDEBUG) - // BCB2006 and BCB6 get an internal backend error when building this - // code in release mode, reported to Borland as QC27961 - // Call the internal set method. - RtecScheduler::RT_Info info = infos[i]; - - // Call the internal set method. - this->set_i (rt_info_ptr, - info.criticality, - info.worst_case_execution_time, - info.typical_execution_time, - info.cached_execution_time, - info.period, - info.importance, - info.quantum, - info.threads, - info.info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#else - // Call the internal set method. - this->set_i (rt_info_ptr, - infos[i].criticality, - infos[i].worst_case_execution_time, - infos[i].typical_execution_time, - infos[i].cached_execution_time, - infos[i].period, - infos[i].importance, - infos[i].quantum, - infos[i].threads, - infos[i].info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - } - - // Update stability flags. For now, just mark everything as unstable. - // @@ TODO - revisit this and see if we can efficiently detect when - // changes do not affect stability of various aspects. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - this->stability_flags_ |= SCHED_PRIORITY_NOT_STABLE; - this->stability_flags_ |= SCHED_PROPAGATION_NOT_STABLE; - - return; -} - -template -void -TAO_Reconfig_Scheduler:: -replace_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::replace_seq.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - TAO_RT_Info_Ex *rt_info_ptr = 0; - - for (ACE_TYPENAME RT_INFO_MAP::iterator info_iter (this->rt_info_map_); - info_iter.done () == 0; - ++info_iter) - { - // Get a pointer to each registered RT_Info. - rt_info_ptr = (*info_iter).int_id_; - if (! rt_info_ptr) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - switch (rt_info_ptr->enabled_state ()) - { - case RtecScheduler::RT_INFO_ENABLED: - - // Disable enabled RT_Infos. - rt_info_ptr->enabled_state (RtecScheduler::RT_INFO_DISABLED); - - // Reset Enabled and Non-Volatile RT_Infos. - rt_info_ptr->reset (TAO_Reconfig_Scheduler_Entry::ORIGINAL - | TAO_Reconfig_Scheduler_Entry::PROPAGATED); - break; - - // Intentional fall-through to ignore non-volatile RT_Infos - case RtecScheduler::RT_INFO_NON_VOLATILE: - - default: // Ignore disabled RT_Infos. - break; - } - } - - // Zero out the tuple pointer array, set count to zero - ACE_OS::memset (this->tuple_ptr_array_, 0, - sizeof (TAO_RT_Info_Tuple *) - * this->tuple_ptr_array_size_); - this->rt_info_tuple_count_ = 0; - - for (u_int i = 0; i < infos.length (); ++i) - { - // Look up the RT_Info by its handle, throw an exception if it's not there. - if (rt_info_map_.find (infos[i].handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Enable the RT_Info if it was disabled. Does not modify NON_VOLATILE ops. - if (rt_info_ptr->enabled_state () == RtecScheduler::RT_INFO_DISABLED) - { - rt_info_ptr->enabled_state (RtecScheduler::RT_INFO_ENABLED); - } - -#if defined (__BORLANDC__) && (__BORLANDC__ <= 0x582) && defined (NDEBUG) - // BCB2006 and BCB6 get an internal backend error when building this - // code in release mode, reported to Borland as QC27961 - // Call the internal set method. - RtecScheduler::RT_Info info = infos[i]; - - // Call the internal set method. - this->set_i (rt_info_ptr, - info.criticality, - info.worst_case_execution_time, - info.typical_execution_time, - info.cached_execution_time, - info.period, - info.importance, - info.quantum, - info.threads, - info.info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#else - // Call the internal set method. - this->set_i (rt_info_ptr, - infos[i].criticality, - infos[i].worst_case_execution_time, - infos[i].typical_execution_time, - infos[i].cached_execution_time, - infos[i].period, - infos[i].importance, - infos[i].quantum, - infos[i].threads, - infos[i].info_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -#endif - } - - // Update stability flags. For now, just mark everything as unstable. - // @@ TODO - revisit this and see if we can efficiently detect when - // changes do not affect stability of various aspects. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - this->stability_flags_ |= SCHED_PRIORITY_NOT_STABLE; - this->stability_flags_ |= SCHED_PROPAGATION_NOT_STABLE; - - return; -} - - -// Returns the priority and subpriority values assigned to an RT_Info, -// based on its handle. - -template -void -TAO_Reconfig_Scheduler:: -priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)) -{ - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Check stability flags. - if ((this->stability_flags_ & SCHED_PRIORITY_NOT_STABLE) - && this->enforce_schedule_stability_) - { - ACE_THROW (RtecScheduler::NOT_SCHEDULED ()); - } - - // CDG - TBD - address priority "generations" i.e., after an - // adaptive transition. For now, go ahead and return whatever - // priority is there, even if the RT_Info_Ex is disabled. - - TAO_RT_Info_Ex *rt_info = 0; - if (rt_info_map_.find (handle, rt_info) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - o_priority = rt_info->priority; - subpriority = rt_info->preemption_subpriority; - p_priority = rt_info->preemption_priority; -} - - -// Returns the priority and subpriority values assigned to an RT_Info, -// based on its entry point name. - -template -void -TAO_Reconfig_Scheduler:: -entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Preemption_Subpriority_t& subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::entry_point_priority.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - RtecScheduler::handle_t handle = - this->lookup_i (entry_point ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->priority_i (handle, - priority, - subpriority, - p_priority - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -// This method registers a dependency between two RT_Infos. - -template -void -TAO_Reconfig_Scheduler:: -add_dependency (RtecScheduler::handle_t handle /* RT_Info that has the dependency */, - RtecScheduler::handle_t dependency /* RT_Info on which it depends */, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::add_dependency.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Delegate to the internal method. - add_dependency_i (handle, dependency, number_of_calls, dependency_type, - RtecBase::DEPENDENCY_ENABLED ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Since the call graph topology has changed, set *all* - // stability flags before incrementing the dependency count. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - ++dependency_count_; -} - - -// This method removes a dependency between two RT_Infos. - -template -void -TAO_Reconfig_Scheduler:: -remove_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::remove_dependency.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Delegate to the internal method. - remove_dependency_i (handle, dependency, number_of_calls, - dependency_type ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Since the call graph topology has changed, set *all* - // stability flags before incrementing the dependency count. - this->stability_flags_ |= SCHED_UTILIZATION_NOT_STABLE; - --dependency_count_; -} - -// This method sets the enable state for a dependency between two RT_Infos. - -template -void -TAO_Reconfig_Scheduler:: -set_dependency_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_dependency_enable_state.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Delegate to the internal method. - set_dependency_enable_state_i (handle, dependency, number_of_calls, - dependency_type, enabled ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - - -// This method sets the enable state of a sequence of dependencies. - -template -void -TAO_Reconfig_Scheduler:: -set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_dependency_enable_state_seq.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Delegate to the internal method for each dependency in the sequence. - for (u_int i = 0; i < dependencies.length (); ++i) - { - set_dependency_enable_state_i (dependencies[i].rt_info, - dependencies[i].rt_info_depended_on, - dependencies[i].number_of_calls, - dependencies[i].dependency_type, - dependencies[i].enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -} - - -// This method enables or disables an RT_Info. - -template -void -TAO_Reconfig_Scheduler:: -set_rt_info_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::RT_Info_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_rt_info_enable_state.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Look up the RT_Info by its handle, throw an exception if it's not there. - TAO_RT_Info_Ex *rt_info_ptr = 0; - if (rt_info_map_.find (handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Enable the RT_Info. - rt_info_ptr->enabled_state (enabled); -} - - -// This method enables or disables a sequence of RT_Infos. - -template -void -TAO_Reconfig_Scheduler:: -set_rt_info_enable_state_seq (const RtecScheduler::RT_Info_Enable_State_Pair_Set & pair_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_rt_info_enable_state_seq.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - for (u_int i = 0; i < pair_set.length (); ++i) - { - // Look up the RT_Info by its handle, throw an exception if it's not there. - TAO_RT_Info_Ex *rt_info_ptr = 0; - if (rt_info_map_.find (pair_set[i].handle, rt_info_ptr) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - if (rt_info_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Enable the RT_Info. - rt_info_ptr->enabled_state (pair_set[i].enabled); - } -} - - -// If information has been added or changed since the last stable -// schedule was computed, this method causes scheduling information -// to be computed for all registered RT_Infos. If the schedule is -// already stable, this is a no-op - -template -void -TAO_Reconfig_Scheduler:: -compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - RtecScheduler::Dependency_Set_out dependencies, - RtecScheduler::Config_Info_Set_out configs, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)) -{ - // Delegates to recompute_scheduling and the respective accessors. - this->recompute_scheduling (minimum_priority, maximum_priority, - anomalies ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->get_rt_info_set (infos ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->get_dependency_set (dependencies ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - this->get_config_info_set (configs ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_DUMP) - ACE_DEBUG ((LM_TRACE, "Schedule prepared.\n")); - ACE_DEBUG ((LM_TRACE, "Dumping to stdout.\n")); - ACE_Scheduler_Factory::dump_schedule (*(infos.ptr()), *(dependencies.ptr()), *(configs.ptr()), - *(anomalies.ptr()), 0); - ACE_DEBUG ((LM_TRACE, "Dump done.\n")); -#endif // SCHEDULER_DUMP - - return; -} - -// Recomputes the scheduling priorities, etc. - -template -void -TAO_Reconfig_Scheduler:: -recompute_scheduling (CORBA::Long /* minimum_priority */, - CORBA::Long /* maximum_priority */, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::compute_scheduling.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // @@ TO DO - use these to establish the bounds of priority assignment. - // minimum_priority - // maximum_priority - - // If everything is already up to date, we're done. - if (SCHED_ALL_STABLE == stability_flags_) - { - - // Must always provide a value for an out parameter - ACE_NEW_THROW_EX (anomalies, - RtecScheduler::Scheduling_Anomaly_Set (0), - CORBA::NO_MEMORY ()); - ACE_CHECK; - return; - } - - // @@ TO DO - use try/catch blocks to catch exceptions and add anomalies - // to scheduling anomaly set, and then perhaps rethrow) - - if ((this->stability_flags_ & SCHED_PROPAGATION_NOT_STABLE) - || (this->stability_flags_ & SCHED_UTILIZATION_NOT_STABLE)) - { - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "1_pre_crit_traverse.txt"); -#endif - - // Traverse criticality dependency graph, assigning a - // topological ordering and identifying threads. - crit_dfs_traverse_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "2_crit_dfs_traverse_i.txt"); -#endif - - // Propagate criticalities. - propagate_criticalities_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "3_propagate_criticalities_i.txt"); -#endif - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "4_pre_traverse.txt"); -#endif - - // Traverse dependency graph, assigning a topological ordering and identifying threads. - dfs_traverse_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "5_dfs_traverse_i.txt"); -#endif - - // Sort an array of RT_info handles in topological order, check - // for loops using the strongly connected components algorithm. - detect_cycles_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "6_detect_cycles_i.txt"); -#endif - - // Perform admission control for task delineator rate tuples. - perform_admission_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "7_perform_admission_i.txt"); -#endif - - // Propagate effective execution time and period, set total frame size. - propagate_characteristics_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "8_propagate_characteristics_i.txt"); -#endif - - } - - if (this->stability_flags_ & SCHED_PRIORITY_NOT_STABLE) - { - // Sort operations by urgency, then assign priorities and - // subpriorities in one pass. Sets last scheduled priority and - // last feasible priority. - assign_priorities_i (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_entries(entry_ptr_array_, - this->rt_info_count_, - "9_assign_priorities_i.txt"); -#endif - - } - - // @@ TODO: record any scheduling anomalies in a set within the scheduler, - // storing the maximum severity level recorded so far. - if (anomalies.ptr () == 0) - { - ACE_NEW_THROW_EX (anomalies, - RtecScheduler::Scheduling_Anomaly_Set (0), - CORBA::NO_MEMORY ()); - ACE_CHECK; - } - - ACE_DEBUG ((LM_DEBUG, - "cutil = %f, ncutil = %f\n", - this->critical_utilization_, - this->noncritical_utilization_)); - - if (this->critical_utilization_ > critical_utilization_threshold_ || - this->noncritical_utilization_ > noncritical_utilization_threshold_) - { - CORBA::ULong len = anomalies->length (); - anomalies->length (len + 1); - anomalies[len].description = CORBA::string_dup("Utilization Bound exceeded"); - anomalies[len].severity = RtecScheduler::ANOMALY_ERROR; - } - - // Set stability flags last. - this->stability_flags_ = SCHED_ALL_STABLE; - return; -} - - -// Returns the set of rt_infos, with their assigned priorities (as -// of the last schedule re-computation). - -template -void -TAO_Reconfig_Scheduler:: -get_rt_info_set (RtecScheduler::RT_Info_Set_out infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ - // return the set of scheduled RT_Infos - - if (infos.ptr () == 0) - { - ACE_NEW_THROW_EX (infos, - RtecScheduler::RT_Info_Set (this->rt_info_count_), - CORBA::NO_MEMORY ()); - ACE_CHECK; - } - - infos->length (this->rt_info_count_); - TAO_RT_Info_Ex* rt_info = 0; - for (ACE_TYPENAME RT_INFO_MAP::iterator info_iter (this->rt_info_map_); - info_iter.done () == 0; - ++info_iter) - { - // TODO - rethink this: is it more useful to only return the *enabled* RT_Infos? - rt_info = (*info_iter).int_id_; - infos[static_cast (rt_info->handle - 1)] = *rt_info; - } - - return; -} - - -// Returns the set of rt_infos, with their assigned priorities (as -// of the last schedule re-computation). - -template -void -TAO_Reconfig_Scheduler:: -get_dependency_set (RtecScheduler::Dependency_Set_out dependencies - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ - // Return the set of dependencies: just need to iterate over one of the maps. - - if (dependencies.ptr () == 0) - { - dependencies = new RtecScheduler::Dependency_Set (this->dependency_count_); - } - dependencies->length (this->dependency_count_); - RtecScheduler::Dependency_Set *dependency_set = 0; - int i = 0; - for (ACE_TYPENAME DEPENDENCY_SET_MAP::iterator - dependency_iter (this->called_dependency_set_map_); - dependency_iter.done () == 0 && i < this->dependency_count_; - ++dependency_iter) - { - dependency_set = (*dependency_iter).int_id_; - for (u_int j = 0; - j < dependency_set->length () && i < this->dependency_count_; - ++i, ++j) - { - (* dependencies) [i] = (*dependency_set) [j]; - // For two-way calls, swap the handles (stored in reverse order in the called map) - if ((* dependencies) [i].dependency_type == RtecBase::TWO_WAY_CALL) - { - (* dependencies) [i].rt_info = (* dependency_set) [j].rt_info_depended_on; - (* dependencies) [i].rt_info_depended_on = (* dependency_set) [j].rt_info; - } - } - } - - return; -} - - -// Returns the set of config_infos, describing the appropriate -// number, types, and priority levels for the dispatching lanes. - -template -void -TAO_Reconfig_Scheduler:: -get_config_info_set (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)) -{ - // Return the set of scheduled Config_Infos. - - if (configs.ptr () == 0) - { - ACE_NEW_THROW_EX (configs, - RtecScheduler::Config_Info_Set(this-> - config_info_count_), - CORBA::NO_MEMORY ()); - ACE_CHECK; - } - - configs->length (this->config_info_count_); - RtecScheduler::Config_Info* config_info = 0; - for (ACE_TYPENAME CONFIG_INFO_MAP::iterator config_iter (this->config_info_map_); - config_iter.done () == 0; - ++config_iter) - { - config_info = (*config_iter).int_id_; - configs[static_cast (config_info->preemption_priority)] = *config_info; - } - - return; -} - - -// Provides the thread priority and queue type for the given priority -// level. - -template -void -TAO_Reconfig_Scheduler:: -dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, - RtecScheduler::OS_Priority& t_priority, - RtecScheduler::Dispatching_Type_t & d_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_PRIORITY_LEVEL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::dispatch_configuration.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Check stability flags - if ((this->stability_flags_ & SCHED_PRIORITY_NOT_STABLE) - && this->enforce_schedule_stability_) - { - ACE_THROW (RtecScheduler::NOT_SCHEDULED ()); - } - - RtecScheduler::Config_Info *config_info = 0; - if (config_info_map_.find (p_priority, config_info) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_PRIORITY_LEVEL()); - } - - t_priority = config_info->thread_priority; - d_type = config_info->dispatching_type; -} - - -// Returns the last priority number assigned to an operation in the -// schedule. The number returned is one less than the total number -// of scheduled priorities. All scheduled priorities range from 0 -// to the number returned, inclusive. - -template -RtecScheduler::Preemption_Priority_t -TAO_Reconfig_Scheduler:: -last_scheduled_priority (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::last_scheduled_priority.\n")); -#endif /* SCHEDULER_LOGGING */ - - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK_RETURN (0); - - // Check schedule stability flags. - if ((this->stability_flags_ & SCHED_PRIORITY_NOT_STABLE) - && this->enforce_schedule_stability_) - { - ACE_THROW_RETURN (RtecScheduler::NOT_SCHEDULED (), - (RtecScheduler::Preemption_Priority_t) -1); - } - - return last_scheduled_priority_; -} - -// Provides the set of Config_Infos associated with the current schedule. - -template -void -TAO_Reconfig_Scheduler:: -get_config_infos (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)) -{ - ACE_GUARD_THROW_EX (ACE_LOCK, ace_mon, this->mutex_, - RtecScheduler::SYNCHRONIZATION_FAILURE ()); - ACE_CHECK; - - // Check schedule stability flags. - if ((this->stability_flags_ & SCHED_PRIORITY_NOT_STABLE) - && this->enforce_schedule_stability_) - { - ACE_THROW (RtecScheduler::NOT_SCHEDULED ()); - } - - // return the set of Config_Infos - if (configs.ptr () == 0) - { - ACE_NEW_THROW_EX (configs, - RtecScheduler::Config_Info_Set(this-> - config_info_count_), - CORBA::NO_MEMORY ()); - ACE_CHECK; - } - configs->length (this->config_info_count_); - RtecScheduler::Config_Info* config_info = 0; - for (ACE_TYPENAME CONFIG_INFO_MAP::iterator config_iter (this->config_info_map_); - config_iter.done () == 0; - ++config_iter) - { - config_info = (*config_iter).int_id_; - configs[static_cast (config_info->preemption_priority)] = *config_info; - } -} - - -// Internal method to create an RT_Info. If it does not exist, a new -// RT_Info is created and inserted into the schedule, and the handle -// of the new RT_Info is returned. If the RT_Info already exists, -// then if the ignore_duplicates flag is set, the handle is simply -// returned; otherwise, an exception is thrown. - -template -TAO_RT_Info_Ex * -TAO_Reconfig_Scheduler:: -create_i (const char *entry_point, - RtecScheduler::handle_t handle, - int ignore_duplicates - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::create_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - TAO_RT_Info_Ex* new_rt_info = 0; - TAO_Reconfig_Scheduler_Entry* new_sched_entry = 0; - int result = 0; - - // If we're ignoring duplicates, check for and return the existing - // entry if there is one. - if (ignore_duplicates - && rt_info_map_.find (handle, new_rt_info) == 0) - { - return new_rt_info; - } - - // Create a new scheduling entry for the RT_Info. - ACE_NEW_THROW_EX (new_rt_info, - TAO_RT_Info_Ex, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - // Make sure the new scheduling entry is cleaned up if we exit abruptly. - auto_ptr new_rt_info_ptr (new_rt_info); - - // Set some reasonable default values, and store the passed ones. - new_rt_info->entry_point = CORBA::string_dup (entry_point); - new_rt_info->handle = handle; - - // Bind the new RT_Info to its handle, in the RT_Info map. - result = rt_info_map_.bind (handle, new_rt_info); - switch (result) - { - case -1: - // Something bad but unknown occurred while trying to bind in map. - ACE_THROW_RETURN (RtecScheduler::INTERNAL (), 0); - - case 1: - // Tried to bind an operation that was already in the map. - if (ignore_duplicates) - { - // Should never get here unless something is badly awry. - ACE_THROW_RETURN (RtecScheduler::INTERNAL (), 0); - } - else - { - // Already bound, and we're not ignoring duplicates. - ACE_THROW_RETURN (RtecScheduler::DUPLICATE_NAME (), 0); - } - - default: - break; - } - - // Bind the new RT_Info to *its* entry point, in the tree. - result = rt_info_tree_.bind (new_rt_info->entry_point, new_rt_info); - switch (result) - { - case -1: - // Something bad but unknown occurred while trying to bind in tree. - rt_info_map_.unbind (handle); - ACE_THROW_RETURN (RtecScheduler::INTERNAL (), 0); - - case 1: - // Tried to bind an operation that was already in the tree. - rt_info_map_.unbind (handle); - ACE_THROW_RETURN (RtecScheduler::DUPLICATE_NAME (), 0); - - default: - break; - } - - // Create a new scheduling entry for the RT_Info. - ACE_NEW_THROW_EX (new_sched_entry, - TAO_Reconfig_Scheduler_Entry (*new_rt_info), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - // Make sure the new scheduling entry is cleaned up if we exit abruptly. - auto_ptr new_sched_entry_ptr (new_sched_entry); - - // Maintain the size of the entry pointer array. - maintain_scheduling_array (entry_ptr_array_, entry_ptr_array_size_, - handle ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - - // Store the new entry in the scheduling entry pointer array. - entry_ptr_array_ [handle - 1] = new_sched_entry; - - // Release the auto pointers, so their destruction does not - // remove the new rt_info that is now in the map and tree, - // or the scheduling entry attached to the rt_info. - new_rt_info_ptr.release (); - new_sched_entry_ptr.release (); - - // Connect the entry to the RT_Info. - new_rt_info->volatile_token = - static_cast (reinterpret_cast (new_sched_entry)); - - // With everything safely registered in the map and tree, just - // update the next handle and info counter and return the new info. - if (handle >= this->next_handle_) - { - this->next_handle_ = handle + 1; - } - if (handle > this->rt_info_count_) - { - this->rt_info_count_ = handle; - } - - return new_rt_info; -} - -// Internal method to set characteristics of the passed RT_Info. - -template void -TAO_Reconfig_Scheduler:: -set_i (TAO_RT_Info_Ex *rt_info, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // Do not allow conjunction nodes for now. - if (info_type == RtecScheduler::CONJUNCTION) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT("Conjunction Nodes are not supported currently."))); - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - - // Set the base RT_Info to have the attributes of the latest values. - rt_info->criticality = criticality; - rt_info->worst_case_execution_time = time; - rt_info->typical_execution_time = typical_time; - rt_info->cached_execution_time = cached_time; - rt_info->period = period; - rt_info->importance = importance; - rt_info->quantum = quantum; - rt_info->threads = threads; - rt_info->info_type = info_type; - - // If a rate is advertised, create a separate tuple for that rate. - if (period > 0) - { - TAO_Reconfig_Scheduler_Entry * rse_ptr = - ACE_LONGLONG_TO_PTR (TAO_Reconfig_Scheduler_Entry *, - rt_info->volatile_token); -// ACE_DEBUG((LM_DEBUG, "Updating or inserting tuple for RT_Info: %d, entry_ptr: %x\n", rt_info->handle, rse_ptr)); - if (rse_ptr == 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - int result = rse_ptr->update_tuple (*rt_info); - if (result < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - else if (result == 0) // We did not find an existing tuple. - { - // Create a new RT_Info tuple from the passed RT_Info. - TAO_RT_Info_Tuple *tuple_ptr = 0; - ACE_NEW_THROW_EX (tuple_ptr, - TAO_RT_Info_Tuple (*rt_info), - CORBA::NO_MEMORY ()); - ACE_CHECK; - - - // Make sure the new tuple is cleaned up if we exit abruptly. - auto_ptr tuple_auto_ptr (tuple_ptr); - -// ACE_DEBUG((LM_DEBUG, "Tuple not found. Inserting new tuple for RT_Info: %d, entry_ptr: 0x%x, tuple_ptr: 0x%x\n", -// rt_info->handle, -// rse_ptr, -// tuple_ptr)); - // Add the tuple to the entry's original tuple set - result = rse_ptr->insert_tuple (*tuple_ptr); - if (result < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Maintain the size of the entry pointer array. - maintain_scheduling_array (tuple_ptr_array_, - tuple_ptr_array_size_, - rt_info_tuple_count_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Store the new tuple in the tuple pointer array. - tuple_ptr_array_ [this->rt_info_tuple_count_] = tuple_ptr; - - ++this->rt_info_tuple_count_; - - // All is well: release the auto pointer's hold on the tuple. - tuple_auto_ptr.release (); - } - } -} - - - -// Internal method to lookup a handle for an RT_Info, and return its -// handle, or an error value if it's not present. - -template -RtecScheduler::handle_t -TAO_Reconfig_Scheduler:: -lookup_i (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::lookup_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - TAO_RT_Info_Ex *rt_info = 0; - if (rt_info_tree_.find (entry_point, rt_info) != 0) - { - ACE_THROW_RETURN (RtecScheduler::UNKNOWN_TASK (), 0); - } - - return rt_info->handle; -} - -// Internal method that returns the priority and subpriority values -// assigned to an RT_Info, based on its handle. - -template -void -TAO_Reconfig_Scheduler:: -priority_i (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - // Check stability flags. - if ((this->stability_flags_ & SCHED_PRIORITY_NOT_STABLE) - && this->enforce_schedule_stability_) - { - ACE_THROW (RtecScheduler::NOT_SCHEDULED ()); - } - - TAO_RT_Info_Ex *rt_info = 0; - if (rt_info_map_.find (handle, rt_info) != 0) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - - o_priority = rt_info->priority; - subpriority = rt_info->preemption_subpriority; - p_priority = rt_info->preemption_priority; -} - - -// This internal method registers a dependency between two RT_Infos. - -template void -TAO_Reconfig_Scheduler:: -add_dependency_i (RtecScheduler::handle_t handle /* RT_Info that has the dependency */, - RtecScheduler::handle_t dependency /* RT_Info on which it depends */, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::add_dependency_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // All dependencies are mapped by both the calling and called - // operation handles, so that a topological sort can be performed - // once over both one-way and two-way dependencies. The dependency - // specification is in absolute terms, however, so that the calling - // and called handles are reversed for one-way and two way - // dependencies. - - switch (dependency_type) - { - // In a two-way call, the calling operation depends on the - // called operation. - case RtecBase::TWO_WAY_CALL: - - // Add the calling dependency map entry - map_dependency_i (handle, // calling handle - dependency, // called handle - calling_dependency_set_map_, // calling map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Add the called dependency map entry - map_dependency_i (dependency, // called handle - handle, // calling handle - called_dependency_set_map_, // called map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - break; - - // In a one-way call, the called operation depends on the - // calling operation. - case RtecBase::ONE_WAY_CALL: - - // Add the calling dependency map entry - map_dependency_i (dependency, // calling handle - handle, // called handle - calling_dependency_set_map_, // calling map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Add the called dependency map entry - map_dependency_i (handle, // called handle - dependency, // calling handle - called_dependency_set_map_, // called map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - break; - - default: - - // There should not be any other kinds of dependencies. - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - // Add the criticality dependency map entry. - // If A---TW--->B and C---OW--->D, the add_dependency_calls - // would look like this - // add_dependency (A, B, TW) - // add_dependency (D, C, OW) - // Neither of the other two maps capture these dependencies - // A depends on B and D depends on C. - // The calling dependency map captures - // A calls B and C calls D. - // The called dependency map captures - // B called by A and D called by C. - - map_dependency_i (handle, // calling handle - dependency, // called handle - crit_dependency_set_map_,// crit dependency map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - -} - - -// This internal method removes a dependency between two RT_Infos. - -template void -TAO_Reconfig_Scheduler:: -remove_dependency_i (RtecScheduler::handle_t handle /* RT_Info that has the dependency */, - RtecScheduler::handle_t dependency /* RT_Info on which it depends */, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::remove_dependency_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // All dependencies are mapped by both the calling and called - // operation handles, so that a topological sort can be performed - // once over both one-way and two-way dependencies. The dependency - // specification is in absolute terms, however, so that the calling - // and called handles are reversed for one-way and two way - // dependencies. - - switch (dependency_type) - { - // In a two-way call, the calling operation depends on the - // called operation. - case RtecBase::TWO_WAY_CALL: - - // Remove the calling dependency map entry - unmap_dependency_i (handle, // calling handle - dependency, // called handle - calling_dependency_set_map_, // calling map - number_of_calls, - dependency_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Remove the called dependency map entry - unmap_dependency_i (dependency, // called handle - handle, // calling handle - called_dependency_set_map_, // called map - number_of_calls, - dependency_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - break; - - // In a one-way call, the called operation depends on the - // calling operation. - case RtecBase::ONE_WAY_CALL: - - // Remove the calling dependency map entry - unmap_dependency_i (dependency, // calling handle - handle, // called handle - calling_dependency_set_map_, // calling map - number_of_calls, - dependency_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Remove the called dependency map entry - unmap_dependency_i (handle, // called handle - dependency, // calling handle - called_dependency_set_map_, // called map - number_of_calls, - dependency_type - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - break; - - default: - - // There should not be any other kinds of dependencies. - ACE_THROW (RtecScheduler::INTERNAL ()); - } -} - - -// This method sets the enable state for a dependency between two RT_Infos. - -template -void -TAO_Reconfig_Scheduler:: -set_dependency_enable_state_i (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::set_dependency_enable_state_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // All dependencies are mapped by both the calling and called - // operation handles, so that a topological sort can be performed - // once over both one-way and two-way dependencies. The dependency - // specification is in absolute terms, however, so that the calling - // and called handles are reversed for one-way and two way - // dependencies. - - switch (dependency_type) - { - // In a two-way call, the calling operation depends on the - // called operation. - case RtecBase::TWO_WAY_CALL: - - // Update the calling dependency map entry - map_dependency_enable_state_i (handle, // calling handle - dependency, // called handle - calling_dependency_set_map_, // calling map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Update the called dependency map entry - map_dependency_enable_state_i (dependency, // called handle - handle, // calling handle - called_dependency_set_map_, // called map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - break; - - // In a one-way call, the called operation depends on the - // calling operation. - case RtecBase::ONE_WAY_CALL: - - // Update the calling dependency map entry - map_dependency_enable_state_i (dependency, // calling handle - handle, // called handle - calling_dependency_set_map_, // calling map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Update the called dependency map entry - map_dependency_enable_state_i (handle, // called handle - dependency, // calling handle - called_dependency_set_map_, // called map - number_of_calls, - dependency_type, - enabled - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - break; - - default: - - // There should not be any other kinds of dependencies. - ACE_THROW (RtecScheduler::INTERNAL ()); - } -} - -// This method installs a dependency in a dependency set map. - -template void -TAO_Reconfig_Scheduler:: -map_dependency_i (RtecScheduler::handle_t key, - RtecScheduler::handle_t handle, - ACE_TYPENAME TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP &dependency_map, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::map_dependency_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - RtecScheduler::Dependency_Set *dependency_set; - - // Look up the dependency set in the passed map - if (dependency_map.find (key, dependency_set) != 0) - { - // Create a new one - ACE_NEW_THROW_EX (dependency_set, - RtecScheduler::Dependency_Set, - CORBA::NO_MEMORY ()); - ACE_CHECK; - - if (dependency_map.bind (key, dependency_set) != 0) - { - delete dependency_set; - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Insert unconditionally: there can be multiple copies - // of the same dependency, if the user so chooses. - int prev_length = dependency_set->length (); - dependency_set->length (prev_length + 1); - (*dependency_set) [prev_length].rt_info = handle; - (*dependency_set) [prev_length].rt_info_depended_on = key; // may actually be the other way around - (*dependency_set) [prev_length].number_of_calls = number_of_calls; - (*dependency_set) [prev_length].dependency_type = dependency_type; - (*dependency_set) [prev_length].enabled = enabled; -} - - -// This method removes a dependency from a dependency set map. - -template void -TAO_Reconfig_Scheduler:: -unmap_dependency_i (RtecScheduler::handle_t key, - RtecScheduler::handle_t handle, - ACE_TYPENAME TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP &dependency_map, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::unmap_dependency_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - RtecScheduler::Dependency_Set *dependency_set = 0; - - // Try to unbind the matching dependency set from the passed map - // and if successful, destroy the - if (dependency_map.find (key, dependency_set) == 0) - { - if (dependency_set) - { - int prev_length = dependency_set->length (); - int found = 0; - for (int i = 0; i < prev_length; ++i) - { - if ((*dependency_set) [i].rt_info == handle - && (*dependency_set) [i].number_of_calls == number_of_calls - && (*dependency_set) [i].dependency_type == dependency_type) - { - // we found the dependency to delete: set our - // found flag to true and compact the array - found = 1; - for (int j = i+1; j < prev_length; ++j) - { - (*dependency_set) [j - 1].rt_info = (*dependency_set) [j].rt_info; - (*dependency_set) [j - 1].number_of_calls = (*dependency_set) [j].number_of_calls; - (*dependency_set) [j - 1].dependency_type = (*dependency_set) [j].dependency_type; - (*dependency_set) [j - 1].enabled = (*dependency_set) [j].enabled; - } - dependency_set->length (prev_length - 1); - break; - } - } - - if (!found) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - else - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } -} - -// Internal method that enables or disables a dependency between two RT_Infos. -// Assumes it is being called with all locks held, and does *not* -// set any schedule stability flags. - -template void -TAO_Reconfig_Scheduler:: -map_dependency_enable_state_i (RtecScheduler::handle_t key, - RtecScheduler::handle_t handle, - ACE_TYPENAME - TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP &dependency_map, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::map_dependency_enable_state_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - RtecScheduler::Dependency_Set *dependency_set = 0; - - // Try to unbind the matching dependency set from the passed map - // and if successful, destroy the - if (dependency_map.find (key, dependency_set) == 0) - { - if (dependency_set) - { - int set_length = dependency_set->length (); - int found = 0; - for (int i = 0; i < set_length; ++i) - { - if ((*dependency_set) [i].rt_info == handle - && (*dependency_set) [i].number_of_calls == number_of_calls - && (*dependency_set) [i].dependency_type == dependency_type) - { - // we found the dependency to update - found = 1; - (*dependency_set) [i].enabled = enabled; - break; - } - } - - if (!found) - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - else - { - ACE_THROW (RtecScheduler::UNKNOWN_TASK ()); - } -} - - -// Traverses dependency graph, assigning a topological ordering. -// Resets scheduling entries, do DFS traversal, constructs DFS map. -// Fills in: dfs_status_, discovered_, finished_, is_thread_delineator_, -// has_unresolved_remote_dependencies_, has_unresolved_local_dependencies_, -template void -TAO_Reconfig_Scheduler:: -dfs_traverse_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::dfs_traverse_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - int i; // index into array of scheduling entry pointers - - // Reset registered RT_Infos. - TAO_RSE_Reset_Visitor reset_visitor; - for (i = 0; i < this->rt_info_count_; ++i) - { - if (reset_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Traverse registered RT_Infos, assigning DFS start, finish order. - TAO_RSE_DFS_Visitor - dfs_visitor (this->calling_dependency_set_map_, - this->rt_info_map_); - for (i = 0; i < this->rt_info_count_; ++i) - { - if (dfs_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } -} - - - -// Sorts an array of RT_info handles in topological order, then -// checks for loops, marks unresolved remote dependencies. -template void -TAO_Reconfig_Scheduler:: -detect_cycles_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::CYCLIC_DEPENDENCIES)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::detect_cycles_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // Sort the pointers to entries in order of descending forward - // finish times, which produces a reverse topological ordering, - // with callers ahead of called nodes. - ACE_OS::qsort (reinterpret_cast (entry_ptr_array_), - this->rt_info_count_, - sizeof (TAO_Reconfig_Scheduler_Entry *), - reinterpret_cast (RECONFIG_SCHED_STRATEGY::comp_entry_finish_times)); - - // Traverse entries in reverse topological order, - // looking for strongly connected components (cycles). - TAO_RSE_SCC_Visitor - scc_visitor (this->called_dependency_set_map_, - this->rt_info_map_); - for (int i = 0; i < this->rt_info_count_; ++i) - { - // Each new top level entry marks a potential new cycle. - scc_visitor.in_a_cycle (0); - - if (scc_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Check whether any cycles were detected. - if (scc_visitor.number_of_cycles () > 0) - { - ACE_THROW (RtecScheduler::CYCLIC_DEPENDENCIES ()); - } -} - - -// Propagates aggregate execution times, then performs admission over -// rate tuples. - -template void -TAO_Reconfig_Scheduler:: -perform_admission_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::perform_admission_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // Traverse entries in topological (ascending forward DFS - // finish time) order, propagating aggregate execution - // time from called nodes to calling node at each step. - - TAO_RSE_Reverse_Propagation_Visitor - prop_visitor (this->calling_dependency_set_map_, - this->rt_info_map_); - int i; - for (i = this->rt_info_count_ - 1; i >= 0; --i) - { - if (prop_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Sort the pointers to original tuples in ascending admission - // order, according to the scheduling strategy's admission policy. - ACE_OS::qsort (reinterpret_cast (tuple_ptr_array_), - this->rt_info_tuple_count_, - sizeof (TAO_RT_Info_Tuple *), - reinterpret_cast (RECONFIG_SCHED_STRATEGY::total_admission_comp)); - - // Traverse tuples in admission order, updating the associate tuple - // for each thread delineator. -#if defined (SCHEDULER_LOGGING) - ACE_Scheduler_Factory::log_scheduling_tuples(tuple_ptr_array_, - this->rt_info_tuple_count_, - "sorted_admit_tuples.txt"); -#endif - - TAO_Tuple_Admission_Visitor - admit_visitor (critical_utilization_threshold_, - noncritical_utilization_threshold_); - - for (i = 0; i < this->rt_info_tuple_count_; ++i) - { - if (admit_visitor.visit (* (tuple_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - - // Store the values accumulated by the visitor. - this->noncritical_utilization_ = - admit_visitor.total_noncritical_utilization (); - this->critical_utilization_ = - admit_visitor.total_critical_utilization (); -} - -template void -TAO_Reconfig_Scheduler:: -crit_dfs_traverse_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::crit_dfs_traverse_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - int i; // index into array of scheduling entry pointers - - // Reset registered RT_Infos. - TAO_RSE_Reset_Visitor reset_visitor; - for (i = 0; i < this->rt_info_count_; ++i) - { - if (reset_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Traverse registered RT_Infos, assigning DFS start, finish order. - TAO_RSE_DFS_Visitor - dfs_visitor (this->crit_dependency_set_map_, - this->rt_info_map_); - for (i = 0; i < this->rt_info_count_; ++i) - { - if (dfs_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } -} - -template void -TAO_Reconfig_Scheduler:: -propagate_criticalities_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::propagate_criticalities_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // Sort the pointers to original tuples in ascending admission - // order, according to the scheduling strategy's admission policy. - - ACE_OS::qsort (reinterpret_cast (tuple_ptr_array_), - this->rt_info_tuple_count_, - sizeof (TAO_RT_Info_Tuple *), - reinterpret_cast (RECONFIG_SCHED_STRATEGY::comp_tuple_finish_times )); - - // Traverse entries in topological (ascending forward DFS - // finish time) order, propagating aggregate execution - // time from called nodes to calling node at each step. - - TAO_RSE_Criticality_Propagation_Visitor - crit_prop_visitor (this->crit_dependency_set_map_, - this->rt_info_map_); - int i; - for (i = 0; irt_info_count_; ++i) - { - if (crit_prop_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - for (i = this->rt_info_count_-1; i>=0; --i) - { - if (crit_prop_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } -} - -// Propagates periods, sets total frame size. -template void -TAO_Reconfig_Scheduler:: -propagate_characteristics_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNRESOLVED_LOCAL_DEPENDENCIES, - RtecScheduler::THREAD_SPECIFICATION)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::propagate_characteristics_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // Traverse entries in reverse topological (descending forward DFS - // finish time) order, propagating period and effective execution - // time from calling node to called node at each step. - TAO_RSE_Forward_Propagation_Visitor - prop_visitor (this->calling_dependency_set_map_, - this->rt_info_map_); - for (int i = 0; i < this->rt_info_count_; ++i) - { - if (prop_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Check whether any unresolved local dependencies were detected. - if (prop_visitor.unresolved_locals () > 0) - { - ACE_THROW (RtecScheduler::UNRESOLVED_LOCAL_DEPENDENCIES ()); - } - - // Check whether any thread specification errors were detected. - if (prop_visitor.thread_specification_errors () > 0) - { - ACE_THROW (RtecScheduler::THREAD_SPECIFICATION ()); - } -} - -// Sort operations by urgency (done by strategy), then -// assign priorities and subpriorities in one pass. -// Sets last scheduled priority. -template void -TAO_Reconfig_Scheduler:: -assign_priorities_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)) -{ - int i; -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::assign_priorities_i.\n")); - - ACE_DEBUG ((LM_DEBUG, "Scheduler::entry ptr array before sorting is\n")); - for (i = 0; i < this->rt_info_count_; ++i) - { - RtecScheduler::RT_Info* rt_info_ptr = - this->entry_ptr_array_[i]->actual_rt_info (); - ACE_DEBUG ((LM_DEBUG, - " %s [%d] crit=%d,prio=%d,preemption_prio=%d,subprio=%d\n ", - rt_info_ptr->entry_point.in (), - rt_info_ptr->handle, - rt_info_ptr->criticality, - rt_info_ptr->priority, - rt_info_ptr->preemption_priority, - rt_info_ptr->preemption_subpriority)); - } -#endif /* SCHEDULER_LOGGING */ - - // Sort the pointers to entries in descending order - // of static priority and static subpriority, according - // to our given scheduling strategy. - ACE_OS::qsort (reinterpret_cast (entry_ptr_array_), - this->rt_info_count_, - sizeof (TAO_Reconfig_Scheduler_Entry *), - reinterpret_cast (RECONFIG_SCHED_STRATEGY::total_priority_comp)); - -#ifdef SCHEDULER_LOGGING - ACE_DEBUG ((LM_DEBUG, "Scheduler::qsorted array is\n")); - for (i = 0; i < this->rt_info_count_; ++i) - { - RtecScheduler::RT_Info* rt_info_ptr = - this->entry_ptr_array_[i]->actual_rt_info (); - ACE_DEBUG ((LM_DEBUG, - " %s [%d] crit=%d,prio=%d,preemption_prio=%d,subprio=%d\n ", - rt_info_ptr->entry_point.in (), - rt_info_ptr->handle, - rt_info_ptr->criticality, - rt_info_ptr->priority, - rt_info_ptr->preemption_priority, - rt_info_ptr->preemption_subpriority)); - } -#endif - - // Empty out the previously stored configuration infos, if any. - RtecScheduler::Preemption_Priority_t config_priority; - RtecScheduler::Config_Info *config_info_temp = 0; - while (config_info_map_.current_size () > 0) - { - config_priority = (*config_info_map_.begin ()).ext_id_; - if (config_info_map_.unbind (config_priority, config_info_temp) == 0) - { - delete config_info_temp; - } - else - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - this->config_info_count_ = 0; - - // Traverse using a priority assignment visitor, which uses a - // strategy to decide when a new priority or subpriority is reached. - TAO_RSE_Priority_Visitor - prio_visitor (this->rt_info_count_, this->entry_ptr_array_); - auto_ptr new_config_info_ptr; - for (i = 0; i <= this->rt_info_count_; ++i) - { - int result; - - if (i < this->rt_info_count_) - { - // Visit the next entry in the array. - result = prio_visitor.visit (* (this->entry_ptr_array_ [i])); - } - else - { - // Finish up after all enties in the array have been visited. - result = prio_visitor.finish (); - } - - if (result < 0) - { - // Something bad happened with the internal data structures. - ACE_THROW (RtecScheduler::INTERNAL ()); - } - else if (result == 1) - { - RtecScheduler::Config_Info* new_config_info; - ACE_NEW_THROW_EX (new_config_info, - RtecScheduler::Config_Info, - CORBA::NO_MEMORY ()); - ACE_CHECK; - - // Make sure the new config info is cleaned up if we exit abruptly. - ACE_AUTO_PTR_RESET (new_config_info_ptr, new_config_info, RtecScheduler::Config_Info); - - // Have the strategy fill in the new config info for that - // priority level, using the representative scheduling entry. - if (RECONFIG_SCHED_STRATEGY::assign_config (*new_config_info, - *(entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - - if (new_config_info->preemption_priority > - this->last_scheduled_priority_) - { - this->last_scheduled_priority_ = - new_config_info->preemption_priority; - } - - result = config_info_map_.bind (new_config_info->preemption_priority, - new_config_info); - switch (result) - { - case -1: - // Something bad but unknown occurred while trying to bind in map. - ACE_THROW (RtecScheduler::INTERNAL ()); - - case 1: - // Tried to bind an operation that was already in the map. - ACE_THROW (RtecScheduler::DUPLICATE_NAME ()); - - default: - ++this->config_info_count_; - break; - } - - // Release the auto_ptr so it does not clean - // up the sucessfully bound config info. - new_config_info_ptr.release (); - } - } -} - - -// Refreshes the array of tuple pointers, tuple pointer count. - -template void -TAO_Reconfig_Scheduler:: -refresh_tuple_ptr_array_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ -#if defined (SCHEDULER_LOGGING) - ACE_DEBUG ((LM_TRACE, - " TAO_Reconfig_Scheduler::refresh_tuple_ptr_array_i.\n")); -#endif /* SCHEDULER_LOGGING */ - - // Zero out the tuple pointer array, set count to zero - ACE_OS::memset (this->tuple_ptr_array_, 0, - sizeof (TAO_RT_Info_Tuple *) - * this->tuple_ptr_array_size_); - this->rt_info_tuple_count_ = 0; - - for (int i = 0; i < this->rt_info_count_; ++i) - { - if (entry_ptr_array_ [i]->register_tuples (this->tuple_ptr_array_, - this->rt_info_tuple_count_) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } -} - -// Accesses scheduling strategy for the reconfig scheduler. - -template RECONFIG_SCHED_STRATEGY & -TAO_Reconfig_Scheduler::sched_strategy () -{ - return this->sched_strategy_; -} - - -// Accesses map for O(1) lookup of Config_Infos by priority level. - -template -ACE_TYPENAME TAO_Reconfig_Scheduler::CONFIG_INFO_MAP & -TAO_Reconfig_Scheduler::config_info_map () -{ - return this->config_info_map_; -} - - -// Returns the number of config infos, which is also the number of -// assigned priority levels. - -template long -TAO_Reconfig_Scheduler::config_info_count () -{ - return this->config_info_count_; -} - - -// Accesses map for O(1) lookup of RT_Infos by handle. - -template -ACE_TYPENAME TAO_Reconfig_Scheduler::RT_INFO_MAP & -TAO_Reconfig_Scheduler::rt_info_map () -{ - return this->rt_info_map_; -} - - -// Returns the number of registered RT_Infos. - -template long -TAO_Reconfig_Scheduler::rt_info_count () -{ - return this->rt_info_count_; -} - -// Returns the number of registered RT_Info tuples. - -template long -TAO_Reconfig_Scheduler::rt_info_tuple_count () -{ - return this->rt_info_tuple_count_; -} - - -// Accesses tree for O(log n) lookup of RT_Infos by name. - -template -ACE_TYPENAME TAO_Reconfig_Scheduler::RT_INFO_TREE & -TAO_Reconfig_Scheduler::rt_info_tree () -{ - return this->rt_info_tree_; -} - - -// Accesses map for O(1) lookup of RT_Info dependency -// set by the caller operation's handle. - -template -ACE_TYPENAME TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP & -TAO_Reconfig_Scheduler::calling_dependency_set_map () -{ - return this->calling_dependency_set_map_; -} - - -// Accesses map for O(1) lookup of RT_Info dependency -// set by the called operation's handle. - -template -ACE_TYPENAME TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP & -TAO_Reconfig_Scheduler::called_dependency_set_map () -{ - return this->called_dependency_set_map_; -} - - -// Returns the number of dependencies in the dependency lists of all RT_Infos. -// This is used when traversing the dependency graph. - -template int -TAO_Reconfig_Scheduler::dependency_count () -{ - return this->dependency_count_; -} - -// Accessor for utilization by noncritical tasks. -template -CORBA::Double -TAO_Reconfig_Scheduler:: -noncritical_utilization () -{ - return noncritical_utilization_; -} - -// Accessor for utilization by critical tasks. -template -CORBA::Double -TAO_Reconfig_Scheduler:: -critical_utilization () -{ - return critical_utilization_; -} - -// Accessor for noncritical task utilization threshold. -template -CORBA::Double -TAO_Reconfig_Scheduler:: -noncritical_utilization_threshold () -{ - return noncritical_utilization_threshold_; -} - -// Mutator for noncritical task utilization threshold. -template -void -TAO_Reconfig_Scheduler:: -noncritical_utilization_threshold (const CORBA::Double &d) -{ - noncritical_utilization_threshold_ = d; -} - -// Accessor for critical task utilization threshold. -template -CORBA::Double -TAO_Reconfig_Scheduler:: -critical_utilization_threshold () -{ - return critical_utilization_threshold_; -} - -// Mutator for critical task utilization threshold. -template -void -TAO_Reconfig_Scheduler:: -critical_utilization_threshold (const CORBA::Double &d) -{ - critical_utilization_threshold_ = d; -} - - -// Helper function: makes sure there is room in the scheduling pointer -// arrays. This function expands the array eagerly, to minimize -// memory allocation overhead. - -template void -maintain_scheduling_array (ARRAY_ELEMENT_TYPE ** & current_ptr_array, - long & current_ptr_array_size, - RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (current_ptr_array_size <= handle) - { - long new_size = handle + 1; - ARRAY_ELEMENT_TYPE ** new_array; - - if (current_ptr_array_size > 0) - { - // Store previous array size. - for (new_size = 2 * current_ptr_array_size; - new_size <= handle; - new_size *= 2); - } - - // Allocate the new array of the proper size, zero it out. - - ACE_NEW_THROW_EX (new_array, - ARRAY_ELEMENT_TYPE * [new_size], - CORBA::NO_MEMORY ()); - - ACE_OS::memset (new_array, 0, - sizeof (ARRAY_ELEMENT_TYPE *) * - new_size); - - if (current_ptr_array_size > 0) - { - // Copy in the previous array. - ACE_OS::memcpy (new_array, current_ptr_array, - sizeof (ARRAY_ELEMENT_TYPE *) * - current_ptr_array_size); - - // Free the old array and swap to point to the new one. - delete [] current_ptr_array; - } - - current_ptr_array = new_array; - current_ptr_array_size = new_size; - } -} - -/* WSOA merge - commented out -// Compute utilization, set last feasible priority. -template void - -TAO_Reconfig_Scheduler:: -compute_utilization_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)) -{ - TAO_RSE_Utilization_Visitor util_visitor; - for (int i = 0; i < this->rt_info_count_; ++i) - { - if (util_visitor.visit (* (entry_ptr_array_ [i])) < 0) - { - ACE_THROW (RtecScheduler::INTERNAL ()); - } - } - - // Store the values accumulated by the visitor. - this->noncritical_utilization_ = - util_visitor.noncritical_utilization (); - this->critical_utilization_ = - util_visitor.critical_utilization (); -} - - -// Static helper method to give an RT_Info some reasonable default values. - -template void -TAO_Reconfig_Scheduler::init_rt_info (RtecScheduler::RT_Info &rt_info) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Set some reasonable default values. - rt_info.criticality = RtecScheduler::VERY_LOW_CRITICALITY; - rt_info.worst_case_execution_time = 0; - rt_info.typical_execution_time = 0; - rt_info.cached_execution_time = 0; - rt_info.period = 1; - rt_info.importance = RtecScheduler::VERY_LOW_IMPORTANCE; - rt_info.quantum = 0; - rt_info.threads = 0; - rt_info.info_type = RtecScheduler::OPERATION; - rt_info.priority = 0; - rt_info.preemption_subpriority = 0; - rt_info.preemption_priority = 0; - rt_info.volatile_token = 0; -} - -*/ - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_RECONFIG_SCHEDULER_T_C */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h deleted file mode 100644 index ec7f53542bb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h +++ /dev/null @@ -1,777 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Reconfig_Scheduler_T.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef TAO_RECONFIG_SCHEDULER_T_H -#define TAO_RECONFIG_SCHEDULER_T_H -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#include "orbsvcs/Sched/Reconfig_Scheduler.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -template -class TAO_Reconfig_Scheduler : - public POA_RtecScheduler::Scheduler - // = TITLE - // A servant for RtecScheduler::Scheduler that can be initialized - // and run solely with precomputed scheduling information, but is also - // designed to perform efficient recomputation of scheduling info - // in the face of run-time changes to RT_Infos in the schedule. - // - // = DESCRIPTION - // This class implements the TAO scheduling service. It has - // the ability to accept and use precomputed scheduling information - // with deterministic performance once the schedule is fully configured. - // It also provides efficient and flexible lookup and computation - // during schedule configuration, so that it can be used during - // both schedule configuration and run-time phases of operation. - // -{ -public: - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_LOCK> RT_INFO_MAP; - // Type of map used for O(1) lookup of RT_Infos by their handles. - - typedef ACE_RB_Tree, - ACE_LOCK> RT_INFO_TREE; - // Type of tree used for O(log n) lookup of RT_Infos by their names. - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_LOCK> CONFIG_INFO_MAP; - // Type of map used for O(1) lookup of Config_Infos by their priorities. - - typedef ACE_Hash_Map_Manager_Ex, - ACE_Equal_To, - ACE_LOCK> DEPENDENCY_SET_MAP; - // Type of map used for O(1) lookup of RT_Info - // dependency sets by caller or called handle. - - typedef typename DEPENDENCY_SET_MAP::ITERATOR DEPENDENCY_SET_MAP_ITERATOR; - // Type of iterator for traversal of RT_Info dependency sets by - // caller or called handle. - - TAO_Reconfig_Scheduler (int enforce_schedule_stability = 0, - const CORBA::Double & critical_utilization_threshold = 1.0, - const CORBA::Double & noncritical_utilization_threshold = 1.1); - // Default constructor. - - TAO_Reconfig_Scheduler (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int entry_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[], - int dependency_count, - ACE_Scheduler_Factory::POD_Dependency_Info dependency_info[], - u_long stability_flags, - int enforce_schedule_stability = 0, - const CORBA::Double & critical_utilization_threshold = 1.0, - const CORBA::Double & noncritical_utilization_threshold = 1.1); - // Constructor. Initialize the scheduler from POD_Config_Info, POD_RT_Info, - // and POD_Dependency arrays, plus schedule stability flags. - - ~TAO_Reconfig_Scheduler (); - // Destructor. - - int init (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int rt_info_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[], - int dependency_count, - ACE_Scheduler_Factory::POD_Dependency_Info dependency_info[], - u_long stability_flags - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Initializes the scheduler with the passed information. - - void close (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Closes the scheduler, releasing all current resources. - - virtual RtecScheduler::handle_t create (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Create an RT_Info. If it does not exist, a new RT_Info is - // created and inserted into the schedule, and the handle of the new - // RT_Info is returned. If the RT_Info already exists, an exception - // is thrown. - - virtual RtecScheduler::handle_t lookup (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Lookup a handle for an RT_Info, and return its handle, or an error - // value if it's not present. - - virtual RtecScheduler::RT_Info* get (RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Return a pointer to the RT_Info corresponding to the passed handle. - - virtual void set (::RtecScheduler::handle_t handle, - ::RtecScheduler::Criticality_t criticality, - ::RtecScheduler::Time time, - ::RtecScheduler::Time typical_time, - ::RtecScheduler::Time cached_time, - ::RtecScheduler::Period_t period, - ::RtecScheduler::Importance_t importance, - ::RtecScheduler::Quantum_t quantum, - ::RtecScheduler::Threads_t threads, - ::RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Set characteristics of the RT_Info corresponding to the passed handle. - - virtual void reset (RtecScheduler::handle_t handle, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Reset characteristics of the RT_Info corresponding to the passed handle. - - virtual void set_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Set characteristics of the RT_Infos corresponding to the passed handles. - // Tuples are added in the case of existing and/or multiple definitions. - - virtual void reset_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Reset characteristics of the RT_Infos corresponding to the passed handles. - // Tuples are replaced in the case of existing and/or multiple definitions. - - virtual void replace_seq (const RtecScheduler::RT_Info_Set& infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::INTERNAL, - RtecScheduler::SYNCHRONIZATION_FAILURE)); - // Replace all RT_Infos, resetting characteristics of the RT_Infos - // corresponding to the passed handles. All other RT_Infos are - // reset to their uninitialized values, i.e., the same they have - // just after the create call. - - virtual void priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)); - // Returns the priority and subpriority values assigned to an RT_Info, - // based on its handle. - - virtual void entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)); - // Returns the priority and subpriority values assigned to an RT_Info, - // based on its entry point name. - - virtual void add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method registers a dependency between two RT_Infos. - - virtual void remove_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method removes a dependency between two RT_Infos. - - virtual void set_dependency_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method sets the enable state of a dependency between two RT_Infos. - - virtual void set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_TASK)); - // This method sets the enable state of a sequence of dependencies. - - virtual void set_rt_info_enable_state (RtecScheduler::handle_t handle, - RtecScheduler::RT_Info_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // This method enables or disables an RT_Info. - - virtual void set_rt_info_enable_state_seq (const RtecScheduler::RT_Info_Enable_State_Pair_Set & pair_set - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // This method enables or disables a sequence of RT_Infos. - - virtual void compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - RtecScheduler::Dependency_Set_out dependencies, - RtecScheduler::Config_Info_Set_out configs, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)); - // If information has been added or changed since the last stable - // schedule was computed, this method causes scheduling information - // to be computed for all registered RT_Infos. If the schedule is - // already stable, this is a no-op. - - virtual void recompute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::Scheduling_Anomaly_Set_out anomalies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)); - // Recomputes the scheduling priorities, etc. - - virtual void get_rt_info_set (RtecScheduler::RT_Info_Set_out infos - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - virtual void get_dependency_set (RtecScheduler::Dependency_Set_out dependencies - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of rt_infos, with their assigned priorities (as - // of the last schedule re-computation). - - virtual void get_config_info_set (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL)); - // Returns the set of config_infos, describing the appropriate - // number, types, and priority levels for the dispatching lanes. - - - virtual void dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Dispatching_Type_t & d_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::NOT_SCHEDULED, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::UNKNOWN_PRIORITY_LEVEL)); - // Provides the thread priority and queue type for the given priority level. - - virtual RtecScheduler::Preemption_Priority_t last_scheduled_priority (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)); - // Returns the last priority number assigned to an operation in the - // schedule. The number returned is one less than the total number - // of scheduled priorities. All scheduled priorities range from 0 - // to the number returned, inclusive. - - virtual void get_config_infos (RtecScheduler::Config_Info_Set_out configs - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::NOT_SCHEDULED)); - // Provides the set of Config_Infos associated with the current schedule. - - // = Accessors that allow controlled relaxations of encapsulation. - - RECONFIG_SCHED_STRATEGY & sched_strategy (); - // Accesses scheduling strategy for the reconfig scheduler. - - CONFIG_INFO_MAP & config_info_map (); - // Accesses map for O(1) lookup of Config_Infos by priority level. - - long config_info_count (); - // Returns the number of config infos, which is also the number of - // assigned priority levels. - - RT_INFO_MAP & rt_info_map (); - // Accesses map for O(1) lookup of RT_Infos by handle. - - long rt_info_count (); - // Returns the number of registered RT_Infos. - - long rt_info_tuple_count (); - // Returns the number of registered RT_Info tuples. - - RT_INFO_TREE & rt_info_tree (); - // Accesses tree for O(log n) lookup of RT_Infos by name. - - DEPENDENCY_SET_MAP & calling_dependency_set_map (); - // Accesses map for O(1) lookup of RT_Info dependency - // set by the caller operation's handle. - - DEPENDENCY_SET_MAP & called_dependency_set_map (); - // Accesses map for O(1) lookup of RT_Info dependency - // set by the called operation's handle. - - int dependency_count (); - // Returns the number of dependencies in the dependency lists of all RT_Infos. - // This is used when traversing the dependency graph. - - CORBA::Double noncritical_utilization (); - // Accessor for utilization by noncritical tasks. - - CORBA::Double critical_utilization (); - // Accessor for utilization by critical tasks. - - CORBA::Double noncritical_utilization_threshold (); - // Accessor for noncritical task utilization threshold. - - void noncritical_utilization_threshold (const CORBA::Double &); - // Mutator for noncritical task utilization threshold. - - CORBA::Double critical_utilization_threshold (); - // Accessor for critical task utilization threshold. - - void critical_utilization_threshold (const CORBA::Double &); - // Mutator for critical task utilization threshold. - -protected: - - // @@ TO DO: use a memento to save and restore scheduler state without - // breaking encapsulation, particularly of these flags. - - // @@ TO DO: Recheck the applicability and fine-grain management of - // these flags. Do these still correctly reflect the phases - // of the computation? - - enum Stability_Flags - { - // This should always be zero. - SCHED_ALL_STABLE = 0x00UL, - - // Individual stability flags, each of - // which should have a distinct bit value. - - // Utilization may need to be recomputed. - SCHED_UTILIZATION_NOT_STABLE = 0x01UL, - - // Priorities may need to be recomputed. - SCHED_PRIORITY_NOT_STABLE = 0x02UL, - - // Characteristics may need to be repropagated. - SCHED_PROPAGATION_NOT_STABLE = 0x04UL, - - // This should be the disjunction of - // all the individual stability flags. - SCHED_NONE_STABLE = - SCHED_UTILIZATION_NOT_STABLE | - SCHED_PRIORITY_NOT_STABLE | - SCHED_PROPAGATION_NOT_STABLE - }; - // Flags indicating stability conditions of schedule. - - TAO_RT_Info_Ex * create_i (const char * entry_point, - RtecScheduler::handle_t handle, - int ignore_duplicates - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME, - RtecScheduler::INTERNAL)); - // Internal method to create an RT_Info. If it does not exist, a - // new RT_Info is created and inserted into the schedule, and the - // handle of the new RT_Info is returned. If the RT_Info already - // exists, then if the ignore_duplicates flag is set, the handle - // is simply returned; otherwise, an exception is thrown. - - void set_i (TAO_RT_Info_Ex *rt_info, - RtecScheduler::Criticality_t criticality, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads, - RtecScheduler::Info_Type_t info_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Internal method to set characteristics of the passed RT_Info. - - virtual RtecScheduler::handle_t lookup_i (const char * entry_point - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - // Internal method to look up a handle for an RT_Info, and return - // its handle, or an exception if it's not present. - - virtual void priority_i (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& o_priority, - RtecScheduler::Preemption_Subpriority_t& p_subpriority, - RtecScheduler::Preemption_Priority_t& p_priority - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - // Internal method to return the priority and subpriority - // values assigned to an RT_Info, based on its handle. - - virtual void add_dependency_i (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // Internal method that registers a dependency between two RT_Infos. - // Assumes it is being called with all locks held, and does *not* - // set any schedule stability flags. - - virtual void remove_dependency_i (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // Internal method that removes a dependency between two RT_Infos. - // Assumes it is being called with all locks held, and does *not* - // set any schedule stability flags. - - virtual void set_dependency_enable_state_i (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::SYNCHRONIZATION_FAILURE, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // Internal method that enables or disables a dependency between two RT_Infos. - // Assumes it is being called with all locks held, and does *not* - // set any schedule stability flags. - - - virtual void map_dependency_i - (RtecScheduler::handle_t key, - RtecScheduler::handle_t handle, - ACE_TYPENAME TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP &dependency_map, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // This method installs a dependency in a dependency set map. - - void unmap_dependency_i (RtecScheduler::handle_t key, - RtecScheduler::handle_t handle, - ACE_TYPENAME TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP &dependency_map, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // This method removes a dependency from a dependency set map. - - void map_dependency_enable_state_i (RtecScheduler::handle_t key, - RtecScheduler::handle_t handle, - ACE_TYPENAME - TAO_Reconfig_Scheduler::DEPENDENCY_SET_MAP &dependency_map, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type, - RtecScheduler::Dependency_Enabled_Type_t enabled - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNKNOWN_TASK)); - // This method updates the enable state of a dependency in a dependency set map. - - virtual void dfs_traverse_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Traverses dependency graph, assigning a topological ordering. - // Resets DFS map entries, do DFS traversal, constructs DFS map. - - virtual void detect_cycles_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::CYCLIC_DEPENDENCIES)); - // Sorts an array of RT_info handles in topological order, then - // checks for loops, marks unresolved remote dependencies. - - void perform_admission_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Compute aggregate execution times, then performs admission over - // rate tuples. - - - void crit_dfs_traverse_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Traverses criticality dependency graph, assigning a topological - // ordering. Resets DFS map entries, do DFS traversal, constructs - // DFS map. - - - void propagate_criticalities_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Propagates criticalities. - - - void propagate_characteristics_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::UNRESOLVED_LOCAL_DEPENDENCIES, - RtecScheduler::THREAD_SPECIFICATION)); - // Propagates effective execution time and period, sets total frame size. - - virtual void assign_priorities_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL, - RtecScheduler::DUPLICATE_NAME)); - // Sort operations by urgency (done by strategy), then assign - // priorities and subpriorities in one pass. (Re)computes utilization - // and sets last scheduled priority and last feasible priority. - - void refresh_tuple_ptr_array_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Refreshes the array of tuple pointers, corrects the count. - -/* WSOA merge - commented out - virtual void compute_utilization_i (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::INTERNAL)); - // Compute utilization, set last feasible priority. - - - static void init_rt_info (RtecScheduler::RT_Info &rt_info) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Helper method to give an RT_Info some reasonable default values -*/ - // = Protected class members. - - RECONFIG_SCHED_STRATEGY sched_strategy_; - // Scheduling strategy for the reconfig scheduler. - - CONFIG_INFO_MAP config_info_map_; - // Map for O(1) lookup of Config_Infos by priority level. - - long config_info_count_; - // The number of config infos, which is also the number of priority - // levels. - - RT_INFO_MAP rt_info_map_; - // Map for O(1) lookup of RT_Infos by handle. - - long rt_info_count_; - // The number of registered RT_Infos. - - long rt_info_tuple_count_; - // The number of registered RT_Info tuples. - - RT_INFO_TREE rt_info_tree_; - // Tree for O(log n) lookup of RT_Infos by name. - - DEPENDENCY_SET_MAP calling_dependency_set_map_; - // Map for O(1) lookup of RT_Info dependency - // set by the caller operation's handle. - - DEPENDENCY_SET_MAP called_dependency_set_map_; - // Map for O(1) lookup of RT_Info dependency - // set by the called operation's handle. - - DEPENDENCY_SET_MAP crit_dependency_set_map_; - // Map for O(1) lookup of RT_Info dependency set. The above two maps - // store the calling and called dependencies. This map stores the - // true dependencies based on criticality propagation direction. For - // two-ways, this is the same as the direction of invocation, - // whereas for one-ways, it is in the opposite direction. - - RtecScheduler::handle_t next_handle_; - // Next RT_Info descriptor handle to allocate. The first handle is - // always 1. - - TAO_Reconfig_Scheduler_Entry ** entry_ptr_array_; - // Array of pointers to scheduling entries. This - // array is maintained by the methods that create - // scheduling entries, and sorted in topological - // order and then priority order at various points - // during schedule computation. - - long entry_ptr_array_size_; - // Size of the array of scheduling entry pointers. - - TAO_RT_Info_Tuple ** tuple_ptr_array_; - // Array of pointers to scheduling entries. This - // array is maintained by the methods that create - // scheduling entries, and sorted in topological - // order and then priority order at various points - // during schedule computation. - - long tuple_ptr_array_size_; - // Size of the array of scheduling entry pointers. - - u_long stability_flags_; - // Flags indicating whether a stable schedule has been computed - // since the last addition or modification of information, and which - // parts of the schedule are unstable. - - int enforce_schedule_stability_; - // Indicates whether the scheduler should enforce stability by - // throwing an exception: otherwise for operations where this - // matters, it will simply return a default value if nothing - // has been generated. - - int dependency_count_; - // The number of dependencies in the dependency lists of all RT_Infos. - // This is used when traversing the dependency graph. - - RtecScheduler::Preemption_Priority_t last_scheduled_priority_; - // Stores the last priority for which an operation can be scheduled - - CORBA::Double noncritical_utilization_; - // Utilization by noncritical tasks. - - CORBA::Double critical_utilization_; - // Utilization by critical tasks. - - CORBA::Double noncritical_utilization_threshold_; - // Utilization by noncritical tasks. - - CORBA::Double critical_utilization_threshold_; - // Utilization by critical tasks. - - ACE_LOCK mutex_; - // Mutual exclusion lock for the scheduler itself. This is needed to - // synchronize updates and accesses to scheduling information. -}; - - -template void -maintain_scheduling_array (ARRAY_ELEMENT_TYPE ** & current_ptr_array, - long & current_ptr_array_size, - RtecScheduler::handle_t handle - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); -// Helper function: makes sure there is room in the scheduling pointer -// arrays. This function expands the array eagerly, to minimize time -// overhead for memory allocation (at a cost of some unused space). - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Sched/Reconfig_Scheduler_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Reconfig_Scheduler_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - - -#include /**/ "ace/post.h" -#endif /* TAO_RECONFIG_SCHEDULER_T_H */ diff --git a/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.cpp b/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.cpp deleted file mode 100644 index 5dc53ae9ffb..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.cpp +++ /dev/null @@ -1,938 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// SchedEntry.cpp -// -// = CREATION DATE -// 7 February 1998 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#include "orbsvcs/Sched/SchedEntry.h" -#include "ace/SString.h" -#include "ace/OS_NS_stdio.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Sched/SchedEntry.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Sched, SchedEntry, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -Task_Entry::Task_Entry (void) - : rt_info_ (0), - effective_period_(0), - dfs_status_ (NOT_VISITED), - discovered_ (-1), - finished_ (-1), - is_thread_delineator_ (0), - has_unresolved_remote_dependencies_ (0), - has_unresolved_local_dependencies_ (0), - calls_ (), - callers_ () -{ -} - -Task_Entry::~Task_Entry (void) -{ - // Zero out the task entry ACT in the corresponding rt_info - rt_info_->volatile_token = 0; - - ACE_Unbounded_Set_Iterator iter(calls_); - Task_Entry_Link **link = 0; - - // Iterate through the "calls" set of Task Entry Links and free each one - - for (iter.first (); - ! iter.done (); - iter.advance (), link = 0) - { - if (iter.next (link) != 0 && link != 0 && *link != 0) - { - // remove the link object pointer from the calling entry's - // "callers" set and destroy the link object - (*link)->called ().callers_.remove (*link); - delete (*link); - } - } -} - -// Merge dispatches according to info type and type of call, update -// relevant scheduling characteristics for this entry. - -Task_Entry::Propagation_Status -Task_Entry::merge_dispatches (ACE_Unbounded_Set &dispatch_entries, - ACE_CString &unresolved_locals, - ACE_CString &unresolved_remotes) -{ - Task_Entry::Propagation_Status result = SUCCEEDED; - switch (info_type ()) - { - case RtecScheduler::DISJUNCTION: - - // Prohibit two-way dispatches of a disjunction group, and - // disjunctively merge its one-way dispatches. NOTE: one - // interpretation of disjunction for two-way calls is that the - // caller calls one OR the other, but this is problematic: how - // do we map the dispatches for this ? - if (prohibit_dispatches (RtecBase::TWO_WAY_CALL) < 0) - result = TWO_WAY_DISJUNCTION; - - if (disjunctive_merge (RtecBase::ONE_WAY_CALL, - dispatch_entries, - unresolved_locals, - unresolved_remotes) < 0) - result = INTERNAL_ERROR; - break; - - case RtecScheduler::CONJUNCTION: - - // Prohibit two-way dispatches of a conjunction group, - // and conjunctively merge its one-way dispatches. - // NOTE: one interpretation of disjunction for two-way calls - // is that the caller calls BOTH, so that there is a - // disjunctive merge of each two-way, as for the OPERATION - // (prohibit for now, as the additional complexity of allowing - // conjunctions of two-ways, but not disjunctions does not - // buy us anything, anyway). - if (prohibit_dispatches (RtecBase::TWO_WAY_CALL) < 0) - result = TWO_WAY_CONJUNCTION; - if (conjunctive_merge (RtecBase::ONE_WAY_CALL, - dispatch_entries, - unresolved_locals, - unresolved_remotes) < 0) - result = INTERNAL_ERROR; - break; - - case RtecScheduler::OPERATION: - case RtecScheduler::REMOTE_DEPENDANT: - - // Disjunctively merge the operation's two-way dispatches, and - // conjunctively merge its one-way dispatches. - if (disjunctive_merge (RtecBase::TWO_WAY_CALL, - dispatch_entries, - unresolved_locals, - unresolved_remotes) < 0) - result = INTERNAL_ERROR; - if (conjunctive_merge (RtecBase::ONE_WAY_CALL, - dispatch_entries, - unresolved_locals, - unresolved_remotes) < 0) - result = INTERNAL_ERROR; - break; - - default: - - // There should not be any other kind of RT_Info, or if there - // is, the above switch logic is in need of repair. - result = UNRECOGNIZED_INFO_TYPE; - break; - } - - return result; -} - -// Prohibit calls of the given type: currently used to enforce the -// notion that two-way calls to disjunctive or conjunctive RT_Infos do -// not have any defined meaning, and thus should be considered -// dependency specification errors: if these constraints are removed -// in the future, this method should be removed as well Returns 0 if -// all is well, or -1 if an error has occurred. - -int -Task_Entry::prohibit_dispatches (Dependency_Type dt) -{ - // Iterate over the set of dependencies, ensuring none of them has - // the given dependency type. - for (ACE_Unbounded_Set_Iterator iter (callers_); - ! iter.done (); - iter.advance ()) - { - Task_Entry_Link **link; - - if (iter.next (link) == 0 - || link == 0 - || *link == 0 - || (*link)->dependency_type () == dt) - return -1; - } - - return 0; -} - -// Perform disjunctive merge of arrival times of oneway calls: all -// arrival times of all dependencies are duplicated by the multiplier -// and repetition over the new frame size. - -int -Task_Entry::disjunctive_merge (Dependency_Type dt, - ACE_Unbounded_Set &dispatch_entries, - ACE_CString &unresolved_locals, - ACE_CString &unresolved_remotes) -{ - char string_buffer[BUFSIZ]; - - // Iterate over the set of dependencies, merging dispatches of the - // callers over the enclosing frame size. - for (ACE_Unbounded_Set_Iterator iter (callers_); - ! iter.done (); - iter.advance ()) - { - Task_Entry_Link **link; - - if (iter.next (link) == 0 - || link == 0 - || *link == 0) - return -1; - - // The link matches the dependency type given - if ((*link)->dependency_type () == dt) - { - // Check for and warn about unresolved remote dependencies - // in the ONE_WAY call graph. - if ((*link)->dependency_type () == RtecBase::ONE_WAY_CALL - && (*link)->caller ().has_unresolved_remote_dependencies () - && ! this->has_unresolved_remote_dependencies ()) - { - // Propagate the unresolved remote dependency flag, and - // issue a debug scheduler warning. - this->has_unresolved_remote_dependencies (1); - ACE_DEBUG ((LM_DEBUG, - "Warning: an operation identified by " - "\"%s\" has unresolved remote dependencies.\n", - (const char*) this->rt_info ()->entry_point)); - - // Record entry point in list of unresolved remote - // dependencies - ACE_OS::sprintf (string_buffer, - "// %s\n", - (const char*) this->rt_info ()->entry_point); - unresolved_remotes += - ACE_CString (string_buffer); - - } - - // Check for and warn about unresolved local dependencies in - // the ONE_WAY call graph. - if ((*link)->dependency_type () == RtecBase::ONE_WAY_CALL - && (*link)->caller ().has_unresolved_local_dependencies () - && ! this->has_unresolved_local_dependencies ()) - { - // Propagate the unresolved local dependency flag, and - // issue a debug scheduler warning. - this->has_unresolved_local_dependencies (1); - ACE_DEBUG ((LM_DEBUG, - "Warning: an operation identified by " - "\"%s\" has unresolved local dependencies.\n", - (const char*) this->rt_info ()->entry_point)); - - // Record entry point in list of unresolved local - // dependencies - ACE_OS::sprintf (string_buffer, - "// %s\n", - (const char*) this->rt_info ()->entry_point); - unresolved_locals += - ACE_CString (string_buffer); - } - - // Merge the caller's dispatches into the current set. - if (merge_frames (dispatch_entries, - *this, - dispatches_, - (*link)->caller ().dispatches_, effective_period_, - (*link)->caller ().effective_period_, - (*link)->number_of_calls ()) < 0) - return -1; - } - } - - return 0; -} - -// Perform conjunctive merge of arrival times of calls: all arrival -// times of all dependencies are duplicated by the multiplier and -// repetition over the new frame size and then iteratively merged by -// choosing the maximal arrival time at the current position in each -// queue (iteration is in lockstep over all queues, and ends when any -// queue ends). - -int -Task_Entry::conjunctive_merge (Dependency_Type dt, - ACE_Unbounded_Set &dispatch_entries, - ACE_CString &unresolved_locals, - ACE_CString &unresolved_remotes) -{ - int result = 0; - char string_buffer [BUFSIZ]; - - // Iterate over the dependencies, and determine the total frame - // size. - - u_long frame_size = 1; - - ACE_Unbounded_Set_Iterator dep_iter (callers_); - - for (dep_iter.first (); - dep_iter.done () == 0; - dep_iter.advance ()) - { - Task_Entry_Link **link; - - if (dep_iter.next (link) == 0 - || link == 0 - || *link == 0) - return -1; - - // The link matches the dependency type given. - if ((*link)->dependency_type () == dt) - { - // Check for and warn about unresolved remote dependencies - // in the ONE_WAY call graph. - if ((*link)->dependency_type () == RtecBase::ONE_WAY_CALL - && (*link)->caller ().has_unresolved_remote_dependencies () - && ! this->has_unresolved_remote_dependencies ()) - { - // Propagate the unresolved remote dependency flag, and - // issue a debug scheduler warning. - this->has_unresolved_remote_dependencies (1); - ACE_DEBUG ((LM_DEBUG, - "Warning: an operation identified by " - "\"%s\" has unresolved remote dependencies.\n", - (const char*) this->rt_info ()->entry_point)); - - // Record entry point in list of unresolved remote - // dependencies - ACE_OS::sprintf (string_buffer, - "// %s\n", - (const char*) this->rt_info ()->entry_point); - unresolved_remotes += - ACE_CString (string_buffer); - } - - // Check for and warn about unresolved local dependencies in - // the ONE_WAY call graph. - if ((*link)->dependency_type () == RtecBase::ONE_WAY_CALL - && (*link)->caller ().has_unresolved_local_dependencies () - && ! this->has_unresolved_local_dependencies ()) - { - // Propagate the unresolved local dependency flag, and - // issue a debug scheduler warning. - this->has_unresolved_local_dependencies (1); - ACE_DEBUG ((LM_DEBUG, - "Warning: an operation identified by " - "\"%s\" has unresolved local dependencies.\n", - (const char*) this->rt_info ()->entry_point)); - - // Record entry point in list of unresolved local dependencies - ACE_OS::sprintf (string_buffer, - "// %s\n", - (const char*) this->rt_info ()->entry_point); - unresolved_locals += - ACE_CString (string_buffer); - } - - frame_size = ACE::minimum_frame_size (frame_size, - (*link)->caller ().effective_period_); - } - } - - // Reframe dispatches in the set to the new frame size (expands the - // set's effective period to be the new enclosing frame). - if (reframe (dispatch_entries, - *this, dispatches_, - effective_period_, - frame_size) < 0) - return -1; - - // A container and iterator for virtual dispatch sets over which the - // conjunction will operate - ACE_Ordered_MultiSet conj_set; - ACE_Ordered_MultiSet_Iterator conj_set_iter (conj_set); - - // Iterate over the dependencies, and for each of the given call - // type, create a Dispatch_Proxy_Iterator for the caller's dispatch - // set, using the caller's period, the total frame size, and the - // number of calls: if any of the sets is empty, just return 0; - for (dep_iter.first (); - dep_iter.done () == 0; - dep_iter.advance ()) - { - Task_Entry_Link **link; - if (dep_iter.next (link) == 0 - || link == 0 - || *link == 0) - return -1; - - // The link matches the dependency type given. - if ((*link)->dependency_type () == dt) - { - Dispatch_Proxy_Iterator *proxy_ptr; - ACE_NEW_RETURN (proxy_ptr, - Dispatch_Proxy_Iterator ((*link)->caller ().dispatches_, - (*link)->caller ().effective_period_, - frame_size, - (*link)->number_of_calls ()), - -1); - - // If there are no entries in the virtual set, we're done. - if (proxy_ptr->done ()) - return 0; - else if (conj_set.insert (proxy_ptr, conj_set_iter) < 0) - return -1; - } - } - - // loop, adding conjunctive dispatches, until one of the conjunctive - // dispatch sources runs out of entries over the total frame - conj_set_iter.first (); - int more_dispatches = (conj_set_iter.done ()) ? 0 : 1; - while (more_dispatches) - { - Time arrival = 0; - Time deadline = 0; - Preemption_Priority priority = 0; - OS_Priority OS_priority = 0; - - for (conj_set_iter.first (); - conj_set_iter.done () == 0; - conj_set_iter.advance ()) - { - // initialize to earliest arrival and deadline, and highest priority - arrival = 0; - deadline = 0; - priority = 0; - OS_priority = 0; - - // Policy: conjunctively dispatched operations get the - // latest deadline of any of the dispatches in the - // conjunction at the time they were dispatched - when and - // if it is useful to change any of the merge policies, this - // should be one of the decisions factored out into the - // conjunctive merge strategy class. - - // Policy: conjunctively dispatched operations get the - // lowest priority of any of the dispatches in the - // conjunction at the time they were dispatched - when and - // if it is useful to change any of the merge policies, this - // should be one of the decisions factored out into the - // conjunctive merge strategy class. - - // Obtain a pointer to the current dispatch proxy iterator. - Dispatch_Proxy_Iterator **proxy_iter; - if (conj_set_iter.next (proxy_iter) == 0 - || proxy_iter == 0 - || *proxy_iter == 0) - return -1; - - // Use latest arrival, latest deadline, lowest priority (0 is highest). - if (arrival <= (*proxy_iter)->arrival ()) - arrival = (*proxy_iter)->arrival (); - if (deadline <= (*proxy_iter)->deadline ()) - deadline = (*proxy_iter)->deadline (); - if (priority <= (*proxy_iter)->priority ()) - { - priority = (*proxy_iter)->priority (); - OS_priority = (*proxy_iter)->OS_priority (); - } - - (*proxy_iter)->advance (); - - if ((*proxy_iter)->done ()) - more_dispatches = 0; - } - - Dispatch_Entry *entry_ptr; - ACE_NEW_RETURN (entry_ptr, - Dispatch_Entry (arrival, - deadline, - priority, - OS_priority, - *this), - -1); - - // If even one new dispatch was inserted, result is "something - // happened". - result = 1; - - // Add the new dispatch entry to the set of all dispatches, and - // a link to it to the dispatch links for this task entry. - if (dispatch_entries.insert (entry_ptr) < 0) - return -1; - - // Use iterator for efficient insertion into the dispatch set. - ACE_Ordered_MultiSet_Iterator insert_iter (dispatches_); - if (dispatches_.insert (Dispatch_Entry_Link (*entry_ptr), - insert_iter) < 0) - return -1; - - // TBD - Clients are not assigned priority, but rather obtain it - // from their call dependencies. We could complain here if - // there is a priority specified that doesn't match (or is lower - // QoS?) - } - - return result; -} - -// This static method is used to reframe an existing dispatch set to -// the given new period multiplier, creating new instances of each -// existing dispatch (with adjusted arrival and deadline) in each -// successive sub-frame. Returns 1 if the set was reframed to a new -// period, 0 if the set was not changed (the new period was not a -// multiple of the old one), or -1 if an error occurred. - -int -Task_Entry::reframe (ACE_Unbounded_Set &dispatch_entries, - Task_Entry &owner, - ACE_Ordered_MultiSet &set, - u_long &set_period, u_long new_period) -{ - int result = 0; - - // if the set period is zero, treat it as uninitialized, - // and simply value the set period with the new period - if (set_period) - { - // make sure the new period is greater than the current - // set period, and that they are harmonically related - if (new_period <= set_period) - // return an error if they're not harmonically related, - // do nothing if set's frame is a multiple of the new frame - return (set_period % new_period) ? -1 : 0; - else if (new_period % set_period) - return -1; - - // make a shallow copy of the set in a new ordered multiset - // using the Dispatch_Entry_Link smart pointers - ACE_Ordered_MultiSet new_set; - ACE_Ordered_MultiSet_Iterator new_iter (new_set); - ACE_Ordered_MultiSet_Iterator set_iter (set); - - for (set_iter.first (); set_iter.done () == 0; set_iter.advance ()) - { - Dispatch_Entry_Link *link; - - if (set_iter.next (link) == 0) - return -1; - else if (new_set.insert (*link, new_iter) < 0) - return -1; - } - - // Do a deep copy merge back into the set using the new period - // and starting after the 0th sub-frame: this puts all - // dispatches after the 0th sub-frame of the new period into the - // set, and leaves existing dispatches in the 0th sub-frame of - // the new period in the set as well. - result = merge_frames (dispatch_entries, - owner, - set, - new_set, - new_period, - set_period, - 1, - 1); - } - - // update the set's period to be the new frame - set_period = new_period; - - return result; -} - -// This static method is used to merge an existing dispatch set, -// multiplied by the given multipliers for the period and number of -// instances in each period of each existing dispatch, into the given -// "into" set, without affecting the "from set". - -int -Task_Entry::merge_frames (ACE_Unbounded_Set &dispatch_entries, - Task_Entry &owner, - ACE_Ordered_MultiSet &dest, - ACE_Ordered_MultiSet &src, - u_long &dest_period, - u_long src_period, - u_long number_of_calls, - u_long starting_dest_sub_frame) -{ - int status = 0; - - // reframe dispatches in the destination set to the new frame size - // (expands the destination set's period to be the new enclosing frame) - if (reframe (dispatch_entries, - owner, - dest, - dest_period, - ACE::minimum_frame_size (dest_period, - src_period)) < 0) - return -1; - - // use iterator for efficient insertion into the destination set - ACE_Ordered_MultiSet_Iterator dest_iter (dest); - - // do virtual iteration over the source set in the new frame, adding - // adjusted dispatch entries to the destination - Dispatch_Proxy_Iterator src_iter (src, - src_period, - dest_period, - number_of_calls, - starting_dest_sub_frame); - - for (src_iter.first (starting_dest_sub_frame); - src_iter.done () == 0; - src_iter.advance ()) - { - // Policy: disjunctively dispatched operations get their - // deadline and priority from the original dispatch - when and - // if it is useful to change any of the merge policies, this - // should be one of the decisions factored out into the - // disjunctive merge strategy class. - - Dispatch_Entry *entry_ptr; - ACE_NEW_RETURN (entry_ptr, - Dispatch_Entry (src_iter.arrival (), - src_iter.deadline (), - src_iter.priority (), - src_iter.OS_priority (), - owner), - -1); - - // if even one new dispatch was inserted, status is "something happened". - status = 1; - - // add the new dispatch entry to the set of all dispatches, and - // a link to it to the dispatch links for this task entry - if (dispatch_entries.insert (entry_ptr) < 0) - return -1; - - else if (dest.insert (Dispatch_Entry_Link (*entry_ptr), dest_iter) < 0) - return -1; - - // TBD - Clients are not assigned priority, but rather obtain it - // from their call dependencies. We could complain here if - // there is a priority specified that doesn't match (or is lower - // QoS?) - } - - return status; -} - -Task_Entry_Link::Task_Entry_Link (Task_Entry &caller, - Task_Entry &called, - CORBA::Long number_of_calls, - RtecScheduler::Dependency_Type_t dependency_type) - : number_of_calls_ (number_of_calls), - caller_ (caller), - called_ (called), - dependency_type_ (dependency_type) -{ -} - -Dispatch_Entry::Dispatch_Id Dispatch_Entry::next_id_ = 0; - -Dispatch_Entry::Dispatch_Entry (Time arrival, - Time deadline, - Preemption_Priority priority, - OS_Priority os_priority, - Task_Entry &task_entry, - Dispatch_Entry *original_dispatch) - : priority_ (priority), - OS_priority_ (os_priority), - dynamic_subpriority_ (0), - static_subpriority_ (0), - arrival_ (arrival), - deadline_ (deadline), - task_entry_ (task_entry), - original_dispatch_ (original_dispatch) -{ - // obtain, increment the next id - dispatch_id_ = next_id_++; -} - -Dispatch_Entry::Dispatch_Entry (const Dispatch_Entry &d) - : priority_ (d.priority_), - OS_priority_ (d.OS_priority_), - dynamic_subpriority_ (d.dynamic_subpriority_), - static_subpriority_ (d.static_subpriority_), - arrival_ (d.arrival_), - deadline_ (d.deadline_), - task_entry_ (d.task_entry_), - original_dispatch_ (d.original_dispatch_) -{ - // obtain, increment the next id - dispatch_id_ = next_id_++; -} - -bool -Dispatch_Entry::operator < (const Dispatch_Entry &d) const -{ - // for positioning in the ordered dispatch multiset - - // lowest arrival time first - if (this->arrival_ != d.arrival_) - return this->arrival_ < d.arrival_ ? true : false; - - // highest priority second - if (this->priority_ != d.priority_) - return this->priority_ > d.priority_ ? true : false; - - // lowest laxity (highest dynamic sub-priority) third Just use low - // 32 bits of worst_case_execution_time. This will have to change - // when TimeBase.idl is finalized. - // - // NOTE: Leave the -= code intact as it's a workaround of a BCB4 - // internal compiler error. - Time this_laxity = deadline_; - this_laxity -= task_entry ().rt_info ()->worst_case_execution_time; - - Time that_laxity = d.deadline_; - that_laxity -= d.task_entry ().rt_info ()->worst_case_execution_time; - - if (this_laxity != that_laxity) - return (this_laxity < that_laxity) ? true : false; - - // finally, by higher importance - return (task_entry ().rt_info ()->importance > - d.task_entry ().rt_info ()->importance) ? true : false; -} - -// ctor - -Dispatch_Entry_Link::Dispatch_Entry_Link (Dispatch_Entry &d) - : dispatch_entry_ (d) -{ -} - -// copy ctor - -Dispatch_Entry_Link::Dispatch_Entry_Link (const Dispatch_Entry_Link &d) - : dispatch_entry_ (d.dispatch_entry_) -{ -} - -// ctor - -Dispatch_Proxy_Iterator::Dispatch_Proxy_Iterator - (ACE_Ordered_MultiSet &set, - u_long actual_frame_size, - u_long virtual_frame_size, - u_long number_of_calls, - u_long starting_sub_frame) - : number_of_calls_ (number_of_calls), - current_call_ (0), - actual_frame_size_ (actual_frame_size), - virtual_frame_size_ (virtual_frame_size), - current_frame_offset_ (actual_frame_size * starting_sub_frame), - iter_ (set) -{ - first (starting_sub_frame); -} - -// positions the iterator at the first entry of the passed sub-frame, -// returns 1 if it could position the iterator correctly, 0 if not, -// and -1 if an error occurred. - -int -Dispatch_Proxy_Iterator::first (u_int sub_frame) -{ - if (actual_frame_size_ * (sub_frame) >= virtual_frame_size_) - { - // can not position the virtual iterator - // in the given range: do nothing - return 0; - } - - // restart the call counter - current_call_ = 0; - - // use the given sub-frame offset if it's valid - current_frame_offset_ = actual_frame_size_ * sub_frame; - - // restart the iterator - return iter_.first (); -} - -// positions the iterator at the last entry of the total frame, -// returns 1 if it could position the iterator correctly, 0 if not, -// and -1 if an error occurred. - -int -Dispatch_Proxy_Iterator::last (void) -{ - // use the last call - current_call_ = number_of_calls_ - 1; - - // use the last sub-frame - current_frame_offset_ = virtual_frame_size_ - actual_frame_size_; - - // position the iterator at the last dispatch - return iter_.first (); -} - -// positions the iterator at the next entry of the total frame, -// returns 1 if it could position the iterator correctly, 0 if not, -// and -1 if an error occurred. - -int -Dispatch_Proxy_Iterator::advance (void) -{ - int result = 1; - - if (iter_.done ()) - result = 0; // cannot retreat if we're out of bounds - else if (current_call_ < number_of_calls_ - 1) - // if we're still in the same set of calls, increment the call counter - ++current_call_; - else - { - // roll over the call counter - current_call_ = 0; - - // advance the iterator in the current sub-frame - if (! iter_.advance ()) - { - // if we're not already in the last sub_frame - if (current_frame_offset_ + actual_frame_size_ < virtual_frame_size_) - { - // increment the sub-frame offset - current_frame_offset_ += actual_frame_size_; - - // restart the iterator at the front of the sub-frame - result = iter_.first (); - } - else - result = 0; // cannot advance if we're already at the end - } - } - - return result; -} - -// positions the iterator at the previous entry of the total frame, -// returns 1 if it could position the iterator correctly, 0 if not, -// and -1 if an error occurred. - -int -Dispatch_Proxy_Iterator::retreat (void) -{ - int result = 1; - - if (iter_.done ()) - result = 0; // cannot retreat if we're out of bounds - else if (current_call_ > 0) - // if we're still in the same set of calls, decrement the call counter - --current_call_; - else - { - // roll over the call counter - current_call_ = number_of_calls_ - 1; - - // back up the iterator in the current sub-frame - if (!iter_.retreat ()) - { - // if we're not already in the 0th sub_frame - if (current_frame_offset_ > 0) - { - // decrement the sub-frame offset - current_frame_offset_ -= actual_frame_size_; - - // restart the iterator at the tail of the sub-frame - result = iter_.last (); - } - else - result = 0; // cannot retreat if we're already at the start - } - } - - return result; -} - -// returns the adjusted arrival time of the virtual entry - -RtecScheduler::Time -Dispatch_Proxy_Iterator::arrival (void) const -{ - Dispatch_Entry_Link *link; - if (iter_.done () - || iter_.next(link) == 0 - || link == 0) - return 0; - - // Just use low 32 bits of arrival. This will have to change when - // TimeBase.idl is finalized. - return link->dispatch_entry ().arrival () + - RtecScheduler::Time (current_frame_offset_); -} - -// returns the adjusted deadline time of the virtual entry - -RtecScheduler::Time -Dispatch_Proxy_Iterator::deadline (void) const -{ - Dispatch_Entry_Link *link; - if (iter_.done () - || iter_.next(link) == 0 - || link == 0) - return 0; - - // Just use low 32 bits of deadline. This will have to change when - // TimeBase.idl is finalized. - return link->dispatch_entry ().deadline () + - RtecScheduler::Time (current_frame_offset_); -} - -// returns the scheduler priority of the virtual entry - -Dispatch_Proxy_Iterator::Preemption_Priority -Dispatch_Proxy_Iterator::priority (void) const -{ - Dispatch_Entry_Link *link; - - if (iter_.done () - || iter_.next(link) == 0 - || link == 0) - return 0; - - return link->dispatch_entry ().priority (); -} - -// returns the OS priority of the virtual entry - -Dispatch_Proxy_Iterator::OS_Priority -Dispatch_Proxy_Iterator::OS_priority (void) const -{ - Dispatch_Entry_Link *link; - if (iter_.done () - || iter_.next(link) == 0 - || link == 0) - return 0; - - return link->dispatch_entry ().OS_priority (); -} - -// time slice constructor - -TimeLine_Entry::TimeLine_Entry (Dispatch_Entry &dispatch_entry, - Time start, Time stop, - Time arrival, Time deadline, - TimeLine_Entry *next, - TimeLine_Entry *prev) - : dispatch_entry_ (dispatch_entry), - start_ (start), - stop_ (stop), - arrival_ (arrival), - deadline_ (deadline), - next_ (next), - prev_ (prev) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.h b/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.h deleted file mode 100644 index e84ceb6cad3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.h +++ /dev/null @@ -1,648 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// SchedEntry.h -// -// = CREATION DATE -// 7 February 1998 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef SCHEDENTRY_H -#define SCHEDENTRY_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Sched/sched_export.h" -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "ace/Containers.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////// -// Helper Functions // -////////////////////// - - -// Forward declaration of classes. -class Task_Entry; -class Task_Entry_Link; -class Dispatch_Entry; -class Dispatch_Entry_Link; -class Dispatch_Proxy_Iterator; - - -class TAO_RTSched_Export Dispatch_Entry_Link -// = TITLE -// Dispatch Entry Link -// -// = DESCRIPTION -// Light-weight sortable "smart pointer" to a dispatch entry. -// -{ -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - Dispatch_Entry_Link (Dispatch_Entry &d); - // Constructor. - - Dispatch_Entry_Link (const Dispatch_Entry_Link &d); - // Copy constructor. - - ~Dispatch_Entry_Link (); - // Destructor. - - bool operator < (const Dispatch_Entry_Link &d) const; - // Less than comparison operator. - - Dispatch_Entry &dispatch_entry () const; - // Accessor for reference to the dispatch entry. - -private: - - Dispatch_Entry &dispatch_entry_; - // Dispatch entry to which the smart pointer refers. -}; - - - -class TAO_RTSched_Export Task_Entry -// = TITLE -// Task Entry. -// -// = DESCRIPTION -// Wrapper for the RT_Info, which aggregates all its dispatches. -// -{ -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - // Info for DFS traversal, topological sort of call graph. - enum DFS_Status {NOT_VISITED, VISITED, FINISHED}; - - // Status of merging dispatches. - enum Propagation_Status {SUCCEEDED, - TWO_WAY_DISJUNCTION, - TWO_WAY_CONJUNCTION, - INTERNAL_ERROR, - UNRECOGNIZED_INFO_TYPE}; - - // Constructor. - Task_Entry (); - - // Destructor. - ~Task_Entry (); - - // Merges dispatches according to info type, update - // relevant scheduling characteristics for this entry. - // Returns 0 if all is well, or -1 if an error occurred. - Propagation_Status merge_dispatches ( - ACE_Unbounded_Set &dispatch_entries, - ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes); - - // Gets the pointer to the underlying RT_Info. - RT_Info *rt_info () const; - - // Sets the pointer to the underlying RT_Info. - void rt_info (RT_Info *info); - - // Gets the effective period for the task entry. - Period effective_period () const; - - // Sets the effective period for the task entry. - void effective_period (Period p); - - // Sets when the node was discovered in DFS traversal. - void discovered (long l); - - // Gets when the node was discovered in DFS traversal. - long discovered () const; - - // Sets when the node was finished in DFS traversal. - void finished (long l); - - // Gets when the node was finished in DFS traversal. - long finished () const; - - // Sets DFS traversal status of the node. - void dfs_status (DFS_Status ds); - - // Gets DFS traversal status of the node. - DFS_Status dfs_status () const; - - // Sets a flag indicating whether node is a thread delineator. - void is_thread_delineator (int i); - - // Gets the flag indicating whether node is a thread delineator. - int is_thread_delineator () const; - - // Sets a flag indicating whether node has unresolved remote dependencies. - void has_unresolved_remote_dependencies (int i); - - // Gets the flag indicating whether node has unresolved remote dependencies. - int has_unresolved_remote_dependencies () const; - - // Sets a flag indicating whether node has unresolved local dependencies. - void has_unresolved_local_dependencies (int i); - - // Gets the flag indicating whether node has unresolved local dependencies. - int has_unresolved_local_dependencies () const; - - // Gets the set of links to Task Entries which this entry calls. - ACE_Unbounded_Set & calls (); - - // Gets the set of links to Task Entries which call this entry. - ACE_Unbounded_Set & callers (); - - // Gets the set of arrivals in the effective period. - ACE_Ordered_MultiSet &dispatches (); - - // Gets the type of RT_Info the entry wraps. - Info_Type info_type () const; - - // Gets the effective execution time for the task entry. - u_long effective_execution_time () const; - -private: - - // Prohibits calls of the given type: currently used to enforce - // the notion that two-way calls to disjunctive or conjunctive - // RT_Infos do not have any defined meaning, and thus should be - // considered dependency specification errors: if these constraints - // are removed in the future, this method should be removed as well. - // Returns 0 if all is well, or -1 if an error has occurred. - int prohibit_dispatches (Dependency_Type dt); - - // Performs a disjunctive merge of arrival times of calls of the given - // type: all arrival times of all callers of that type are duplicated by - // the multiplier and repetition over the new frame size and merged. - // Returns 0 if all is well, or -1 if an error has occurred. - int disjunctive_merge ( - Dependency_Type dt, - ACE_Unbounded_Set &dispatch_entries, - ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes); - - // Performs a conjunctive merge of arrival times of calls of the given - // type: all arrival times of all callers of that type are duplicated - // by the multiplier and repetition over the new frame size and then - // iteratively merged by choosing the maximal arrival time at - // the current position in each queue (iteration is in lockstep - // over all queues, and ends when any queue ends). Returns 0 if - // all is well, or -1 if an error has occurred. - int conjunctive_merge ( - Dependency_Type dt, - ACE_Unbounded_Set &dispatch_entries, - ACE_CString & unresolved_locals, - ACE_CString & unresolved_remotes); - - // This static method is used to reframe an existing dispatch set - // to the given new period multiplier, creating new instances of - // each existing dispatch (with adjusted arrival and deadline) - // in each successive sub-frame. Returns 1 if the set was reframed - // to a new period, 0 if the set was not changed (the new period - // was not a multiple of the old one), or -1 if an error occurred. - static int reframe (ACE_Unbounded_Set &dispatch_entries, - Task_Entry &owner, - ACE_Ordered_MultiSet &set, - u_long &set_period, u_long new_period); - - // This static method is used to merge an existing dispatch set, - // multiplied by the given multipliers for the period and number of - // instances in each period of each existing dispatch, into the - // given "into" set, without affecting the "from set". Returns 1 if - // the source set was correctly merged into the destination set, - // 0 if nothing happened, and -1 if an error occurred. - static int merge_frames (ACE_Unbounded_Set &dispatch_entries, - Task_Entry &owner, - ACE_Ordered_MultiSet &dest, - ACE_Ordered_MultiSet &src, - u_long &dest_period, - u_long src_period, - u_long number_of_calls = 1, - u_long starting_dest_sub_frame = 0); - - // A pointer to the underlying RT_Info. - RT_Info *rt_info_; - - // The effective period for the task entry. - u_long effective_period_; - - // The set of arrivals in the entry's effective period. - ACE_Ordered_MultiSet dispatches_; - - // Depth-first-search status of the entry. - DFS_Status dfs_status_; - - // Depth-first-search discovery order of the entry. - long discovered_; - - // Depth-first-search completion order of the entry. - long finished_; - - // Flag identifying threads in the call graph. - int is_thread_delineator_; - - // Flag indicating whether or not there are unresolved remote - // dependencies in the entry's dependency call chain. - int has_unresolved_remote_dependencies_; - - // Flag indicating whether or not there are unresolved local - // dependencies in the entry's dependency call chain. - int has_unresolved_local_dependencies_; - - // Set of links to Task Entries which this entry calls. - ACE_Unbounded_Set calls_; - - // Set of links to Task Entries which call this entry. - ACE_Unbounded_Set callers_; - -}; - - -// Wrapper for dependencies between RT_Infos -class TAO_RTSched_Export Task_Entry_Link -{ -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - // ctor - Task_Entry_Link (Task_Entry &caller, - Task_Entry &called, - CORBA::Long number_of_calls, - Dependency_Type dependency_type); - - // accessor: number of calls - CORBA::Long number_of_calls () const; - - // accessor: dependency type - Dependency_Type dependency_type () const; - - // accessor: calling task entry - Task_Entry &caller () const; - - // accessor: called task entry - Task_Entry &called () const; - -private: - - // the number of calls of the operation - CORBA::Long number_of_calls_; - - // the calling operation - Task_Entry &caller_; - - // the called operation - Task_Entry &called_; - - // the type of call dependency - Dependency_Type dependency_type_; -}; - - -class TAO_RTSched_Export Dispatch_Entry -{ -// = TITLE -// Dispatch Entry -// -// = DESCRIPTION -// Descriptor object for a single dispatch of an operation. -// -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - typedef u_long Dispatch_Id; - - // ctor - Dispatch_Entry (Time arrival, - Time deadline, - Preemption_Priority priority, - OS_Priority os_priority, - Task_Entry &task_entry, - Dispatch_Entry *original_dispatch = 0); - - // copy ctor - Dispatch_Entry (const Dispatch_Entry &d); - - // id accessor - Dispatch_Id dispatch_id () const; - - // arrival accessor - Time arrival () const; - - // deadline accessor - Time deadline () const; - - // scheduler priority accessor and mutator - Preemption_Priority priority () const; - void priority (Preemption_Priority p); - - // scheduler priority accessor and mutator - OS_Priority OS_priority () const; - void OS_priority (OS_Priority p); - - // dynamic subpriority accessor and mutator - Sub_Priority dynamic_subpriority () const; - void dynamic_subpriority (Sub_Priority p); - - // static subpriority accessor and mutator - Sub_Priority static_subpriority () const; - void static_subpriority (Sub_Priority p); - - // task entry accessor - Task_Entry &task_entry () const; - - // LT comparator - // TBD - make this a global comparison operator - // instead of a class member function - bool operator < (const Dispatch_Entry &d) const; - - // accessor for pointer to original dispatch - Dispatch_Entry *original_dispatch (); - -private: - // TBD - add reference counting to Dispatch Entry class, - // make the link a friend, up/down count as links come and go, - // and call entry dtor when ref count drops to 0 - - // stores the next dispatch entry id to be used - static Dispatch_Id next_id_; - - // the id of the current dispatch entry - Dispatch_Id dispatch_id_; - - // scheduler priority of the current dispatch entry - Preemption_Priority priority_; - - // OS priority of the current dispatch entry - OS_Priority OS_priority_; - - // scheduler dynamic subpriority of the current dispatch entry - Sub_Priority dynamic_subpriority_; - - // scheduler static subpriority of the current dispatch entry - Sub_Priority static_subpriority_; - - // the arrival time of the current dispatch entry - Time arrival_; - - // the deadline of the current dispatch entry - Time deadline_; - - // stores the id of the related task entry - Task_Entry &task_entry_; - - // stores a pointer to the original dispatch entry if this - // is a dispatch generated by expanding the original frame - Dispatch_Entry *original_dispatch_; - -}; - -class TAO_RTSched_Export Dispatch_Proxy_Iterator -// = TITLE -// This class implements an iterator abstraction over a virtual -// frame size and number of calls, using an actual ordered -// multiset of dispatch entries over an actual frame size. -// It also serves as a proxy for the virtual dispatch to which -// it refers. Rhetorical question: is it possible to separate -// the iterator and proxy abstractions here without defeating the -// purpose of the design, which is to avoid constructing -// superfluous dispatch entries (per the conjunctive merge use case) ? -{ -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - Dispatch_Proxy_Iterator (ACE_Ordered_MultiSet &set, - u_long actual_frame_size, - u_long virtual_frame_size, - u_long number_of_calls_ = 1, - u_long starting_sub_frame = 0); - // ctor - - //////////////////////// - // iterator interface // - //////////////////////// - - int done () const; - // returns 0 if there are more entries to see, 1 if not - - int first (u_int sub_frame = 0); - // positions the iterator at the first entry of the passed - // sub-frame, returns 1 if it could position the iterator - // correctly, 0 if not, and -1 if an error occurred. - - int last (); - // positions the iterator at the last entry of the total - // frame, returns 1 if it could position the iterator - // correctly, 0 if not, and -1 if an error occurred. - - int advance (); - // positions the iterator at the next entry of the total - // frame, returns 1 if it could position the iterator - // correctly, 0 if not, and -1 if an error occurred. - - int retreat (); - // positions the iterator at the previous entry of the total - // frame, returns 1 if it could position the iterator - // correctly, 0 if not, and -1 if an error occurred. - - ///////////////////// - // proxy interface // - ///////////////////// - - Time arrival () const; - // returns the adjusted arrival time of the virtual entry - - Time deadline () const; - // returns the adjusted deadline time of the virtual entry - - Preemption_Priority priority () const; - // returns the scheduler priority of the virtual entry - - OS_Priority OS_priority () const; - // returns the OS priority of the virtual entry - - -private: - - u_long number_of_calls_; - // the number of calls corresponding to each actual dispatch - - u_long current_call_; - // the current call number for this dispatch (zero based) - - u_long actual_frame_size_; - // the frame size of the actual dispatches - - u_long virtual_frame_size_; - // the virtaul frame size over which to iterate - - u_long current_frame_offset_; - // the current offset into the virtual frame - // (should be a multiple of the actual frame size) - - ACE_Ordered_MultiSet_Iterator iter_; -}; - - - -class TAO_RTSched_Export TimeLine_Entry -{ -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - // time slice constructor - TimeLine_Entry (Dispatch_Entry &dispatch_entry, - Time start, - Time stop, - Time arrival, - Time deadline, - TimeLine_Entry *next = 0, - TimeLine_Entry *prev = 0); - - // dispatch entry accessor - Dispatch_Entry &dispatch_entry () const; - - // accessors for time slice start and stop times (100 nanoseconds) - Time start () const; - Time stop () const; - Time arrival () const; - Time deadline () const; - - // accessor and mutator for next and prev slices for this dispatch - TimeLine_Entry *next (void) const; - void next (TimeLine_Entry *); - TimeLine_Entry *prev (void) const; - void prev (TimeLine_Entry *); - - bool operator < (const TimeLine_Entry&) const; - -private: - - // the dispatch entry to which the time slice corresponds - Dispatch_Entry &dispatch_entry_; - - // priority time slice times (100 nanoseconds) - Time start_; - Time stop_; - Time arrival_; - Time deadline_; - - // next and previous priority time slices for this dispatch entry - TimeLine_Entry *next_; - TimeLine_Entry *prev_; - -}; - -class TAO_RTSched_Export TimeLine_Entry_Link -{ -public: - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Period_t Period; - typedef RtecScheduler::Info_Type_t Info_Type; - typedef RtecScheduler::Dependency_Type_t Dependency_Type; - - TimeLine_Entry_Link (TimeLine_Entry &t); - // ctor - - TimeLine_Entry &entry () const; - // accessor for the underlying entry - - bool operator < (const TimeLine_Entry_Link&) const; - // comparison operator - -private: - - TimeLine_Entry &entry_; - // the underlying entry - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Sched/SchedEntry.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* SCHEDENTRY_H */ - -// EOF diff --git a/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.i b/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.i deleted file mode 100644 index 13f00111d67..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/SchedEntry.i +++ /dev/null @@ -1,447 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// SchedEntry.i -// -// = CREATION DATE -// 7 February 1998 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -////////////////////// -// Class Task_Entry // -////////////////////// - -// return a pointer to the underlying RT_Info -ACE_INLINE Task_Entry::RT_Info * -Task_Entry::rt_info () const -{ - return rt_info_; -} - -// set the underlying RT_Info pointer -ACE_INLINE void -Task_Entry::rt_info (Task_Entry::RT_Info *info) -{ - rt_info_ = info; -} - -// get effective period for the task entry -ACE_INLINE Task_Entry::Period -Task_Entry::effective_period () const -{ - return effective_period_; -} - -// set effective period for the task entry -ACE_INLINE void -Task_Entry::effective_period (Task_Entry::Period p) -{ - effective_period_ = p; -} - -ACE_INLINE void -Task_Entry::discovered (long l) -{ - discovered_ = l; - dfs_status_ = VISITED; -} - -ACE_INLINE long -Task_Entry::discovered () const -{ - return discovered_; -} - -ACE_INLINE void -Task_Entry::finished (long l) -{ - finished_ = l; - dfs_status_ = FINISHED; -} - -ACE_INLINE long -Task_Entry::finished () const -{ - return finished_; -} - -ACE_INLINE Task_Entry::DFS_Status -Task_Entry::dfs_status () const -{ - return dfs_status_; -} - -ACE_INLINE void -Task_Entry::dfs_status (Task_Entry::DFS_Status ds) -{ - dfs_status_ = ds; -} - -// Sets a flag indicating whether node is a thread delineator. - -ACE_INLINE void -Task_Entry::is_thread_delineator (int i) -{ - is_thread_delineator_ = i; -} - -// Gets the flag indicating whether node is a thread delineator. - -ACE_INLINE int -Task_Entry::is_thread_delineator () const -{ - return is_thread_delineator_; -} - -// Sets a flag indicating whether node has unresolved remote dependencies. - -ACE_INLINE void -Task_Entry::has_unresolved_remote_dependencies (int i) -{ - has_unresolved_remote_dependencies_ = i; -} - -// Gets the flag indicating whether node has unresolved remote dependencies. - -ACE_INLINE int -Task_Entry::has_unresolved_remote_dependencies () const -{ - return has_unresolved_remote_dependencies_; -} - - -// Sets a flag indicating whether node has unresolved local dependencies. - -ACE_INLINE void -Task_Entry::has_unresolved_local_dependencies (int i) -{ - has_unresolved_local_dependencies_ = i; -} - -// Gets the flag indicating whether node has unresolved local dependencies. - -ACE_INLINE int -Task_Entry::has_unresolved_local_dependencies () const -{ - return has_unresolved_local_dependencies_; -} - -// Gets the set of Task Entries on which this entry depends. - -ACE_INLINE ACE_Unbounded_Set & -Task_Entry::calls () -{ - return calls_; -} - -// Gets the set of Task Entries which depend on this entry. - -ACE_INLINE ACE_Unbounded_Set & -Task_Entry::callers () -{ - return callers_; -} - -// Gets set of arrivals in the entry's effective period. - -ACE_INLINE ACE_Ordered_MultiSet & -Task_Entry::dispatches () -{ - return dispatches_; -} - - -ACE_INLINE Task_Entry::Info_Type -Task_Entry::info_type () const -{ - return rt_info_->info_type; -} - -ACE_INLINE u_long -Task_Entry::effective_execution_time () const -{ - // Just use low 32 bits. This will have to change when TimeBase.idl - // is finalized. - ACE_UINT32 worst_case_execution_time = - ACE_U64_TO_U32 (rt_info_->worst_case_execution_time); - - return ((rt_info_->info_type == RtecScheduler::OPERATION) || - (rt_info_->info_type == RtecScheduler::REMOTE_DEPENDANT)) - ? static_cast (worst_case_execution_time * dispatches_.size ()) - : 0; -} - - -/////////////////////////// -// Class Task_Entry_Link // -/////////////////////////// - - -// accessor: number of calls of dependency by dependant -ACE_INLINE CORBA::Long -Task_Entry_Link::number_of_calls () const -{ - return number_of_calls_; -} - -ACE_INLINE Task_Entry_Link::Dependency_Type -Task_Entry_Link::dependency_type () const -{ - return dependency_type_; -} - -// accessor: dependant task entry -ACE_INLINE Task_Entry & -Task_Entry_Link::caller () const -{ - return caller_; -} - -// accessor: dependency task entry -ACE_INLINE Task_Entry & -Task_Entry_Link::called () const -{ - return called_; -} - -////////////////////////// -// Class Dispatch Entry // -////////////////////////// - -ACE_INLINE u_long -Dispatch_Entry::dispatch_id () const -{ - return dispatch_id_; -} - -ACE_INLINE Dispatch_Entry::Preemption_Priority -Dispatch_Entry::priority () const -{ - return priority_; -} - -ACE_INLINE void -Dispatch_Entry::priority (Dispatch_Entry::Preemption_Priority p) -{ - priority_ = p; -} - -ACE_INLINE Dispatch_Entry::OS_Priority -Dispatch_Entry::OS_priority () const -{ - return OS_priority_; -} - -ACE_INLINE void -Dispatch_Entry::OS_priority (Dispatch_Entry::OS_Priority p) -{ - OS_priority_ = p; -} - -ACE_INLINE Dispatch_Entry::Sub_Priority -Dispatch_Entry::dynamic_subpriority () const -{ - return dynamic_subpriority_; -} - -ACE_INLINE void -Dispatch_Entry::dynamic_subpriority (Dispatch_Entry::Sub_Priority p) -{ - dynamic_subpriority_ = p; -} - -ACE_INLINE Dispatch_Entry::Sub_Priority -Dispatch_Entry::static_subpriority () const -{ - return static_subpriority_; -} - -ACE_INLINE void -Dispatch_Entry::static_subpriority (Dispatch_Entry::Sub_Priority p) -{ - static_subpriority_ = p; -} - - -ACE_INLINE Dispatch_Entry::Time -Dispatch_Entry::arrival () const -{ - return arrival_; -} - -ACE_INLINE Dispatch_Entry::Time -Dispatch_Entry::deadline () const -{ - return deadline_; -} - -ACE_INLINE Task_Entry & -Dispatch_Entry::task_entry () const -{ - return task_entry_; -} - - -// accessor for pointer to original dispatch -ACE_INLINE Dispatch_Entry * -Dispatch_Entry::original_dispatch () -{ - return original_dispatch_; -} - - -/////////////////////////////// -// Class Dispatch_Entry_Link // -/////////////////////////////// - -ACE_INLINE -Dispatch_Entry_Link::~Dispatch_Entry_Link () -{ -} - // dtor - -ACE_INLINE bool -Dispatch_Entry_Link::operator < (const Dispatch_Entry_Link &d) const -{ - return (this->dispatch_entry_ < d.dispatch_entry_); -} - // GT comparator - - -ACE_INLINE Dispatch_Entry & -Dispatch_Entry_Link::dispatch_entry () const -{ - return dispatch_entry_; -} - // accessor for reference to dispatch entry - - -/////////////////////////////////// -// Class Dispatch_Proxy_Iterator // -/////////////////////////////////// - -ACE_INLINE int -Dispatch_Proxy_Iterator::done () const -{ - return iter_.done (); -} - // returns 0 if there are more entries to see, 1 if not - - -////////////////////////// -// Class TimeLine_Entry // -////////////////////////// - - // dispatch entry accessor -ACE_INLINE Dispatch_Entry & -TimeLine_Entry::dispatch_entry () const -{ - return dispatch_entry_; -} - - -// accessor for time slice start time (100 nanoseconds) -ACE_INLINE RtecScheduler::Time -TimeLine_Entry::start () const -{ - return start_; -} - -// accessor for time slice stop time (100 nanoseconds) -ACE_INLINE RtecScheduler::Time -TimeLine_Entry::stop () const -{ - return stop_; -} - -// accessor for time slice stop time (100 nanoseconds) -ACE_INLINE RtecScheduler::Time -TimeLine_Entry::arrival () const -{ - return arrival_; -} - -// accessor for time slice stop time (100 nanoseconds) -ACE_INLINE RtecScheduler::Time -TimeLine_Entry::deadline () const -{ - return deadline_; -} - - -// accessor for next slice for this dispatch -ACE_INLINE TimeLine_Entry * -TimeLine_Entry::next (void) const -{ - return next_; -} - -// mutator for next slice for this dispatch -ACE_INLINE void -TimeLine_Entry::next (TimeLine_Entry *t) -{ - next_ = t; -} - -// accessor for previous slice for this dispatch -ACE_INLINE TimeLine_Entry * -TimeLine_Entry::prev (void) const -{ - return prev_; -} - -// mutator for previous slice for this dispatch -ACE_INLINE void -TimeLine_Entry::prev (TimeLine_Entry *t) -{ - prev_ = t; -} - - -ACE_INLINE bool -TimeLine_Entry::operator < (const TimeLine_Entry &t) const -{ - return (start_ < t.start_) ? true : false; -} - // comparison operator - - -/////////////////////////////// -// Class TimeLine_Entry_Link // -/////////////////////////////// - - -ACE_INLINE TimeLine_Entry_Link::TimeLine_Entry_Link (TimeLine_Entry &t) - : entry_ (t) -{ -} - // ctor - -ACE_INLINE TimeLine_Entry & -TimeLine_Entry_Link::entry () const -{ - return entry_; -} - // accessor for the underlying entry - -ACE_INLINE bool -TimeLine_Entry_Link::operator < (const TimeLine_Entry_Link &l) const -{ - return (entry_ < l.entry_); -} - // comparison operator - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/Scheduler.cpp b/TAO/orbsvcs/orbsvcs/Sched/Scheduler.cpp deleted file mode 100644 index 13ecbf74fc0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Scheduler.cpp +++ /dev/null @@ -1,271 +0,0 @@ -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// Scheduler.cpp -// -// = CREATION DATE -// 23 January 1997 -// -// = AUTHOR -// David Levine -// -// ============================================================================ - -#include "ace/Sched_Params.h" -#include "orbsvcs/Time_Utilities.h" -#include "orbsvcs/Sched/Scheduler.h" -#include "ace/OS_NS_stdio.h" - -#include "ace/Lock_Adapter_T.h" - -ACE_RCSID(Sched, Scheduler, "$Id$") - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// class Scheduler static members -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -const ACE_Scheduler::mode_t ACE_Scheduler::CURRENT_MODE = 0xFFFFFFFF; - -ACE_Scheduler *ACE_Scheduler::instance_ = 0; - - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// class ACE_Scheduler static functions -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -void -ACE_Scheduler::output (FILE *file, const status_t status) -{ - switch (status) - { - case NOT_SCHEDULED : - ACE_OS::fprintf (file, "NOT_SCHEDULED"); - break; - case SUCCEEDED : - ACE_OS::fprintf (file, "SUCCEEDED"); - break; - case ST_TASK_ALREADY_REGISTERED : - ACE_OS::fprintf (file, "TASK_ALREADY_REGISTERED"); - break; - case ST_VIRTUAL_MEMORY_EXHAUSTED : - ACE_OS::fprintf (file, "VIRTUAL_MEMORY_EXHAUSTED"); - break; - case ST_UNKNOWN_TASK : - ACE_OS::fprintf (file, "UNKNOWN_TASK"); - break; - case INVALID_MODE : - ACE_OS::fprintf (file, "INVALID_MODE"); - break; - case MODE_COUNT_MISMATCH : - ACE_OS::fprintf (file, "MODE_COUNT_MISMATCH"); - break; - case TASK_COUNT_MISMATCH : - ACE_OS::fprintf (file, "TASK_COUNT_MISMATCH"); - break; - case INVALID_PRIORITY : - ACE_OS::fprintf (file, "INVALID_PRIORITY"); - break; - - // The following are only used during scheduling (in the case of - // off-line scheduling, they are only used prior to runtime). - // To save a little code space (280 bytes on g++ 2.7.2/Solaris 2.5.1), - // we could conditionally compile them so that they're not in the - // runtime version. - case ST_UTILIZATION_BOUND_EXCEEDED : - ACE_OS::fprintf (file, "UTILIZATION_BOUND_EXCEEDED"); - break; - case ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS : - ACE_OS::fprintf (file, "INSUFFICIENT_THREAD_PRIORITY_LEVELS"); - break; - case ST_CYCLE_IN_DEPENDENCIES : - ACE_OS::fprintf (file, "CYCLE_IN_DEPENDENCIES"); - break; - case UNABLE_TO_OPEN_SCHEDULE_FILE : - ACE_OS::fprintf (file, "UNABLE_TO_OPEN_SCHEDULE_FILE"); - break; - case UNABLE_TO_WRITE_SCHEDULE_FILE : - ACE_OS::fprintf (file, "UNABLE_TO_WRITE_SCHEDULE_FILE"); - break; - // End of config-only status values. - - default: - ACE_OS::fprintf (file, "UNKNOWN STATUS: %d", status); - } -} - - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// class ACE_Scheduler member functions -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -ACE_Scheduler::ACE_Scheduler () : - minimum_priority_queue_ (0), // Could initialize this to -1, but it's - // unsigned and we don't really need to - // distinguish between no queues and one - // queue. - modes_ (0), - tasks_ (0), - threads_ (0), - mode_ (0), - status_ (NOT_SCHEDULED), - output_level_ (0) -{ -} - - -ACE_Scheduler::~ACE_Scheduler () -{ -} - - -// ************************************************************ - -ACE_Scheduler::status_t -ACE_Scheduler::get_rt_info (Object_Name name, - RT_Info* &rtinfo) -{ - handle_t handle; - - // This makes a copy. We can optimize this with our own string - // class. - ACE_CString lookup (name); - // Search the map for the . If found, return the RT_Info. - RT_Info **info_array = 0; - if (info_collection_.find (lookup, info_array) >= 0) - { - rtinfo = info_array[0]; - // If we find it, return. - return SUCCEEDED; - } - else - // Otherwise, make one, bind it, and register it. - { - rtinfo = new RT_Info; - rtinfo->entry_point = name; - // Create and array (size one) of RT_Info* - info_array = new RT_Info*[1]; - info_array[0] = rtinfo; - // Bind the rtinfo to the name. - if (info_collection_.bind (lookup, info_array) != 0) - { - delete rtinfo; - delete info_array; - rtinfo = 0; - return FAILED; // Error! - } - else - { - // Register the array. - status_t result = this->register_task (info_array, 1, handle); - if (result == SUCCEEDED) - { - rtinfo->handle = handle; - return ST_UNKNOWN_TASK; // Didn't find it, but made one! - } - else - { - rtinfo->handle = 0; - return FAILED; - } - } - } -} - -int ACE_Scheduler::number_of_dependencies(RT_Info* rt_info) -{ - return rt_info->dependencies.length(); -} - -int ACE_Scheduler::number_of_dependencies(RT_Info& rt_info) -{ - return rt_info.dependencies.length(); -} - -int ACE_Scheduler::add_dependency(RT_Info* rt_info, - const Dependency_Info& d) -{ - // ACE_DEBUG ((LM_DEBUG, "Sched (%t) adding dependency to: %s\n", - // (const char*)rt_info->entry_point)); - RtecScheduler::Dependency_Set& set = rt_info->dependencies; - int l = set.length(); - set.length(l + 1); - set[l] = d; - return 0; -} - -void ACE_Scheduler::export_to_file (RT_Info* info, FILE* file) -{ - ACE_Scheduler::export_to_file (*info, file); -} - -void ACE_Scheduler::export_to_file (RT_Info& info, FILE* file) -{ - // The divide-by-1 is for ACE_U_LongLong support. - (void) ACE_OS::fprintf (file, - ACE_TEXT("%s\n%d\n") - ACE_UINT64_FORMAT_SPECIFIER ACE_TEXT("\n") - ACE_UINT64_FORMAT_SPECIFIER ACE_TEXT("\n") - ACE_UINT64_FORMAT_SPECIFIER ACE_TEXT("\n") - ACE_TEXT("%d\n%d\n") - ACE_UINT64_FORMAT_SPECIFIER ACE_TEXT("\n") - ACE_TEXT("%u\n# begin dependencies\n%d\n"), - (const char*)info.entry_point, - info.handle, - ORBSVCS_Time::to_hrtime (info.worst_case_execution_time) / 1, - ORBSVCS_Time::to_hrtime (info.typical_execution_time) / 1, - ORBSVCS_Time::to_hrtime (info.cached_execution_time) / 1, - info.period, - info.importance, - ORBSVCS_Time::to_hrtime (info.quantum) / 1, - info.threads, - number_of_dependencies(info)); - - for (int i = 0; i < number_of_dependencies(info); ++i) - { - RT_Info tmp; - // TODO: info.dependencies [i].rt_info >>= &tmp; - (void) ACE_OS::fprintf (file, "%s, %d\n", - (const char*)tmp.entry_point, - info.dependencies[i].number_of_calls); - - } - - (void) ACE_OS::fprintf (file, "# end dependencies\n%d\n%d\n\n", - info.priority, - info.preemption_subpriority); - - -} - -int -ACE_Scheduler::dispatch_configuration (const Preemption_Priority & p_priority, - OS_Thread_Priority & priority, - Dispatching_Type & d_type) -{ - // look up the stored configuration info for the given priority level - Config_Info *config_info; - if (lookup_config_info (p_priority, config_info) != SUCCEEDED) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Config info for priority %lu could not be found\n", - p_priority), - -1); - } - - priority = config_info->thread_priority; - d_type = config_info->dispatching_type; - - return 0; -} - // provide the thread priority and queue type for the given priority level diff --git a/TAO/orbsvcs/orbsvcs/Sched/Scheduler.h b/TAO/orbsvcs/orbsvcs/Sched/Scheduler.h deleted file mode 100644 index 8cad8d40736..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Scheduler.h +++ /dev/null @@ -1,300 +0,0 @@ -/* -*- C++ -*- */ -// -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// Scheduler.h -// -// = CREATION DATE -// 23 January 1997 -// -// = AUTHOR -// David Levine -// -// ============================================================================ - -#ifndef SCHEDULER_H -#define SCHEDULER_H -#include /**/ "ace/pre.h" - -#include "ace/ACE.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Map_Manager.h" -#include "ace/Message_Block.h" -#include "ace/SString.h" -#include "ace/Unbounded_Set.h" - -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Event_Service_Constants.h" -#include "orbsvcs/Sched/sched_export.h" - -class TAO_RTSched_Export ACE_Scheduler - // = TITLE - // Thread scheduler interface. - // - // = DESCRIPTION - // This virtual base class is the interface to either an off-line - // scheduler, or to the necessary on-line component of the Scheduler. -{ -public: - typedef u_int mode_t; - - typedef RtecScheduler::handle_t handle_t; - typedef RtecScheduler::Dependency_Info Dependency_Info; - typedef RtecScheduler::Preemption_Priority_t Preemption_Priority; - typedef RtecScheduler::OS_Priority OS_Thread_Priority; - typedef RtecScheduler::Preemption_Subpriority_t Sub_Priority; - typedef RtecScheduler::RT_Info RT_Info; - typedef RtecScheduler::Config_Info Config_Info; - typedef RtecScheduler::Time Time; - typedef RtecScheduler::Dispatching_Type_t Dispatching_Type; - typedef RtecScheduler::Scheduling_Anomaly Scheduling_Anomaly; - - // Map some types to simplify re-use. - - typedef const char *Object_Name; - // Objects are named by unique strings. - - static const mode_t CURRENT_MODE; - - enum status_t { - // The following are used both by the runtime Scheduler and during - // scheduling. - NOT_SCHEDULED = -1 // the schedule () method has not been called yet - , FAILED = -1 - , SUCCEEDED - , ST_UNKNOWN_TASK - , ST_UNKNOWN_PRIORITY - , ST_TASK_ALREADY_REGISTERED - , ST_VIRTUAL_MEMORY_EXHAUSTED - , ST_BAD_INTERNAL_POINTER - - // The following are only used by the runtime Scheduler. - , INVALID_MODE - , MODE_COUNT_MISMATCH // only used by schedule () - , TASK_COUNT_MISMATCH // only used by schedule () - , THREAD_COUNT_MISMATCH // only used by schedule () - , INVALID_PRIORITY // only used by schedule (): mismatch of - // (off-line, maybe) Scheduler output to - // the runtime Scheduler component. - - // The following are only used during scheduling (in the case of - // off-line scheduling, they are only used prior to runtime). - , ST_UTILIZATION_BOUND_EXCEEDED - , ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS - , ST_CYCLE_IN_DEPENDENCIES - , ST_UNRESOLVED_REMOTE_DEPENDENCIES - , UNABLE_TO_OPEN_SCHEDULE_FILE - , UNABLE_TO_WRITE_SCHEDULE_FILE - }; - - virtual ~ACE_Scheduler (); - - // = Utility function for outputting the textual representation of a - // status_t value to a FILE. - static void output (FILE *, const status_t); - - // = Initialize the scheduler. - virtual void init (const int minimum_priority, - const int maximum_priority, - const char *runtime_filename = 0, - const char *rt_info_filename = 0, - const char *timeline_filename = 0) = 0; - // The minimum and maximum priority are the OS-specific priorities that - // are used when creating the schedule (assigning priorities). The - // minimum_priority is the priority value of the lowest priority. - // It may be numerically higher than the maximum_priority, on OS's such - // as VxWorks that use lower values to indicate higher priorities. - // - // When Scheduler::schedule is called, the schedule is output to the - // file named by "runtime_filename" if it is non-zero. - // This file is compilable; it is linked into the runtime executable - // to provide priorities to the runtime scheduling component. - // If the "rt_info_filename" is non-zero, the RT_Info for - // every task is exported to it. It is not used at runtime. - // If the "timeline_filename" is non-zero, the timeline output - // file is created. It is not used at runtime. - // - // The runtime scheduling component ignores these filenames. It just - // uses the priorities that were linked in to the executable, after - // converting them to platform-specific values. - - // = Registers a task. - virtual status_t register_task (RT_Info *[], - const u_int number_of_modes, - handle_t &handle) = 0; - // If the Task registration succeeds, this function returns SUCCEEDED - // and sets "handle" to a unique identifier for the task. - // Otherwise, it returns either VIRTUAL_MEMORY_EXHAUSTED or - // TASK_ALREADY_REGISTERED sets the handle to 0. (A task may - // only be registered once.) - // The RT_Info * array is indexed by mode; there must be one element for - // each mode, as specified by number_of_modes. If a task does not - // run in a mode, then its entry in the array for that mode must - // be 0. - - virtual status_t get_rt_info (Object_Name name, - RT_Info* &rtinfo); - // Tries to find the RT_Info corresponding to in the RT_Info - // database. Returns SUCCEEDED if was found and was - // set. Returns UNKNOWN_TASK if was not found, but - // was set to a newly allocated RT_Info. In this UNKNOWN_TASK case, - // the task must call RT_Info::set to fill in execution properties. - // In the SUCCEEDED and UNKNOWN_TASK cases, this->register_task - // (rtinfo, 0, handle) is called. Returns FAILED if an error - // occurs. - // - // One motivation for allocating RT_Info's from within the Scheduler - // is to allow RT_Infos to persist after the tasks that use them. - // For instance, we may want to call this->schedule right before the - // application exits a configuration run. If the tasks have been - // deleted (deleting their RT_Infos with them), this->schedule will - // fail. - - virtual status_t lookup_rt_info (handle_t handle, - RT_Info* &rtinfo) = 0; - // Obtains an RT_Info based on its "handle". - - virtual status_t lookup_config_info (Preemption_Priority priority, - Config_Info* &config_info) = 0; - // Obtains a Config_Info based on its priority. - - - - // = Computes the schedule. - virtual status_t - schedule (ACE_Unbounded_Set &anomaly_set) = 0; - // This actually generates the files. - - // = Access a thread priority. - virtual int priority (const handle_t handle, - OS_Thread_Priority &priority, - Sub_Priority &subpriority, - Preemption_Priority &preemption_prio, - const mode_t = CURRENT_MODE) const = 0; - // Defines "priority" as the priority that was assigned to the Task that - // was assigned "handle", for the specified mode. Defines "subpriority" - // as the relative ordering (due to dependencies) within the priority. - // Returns 0 on success, or -1 if an invalid mode or handle are supplied. - // Queue numbers are platform-independent priority values, ranging from - // a highest priority value of 0 to the lowest priority value, which is - // returned by "minimum_priority_queue ()". The current and deadline times - // are part of the scheduling service implementation interface, but may be - // ignored by some implementations and used by others. - - // = Access the platform-independent priority value of the lowest-priority - // thread. - u_int minimum_priority_queue () const { return minimum_priority_queue_; } - // This is intended for use by the Event Channel, so it can determine the - // number of priority dispatch queues to create. - - // = Access the number of modes. - u_int modes () const { return modes_; } - - // = Access the number of tasks. - u_int tasks () const { return tasks_; } - - // = Access the number of threads. - u_int threads () const { return threads_; } - - // = Access the current mode. - mode_t mode () const { return mode_; } - - // = Set the current mode. - void mode (const mode_t mode) { mode_ = mode; } - - // = Access the current scheduler status. - status_t status () const { return status_; } - - // = Access the current output (debugging) level. - u_int output_level () const { return output_level_; } - // Default is 0; set to 1 to print out schedule, by task. Set - // to higher than one for debugging info. - - // = Set the scheduler output (debugging) level. - void output_level (const u_int level) { output_level_ = level; } - // the only supported levels are 0 (quiet), 1 (verbose) and 2 - // (debug) - - static int add_dependency(RT_Info* rt_info, - const Dependency_Info& d); - - static int number_of_dependencies(RT_Info* rt_info); - static int number_of_dependencies(RT_Info& rt_info); - - static void export_to_file (RT_Info*, FILE* file); - static void export_to_file (RT_Info&, FILE* file); - - virtual int dispatch_configuration (const Preemption_Priority &p_priority, - OS_Thread_Priority& priority, - Dispatching_Type & d_type); - // provide the thread priority and queue type for the given priority level - - -protected: - ACE_Scheduler (); - - // = Set the minimum priority value. - void minimum_priority_queue (const u_int minimum_priority_queue_number) - { minimum_priority_queue_ = minimum_priority_queue_number; } - - // = Set the number of modes. - void modes (const u_int modes) { modes_ = modes; } - - // = Set the number of tasks. - void tasks (const u_int tasks) { tasks_ = tasks; } - - // = Set the number of threads. - void threads (const u_int threads) { threads_ = threads; } - - // = Set the current scheduler status. - void status (const status_t new_status) { status_ = new_status; } - -private: - typedef ACE_CString EXT; - typedef RT_Info **INT; - - typedef ACE_Map_Manager Info_Collection; - typedef ACE_Map_Iterator Info_Collection_Iterator; - typedef ACE_Map_Entry Info_Collection_Entry; - - Info_Collection info_collection_; - // A binding of name to rt_info. This is the mapping for every - // rt_info in the process. - - static ACE_Scheduler *instance_; - - u_int minimum_priority_queue_; - // The platform-independent priority value of the Event Channel's - // minimum priority dispatch queue. The value of the maximum priority - // dispatch queue is always 0. - - u_int modes_; - u_int tasks_; - u_int threads_; - - mode_t mode_; - status_t status_; - u_int output_level_; - - // the following functions are not implememented - ACE_Scheduler (const ACE_Scheduler &); - ACE_Scheduler &operator= (const ACE_Scheduler &); -}; - -typedef ACE_Scheduler Scheduler; - -#include /**/ "ace/post.h" -#endif /* SCHEDULER_H */ - - -// EOF diff --git a/TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp b/TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp deleted file mode 100644 index 69448fa30b6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp +++ /dev/null @@ -1,269 +0,0 @@ -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// Scheduler_Generic.cpp -// -// = CREATION DATE -// 19 November 1997 -// -// = AUTHOR -// David Levine -// -// ============================================================================ - -#include "ace/Sched_Params.h" - -#include "orbsvcs/Sched/Scheduler_Generic.h" -#include "ace/OS_NS_stdio.h" - -ACE_RCSID(Sched, Scheduler_Generic, "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// static functions -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -// Structure for storing the RT_Info information for each task, per mode. -struct Mode_Entry -{ - RtecScheduler::RT_Info *rt_info_; - u_long start_time_; // microseconds - u_long stop_time_; // microseconds - - Mode_Entry() : - rt_info_ (0), - start_time_ (0), - stop_time_ (0) - { - } - - Mode_Entry(RtecScheduler::RT_Info *const rt_info, - const u_long start_time = 0, - const u_long stop_time = 0) : - rt_info_ (rt_info), - start_time_ (start_time), - stop_time_ (stop_time) - { - } - - ~Mode_Entry () {} - - Mode_Entry &operator= (const Mode_Entry &entry) - { - if (this != &entry) - { - rt_info_ = entry.rt_info_; - start_time_ = entry.start_time_; - stop_time_ = entry.stop_time_; - } - - return *this; - } -}; - - -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// class Scheduler_Generic member functions -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - -Scheduler_Generic::Scheduler_Generic () : - Scheduler (), - handles_ (0), - // Set the minimum priority to that for the current platform. This - // shouldn't be necessary, but UPSingleProcessorOrb::initialize_reactors - // creates threads before the Event Channel calls Scheduler::init (). - minimum_priority_ (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO, - ACE_SCOPE_THREAD)), - increasing_priority_ (-1), - task_entries_ () -{ - config_info_.preemption_priority = ACE_Scheduler_MAX_PREEMPTION_PRIORITY; - config_info_.thread_priority = minimum_priority_; - config_info_.dispatching_type = RtecScheduler::STATIC_DISPATCHING; -} - - -Scheduler_Generic::~Scheduler_Generic () -{ - reset (); -} - - -void -Scheduler_Generic::reset () -{ -} - -Scheduler::status_t -Scheduler_Generic::lookup_rt_info (handle_t handle, - RT_Info*& rtinfo) -{ - if (handle < 0 || (size_t) handle > task_entries_.size ()) - { - return ST_UNKNOWN_TASK; - } - RT_Info*** entry; - ACE_Unbounded_Set_Iterator i (task_entries_); - while (i.next (entry) != 0) - { - i.advance (); - RT_Info** array = *entry; - if (array[0]->handle == handle) - { - rtinfo = array[0]; - return SUCCEEDED; - } - } - - return ST_UNKNOWN_TASK; -} - -Scheduler::status_t -Scheduler_Generic::lookup_config_info (Preemption_Priority priority, - Config_Info* &config_info) -{ - if (priority == config_info_.preemption_priority) - { - config_info = &config_info_; - return SUCCEEDED; - } - else - { - return ST_UNKNOWN_PRIORITY; - } -} - // Obtains a Config_Info based on its priority. - - -Scheduler::status_t -Scheduler_Generic::register_task (RT_Info *rt_info [], - const u_int number_of_modes, - handle_t &handle) -{ - status_t ret; - - // try to store the new task's information . . . - switch (task_entries_.insert (rt_info)) - { - case 0 : // successfully inserted - { - rt_info [0]->handle = (handle = ++handles_); - - // assigned the same handle to the RT_Info for each of its modes - for (u_int i = 1; i < number_of_modes; ++i) - { - if (rt_info [i] != 0) - rt_info [i]->handle = handle; - } - - if (number_of_modes > modes ()) - { - modes (number_of_modes); - } - - ret = SUCCEEDED; - - if (output_level () >= 5) - { - ACE_OS::printf ("registered task \"%s\" with RT_Info starting " - "at %p\n", - (const char*)rt_info[0]->entry_point, - rt_info[0]); - } - } - break; - - case 1 : // the entry had already been inserted - handle = 0; - ret = ST_TASK_ALREADY_REGISTERED; - break; - - default : - // case -1 : insert failed, probably because virtual memory exhaused - handle = 0; - ret = ST_VIRTUAL_MEMORY_EXHAUSTED; - break; - } - - return ret; -} - - -void -Scheduler_Generic::init (const int minimum_priority, - const int maximum_priority, - const char *runtime_filename, - const char *rt_info_filename, - const char *timeline_filename) -{ - minimum_priority_ = minimum_priority; - maximum_priority_ = maximum_priority; - runtime_filename_ = runtime_filename; - rt_info_filename_ = rt_info_filename; - timeline_filename_ = timeline_filename; - config_info_.thread_priority = minimum_priority_; -} - - -Scheduler::status_t -Scheduler_Generic::schedule (ACE_Unbounded_Set & - /* anomaly_set */) -{ - ACE_GUARD_RETURN (LOCK, ace_mon, lock_, ACE_Scheduler::FAILED); - - // here goes . . . - - increasing_priority_ = maximum_priority_ >= minimum_priority_; - - status_t status = ACE_Scheduler::SUCCEEDED; - - // store number of tasks, based on registrations - tasks (static_cast (task_entries_.size ())); - - if (output_level () > 0) - { - print_schedule (); - } - - return status; -} - - -int -Scheduler_Generic::priority (const handle_t /* handle */, - OS_Thread_Priority &priority, - Sub_Priority &subpriority, - Preemption_Priority &preemption_prio, - const mode_t /* requested_mode */) const -{ - priority = minimum_priority_; - subpriority = ACE_Scheduler_MIN_SUB_PRIORITY; - preemption_prio = ACE_Scheduler_MAX_PREEMPTION_PRIORITY; - - if (output_level () >= 3) - { - ACE_OS::printf ("preemption_prio %d: min %d, pri %d, min_pri %d\n", - preemption_prio, minimum_priority_queue (), - priority, minimum_priority_); - } - - return 0; -} - - -void -Scheduler_Generic::print_schedule () -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.h b/TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.h deleted file mode 100644 index 1b73b4d1c4b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Scheduler_Generic.h +++ /dev/null @@ -1,140 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// Scheduler_Generic.h -// -// = CREATION DATE -// 19 November 1997 -// -// = AUTHOR -// David Levine -// -// ============================================================================ - -#ifndef SCHEDULER_INTERNAL_H -#define SCHEDULER_INTERNAL_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Sched/Scheduler.h" -#include "ace/Unbounded_Set.h" -#include "ace/Synch_Traits.h" -#include "ace/Recursive_Thread_Mutex.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_RTSched_Export Scheduler_Generic : public ACE_Scheduler - // = TITLE - // Implementation of an off-line scheduler. - // - // = DESCRIPTION - // Schedules tasks, assigning the same priority to all of them. -{ -public: - Scheduler_Generic (); - virtual ~Scheduler_Generic (); - - // = Initialize the scheduler. - virtual void init (const int minimum_priority, - const int maximum_priority, - const char *runtime_filename = 0, - const char *rt_info_filename = 0, - const char *timeline_filename = 0); - - // = Registers a task. - virtual status_t register_task (RT_Info *[], - const u_int number_of_modes, - handle_t &handle); - - virtual status_t lookup_rt_info (handle_t handle, - RT_Info* &rtinfo); - // Obtains an RT_Info based on its "handle". - - virtual status_t lookup_config_info (Preemption_Priority priority, - Config_Info* &config_info); - // Obtains a Config_Info based on its priority. - - // = Computes the schedule. - virtual status_t - schedule (ACE_Unbounded_Set &anomaly_set); - - // = Access a thread priority. - virtual int priority (const handle_t handle, - OS_Thread_Priority &priority, - Sub_Priority &subpriority, - Preemption_Priority &preemption_prio, - const mode_t = CURRENT_MODE) const; - // Defines "priority" as the priority that was assigned to the Task that - // was assigned "handle", for the specified mode. Defines "subpriority" - // as the relative ordering (due to dependencies) within the priority. - // Returns 0 on success, or 1 if an invalid mode or handle are supplied. - -private: - u_int handles_; - // The number of task handles dispensed so far. - - int minimum_priority_; - // The minimum priority value that the application specified (in - // its call to init ()). - - int maximum_priority_; - // The maximum priority value that the application specified (in - // its call to init ()). - - const char *runtime_filename_; - // Destination file of Scheduler output from the configuration run. - - const char *rt_info_filename_; - // Destination file of all rt_info data from the configuration run. - - const char *timeline_filename_; - // The destination of the timeline. - - int increasing_priority_; - // Set to 1 if priority values increase with increasing priority, - // such as on Solaris and Win32, or 0 if they decrease, such as on - // VxWorks. - - ACE_Unbounded_Set task_entries_; - // Collection of known tasks. - - Config_Info config_info_; - // dispatchin configuration info - -#if defined (ACE_HAS_THREADS) - typedef TAO_SYNCH_RECURSIVE_MUTEX LOCK; -#else - typedef ACE_Null_Mutex LOCK; -#endif /* ACE_HAS_THREADS */ - - LOCK lock_; - // This protects access to the scheduler during configuration runs. - - - /////////////////////////////////////// - // member functions for internal use // - /////////////////////////////////////// - - void reset (); - // Prepare for another schedule computation, but do not - // disturb the "output" (priorities that have already been assigned). - - void print_schedule (); - // Display the schedule, task-by-task. - - Scheduler_Generic (const Scheduler_Generic &); - Scheduler_Generic &operator= (const Scheduler_Generic &); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* SCHEDULER_INTERNAL_H */ - -// EOF diff --git a/TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp b/TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp deleted file mode 100644 index 8b27fdbd690..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp +++ /dev/null @@ -1,1394 +0,0 @@ -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// Strategy_Scheduler.cpp -// -// = CREATION DATE -// 22 December 1997 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#include "orbsvcs/Sched/Strategy_Scheduler.h" -#include "ace/Sched_Params.h" - -ACE_RCSID (Sched, - Strategy_Scheduler, - "$Id$") - -////////////////////////////////////////////// -// Helper function type definition for sort // -////////////////////////////////////////////// - -#if defined (ACE_HAS_WINCE) -typedef int (_cdecl* COMP_FUNC) (const void*, const void*); -#else -// This is awkward, but it makes MSVC++ happy. -extern "C" -{ -typedef int (*COMP_FUNC) (const void*, const void*); -} -#endif // ACE_HAS_WINCE - -/////////////////////////////////////////////////// -// class ACE_Strategy_Scheduler member functions // -/////////////////////////////////////////////////// - -// = Constructor. - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_Strategy_Scheduler::ACE_Strategy_Scheduler (ACE_Scheduler_Strategy &strategy) - : ACE_DynScheduler (), - strategy_ (strategy) -{ -} - - -// = Virtual destructor. - -ACE_Strategy_Scheduler::~ACE_Strategy_Scheduler () -{ -} - - -// = Sets up the schedule in the order generated -// by the strategy's comparison operators. - -ACE_DynScheduler::status_t -ACE_Strategy_Scheduler::sort_dispatches (Dispatch_Entry **dispatches, - u_int count) -{ - // Sort the entries in order of priority and subpriority. - strategy_.sort (dispatches, count); - - return ACE_DynScheduler::SUCCEEDED; -} - -// = Assigns priorities and sub-priorities to the sorted schedule, -// according to the strategy's priority comparison operator. - -ACE_DynScheduler::status_t -ACE_Strategy_Scheduler::assign_priorities ( - Dispatch_Entry **dispatches, - u_int count, - ACE_Unbounded_Set &anomaly_set) -{ - // Start with happy status. - ACE_DynScheduler::status_t status = SUCCEEDED; - - RtecScheduler::Scheduling_Anomaly * anomaly = 0; - - // Start with the highest OS priority in the given range and work downward: - // if we run out of values to assign, return an error. - int current_OS_priority = maximum_priority_; - - // Start scheduler priority at 0 (highest priority queue number) - // NOTE: 0 is highest for priority, lowest for dynamic and static subpriority. - Preemption_Priority current_scheduler_priority = 0; - - // Value the OS and scheduler priorities in 0th dispatch entry. - dispatches[0]->OS_priority (current_OS_priority); - dispatches[0]->priority (current_scheduler_priority); - - // Store the dispatch configuration for the highest priority level. - Config_Info *config_ptr; - ACE_NEW_RETURN (config_ptr, Config_Info, ST_VIRTUAL_MEMORY_EXHAUSTED); - config_ptr->preemption_priority = current_scheduler_priority; - config_ptr->thread_priority = current_OS_priority; - config_ptr->dispatching_type = strategy_.dispatch_type (*(dispatches[0])); - if (config_info_entries_->insert (config_ptr) < 0) - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - // Traverse ordered dispatch entry array, assigning priority - // (array is sorted from highest to lowest priority). - for (u_int i = 1; i < count; ++i) - { - switch (strategy_.priority_comp (*(dispatches[i-1]), - *(dispatches[i]))) - { - case -1: // The current entry is at lower priority than the previous. - { - // Decrease priority by incrementing the current scheduling priority - // number: 0 is the highest priority number. - ++current_scheduler_priority; - - // Check for OS priority level boundaries: because OS priority values - // can run in either increasing or decreasing order, there is no easy, - // portable way to check other than exact comparison to the bounds - // that were given in init () or that came from the platform itself. - if ((current_OS_priority == minimum_priority_) || - (current_OS_priority == ACE_Sched_Params::previous_priority ( - ACE_SCHED_FIFO, - current_OS_priority, - ACE_SCOPE_PROCESS))) - { - // If we have run out of priority levels to assign, indicate - // this in the return status, unless a more severe problem is - // already reflected there. Log an anomaly but keep right on - // assigning the minimum OS priority in the range to the remaining - // tasks. - status = (status == SUCCEEDED) - ? ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS - : status; - - // Log the anomaly. - anomaly = - create_anomaly (ST_INSUFFICIENT_THREAD_PRIORITY_LEVELS); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - } - else - { - // We're still in range, so decrement the current OS priority level. - current_OS_priority = - ACE_Sched_Params::previous_priority (ACE_SCHED_FIFO, - current_OS_priority, - ACE_SCOPE_PROCESS); - } - - // Store the dispatch configuration for the new priority level. - ACE_NEW_RETURN(config_ptr, Config_Info, ST_VIRTUAL_MEMORY_EXHAUSTED); - config_ptr->preemption_priority = current_scheduler_priority; - config_ptr->thread_priority = current_OS_priority; - config_ptr->dispatching_type = strategy_.dispatch_type (*(dispatches[i])); - if (config_info_entries_->insert (config_ptr) < 0) - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - - break; - } - case 0: // Still at the same priority level. - - break; - - default: // Should never reach here: something *bad* has happened. - - ACE_ERROR (( - LM_ERROR, - "Priority assignment failure: tasks" - " \"%s\" and \"%s\" are out of order.\n", - dispatches [i-1]->task_entry ().rt_info ()->entry_point.in (), - dispatches [i]->task_entry ().rt_info ()->entry_point.in ())); - - status = ACE_DynScheduler::ST_INVALID_PRIORITY_ORDERING; - - // Log the anomaly. - anomaly = - create_anomaly (ST_INVALID_PRIORITY_ORDERING); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - } - - // Set OS priority of the current dispatch entry. - dispatches[i]->OS_priority (current_OS_priority); - - // Set scheduler priority of the current dispatch entry. - dispatches[i]->priority (current_scheduler_priority); - } - - return status; -} - - -// = Assigns dynamic and static sub-priorities to the sorted dispatch -// schedule, according to the strategy's subpriority comparisons. - -ACE_DynScheduler::status_t -ACE_Strategy_Scheduler::assign_subpriorities ( - Dispatch_Entry **dispatches, - u_int count, - ACE_Unbounded_Set &anomaly_set) -{ - ACE_DynScheduler::status_t status = ACE_DynScheduler::SUCCEEDED; - RtecScheduler::Scheduling_Anomaly * anomaly = 0; - - // Start subpriority levels and element counts at 1, set level values in - // the first entry, increment the static subpriority level. - Sub_Priority dynamic_subpriority_level = 0; - Sub_Priority static_subpriority_level = 0; - u_int dynamic_subpriority_elements = 1; - u_int static_subpriority_elements = 1; - dispatches [0]->dynamic_subpriority (dynamic_subpriority_level); - dispatches [0]->static_subpriority (static_subpriority_level); - - // Advance the static subpriority level. - static_subpriority_level++; - - u_int i,j; - // Traverse ordered dispatch entry array, assigning priority - // (array is sorted from highest to lowest priority). - for (i = 1; i < count; ++i) - { - switch (strategy_.priority_comp (*(dispatches [i-1]), - *(dispatches [i]))) - { - case -1: // The current entry is at lower priority than the previous. - { - // Fill in the high to low dynamic subpriority values by subtracting - // the previously assigned subpriority value of each of element in the - // current priority level from the value of last subpriority level. - for (j = 1; j <= dynamic_subpriority_elements; ++j) - { - dispatches [i - j]-> - dynamic_subpriority (dynamic_subpriority_level - - dispatches [i - j]-> dynamic_subpriority ()); - } - for (j = 1; j <= static_subpriority_elements; ++j) - { - dispatches [i - j]-> - static_subpriority (static_subpriority_level - - dispatches [i - j]-> static_subpriority () - 1); - } - - // Reset the subpriority counters, set these values in the - // current entry, and increment the static subpriority counter. - dynamic_subpriority_elements = 1; - static_subpriority_elements = 1; - dynamic_subpriority_level = 0; - static_subpriority_level = 0; - dispatches [i]->dynamic_subpriority (dynamic_subpriority_level); - dispatches [i]->static_subpriority (static_subpriority_level); - - // Advance the static subpriority level. - static_subpriority_level++; - - break; - } - - case 0: // Still at the same priority level. - - // Compare the dynamic subpriorities. - switch (strategy_.dynamic_subpriority_comp (*(dispatches[i-1]), - *(dispatches[i]))) - { - case -1: // The current entry is at lower dynamic subpriority. - - // Increment the dynamic subpriority level. - ++dynamic_subpriority_level; - - // Update the static subpriority as well: this avoids problems - // with non-determinism if due to run-time conditions, two - // dispatches line up with identical dynamic subpriority that - // were considered different with respect to the critical instant. - dispatches [i]->static_subpriority (static_subpriority_level); - static_subpriority_level++; - static_subpriority_elements++; - - break; - - case 0: // Still at the same dynamic subpriority level. - { - switch (strategy_.static_subpriority_comp (*(dispatches[i-1]), - *(dispatches[i]))) - { - case -1: - case 0: - - // Assign and then increment the static subpriority: even if - // still at the same dynamic or static subpriority level as - // far as the scheduling strategy is concerned, assign a new - // one anyway, to give a completely deterministic schedule - // even if the dynamic subpriorities happen to align due to - // run-time variation. - dispatches [i]->static_subpriority (static_subpriority_level); - static_subpriority_level++; - static_subpriority_elements++; - break; - - default: // We should never reach here: something *bad* has happened. - - ACE_ERROR (( - LM_ERROR, - "Static subpriority assignment failure: tasks" - " \"%s\" and \"%s\" are out of order.\n", - dispatches [i-1]->task_entry ().rt_info ()->entry_point.in (), - dispatches [i]->task_entry ().rt_info ()->entry_point.in ())); - - status = ST_INVALID_PRIORITY_ORDERING; - - // Log the anomaly. - anomaly = - create_anomaly (ST_INVALID_PRIORITY_ORDERING); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - } - break; - } - - default: // We should never reach here: something *bad* has happened. - - ACE_ERROR (( - LM_ERROR, - "Dynamic subpriority assignment failure: tasks" - " \"%s\" and \"%s\" are out of order.\n", - dispatches [i-1]->task_entry ().rt_info ()->entry_point.in (), - dispatches [i]->task_entry ().rt_info ()->entry_point.in ())); - - status = ACE_DynScheduler::ST_INVALID_PRIORITY_ORDERING; - - // Log the anomaly. - anomaly = - create_anomaly (ST_INVALID_PRIORITY_ORDERING); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - } - - dispatches [i]->dynamic_subpriority (dynamic_subpriority_level); - dynamic_subpriority_elements++; - - break; - - default: // We should never reach here: something *bad* has happened. - - ACE_ERROR (( - LM_ERROR, - "Priority assignment failure: tasks" - " \"%s\" and \"%s\" are out of order.\n", - dispatches [i-1]->task_entry ().rt_info ()->entry_point.in (), - dispatches [i]->task_entry ().rt_info ()->entry_point.in ())); - - status = ACE_DynScheduler::ST_INVALID_PRIORITY_ORDERING; - - // Log the anomaly. - anomaly = - create_anomaly (ST_INVALID_PRIORITY_ORDERING); - if (anomaly) - { - anomaly_set.insert (anomaly); - } - else - { - return ST_VIRTUAL_MEMORY_EXHAUSTED; - } - } - } - - // Fill in the high to low subpriority values for the last priority - // level by subtracting the previously assigned subpriorities from - // the total number of subpriorities. - for (j = 1; j <= dynamic_subpriority_elements; ++j) - { - dispatches [i - j]-> - dynamic_subpriority (dynamic_subpriority_level - - dispatches [i - j]->dynamic_subpriority ()); - } - for (j = 1; j <= static_subpriority_elements; ++j) - { - dispatches [i - j]-> - static_subpriority (static_subpriority_level - - dispatches [i - j]->static_subpriority () - 1); - } - - return status; -} - -// = Determine the minimum critical priority number. - -ACE_DynScheduler::Preemption_Priority -ACE_Strategy_Scheduler::minimum_critical_priority () -{ - return strategy_.minimum_critical_priority (); -} - - -// = Schedules a dispatch entry into the timeline being created. - -ACE_DynScheduler::status_t -ACE_Strategy_Scheduler::schedule_timeline_entry ( - Dispatch_Entry &dispatch_entry, - ACE_Unbounded_Queue &reschedule_queue) -{ - status_t status = SUCCEEDED; - - // Timeline entries cover the execution time of the dispatch. - Time remaining_time = - dispatch_entry.task_entry().rt_info ()->worst_case_execution_time; - - // Initialize last stop time to arrival time of the dispatch. - Time last_stop = dispatch_entry.arrival (); - - TimeLine_Entry *last_entry = 0; - TimeLine_Entry *current_entry = 0; - ACE_Ordered_MultiSet_Iterator iter (*timeline_); - for (iter.first (); (remaining_time > 0U) && (iter.done () == 0); - iter.advance ()) - { - TimeLine_Entry_Link *link; - if ((iter.next (link) == 0) || (! link)) - { - return ST_BAD_INTERNAL_POINTER; - } - - // For each entry already in the timeline that is the first one for a - // dispatch, and has lower dynamic subpriority and does not have greater - // static priority, and starts in the period in which the new entry would - // execute, advance the iterator to the next timeline entry - // having a different dispatch entry (if there is such), add its dispatch - // entry to the reschedule set, remove all TimeLine_Entry_Links that - // correspond to that dispatch entry, and delete all its TimeLine_Entry - // objects as well. NOTE: 0 is highest priority, 1 next, etc. - while ((iter.done () == 0) && - (link->entry ().start() < last_stop + remaining_time) && - (link->entry ().start() >= last_stop) && - (link->entry ().prev () == 0) && - (link->entry ().dispatch_entry().priority () >= - dispatch_entry.priority ()) && - (strategy_.dynamic_subpriority (dispatch_entry, link->entry ().start ()) > - strategy_.dynamic_subpriority (link->entry ().dispatch_entry (), - link->entry ().start ()))) - { - // Point to the dispatch entry whose timeline entries will be removed and - // rescheduled, and to the timeline entry heading the bilinked list of - // timeline entries to be removed. - Dispatch_Entry *removed_dispatch_entry - = &(link->entry ().dispatch_entry()); - TimeLine_Entry *remove_entry = & (link->entry ()); - - // Put the dispatch entry into the set of entries that will be - // rescheduled at the end of this method (tail recursively). - reschedule_queue.enqueue_tail (removed_dispatch_entry); - - // Advance the iterator to the next timeline entry (if there is one) - // that is not for the dispatch entry being removed. - while (iter.done () == 0) - { - // Point to the current link. - if ((iter.next (link) == 0) || (! link)) - { - return ST_BAD_INTERNAL_POINTER; - } - - // Advance until a different dispatch entry is found, - // or we run off the end of the timeline. - if (&(link->entry ().dispatch_entry ()) == - removed_dispatch_entry) - { - iter.advance (); - } - else - { - break; - } - } - - // Remove entries corresponding to the rescheduled - // dispatch from the timeline and destroy them. - TimeLine_Entry *next_remove_entry = 0; - while (remove_entry) - { - next_remove_entry = remove_entry->next (); - - timeline_->remove (TimeLine_Entry_Link (*remove_entry)); - delete remove_entry; - - remove_entry = next_remove_entry; - } - } - - // Exit the outer loop if there are no more entries in the timeline. - if (iter.done () != 0) - { - break; - } - - // If there's room, schedule a new timeline entry for the dispatch. - if (link->entry ().start() > last_stop) - { - ACE_NEW_RETURN ( - current_entry, - TimeLine_Entry ( - dispatch_entry, - last_stop, - (((remaining_time + last_stop) < link->entry ().start()) - ? (remaining_time + last_stop) : link->entry ().start()), - dispatch_entry.arrival (), - dispatch_entry.deadline (), - (TimeLine_Entry *) 0, last_entry), - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // Patch up the pointers within the list of entries for this dispatch. - if (last_entry) - { - last_entry->next (current_entry); - } - last_entry = current_entry; - - timeline_->insert(TimeLine_Entry_Link(*current_entry)); - - // Update the remaining time and last stop values. - remaining_time -= ((remaining_time < (link->entry ().start() - last_stop)) - ? remaining_time : (link->entry ().start() - last_stop)); - } - - // Update the last stop time. - if (last_stop < link->entry ().stop ()) - { - last_stop = link->entry ().stop (); - } - } - - // If there is still dispatch time remaining, and we've - // reached the end of the list, insert what's left. - if (remaining_time > 0U) - { - ACE_NEW_RETURN ( - current_entry, - TimeLine_Entry ( - dispatch_entry, - last_stop, - remaining_time + last_stop, - dispatch_entry.arrival (), - dispatch_entry.deadline (), - 0, last_entry), - ST_VIRTUAL_MEMORY_EXHAUSTED); - - // Patch up the pointers within the list of entries for this dispatch. - if (last_entry) - { - last_entry->next (current_entry); - } - - timeline_->insert(TimeLine_Entry_Link(*current_entry)); - } - - return status; -} - - - -//////////////////////////////////////////////////////////////////// -// class template ACE_Strategy_Scheduler_Factory member functions // -//////////////////////////////////////////////////////////////////// - -// = Constructs and returns a scheduler strategized with -// an instance of the the parameterized strategy type. - -template ACE_Strategy_Scheduler * -ACE_Strategy_Scheduler_Factory::create (RtecScheduler::Preemption_Priority_t minimum_critical_priority) -{ - ACE_Strategy_Scheduler *the_scheduler = 0; - STRATEGY *the_strategy; - - ACE_NEW_RETURN(the_strategy, STRATEGY(minimum_critical_priority), 0); - - ACE_NEW_RETURN (the_scheduler, ACE_Strategy_Scheduler (*the_strategy), 0); - - return the_scheduler; -} - - - -///////////////////////////////////////////////////////////////// -// abstract base class ACE_Scheduler_Strategy member functions // -///////////////////////////////////////////////////////////////// - -// = Constructor. - -ACE_Scheduler_Strategy::ACE_Scheduler_Strategy ( - ACE_DynScheduler::Preemption_Priority minimum_critical_priority) - : minimum_critical_priority_ (minimum_critical_priority) -{ -} - -ACE_Scheduler_Strategy::~ACE_Scheduler_Strategy (void) -{ -} - -// = Compares two dispatch entries using the specific priority, dynamic -// subpriority, and static subpriority method definitions provided by -// the derived strategy class to produce the strategy specific sort -// ordering: returns -1 if the first Dispatch_Entry is greater in the order, -// 0 if they are equivalent, or 1 if the second Dispatch_Entry is greater in -// the order. - -int -ACE_Scheduler_Strategy::sort_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order first by the priority ordering. - int result = priority_comp (first_entry, second_entry); - - // Within same priority, order by dynamic subpriority. - if (result == 0) - { - result = dynamic_subpriority_comp (first_entry, second_entry); - } - - // If same dynamic subpriority, order by static subpriority. - if (result == 0) - { - result = static_subpriority_comp (first_entry, second_entry); - } - - return result; -} - -// = Provides a lowest level ordering based first on importance (descending), -// and then on the dependency topological sort finishing time (ascending). - -int -ACE_Scheduler_Strategy::static_subpriority_comp ( - const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order first by importance assigned to underlying RT_Info (descending). - if (first_entry.task_entry ().rt_info ()->importance > - second_entry.task_entry ().rt_info ()->importance) - { - return -1; - } - else if (first_entry.task_entry ().rt_info ()->importance < - second_entry.task_entry ().rt_info ()->importance) - { - return 1; - } - else - { - // Order last by the topological sort finishing time (ascending). - if (first_entry.task_entry ().finished () < - second_entry.task_entry ().finished ()) - { - return -1; - } - else if (first_entry.task_entry ().finished () > - second_entry.task_entry ().finished ()) - { - return 1; - } - else - { - return 0; - } - } -} - - -// = Base class supplies default behavior: returns 0 -// for minimum critical priority number. - -ACE_DynScheduler::Preemption_Priority -ACE_Scheduler_Strategy::minimum_critical_priority () -{ - return 0; -} - - - -///////////////////////////////////////////////////////////////////////// -// class ACE_MUF_Scheduler_Strategy static data member initializations // -///////////////////////////////////////////////////////////////////////// - -ACE_MUF_Scheduler_Strategy * ACE_MUF_Scheduler_Strategy::instance_ = 0; - -/////////////////////////////////////////////////////// -// class ACE_MUF_Scheduler_Strategy member functions // -/////////////////////////////////////////////////////// - -// = Returns an instance of the strategy. - -ACE_MUF_Scheduler_Strategy * -ACE_MUF_Scheduler_Strategy::instance () -{ - if (0 == ACE_MUF_Scheduler_Strategy::instance_) - { - ACE_NEW_RETURN (ACE_MUF_Scheduler_Strategy::instance_, - ACE_MUF_Scheduler_Strategy, 0); - } - - return ACE_MUF_Scheduler_Strategy::instance_; -} - -// = Compares two dispatch entries by maximum criticality: returns -1 if the -// first Dispatch_Entry is greater in the order, 0 if they're equivalent, or -// 1 if the second Dispatch_Entry is greater in the order. - -int -ACE_MUF_Scheduler_Strategy::priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order by criticality (descending). - if (first_entry.task_entry ().rt_info ()->criticality > - second_entry.task_entry ().rt_info ()->criticality) - { - return -1; - } - else if (first_entry.task_entry ().rt_info ()->criticality < - second_entry.task_entry ().rt_info ()->criticality) - { - return 1; - } - else - { - return 0; // Same priority level. - } -} - - -// = Sorts the dispatch entry pointer array in descending urgency order. - -void -ACE_MUF_Scheduler_Strategy::sort (Dispatch_Entry **dispatch_entries, u_int size) -{ - ACE_OS::qsort ((void *) dispatch_entries, - size, - sizeof (Dispatch_Entry *), - (COMP_FUNC) ACE_MUF_Scheduler_Strategy::sort_function); -} - - -// = Default constructor. - -ACE_MUF_Scheduler_Strategy::ACE_MUF_Scheduler_Strategy ( - ACE_DynScheduler::Preemption_Priority minimum_critical_priority) - :ACE_Scheduler_Strategy (minimum_critical_priority) -{ -} - - -// = Virtual destructor. - -ACE_MUF_Scheduler_Strategy::~ACE_MUF_Scheduler_Strategy () -{ -} - - -// = Returns a dynamic subpriority value for the given entry and the -// current time: if the operation has non-negative laxity, then the -// value is positive, and a lower laxity gives a higher dynamic -// subpriority; if the operation has negative laxity, the value -// is the (negative) laxity value. - -long -ACE_MUF_Scheduler_Strategy::dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time) -{ - long laxity = - ACE_U64_TO_U32 (entry.deadline () - current_time - - entry.task_entry ().rt_info ()->worst_case_execution_time); - - return (laxity > 0) ? LONG_MAX - laxity : laxity; -} - - -// = Orders two dispatch entries by ascending laxity: returns -1 if the -// first Dispatch_Entry is greater in the order, 0 if they're equivalent, -// 1 if the second Dispatch_Entry is greater in the order. - -int -ACE_MUF_Scheduler_Strategy::dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order by descending dynamic priority according to ascending laxity. - u_long laxity1 = - ACE_U64_TO_U32 (first_entry.deadline () - first_entry.arrival () - - first_entry.task_entry ().rt_info ()->worst_case_execution_time); - - u_long laxity2 = - ACE_U64_TO_U32 (second_entry.deadline () - first_entry.arrival () - - second_entry.task_entry ().rt_info ()->worst_case_execution_time); - - if (laxity1 < laxity2) - { - return -1; - } - else if (laxity1 > laxity2) - { - return 1; - } - else - { - return 0; - } -} - - -// = Comparison function to pass to qsort. - -int -ACE_MUF_Scheduler_Strategy::sort_function (void *arg1, void *arg2) -{ - return ACE_MUF_Scheduler_Strategy::instance ()-> - sort_comp (** static_cast (arg1), - ** static_cast (arg2)); -} - - -// = Returns the minimum critical priority number. - -ACE_DynScheduler::Preemption_Priority -ACE_MUF_Scheduler_Strategy::minimum_critical_priority () -{ - return minimum_critical_priority_; -} - - -// = Provides the dispatching queue type for the given dispatch entry. - -ACE_DynScheduler::Dispatching_Type -ACE_MUF_Scheduler_Strategy::dispatch_type (const Dispatch_Entry & /* entry */) -{ - return RtecScheduler::LAXITY_DISPATCHING; -} - - - - -///////////////////////////////////////////////////////////////////////// -// class ACE_RMS_Scheduler_Strategy static data member initializations // -///////////////////////////////////////////////////////////////////////// - -ACE_RMS_Scheduler_Strategy * ACE_RMS_Scheduler_Strategy::instance_ = 0; - -/////////////////////////////////////////////////////// -// class ACE_RMS_Scheduler_Strategy member functions // -/////////////////////////////////////////////////////// - -// = Returns an instance of the strategy. - -ACE_RMS_Scheduler_Strategy * -ACE_RMS_Scheduler_Strategy::instance () -{ - if (0 == ACE_RMS_Scheduler_Strategy::instance_) - { - ACE_NEW_RETURN (ACE_RMS_Scheduler_Strategy::instance_, - ACE_RMS_Scheduler_Strategy, 0); - } - - return ACE_RMS_Scheduler_Strategy::instance_; -} - -// = Compares two dispatch entries by minimum period: returns -1 if the -// first Dispatch_Entry is greater in the order, 0 if they're equivalent, -// or 1 if the second Dispatch_Entry is greater in the order. - -int -ACE_RMS_Scheduler_Strategy::priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // compare by decreasing dispatch period - if ((first_entry.deadline () - first_entry.arrival ()) < - (second_entry.deadline () - second_entry.arrival ())) - { - return -1; - } - else if ((first_entry.deadline () - first_entry.arrival ()) > - (second_entry.deadline () - second_entry.arrival ())) - { - return 1; - } - else - { - return 0; // same priority level - } -} - - -// = Sorts the dispatch entry pointer array in descending RMS (rate) order. - -void -ACE_RMS_Scheduler_Strategy::sort ( - Dispatch_Entry **dispatch_entries_, u_int size) -{ - ACE_OS::qsort ((void *) dispatch_entries_, - size, - sizeof (Dispatch_Entry *), - (COMP_FUNC) ACE_RMS_Scheduler_Strategy::sort_function); -} - - -// = Default constructor. - -ACE_RMS_Scheduler_Strategy::ACE_RMS_Scheduler_Strategy ( - ACE_DynScheduler::Preemption_Priority minimum_critical_priority) - :ACE_Scheduler_Strategy (minimum_critical_priority) -{ -} - - -// = Virtual destructor. - -ACE_RMS_Scheduler_Strategy::~ACE_RMS_Scheduler_Strategy () -{ -} - - -// = All entries have the same dynamic subpriority value. - -long -ACE_RMS_Scheduler_Strategy::dynamic_subpriority ( - Dispatch_Entry & /* entry */, - RtecScheduler::Time /* current_time */) -{ - return 0; -} - - -// = All tasks in a given priority level have the same dynamic -// subpriority under RMS. - -int -ACE_RMS_Scheduler_Strategy::dynamic_subpriority_comp - (const Dispatch_Entry & /* first_entry */, - const Dispatch_Entry & /* second_entry */) -{ - return 0; -} - - -// Comparison function to pass to qsort. - -int -ACE_RMS_Scheduler_Strategy::sort_function (void *arg1, void *arg2) -{ - return ACE_RMS_Scheduler_Strategy::instance ()-> - sort_comp (** static_cast (arg1), - ** static_cast (arg2)); -} - - -// = Returns minimum critical priority number. - -ACE_DynScheduler::Preemption_Priority -ACE_RMS_Scheduler_Strategy::minimum_critical_priority () -{ - return minimum_critical_priority_; -} - - -// = Provide the dispatching queue type for the given dispatch entry. - -ACE_DynScheduler::Dispatching_Type -ACE_RMS_Scheduler_Strategy::dispatch_type (const Dispatch_Entry & /* entry */) -{ - return RtecScheduler::STATIC_DISPATCHING; -} - - - -///////////////////////////////////////////////////////////////////////// -// class ACE_MLF_Scheduler_Strategy static data member initializations // -///////////////////////////////////////////////////////////////////////// - -ACE_MLF_Scheduler_Strategy * ACE_MLF_Scheduler_Strategy::instance_ = 0; - -/////////////////////////////////////////////////////// -// class ACE_MLF_Scheduler_Strategy member functions // -/////////////////////////////////////////////////////// - -// = Returns an instance of the strategy. - -ACE_MLF_Scheduler_Strategy * -ACE_MLF_Scheduler_Strategy::instance () -{ - if (0 == ACE_MLF_Scheduler_Strategy::instance_) - { - ACE_NEW_RETURN (ACE_MLF_Scheduler_Strategy::instance_, - ACE_MLF_Scheduler_Strategy, 0); - } - - return ACE_MLF_Scheduler_Strategy::instance_; -} - - -// = Just returns 0, as all dispatch entries are of equivalent -// static priority under MLF. - -int -ACE_MLF_Scheduler_Strategy::priority_comp (const Dispatch_Entry & /* first_entry */, - const Dispatch_Entry & /* second_entry */) -{ - return 0; -} - - -// = Sorts the dispatch entry pointer array in ascending laxity order. - -void -ACE_MLF_Scheduler_Strategy::sort ( - Dispatch_Entry **dispatch_entries_, u_int size) -{ - ACE_OS::qsort ((void *) dispatch_entries_, - size, - sizeof (Dispatch_Entry *), - (COMP_FUNC) ACE_MLF_Scheduler_Strategy::sort_function); -} - - -// = Default constructor. - -ACE_MLF_Scheduler_Strategy::ACE_MLF_Scheduler_Strategy ( - ACE_DynScheduler::Preemption_Priority /* minimum_critical_priority */) - :ACE_Scheduler_Strategy (0) -{ -} - - -// = Virtual destructor - -ACE_MLF_Scheduler_Strategy::~ACE_MLF_Scheduler_Strategy () -{ -} - - -// = Returns a dynamic subpriority value for the given entry and the -// current time relative to its arrival. - -long -ACE_MLF_Scheduler_Strategy::dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time) -{ - long laxity = - ACE_U64_TO_U32 (entry.deadline () - current_time - - entry.task_entry ().rt_info ()->worst_case_execution_time); - - return (laxity > 0) ? LONG_MAX - laxity : laxity; -} - - -// = Orders two dispatch entries by ascending laxity: returns -1 if the -// first Dispatch_Entry is greater in the order, 0 if they're equivalent, -// or 1 if the second Dispatch_Entry is greater in the order. - -int -ACE_MLF_Scheduler_Strategy::dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order by descending dynamic priority according to ascending laxity. - u_long laxity1 = - ACE_U64_TO_U32 (first_entry.deadline () - first_entry.arrival () - - first_entry.task_entry ().rt_info ()->worst_case_execution_time); - - u_long laxity2 = - ACE_U64_TO_U32 (second_entry.deadline () - first_entry.arrival () - - second_entry.task_entry ().rt_info ()->worst_case_execution_time); - - if (laxity1 < laxity2) - { - return -1; - } - else if (laxity1 > laxity2) - { - return 1; - } - else - { - return 0; - } -} - - -// = Comparison function to pass to qsort. - -int -ACE_MLF_Scheduler_Strategy::sort_function (void *arg1, void *arg2) -{ - return ACE_MLF_Scheduler_Strategy::instance ()-> - sort_comp (** static_cast (arg1), - ** static_cast (arg2)); -} - - -// = Provides the dispatching queue type for the given dispatch entry. - -ACE_DynScheduler::Dispatching_Type -ACE_MLF_Scheduler_Strategy::dispatch_type (const Dispatch_Entry & /* entry */) -{ - return RtecScheduler::LAXITY_DISPATCHING; -} - - - -///////////////////////////////////////////////////////////////////////// -// class ACE_EDF_Scheduler_Strategy static data member initializations // -///////////////////////////////////////////////////////////////////////// - -ACE_EDF_Scheduler_Strategy * ACE_EDF_Scheduler_Strategy::instance_ = 0; - -/////////////////////////////////////////////////////// -// class ACE_EDF_Scheduler_Strategy member functions // -/////////////////////////////////////////////////////// - -// = Returns an instance of the strategy. - -ACE_EDF_Scheduler_Strategy * -ACE_EDF_Scheduler_Strategy::instance () -{ - if (0 == ACE_EDF_Scheduler_Strategy::instance_) - { - ACE_NEW_RETURN (ACE_EDF_Scheduler_Strategy::instance_, - ACE_EDF_Scheduler_Strategy, 0); - } - - return ACE_EDF_Scheduler_Strategy::instance_; -} - -// = Just returns 0, as all dispatch entries are of -// equivalent static priority under EDF. - -int -ACE_EDF_Scheduler_Strategy::priority_comp (const Dispatch_Entry & /* first_entry */, - const Dispatch_Entry & /* second_entry */) -{ - return 0; -} - - -// = Sort the dispatch entry pointer array in ascending deadline (period) order. - -void -ACE_EDF_Scheduler_Strategy::sort ( - Dispatch_Entry **dispatch_entries_, u_int size) -{ - ACE_OS::qsort ((void *) dispatch_entries_, - size, - sizeof (Dispatch_Entry *), - (COMP_FUNC) ACE_EDF_Scheduler_Strategy::sort_function); -} - - -// = Default constructor. - -ACE_EDF_Scheduler_Strategy::ACE_EDF_Scheduler_Strategy ( - ACE_DynScheduler::Preemption_Priority /* minimum_critical_priority */) - :ACE_Scheduler_Strategy (0) -{ -} - - -// = Virtual destructor. - -ACE_EDF_Scheduler_Strategy::~ACE_EDF_Scheduler_Strategy () -{ -} - -// = Returns a dynamic subpriority value for the given entry and the -// current time relative to its arrival. - -long -ACE_EDF_Scheduler_Strategy::dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time) -{ - long time_to_deadline = - ACE_U64_TO_U32 (entry.deadline () - current_time); - - return (time_to_deadline > 0) - ? LONG_MAX - time_to_deadline : time_to_deadline; -} - - -// = Orders two dispatch entries by ascending time to deadline: returns -1 if -// the first Dispatch_Entry is greater in the order, 0 if they're equivalent, -// or 1 if the second Dispatch_Entry is greater in the order. - -int -ACE_EDF_Scheduler_Strategy::dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order by dispatchable interval (ascending). - if (first_entry.deadline () - first_entry.arrival () < - second_entry.deadline () - first_entry.arrival ()) - { - return -1; - } - else if (first_entry.deadline () - first_entry.arrival () > - second_entry.deadline () - first_entry.arrival ()) - { - return 1; - } - else - { - return 0; - } -} - - -// = Comparison function to pass to qsort. - -int -ACE_EDF_Scheduler_Strategy::sort_function (void *arg1, void *arg2) -{ - return ACE_EDF_Scheduler_Strategy::instance ()-> - sort_comp (** static_cast (arg1), - ** static_cast (arg2)); -} - -// = Provides the dispatching queue type for the given dispatch entry. - -ACE_DynScheduler::Dispatching_Type -ACE_EDF_Scheduler_Strategy::dispatch_type (const Dispatch_Entry & /* entry */) -{ - return RtecScheduler::DEADLINE_DISPATCHING; -} - - -////////////////////////////////////////////// -// class ACE_Criticality_Scheduler_Strategy // -// static data member initializations // -////////////////////////////////////////////// - -ACE_Criticality_Scheduler_Strategy * -ACE_Criticality_Scheduler_Strategy::instance_ = 0; - -/////////////////////////////////////////////////////////////// -// class ACE_Criticality_Scheduler_Strategy member functions // -/////////////////////////////////////////////////////////////// - -// = Returns an instance of the strategy. - -ACE_Criticality_Scheduler_Strategy * -ACE_Criticality_Scheduler_Strategy::instance () -{ - if (0 == ACE_Criticality_Scheduler_Strategy::instance_) - { - ACE_NEW_RETURN (ACE_Criticality_Scheduler_Strategy::instance_, - ACE_Criticality_Scheduler_Strategy, 0); - } - - return ACE_Criticality_Scheduler_Strategy::instance_; -} - -// = Compares two dispatch entries by minimum period: returns -1 if the -// first Dispatch_Entry is greater in the order, 0 if they're equivalent, -// or 1 if the second Dispatch_Entry is greater in the order. - -int -ACE_Criticality_Scheduler_Strategy::priority_comp ( - const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) -{ - // Order by criticality (descending). - if (first_entry.task_entry ().rt_info ()->criticality > - second_entry.task_entry ().rt_info ()->criticality) - { - return -1; - } - else if (first_entry.task_entry ().rt_info ()->criticality < - second_entry.task_entry ().rt_info ()->criticality) - { - return 1; - } - else - { - return 0; // Same priority level. - } -} - -// = Sorts the dispatch entry pointer array in descending criticality order. - -void -ACE_Criticality_Scheduler_Strategy::sort ( - Dispatch_Entry **dispatch_entries_, u_int size) -{ - ACE_OS::qsort ((void *) dispatch_entries_, - size, - sizeof (Dispatch_Entry *), - (COMP_FUNC) ACE_Criticality_Scheduler_Strategy::sort_function); -} - - -// = Default constructor. - -ACE_Criticality_Scheduler_Strategy::ACE_Criticality_Scheduler_Strategy ( - ACE_DynScheduler::Preemption_Priority minimum_critical_priority) - :ACE_Scheduler_Strategy (minimum_critical_priority) -{ -} - - -// = Virtual destructor. - -ACE_Criticality_Scheduler_Strategy::~ACE_Criticality_Scheduler_Strategy () -{ -} - -// = All entries have the same dynamic subpriority value. - -long -ACE_Criticality_Scheduler_Strategy::dynamic_subpriority ( - Dispatch_Entry & /* entry */, - RtecScheduler::Time /* current_time */) -{ - return 0; -} - - -// = All tasks in a given priority level have the same dynamic -// subpriority under this strategy. - -int -ACE_Criticality_Scheduler_Strategy::dynamic_subpriority_comp - (const Dispatch_Entry & /* first_entry */, - const Dispatch_Entry & /* second_entry */) -{ - return 0; -} - - -// = Comparison function to pass to qsort. - -int -ACE_Criticality_Scheduler_Strategy::sort_function (void *arg1, void *arg2) -{ - return ACE_Criticality_Scheduler_Strategy::instance ()-> - sort_comp (** static_cast (arg1), - ** static_cast (arg2)); -} - - -// = Returns minimum critical priority number. - -ACE_DynScheduler::Preemption_Priority -ACE_Criticality_Scheduler_Strategy::minimum_critical_priority () -{ - return minimum_critical_priority_; -} - -// = Provides the dispatching queue type for the given dispatch entry. - -ACE_DynScheduler::Dispatching_Type -ACE_Criticality_Scheduler_Strategy::dispatch_type ( - const Dispatch_Entry & /* entry */) -{ - return RtecScheduler::STATIC_DISPATCHING; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h b/TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h deleted file mode 100644 index e323855d33e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h +++ /dev/null @@ -1,505 +0,0 @@ -// -*- C++ -*- - -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// sched -// -// = FILENAME -// Strategy_Scheduler.h -// -// = CREATION DATE -// 22 December 1997 -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef STRATEGY_SCHEDULER_H -#define STRATEGY_SCHEDULER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/Sched/DynSched.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// forward declaration of the abstract base class for scheduler strategies -class ACE_Scheduler_Strategy; - -///////////////////////////////// -// Strategized scheduler class // -///////////////////////////////// - -class TAO_RTSched_Export ACE_Strategy_Scheduler : public ACE_DynScheduler - // = TITLE - // ACE_Strategy_Scheduler - // - // = DESCRIPTION - // Strategized scheduler implementation. Provides an implementation - // of all strategy specific scheduling mechanisms, which relies on the - // methods of the associated strategy class. -{ -// public interface -public: - - ACE_Strategy_Scheduler (ACE_Scheduler_Strategy &strategy); - // = Constructor. - - virtual ~ACE_Strategy_Scheduler (); - // = Virtual destructor. - - status_t assign_priorities ( - Dispatch_Entry **dispatches, u_int count, - ACE_Unbounded_Set &anomaly_set); - // = Assigns priorities to the sorted dispatch schedule, - // according to the strategy's priority comparison operator. - - status_t assign_subpriorities ( - Dispatch_Entry **dispatches, u_int count, - ACE_Unbounded_Set &anomaly_set); - // = Assigns dynamic and static sub-priorities to the sorted dispatch - // schedule, according to the strategy's subpriority comparisons. - - virtual Preemption_Priority minimum_critical_priority (); - // = Determine the minimum critical priority number. - -private: - - virtual status_t schedule_timeline_entry (Dispatch_Entry &dispatch_entry, - ACE_Unbounded_Queue - &reschedule_queue); - // = Schedules a dispatch entry into the timeline being created. - - virtual status_t sort_dispatches (Dispatch_Entry **dispatches, u_int count); - // = Sets up the schedule in the order generated by the strategy. - - ACE_Scheduler_Strategy &strategy_; - // = Strategy for comparing and sorting dispatch entries. - - ACE_Strategy_Scheduler (const ACE_Strategy_Scheduler &); - ACE_Strategy_Scheduler &operator= (const ACE_Strategy_Scheduler &); -}; - - - -//////////////////////////////////////// -// Factory for strategized schedulers // -//////////////////////////////////////// - -template -class ACE_Strategy_Scheduler_Factory - // = TITLE - // ACE_Strategy_Scheduler_Factory - // - // = DESCRIPTION - // Provides a type parameterized factory method that constructs - // and returns a scheduler that uses the given scheduling strategy -{ -public: - - static ACE_Strategy_Scheduler * create (RtecScheduler::Preemption_Priority_t minimum_critical_priority); - // = Constructs and returns a scheduler strategized with - // an instance of the the parameterized strategy type. -}; - - -////////////////////////// -// Scheduler Strategies // -////////////////////////// - -class TAO_RTSched_Export ACE_Scheduler_Strategy - // = TITLE - // ACE_Scheduler_Strategy - // - // = DESCRIPTION - // Abstract Base Class for scheduling strategies: each derived class - // must define an ordering strategy for dispatch entries based on a - // specific scheduling algorithm. -{ -public: - - ACE_Scheduler_Strategy (ACE_DynScheduler::Preemption_Priority minimum_critical_priority = 0); - // = Constructor. - - /// Destructor. - virtual ~ACE_Scheduler_Strategy (void); - - virtual int priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) = 0; - // = Compares two dispatch entries in strategy specific high to low - // priority ordering: returns -1 if the first Dispatch_Entry is greater - // in the order, 0 if they are equivalent, or 1 if the second - // Dispatch_Entry is greater in the order. - - virtual void sort (Dispatch_Entry **dispatch_entries, - u_int count) = 0; - // = Sorts the dispatch entry link pointer array according to - // the specific sort order defined by the strategy. - - virtual ACE_DynScheduler::Preemption_Priority minimum_critical_priority (); - // = Determines the minimum critical priority number. - - virtual int dynamic_subpriority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry) = 0; - // = Compares two dispatch entries in strategy specific high to low - // dynamic subpriority ordering: returns -1 if the first Dispatch_Entry - // is greater in the order, 0 if they are equivalent, or 1 if the - // second Dispatch_Entry is greater in the order. - - virtual long dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time) = 0; - // = Returns a dynamic subpriority value - // for the given timeline entry at the current time. - - virtual int static_subpriority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Provides a lowest level ordering based first on importance - // (descending), and then on the dependency topological sort finishing - // time (ascending). - - virtual ACE_DynScheduler::Dispatching_Type - dispatch_type (const Dispatch_Entry &entry) = 0; - // = Provide the dispatching queue type for the given dispatch entry. - -protected: - - int sort_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Compares two dispatch entries using the specific priority, dynamic - // subpriority, and static subpriority method definitions provided by - // the derived strategy class to produce the strategy specific sort - // ordering: returns -1 if the first Dispatch_Entry is greater in the - // order, 0 if they are equivalent, or 1 if the second Dispatch_Entry is - // greater in the order. This is an example of the Template Method - // pattern (and also of Pree's Unification Metapattern), in which - // derived classes provide definitions of the methods on which the - // sort_comp Template Method relies. - - ACE_DynScheduler::Preemption_Priority minimum_critical_priority_; - // = The minimum critical priority number for the strategy. -}; - - - -class TAO_RTSched_Export ACE_MUF_Scheduler_Strategy : public ACE_Scheduler_Strategy - // = TITLE - // ACE_MUF_Scheduler_Strategy - // - // = DESCRIPTION - // Defines "schedule" method using Maximum Urgency First - // scheduling algorithm. -{ -public: - - ACE_MUF_Scheduler_Strategy (ACE_DynScheduler::Preemption_Priority minimum_critical_priority = 0); - // = Constructor. - - virtual ~ACE_MUF_Scheduler_Strategy (); - // = Virtual destructor. - - static ACE_MUF_Scheduler_Strategy *instance (); - // = Returns an instance of the strategy. - - virtual int priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Compares two dispatch entries by maximum criticality: returns -1 if - // the first Dispatch_Entry is greater in the order, 0 if they're - // equivalent, or 1 if the second Dispatch_Entry is greater in the order. - - virtual void sort (Dispatch_Entry **dispatch_entries, - u_int count); - // = Sorts the dispatch entry link pointer array - // in descending urgency order. - - virtual ACE_DynScheduler::Preemption_Priority minimum_critical_priority (); - // = Determines the minimum critical priority number. - - virtual ACE_DynScheduler::Dispatching_Type - dispatch_type (const Dispatch_Entry &entry); - // = Provides the dispatching queue type for the given dispatch entry. - -protected: - - virtual long dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time); - // = Returns a dynamic subpriority value at the current time for - // the given timeline entry: if the operation has - // non-negative laxity, then the value is positive, and a lower - // laxity gives a higher dynamic subpriority; if the operation - // has negative laxity, the value is the (negative) laxity value. - - virtual int dynamic_subpriority_comp ( - const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Orders two dispatch entries by ascending laxity: returns -1 if the - // first Dispatch_Entry is greater in the order, 0 if they're equivalent, - // 1 if the second Dispatch_Entry is greater in the order. - -private: - - // = Comparison function to pass to qsort: calls instance ()->sort_comp (). -#if defined (ACE_HAS_WINCE) - static int _cdecl sort_function (void *arg1, void *arg2); -#else - static int sort_function (void *arg1, void *arg2); -#endif // ACE_HAS_WINCE - - static ACE_MUF_Scheduler_Strategy *instance_; - // Instance of the strategy. -}; - - -class TAO_RTSched_Export ACE_RMS_Scheduler_Strategy : public ACE_Scheduler_Strategy - // = TITLE - // ACE_RMS_Scheduler_Strategy - // - // = DESCRIPTION - // Defines "schedule" method using Rate Monotonic - // Scheduling algorithm. -{ -public: - - ACE_RMS_Scheduler_Strategy (ACE_DynScheduler::Preemption_Priority minimum_critical_priority = 0); - // = Constructor. - - virtual ~ACE_RMS_Scheduler_Strategy (); - // = Virtual destructor. - - static ACE_RMS_Scheduler_Strategy *instance (); - // Returns an instance of the strategy. - - virtual int priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Compares two dispatch entries by minimum period: returns -1 if the - // first Dispatch_Entry is greater in the order, 0 if they're equivalent, - // or 1 if the second Dispatch_Entry is greater in the order. - - virtual void sort (Dispatch_Entry **dispatch_entries, - u_int count); - // = Sorts the dispatch entry link pointer array in - // descending RMS (rate) order. - - virtual ACE_DynScheduler::Preemption_Priority minimum_critical_priority (); - // = Determine the minimum critical priority number. - - virtual ACE_DynScheduler::Dispatching_Type - dispatch_type (const Dispatch_Entry &entry); - // = Provide the dispatching queue type for the given dispatch entry. - -protected: - - virtual long dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time); - // = Just returns 0: all operations have - // the same dynamic subpriority value. - - virtual int dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = All dispatches in a given priority level have the same dynamic - // subpriority under RMS: just returns 0. - -private: - - static int sort_function (void *arg1, void *arg2); - // = Comparison function to pass to qsort: calls instance ()->sort_comp (). - - static ACE_RMS_Scheduler_Strategy *instance_; - // = Instance of the strategy. - -}; - - - -class TAO_RTSched_Export ACE_MLF_Scheduler_Strategy : public ACE_Scheduler_Strategy - // = TITLE - // ACE_MLF_Scheduler_Strategy - // - // = DESCRIPTION - // Defines "schedule" method using Minimum Laxity First - // scheduling algorithm. -{ -public: - - ACE_MLF_Scheduler_Strategy (ACE_DynScheduler::Preemption_Priority minimum_critical_priority = 0); - // = Constructor. - - virtual ~ACE_MLF_Scheduler_Strategy (); - // = Virtual destructor. - - static ACE_MLF_Scheduler_Strategy *instance (); - // = Returns an instance of the strategy. - - virtual int priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Just returns 0, as all dispatch entries are of equivalent - // static priority under MLF. - - virtual void sort (Dispatch_Entry **dispatch_entries, - u_int count); - // = Sorts the dispatch entry link pointer array in ascending laxity order. - - virtual ACE_DynScheduler::Dispatching_Type - dispatch_type (const Dispatch_Entry &entry); - // = Provide the dispatching queue type for the given dispatch entry. - -protected: - - virtual long dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time); - // = Returns a dynamic subpriority value at the current time for - // the given timeline entry: if the operation has - // non-negative laxity, then the value is positive, and a lower - // laxity gives a higher dynamic subpriority; if the operation - // has negative laxity, the value is the (negative) laxity value. - - virtual int dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Orders two dispatch entries by ascending laxity: returns -1 if the - // first Dispatch_Entry is greater in the order, 0 if they're equivalent, - // or 1 if the second Dispatch_Entry is greater in the order. - -private: - - static int sort_function (void *arg1, void *arg2); - // = Comparison function to pass to qsort: calls instance ()->sort_comp (). - - static ACE_MLF_Scheduler_Strategy *instance_; - // = Instance of the strategy - -}; - - -class TAO_RTSched_Export ACE_EDF_Scheduler_Strategy : public ACE_Scheduler_Strategy - // = TITLE - // ACE_EDF_Scheduler_Strategy - // - // = DESCRIPTION - // Defines "schedule" method using Earliest Deadline First - // scheduling algorithm. -{ -public: - - ACE_EDF_Scheduler_Strategy (ACE_DynScheduler::Preemption_Priority minimum_critical_priority = 0); - // = Default constructor. - - virtual ~ACE_EDF_Scheduler_Strategy (); - // = Virtual destructor. - - static ACE_EDF_Scheduler_Strategy *instance (); - // = Returns an instance of the strategy. - - virtual int priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Returns 0, as all dispatch entries are of equivalent - // priority under EDF. - - virtual void sort (Dispatch_Entry **dispatch_entries, - u_int count); - // = Sorts the dispatch entry link pointer array - // in ascending deadline (period) order. - - virtual ACE_DynScheduler::Dispatching_Type - dispatch_type (const Dispatch_Entry &entry); - // = Provide the dispatching queue type for the given dispatch entry. - -protected: - - virtual long dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time); - // = Returns a dynamic subpriority value at the current time for the - // given timeline entry: if the operation has non-negative - // time to deadline, then value is positive, and a shorter time to - // deadline gives a higher dynamic subpriority; if the operation has a - // negative time to deadline, the value is (negative) time to deadline. - - - virtual int dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Orders two dispatch entries by ascending time to deadline: returns -1 - // if the first Dispatch_Entry is greater in the order, 0 if they're - // equivalent, or 1 if the second Dispatch_Entry is greater in the order. - -private: - - static int sort_function (void *arg1, void *arg2); - // = Comparison function to pass to qsort: calls instance ()->sort_comp (). - - static ACE_EDF_Scheduler_Strategy *instance_; - // = Instance of the strategy. - -}; - - -class TAO_RTSched_Export ACE_Criticality_Scheduler_Strategy : public ACE_Scheduler_Strategy - // = TITLE - // ACE_Criticality_Scheduler_Strategy - // - // = DESCRIPTION - // Defines "schedule" method using a simple mapping directly from - // operation criticality to static priority. -{ -public: - - ACE_Criticality_Scheduler_Strategy (ACE_DynScheduler::Preemption_Priority minimum_critical_priority = 0); - // = Constructor. - - virtual ~ACE_Criticality_Scheduler_Strategy (); - // = Virtual destructor. - - static ACE_Criticality_Scheduler_Strategy *instance (); - // = Returns an instance of the strategy. - - virtual int priority_comp (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = Compares two dispatch entries by minimum period: returns -1 if the - // first Dispatch_Entry is greater in the order, 0 if they're equivalent, - // or 1 if the second Dispatch_Entry is greater in the order. - - virtual void sort (Dispatch_Entry **dispatch_entries, - u_int count); - // = Sort the dispatch entry link pointer array in descending - // criticality order. - - virtual ACE_DynScheduler::Preemption_Priority minimum_critical_priority (); - // = Determine the minimum critical priority number. - - virtual ACE_DynScheduler::Dispatching_Type - dispatch_type (const Dispatch_Entry &entry); - // Provide the dispatching queue type for the given dispatch entry. - -protected: - - virtual long dynamic_subpriority (Dispatch_Entry &entry, - RtecScheduler::Time current_time); - // = Just returns 0: all operations have - // the same dynamic subpriority value. - - virtual int dynamic_subpriority_comp - (const Dispatch_Entry &first_entry, - const Dispatch_Entry &second_entry); - // = All dispatches in a given priority level have the same dynamic - // subpriority under this strategy: just returns 0. - -private: - - static int sort_function (void *arg1, void *arg2); - // = Comparison function to pass to qsort: calls instance ()->sort_comp (). - - static ACE_Criticality_Scheduler_Strategy *instance_; - // = Instance of the strategy. - -}; - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* STRATEGY_SCHEDULER_H */ - -// EOF diff --git a/TAO/orbsvcs/orbsvcs/Sched/sched_export.h b/TAO/orbsvcs/orbsvcs/Sched/sched_export.h deleted file mode 100644 index 422a13eed9a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Sched/sched_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_RTSCHED_EXPORT_H -#define TAO_RTSCHED_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_RTSCHED_HAS_DLL) -# define TAO_RTSCHED_HAS_DLL 0 -# endif /* ! TAO_RTSCHED_HAS_DLL */ -#else -# if !defined (TAO_RTSCHED_HAS_DLL) -# define TAO_RTSCHED_HAS_DLL 1 -# endif /* ! TAO_RTSCHED_HAS_DLL */ -#endif - -#if defined (TAO_RTSCHED_HAS_DLL) && (TAO_RTSCHED_HAS_DLL == 1) -# if defined (TAO_RTSCHED_BUILD_DLL) -# define TAO_RTSched_Export ACE_Proper_Export_Flag -# define TAO_RTSCHED_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_RTSCHED_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_RTSCHED_BUILD_DLL */ -# define TAO_RTSched_Export ACE_Proper_Import_Flag -# define TAO_RTSCHED_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_RTSCHED_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_RTSCHED_BUILD_DLL */ -#else /* TAO_RTSCHED_HAS_DLL == 1 */ -# define TAO_RTSched_Export -# define TAO_RTSCHED_SINGLETON_DECLARATION(T) -# define TAO_RTSCHED_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_RTSCHED_HAS_DLL == 1 */ - -#endif /* TAO_RTSCHED_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp deleted file mode 100644 index 44ebd3e82b3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp +++ /dev/null @@ -1,795 +0,0 @@ -// $Id$ - -#include "ace/OS.h" -#include "ace/Singleton.h" -#include "ace/Null_Mutex.h" - -#include "orbsvcs/Runtime_Scheduler.h" -#include "orbsvcs/Sched/Reconfig_Scheduler.h" -#include "orbsvcs/Sched/Reconfig_Sched_Utils.h" -#include "orbsvcs/Scheduler_Factory.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Factory.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(orbsvcs, - Scheduler_Factory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Initialize static class members. -RtecScheduler::Scheduler_ptr ACE_Scheduler_Factory::server_ = 0; -ACE_Scheduler_Factory::Factory_Status ACE_Scheduler_Factory::status_ = - ACE_Scheduler_Factory::UNINITIALIZED; - - -RtecScheduler::Period_t ACE_Scheduler_Factory::period_default_ = 0; -RtecScheduler::Threads_t ACE_Scheduler_Factory::threads_default_ = 0; -RtecScheduler::Importance_t ACE_Scheduler_Factory::importance_default_ = RtecScheduler::MEDIUM_IMPORTANCE; -RtecScheduler::Criticality_t ACE_Scheduler_Factory::criticality_default_ = RtecScheduler::HIGH_CRITICALITY; -RtecScheduler::RT_Info_Enabled_Type_t ACE_Scheduler_Factory::rt_info_enable_state_default_ = RtecScheduler::RT_INFO_NON_VOLATILE; - -RtecScheduler::Period_t ACE_Scheduler_Factory::period_default() -{ - return period_default_; -} - -RtecScheduler::Threads_t ACE_Scheduler_Factory::threads_default() -{ - return threads_default_; -} - -RtecScheduler::Importance_t ACE_Scheduler_Factory::importance_default() -{ - return importance_default_; -} - -RtecScheduler::Criticality_t ACE_Scheduler_Factory::criticality_default() -{ - return criticality_default_; -} - -void ACE_Scheduler_Factory::period_default(RtecScheduler::Period_t period_default) -{ - period_default_ = period_default; -} - -void ACE_Scheduler_Factory::threads_default(RtecScheduler::Threads_t threads_default) -{ - threads_default_ = threads_default; -} - -void ACE_Scheduler_Factory::importance_default(RtecScheduler::Importance_t importance_default) -{ - importance_default_ = importance_default; -} - -void ACE_Scheduler_Factory::criticality_default(RtecScheduler::Criticality_t criticality_default) -{ - criticality_default_ = criticality_default; -} - -RtecScheduler::RT_Info_Enabled_Type_t ACE_Scheduler_Factory::rt_info_enable_state_default() -{ - return rt_info_enable_state_default_; -} - -void ACE_Scheduler_Factory::rt_info_enable_state_default(RtecScheduler::RT_Info_Enabled_Type_t rt_info_enable_state_default) -{ - rt_info_enable_state_default_ = rt_info_enable_state_default; -} - -// This symbols are extern because the automatic template -// instantiation mechanism in SunCC gets confused otherwise. -int TAO_SF_config_count = -1; -ACE_Scheduler_Factory::POD_Config_Info* TAO_SF_config_info = 0; -int TAO_SF_entry_count = -1; -ACE_Scheduler_Factory::POD_RT_Info* TAO_SF_rt_info = 0; -int TAO_SF_dependency_count = -1; -ACE_Scheduler_Factory::POD_Dependency_Info* TAO_SF_dep_info = 0; - -struct ACE_Scheduler_Factory_Data -{ - // = TITLE - // Helper struct, to encapsulate the singleton static server and - // ACE_TSS objects. We can't use ACE_Singleton directly, because - // construction of ACE_Runtime_Scheduler takes arguments. - -/* WSOA merge - commented out - ACE_Runtime_Scheduler scheduler_; - // The static runtime scheduler. -*/ - - TAO_Reconfig_Scheduler scheduler_; - // The scheduler. - - ACE_TSS > - preemption_priority_; - // The dispatch queue number of the calling thread. For access by - // applications; must be set by either the application or Event - // Channel. - - ACE_Scheduler_Factory_Data (void) - : scheduler_ (TAO_SF_config_count, - TAO_SF_config_info, - TAO_SF_entry_count, - TAO_SF_rt_info, - TAO_SF_dependency_count, - TAO_SF_dep_info, - 0), - preemption_priority_ () - { - } -}; - -static ACE_Scheduler_Factory_Data *ace_scheduler_factory_data = 0; - -int ACE_Scheduler_Factory::use_runtime (int cc, - POD_Config_Info cfgi[], - int ec, - POD_RT_Info rti[]) -{ - if (server_ != 0 || TAO_SF_entry_count != -1) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_Scheduler_Factory::use_runtime - ") - ACE_TEXT("server already configured\n")), - -1); - TAO_SF_config_count = cc; - TAO_SF_config_info = cfgi; - TAO_SF_entry_count = ec; - TAO_SF_rt_info = rti; - status_ = ACE_Scheduler_Factory::RUNTIME; - - return 0; -} - -static RtecScheduler::Scheduler_ptr -static_server (void) -{ - RtecScheduler::Scheduler_ptr server_ = 0; - - // This isn't thread safe, but the static instance that it replaces - // wasn't thread safe either. Hola, Sr. Sandiego :-) If it needs to - // be made thread safe, it should be protected using double-checked - // locking. - if (! ace_scheduler_factory_data && - (ace_scheduler_factory_data = - ACE_Singleton::instance ()) == 0) - return 0; - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - server_ = ace_scheduler_factory_data->scheduler_._this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("ACE_Scheduler_Factory - configured static server\n"))); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT("ACE_Scheduler_Factory::config_runtime - ") - ACE_TEXT("cannot allocate server\n")); - } - ACE_ENDTRY; - - return server_; -} - -int -ACE_Scheduler_Factory::use_config (CosNaming::NamingContext_ptr naming) -{ - return ACE_Scheduler_Factory::use_config (naming, - "ScheduleService"); -} - -int -ACE_Scheduler_Factory::use_config (CosNaming::NamingContext_ptr naming, - const char* name) -{ - if (server_ != 0 || TAO_SF_entry_count != -1) - // No errors, runtime execution simply takes precedence over - // config runs. - return 0; - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - CosNaming::Name schedule_name (1); - schedule_name.length (1); - schedule_name[0].id = CORBA::string_dup (name); - CORBA::Object_var objref = - naming->resolve (schedule_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - server_ = - RtecScheduler::Scheduler::_narrow(objref.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - server_ = 0; - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - ACE_TEXT("ACE_Scheduler_Factory::use_config - ") - ACE_TEXT(" exception while resolving server\n")); - } - ACE_ENDTRY; - - status_ = ACE_Scheduler_Factory::CONFIG; - return 0; -} - -int -ACE_Scheduler_Factory::server (RtecScheduler::Scheduler_ptr sptr) -{ - if (server_ != 0 || TAO_SF_entry_count != -1) - return -1; - - server_ = RtecScheduler::Scheduler::_duplicate (sptr); - return 0; -} - -RtecScheduler::Scheduler_ptr -ACE_Scheduler_Factory::server (void) -{ - if (server_ == 0 && TAO_SF_entry_count != -1) - server_ = static_server (); - - if (server_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT("ACE_Scheduler_Factor::server - ") - ACE_TEXT("no scheduling service configured\n")), - 0); - return server_; -} - -static char header[] = -"// $Id $\n\n" -"// This file was automatically generated by the Scheduler_Factory.\n" -"// Before editing the file please consider generating it again.\n" -"\n" -"#include \"orbsvcs/Scheduler_Factory.h\"\n" -"\n"; - -static char footer[] = -"\n" -"// This sets up Scheduler_Factory to use the runtime version.\n" -"int scheduler_factory_setup = \n" -" ACE_Scheduler_Factory::use_runtime (configs_size, configs, infos_size, infos);\n" -"\n" -"// EOF\n"; - -static char start_anomalies_found[] = -"\n// The following scheduling anomalies were detected:\n"; - -static char start_anomalies_none[] = -"\n// There were no scheduling anomalies.\n"; - -static char start_infos[] = -"\n\nstatic ACE_Scheduler_Factory::POD_RT_Info infos[] = {\n"; - -static char end_infos[] = -"};\n\n" -"static int infos_size = sizeof(infos)/sizeof(infos[0]);\n\n"; - -static char end_infos_empty[] = -"};\n\n" -"static int infos_size = 0;\n\n"; - -static char start_dependencies[] = -"\n\nstatic ACE_Scheduler_Factory::POD_Dependency_Info dependencies[] = {\n"; - -static char end_dependencies[] = -"};\n\n" -"static int dependencies_size = sizeof(dependencies)/sizeof(dependencies[0]);\n\n"; - -static char end_dependencies_empty[] = -"};\n\n" -"static int dependencies_size = 0;\n\n"; - -static char start_configs[] = -"\nstatic ACE_Scheduler_Factory::POD_Config_Info configs[] = {\n"; - -static char end_configs[] = -"};\n\n" -"static int configs_size = sizeof(configs)/sizeof(configs[0]);\n\n"; - -static char end_configs_empty[] = -"};\n\n" -"static int configs_size = 0;\n\n"; - -int ACE_Scheduler_Factory::dump_schedule - (const RtecScheduler::RT_Info_Set& infos, - const RtecScheduler::Dependency_Set& dependencies, - const RtecScheduler::Config_Info_Set& configs, - const RtecScheduler::Scheduling_Anomaly_Set& anomalies, - const char* file_name, - const char* rt_info_format, - const char* dependency_format, - const char* config_info_format, - int dump_disabled_infos, - int dump_disabled_dependencies) -{ - u_int i; - char entry_point [BUFSIZ]; - - // Default format for printing RT_Info output. - if (rt_info_format == 0) - rt_info_format = "{%20s, /* entry_point */\n" - "%10d, /* handle */\n" - "%10d, /* worst_case_execution_time */,\n" - "%10d, /* typical_execution_time */,\n" - "%10d, /* cached_execution_time */,\n" - "%10d, /* period */\n" - "(RtecScheduler::Criticality_t) %d, /* [ VL_C = 0, L_C = 1, M_C = 2, H_C = 3, VH_C = 4] */\n" - "(RtecScheduler::Importance_t) %d, /* [ VL_I = 0, L_I = 1, M_I = 2, H_I = 3, VH_I = 4] */\n" - "%10d, /* quantum */\n" - "%10d, /* threads */\n" - "%10d, /* priority */\n" - "%10d, /* preemption_subpriority */\n" - "%10d, /* preemption_priority */\n" - "(RtecScheduler::Info_Type_t) %d, /* [OPERATION = 0, CONJUNCTION = 1, DISJUNCTION = 2, REMOTE_DEPENDANT = 3] */\n" - "(RtecScheduler::RT_Info_Enabled_Type_t) %d } /* [RT_INFO_DISABLED = 0, RT_INFO_ENABLED = 1, RT_INFO_NON_VOLATILE = 2] */\n"; - - - // Default format for printing dependency output. - if (dependency_format == 0) - dependency_format = " { (RtecScheduler::Dependency_Type_t) %d, %10d, " - "%10d, %10d," - "(RtecScheduler::Dependency_Enabled_Type_t) %d }"; - - // Default format for printing Config_Info output. - if (config_info_format == 0) - config_info_format = " { %10d, %10d, " - "(RtecScheduler::Dispatching_Type_t) %d }"; - - FILE* file = stdout; - if (file_name != 0) - { - file = ACE_OS::fopen (ACE_TEXT_CHAR_TO_TCHAR(file_name), ACE_TEXT("w")); - if (file == 0) - return -1; - } - ACE_OS::fprintf (file, header); - - // Indicate anomalies encountered during scheduling. - - ACE_OS::fprintf(file, (anomalies.length () > 0 - ? start_anomalies_found - : start_anomalies_none)); - - for (i = 0; i < anomalies.length (); ++i) - { - const RtecScheduler::Scheduling_Anomaly& anomaly = anomalies[i]; - switch (anomaly.severity) - { - case RtecScheduler::ANOMALY_FATAL: - ACE_OS::fprintf(file, "FATAL: "); - break; - - case RtecScheduler::ANOMALY_ERROR: - ACE_OS::fprintf(file, "ERROR: "); - break; - - case RtecScheduler::ANOMALY_WARNING: - ACE_OS::fprintf(file, "// WARNING: "); - break; - - default: - ACE_OS::fprintf(file, "// UNKNOWN: "); - break; - } - - ACE_OS::fprintf (file, - "%s\n", - (const char *) anomaly.description); - } - - // Print out banner indicating which infos are dumped. - if (dump_disabled_infos) - { - ACE_OS::fprintf (file, "\n// Both enabled and disabled RT_Infos were dumped to this file.\n\n"); - } - else - { - ACE_OS::fprintf (file, "\n// Only enabled RT_Infos were dumped to this file.\n\n"); - } - - // Print out operation QoS info. - ACE_OS::fprintf (file, start_infos); - - for (i = 0; - i < infos.length (); - ++i) - { - const RtecScheduler::RT_Info& info = infos[i]; - - if (dump_disabled_infos - || info.enabled == RtecScheduler::RT_INFO_ENABLED - || info.enabled == RtecScheduler::RT_INFO_NON_VOLATILE) - { - if (i != 0) - // Finish previous line. - ACE_OS::fprintf(file, ",\n"); - - const RtecScheduler::RT_Info& info = infos[i]; - - // Put quotes around the entry point name, exactly as it is stored. - ACE_OS::sprintf (entry_point, - "\"%s\"", - (const char *) info.entry_point); - - // @@ TODO Eventually the TimeT structure will be a 64-bit - // unsigned int, we will have to change this dump method then. - ACE_OS::fprintf (file, - rt_info_format, - entry_point, - info.handle, - ACE_CU64_TO_CU32 (info.worst_case_execution_time), - ACE_CU64_TO_CU32 (info.typical_execution_time), - ACE_CU64_TO_CU32 (info.cached_execution_time), - info.period, - info.criticality, - info.importance, - ACE_CU64_TO_CU32 (info.quantum), - info.threads, - info.priority, - info.preemption_subpriority, - info.preemption_priority, - info.info_type, - info.enabled); - } - } - - // Finish last line. - ACE_OS::fprintf(file, "\n"); - - if (infos.length () > 0) - ACE_OS::fprintf (file, end_infos); - else - ACE_OS::fprintf (file, end_infos_empty); - - // Print out banner indicating which dependencies are dumped. - if (dump_disabled_dependencies) - { - ACE_OS::fprintf (file, "\n// Both enabled and disabled dependencies were dumped to this file.\n\n"); - } - else - { - ACE_OS::fprintf (file, "\n// Only enabled dependencies were dumped to this file.\n\n"); - } - - // Print out operation dependency info. - ACE_OS::fprintf (file, start_dependencies); - - for (i = 0; - i < dependencies.length (); - ++i) - { - const RtecScheduler::Dependency_Info& dep = dependencies[i]; - - if (dump_disabled_infos - || dep.enabled == RtecBase::DEPENDENCY_ENABLED - || dep.enabled == RtecBase::DEPENDENCY_NON_VOLATILE) - { - // Finish previous line. - if (i != 0) - { - ACE_OS::fprintf (file, ",\n"); - } - - ACE_OS::fprintf (file, - dependency_format, - dep.dependency_type, - dep.number_of_calls, - dep.rt_info, - dep.rt_info_depended_on, - dep.enabled); - } - } - - // Finish last line. - ACE_OS::fprintf (file, "\n"); - - if (dependencies.length () > 0) - ACE_OS::fprintf (file, end_dependencies); - else - ACE_OS::fprintf (file, end_dependencies_empty); - - - // Print out queue configuration info. - ACE_OS::fprintf (file, start_configs); - - for (i = 0; - i < configs.length (); - ++i) - { - if (i != 0) - // Finish previous line. - ACE_OS::fprintf (file, ",\n"); - - const RtecScheduler::Config_Info& config = configs[i]; - ACE_OS::fprintf (file, - config_info_format, - config.preemption_priority, - config.thread_priority, - config.dispatching_type); - } - - // Finish last line. - ACE_OS::fprintf (file, "\n"); - - if (configs.length () > 0) - ACE_OS::fprintf (file, end_configs); - else - ACE_OS::fprintf (file, end_configs_empty); - - ACE_OS::fprintf (file, footer); - ACE_OS::fclose (file); - return 0; -} - -void ACE_Scheduler_Factory::log_scheduling_entry(TAO_Reconfig_Scheduler_Entry * entry, FILE* file) -{ - - if( entry == 0 ) - { - ACE_OS::fprintf (file, "Entry is NULL"); - return; - } - - // Print out the actual rt_info data - const char* rt_info_format = "{%20s, /* entry_point */\n" - "%10d, /* handle */\n" - "%10d, /* period */\n" - "%10d, /* criticality */\n" - "%10d, /* threads */\n" - "%10d, /* priority */\n" - "%10d, /* preemption_subpriority */\n" - "%10d, /* preemption_priority */\n" - "%10d /* enabled */\n"; - - TAO_RT_Info_Ex* actual_info = entry->actual_rt_info(); - - ACE_OS::fprintf (file, - rt_info_format, - actual_info->entry_point.in(), - actual_info->handle, - actual_info->period, - actual_info->criticality, - actual_info->threads, - actual_info->priority, - actual_info->preemption_subpriority, - actual_info->preemption_priority, - actual_info->enabled); - - - // Print out the current admitted tuple - const char* admitted_tuple_format = " {" - "%13d, /* handle */\n" - "%13d, /* rate_index */\n" - "%13d, /* period */\n" - "%13d, /* criticality */\n" - "%13d, /* priority */\n" - "%13d, /* preemption_subpriority */\n" - "%13d, /* preemption_priority */\n" - "%13d } /* enabled */\n"; - - TAO_RT_Info_Tuple* current_admitted_tuple = entry->current_admitted_tuple(); - - ACE_OS::fprintf(file, "\n Current admitted Tuple:\n"); - if( current_admitted_tuple == 0 ) - { - ACE_OS::fprintf (file, " =>NONE_ADMITTED\n"); - } - else - { - ACE_OS::fprintf (file, - admitted_tuple_format, - current_admitted_tuple->handle, - current_admitted_tuple->rate_index, - current_admitted_tuple->period, - current_admitted_tuple->criticality, - current_admitted_tuple->priority, - current_admitted_tuple->preemption_subpriority, - current_admitted_tuple->preemption_priority, - current_admitted_tuple->enabled); - } - - // Print out the orig_tuple_subset_ - ACE_OS::fprintf(file, "\n Original Tuple Subset\n {\n"); - log_tuple_subset(entry->orig_tuple_subset(), file); - ACE_OS::fprintf(file, "\n }"); - - // Print out the prop_tuple_subset_ - ACE_OS::fprintf(file, "\n Propagated Tuple Subset\n {\n"); - log_tuple_subset(entry->prop_tuple_subset(), file); - ACE_OS::fprintf(file, "\n }\n}"); - - -} - -void ACE_Scheduler_Factory::log_tuple_subset(TUPLE_SET & tuple_subset, - FILE* file) -{ - TAO_RT_Info_Tuple **tuple_ptr_ptr; - const char* subset_tuple_format = " {\n" - "%13d, /* handle */\n" - "%13d, /* rate_index */\n" - "%13d, /* period */\n" - "%13d, /* criticality */\n" - "%13d, /* threads */\n" - "%13d, /* priority */\n" - "%13d, /* preemption_subpriority */\n" - "%13d, /* preemption_priority */\n" - "%13d } /* enabled */\n"; - - TUPLE_SET_ITERATOR - tuple_iter (tuple_subset); - - - while (tuple_iter.done () == 0) - { - // Get a pointer to the tuple COPY under the iterator. - if (tuple_iter.next (tuple_ptr_ptr) == 0 - || tuple_ptr_ptr == 0 || ((*tuple_ptr_ptr) == 0) ) - { - ACE_OS::fprintf (file, "{ NULL TUPLE POINTER }\n"); - } - else - { - - ACE_OS::fprintf (file, - subset_tuple_format, - (*tuple_ptr_ptr)->handle, - (*tuple_ptr_ptr)->rate_index, - (*tuple_ptr_ptr)->period, - (*tuple_ptr_ptr)->criticality, - (*tuple_ptr_ptr)->threads, - (*tuple_ptr_ptr)->priority, - (*tuple_ptr_ptr)->preemption_subpriority, - (*tuple_ptr_ptr)->preemption_priority, - (*tuple_ptr_ptr)->enabled); - } - - tuple_iter.advance (); - } -} - -int -ACE_Scheduler_Factory::log_scheduling_entries(TAO_Reconfig_Scheduler_Entry ** entry_ptr_array, - long entry_ptr_array_size, - const char* file_name) -{ - // Open the file - FILE* file = stdout; - if (file_name != 0) - { - file = ACE_OS::fopen (file_name, ACE_TEXT ("w")); - if (file == 0) - return -1; - } - - - // Iterate through the array. The index is the (handle - 1) of the rt_info in the array - for(int index = 0; index < entry_ptr_array_size; ++index) - { - ACE_OS::fprintf(file, "\n\nScheduler Entry Array contents\n"); - TAO_Reconfig_Scheduler_Entry * entry = entry_ptr_array[index]; - - log_scheduling_entry(entry, file); - - - } - - - ACE_OS::fclose (file); - return 0; - -} - -void -ACE_Scheduler_Factory::log_scheduling_tuples( - TAO_RT_Info_Tuple ** tuple_ptr_array, - long tuple_ptr_array_size, - const char* file_name) -{ - // Open the file - FILE* file = stdout; - if (file_name != 0) - { - file = ACE_OS::fopen (file_name, ACE_TEXT ("w")); - if (file == 0) - return; - } - - static const char subset_tuple_format[] = - " {\n" - "%13d, /* handle */\n" - "%13lu, /* rate_index */\n" - "%13d, /* period */\n" - "%13d, /* criticality */\n" - "%13d, /* priority */\n" - "%13d, /* preemption_subpriority */\n" - "%13d, /* preemption_priority */\n" - "%13d } /* enabled */\n"; - - for (int ndx = 0; ndx < tuple_ptr_array_size; ndx++) - { - fprintf(file, - subset_tuple_format, - tuple_ptr_array[ndx]->handle, - tuple_ptr_array[ndx]->rate_index, - tuple_ptr_array[ndx]->period, - tuple_ptr_array[ndx]->criticality, - tuple_ptr_array[ndx]->priority, - tuple_ptr_array[ndx]->preemption_subpriority, - tuple_ptr_array[ndx]->preemption_priority, - tuple_ptr_array[ndx]->enabled); - } - - ACE_OS::fclose (file); -} -#if defined (HPUX) && !defined (__GNUG__) - // aCC can't handle RtecScheduler::Preemption_Priority_t used as an operator - // name. - typedef CORBA::Long RtecScheduler_Preemption_Priority_t; -#endif /* HPUX && !g++ */ - -RtecScheduler::Preemption_Priority_t -ACE_Scheduler_Factory::preemption_priority (void) -{ - // Return whatever we've got. The application or Event Channel is - // responsible for making sure that it was set. - if (ace_scheduler_factory_data->preemption_priority_.ts_object ()) - { - ACE_TSS_Type_Adapter *tss = - ace_scheduler_factory_data->preemption_priority_; - // egcs 1.0.1 raises an internal compiler error if we implicitly - // call the type conversion operator. So, call it explicitly. -#if defined (HPUX) && !defined (__GNUG__) - const RtecScheduler::Preemption_Priority_t preemption_priority = - static_cast (tss->operator RtecScheduler_Preemption_Priority_t ()); -#else - const RtecScheduler::Preemption_Priority_t preemption_priority = - static_cast (tss->operator RtecScheduler::Preemption_Priority_t ()); -#endif /* HPUX && !g++ */ - return preemption_priority; - } - else - return static_cast (-1); -} - -void -ACE_Scheduler_Factory::set_preemption_priority - (const RtecScheduler::Preemption_Priority_t preemption_priority) -{ - // Probably don't need this, because it should be safe to assume - // that static_server () was called before this function. But just - // in case . . . - if (!ace_scheduler_factory_data - && (ace_scheduler_factory_data = - ACE_Singleton::instance ()) == 0) - return; - - ace_scheduler_factory_data->preemption_priority_-> -#if defined (HPUX) && !defined (__GNUG__) - // aCC can't handle the typedef. - operator RtecScheduler_Preemption_Priority_t & () = preemption_priority; -#else - operator RtecScheduler::Preemption_Priority_t & () = preemption_priority; -#endif /* HPUX && !g++ */ -} - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton *ACE_Singleton::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h deleted file mode 100644 index f0b9fdf91ab..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h +++ /dev/null @@ -1,280 +0,0 @@ -// -*- C++ -*- - -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Scheduler_Factory.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef ACE_SCHEDULER_FACTORY_H -#define ACE_SCHEDULER_FACTORY_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/CosNamingC.h" -#include "orbsvcs/RtecSchedulerC.h" -#include "orbsvcs/Sched/sched_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Reconfig_Scheduler_Entry; -struct TAO_RT_Info_Tuple; -typedef ACE_Ordered_MultiSet TUPLE_SET; -typedef ACE_Ordered_MultiSet_Iterator TUPLE_SET_ITERATOR; - -class TAO_RTSched_Export ACE_Scheduler_Factory -{ - // = TITLE - // Factory of scheduler services. - // - // = DESCRIPTION - // This class acts as a factory for scheduler servers. At config - // time it will return a remote server, which will actually - // compute the scheduling parameters. At run-time it returns a - // local server, which will use the results of the config runs to - // actually do the scheduling, without incurring in RPC overheads. -public: - enum Factory_Status - { - // = TITLE - // Factory Status - // - // = DESCRIPTION - // This type enumerates the possible states of the factory: - // uninitialized, or in a configuration, runtime, or - // reconfigurable mode of operation. - - UNINITIALIZED, - CONFIG, - RECONFIG, - RUNTIME - }; - - struct POD_RT_Info - { - // = TITLE - // Plain Old Data for RT_Infos. - // - // = DESCRIPTION - // This class provide us with a plain old data version of - // RT_Info, this is useful for implementing arrays of - // those. - - const char *entry_point; - RtecScheduler::handle_t handle; - RtecScheduler::Time worst_case_execution_time; - RtecScheduler::Time typical_execution_time; - RtecScheduler::Time cached_execution_time; - RtecScheduler::Period_t period; - CORBA::Long criticality; - CORBA::Long importance; - RtecScheduler::Quantum_t quantum; - RtecScheduler::Threads_t threads; - RtecScheduler::OS_Priority priority; - RtecScheduler::Preemption_Subpriority_t static_subpriority; - RtecScheduler::Preemption_Priority_t preemption_priority; - CORBA::Long info_type; - RtecScheduler::RT_Info_Enabled_Type_t enabled; - - }; - - - struct POD_Dependency_Info - { - // = TITLE - // Plain Old Data for RT_Info Dependencies. - // - // = DESCRIPTION - // This class provide us with a plain old data version of - // dependencies between RT_Infos. This is useful for implementing - // arrays of those. - - RtecScheduler::Dependency_Type_t dependency_type; - CORBA::Long number_of_calls; - RtecScheduler::handle_t info_that_depends; - RtecScheduler::handle_t info_depended_on; - RtecScheduler::Dependency_Enabled_Type_t enabled; - }; - - struct POD_Config_Info - { - // = TITLE - // Plain Old Data for dispatch queue configuration information. - // - // = DESCRIPTION - // This class provide us with a plain old data version of - // configuration info, which is useful for implementing static arrays - // NOTE: if used in an array, the run-time scheduler requires that the - // array index match the preemption priority stored in the config info - // at that index: this is used to detect uninitialized/corrupted schedules - RtecScheduler::Preemption_Priority_t preemption_priority; - RtecScheduler::OS_Priority thread_priority; - RtecScheduler::Dispatching_Type_t dispatching_type; - }; - - struct POD_Scheduling_Anomaly - { - // = TITLE - // Plain Old Data for scheduling anomaly information. - // - // = DESCRIPTION - // This class provide us with a plain old data version of - // scheduling anomalies, which is used to generate error - // and warning lines in the runtime scheduling header output. - - const char* description; - RtecScheduler::Anomaly_Severity severity; - }; - - static int use_config (CosNaming::NamingContext_ptr naming); - // Setup the variables needed for a config run, using the - // NamingContext to locate a Scheduler. - - static int use_config (CosNaming::NamingContext_ptr naming, - const char* name); - // Setup the variables needed for a config run, using the - // NamingContext to locate a Scheduler. - - static int use_runtime (int cc, - POD_Config_Info cfgi[], - int ec, - POD_RT_Info rti[]); - // Disable config runs in the Factory and sets up the precomputed - // scheduling information. - - static int server (RtecScheduler::Scheduler_ptr); - static RtecScheduler::Scheduler_ptr server (void); - // Return the Real-time Scheduling Service used for this run. - // Must have been configured either using use_context() or use_data(). - // - // Normally use_data() is called at static elaboration time, so - // everything is automatic. On config runs use_context() is called - // from main, after resolve_initial_references. - - static int dump_schedule (const RtecScheduler::RT_Info_Set& infos, - const RtecScheduler::Dependency_Set& dependencies, - const RtecScheduler::Config_Info_Set& configs, - const RtecScheduler::Scheduling_Anomaly_Set& anomalies, - const char* file_name = 0, - const char* rt_info_format = 0, - const char* dependency_format = 0, - const char* config_info_format = 0, - int dump_disabled_infos = 0, - int dump_disabled_dependencies = 0); - // This helper function will dump the schedule returned by a - // RtecScheduler::Scheduler into a file, the file can be compiled to - // create an efficient local implementation of the Scheduler. - - // TODO: How to do cleanup()? Use the ACE_Object_Manager stuff? - - static void log_scheduling_entry(TAO_Reconfig_Scheduler_Entry * entry, - FILE* file); - // This helper function prints out a single scheduling entry contents - - static int log_scheduling_entries(TAO_Reconfig_Scheduler_Entry ** entry_ptr_array, - long entry_ptr_array_size, - const char* file_name); - // This helper function prints out the intermediate scheduling entries - - static void log_scheduling_tuples(TAO_RT_Info_Tuple ** tuple_ptr_array, - long tuple_ptr_array_size, - const char* file_name); - // This helper function prints out the arry used to create scheduling entries - // sorted in topological order then priority order - - static void log_tuple_subset(TUPLE_SET & tuple_subset, - FILE* file); - - static Factory_Status status (void); - // This helper function allows the application to determine whether - // the factory is uninitialized, or in a config or runtime mode of - // operation. - - // = Access the (OS independent) preemption priority of the calling thread. - static RtecScheduler::Preemption_Priority_t preemption_priority (); - // Returns (u_int) -1 if the preemption priority hadn't been set. - - // = Set the (OS independent) preemption priority of the calling thread. - static void set_preemption_priority - (const RtecScheduler::Preemption_Priority_t); - // The application or Event Channel is responsible for making sure - // that the preemption priority is set before any access of the - // preemption priority. - - // Accessor for obtaining the default period (Boeing Extension) - static RtecScheduler::Period_t period_default(); - // Method for setting the default period (Boeing Extension) - static void period_default(RtecScheduler::Period_t period_default); - - // Accessor for obtaining the default threads (Boeing Extension) - static RtecScheduler::Threads_t threads_default(); - // Method for setting the default threads (Boeing Extension) - static void threads_default(RtecScheduler::Threads_t threads_default); - - // Accessor for obtaining the default importance (VERY_LOW_IMPORTANCE to VERY_HIGH_IMPORTANCE). (Boeing Extension) - static RtecScheduler::Importance_t importance_default(); - // Method for setting the default importance (VERY_LOW_IMPORTANCE to VERY_HIGH_IMPORTANCE). (Boeing Extension) - static void importance_default(RtecScheduler::Importance_t importance_default); - - // Accessor for obtaining the default criticality (VERY_LOW_CRITICALITY to VERY_HIGH_CRITICALITY). (Boeing Extension) - static RtecScheduler::Criticality_t criticality_default(); - // Method for setting the default criticality (VERY_LOW_CRITICALITY to VERY_HIGH_CRITICALITY). (Boeing Extension) - static void criticality_default(RtecScheduler::Criticality_t criticality_default); - - // Accessor for obtaining the default rt_info enabled state. (RT_INFO_DISABLED, RT_INFO_ENABLED, or RT_INFO_NON_VOLATILE) - static RtecScheduler::RT_Info_Enabled_Type_t rt_info_enable_state_default(); - - // Method for setting the default rt_info enabled state. (RT_INFO_DISABLED, RT_INFO_ENABLED, or RT_INFO_NON_VOLATILE) - static void rt_info_enable_state_default(RtecScheduler::RT_Info_Enabled_Type_t rt_info_enable_state_default); - -protected: - - static int no_config_run (void); - // By default this factory assumes we are runnning a config - // run. Calling this method disables that. Since the methods - // returns an int it can be used to initialize a static variable, - // hence calling it before main(); this technique can be used in the - // code emitted for the run-time scheduler, automagically disabling - // the config_run() when that code is linked in. - -private: - static RtecScheduler::Scheduler_ptr server_; - - static Factory_Status status_; - // Default period configuration. (Boeing Extension) - static RtecScheduler::Period_t period_default_; - // Default threads configuration. (Boeing Extension) - static RtecScheduler::Threads_t threads_default_; - - // Default importance configuration. (Boeing Extension) - static RtecScheduler::Importance_t importance_default_; - // Default criticality. (Boeing Extension) - static RtecScheduler::Criticality_t criticality_default_; - - // Default rt_info enabled state. (Boeing Extension) - static RtecScheduler::RT_Info_Enabled_Type_t rt_info_enable_state_default_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Factory.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* ACE_SCHEDULER_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i deleted file mode 100644 index 2c01870582f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i +++ /dev/null @@ -1,21 +0,0 @@ -// -*- C++ -*- - -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// This helper function allows the application to determine whether -// the factory is uninitialized, or in a config or runtime mode of -// operation. - -ACE_INLINE ACE_Scheduler_Factory::Factory_Status -ACE_Scheduler_Factory::status (void) -{ - return status_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp deleted file mode 100644 index b2454e5155f..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// $Id$ - -#include "orbsvcs/Scheduler_Utilities.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Utilities.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID (orbsvcs, - Scheduler_Utilities, - "$Id$") - diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h deleted file mode 100644 index 6c39123b4f9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Scheduler_Utilities.h -// -// = AUTHOR -// Chris Gill -// -// ============================================================================ - -#ifndef ACE_SCHEDULER_UTILITIES_H -#define ACE_SCHEDULER_UTILITIES_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/RtecSchedulerC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Sched/sched_export.h" - -class TAO_RTSched_Export ACE_RT_Info : public RtecScheduler::RT_Info -{ - // = TITLE - // Offers a convenient C++ interface to the IDL RT_Info structure. - // - // = DESCRIPTION - // For performance reasons the RT_Info data is represented as an - // IDL structure, this permits sending complete RT_Info's from the - // client to the server. Unfortunately this precludes the usage - // of member functions and constructors, this class serves as a - // helper to implement those without loosing the performance on - // IDL. -public: - - /// Construct a helper class instance from values for - /// the fields of the IDL struct it wraps. - ACE_RT_Info (const char* entry_point, - RtecScheduler::Time worst_time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period_t period, - RtecScheduler::Importance_t importance, - RtecScheduler::Quantum_t quantum, - CORBA::Long threads); - - /// Construct a helper class instance from the IDL struct it wraps. - ACE_RT_Info (const RtecScheduler::RT_Info& rt_info); - - /// Add a dependency of one RT_Info upon another. - int add_dependency(RtecScheduler::handle_t dep, - int number_of_calls = 1); - -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Utilities.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" -#endif /* ACE_SCHEDULER_UTILITIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i deleted file mode 100644 index ede4dc7780d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i +++ /dev/null @@ -1,40 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - - -// Construct a helper class instance from values for -// the fields of the IDL struct it wraps. - -ACE_INLINE -ACE_RT_Info::ACE_RT_Info (const char* entry_point_, - RtecScheduler::Time worst_time_, - RtecScheduler::Time typical_time_, - RtecScheduler::Time cached_time_, - RtecScheduler::Period_t period_, - RtecScheduler::Importance_t importance_, - RtecScheduler::Quantum_t quantum_, - CORBA::Long threads_) -{ - // Cannot use the initialization list, as these are members of the wrapped base - // class. This wrapper class must assign them in the constructor body. - this->entry_point = entry_point_; - this->worst_case_execution_time = worst_time_; - this->typical_execution_time = typical_time_; - this->cached_execution_time = cached_time_; - this->period = period_; - this->importance = importance_; - this->quantum = quantum_; - this->threads = threads_; -} - - -// Construct a helper class instance from the IDL struct it wraps. - -ACE_INLINE -ACE_RT_Info::ACE_RT_Info (const RtecScheduler::RT_Info& rt_info) - : RtecScheduler::RT_Info (rt_info) -{ -} diff --git a/TAO/orbsvcs/orbsvcs/Security.idl b/TAO/orbsvcs/orbsvcs/Security.idl deleted file mode 100644 index 836462ec784..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security.idl +++ /dev/null @@ -1,358 +0,0 @@ -// -*- IDL -*- -// -// $Id$ - - -#ifndef _SECURITY_IDL_ -#define _SECURITY_IDL_ - -#include "tao/TimeBase.pidl" -#include - -#pragma prefix "omg.org" - -module Security { - -#pragma version Security 1.8 - - typedef string SecurityName; - typedef sequence Opaque; - - // Constant declarations for Security Service Options - const CORBA::ServiceOption SecurityLevel1 = 1; - const CORBA::ServiceOption SecurityLevel2 = 2; - const CORBA::ServiceOption NonRepudiation = 3; - const CORBA::ServiceOption SecurityORBServiceReady = 4; - const CORBA::ServiceOption SecurityServiceReady = 5; - const CORBA::ServiceOption ReplaceORBServices = 6; - const CORBA::ServiceOption ReplaceSecurityServices = 7; - const CORBA::ServiceOption StandardSecureInteroperability = 8; - const CORBA::ServiceOption DCESecureInteroperability = 9; - - // Service options for Common Secure Interoperability - const CORBA::ServiceOption CommonInteroperabilityLevel0 = 10; - const CORBA::ServiceOption CommonInteroperabilityLevel1 = 11; - const CORBA::ServiceOption CommonInteroperabilityLevel2 = 12; - - // Security mech types supported for secure association - const CORBA::ServiceDetailType SecurityMechanismType = 1; - - // privilege types supported in standard access policy - const CORBA::ServiceDetailType SecurityAttribute = 2; - - // extensible families for standard data types - struct ExtensibleFamily { - unsigned short family_definer; - unsigned short family; - }; - - typedef sequence OID; - - typedef sequence OIDList; - - // security attributes - typedef unsigned long SecurityAttributeType; - - // other attributes; family = 0 - - const SecurityAttributeType AuditId = 1; - const SecurityAttributeType AccountingId = 2; - const SecurityAttributeType NonRepudiationId = 3; - - // privilege attributes; family = 1 - - const SecurityAttributeType _Public = 1; - const SecurityAttributeType AccessId = 2; - const SecurityAttributeType PrimaryGroupId = 3; - const SecurityAttributeType GroupId = 4; - const SecurityAttributeType Role = 5; - const SecurityAttributeType AttributeSet = 6; - const SecurityAttributeType Clearance = 7; - const SecurityAttributeType Capability = 8; - - struct AttributeType { - ExtensibleFamily attribute_family; - SecurityAttributeType attribute_type; - }; - - typedef sequence AttributeTypeList; - - struct SecAttribute { - AttributeType attribute_type; - OID defining_authority; - Opaque value; - // the value of this attribute can be - // decoded only with knowledge of defining authority - }; - - typedef sequence AttributeList; - - // Authentication return status - enum AuthenticationStatus { - SecAuthSuccess, - SecAuthFailure, - SecAuthContinue, - SecAuthExpired - }; - - // Association return status - enum AssociationStatus { - SecAssocSuccess, - SecAssocFailure, - SecAssocContinue - }; - - // Authentication method - typedef unsigned long AuthenticationMethod; - - typedef sequence AuthenticationMethodList; - - // Credential types - - enum InvocationCredentialsType { - SecOwnCredentials, - SecReceivedCredentials, - SecTargetCredentials - }; - - // Declarations related to Rights - - struct Right { - ExtensibleFamily rights_family; - string the_right; - }; - - typedef sequence RightsList; - - enum RightsCombinator { - SecAllRights, - SecAnyRight - }; - - // Delegation related - - enum DelegationState { - SecInitiator, - SecDelegate - }; - - enum DelegationDirective { - Delegate, - NoDelegate - }; - - // pick up from TimeBase - - typedef TimeBase::UtcT UtcT; - typedef TimeBase::IntervalT IntervalT; - typedef TimeBase::TimeT TimeT; - - // Security features available on credentials. - - enum SecurityFeature { - SecNoDelegation, - SecSimpleDelegation, - SecCompositeDelegation, - SecNoProtection, - SecIntegrity, - SecConfidentiality, - SecIntegrityAndConfidentiality, - SecDetectReplay, - SecDetectMisordering, - SecEstablishTrustInTarget, - SecEstablishTrustInClient - }; - - // Quality of protection which can be specified - // for an object reference and used to protect messages - enum QOP { - SecQOPNoProtection, - SecQOPIntegrity, - SecQOPConfidentiality, - SecQOPIntegrityAndConfidentiality - }; - - // Type of SecurityContext - enum SecurityContextType { - SecClientSecurityContext, - SecServerSecurityContext - }; - - // Operational State of a Security Context - enum SecurityContextState { - SecContextInitialized, - SecContextContinued, - SecContextClientEstablished, - SecContextEstablished, - SecContextEstablishExpired, - SecContextExpired, - SecContextInvalid - }; - - struct ChannelBindings { - unsigned long initiator_addrtype; - CORBA::OctetSeq initiator_address; - unsigned long acceptor_addrtype; - CORBA::OctetSeq acceptor_address; - CORBA::OctetSeq application_data; - }; - - // For use with SecurityReplaceable - struct OpaqueBuffer { - Opaque buffer; - unsigned long startpos; - unsigned long endpos; - // startpos <= endpos - // OpaqueBuffer is said to be empty if startpos == endpos - }; - - // Association options which can be administered - // on secure invocation policy and used to - // initialize security context - typedef unsigned short AssociationOptions; - - const AssociationOptions NoProtection = 1; - const AssociationOptions Integrity = 2; - const AssociationOptions Confidentiality = 4; - const AssociationOptions DetectReplay = 8; - const AssociationOptions DetectMisordering = 16; - const AssociationOptions EstablishTrustInTarget = 32; - const AssociationOptions EstablishTrustInClient = 64; - const AssociationOptions NoDelegation = 128; - const AssociationOptions SimpleDelegation = 256; - const AssociationOptions CompositeDelegation = 512; - - // Flag to indicate whether association options being - // administered are the "required" or "supported" set - enum RequiresSupports { - SecRequires, - SecSupports - }; - - // Direction of communication for which - // secure invocation policy applies - enum CommunicationDirection { - SecDirectionBoth, - SecDirectionRequest, - SecDirectionReply - }; - - // security association mechanism type - typedef string MechanismType; - typedef sequence MechanismTypeList; - - // AssociationOptions-Direction pair - struct OptionsDirectionPair { - AssociationOptions options; - CommunicationDirection direction; - }; - - typedef sequence OptionsDirectionPairList; - - // Delegation mode which can be administered - enum DelegationMode { - SecDelModeNoDelegation, // i.e. use own credentials - SecDelModeSimpleDelegation, // delegate received credentials - SecDelModeCompositeDelegation // delegate both - }; - - // Association options supported by a given mech type - struct MechandOptions { - MechanismType mechanism_type; - AssociationOptions options_supported; - }; - - typedef sequence MechandOptionsList; - - // Attribute of the SecurityLevel2::EstablishTrustPolicy - struct EstablishTrust { - boolean trust_in_client; - boolean trust_in_target; - }; - - // Audit - typedef unsigned long AuditChannelId; - typedef unsigned short _EventType; - - const _EventType AuditAll = 0; - const _EventType AuditPrincipalAuth = 1; - const _EventType AuditSessionAuth = 2; - const _EventType AuditAuthorization = 3; - const _EventType AuditInvocation = 4; - const _EventType AuditSecEnvChange = 5; - const _EventType AuditPolicyChange = 6; - const _EventType AuditObjectCreation = 7; - const _EventType AuditObjectDestruction = 8; - const _EventType AuditNonRepudiation = 9; - - enum DayOfTheWeek { - Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday - }; - - enum AuditCombinator { - SecAllSelectors, - SecAnySelector - }; - - struct AuditEventType { - ExtensibleFamily event_family; - _EventType event_type; - }; - - typedef sequence AuditEventTypeList; - - typedef unsigned long SelectorType; - - const SelectorType InterfaceName = 1; - const SelectorType ObjectRef = 2; - const SelectorType Operation = 3; - const SelectorType Initiator = 4; - const SelectorType SuccessFailure = 5; - const SelectorType Time = 6; - const SelectorType DayOfWeek = 7; - - // values defined for audit_needed and audit_write are: - // InterfaceName: CORBA::RepositoryId - // ObjectRef: object reference - // Operation: op_name - // Initiator: Credentials - // SuccessFailure: boolean - // Time: utc time on audit_write; time picked up from - // environment in audit_needed if required - // DayOfWeek: DayOfTheWeek - - struct SelectorValue { - SelectorType selector; - any value; - }; - - typedef sequence SelectorValueList; - - // Constant declaration for valid Security Policy Types - - // General administrative policies - const CORBA::PolicyType SecClientInvocationAccess = 1; - const CORBA::PolicyType SecTargetInvocationAccess = 2; - const CORBA::PolicyType SecApplicationAccess = 3; - const CORBA::PolicyType SecClientInvocationAudit = 4; - const CORBA::PolicyType SecTargetInvocationAudit = 5; - const CORBA::PolicyType SecApplicationAudit = 6; - const CORBA::PolicyType SecDelegation = 7; - const CORBA::PolicyType SecClientSecureInvocation = 8; - const CORBA::PolicyType SecTargetSecureInvocation = 9; - const CORBA::PolicyType SecNonRepudiation = 10; - - - // Policies used to control attributes of a binding to a target - const CORBA::PolicyType SecMechanismsPolicy = 12; - const CORBA::PolicyType SecInvocationCredentialsPolicy = 13; - const CORBA::PolicyType SecFeaturePolicy = 14; // obsolete - const CORBA::PolicyType SecQOPPolicy = 15; - - const CORBA::PolicyType SecDelegationDirectivePolicy = 38; - const CORBA::PolicyType SecEstablishTrustPolicy = 39; -}; - -#pragma prefix "" - -#endif /* _SECURITY_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/Security.mpc b/TAO/orbsvcs/orbsvcs/Security.mpc deleted file mode 100644 index fb03dc6acc9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security.mpc +++ /dev/null @@ -1,42 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(Security) : orbsvcslib, corba_messaging, core, portableserver, pi, interceptors, valuetype, tao_versioning_idl_defaults { - sharedname = TAO_Security - idlflags += -Wb,export_macro=TAO_Security_Export -Wb,export_include=orbsvcs/Security/security_export.h - dynamicflags = TAO_SECURITY_BUILD_DLL - tagchecks += Security - - IDL_Files { - CSI.idl - CSIIOP.idl - GSSUP.idl - Security.idl - SecurityLevel1.idl - SecurityLevel2.idl - SecurityLevel3.idl - } - - Source_Files(ORBSVCS_COMPONENTS) { - Security { - CSIC.cpp - CSIIOPC.cpp - GSSUPC.cpp - SecurityC.cpp - SecurityS.cpp - SecurityLevel1C.cpp - SecurityLevel1S.cpp - SecurityLevel2C.cpp - SecurityLevel2S.cpp - SecurityLevel3C.cpp - Security - } - } - - Header_Files { - Security/security_export.h - } - - Template_Files { - } -} diff --git a/TAO/orbsvcs/orbsvcs/Security.rc b/TAO/orbsvcs/orbsvcs/Security.rc deleted file mode 100644 index 9138ebe5f3b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "Security\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_SecurityDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_Security.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/Security/CSI_Utils.cpp b/TAO/orbsvcs/orbsvcs/Security/CSI_Utils.cpp deleted file mode 100644 index 0e7c1a01478..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/CSI_Utils.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/CSI_Utils.h" -#include "orbsvcs/CSIC.h" - -#include "tao/CDR.h" - -#include "ace/OS_NS_string.h" - - -ACE_RCSID (Security, - CSI_Utils, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO::CSI_Utils::create_sas_service_context ( - const CSI::SASContextBody & sas_context, - IOP::ServiceContext & sc) -{ - // Marshal CSI::SASContextBody union into an octet sequence suitable - // for placement in an IOP::ServiceContext. - // (TAO's compiled marshaling is used for performance reasons.) - - TAO_OutputCDR cdr; - cdr << TAO_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER); - - cdr << sas_context; - - sc.context_id = IOP::SecurityAttributeService; - - // TAO extension, replace the contents of the octet sequence with - // the CDR stream. - const CORBA::ULong len = cdr.total_length (); - sc.context_data.length (len); - CORBA::Octet * buf = sc.context_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 (); - } -} - -bool -TAO::CSI_Utils::extract_sas_service_context ( - const IOP::ServiceContext & sc, - CSI::SASContextBody & sas_context) -{ - // Demarshal CSI::SASContextBody union from ServiceContext. - // (TAO's compiled marshaling is used for performance reasons.) - - TAO_InputCDR cdr (reinterpret_cast ( - sc.context_data.get_buffer ()), - sc.context_data.length ()); - - ACE_CDR::Boolean byte_order; - - if (!(cdr >> ACE_InputCDR::to_boolean (byte_order))) - return false; - - cdr.reset_byte_order (static_cast (byte_order)); - - return (cdr >> sas_context); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/CSI_Utils.h b/TAO/orbsvcs/orbsvcs/Security/CSI_Utils.h deleted file mode 100644 index 8f233dbfd97..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/CSI_Utils.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CSI_Utils.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_CSI_UTILS_H -#define TAO_CSI_UTILS_H - -// No need to include "ace/pre.h" and "ace/post.h". This header and -// the declared types/variables are not meant to be used outside TAO's -// CSIv2 implementation. - -#include "tao/orbconf.h" -#include "tao/Versioned_Namespace.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Forward declarations -namespace IOP -{ - struct ServiceContext; -} - -namespace CSI -{ - class SASContextBody; -} - -namespace TAO -{ - namespace CSI_Utils - { - /// Populate given IOP::ServiceContext with given CSI::SASContextBody. - void create_sas_service_context (const CSI::SASContextBody & sas_context, - IOP::ServiceContext & sc); - - /// Extract CSI::SASContextBody from given IOP::ServiceContext. - /** - * @return Success == true, Failure == false. - */ - bool extract_sas_service_context (const IOP::ServiceContext & sc, - CSI::SASContextBody & sas_context); - } -} - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif /* TAO_CSI_UTILS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.cpp b/TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.cpp deleted file mode 100644 index 20216f4a905..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/SL2_EstablishTrustPolicy.h" - -#include "tao/ORB_Constants.h" - - -ACE_RCSID (Security, - SL2_EstablishTrustPolicy, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::Security::EstablishTrustPolicy::EstablishTrustPolicy ( - const ::Security::EstablishTrust &trust) - : trust_ (trust) -{ -} - -TAO::Security::EstablishTrustPolicy::~EstablishTrustPolicy (void) -{ -} - -CORBA::PolicyType -TAO::Security::EstablishTrustPolicy::policy_type ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return ::Security::SecEstablishTrustPolicy; -} - -CORBA::Policy_ptr -TAO::Security::EstablishTrustPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::Security::EstablishTrustPolicy *policy = 0; - ACE_NEW_THROW_EX (policy, - TAO::Security::EstablishTrustPolicy (this->trust_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return policy; -} - -void -TAO::Security::EstablishTrustPolicy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -::Security::EstablishTrust -TAO::Security::EstablishTrustPolicy::trust (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->trust_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.h b/TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.h deleted file mode 100644 index b7910c316d9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.h +++ /dev/null @@ -1,106 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SL2_EstablishTrustPolicy.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - - -#ifndef TAO_ESTABLISH_TRUST_POLICY_H -#define TAO_ESTABLISH_TRUST_POLICY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel2C.h" - -#include "tao/LocalObject.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Security - { - - /** - * @class EstablishTrustPolicy - * - * @brief Implementation of the - * SecurityLevel2::EstablishTrustPolicy. - * - * This policy can be used to enable or disable establishment of - * trust in the client or the target or both on a per-object - * basis. For example, it can be set as a policy override using - * the standard CORBA::Object::_set_policy_overrides() method. - @par - * This policy can be created by using the - * CORBA::ORB::create_policy() method by passing it the - * Security::SecEstablishTrustPolicy policy type, and the - * - * appropriate Security::EstablishTrust structure (inserted into a - * CORBA::Any). - */ - class EstablishTrustPolicy - : public virtual SecurityLevel2::EstablishTrustPolicy, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - EstablishTrustPolicy (const ::Security::EstablishTrust &trust); - - /** - * @name CORBA::Policy Methods - */ - //@{ - virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /// Return the "establish trust" value associated with this - /// policy. - virtual ::Security::EstablishTrust trust (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~EstablishTrustPolicy (void); - - private: - - /// Quality of protection which can be specified for an object - /// reference and used to protect messages. - ::Security::EstablishTrust const trust_; - - }; - - } // End Security namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_ESTABLISH_TRUST_POLICY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.cpp b/TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.cpp deleted file mode 100644 index 9175ac608b0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/SL2_QOPPolicy.h" - -#include "tao/ORB_Constants.h" - - -ACE_RCSID (Security, - SL2_QOPPolicy, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::Security::QOPPolicy::QOPPolicy (::Security::QOP qop) - : qop_ (qop) -{ -} - -TAO::Security::QOPPolicy::~QOPPolicy (void) -{ -} - -CORBA::PolicyType -TAO::Security::QOPPolicy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return ::Security::SecQOPPolicy; -} - -CORBA::Policy_ptr -TAO::Security::QOPPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::Security::QOPPolicy * policy = 0; - ACE_NEW_THROW_EX (policy, - TAO::Security::QOPPolicy (this->qop_), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return policy; -} - -void -TAO::Security::QOPPolicy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -Security::QOP -TAO::Security::QOPPolicy::qop (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->qop_; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.h b/TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.h deleted file mode 100644 index ff8b99e2309..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL2_QOPPolicy.h +++ /dev/null @@ -1,103 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SL2_QOPPolicy.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - - -#ifndef TAO_SL2_QOP_POLICY_H -#define TAO_SL2_QOP_POLICY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel2C.h" - -#include "tao/LocalObject.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Security - { - /** - * @class QOPPolicy - * - * @brief Implementation of the SecurityLevel2::QOPPolicy - * interface. - * - * This policy can be used to affect the quality of protection - * (QoP) for invocation on a per-object basis. For example, it - * can be set as a policy override using the standard - * CORBA::Object::_set_policy_overrides() method. - * @par - * This policy can be created by using the - * CORBA::ORB::create_policy() method by passing it the - * Security::SecQOPPolicy policy type, and the appropriate - * Security::QOP enumeration (inserted into a CORBA::Any). - */ - class QOPPolicy - : public virtual SecurityLevel2::QOPPolicy, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - QOPPolicy (::Security::QOP qop); - - /** - * @name CORBA::Policy Methods - */ - //@{ - virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /// Return the Quality-of-Protection value associated with this - /// policy. - virtual ::Security::QOP qop (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechansim. - */ - ~QOPPolicy (void); - - private: - - /// Quality of protection which can be specified for an object - /// reference and used to protect messages. - ::Security::QOP const qop_; - - }; - - } // End Security namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SL2_QOP_POLICY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.cpp deleted file mode 100644 index 22b8d7ad961..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.cpp +++ /dev/null @@ -1,126 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/SL3_ContextEstablishmentPolicy.h" - - -ACE_RCSID (Security, - SL3_ContextEstablishmentPolicy, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SL3::ContextEstablishmentPolicy::ContextEstablishmentPolicy ( - SecurityLevel3::CredsDirective creds_directive, - const SecurityLevel3::OwnCredentialsList & creds_list, - SecurityLevel3::FeatureDirective use_client_auth, - SecurityLevel3::FeatureDirective use_target_auth, - SecurityLevel3::FeatureDirective use_confidentiality, - SecurityLevel3::FeatureDirective use_integrity) - : creds_directive_ (creds_directive), - creds_list_ (creds_list), - use_client_auth_ (use_client_auth), - use_target_auth_ (use_target_auth), - use_confidentiality_ (use_confidentiality), - use_integrity_ (use_integrity) -{ -} - -TAO::SL3::ContextEstablishmentPolicy::~ContextEstablishmentPolicy (void) -{ -} - -SecurityLevel3::CredsDirective -TAO::SL3::ContextEstablishmentPolicy::creds_directive ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->creds_directive_; -} - -SecurityLevel3::OwnCredentialsList * -TAO::SL3::ContextEstablishmentPolicy::creds_list (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::OwnCredentialsList * creds = 0; - - ACE_NEW_THROW_EX (creds, - SecurityLevel3::OwnCredentialsList (this->creds_list_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (creds); - - return creds; -} - -SecurityLevel3::FeatureDirective -TAO::SL3::ContextEstablishmentPolicy::use_client_auth ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->use_client_auth_; -} - -SecurityLevel3::FeatureDirective -TAO::SL3::ContextEstablishmentPolicy::use_target_auth ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->use_target_auth_; -} - -SecurityLevel3::FeatureDirective -TAO::SL3::ContextEstablishmentPolicy::use_confidentiality ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->use_confidentiality_; -} - -SecurityLevel3::FeatureDirective -TAO::SL3::ContextEstablishmentPolicy::use_integrity ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->use_integrity_; -} - -CORBA::PolicyType -TAO::SL3::ContextEstablishmentPolicy::policy_type ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return SecurityLevel3::ContextEstablishmentPolicyType; -} - -CORBA::Policy_ptr -TAO::SL3::ContextEstablishmentPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Policy_ptr p = CORBA::Policy::_nil (); - ACE_NEW_THROW_EX (p, - TAO::SL3::ContextEstablishmentPolicy ( - this->creds_directive_, - this->creds_list_, - this->use_client_auth_, - this->use_target_auth_, - this->use_confidentiality_, - this->use_integrity_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (p); - - return p; -} - -void -TAO::SL3::ContextEstablishmentPolicy::destroy ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->creds_directive_ = SecurityLevel3::CD_Default; - this->creds_list_.length (0); - this->use_client_auth_ = SecurityLevel3::FD_UseDefault; - this->use_target_auth_ = SecurityLevel3::FD_UseDefault; - this->use_confidentiality_ = SecurityLevel3::FD_UseDefault; - this->use_integrity_ = SecurityLevel3::FD_UseDefault; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.h b/TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.h deleted file mode 100644 index 266c1dd31f6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.h +++ /dev/null @@ -1,134 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_ContextEstablishmentPolicy.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SL3_CONTEXT_ESTABLISHMENT_POLICY_H -#define TAO_SL3_CONTEXT_ESTABLISHMENT_POLICY_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - /** - * @class ContextEstablishmentPolicy - * - * @brief - * - * - */ - class ContextEstablishmentPolicy - : public virtual SecurityLevel3::ContextEstablishmentPolicy, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - ContextEstablishmentPolicy ( - SecurityLevel3::CredsDirective creds_directive, - const SecurityLevel3::OwnCredentialsList & creds_list, - SecurityLevel3::FeatureDirective use_client_auth, - SecurityLevel3::FeatureDirective use_target_auth, - SecurityLevel3::FeatureDirective use_confidentiality, - SecurityLevel3::FeatureDirective use_integrity); - - /** - * @name SecurityLevel3::ContextEstablishmentPolicy Methods - * - * Methods required by the - * SecurityLevel3::ContextEstablishmentPolicy interface. - */ - //@{ - virtual SecurityLevel3::CredsDirective creds_directive ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::OwnCredentialsList * creds_list ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::FeatureDirective use_client_auth ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::FeatureDirective use_target_auth ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::FeatureDirective use_confidentiality ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::FeatureDirective use_integrity ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~ContextEstablishmentPolicy (void); - - private: - - SecurityLevel3::CredsDirective creds_directive_; - SecurityLevel3::OwnCredentialsList creds_list_; - SecurityLevel3::FeatureDirective use_client_auth_; - SecurityLevel3::FeatureDirective use_target_auth_; - SecurityLevel3::FeatureDirective use_confidentiality_; - SecurityLevel3::FeatureDirective use_integrity_; - - }; - - } // End SL3 namespace - -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_CONTEXT_ESTABLISHMENT_POLICY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.cpp deleted file mode 100644 index 80a5304154e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "orbsvcs/Security/SL3_CredentialsAcquirerFactory.h" - - -ACE_RCSID (Security, - SL3_CredentialsAcquirerFactory, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SL3::CredentialsAcquirerFactory::~CredentialsAcquirerFactory (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.h b/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.h deleted file mode 100644 index 6320a50b252..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.h +++ /dev/null @@ -1,68 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_CredentialsAcquirerFactory.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SL3_CREDENTIALS_ACQUIRER_FACTORY_H -#define TAO_SL3_CREDENTIALS_ACQUIRER_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Security/SL3_CredentialsCurator.h" - -#include "orbsvcs/SecurityLevel3C.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - - /** - * @class CredentialsAcquirerFactory - * - * @brief Abstract base class for all concrete - * CredentialsAcquirerFactory implementations. - * - * All concrete CredentialsAcquirerFactory classes must implement - * this interface. - */ - class TAO_Security_Export CredentialsAcquirerFactory - { - public: - - /// Destructor. - virtual ~CredentialsAcquirerFactory (void); - - /// Create a TAO::SL3::CredentialsAcquirerFactory. - virtual SecurityLevel3::CredentialsAcquirer_ptr make ( - TAO::SL3::CredentialsCurator_ptr curator, - const CORBA::Any & acquisition_arguments - ACE_ENV_ARG_DECL) = 0; - - }; - - } // End SL3 namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_CREDENTIALS_ACQUIRER_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.cpp deleted file mode 100644 index 6555f46469c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.cpp +++ /dev/null @@ -1,284 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/SL3_CredentialsCurator.h" -#include "orbsvcs/Security/SL3_CredentialsAcquirerFactory.h" - - -ACE_RCSID (Security, - SL3_CredentialsCurator, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - static const size_t CREDENTIALS_TABLE_SIZE = 128; - } -} - -TAO::SL3::CredentialsCurator::CredentialsCurator (void) - : lock_ (), - acquirer_factories_ (), - credentials_table_ (TAO::SL3::CREDENTIALS_TABLE_SIZE) -{ -} - -TAO::SL3::CredentialsCurator::~CredentialsCurator (void) -{ - const Factory_Iterator fend = this->acquirer_factories_.end (); - for (Factory_Iterator i = this->acquirer_factories_.begin (); - i != fend; - ++i) - { - // Deallocate the Acquistion Method. - CORBA::string_free (const_cast ((*i).ext_id_)); - - delete (*i).int_id_; - } - - this->acquirer_factories_.close (); - - const Credentials_Iterator end = this->credentials_table_.end (); - for (Credentials_Iterator j = this->credentials_table_.begin (); - j != end; - ++j) - { - // Deallocate the CredentialsId. - CORBA::string_free (const_cast ((*j).ext_id_)); - } - - this->credentials_table_.close (); -} - -TAO::SL3::CredentialsCurator_ptr -TAO::SL3::CredentialsCurator::_duplicate (TAO::SL3::CredentialsCurator_ptr obj) -{ - if (!CORBA::is_nil (obj)) - obj->_add_ref (); - - return obj; -} - -TAO::SL3::CredentialsCurator_ptr -TAO::SL3::CredentialsCurator::_narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL_NOT_USED) -{ - return TAO::SL3::CredentialsCurator::_duplicate ( - dynamic_cast (obj)); -} - -TAO::SL3::CredentialsCurator_ptr -TAO::SL3::CredentialsCurator::_nil (void) -{ - return (CredentialsCurator *) 0; -} - -SecurityLevel3::AcquisitionMethodList * -TAO::SL3::CredentialsCurator::supported_methods (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::AcquisitionMethodList * list; - ACE_NEW_THROW_EX (list, - SecurityLevel3::AcquisitionMethodList, - CORBA::NO_MEMORY ()); - SecurityLevel3::AcquisitionMethodList_var methods = list; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - methods->length (this->acquirer_factories_.current_size ()); - - CORBA::ULong n = 0; - - const Factory_Iterator end = this->acquirer_factories_.end (); - for (Factory_Iterator i = this->acquirer_factories_.begin (); - i != end; - ++i) - { - methods[n++] = CORBA::string_dup ((*i).ext_id_); - } - - return methods._retn (); -} - -SecurityLevel3::CredentialsAcquirer_ptr -TAO::SL3::CredentialsCurator::acquire_credentials ( - const char * acquisition_method, - const CORBA::Any & acquisition_arguments - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::SL3::CredentialsAcquirerFactory * factory; - - if (this->acquirer_factories_.find (acquisition_method, - factory) == 0) - { - return factory->make (this, - acquisition_arguments - ACE_ENV_ARG_PARAMETER); - } - - ACE_THROW_RETURN (CORBA::BAD_PARAM (), - SecurityLevel3::CredentialsAcquirer::_nil ()); - -} - -SecurityLevel3::OwnCredentialsList * -TAO::SL3::CredentialsCurator::default_creds_list (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::OwnCredentialsList * list; - ACE_NEW_THROW_EX (list, - SecurityLevel3::OwnCredentialsList, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (0); - - SecurityLevel3::OwnCredentialsList_var creds_list = list; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - creds_list->length (this->credentials_table_.current_size ()); - - CORBA::ULong n = 0; - - const Credentials_Iterator end = this->credentials_table_.end (); - for (Credentials_Iterator i = this->credentials_table_.begin (); - i != end; - ++i) - { - creds_list[n++] = - SecurityLevel3::OwnCredentials::_duplicate ((*i).int_id_.in()); - } - - return creds_list._retn (); -} - -SecurityLevel3::CredentialsIdList * -TAO::SL3::CredentialsCurator::default_creds_ids (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::CredentialsIdList * list; - ACE_NEW_THROW_EX (list, - SecurityLevel3::CredentialsIdList, - CORBA::NO_MEMORY ()); - SecurityLevel3::CredentialsIdList_var creds_ids = list; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - 0); - - creds_ids->length (this->credentials_table_.current_size ()); - - CORBA::ULong n = 0; - - const Credentials_Iterator end = this->credentials_table_.end (); - for (Credentials_Iterator i = this->credentials_table_.begin (); - i != end; - ++i) - { - creds_ids[n++] = CORBA::string_dup ((*i).ext_id_); - } - - return creds_ids._retn (); -} - -SecurityLevel3::OwnCredentials_ptr -TAO::SL3::CredentialsCurator::get_own_credentials ( - const char * credentials_id - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - Credentials_Table::ENTRY * entry; - - ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, - guard, - this->lock_, - SecurityLevel3::OwnCredentials::_nil ()); - - if (this->credentials_table_.find (credentials_id, entry) != 0) - { - return SecurityLevel3::OwnCredentials::_nil (); - } - - return - SecurityLevel3::OwnCredentials::_duplicate (entry->int_id_.in ()); -} - -void -TAO::SL3::CredentialsCurator::release_own_credentials ( - const char * credentials_id - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - Credentials_Table::ENTRY * entry; - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - if (this->credentials_table_.find (credentials_id, entry) == 0) - { - // Deallocate the external ID (a const char *) before unbinding. - CORBA::string_free (const_cast (entry->ext_id_)); - - (void) this->credentials_table_.unbind (entry); - } -} - -void -TAO::SL3::CredentialsCurator:: register_acquirer_factory ( - const char * acquisition_method, - TAO::SL3::CredentialsAcquirerFactory * factory - ACE_ENV_ARG_DECL) -{ - if (acquisition_method == 0 || factory == 0) - ACE_THROW (CORBA::BAD_PARAM ()); - - CORBA::String_var method = CORBA::string_dup (acquisition_method); - - ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_); - - const int result = - this->acquirer_factories_.bind (method.in (), factory); - - if (result == 1) // Entry already exists in table. - ACE_THROW (CORBA::BAD_INV_ORDER ()); - else if (result == -1) // Failure. - ACE_THROW (CORBA::INTERNAL ()); - - - // CredentialsCurator now owns the acquisition method id. - (void) method._retn (); - - // Otherwise success! -} - -void -TAO::SL3::CredentialsCurator::_tao_add_own_credentials ( - SecurityLevel3::OwnCredentials_ptr credentials - ACE_ENV_ARG_DECL) -{ - CORBA::String_var credentials_id = - credentials->creds_id (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - SecurityLevel3::OwnCredentials_var creds = - SecurityLevel3::OwnCredentials::_duplicate (credentials); - - if (this->credentials_table_.bind (credentials_id.in (), - creds) != 0) - { - ACE_THROW (CORBA::NO_RESOURCES ()); - } - - // CredentialsCurator nows owns the id. - (void) credentials_id._retn (); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.h b/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.h deleted file mode 100644 index 85edccb3963..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.h +++ /dev/null @@ -1,176 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_CredentialsCurator.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SL3_CREDENTIALS_CURATOR_H -#define TAO_SL3_CREDENTIALS_CURATOR_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#include "ace/Hash_Map_Manager_T.h" -#include "ace/Map_Manager.h" - - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - class CredentialsAcquirerFactory; - - class CredentialsCurator; - typedef CredentialsCurator* CredentialsCurator_ptr; - typedef TAO_Pseudo_Var_T CredentialsCurator_var; - typedef TAO_Pseudo_Out_T CredentialsCurator_out; - - /** - * @class CredentialsCurator - * - * @brief Implementation of the SecurityLevel3::CredentialsCurator - * object. - * - * This class provides a means for creating and managing - * OwnCredentials. - */ - class TAO_Security_Export CredentialsCurator - : public virtual SecurityLevel3::CredentialsCurator, - public virtual TAO_Local_RefCounted_Object - { - public: - typedef CredentialsCurator_ptr _ptr_type; - typedef CredentialsCurator_var _var_type; - typedef CredentialsCurator_out _out_type; - - /** - * The type of table that maps acquisition method to acquirer - * factory. - */ - typedef ACE_Map_Manager Acquirer_Factory_Table; - typedef Acquirer_Factory_Table::iterator Factory_Iterator; - - typedef ACE_Hash_Map_Manager_Ex , - ACE_Equal_To, - ACE_Null_Mutex> Credentials_Table; - typedef Credentials_Table::iterator Credentials_Iterator; - - /// Constructor - CredentialsCurator (void); - - static CredentialsCurator_ptr _duplicate (CredentialsCurator_ptr obj); - static CredentialsCurator_ptr _nil (void); - static CredentialsCurator_ptr _narrow (CORBA::Object_ptr obj - ACE_ENV_ARG_DECL); - - /** - * @name SecurityLevel3::CredentialsCurator Methods - * - * Methods required by the SecurityLevel3::CredentialsCurator - * interface. - */ - //@{ - virtual SecurityLevel3::AcquisitionMethodList * supported_methods ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::CredentialsAcquirer_ptr acquire_credentials ( - const char * acquisition_method, - const CORBA::Any & acquisition_arguments - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::OwnCredentialsList * default_creds_list ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::CredentialsIdList * default_creds_ids ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::OwnCredentials_ptr get_own_credentials ( - const char * credentials_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void release_own_credentials (const char * credentials_id - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /// Register CredentialsAcquirer factory. - /** - * @note The CredentialsCurator retains ownership of the - * factory. - */ - void register_acquirer_factory ( - const char * acquisition_method, - TAO::SL3::CredentialsAcquirerFactory * factory - ACE_ENV_ARG_DECL); - - /// TAO-specific means of adding credentials to this - /// CredentialsCurator's "own credentials" list. - void _tao_add_own_credentials ( - SecurityLevel3::OwnCredentials_ptr credentials - ACE_ENV_ARG_DECL); - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~CredentialsCurator (void); - - private: - - /// Lock used to synchronize access to underlying tables. - TAO_SYNCH_MUTEX lock_; - - /// Table of CredentialsAcquirer factories. - Acquirer_Factory_Table acquirer_factories_; - - /// Table of OwnCredentials. - Credentials_Table credentials_table_; - }; - } // End SL3 namespace -} // End TAO namespace - - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_CREDENTIALS_CURATOR_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.cpp deleted file mode 100644 index 69cac1d1ae1..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/SL3_ObjectCredentialsPolicy.h" - - -ACE_RCSID (Security, - SL3_ObjectCredentialsPolicy, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SL3::ObjectCredentialsPolicy::ObjectCredentialsPolicy ( - const SecurityLevel3::OwnCredentialsList & creds) - : creds_list_ (creds) -{ -} - -TAO::SL3::ObjectCredentialsPolicy::~ObjectCredentialsPolicy (void) -{ -} - -SecurityLevel3::OwnCredentialsList * -TAO::SL3::ObjectCredentialsPolicy::creds_list (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::OwnCredentialsList * creds = 0; - - ACE_NEW_THROW_EX (creds, - SecurityLevel3::OwnCredentialsList (this->creds_list_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (creds); - - return creds; -} - -CORBA::PolicyType -TAO::SL3::ObjectCredentialsPolicy::policy_type ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return SecurityLevel3::ObjectCredentialsPolicyType; -} - -CORBA::Policy_ptr -TAO::SL3::ObjectCredentialsPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Policy_ptr p = CORBA::Policy::_nil (); - ACE_NEW_THROW_EX (p, - TAO::SL3::ObjectCredentialsPolicy (this->creds_list_), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (p); - - return p; -} - -void -TAO::SL3::ObjectCredentialsPolicy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->creds_list_.length (0); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.h b/TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.h deleted file mode 100644 index c4479d9aa8e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_ObjectCredentialsPolicy.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SL3_OBJECT_CREDENTIALS_POLICY_H -#define TAO_SL3_OBJECT_CREDENTIALS_POLICY_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - /** - * @class ObjectCredentialsPolicy - * - * @brief POA-specific Policy containing server's "own" - * credentials. - * - * This policy may be passed in the PolicyList argument of - * PortableServer::POA::create_POA() method. Targets under that - * POA will have the credentials contained within this Policy - * associated with them. - */ - class ObjectCredentialsPolicy - : public virtual SecurityLevel3::ObjectCredentialsPolicy, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - ObjectCredentialsPolicy ( - const SecurityLevel3::OwnCredentialsList & creds); - - /** - * @name SecurityLevel3::ObjectCredentialsPolicy Methods - * - * Methods required by the - * SecurityLevel3::ObjectCredentialsPolicy interface. - */ - //@{ - virtual SecurityLevel3::OwnCredentialsList * creds_list ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void destroy (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~ObjectCredentialsPolicy (void); - - private: - - /// List of POA-specific OwnCredentials. - SecurityLevel3::OwnCredentialsList creds_list_; - - }; - - } // End SL3 namespace - -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_OBJECT_CREDENTIALS_POLICY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp deleted file mode 100644 index 959a93e4885..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/SL3_PolicyFactory.h" -#include "orbsvcs/Security/SL3_ContextEstablishmentPolicy.h" -#include "orbsvcs/Security/SL3_ObjectCredentialsPolicy.h" - - -ACE_RCSID (Security, - SL3_PolicyFactory, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Policy_ptr -TAO::SL3::PolicyFactory::create_policy (CORBA::PolicyType type, - const CORBA::Any & value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)) -{ - CORBA::Policy_ptr policy = CORBA::Policy::_nil (); - - if (type == SecurityLevel3::ContextEstablishmentPolicyType) - { - SecurityLevel3::ContextEstablishmentPolicyArgument * arg = 0; - if (!(value >>= arg)) - ACE_THROW_RETURN (CORBA::INTERNAL (), - policy); - - ACE_NEW_THROW_EX (policy, - TAO::SL3::ContextEstablishmentPolicy ( - arg->creds_directive, - arg->creds_list, - arg->use_client_auth, - arg->use_target_auth, - arg->use_confidentiality, - arg->use_integrity), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (policy); - } - else if (type == SecurityLevel3::ObjectCredentialsPolicyType) - { - SecurityLevel3::ObjectCredentialsPolicyArgument * creds = 0; - if (!(value >>= creds)) - ACE_THROW_RETURN (CORBA::INTERNAL (), - policy); - - ACE_NEW_THROW_EX (policy, - TAO::SL3::ObjectCredentialsPolicy (*creds), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (policy); - } - else - { - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - policy); - } - - return policy; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.h b/TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.h deleted file mode 100644 index 9c3a36b0913..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_PolicyFactory.h +++ /dev/null @@ -1,82 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_PolicyFactory.h - * - * $Id$ - * - * PolicyFactory implementation for the SecurityLevel3 policies. - * - * @author Ossama Othman - */ -//============================================================================= - -#ifndef TAO_SL3_POLICY_FACTORY_H -#define TAO_SL3_POLICY_FACTORY_H - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - - /** - * @class olicyFactory - * - * @brief SecurityLevel3 PolicyFactory - * - * PolicyFactory for all SecurityLevel3 policies. - */ - class PolicyFactory - : public virtual PortableInterceptor::PolicyFactory, - public virtual TAO_Local_RefCounted_Object - { - public: - - /** - * @name Methods Required by the PolicyFactory Interface - * - * These are methods that must be implemented since they are - * pure virtual in the abstract base class. They are the - * canonical methods required for all PolicyFactory - * sub-classes. - */ - //@{ - - /// Construct a Test::Policy object as a test. - virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type, - const CORBA::Any & value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)); - - //@} - - }; - - } // End SL3 namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#endif /* TAO_SL3_POLICY_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.cpp deleted file mode 100644 index db6609f803b..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/SL3_SecurityCurrent.h" - - -ACE_RCSID (Security, - SL3_SecurityCurrent, - "$Id$") - - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/Security/SL3_SecurityCurrent.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SL3::SecurityCurrent::SecurityCurrent (size_t tss_slot, - TAO_ORB_Core * oc) - : tss_slot_ (tss_slot), - orb_core_ (oc) -{ -} - - -TAO::SL3::SecurityCurrent::~SecurityCurrent (void) -{ -} - -SecurityLevel3::ClientCredentials_ptr -TAO::SL3::SecurityCurrent::client_credentials (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::SL3::SecurityCurrent_Impl * impl = this->implementation (); - - // If the implementation pointer returned from TSS is zero, then - // we're not in the middle of a request/upcall. Throw an exception - // to indicate that. - if (impl == 0) - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), - SecurityLevel3::ClientCredentials::_nil ()); - - return impl->client_credentials (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::Boolean -TAO::SL3::SecurityCurrent::request_is_local (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::SL3::SecurityCurrent_Impl * impl = this->implementation (); - - // If the implementation pointer returned from TSS is zero, then - // we're not in the middle of a request/upcall. Throw an exception - // to indicate that. - if (impl == 0) - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), false); - - return impl->request_is_local (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.h b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.h deleted file mode 100644 index b592530c19e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.h +++ /dev/null @@ -1,152 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_SecurityCurrent.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SL3_SECURITY_CURRENT_H -#define TAO_SL3_SECURITY_CURRENT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Security/SL3_SecurityCurrent_Impl.h" - -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_ORB_Core; - -namespace TAO -{ - namespace SL3 - { - /** - * @class SecurityCurrent - * - * @brief SecurityLevel3::SecurityCurrent implementation. - * - * Thread-specific information may be retrieved from the target - * security service through this object. - * - * @note This SecurityCurrent implementation basically a variant - * of the bridge design pattern. All operations are - * delegated on to concrete implementations. - */ - class TAO_Security_Export SecurityCurrent - : public virtual SecurityLevel3::SecurityCurrent, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - SecurityCurrent (size_t tss_slot, TAO_ORB_Core * oc); - - /** - * @name SecurityLevel3::SecurityCurrent Methods - * - * Methods required by the SecurityLevel3::SecurityCurrent - * interface. - */ - //@{ - virtual SecurityLevel3::ClientCredentials_ptr client_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean request_is_local (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /// Return the TSS slot ID assigned to the "SecurityCurrent" - /// object. - /** - * The concrete thread-specific storage SecurityCurrent - * implementations will each use this slot ID. - */ - size_t tss_slot (void) const; - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - ~SecurityCurrent (void); - - private: - - /// Set the thread-specific storage - /// SecurityLevel3::SecurityCurrent implementation. - /** - * The pointer is actually one to a concrete implementation provided - * by the underlying security mechanism. For example, SSLIOP - * implements its own SSLIOP-specific operations corresponding - * to the ones exposed by the SecurityCurrent interface. - * Similarly, SECIOP would do the same. - * @par - * There is no function that places the implementation pointer - * in TSS. The underlying security mechanism does that. - */ - SecurityCurrent_Impl * implementation (void); - - private: - - /** - * @name Retricted Copying and Assignment - * - * Prevent copying through the copy constructor and the - * assignment operator. - */ - //@{ - SecurityCurrent (const SecurityCurrent &); - void operator= (const SecurityCurrent &); - //@} - - private: - - /// Thread-specific storage slot assigned to this object. - const size_t tss_slot_; - - /// Pointer to the ORB Core corresponding to the ORB with which - /// this object is registered. - TAO_ORB_Core * const orb_core_; - - }; - - } // End SL3 namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/Security/SL3_SecurityCurrent.inl" -#endif /* __ACE_INLINE__ */ - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_SECURITY_CURRENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.inl b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.inl deleted file mode 100644 index 4194ffe1895..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "tao/ORB_Core.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE size_t -TAO::SL3::SecurityCurrent::tss_slot (void) const -{ - return this->tss_slot_; -} - -ACE_INLINE TAO::SL3::SecurityCurrent_Impl * -TAO::SL3::SecurityCurrent::implementation (void) -{ - TAO::SL3::SecurityCurrent_Impl *impl = - static_cast ( - this->orb_core_->get_tss_resource (this->tss_slot_)); - - return impl; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.cpp deleted file mode 100644 index 14b7a548c16..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/SL3_SecurityCurrent_Impl.h" - -ACE_RCSID (Security, - SL3_Security_Current_Impl, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SL3::SecurityCurrent_Impl::~SecurityCurrent_Impl (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.h b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.h deleted file mode 100644 index 59501c69339..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.h +++ /dev/null @@ -1,85 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file SL3_SecurityCurrent_Impl.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - -#ifndef TAO_SL3_SECURITY_CURRENT_IMPL_H -#define TAO_SL3_SECURITY_CURRENT_IMPL_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Security/security_export.h" -#include "orbsvcs/SecurityLevel3C.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - /** - * @class SecurityCurrent_Impl - * - * @brief Base class for the TSS portion of any underlying - * security mechanism. - * - * This class provides the same interface as the - * SecurityLevel3::SecurityCurrent object. However, it is not - * derived from that interface since we need to explicitly avoid - * virtual inheritance so that it is safe to store subclasses in a - * "void * *" and later cast that pointer back to the subclass - * pointer type. - */ - class TAO_Security_Export SecurityCurrent_Impl - { - public: - - /// Destructor. - virtual ~SecurityCurrent_Impl (void); - - /** - * @name SecurityLevel3::Current Methods - * - * These methods are founds in the SecurityLevel3::Current - * interface. - */ - //@{ - /// Return the Credentials received from the client associate with - /// the current request. - virtual SecurityLevel3::ClientCredentials_ptr client_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - - /// Is the current request local? - virtual CORBA::Boolean request_is_local ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - //@} - - /// Return the unique tag that identifies the concrete subclass. - virtual CORBA::ULong tag (void) const = 0; - - }; - - } // End Security namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_SECURITY_CURRENT_IMPL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.cpp b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.cpp deleted file mode 100644 index 1cf548a4f2e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// $Id$ - -#include "orbsvcs/Security/SL3_SecurityManager.h" -#include "orbsvcs/Security/SL3_ContextEstablishmentPolicy.h" -#include "orbsvcs/Security/SL3_ObjectCredentialsPolicy.h" - - -ACE_RCSID (Security, - SL3_SecurityManager, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::SL3::SecurityManager::SecurityManager ( - SecurityLevel3::CredentialsCurator_ptr cc) - : credentials_curator_ (SecurityLevel3::CredentialsCurator::_duplicate (cc)) -{ -} - -TAO::SL3::SecurityManager::~SecurityManager (void) -{ -} - -SecurityLevel3::CredentialsCurator_ptr -TAO::SL3::SecurityManager::credentials_curator ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return - SecurityLevel3::CredentialsCurator::_duplicate ( - this->credentials_curator_.in ()); -} - -SecurityLevel3::TargetCredentials_ptr -TAO::SL3::SecurityManager::get_target_credentials (CORBA::Object_ptr /* the_object */ - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - SecurityLevel3::TargetCredentials::_nil ()); -} - -SecurityLevel3::ContextEstablishmentPolicy_ptr -TAO::SL3::SecurityManager::create_context_estab_policy ( - SecurityLevel3::CredsDirective creds_directive, - const SecurityLevel3::OwnCredentialsList & creds_list, - SecurityLevel3::FeatureDirective use_client_auth, - SecurityLevel3::FeatureDirective use_target_auth, - SecurityLevel3::FeatureDirective use_confidentiality, - SecurityLevel3::FeatureDirective use_integrity - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::ContextEstablishmentPolicy_ptr policy; - ACE_NEW_THROW_EX (policy, - TAO::SL3::ContextEstablishmentPolicy (creds_directive, - creds_list, - use_client_auth, - use_target_auth, - use_confidentiality, - use_integrity), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (policy); - - return policy; -} - -SecurityLevel3::ObjectCredentialsPolicy_ptr -TAO::SL3::SecurityManager::create_object_creds_policy ( - const SecurityLevel3::OwnCredentialsList & creds_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - SecurityLevel3::ObjectCredentialsPolicy_ptr policy; - ACE_NEW_THROW_EX (policy, - TAO::SL3::ObjectCredentialsPolicy (creds_list), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (policy); - - return policy; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.h b/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.h deleted file mode 100644 index 3f1ac2054ae..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/SL3_SecurityManager.h +++ /dev/null @@ -1,119 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SL3_SecurityManager.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SL3_SECURITY_MANAGER_H -#define TAO_SL3_SECURITY_MANAGER_H - -#include /**/ "ace/pre.h" -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/LocalObject.h" - -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace SL3 - { - /** - * @class SecurityManager - * - * @brief - * - * - */ - class SecurityManager - : public virtual SecurityLevel3::SecurityManager, - public virtual TAO_Local_RefCounted_Object - { - public: - - /// Constructor - SecurityManager (SecurityLevel3::CredentialsCurator_ptr cc); - - /** - * @name SecurityLevel3::SecurityManager Methods - * - * Methods required by the SecurityLevel3::SecurityManager - * interface. - */ - //@{ - virtual SecurityLevel3::CredentialsCurator_ptr credentials_curator ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::TargetCredentials_ptr get_target_credentials ( - CORBA::Object_ptr the_object - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::ContextEstablishmentPolicy_ptr - create_context_estab_policy ( - SecurityLevel3::CredsDirective creds_directive, - const SecurityLevel3::OwnCredentialsList & creds_list, - SecurityLevel3::FeatureDirective use_client_auth, - SecurityLevel3::FeatureDirective use_target_auth, - SecurityLevel3::FeatureDirective use_confidentiality, - SecurityLevel3::FeatureDirective use_integrity - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual SecurityLevel3::ObjectCredentialsPolicy_ptr - create_object_creds_policy ( - const SecurityLevel3::OwnCredentialsList & cred_list - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - protected: - - /// Destructor - /** - * Protected destructor to enforce proper memory management - * through the reference counting mechanism. - */ - virtual ~SecurityManager (void); - - private: - - /// The ORB-specific SecurityLevel3::CredentialsCurator - /// reference. - SecurityLevel3::CredentialsCurator_var credentials_curator_; - - }; - - } // End SL3 namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SL3_SECURITY_MANAGER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_Current.cpp b/TAO/orbsvcs/orbsvcs/Security/Security_Current.cpp deleted file mode 100644 index 0470c54ab17..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_Current.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/Security_Current.h" -#include "tao/debug.h" - -ACE_RCSID (Security, - Security_Current, - "$Id$") - -#if !defined (__ACE_INLINE__) -# include "orbsvcs/Security/Security_Current.inl" -#endif /* __ACE_INLINE__ */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_Security_Current::TAO_Security_Current (size_t tss_slot, - const char *orb_id) - : tss_slot_ (tss_slot), - orb_id_ (orb_id), - orb_core_ (0) -{ -} - -TAO_Security_Current::~TAO_Security_Current (void) -{ -} - -Security::AttributeList * -TAO_Security_Current::get_attributes ( - const Security::AttributeTypeList &attributes - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::Security::Current_Impl *impl = this->implementation (); - - // If the implementation pointer returned from TSS is zero, then - // we're not in the middle of a request/upcall. Throw an exception - // to indicate that. - if (impl == 0) - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), 0); - - return impl->get_attributes (attributes ACE_ENV_ARG_PARAMETER); -} - -SecurityLevel2::ReceivedCredentials_ptr -TAO_Security_Current::received_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO::Security::Current_Impl *impl = this->implementation (); - - // If the implementation pointer returned from TSS is zero, then - // we're not in the middle of a request/upcall. Throw an exception - // to indicate that. - if (impl == 0) - ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), 0); - - return impl->received_credentials (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -int -TAO_Security_Current::init (void) -{ - int result = 0; - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - int argc = 0; - char **argv = 0; - CORBA::ORB_var orb = CORBA::ORB_init (argc, - argv, - this->orb_id_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->orb_core_ = orb.in ()->orb_core (); - - // No longer need the ORBid, so reclaim the memory it was - // occupying. - (void) this->orb_id_.out (); - } - ACE_CATCHANY - { - if (TAO_debug_level >= 1) - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Could not initialize SecurityCurrent:"); - - result = -1; - } - ACE_ENDTRY; - ACE_CHECK_RETURN (-1); - - return result; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_Current.h b/TAO/orbsvcs/orbsvcs/Security/Security_Current.h deleted file mode 100644 index 118689ca9d4..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_Current.h +++ /dev/null @@ -1,149 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file Security_Current.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - -#ifndef TAO_SECURITY_CURRENT_H -#define TAO_SECURITY_CURRENT_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/SecurityLevel2C.h" -#include "tao/ORB_Core.h" -#include "tao/LocalObject.h" - -#include "orbsvcs/Security/Security_Current_Impl.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Security_Current - * - * @brief Implementation of the SecurityLevel2::Current interface. - * - * This object can be used to obtain session related security - * information about the current execution context. - */ -class TAO_Security_Export TAO_Security_Current - : public SecurityLevel2::Current, - public TAO_Local_RefCounted_Object -{ -public: - - /// Constructor. - TAO_Security_Current (size_t tss_slot, const char *orb_id); - - /** - * @name SecurityLevel1::Current Methods - * - * These methods are founds in the SecurityLevel1::Current - * interface. - */ - //@{ - /// Return the security attributes corresponding to the types in the - /// given attribute type list associated with the current request. - virtual Security::AttributeList * get_attributes ( - const Security::AttributeTypeList & attributes - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /** - * @name SecurityLevel2::Current Methods - * - * These methods are founds in the SecurityLevel2::Current - * interface. - */ - //@{ - /// Return the Credentials received from the client associate with - /// the current request. - virtual SecurityLevel2::ReceivedCredentials_ptr received_credentials ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - /// Return the TSS slot ID assigned to the "SecurityCurrent" object. - /** - * The concrete TSS SecurityCurrent implementations will each use - * this slot ID. - */ - size_t tss_slot (void) const; - -protected: - - /// Destructor - /// Protected to force allocation on the heap. - ~TAO_Security_Current (void); - - /// Fully initialize this object. This method is used predominantly - /// to set the ORB core pointer. - int init (void); - - /// Set the TSS Security::Current implementation. - /** - * The pointer is actually one to a concrete implementation provided - * by the underlying security mechanism. For example, SSLIOP - * implements the SecurityLevel2::Current interface. Similarly, - * SECIOP would do the same. - * - * There is no function that places the implementation pointer in - * TSS. The underlying security mechanism does that. - */ - TAO::Security::Current_Impl *implementation (void); - -private: - - /// Prevent copying through the copy constructor and the assignment - /// operator. - //@{ - TAO_Security_Current (const TAO_Security_Current &); - void operator= (const TAO_Security_Current &); - //@} - -private: - - /// TSS slot assigned to this object. - size_t const tss_slot_; - - /// The ORBid of the ORB with which this object is registered. - CORBA::String_var orb_id_; - - /// Pointer to the ORB Core corresponding to the ORB with which this - /// object is registered. - TAO_ORB_Core * orb_core_; - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -# include "orbsvcs/Security/Security_Current.inl" -#endif /* __ACE_INLINE__ */ - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SECURITY_CURRENT_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_Current.inl b/TAO/orbsvcs/orbsvcs/Security/Security_Current.inl deleted file mode 100644 index eee8c6c11fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_Current.inl +++ /dev/null @@ -1,26 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -ACE_INLINE size_t -TAO_Security_Current::tss_slot (void) const -{ - return this->tss_slot_; -} - -ACE_INLINE TAO::Security::Current_Impl * -TAO_Security_Current::implementation (void) -{ - if (this->orb_core_ == 0 && this->init () != 0) - return 0; - - TAO::Security::Current_Impl *impl = - static_cast ( - this->orb_core_->get_tss_resource (this->tss_slot_)); - - return impl; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.cpp b/TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.cpp deleted file mode 100644 index a0239a9ca7d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/Security_Current_Impl.h" - -ACE_RCSID (Security, - SL3_Security_Current_Impl, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO::Security::Current_Impl::~Current_Impl (void) -{ -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.h b/TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.h deleted file mode 100644 index f92e121fddf..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_Current_Impl.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- - -// =================================================================== -/** - * @file Security_Current_Impl.h - * - * $Id$ - * - * @author Ossama Othman - */ -// =================================================================== - -#ifndef TAO_SECURITY_CURRENT_IMPL_H -#define TAO_SECURITY_CURRENT_IMPL_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/Security/security_export.h" -#include "orbsvcs/SecurityLevel2C.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Security - { - /** - * @class Current_Impl - * - * @brief Base class for the TSS portion of any underlying - * security mechanism. - * - * This class provides the same interface as the - * SecurityLevel3::Current object. However, it is not derived - * from that interface since we need to explicitly avoid virtual - * inheritance so that it is safe to store subclasses in a "void - * *" and later cast that pointer back to the subclass pointer - * type. - */ - class TAO_Security_Export Current_Impl - { - public: - - /// Destructor. - virtual ~Current_Impl (void); - - /** - * @name SecurityLevel1::Current Methods - * - * These methods are founds in the SecurityLevel1::Current - * interface. - */ - //@{ - /// Return the security attributes corresponding to the types in - /// the given attribute type list associated with the current - /// request. - virtual ::Security::AttributeList * get_attributes ( - const ::Security::AttributeTypeList & attributes - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - //@} - - /** - * @name SecurityLevel2::Current Methods - * - * These methods are founds in the SecurityLevel2::Current - * interface. - */ - //@{ - /// Return the Credentials received from the client associate with - /// the current request. - virtual SecurityLevel2::ReceivedCredentials_ptr received_credentials ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) = 0; - //@} - - /// Return the unique tag that identifies the concrete subclass. - virtual CORBA::ULong tag (void) const = 0; - - }; - - } // End Security namespace. -} // End TAO namespace. - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" - -#endif /* TAO_SECURITY_CURRENT_IMPL_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp deleted file mode 100644 index 396f2116aa0..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp +++ /dev/null @@ -1,240 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/Security_ORBInitializer.h" - -ACE_RCSID (Security, - Security_ORBInitializer, - "$Id$") - - -// #include "Security_Current.h" -#include "orbsvcs/Security/SL3_SecurityCurrent.h" -#include "orbsvcs/Security/SL3_CredentialsCurator.h" -#include "orbsvcs/Security/SL3_SecurityManager.h" - -#include "orbsvcs/SecurityC.h" - -#include "tao/PI/ORBInitInfo.h" -#include "tao/ORB_Constants.h" -#include "tao/debug.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -void -TAO::Security::ORBInitializer::pre_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Narrow to a TAO_ORBInitInfo object to get access to the - // allocate_tss_slot_id() TAO extension. - TAO_ORBInitInfo_var tao_info = - TAO_ORBInitInfo::_narrow (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (tao_info.in ())) - { - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "(%P|%t) Security_ORBInitializer::pre_init:\n" - "(%P|%t) Unable to narrow " - "\"PortableInterceptor::ORBInitInfo_ptr\" to\n" - "(%P|%t) \"TAO_ORBInitInfo_ptr.\"\n")); - - ACE_THROW (CORBA::INTERNAL ()); - } - -// // Reserve a TSS slot in the ORB core internal TSS resources for the -// // thread-specific portion of Security::Current. -// size_t old_tss_slot = tao_info->allocate_tss_slot_id (0 -// ACE_ENV_ARG_PARAMETER); -// ACE_CHECK; - -// CORBA::String_var orb_id = info->orb_id (ACE_ENV_SINGLE_ARG_PARAMETER); -// ACE_CHECK; - -// // Create the SecurityLevel2::Current object. -// SecurityLevel2::Current_ptr current = SecurityLevel2::Current::_nil (); -// ACE_NEW_THROW_EX (current, -// TAO_Security_Current (old_tss_slot, orb_id.in ()), -// CORBA::NO_MEMORY ( -// CORBA::SystemException::_tao_minor_code ( -// TAO::VMCID, -// ENOMEM), -// CORBA::COMPLETED_NO)); -// ACE_CHECK; - -// SecurityLevel2::Current_var security_current = current; - -// // Register the SecurityLevel2::Current object reference with the -// // ORB. -// info->register_initial_reference ("SecurityCurrent", -// security_current.in () -// ACE_ENV_ARG_PARAMETER); -// ACE_CHECK; - - // Reserve a TSS slot in the ORB core internal TSS resources for the - // thread-specific portion of SecurityLevel3::SecurityCurrent - // object. - size_t tss_slot = tao_info->allocate_tss_slot_id (0 - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - // Create the SecurityLevel3::Current object. - SecurityLevel3::SecurityCurrent_ptr current3; - ACE_NEW_THROW_EX (current3, - TAO::SL3::SecurityCurrent (tss_slot, - tao_info->orb_core ()), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - SecurityLevel3::SecurityCurrent_var security_current3 = current3; - - // Register the SecurityLevel2::Current object reference with the - // ORB. - info->register_initial_reference ("SecurityLevel3:SecurityCurrent", - security_current3.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Create the SecurityLevel3::CredentialsCurator object. - SecurityLevel3::CredentialsCurator_ptr curator; - ACE_NEW_THROW_EX (curator, - TAO::SL3::CredentialsCurator, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - SecurityLevel3::CredentialsCurator_var credentials_curator = curator; - - // Register the SecurityLevel3::CredentialsCurator object reference - // with the ORB. - info->register_initial_reference ("SecurityLevel3:CredentialsCurator", - credentials_curator.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - // Create the SecurityLevel3::SecurityManager object. - SecurityLevel3::SecurityManager_ptr manager3; - ACE_NEW_THROW_EX (manager3, - TAO::SL3::SecurityManager (credentials_curator.in ()), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - SecurityLevel3::SecurityManager_var security_manager3 = manager3; - - // Register the SecurityLevel3::SecurityManager object reference - // with the ORB. - info->register_initial_reference ("SecurityLevel3:SecurityManager", - security_manager3.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO::Security::ORBInitializer::post_init ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->register_policy_factories (info - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; -} - -void -TAO::Security::ORBInitializer::register_policy_factories ( - PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL) -{ - // Register the security policy factories. - - if (CORBA::is_nil (this->policy_factory_.in ())) - { - PortableInterceptor::PolicyFactory_ptr policy_factory; - ACE_NEW_THROW_EX (policy_factory, - TAO::Security::PolicyFactory, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK; - - this->policy_factory_ = policy_factory; - } - - // Bind the same policy factory to all security related policy - // types since a single policy factory is used to create each of - // the different types of security policies. - - CORBA::PolicyType type; - - type = ::Security::SecQOPPolicy; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = ::Security::SecMechanismsPolicy; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = ::Security::SecInvocationCredentialsPolicy; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = ::Security::SecFeaturePolicy; // Deprecated - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = ::Security::SecDelegationDirectivePolicy; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - type = ::Security::SecEstablishTrustPolicy; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - type = SecurityLevel3::ContextEstablishmentPolicyType; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - type = SecurityLevel3::ObjectCredentialsPolicyType; - info->register_policy_factory (type, - this->policy_factory_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - // ---------------------------------------------------------------- -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.h b/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.h deleted file mode 100644 index c6a17685f4d..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.h +++ /dev/null @@ -1,106 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = FILENAME -// Security_ORBInitializer.h -// -// = AUTHOR -// Ossama Othman -// -// ============================================================================ - -#ifndef TAO_SECURITY_ORB_INITIALIZER_H -#define TAO_SECURITY_ORB_INITIALIZER_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" - -#include "orbsvcs/Security/Security_PolicyFactory.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/// Security ORB initializer. -namespace TAO -{ - namespace Security - { - - /** - * @class ORBInitializer - * - * @brief ORBInitializer that configures CORBA Security features - * into an ORB. - * - * This ORBInitializer configures CORBA Security features into an - * ORB, such as CSIv2, security objects, security policy - * factories, etc, into an ORB. - */ - class TAO_Security_Export ORBInitializer - : public virtual PortableInterceptor::ORBInitializer, - public virtual TAO_Local_RefCounted_Object - { - public: - - /** - * @name PortableInterceptor::ORBInitializer Methods. - * - * Methods required by the PortableInterceptor::ORBInitializer - * interface. - */ - //@{ - virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - //@} - - private: - - /// Register Security policy factories. - void register_policy_factories (PortableInterceptor::ORBInitInfo_ptr info - ACE_ENV_ARG_DECL); - - private: - - /// PolicyFactory that is used to create all security related - /// policies capable of being created via ORB::create_policy(). - PortableInterceptor::PolicyFactory_var policy_factory_; - - }; - - } // End Security namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SECURITY_ORB_INITIALIZER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp deleted file mode 100644 index 96f0ddbb787..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp +++ /dev/null @@ -1,159 +0,0 @@ -// -*- C++ -*- - -#include "orbsvcs/Security/Security_PolicyFactory.h" - -ACE_RCSID (Security, - Security_PolicyFactory, - "$Id$") - -#include "orbsvcs/Security/SL2_QOPPolicy.h" -#include "orbsvcs/Security/SL2_EstablishTrustPolicy.h" - -#include "orbsvcs/Security/SL3_ContextEstablishmentPolicy.h" -#include "orbsvcs/Security/SL3_ObjectCredentialsPolicy.h" - -#include "orbsvcs/SecurityLevel2C.h" -#include "orbsvcs/SecurityLevel3C.h" - -#include "tao/ORB_Constants.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -CORBA::Policy_ptr -TAO::Security::PolicyFactory::create_policy ( - CORBA::PolicyType type, - const CORBA::Any &value - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)) -{ - // Not all security policies can be created using the - // ORB::create_policy() mechanism. Only those that can be created - // using that mechanism are supported by this factory. - - if (type == ::Security::SecQOPPolicy) - { - ::Security::QOP qop; - - // Extract the desired Quality-of-Protection value from the - // given Any. - if (!(value >>= qop)) - ACE_THROW_RETURN (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO), - CORBA::Policy::_nil ()); - - TAO::Security::QOPPolicy * qop_policy = 0; - ACE_NEW_THROW_EX (qop_policy, - TAO::Security::QOPPolicy (qop), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return qop_policy; - } - - else if (type == ::Security::SecEstablishTrustPolicy) - { - ::Security::EstablishTrust *trust = 0; - - // Extract the desired establishing of trust value from the - // given Any. - if (!(value >>= trust)) - ACE_THROW_RETURN (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO), - CORBA::Policy::_nil ()); - - TAO::Security::EstablishTrustPolicy * trust_policy = 0; - ACE_NEW_THROW_EX (trust_policy, - TAO::Security::EstablishTrustPolicy (*trust), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return trust_policy; - } - - else if (type == SecurityLevel3::ContextEstablishmentPolicyType) - { - SecurityLevel3::ContextEstablishmentPolicyArgument * args = 0; - - // Extract the desired establishing of trust value from the - // given Any. - if (!(value >>= args)) - ACE_THROW_RETURN (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO), - CORBA::Policy::_nil ()); - - TAO::SL3::ContextEstablishmentPolicy * policy = 0; - ACE_NEW_THROW_EX (policy, - TAO::SL3::ContextEstablishmentPolicy ( - args->creds_directive, - args->creds_list, - args->use_client_auth, - args->use_target_auth, - args->use_confidentiality, - args->use_integrity), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return policy; - } - - else if (type == SecurityLevel3::ObjectCredentialsPolicyType) - { - SecurityLevel3::OwnCredentialsList * creds = 0; - - // Extract the desired establishing of trust value from the - // given Any. - if (!(value >>= creds)) - ACE_THROW_RETURN (CORBA::BAD_PARAM ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - EINVAL), - CORBA::COMPLETED_NO), - CORBA::Policy::_nil ()); - - TAO::SL3::ObjectCredentialsPolicy * policy = 0; - ACE_NEW_THROW_EX (policy, - TAO::SL3::ObjectCredentialsPolicy (*creds), - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO::VMCID, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (CORBA::Policy::_nil ()); - - return policy; - } - - else if (type == ::Security::SecInvocationCredentialsPolicy - || type == ::Security::SecMechanismsPolicy - || type == ::Security::SecFeaturePolicy // Deprecated. - || type == ::Security::SecDelegationDirectivePolicy) - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::UNSUPPORTED_POLICY), - CORBA::Policy::_nil ()); - else - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), - CORBA::Policy::_nil ()); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.h b/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.h deleted file mode 100644 index 4596caadcb3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/Security_PolicyFactory.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Security_PolicyFactory.h - * - * $Id$ - * - * @author Ossama Othman - */ -//============================================================================= - - -#ifndef TAO_SECURITY_POLICY_FACTORY_H -#define TAO_SECURITY_POLICY_FACTORY_H - -#include /**/ "ace/pre.h" - -#include "orbsvcs/Security/security_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/PI/PI.h" -#include "tao/LocalObject.h" - -// This is to remove "inherits via dominance" warnings from MSVC. -// MSVC is being a little too paranoid. -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4250) -#endif /* _MSC_VER */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ - namespace Security - { - - /** - * @class PolicyFactory - * - * @brief Policy factory for all security related policies. - * - * Policy factory for all security related policies. - */ - class PolicyFactory - : public PortableInterceptor::PolicyFactory, - public TAO_Local_RefCounted_Object - { - public: - - virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type, - const CORBA::Any & value - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - CORBA::PolicyError)); - }; - - } // End Security namespace -} // End TAO namespace - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - -#include /**/ "ace/post.h" - -#endif /* TAO_SECURITY_POLICY_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Security/security_export.h b/TAO/orbsvcs/orbsvcs/Security/security_export.h deleted file mode 100644 index af588c4850a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Security/security_export.h +++ /dev/null @@ -1,40 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef TAO_SECURITY_EXPORT_H -#define TAO_SECURITY_EXPORT_H - -#include "ace/config-all.h" - -#if defined (TAO_AS_STATIC_LIBS) -# if !defined (TAO_SECURITY_HAS_DLL) -# define TAO_SECURITY_HAS_DLL 0 -# endif /* ! TAO_SECURITY_HAS_DLL */ -#else -# if !defined (TAO_SECURITY_HAS_DLL) -# define TAO_SECURITY_HAS_DLL 1 -# endif /* ! TAO_SECURITY_HAS_DLL */ -#endif - -#if defined (TAO_SECURITY_HAS_DLL) && (TAO_SECURITY_HAS_DLL == 1) -# if defined (TAO_SECURITY_BUILD_DLL) -# define TAO_Security_Export ACE_Proper_Export_Flag -# define TAO_SECURITY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define TAO_SECURITY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* TAO_SECURITY_BUILD_DLL */ -# define TAO_Security_Export ACE_Proper_Import_Flag -# define TAO_SECURITY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define TAO_SECURITY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* TAO_SECURITY_BUILD_DLL */ -#else /* TAO_SECURITY_HAS_DLL == 1 */ -# define TAO_Security_Export -# define TAO_SECURITY_SINGLETON_DECLARATION(T) -# define TAO_SECURITY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* TAO_SECURITY_HAS_DLL == 1 */ - -#endif /* TAO_SECURITY_EXPORT_H */ - -// End of auto generated file. diff --git a/TAO/orbsvcs/orbsvcs/SecurityAdmin.idl b/TAO/orbsvcs/orbsvcs/SecurityAdmin.idl deleted file mode 100644 index f215aa6868b..00000000000 --- a/TAO/orbsvcs/orbsvcs/SecurityAdmin.idl +++ /dev/null @@ -1,143 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - - -#ifdef _SECURITY_ADMIN_IDL_ -#define _SECURITY_ADMIN_IDL_ - -#include - -#pragma prefix "omg.org" - -module SecurityAdmin { - -# pragma version SecurityAdmin 1.5 - - // interface AccessPolicy - interface AccessPolicy : CORBA::Policy { - -# pragma version AccessPolicy 1.5 - - Security::RightsList get_effective_rights ( - in Security::AttributeList attrib_list, - in Security::ExtensibleFamily rights_family - ); - - Security::RightsList get_all_effective_rights( - in Security::AttributeList attrib_list - ); - }; - - // interface DomainAccessPolicy - interface DomainAccessPolicy : AccessPolicy { - -# pragma version DomainAccessPolicy 1.5 - - void grant_rights( - in Security::SecAttribute priv_attr, - in Security::DelegationState del_state, - in Security::ExtensibleFamily rights_family, - in Security::RightsList rights - ); - - void revoke_rights( - in Security::SecAttribute priv_attr, - in Security::DelegationState del_state, - in Security::ExtensibleFamily rights_family, - in Security::RightsList rights - ); - - void replace_rights ( - in Security::SecAttribute priv_attr, - in Security::DelegationState del_state, - in Security::ExtensibleFamily rights_family, - in Security::RightsList rights - ); - - Security::RightsList get_rights ( - in Security::SecAttribute priv_attr, - in Security::DelegationState del_state, - in Security::ExtensibleFamily rights_family - ); - - Security::RightsList get_all_rights( - in Security::SecAttribute priv_attr, - in Security::DelegationState del_state - ); - }; - - // interface AuditPolicy - interface AuditPolicy : CORBA::Policy { - -# pragma version AuditPolicy 1.5 - - void set_audit_selectors ( - in CORBA::RepositoryId object_type, - in Security::AuditEventTypeList events, - in Security::SelectorValueList selectors, - in Security::AuditCombinator audit_combinator - ); - - void clear_audit_selectors ( - in CORBA::RepositoryId object_type, - in Security::AuditEventTypeList events - ); - - void replace_audit_selectors ( - in CORBA::RepositoryId object_type, - in Security::AuditEventTypeList events, - in Security::SelectorValueList selectors, - in Security::AuditCombinator audit_combinator - ); - - void get_audit_selectors ( - in CORBA::RepositoryId object_type, - in Security::AuditEventTypeList events, - in Security::SelectorValueList selectors, - in Security::AuditCombinator audit_combinator - ); - - void set_audit_channel ( - in Security::AuditChannelId audit_channel_id - ); - }; - - // interface SecureInvocationPolicy - interface SecureInvocationPolicy : CORBA::Policy { - -# pragma version SecureInvocationPolicy 1.5 - - void set_association_options( - in CORBA::RepositoryId object_type, - in Security::RequiresSupports requires_supports, - in Security::CommunicationDirection direction, - in Security::AssociationOptions options - ); - - Security::AssociationOptions get_association_options( - in CORBA::RepositoryID object_type, - in Security::RequiresSupports requires_supports, - in Security::CommunicationDirection direction - ); - }; - - // interface DelegationPolicy - interface DelegationPolicy : CORBA::Policy { - -# pragma version DelegationPolicy 1.5 - - void set_delegation_mode( - in CORBA::InterfaceDef object_type, - in Security::DelegationMode mode - ); - - Security::DelegationMode get_delegation_mode( - in CORBA::RepositoryId object_type - ); - }; -}; - -#pragma prefix "" - -#endif /* _SECURITY_ADMIN_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/SecurityLevel1.idl b/TAO/orbsvcs/orbsvcs/SecurityLevel1.idl deleted file mode 100644 index 4f165fde1ed..00000000000 --- a/TAO/orbsvcs/orbsvcs/SecurityLevel1.idl +++ /dev/null @@ -1,31 +0,0 @@ -// -*- IDL -*- -// -// $Id$ - - -#ifndef _SECURITY_LEVEL_1_IDL_ -#define _SECURITY_LEVEL_1_IDL_ - -#include - -#pragma prefix "omg.org" - -module SecurityLevel1 { - -# pragma version SecurityLevel1 1.8 - - local interface Current : CORBA::Current { // Locality Constrained -# pragma version Current 1.8 - - // thread specific operations - - Security::AttributeList get_attributes ( - in Security::AttributeTypeList attributes - ); - - }; -}; - -#pragma prefix "" - -#endif /* _SECURITY_LEVEL_1_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/SecurityLevel2.idl b/TAO/orbsvcs/orbsvcs/SecurityLevel2.idl deleted file mode 100644 index 4826c449ed4..00000000000 --- a/TAO/orbsvcs/orbsvcs/SecurityLevel2.idl +++ /dev/null @@ -1,274 +0,0 @@ -// -*- IDL -*- -// -// $Id$ - - -#ifndef _SECURITY_LEVEL_2_IDL_ -#define _SECURITY_LEVEL_2_IDL_ - -#include - -#pragma prefix "omg.org" - -module SecurityLevel2 { - -# pragma version SecurityLevel2 1.8 - - // Forward declaration of interfaces - local interface PrincipalAuthenticator; - local interface Credentials; - local interface Current; - - // Interface PrincipalAuthenticator - local interface PrincipalAuthenticator { -# pragma version PrincipalAuthenticator 1.8 - - Security::AuthenticationMethodList - get_supported_authen_methods( - in Security::MechanismType mechanism - ); - - Security::AuthenticationStatus authenticate ( - in Security::AuthenticationMethod method, - in Security::MechanismType mechanism, - in Security::SecurityName security_name, - in any auth_data, - in Security::AttributeList privileges, - out Credentials creds, - out any continuation_data, - out any auth_specific_data - ); - - Security::AuthenticationStatus continue_authentication ( - in any response_data, - in Credentials creds, - out any continuation_data, - out any auth_specific_data - ); - }; - - - // Interface Credentials - local interface Credentials { -# pragma version Credentials 1.8 - - Credentials copy (); - - void destroy(); - - readonly attribute Security::InvocationCredentialsType - credentials_type; - - readonly attribute Security::AuthenticationStatus - authentication_state; - - readonly attribute Security::MechanismType mechanism; - - attribute Security::AssociationOptions - accepting_options_supported; - - attribute Security::AssociationOptions - accepting_options_required; - - attribute Security::AssociationOptions - invocation_options_supported; - - attribute Security::AssociationOptions - invocation_options_required; - - boolean get_security_feature ( - in Security::CommunicationDirection direction, - in Security::SecurityFeature feature - ); - - boolean set_attributes ( - in Security::AttributeList requested_attributes, - out Security::AttributeList actual_attributes - ); - - Security::AttributeList get_attributes ( - in Security::AttributeTypeList attributes - ); - - boolean is_valid (out Security::UtcT expiry_time); - - boolean refresh (in any refresh_data); - - }; - - typedef sequence CredentialsList; - - local interface ReceivedCredentials : Credentials { - -# pragma version ReceivedCredentials 1.8 - - readonly attribute Credentials accepting_credentials; - - readonly attribute Security::AssociationOptions - association_options_used; - - readonly attribute Security::DelegationState delegation_state; - - readonly attribute Security::DelegationMode delegation_mode; - - }; - - local interface TargetCredentials : Credentials { - -# pragma version TargetCredentials 1.8 - - readonly attribute Credentials initiating_credentials; - - readonly attribute Security::AssociationOptions - association_options_used; - - }; - - // RequiredRights Interface - interface RequiredRights { - - void get_required_rights( - in Object obj, - in CORBA::Identifier operation_name, - in CORBA::RepositoryId interface_name, - out Security::RightsList rights, - out Security::RightsCombinator rights_combinator - ); - - void set_required_rights( - in CORBA::Identifier operation_name, - in CORBA::RepositoryId interface_name, - in Security::RightsList rights, - in Security::RightsCombinator rights_combinator - ); - }; - - - // interface audit channel - local interface AuditChannel { - -# pragma version AuditChannel 1.8 - - void audit_write ( - in Security::AuditEventType event_type, - in CredentialsList creds, - in Security::UtcT time, - in Security::SelectorValueList descriptors, - in any event_specific_data - ); - - readonly attribute Security::AuditChannelId audit_channel_id; - - }; - - - // interface for Audit Decision - local interface AuditDecision { - -# pragma version AuditDecision 1.8 - - boolean audit_needed ( - in Security::AuditEventType event_type, - in Security::SelectorValueList value_list - ); - - readonly attribute AuditChannel audit_channel; - - }; - - - local interface AccessDecision { - -# pragma version AccessDecision 1.8 - - boolean access_allowed ( - in SecurityLevel2::CredentialsList cred_list, - in Object target, - in CORBA::Identifier operation_name, - in CORBA::Identifier target_interface_name - ); - }; - - - // Policy interfaces to control bindings - - local interface QOPPolicy : CORBA::Policy { -# pragma version QOPPolicy 1.8 - readonly attribute Security::QOP qop; - - }; - - local interface MechanismPolicy : CORBA::Policy { -# pragma version MechanismPolicy 1.8 - readonly attribute Security::MechanismTypeList mechanisms; - }; - - local interface InvocationCredentialsPolicy : CORBA::Policy { -# pragma version InvocationCredentialsPolicy 1.8 - readonly attribute CredentialsList creds; - }; - - local interface EstablishTrustPolicy : CORBA::Policy { -# pragma version EstablishTrustPolicy 1.8 - readonly attribute Security::EstablishTrust trust; - }; - - local interface DelegationDirectivePolicy : CORBA::Policy { -# pragma version DelegationDirectivePolicy 1.8 - readonly attribute Security::DelegationDirective delegation_directive; - }; - - local interface SecurityManager { - -# pragma version SecurityManager 1.8 - - // Process/Capsule/ORB Instance specific operations - - readonly attribute Security::MechandOptionsList - supported_mechanisms; - - readonly attribute CredentialsList own_credentials; - - readonly attribute RequiredRights - required_rights_object; - - readonly attribute PrincipalAuthenticator - principal_authenticator; - - readonly attribute AccessDecision - access_decision; - - readonly attribute AuditDecision - audit_decision; - - TargetCredentials get_target_credentials ( - in Object obj_ref - ); - - void remove_own_credentials( - in Credentials creds - ); - - CORBA::Policy get_security_policy ( - in CORBA::PolicyType policy_type - ); - }; - - // Interface Current derived from SecurityLevel1::Current providing - // additional operations on Current at this security level. - // This is implemented by the ORB - local interface Current : SecurityLevel1::Current { - -# pragma version Current 1.8 - - // Thread specific - - readonly attribute ReceivedCredentials received_credentials; - - }; - -}; - -#pragma prefix "" - -#endif /* _SECURITY_LEVEL_2_IDL_ */ diff --git a/TAO/orbsvcs/orbsvcs/SecurityLevel3.idl b/TAO/orbsvcs/orbsvcs/SecurityLevel3.idl deleted file mode 100644 index 58a1162f82e..00000000000 --- a/TAO/orbsvcs/orbsvcs/SecurityLevel3.idl +++ /dev/null @@ -1,2037 +0,0 @@ -//tabstop=4 -//*********************************************************************** -// ORBAsec SL3 -// ---------------------------------------------------------------------- -// Copyright (C) 2001 Adiron, LLC. -// All rights reserved. -// ---------------------------------------------------------------------- -// $Id$ -//*********************************************************************** - -//*********************************************************************** -/** - * @note Some interfaces in this IDL module have been altered from the - * original Adiron sources. - */ -//*********************************************************************** - - -#ifndef _SecurityLevel3_ -#define _SecurityLevel3_ - -#include "tao/Policy.pidl" -#include "tao/TimeBase.pidl" - -#pragma prefix "adiron.com" - -/** - * The Security Level 3 module contains the data definitions and - * the Application Programmers Interface for dealing with the - * ORBAsec SL3 Security, and the new CSIv2 Security Protocol, which has - * been adopted by the OMG. - *

- * The SecurityLevel3 interfaces and its security data structures - * are based on the Principal Calculus. This is a mathematical - * model of representing principals for the use of access control - * and auditing. - *

- * The SecurityLevel3 Security Service is represented by two objects - * that are returned by the ORB's resolve_initial_reference call. - * Those two objects are the SecurityManager and the SecurityCurrent. - * Other objects associated with the security service emanate from - * these two objects. - *

- * The SecurityLevel3 Security Service has a Credentials model. This - * model, which is heavily based on the Principal Calculus, yields - * an API for accessing principal information. The credentials - * represent a principal's credentials, as well as the establishment - * of security contexts between client and servers. - *

- * The SecurityLevel3 Security Service is currently CSIv2 Level 2 - * compliant: - *

    - *
  • - * It works over TLS and plain TCPIP. - *
  • - * It handles the GSSUP (Username/Password) mechanism for - * CSI level Client Authentication. - *
  • - * It has the ability to "quote" an identity, i.e. CSIv2 - * Identity Assertion. - *
  • - * It has the ability to "push" privileges, which it does - * ATLAS enabled servers. - *
  • - * It has the ability to install your own authorization - * token process that can allow for delegation. - *
- *

- * The Security Level 3 ORB Security Service does supports retention - * of CSI state. Client Authentication information and Identity - * assertion information is transmitted on each request. - *

- * The Security Level 3 ORB Security Service does not automatically - * support endorsement at this time (CSIv2 Level 2 compliance), but - * does give you facility to do so. - */ -module SecurityLevel3 { - - /** - * The Adiron VMCID, which is used in Minor Error Codes, - * Policy Tags, etc. - */ - const unsigned long ADIRON_VMCID = 0xA11C000; - - //------------------------------------------------------------- - // Security Level 3 Data Representations - // - //------------------------------------------------------------- - - // - // A Principal Name - // A principal name always has a type, and a path of - // name components. They are ordered from least significant - // to most significant. For example, if a principal is represented - // by a single X.509 certificate, the first element in the path - // is the SubjectDN, and the second is the IssuerDN. - // - /** - * A NameType is used for typing a PrincipalName data structure. - * A NameType is a string that represents an ASN.1 - * OBJECT IDENTIFIER. Its representation usually of the form - * "oid:1.2.3.4". Other forms may be possible. It is used - * for encoding name type identifiers, which are ASN.1 DER encoded - * OBJECT IDENTIFIERs, in the CSI protocol. - * @see NameComponent - * @see NamePath - * @see NameValue - * @see PrincipalName - */ - typedef string NameType; - - /** - * A NameComponent is an ordered component of a NamePath. The - * least significant component is always the first component. - * It is the type of a wstring to handle international character - * values. - * @see NameType - * @see NamePath - * @see NameValue - * @see PrincipalName - */ - typedef wstring NameComponent; - - /** - * A NamePath is an ordered collection of NameComponents, ordered - * from the least significant to most significant. For example, - * an identity that is defined by a certificate that has a - * SubjectDN of "C=US,CN=Joe,O=Adiron" and an IssuerDN of - * "C=US,CN=AdironCA,O=Adiron" will have the following - * name components: - *

-     *  NameComponent[0] = "C=US,CN=Joe,O=Adiron"
-     *  NameComponent[1] = "C=US,CN=AdironCA,O=Adiron"
-     * 
- * @see NameType - * @see NameComponent - * @see NameValue - * @see PrincipalName - */ - typedef sequence NamePath; - - /** - * A NameValue is the value component of a PrincipalName, - * which is a "type-value" pair. It is defined as a NamePath. - * @see NameType - * @see NameComponent - * @see NamePath - * @see PrincipalName - */ - typedef NamePath NameValue; - - /** - * A PrincipalName is a "type-value" structure. The type directs - * what the encoding and format of the components in the the - * value component are. For example, a type of "X509DirectoryPath" - * means that the value contains the DNs of the subject and - * subsequent issuers. - * @see NameType - * @see NameComponent - * @see NamePath - * @see NameValue - */ - struct PrincipalName { - NameType the_type; - NameValue the_name; - }; - - /** - * A list of PrincipalNames. - * @see PrincipalName - */ - typedef sequence PrincipalNameList; - - - // - // Attributes for privileges and other things. They are type value pairs. - // - - /** - * A PrinAttribute is a "type-value" pair, usually attributed to - * a Principal by some means, such as values stored in its certificate - * or environmental concerns, such as the channel the principal was - * authenticated over. - *

- * The type of a PrinAttribute is represented by a string. - *

- * Privilege Attribute Types, that might come from X.509 certificates - * might be represented by OIDs. OIDs are represented as: - *

-     *   oid:n1.n2.n3.n4.n5.n6....
-     *             for an OID where ni are non-negative integers.
-     * 
- * These OIDs are meant to be used to direct the "type-value" encoding - * of a GSS-API ExportName, which uses an OID as a type that directs - * the encoding of the value. - *

- * Example Environmental Attribute Types - *

-     *   SL3:ChannelIdentifier
-     *   SL3:LocalAddress
-     *   SL3:LocalPort
-     *   SL3:TransportMechanism
-     *   SL3:TLSCipherSuite
-     * 
- * @see PrinAttribute - */ - typedef string PrinAttributeType; - - /** - * A PrinAttributeValue is a wide character string that encodes - * or decodes the value of an attribute. An attempt is always - * meant to represent an attribute's value in a human readable - * string form. If the value cannot be decoded this way, and its - * native form is binary, then it is represented in a Hex encoding - * of the binary form. - * @see PrinAttribute - */ - typedef wstring PrinAttributeValue; - - /** - * A PrinAttribute is a "type-value" pair, usually attributed to - * a Principal by some means, such as values stored in its certificate - * or environmental concerns, such as the channel the principal was - * authenticated over. - * @see PrinAttribute - */ - struct PrinAttribute { - PrinAttributeType the_type; - PrinAttributeValue the_value; - }; - - /** - * A list of PrinAttributes. - * @see PrinAttribute - */ - typedef sequence PrinAttributeList; - - - /** - * This is just a sequence of strings that make - * up the components of a ResourceName. - * @see ResourceName - */ - typedef sequence ResourceNameComponents; - - /** - * A ResourceName is the constructed name of a "resource". A - * ResourceName is closely modeled after CORBAmed's Resource - * Access Decision (RAD) facility's "Resource". It contains - * a sequence of strings. - */ - struct ResourceName { - ResourceNameComponents components; - }; - - /** - * A List of Resource Names. - * @See ResourceName - */ - typedef sequence ResourceNameList; - - - // - // NameTypes used in SL3 - // - - /** - * An NT_KerberosName is a NameType that signifies that the - * value of a PrincipalName is a Kerberos formated name. - * A KerberosName is a single string encoded in the - * familiar "name@REALM" format. - *

- * From GSS-Kerboeros RFC 1964: - *

- * 2.1.1. Kerberos Principal Name Form - *

- * This name form shall be represented by the Object Identifier {iso(1) - * member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) - * krb5(2) krb5_name(1)}. - */ - const NameType NT_KerberosName = "oid:1.2.840.113554.1.2.2.1"; - - /** - * An NT_X509DirectoryNamePath is a NameType that signifies that - * the value of a PrincipalName is constructed from a chain - * of certificates, such that the end entity is the least - * significant position, with the subsequent issuers following - * in order of signature. - *

- * The coding of the names is the string encoding of - * complete X.500 DN's, such as "C=US, CN=Joe, O=Adiron". - * There is no indication whether the last DN in the path is a - * "root", i.e. it's issuer is the same. - */ - const NameType NT_X509DirectoryNamePath = "SL3:X509DirectoryPathName"; - - /** - * The NT_Anonymous is a name type that specifies that the - * PrincipalName is representing the "anonymous" principal. - * Its value always as a single name component of "anonymous" - */ - const NameType NT_Anonymous = "SL3:anonymous"; - - /** - * The NT_StringName is a NameType that specifies that the - * PrincipalName is represented by a single NameComponent - * of name in a "scoped" name space. The name and scope - * are separated by a single "@" character. The escape character - * is "\". This string name as we call it is the same form - * used for the GSSUP (GSS-UserPassword NameType). This - * oid is the OID defined by the OMG CSIv2 specification. It - * is the value defined by the CSI::GSS_NT_Scoped_Username_OID - * constant. - */ - const NameType NT_StringName = "oid:2.23.130.1.2.1"; - - // - // Privileges - // - - /** - * A ScopedPrivileges structure represents privileges that - * belong to a scope defined by a principal. This structure - * is used to represent a principal that is a privilege authority - * that issues privileges. Privileges are represented as - * PrinAttributes. - */ - struct ScopedPrivileges { - PrincipalName privilege_authority; - PrinAttributeList privileges; - }; - - /** - * A list of ScopedPrivileges - * @see ScopedPrivileges - */ - typedef sequence ScopedPrivilegesList; - - // - // Principals - // - - /** - * A Principal comes in three forms, which correspond to the - * Principal Calculus. The forms are "Simple", "Quoting", and - * "Proxy". Simple is a principal that represents a single - * entity, usually "speaking for" itself. A "Quoting" principal - * is a "compound" principal that says that one principal is - * speaking on behalf of another, usually denoted by "(A|B)", i.e. - * "A is quoting B", which means that "A is speaking on behalf of B". - * A "Proxy" principal is almost the same as a "Quoting" principal. - * However, the security service has determined that enough evidence - * exists that proves that Principal A is authorized to speak in - * B's behalf. This principal is denoted in the calculus as "(A for B)" - * in contrast to the quoting principal "(A|B)". - */ - typedef unsigned long PrincipalType; - - /** - * The Simple Principal Type (A) - * @see PrincipalType - */ - const PrincipalType PT_Simple = 0; // A, valuetype SimplePrincipal - /** - * The Quoting Principal Type (A|B) - * @see PrincipalType - */ - const PrincipalType PT_Quoting = 1; // B | A, valuetype QuotingPrincipal - /** - * The Proxy Principal Type (A for B) - * @see PrincipalType - */ - const PrincipalType PT_Proxy = 2; // B for A, valuetype ProxyPrincipal - - /** - * A Principal is represented by a base value type, which is extended - * for the various principals, Simple, Quoting, and Proxy. This base - * type of a Principal may be sufficient for access control in - * most systems. - * @param the_type contains the corresponding identifier - * @param the_name contains the logical name of the most derived - * Principal. Such as if the Principal is a nested - * ProxyPrincipal (i.e. C for B for A) the name here - * is A. - * @param environmental_attributes - * The attributes name certain things that do are - * environmental, such as IP addresses. - * @param with_privileges - * These are the privileges associated with Principal A - * restricted_resources. - * This attribute contains a collection of resources on which - * the principal is authorized to perform actions. - */ - valuetype Principal { - /** This field contains the type of the Principal. */ - public PrincipalType the_type; - /** This field contains the name of the Principal */ - public PrincipalName the_name; - /** - * This field contains the attributes of the principal - * that are considered environmental, such as authentication - * mechanism, authentication channel identifier, etc. - */ - public PrinAttributeList environmental_attributes; - /** - * This field contains the list of scoped privileges the - * security service has determined belong to the particular - * principal. - */ - public ScopedPrivilegesList with_privileges; - }; - - /** - * A list of Principals. - * @see Principal - */ - typedef sequence PrincipalList; - - /** - * A Simple Principal represents a single entity. It is usually - * derived by credentials acquisition, authentication, trust rules concerning quoting, - * or trust rules and certificates concerning Proxying. - * It has one extra field over the base Principal, which is - * "alternate_names". - */ - valuetype SimplePrincipal : /* truncatable */ Principal { - /** - * This field indicates whether the principal was derived or is - * going to be derived from an authentication mechanism. - *

- * If the SimplePrincipal is directly or indirectly - * (as part of a composite Principal) in the - * ClientCredentials.client_principal or - * TargetCredentials.target_principal field, - * the authenticated field indicates the authentication - * status of the SimplePrincipal in the client or target - * principal, respectively. - *

- * If the SimplePricipal is directly or indirectly in - * the ClientCredentials.target_principal - * (or TargetCredentials.client_principal) field, - * the authenticated field indicates the target's - * (or client's belief) about its authentication status to the other - * party. - *

- * If the SimplePrincipal is directly or indirectly in - * the the_principal field of the initiator or acceptor - * of OwnCredentials, the authenticated - * field indicates the expectation of being authenticated to the other - * side of the communication when the initiator or acceptor is used. - *

- * If the SimplePrincipal is directly or indirectly in - * the the_principal field of a - * PrincipalIdentityStatement, - * the authenticated field indicates only the - * "best effort" of knowing whether the principal has been possibly - * authenticated or not. In other word, if this field is - * TRUE, it is for sure that the principal has been - * authenticated (or is expecting to be authenticated). - * If this field is FALSE, the principal may or may not - * have been authenticated. The reason for this ambiguity is that - * a PrincipalIdentityStatement may be created before - * the authentication of the principal being performed. In general, - * the authenticated field of a - * SimplePrincipal inside the the_principal - * field of a PrincipalIdentityStatement should not be - * taken as a definite answer for the authentication status of the - * SimplePrincipal. - * - * @see ClientCredentials.client_authentication - * @see ClientCredentials.target_authentication - * @see TargetCredentials.client_authentication - * @see TargetCredentials.target_authentication - */ - // For example, if a client uses the User/Password mechanism to - // communicate with a target, the client's OwnCredentials, created - // using a PasswordGenerator, will have the authenticated - // field in the principal in the initiator being true, - // although the client may not have been authenticated to the target. - // - public boolean authenticated; - /** - * This field contains the other name types, such as - * that appear in the X.509 alternate name fields. - */ - public PrincipalNameList alternate_names; - - }; - - /** - * A ProxyPrincipal represents a principal that speaks for another. - * The principal is proved that it is authorized to speak for another. - * The system believes this, either by trust rules of its own, - * or by delivered endorsement from the principal such as - * Principal (B for A) where the endorsement takes the form - * in the Principal Calculus as (T says B serves A) - * where T is some entity trusted by the security service - * to make those statements. - *

- * Important: This valuetype extends the Principal value type. The - * the_name filed of this object will contain the name of the - * speaks_for principal, as that is the name most access control - * systems would care about. Therefore, this value type can be - * truncated by access control systems that do not want to - * examine the principal in detail. - */ - valuetype ProxyPrincipal : /* truncatable */ Principal { - - /** - * In a Proxy Principal of (A for B) the speaking field - * represents the principal A. - */ - public Principal speaking; - - /** - * In a Proxy Principal of (A for B) the speaks_for field - * represents the principal B. - */ - public Principal speaks_for; - - }; - - /** - * A QuotingPrincipal represents a principal that speaks for another. - * The principal is not proved that it is authorized to speak for another. - * The system derives principals like this based on statements in the - * Pricipal Calculus, such as "A says B says r", which results in the - * quoting principal (A|B) says r, where "r" is a statement, such as - * a CORBA request. The security service derives principals like - * this from the CSI Identity Assertion mechanism. - *

- * Important: This valuetype extends the Principal value type. The - * the_name filed of this object will contain the name of the - * quotes_for principal, as that is the name most access control - * systems would care about. Therefore, this value type can be - * truncated by access control systems that do not want to - * examine the principal in detail. - */ - valuetype QuotingPrincipal : /* truncatable */ Principal { - - /** - * In a Quoting Principal of (A|B) the speaking field - * represents the principal A. - */ - public Principal speaking; - - /** - * In a Quoting Principal of (A|B) the quotes_for field - * represents the principal B. - */ - public Principal quotes_for; - - }; - - // - // Statements - // - - /** - * A Statement is a value type that has extensions which - * represent the different relevant data directed by its StatementType. - * There are two basic Statement Types, an IdentityStatement and - * an EndorsementStatement. An identity statement is a statement that - * asserts an identity. It may represent a the components of - * an X.509 certificate during an authentication. An EndorsementStatement - * may represent the contents of an X.509 AttributeCertificate or - * some other notion of an endorsement, such as a certificate in - * BizTalk XML. - *

- * Statements are contained in the Credentials Objects. They - * represent pieces of evidence collected from which the security - * service deduces the Principal of the Credentials Objects. - */ - typedef unsigned long StatementType; - - /** - * The Identity Statement Type. - *

- * A statement of this type at least extends to the - * IdentityStatement valuetype, if not truncated - * @see IdentityStatement - */ - const StatementType ST_IdentityStatement = 1; //valuetype IdentityStatement - - /** - * The Endorsement Statement Type. - *

- * A statement of this type at least extends to the - * EndorsementStatement valuetype, if not truncated - * @see EndorsementStatement - */ - const StatementType ST_EndorsementStatement = 2; //valuetype EndorsementStatement - - /** - * An encoding is a sequence of bytes. - */ - typedef sequence Encoding; - - /** - * Statement encoding type. - *

- * Statements carry their original encoding information, if - * they came from an encoding, such as list of X.509 identity - * certificates (i.e. a chain). The encoding type may be derivable - * from the encoding itself. For example, it's easy to tell the - * difference between a PEM encoded certificate, and a DER encoded - * certificate. Therefore, the encoding type may default to "Unknown". - * Other types may exist than the ones provided as constants in - * this module. - */ - typedef string EncodingType; - - /** - * The ET_NoEncoding type signifies that the statement - * has been generated solely by the security service - * and has no encoding. - */ - const EncodingType ET_NoEncoding = "NoEncoding"; - - /** - * The ET_Unknown encoding type may always be used if the encoding - * type can only be figured out from encoding itself. - */ - const EncodingType ET_Unknown = "Unknown"; - - /** - * User Exception for a bad encoding. - */ - exception BadEncoding {}; - - /** - * User Exception for a bad or unsupported encoding type. - */ - exception BadEncodingType {}; - - /** - * The Statement Layer is the layer of the protocol or security - * service from which the statement emanated, derived, or was collected. - */ - typedef unsigned long StatementLayer; - - /** - * Default type for a Statement Layer - */ - const StatementLayer SL_Unknown = 0; - /** - * The SL_Transport statement type signifies that the associated - * statement is derived from the transport layer, such as - * an X.509 Certificate from a TLS handshake. - */ - const StatementLayer SL_Transport = 1; - /** - * The SL_CSIAuthorization statement type signifies that the associated - * statement is derived from the CSI Authorization Layer in the CSIv2 - * protocol. - */ - const StatementLayer SL_CSIAuthorization = 2; - /** - * The SL_CSIClientAuth statement type signifies that the associated - * statement is derived from the CSI Client Authentication Layer - * in the CSIv2 protocol. - */ - const StatementLayer SL_CSIClientAuth = 3; - /** - * The SL_CSIIdentity statement type signifies that the associated - * statement is derived from the CSI Identity Assertion Layer - * in the CSIv2 protocol. - */ - const StatementLayer SL_CSIIdentity = 4; - - /** - * The SL_UserDefined statement layer signifies that the associate - * statement is derived or created by a user or some other - * entity than the security service. - */ - const StatementLayer SL_UserDefined = 5; - - /** - * The Statement base type contains the information common - * to all statements. A statement has an "external" encoding, such - * as an X509 Certificate. Some statements may not have an encoding, - * but its extension may carry the pertinent marshable information, - * such as a PrincipalIdentityStatement for anonymous, which is - * generated by the security service. - */ - valuetype Statement { - /** - * This field contains an identifier of the - * service layer that generated the statement. - * The layer that generated or delivered - * the statement, i.e. Transport, CSIv2 Authentication, - * CSIv2 Authorization, or CSIv2 Identity Assertion. - */ - public StatementLayer the_layer; - /** - * The type of statement, which indicates its extension - * such as an Identity Statement or an Endorsement - * Statement. - */ - public StatementType the_type; - /** - * This field indicates the type of encoding. - * The encoding may be contrived, at the encoding - * may not exist, however, the extension of the - * statement type may contain data that can - * be marshaled across the wire. See the Principal - * Identity Statement. - */ - private EncodingType encoding_type; - /** - * The bytes of the encoding, if it exists. - */ - private Encoding the_encoding; - - /** - * Returns the encoding type - */ - EncodingType get_encoding_type(); - - /** - * Returns an encoding of this statement. Some implementations - * may be able to convert. Using and encoding_type of - * ET_Unknown, will always yield the default encoding, - * if it exists. If the encoding does not exist, - * a successful return containing an empty - * sequence will result. - */ - Encoding get_encoding( - in EncodingType encoding_type - ) raises ( - BadEncodingType - ); - - /** - * This factory method allows users to create their - * own Statements from an encoding. The statements created - * by this factory method may have a type which is a further - * extension of the valuetype Statement. - */ - factory create( - in EncodingType encoding_type, - in Encoding the_encoding - ); - }; - typedef sequence StatementList; - - /** - * The Identity Statement further classifies the encoding - * as a statement that if verified asserts an identity. - */ - valuetype IdentityStatement : Statement { - /** - * This field contains a possibly well known identifier that - * may aid in the interpretation of the identity statement's - * encoding. It may be an empty string, which signifies that - * there is no known interpretation aid for the encoding, or - * that there is no encoding. - */ - public string interpretation_aid; - }; - - /** - * The Principal Identity Statement is the minimal version of an - * Identity statement that asserts a single identity that the - * security service can translate into a principal. - *

- * An example of an identity statement is an X.509 certificate in - * which its attributes are exposed into the principal, such as - * privileges. This valuetype may also be further extended by the - * security service depending on its encoding and the capabilities - * of the security service. - */ - valuetype PrincipalIdentityStatement : IdentityStatement { - public Principal the_principal; - }; - - /** - * The Endorsement Statement is a statement that is used for - * authorization. An Endorsement statement endorses a - * principal with certain characteristics, such as privileges - * or the authority to act on behalf of another principal, sometimes - * called "delegation". - *

- * According to our research, an endorsement statement may be a - * complex entity containing matching rules for the endorsement. - * An endorsement may have the following general form: - *

-     *     I says Principal A matching [(P1 with [p1,...,pn]) or ....]
-     *        speaks_for
-     *          Principal B matching [(T1 with [t1,...,tn]) or ... ]
-     *        has [s1,...,sm]
-     *        on Resources matching [R1, .... Rn]
-     * 
- * Actual semantic reduction of principals is directed by the - * the matching rules, and may depend on other statements as well, - * such as local trust rules in the security service configuration. - * Also, much of the capability of an endorsement statement is - * dependent on its encoding. - *

- * This approach to authorization is a largely unexplored research - * topic. There are not many or well known encodings of endorsement - * statements. Therefore, we are reluctant to produce interfaces - * just yet, that go beyond the encoding. However, we do expose the - * Endorsement statement type, which may further direct the interpretation - * of it's encoding. - */ - valuetype EndorsementStatement : Statement { - /** - * This field contains a possibly well known identifier that - * may aid in the interpretation of the identity statement's - * encoding. It may be an empty string, which signifies that - * there is no known interpretation aid for the encoding, or - * that there is no encoding. - */ - public string interpretation_aid; - }; - - /** - * An X509IdentityStatement is one that extends the Principal Identity - * Statement. If one does get an X509 IdentityStatement, it is - * currently supported with IAIK in both DER and PEM formats. - */ - valuetype X509IdentityStatement : PrincipalIdentityStatement { - /** - * This factory method allows users to create their - * own X509Identity statements from an encoding. - */ - factory create( - in EncodingType encoding_type, - in Encoding the_encoding - ); - }; - typedef sequence X509IdentityStatementList; - - //------------------------------------------------------------- - // Security Level 3 Application Users Interface - // - //------------------------------------------------------------- - - // - // The Security Level 3 Credentials Model - // - - /** - * Credentials come in three types. OwnCredentials, ClientCredentials, - * and TargetCredentials. OwnCredentials represent the ORB instance's - * credentials. Each Credentials has initiating and accepting capability. - * ClientCredentials represent an established security context with - * a client. TargetCredentials represent an established security context - * with a Target's Server. - */ - typedef unsigned long CredentialsType; - - /** - * The CT_OwnCredentials CredentialsType signifies that the - * Credentials can be extended to the OwnCredentials Type. - */ - const CredentialsType CT_OwnCredentials = 0; - /** - * The CT_ClientCredentials CredentialsType signifies that the - * Credentials can be extended to the ClientCredentials Type. - */ - const CredentialsType CT_ClientCredentials = 1; - /** - * The CT_TargetCredentials CredentialsType signifies that the - * Credentials can be extended to the ClientCredentials Type. - */ - const CredentialsType CT_TargetCredentials = 2; - - /** - * A Credentials object has a validity state. Some credentials - * may be time or use dependent. - */ - typedef long CredentialsState; - - /** - * The Credentials with a CredentialsState of CS_Invalid cannot be - * used in any the initiating or accepting establishment of any - * security contexts. - */ - const CredentialsState CS_Invalid = -3; - - /** - * Credentials with a CredentialsState of CS_Expired can no longer - * be used for initiating or accepting establishment of any - * security contexts. - */ - const CredentialsState CS_Expired = -2; - /** - * Credentials with a CredentialsState of CS_PendingRelease can no longer - * be used for initiating or accepting establishment of any - * security contexts. It means that "release_credentials" has been - * called on the credentials. - */ - const CredentialsState CS_PendingRelease = -1; - /** - * Credentials with a CredentialsState of CS_Initialized cannot - * be used for initiating or accepting establishment of any - * security contexts. It means that credentials are in an initial - * state. This value is for internal use, and there is no - * reason a SecurityLevel3 user should see credentials in this state. - */ - const CredentialsState CS_Initialized = 0; - /** - * Credentials with a CredentialsState of CS_Valid can - * be used for initiating or accepting establishment of - * security contexts. - */ - const CredentialsState CS_Valid = 1; - - /** - * Credentials have system generated identifiers - * to which they can be referred and retrieved. - */ - typedef string CredentialsId; - typedef sequence CredentialsIdList; - - /** - * A Context Id is a system generated unique identifier for identifying - * a security context to the application. - * Security Contexts may be long lived and not established on - * every request. Therefore, an identifier is assigned. - *

- * Note that this Context Id is not directly related to the context - * defined in the CSIv2 specification. - */ - typedef string ContextId; - - /** - * Credentials Usage - *

- * Credentials Usage refers to the concept that Credentials may - * be used to initiate security context, accept security contexts, - * or do both. its values are used in the acquisition - * of credentials for the purpose of designating the abilities - * of the credentials acquired. - */ - typedef unsigned long CredentialsUsage; - /** - * The CU_Indefinite CredentialsUsage type is a value that - * signifies the default. Depending on some other acquisition - * arguments, the credentials usage may be able to be implicitly - * determined. - */ - const CredentialsUsage CU_Indefinite = 1; - /** - * The CU_None CredentialsUsage type is a value that states the - * credentials cannot be used to make or accept security - * contexts. ClientCredentials and TargetCredentials have - * this credentials usage. - */ - const CredentialsUsage CU_None = 2; - /** - * The CU_AcceptOnly CredentialsUsage type is a value that signifies - * that the credentials can only be used to accept the establishment - * of security contexts. - */ - const CredentialsUsage CU_AcceptOnly = 3; - /** - * The CU_InitiateOnly CredentialsUsage type is a value that signifies - * that the credentials can only be used to initiate the establishment - * of security contexts. - */ - const CredentialsUsage CU_InitiateOnly = 4; - /** - * The CU_InitiateAndAccept CredentialsUsage type is a value that - * signifies that the credentials can be used to both initiate - * and accept the establishment of security contexts. - */ - const CredentialsUsage CU_InitiateAndAccept = 5; - - /** - * A CredsDirective is a directive on a invocation as to the - * effects of the initiated security context will have on the - * the accepting side. Please see ContextEstablishmentPolicy - * for is use in context with establishing security contexts. - * @see ContextEstablishmentPolicy - */ - typedef unsigned long CredsDirective; - /** - * The CD_Default CredsDirective is a value that signifies to - * use the capabilities of the selected credentials. - */ - const CredsDirective CD_Default = 0; - /** - * The CD_InvokeTarget CredsDirective is a value that signifies that - * the selected credentials should only be used in a simple - * invocation fashion. They shall not attempt to endorse or embody - * the target to act on its behalf. - */ - const CredsDirective CD_InvokeTarget = 1; - /** - * The CD_EndorseTarget CredsDirective is a value that signifies that - * the selected credentials, if capable, should attempt to endorse - * the target. In other words, it gives the accepting side the ability - * to act on behalf of the initiating side. - */ - const CredsDirective CD_EndorseTarget = 2; - /** - * The CD_EmbodyTarget CredsDirective is a value that signifies that - * the selected credentials, if capable, should attempt to embody - * the target. In other words, it gives the accepting side the ability - * to impersonate the initiating side. - */ - const CredsDirective CD_EmbodyTarget = 3; - - /** - * A Feature Directive is a general directive used in policy that - * stipulates the of a particular feature. Such examples include, - * confidentiality, integrity, client authentication, etc. - */ - typedef long FeatureDirective; - - /** - * The FD_DoNotUse FeatureDirective means definitely not to use - * the feature. - */ - const FeatureDirective FD_DoNotUse = -2; - /** - * The FD_DoNotUseIfPossible FeatureDirective means not to use - * the feature if it is possible. Note, some mechanisms may always - * use confidentiality. - */ - const FeatureDirective FD_DoNotUseIfPossible = -1; - /** - * The FD_UseDefault FeatureDirective means to use or not to use - * the feature depending on defaults. - */ - const FeatureDirective FD_UseDefault = 0; - /** - * The FD_UseIfPossible FeatureDirective means to use the feature - * if it is possible. - */ - const FeatureDirective FD_UseIfPossible = 1; - /** - * The FD_Use FeatureDirective means definitely to use the feature. - */ - const FeatureDirective FD_Use = 2; - - - /** - * The Initiator Type of the Initiator Side of the Credentials states - * the kind of Initiator it is. There are three types that mirror - * the type of Principal, Simple, Quoting, and Proxy, that the - * initiator intends to represent to a server while trying to - * establish a security context with the server. - */ - typedef unsigned long InitiatorType; - /** - * The IT_None InitiatorType is a value that is defined for - * completeness, and has no real use. - */ - const InitiatorType IT_None = 0; - /** - * The IT_Simple InitiatorType is a value that states that the - * initiator is a "Simple" Principal. - */ - const InitiatorType IT_Simple = 1; - /** - * The IT_Quoting InitiatorType is a value that states that the - * initiator will quote another principal to the server. This - * principal is denoted in the Principal Calculus as (A|B), i.e. - * A quoting B. - */ - const InitiatorType IT_Quoting = 2; - /** - * The IT_Proxy InitiatorType is a value that states that the - * initiator will quote another principal to the server along with - * getting or providing proof to the server that it can act on - * behalf of the quoted principals. This - * principal is denoted in the Principal Calculus as (A for B). - */ - const InitiatorType IT_Proxy = 3; - - /** - * The CredsInitiator object is an object that is directly a - * member of a particular OwnCredentials object. It represents - * the "initiator" side of the credentials. - */ - local interface CredsInitiator { - - /** - * The principal attribute contains a local view of the - * Principal that the Credentials intend to represent. - * Note that during context establishment, the actual establish - * client principal may be represented differently, especially - * with respect to environmental attributes. Some environmental - * attributes are a direct result of context establishment. - */ - readonly attribute Principal the_principal; - /** - * The supporting statements attribute contains a list of statements - * supporting the principal associated with this initiator. - */ - readonly attribute StatementList supporting_statements; - /** - * The restricted_resources attribute contains a list of - * resource names, by which the credentials initiator - * believes his authorizations apply. - */ - readonly attribute ResourceNameList restricted_resources; - /** - * The initiator_type attribute signifies the intent of the - * initiator as to the principal it presents for the - * security context establishment. It should correspond - * to the type of the Principal. However, it might be slightly - * different, because using CSIv2 Client Authentication - * technically creates a "QuotingPrincipal" however, the - * initiator type will still be simple as no CSIv2 Identity - * Assertion will be used in establishing the security - * context. - */ - readonly attribute InitiatorType initiator_type; - /** - * The supports_embodiment attribute is TRUE if these credentials - * can be directed by use of the CredsDirective, to give the - * the accepting end of a context establishment the ability - * to impersonate this initiator principal. - */ - readonly attribute boolean supports_embodiment; - /** - * The supports_endorsement attribute is TRUE if these credentials - * can be directed by use of the CredsDirective, to endorse - * the accepting end of a context establishment to act - * on behalf of this initiator principal. - */ - readonly attribute boolean supports_endorsement; - /** - * The supports_quoting attribute is TRUE if these credentials - * can be directed by use of the CredsDirective, to simply - * quote another principal on top of these credentials. - */ - readonly attribute boolean supports_quoting; - /** - * The expiry_time attribute denotes the time that these - * credentials expire. - */ - readonly attribute TimeBase::UtcT expiry_time; - }; - - /** - * The CredsAcceptor object is an object that is directly a - * member of a particular OwnCredentials object. It represents - * the "acceptor" side of the credentials. - */ - local interface CredsAcceptor { - - /** - * The principal attribute contains a local view of the - * Principal that the Credentials intend to represent. - * Note that during context establishment, the actual establish - * target principal may be represented differently, especially - * with respect to environmental attributes. Some environmental - * attributes are a direct result of context establishment. - */ - readonly attribute SecurityLevel3::Principal the_principal; - /** - * The supporting_statements attribute contains a list of statements - * supporting the principal associated with this acceptor. - */ - readonly attribute SecurityLevel3::StatementList supporting_statements; - /** - * The restricted_resources attribute contains a list of - * resource names, by which the credentials initiator - * believes his authorizations apply. - */ - readonly attribute ResourceNameList restricted_resources; - /** - * The accepts_endorsement attribute is TRUE if these credentials - * supports and accepts CSIv2 endorsement information. - */ - readonly attribute boolean accepts_endorsement; - /** - * The accepts_quoting attribute is TRUE if these credentials - * supports and accepts CSIv2 Identity Assertion information. - */ - readonly attribute boolean accepts_quoting; - /** - * The expiry_time attribute denotes the time that these - * credentials expire. - */ - readonly attribute TimeBase::UtcT expiry_time; - - }; - - /** - * This type is used to identify listeners for removal. - * A Listener identity will be assigned to a listener when - * it is assigned to a particular object. - */ - typedef string ListenerId; - - /** - * This local interface is used to notify the user when the credentials - * have been relinquished. When credentials are "released" they may - * stay around until their work is finished. At that point they - * will be relinquished. Also, if the underlying transport credentials - * are released, then the SecurityLevel3 Credentials get released - * as well. This listener will get informed of this event. - */ - local interface RelinquishedCredentialsListener { - void relinquished_notify( - in CredentialsId creds_id - ); - }; - - /** - * The Credentials base interface contains the common items for - * the different types of credentials. - * @see OwnCredentials - * @see ClientCredentials - * @see TargetCredentials - */ - local interface Credentials { - - /** - * The creds_id attribute contains a system generated - * identifier with which can uniquely reference the credentials - * object. - */ - readonly attribute CredentialsId creds_id; - - /** - * The creds_type stipulates the type of credentials, i.e. - * to which type of credentials it may be narrowed, e.g., - * Own, Client, or Target. - */ - readonly attribute CredentialsType creds_type; - - /** - * The creds_usage attribute stipulates the intended usage of the - * credentials. For OwnCredentials, it will be one of - * CU_AcceptOnly, CU_Initiate, CU_InitiateAndAccept. - * For ClientCredentials and TargetCredentials it will be - * CU_None. - */ - readonly attribute CredentialsUsage creds_usage; - - /** - * The expiry_time attribute denotes the time that these - * credentials expire. - */ - readonly attribute TimeBase::UtcT expiry_time; - - /** - * The creds_state attribute contains the - * validity state of the credentials. - */ - readonly attribute CredentialsState creds_state; - - /** - * Add a listener that will get notified when the - * OwnCredentials are finally done with any pending - * work and are relinquished by the security service. - */ - ListenerId add_relinquished_listener( - in RelinquishedCredentialsListener listener - ); - - /** - * Removes a listener. This function raises a BAD_PARAM - * exception if the listener is not registered. - */ - void remove_relinquished_listener( - in ListenerId id - ); - }; - /** - * A list of credentials. - */ - typedef sequence CredentialsList; - - /** - * OwnCredentials are created as a result of Credentials acquisition - * from the CredentialsCurator's CredentialsAcquirers. - * The Credentials have an initiator and an acceptor based - * upon its intended usage and capability. Some OwnCredentials - * that were acquired solely for initiating contexts (i.e. client side) - * will not have an acceptor, and visa versa. - */ - local interface OwnCredentials : Credentials { - - /** - * The creds_initiator attribute contains a reference to the - * local credentials initiator associated with these credentials. - * It is null if the creds_usage is AcceptOnly. - */ - readonly attribute CredsInitiator creds_initiator; - - /** - * The creds_acceptor attribute contains a reference to the - * local credentials acceptor associated with these credentials. - * It is null if the creds_usage is InitiateOnly. - */ - readonly attribute CredsAcceptor creds_acceptor; - - /** - * The release_credentials operation disables the credentials - * from further initiating and/or accepting contexts. - * Formal destruction of the Credentials object is delayed until - * its pending work is done, at which time it becomes Invalid. - */ - void release_credentials (); - }; - - /** - * A list of OwnCredentials - */ - typedef sequence OwnCredentialsList; - - /** - * An object of this interface represents the security context for - * a CSIv2 based remote client. It is created as the result of accepting - * a security context for the remote client. - * This object is only available during the servicing of a CORBA request. - * It can be retrieved from the - * SecurityLevel3::SecurityCurrent object, - * as it is thread based. - *

- * This object contains only the information used from the - * OwnCredentials that was pertinent in establishing the - * context. There is a pointer back to that OwnCredentials - * object. Once this context is created, its attributes are guaranteed - * not to change. - */ - local interface ClientCredentials : Credentials { - - /** - * The context_id attribute contains a system generated unique identifier - * for the context, - */ - readonly attribute ContextId context_id; - - /** - * The client_principal attribute contains the principal that - * the security service can deduce is the client from the - * information and mechanisms used. - */ - readonly attribute Principal client_principal; - - /** - * The client_supporting_statements attribute contains the statements that - * delivered from CSIv2 protocol along with any from the associated - * OwnCredentials that are used to deduce the client principal. - */ - readonly attribute StatementList client_supporting_statements; - - /** - * The client_restricted_resources attribute contains the names of the - * resources that the security service deduces from the CSIv2 - * information and information from the associated OwnCredentials. - */ - readonly attribute ResourceNameList client_restricted_resources; - - /** - * The target_principal attribute contains the exact principal that - * the security service believes is representative of the - * clients version of the target's principal. - */ - readonly attribute Principal target_principal; - - /** - * The target_supporting_statements attribute contains the statements that - * support the deduction of the target principal. - */ - readonly attribute StatementList target_supporting_statements; - - /** - * The target_restricted_resources attribute contains names of resources - * on which the target is restricted. This information may come - * from the OwnCredentials. - */ - readonly attribute ResourceNameList target_restricted_resources; - - /** - * This attribute refers to the OwnCredentials that were used in - * establishing the security context. - */ - readonly attribute OwnCredentials parent_credentials; - - /** - * This attribute is TRUE if the target has - * authenticated the client, either over the transport, or at - * the CSIv2 Client Authentication layer. - */ - readonly attribute boolean client_authentication; - - /** - * This attribute is TRUE if the target believes that - * the client has authenticated the target over the transport. - */ - readonly attribute boolean target_authentication; - - /** - * This attribute is TRUE if the context is providing - * confidentiality protection. - */ - readonly attribute boolean confidentiality; - - /** - * This attribute is TRUE if the context is providing - * integrity protection. - */ - readonly attribute boolean integrity; - }; - - /** - * The TargetCredentials object is created as the result of accepting a - * security context for a target. It represents that context. - * It contains only the information used from the OwnCredentials - * that was pertinent in establishing the context. - * There is a pointer back to that OwnCredentials object. - * Once this context is created, its attributes are guaranteed - * not to change. - */ - local interface TargetCredentials : Credentials { - - /** - * The context_id attribute contains a system generated - * unique identifier for the context. - */ - readonly attribute ContextId context_id; - - /** - * The client_principal attribute contains the principal that - * the security service believe is the target's - * ClientCredentials client_principal attribute. - */ - readonly attribute Principal client_principal; - - /** - * The client_supporting_statements attribute contains the - * statements that support the deduction of the client principal. - */ - readonly attribute StatementList client_supporting_statements; - - /** - * The client_restricted_resources attribute contains names of - * resources on which the client believes the client is restricted. - * This information may be derived from newly acquired endorsement - * information. - */ - readonly attribute ResourceNameList client_restricted_resources; - - /** - * The target_principal attribute contains the exact principal that - * the security service deduces to be the target. - */ - readonly attribute Principal target_principal; - - /** - * The target_supporting_statements attribute contains the statements - * that support the deduction of the target principal. - */ - readonly attribute StatementList target_supporting_statements; - - /** - * The target_restricted_resources attribute contains names of - * resources on which the target is restricted. This information - * may not be available. - */ - readonly attribute ResourceNameList target_restricted_resources; - - /** - * The parent_credentials attribute refers to the OwnCredentials - * that were used in establishing the security context. - */ - readonly attribute OwnCredentials parent_credentials; - - /** - * The client_authentication attribute is TRUE if the client - * believes that the target has authenticated the client, either - * over the transport, or at the CSIv2 Client Authentication layer. - */ - readonly attribute boolean client_authentication; - - /** - * The target_authentication attribute is TRUE if the client has - * authenticated the target over the transport. - */ - readonly attribute boolean target_authentication; - - /** - * The confidentiality attribute is TRUE if the context is - * providing confidentiality protection. - */ - readonly attribute boolean confidentiality; - - /** - * The integrity attribute is TRUE if the context is providing - * integrity protection. - */ - readonly attribute boolean integrity; - - /** - * The target_embodied attribute is TRUE if the security service - * believes that the target is embodied to impersonate the client - * side principal. - */ - readonly attribute boolean target_embodied; - - /** - * The target_endorsed attribute is TRUE if the security service - * believes that the target is endorsed to act on behalf of the - * client side principal. - */ - readonly attribute boolean target_endorsed; - - /** - * The release operation indicates to the CSIv2 protocol, that if - * state is being retained for these credentials, they - * will be discarded with the pending next request that - * may have not yet gone out. - *

- * Any objects references that are binded to these - * credentials after you release them will become unusable. - * - * This operation is experimental. - */ - void release(); - }; - - - //-------------------------------------------------------------------- - // Security Invocation Policy - // - //-------------------------------------------------------------------- - - /** - * The ContextEstablishmentPolicy policy object directs the - * establishment of security contexts with a target. - *

- * The CredsDirective usage is the following: - *

- *
- * CD_Default - *
- * This directive means to use the default set - * up by the thread, the ORB, the ORB configuration, - * available credentials, or other policies. - *
- * CD_InvokeTarget - *
- * This directive means to use the - * the specified OwnCredentials to create a - * secure association with the target - * before invocation. Do not endorse or embody the target. - * Credentials may be IT_Simple, IT_Quoting, or IT_Proxy. - *
- * CD_EndorseTarget - *
- * This directive means to use the - * the specified OwnCredentials to create a - * secure association with the target - * before invocation. - * The credentials must be - * IT_Simple, IT_Quoting, or IT_Proxy own credentials - * that supports endorsement. - * Note, a Initiator Credentials that is a IT_Proxy - * may have an endorsement statement that not only - * endorses this immediate client, but may very well - * apply to the next target. - *
- * CD_EmbodyTarget - *
- * If possible give the target the ability to - * impersonate the client, is performed using - * transports that can forward their credentials - * in the transport that give the ability to the - * target to work in their own behalf. Alternatively, - * the authenticator may be able to be passed on. - * IT_Simple credentials must have or have the - * ability to forward credentials. This is analogous - * to flipping the DELEGATE bit on GSS-Kerberos Forwardable - * credentials. IT_Quoting principals means - * that you can forward the transport credentials, - * authenticator plus the Quoting statement. - * IT_Proxy principals means that you can forward - * the transport credentials, authenticator, - * and associated proxy statements. - *
- *

- * On using Own Credentials. The creds_ids name Own Credentials. - * Also, they restrict the invocation to use only certain credentials. - * If the cred_ids list is empty, then the own credentials for the - * invocation are selected from a default, which may be - * set on the thread or the ORB instance. - */ - local interface ContextEstablishmentPolicy : CORBA::Policy { - - readonly attribute CredsDirective creds_directive; - readonly attribute OwnCredentialsList creds_list; - readonly attribute FeatureDirective use_client_auth; - readonly attribute FeatureDirective use_target_auth; - readonly attribute FeatureDirective use_confidentiality; - readonly attribute FeatureDirective use_integrity; - }; - - /** - * Type to be passed to ContextEstablishmentPolicy PolicyFactory - * through an Any. - */ - struct ContextEstablishmentPolicyArgument - { - CredsDirective creds_directive; - OwnCredentialsList creds_list; - FeatureDirective use_client_auth; - FeatureDirective use_target_auth; - FeatureDirective use_confidentiality; - FeatureDirective use_integrity; - }; - - /** - * The ContextEstablishmentPolicyType constant is - * holds value used to denote the ContextEstablishmentPolicy. - */ - const CORBA::PolicyType ContextEstablishmentPolicyType = ADIRON_VMCID | 1001; - - - /** - * The ObjectCredentialsPolicy object is placed on the policy list - * of a POA to indicate the own credentials - * that govern the accepting contexts for objects underneath - * that POA. The credentials listed here, only if they have Accepting - * capability, are used to created security components in the - * IOR of the object's reference when created. - */ - local interface ObjectCredentialsPolicy : CORBA::Policy { - readonly attribute OwnCredentialsList creds_list; - }; - - /** - * Type to be passed to ObjectCredentialsPolicy PolicyFactory - * through an Any. - */ - typedef OwnCredentialsList ObjectCredentialsPolicyArgument; - - /** - * The ObjectCredentialsPolicyType constant is - * holds value used to denote the ObjectCredentialsPolicy. - */ - const CORBA::PolicyType ObjectCredentialsPolicyType = ADIRON_VMCID | 1002; - - - //-------------------------------------------------------------------- - // Security Level 3 Credentials Acquisition Mechanism - // - //-------------------------------------------------------------------- - - /** - * Credentials are acquired by a Credentials Acquirer by some - * acquisition mechanism specified in the Credentials Curator. - * Acquisition methods are available on the curator. The - * specifics of arguments needed and the acquisition process - * are defined by the method itself. - */ - typedef string AcquisitionMethod; - typedef sequence AcquisitionMethodList; - - /** - * An acquisition of credentials may quite possibly fail as well - * as be a multistep process. A status defines the current - * state of an acquisition. - */ - typedef long AcquisitionStatus; - /** Acquisition has failed. */ - const AcquisitionStatus AQST_Failed = -2; - /** Acquisition has expired. */ - const AcquisitionStatus AQST_Expired = -1; - /** Acquisition is initialized. */ - const AcquisitionStatus AQST_Initialized = 0; - /** Acquisition needs more processing. */ - const AcquisitionStatus AQST_Continued = 1; - /** Acquisition has succeeded. */ - const AcquisitionStatus AQST_Succeeded = 2; - - /** - * The CredentialsAcquirer object is created by the Credentials - * Curator based on the selected method and initial acquisition - * arguments. When this acquisition is complete and successful, - * the created credentials can be retrieved using the get_credentials - * operation. Once get_credentials is called, this object is destroyed. - */ - local interface CredentialsAcquirer { - - /** - * This attribute contains the acquisition method - * identifier naming the method by which these credentials - * are being acquired. - */ - readonly attribute AcquisitionMethod acquisition_method; - - /** - * This attribute contains the current acquisition - * status of the acquisition process. - */ - readonly attribute AcquisitionStatus current_status; - - /** - * If the acquisition process is a multistep process through calls - * to this acquirer, then this attribute contains the current - * iteration. - */ - readonly attribute unsigned long nth_iteration; - - /** - * If the current_status attribute contains - * the AQST_Continued value, - * this operation returns, if necessary and supported - * by the acquisition method, any data that may direct the - * acquisition. - *

- * If this operation in invoked when the current_status - * attribute does not have the AQST_Continued value, - * a BAD_INV_ORDER exception will be raised. - */ - any get_continuation_data(); - - /** - * This operation continues the acquisition. The argument - * data is dependent on the acquisition method. - */ - AcquisitionStatus continue_acquisition( - in any acquisition_arguments - ); - - /** - * Once the current_status attribute has the - * AQST_Succeeded value, a call to this operation - * is used to retrieve the acquired OwnCredentials - * and, optionally, place the credentials on the curator's default own - * credentials list (for use with default ContextEstablishmentPolicy - * and ObjectCredentialsPolicy). - *

- * The CredentialsAcquirer object is destroyed after - * this call. - * Any operation called on a destroyed CredentialsAcquirer - * raises a BAD_INV_ORDER exception. - *

- * If this operation in invoked when the current_status - * attribute does not have the AQST_Succeeded value, - * a BAD_INV_ORDER exception will be raised. - * - * @param on_list TRUE if these credentials go on the - * default own credentials list of the - * CredentialsCurator. - */ - OwnCredentials get_credentials( - in boolean on_list - ); - - /** - * This operation is used to destroy the - * CredentialsAcquirer object before - * get_credentials is called. - * Any operation called on a destroyed CredentialsAcquirer - * raises a BAD_INV_ORDER exception. - */ - void destroy(); - }; - - /** - * The CredentialsCurator object is a single object per an ORB - * instance's Security Service. It has the ability to create - * CredentialsAcquirers and keeps a list of active default - * credentials. It is resolved by a call to - *

-     *   ORB.resolve_initial_references("SecurityLevel3:CredentialsCurator");
-     * 
- * Or it may be retrieved from the SecurityManager's - * credentials_curator attribute. - *

- * The following pseudo code describes the process of credentials - * acquisition using CredentialsCurator. - *

-     * // Resolve the Credentials Curator
-     * CredentialsCurator curator = ....
-     *     resolve_initial_references("SecurityLevel3:CredentialsCurator");
-     *
-     * // Build up an acquisition argument (e.g., using SL3CSI::CSIArgBuilder)
-     * Any arg = ...
-     *
-     * // Acquire credentials and get a Credentials Acquirer
-     * CredentialsAcquirer acquirer =
-     *     curator.acquire_credentials("SL3CSIAQArgs",arg);
-     *
-     * // Get credentials and destroy the Credentials Acquirer
-     * OwnCredentials own = acquirer.get_credentials(false);
-     * 
- */ - local interface CredentialsCurator { - - /** - * This attribute contains a list of - * acquisition methods that are supported. Method identifiers - * are defined in modules that signify their support. - * - * @see "SL3CSI" - * @see "SL3TLS" - * @see "SL3TCPIP" - * @see "SL3KRB5" - */ - readonly attribute SecurityLevel3::AcquisitionMethodList - supported_methods; - - /** - * This operation starts the process of credentials acquisition and - * create a CredentialsAcquirer for a particular - * acquisition method. It takes an initial set of arguments for - * the acquisition. The content of the arguments are based on the - * acquisiton method. Depending on the method, it is possible that - * the credentials may be immediately available from a call to - * get_credentials on the returned - * CredentialsAcquirer. - *

- * If the process of credentials acquisition is not completed upon - * the return of the acquire_credentials operation, - * the returned CredentialsAcquirer object shall have - * its current_status at AQST_Continued. - * In this case, the get_continuation_data and - * continue_acquisition operations shall be used to - * complete the credentials acquisition process. - *

- * If the process of credentials acquisition fails, it is up to the - * implementation to either throw a system exception or return a - * CredentialsAcquirer with the AQST_Failed - * status. - *

- * The acquisition_arguments parameter is a CORBA - * any that is constructed according to the acquisition - * method used. The ArgumentFactory from the - * SL3AQArgs module is a local object that helps - * immensely with the construction of this complex argument. - * Extensions of that object are defined in their own separate - * modules that pertain to the particular acquisition mechanism, - * such as the SL3CSI, SL3TLS, SL3TCPIP, SL3KRB5 modules. - * - * @param acquisition_method - * The identifier of the desired acquisition method. - * A CORBA BAD_PARAM exception will be raised - * if the named method is not supported. - * @param acquisition_arguments - * The argument of the desired acquisition method. - * This CORBA any type is constructed according - * to the particular acquisition method. - * - * @see "SL3AQArgs" - * @see "SL3CSI" - * @see "SL3TLS" - * @see "SL3TCPIP" - * @see "SL3KRB5" - */ - CredentialsAcquirer acquire_credentials( - in SecurityLevel3::AcquisitionMethod acquisition_method, - in any acquisition_arguments - ); - - /** - * The Curator's Default Own Credentials list. - */ - readonly attribute OwnCredentialsList default_creds_list; - - /** - * The Curator's ids of the credentials on the default list. - */ - readonly attribute CredentialsIdList default_creds_ids; - - /** - * This operation retrieves Own Credentials by identifier. - * It is not required that the identifier name a credentials - * on the default_credentials_list. The Curator keeps track - * of all OwnCredentials it creates, until they are explicitly - * released. - */ - OwnCredentials get_own_credentials( - in CredentialsId credentials_id - ); - - /** - * This operation releases credentials from the default_creds_list, - * if there, and also disables the credentials from further use, - * provided that all their pending work is done. - */ - void release_own_credentials ( - in CredentialsId credentials_id - ); - - }; - - //-------------------------------------------------------------------- - // Security Service ORB Objects - // Retrieved from the ORB by "resolve_initial_references". - // - //-------------------------------------------------------------------- - - /** - * The SecurityManager object represents the Security Level 3 - * Security Service. There is one object of this type per ORB - * instance. It is resolved by a call to - *

-     *   ORB.resolve_initial_references("SecurityLevel3:SecurityManager");
-     * 
- */ - local interface SecurityManager { - - /** - * The credentials_curator attribute contains the reference - * to the SecurityLevel3 Credentials Curator. There is only - * one instance per ORB. - */ - readonly attribute CredentialsCurator credentials_curator; - - /** - * The get_target_credentials operation retrieves the - * TargetCredentials that represents a CSIv2 security association - * with a Target. This operation causes communication with - * the target in order to establish a security context. - */ - TargetCredentials get_target_credentials( - in Object the_object - ); - - /** - * The create_context_estab_policy operation is a policy factory - * operation that creates the Security Level 3 - * ContextEstablishmentPolicy object. This policy is placed on - * the policy override lists of object references to direct - * the security characteristics when communicating through - * that object reference. - *

- * If this policy is not put on an object reference, and the - * - * TransportSecurity::ObjectCredentialsPolicy - * is also not on the object references policy list, - * then the default credentials lists from the - * - * SecurityLevel3::CredentialsCurator - * and - * - * TransportSecurity::CredentialsCurator - * are used. - */ - ContextEstablishmentPolicy create_context_estab_policy( - in CredsDirective creds_directive, - in OwnCredentialsList creds_list, - in FeatureDirective use_client_auth, - in FeatureDirective use_target_auth, - in FeatureDirective use_confidentiality, - in FeatureDirective use_integrity - ); - - /** - * The create_object_creds_policy is a policy factory operation - * that creates the ObjectCredentialsPolicy object. This policy - * is solely for use with policies place on POAs with "POA.create_POA". - * It restricts the POAs use of credentials. If this policy is - * not put on a POA, and the - * - * TransportSecurity::ObjectCredentialsPolicy - * is also not on the POA policy list, then the default - * credentials lists from the - * - * SecurityLevel3::CredentialsCurator - * and - * - * TransportSecurity::CredentialsCurator - * are used. - */ - ObjectCredentialsPolicy create_object_creds_policy( - in OwnCredentialsList creds_list - ); - }; - - /** - * The SecurityCurrent object references thread specific - * data pertaining to the security service. It is used to retrieve - * the client's credentials during an invocation on the server side. - *

- * There is only one instance of this object per ORB instance. - * It is resolved by a call to - *

-     *   ORB.resolve_initial_references("SecurityLevel3:SecurityCurrent");
-     * 
- */ - local interface SecurityCurrent { - - /** - * From inside the execution of a target object implementation, - * this attribute contains the representation of the remote client's - * credentials. This attribute is null if the client is not CSIv2 - * based, or the client is from a collocated call. - *

- * The value of this attribute, if not null, represents the - * security context with a remote CSIv2 client. - * If the request_is_local attribute is FALSE, - * the current thread of execution is directly servicing a remote - * request for the target object within the target's implemenation. - * If the request_is_local attribute is TRUE, - * the current thread of execution is servicing an ORB mediated call - * on a collocated object. - *

- * If the client is not CSIv2 based, there are no CSIv2 Client - * Credentials, and this attribute is null. In this case, - * the user should try the - * set_signals (std_signals); -} - -Service_Shutdown::Service_Shutdown (Shutdown_Functor& sf, ACE_Sig_Set& which_signals) - : functor_(sf) -{ - this->set_signals (which_signals); -} - -// It would be nice if we could rely on a portable #define that -// declared the largest signal held in sigset_t, but we can't. -// So, for now, we'll make a possibly bold assumption that sigset_t -// will be at least four bytes. If somebody wants to use a signal -// greater than that, then they'll have to redefine ACE_NSIG. -// -// It would be even nicer if the register_handler() method just took -// an ACE_Sig_Set as an argument and handled all this stuff itself. -// -void -Service_Shutdown::set_signals (ACE_Sig_Set& which_signals) -{ - // iterate over all the signals in which_signals and register them... - bool did_register = false; - for (int i = 1; i < ACE_NSIG; ++i) - { - if (which_signals.is_member (i)) - { - if (this->shutdown_.register_handler (i, this) == -1) - { -#if defined(__TANDEM) -// Tandem NSK platform has no signal 10 so do not emit a warning for it - if (i != 10) -#endif - { - ACE_DEBUG ((LM_WARNING, - "WARNING: Failed to register signal handler " - "for signal %d: %p\n", - i, ACE_TEXT ("register_handler"))); - } - } - else - { - // Store that we have registered for this signal - // we have to unregister later for just these signals - this->registered_signals_.sig_add (i); - did_register = true; - } - } - } - if (! did_register) - { - ACE_DEBUG ((LM_WARNING, - "WARNING: Service_Shutdown did not register any signals.\n")); - } -} - -Service_Shutdown::~Service_Shutdown () -{ - for (int i = 1; i < ACE_NSIG; ++i) - { - if (this->registered_signals_.is_member (i)) - { - this->shutdown_.remove_handler(i); - } - } -} - -int -Service_Shutdown::handle_signal (int signum, - siginfo_t*, ucontext_t*) -{ - this->functor_(signum); - return 0; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h b/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h deleted file mode 100644 index 2663a13d407..00000000000 --- a/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- - -#ifndef _SHUTDOWN_UTILS_H -#define _SHUTDOWN_UTILS_H -#include /**/ "ace/pre.h" - -// $Id$ - -#include "orbsvcs/svc_utils_export.h" - -#include "tao/Versioned_Namespace.h" - -#include "ace/Event_Handler.h" -#include "ace/Signal.h" -#include "ace/Sig_Handler.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * \brief Abstract definition for a Functor that shuts down a particular service. - * - * When subclassing, the developer should provide a constructor or - * other initialization method that somehow couples an instance of the - * functor to the service implementation. She should also provide an - * implementation of operator()(int which_signal) that actually performs - * the shutdown. - */ -class TAO_Svc_Utils_Export Shutdown_Functor -{ -public: - virtual void operator() (int which_signal) = 0; - -protected: - Shutdown_Functor (void) {} - virtual ~Shutdown_Functor (void) {} -}; - -/** - * \brief Class that permits graceful shutdown of a service. - * - * Services require graceful shutdown. Sending a SIGTERM (which is - * what Ctrl-C does on Unix) should trigger a graceful shutdown, not - * simply a graceful termination of the process. - * - * This class can be used to capture signals and gracefully shut down - * the service. - */ -class TAO_Svc_Utils_Export Service_Shutdown : public ACE_Event_Handler -{ -public: - Service_Shutdown (Shutdown_Functor& sf); - Service_Shutdown (Shutdown_Functor& sf, ACE_Sig_Set& which_signals); - ~Service_Shutdown (); - - void set_signals (ACE_Sig_Set& which_signals); - - virtual int handle_signal (int which_sig, - siginfo_t* siginfo, - ucontext_t* context); - -protected: - Shutdown_Functor& functor_; - ACE_Sig_Handler shutdown_; - ACE_Sig_Set registered_signals_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif diff --git a/TAO/orbsvcs/orbsvcs/Svc_Utils.mpc b/TAO/orbsvcs/orbsvcs/Svc_Utils.mpc deleted file mode 100644 index 6d3f2ea5626..00000000000 --- a/TAO/orbsvcs/orbsvcs/Svc_Utils.mpc +++ /dev/null @@ -1,34 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(Svc_Utils) : orbsvcslib, core, portableserver, tao_versioning_idl_defaults { - sharedname = TAO_Svc_Utils - idlflags += -Wb,export_macro=TAO_Svc_Utils_Export -Wb,export_include=orbsvcs/svc_utils_export.h - dynamicflags = TAO_SVC_UTILS_BUILD_DLL - - IDL_Files { - TimeBase.idl - RtecBase.idl - } - - Source_Files { - TimeBaseC.cpp - TimeBaseS.cpp - RtecBaseC.cpp - RtecBaseS.cpp - Shutdown_Utilities.cpp - Time_Utilities.cpp - IOR_Multicast.cpp - } - - Header_Files { - svc_utils_export.h - } - - Template_Files { - } - - Pkgconfig_Files { - TAO_Svc_Utils.pc.in - } -} diff --git a/TAO/orbsvcs/orbsvcs/Svc_Utils.rc b/TAO/orbsvcs/orbsvcs/Svc_Utils.rc deleted file mode 100644 index b927f5f9703..00000000000 --- a/TAO/orbsvcs/orbsvcs/Svc_Utils.rc +++ /dev/null @@ -1,30 +0,0 @@ -#include "..\..\tao\Version.h" - -1 VERSIONINFO - FILEVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - PRODUCTVERSION TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION,0 - FILEFLAGSMASK 0x3fL - FILEFLAGS 0x0L - FILEOS 0x4L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "Svc_Utils\0" - VALUE "FileVersion", TAO_VERSION "\0" - VALUE "InternalName", "TAO_Svc_UtilsDLL\0" - VALUE "LegalCopyright", "\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "TAO_Svc_Utils.DLL\0" - VALUE "ProductName", "ORBSVCS\0" - VALUE "ProductVersion", TAO_VERSION "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency.pc.in deleted file mode 100644 index d3f639711d0..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosConcurrency -Description: TAO CosConcurrency Stub Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosConcurrency -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Serv.pc.in deleted file mode 100644 index 60156a705ca..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosConcurrency_Serv -Description: TAO CosConcurrency Service Library -Requires: TAO_CosConcurrency_Skel -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosConcurrency_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Skel.pc.in deleted file mode 100644 index 6a7095e3c5a..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosConcurrency_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosConcurrency_Skel -Description: TAO CosConcurrency Skeleton Library -Requires: TAO_CosConcurrency, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosConcurrency_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosEvent.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosEvent.pc.in deleted file mode 100644 index 98cfefc9dbe..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosEvent.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosEvent -Description: TAO CosEvent Stub Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosEvent -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosEvent_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosEvent_Serv.pc.in deleted file mode 100644 index 5f96ef5e7d8..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosEvent_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosEvent_Serv -Description: TAO CosEvent Service Library -Requires: TAO_CosEvent_Skel, TAO_DynamicInterface, TAO_IFR_Client, TAO_Messaging, TAO_CosNaming, TAO_Svc_Utils -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosEvent_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosEvent_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosEvent_Skel.pc.in deleted file mode 100644 index b48e61678d6..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosEvent_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosEvent_Skel -Description: TAO CosEvent Skeleton Library -Requires: TAO_CosEvent, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosEvent_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosLifeCycle.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosLifeCycle.pc.in deleted file mode 100644 index 9ff630be427..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosLifeCycle.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosLifeCycle -Description: TAO CosLifeCycle Library -Requires: TAO_CosNaming, TAO_PortableServer, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosLifeCycle -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosLoadBalancing.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosLoadBalancing.pc.in deleted file mode 100644 index ebb54ad54ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosLoadBalancing.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosLoadBalancing -Description: TAO CosLoadBalancing Library -Requires: TAO_CosNaming, TAO_IORManip, TAO_PortableGroup, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosLoadBalancing -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosNaming.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosNaming.pc.in deleted file mode 100644 index 19899254747..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosNaming.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosNaming -Description: TAO CosNaming Stub Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosNaming -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosNaming_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosNaming_Serv.pc.in deleted file mode 100644 index b67b573478c..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosNaming_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosNaming_Serv -Description: TAO CosNaming Service Library -Requires: TAO_CosNaming_Skel, TAO_Messaging, TAO_Svc_Utils, TAO_IORTable -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosNaming_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosNaming_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosNaming_Skel.pc.in deleted file mode 100644 index ba4fd0022c8..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosNaming_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosNaming_Skel -Description: TAO CosNaming Skeleton Library -Requires: TAO_CosNaming, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosNaming_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosNotification.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosNotification.pc.in deleted file mode 100644 index 5fec272c552..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosNotification.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosNotification -Description: TAO CosNotification Stub Library -Requires: TAO_CosEvent, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosNotification -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosNotification_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosNotification_Serv.pc.in deleted file mode 100644 index 79df7dfdc22..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosNotification_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosNotification_Serv -Description: TAO CosNotification Service Library -Requires: TAO_CosNotification_Skel, TAO_Svc_Utils, TAO_DynamicAny, TAO_ETCL -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosNotification_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosNotification_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosNotification_Skel.pc.in deleted file mode 100644 index 292003b1293..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosNotification_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosNotification_Skel -Description: TAO CosNotification Skeleton Library -Requires: TAO_CosNotification, TAO_CosEvent_Skel, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosNotification_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosProperty.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosProperty.pc.in deleted file mode 100644 index 67038f6d9e6..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosProperty.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosProperty -Description: TAO CosProperty Stub Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosProperty -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosProperty_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosProperty_Serv.pc.in deleted file mode 100644 index ae944d6d818..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosProperty_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosProperty_Serv -Description: TAO CosProperty Service Library -Requires: TAO_PortableServer_Skel -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosProperty_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosProperty_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosProperty_Skel.pc.in deleted file mode 100644 index 34cfa1f495f..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosProperty_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosProperty_Skel -Description: TAO CosProperty Skeleton Library -Requires: TAO_CosProperty, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosProperty_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosTime.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosTime.pc.in deleted file mode 100644 index 2372d76fd70..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosTime.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosTime -Description: TAO CosTime Library -Requires: TAO_PortableServer, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosTime -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosTrading.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosTrading.pc.in deleted file mode 100644 index 517f619d0a4..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosTrading.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosTrading -Description: TAO CosTrading Stub Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosTrading -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosTrading_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosTrading_Serv.pc.in deleted file mode 100644 index 311d34a75fd..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosTrading_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosTrading_Serv -Description: TAO CosTrading Service Library -Requires: TAO_CosTrading_Skel, TAO_Svc_Utils, TAO_DynamicAny -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosTrading_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_CosTrading_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_CosTrading_Skel.pc.in deleted file mode 100644 index 3a0dfcada7b..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_CosTrading_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_CosTrading_Skel -Description: TAO CosTrading Skeleton Library -Requires: TAO_CosTrading, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_CosTrading_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin.pc.in deleted file mode 100644 index 5897aec83a9..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsEventLogAdmin -Description: TAO Event Logging Service Stub Library -Requires: TAO, TAO_DsLogAdmin, TAO_CosEvent -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsEventLogAdmin -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Serv.pc.in deleted file mode 100644 index ce352477a2d..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsEventLogAdmin_Serv -Description: TAO Event Logging Service Implementation Library -Requires: TAO_DsEventLogAdmin_Skel, TAO_DsLogAdmin_Serv, TAO_CosEvent_Serv -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsEventLogAdmin_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Skel.pc.in deleted file mode 100644 index 9eb90123b04..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsEventLogAdmin_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsEventLogAdmin_Skel -Description: TAO Event Logging Service Skeleton Library -Requires: TAO_DsEventLogAdmin, TAO_DsLogAdmin_Skel, TAO_CosEvent_Skel, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsEventLogAdmin_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin.pc.in deleted file mode 100644 index 90bfd120c36..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsLogAdmin -Description: TAO Basic Logging Service Stub Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsLogAdmin -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Serv.pc.in deleted file mode 100644 index e018cc07696..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsLogAdmin_Serv -Description: TAO Basic Logging Service Implementation Library -Requires: TAO_DsLogAdmin_Skel, TAO_DynamicAny, TAO_ETCL, TAO_Svc_Utils -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsLogAdmin_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Skel.pc.in deleted file mode 100644 index e55f7803fee..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsLogAdmin_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsLogAdmin_Skel -Description: TAO Basic Logging Service Skeleton Library -Requires: TAO_DsLogAdmin, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsLogAdmin_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin.pc.in deleted file mode 100644 index 2173eff7ec1..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsNotifyLogAdmin -Description: TAO Notify Logging Service Stub Library -Requires: TAO_DsEventLogAdmin, TAO_DsLogAdmin, TAO_CosNotification, TAO_CosEvent, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsNotifyLogAdmin -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Serv.pc.in deleted file mode 100644 index 34743834b21..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsNotifyLogAdmin_Serv -Description: TAO Notify Logging Service Implementation Library -Requires: TAO_DsNotifyLogAdmin_Skel, TAO_DsLogAdmin_Serv -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsNotifyLogAdmin_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Skel.pc.in deleted file mode 100644 index 4488d78c740..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_DsNotifyLogAdmin_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_DsNotifyLogAdmin_Skel -Description: TAO Notify Logging Service Skeleton Library -Requires: TAO_DsNotifyLogAdmin, TAO_DsEventLogAdmin_Skel, TAO_DsLogAdmin_Skel, TAO_CosNotification_Skel, TAO_CosEvent_Skel, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_DsNotifyLogAdmin_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_ETCL.pc.in b/TAO/orbsvcs/orbsvcs/TAO_ETCL.pc.in deleted file mode 100644 index 98825681b5b..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_ETCL.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_ETCL -Description: TAO Extended Trading Constraint Language Library -Requires: TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_ETCL -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_FTORB_Utils.pc.in b/TAO/orbsvcs/orbsvcs/TAO_FTORB_Utils.pc.in deleted file mode 100644 index 5165ed760b1..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_FTORB_Utils.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_FTORB_Utils -Description: TAO Fault Tolerant ORB Utilities Library -Requires: TAO_IORManip, TAO_PortableServer, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_FTORB_Utils -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_FT_ClientORB.pc.in b/TAO/orbsvcs/orbsvcs/TAO_FT_ClientORB.pc.in deleted file mode 100644 index 5d4b8bba041..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_FT_ClientORB.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_FT_ClientORB -Description: TAO Fault Tolerant Client ORB Library -Requires: TAO_FTORB_Utils, TAO_Messaging, TAO_PortableGroup -Version: @VERSION@ -Libs: -L${libdir} -lTAO_FT_ClientORB -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_FT_ServerORB.pc.in b/TAO/orbsvcs/orbsvcs/TAO_FT_ServerORB.pc.in deleted file mode 100644 index 5b0b51b87e6..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_FT_ServerORB.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_FT_ServerORB -Description: TAO Fault Tolerant Server ORB Library -Requires: TAO_FTORB_Utils, TAO_Messaging, TAO_PortableGroup -Version: @VERSION@ -Libs: -L${libdir} -lTAO_FT_ServerORB -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_FaultTolerance.pc.in b/TAO/orbsvcs/orbsvcs/TAO_FaultTolerance.pc.in deleted file mode 100644 index 4150e1f29eb..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_FaultTolerance.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_FaultTolerance -Description: TAO Fault Tolerant Client ORB Library -Requires: TAO_FT_ServerORB, TAO_FT_ClientORB, TAO_CosNotification -Version: @VERSION@ -Libs: -L${libdir} -lTAO_FaultTolerance -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_PortableGroup.pc.in b/TAO/orbsvcs/orbsvcs/TAO_PortableGroup.pc.in deleted file mode 100644 index 0e4e6c876b4..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_PortableGroup.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_PortableGroup -Description: TAO PortableGroup Library -Requires: TAO_CosNaming, TAO_IORManip, TAO_Messaging, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_PortableGroup -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_RTEvent.pc.in b/TAO/orbsvcs/orbsvcs/TAO_RTEvent.pc.in deleted file mode 100644 index b36d36acba5..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_RTEvent.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_RTEvent -Description: TAO RTEvent Stub Library -Requires: TAO_Svc_Utils, TAO_AnyTypeCode, TAO -Version: @VERSION@ -Libs: -L${libdir} -lTAO_RTEvent -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin.pc.in b/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin.pc.in deleted file mode 100644 index 7c0ba70dab7..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_RTEventLogAdmin -Description: TAO RTEvent Logging Service Stub Library -Requires: TAO, TAO_DsLogAdmin, TAO_RTEvent -Version: @VERSION@ -Libs: -L${libdir} -lTAO_RTEventLogAdmin -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Serv.pc.in deleted file mode 100644 index 8e63c1dd211..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_RTEventLogAdmin_Serv -Description: TAO RTEvent Logging Service Implementation Library -Requires: TAO_RTEventLogAdmin_Skel, TAO_DsLogAdmin_Serv, TAO_RTEvent_Serv -Version: @VERSION@ -Libs: -L${libdir} -lTAO_RTEventLogAdmin_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Skel.pc.in deleted file mode 100644 index 210fe308b19..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_RTEventLogAdmin_Skel -Description: TAO RTEvent Logging Service Skeleton Library -Requires: TAO_RTEventLogAdmin, TAO_DsLogAdmin_Skel, TAO_RTEvent_Skel, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_RTEventLogAdmin_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_RTEvent_Serv.pc.in b/TAO/orbsvcs/orbsvcs/TAO_RTEvent_Serv.pc.in deleted file mode 100644 index b37c07333ea..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_RTEvent_Serv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_RTEvent_Serv -Description: TAO RTEvent Service Library -Requires: TAO_RTEvent_Skel, TAO_Svc_Utils, TAO_Messaging -Version: @VERSION@ -Libs: -L${libdir} -lTAO_RTEvent_Serv -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_RTEvent_Skel.pc.in b/TAO/orbsvcs/orbsvcs/TAO_RTEvent_Skel.pc.in deleted file mode 100644 index 4d862cc270d..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_RTEvent_Skel.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_RTEvent_Skel -Description: TAO RTEvent Skeleton Library -Requires: TAO_RTEvent, TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_RTEvent_Skel -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/TAO_Svc_Utils.pc.in b/TAO/orbsvcs/orbsvcs/TAO_Svc_Utils.pc.in deleted file mode 100644 index 049fb2e53b5..00000000000 --- a/TAO/orbsvcs/orbsvcs/TAO_Svc_Utils.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: TAO_Svc_Utils -Description: TAO Service Utilities Library -Requires: TAO_PortableServer -Version: @VERSION@ -Libs: -L${libdir} -lTAO_Svc_Utils -Cflags: -I${includedir} diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp b/TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp deleted file mode 100644 index 55708a8dc13..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp +++ /dev/null @@ -1,288 +0,0 @@ -// $Id$ - -#include "orbsvcs/Time/TAO_TIO.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Constructor. -TAO_TIO::TAO_TIO (TimeBase::TimeT lower, - TimeBase::TimeT upper) -{ - this->attr_time_interval.lower_bound = lower; - this->attr_time_interval.upper_bound = upper; -} - -// Destructor. -TAO_TIO::~TAO_TIO (void) -{ -} - -// This is the get method for the attribute time interval. - -TimeBase::IntervalT -TAO_TIO::time_interval (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return attr_time_interval; -} - -// This operation returns a value of type OverlapType depending on how -// the interval in the object and the time range represented by the -// parameter UTO overlap. If OverlapType is not OTNoOverlap, then the -// out parameter overlap contains the overlap interval, otherwise the -// out parameter contains the gap between the two intervals. - -CosTime::OverlapType -TAO_TIO::spans (CosTime::UTO_ptr uto, - CosTime::TIO_out overlap - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_TIO *tio = 0; - - ACE_TRY - { - TimeBase::TimeT lb1 = - this->time_interval ().lower_bound; - - TimeBase::TimeT up1 = - this->time_interval ().upper_bound; - - TimeBase::TimeT tmp1 = uto->time (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - TimeBase::TimeT tmp2 = uto->inaccuracy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - TimeBase::TimeT lb2 = tmp1 - tmp2; - - - tmp1 = uto->time (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - tmp2 = uto->inaccuracy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - TimeBase::TimeT up2 = tmp1 + tmp2; - - if (lb1 == lb2 && up1 == up2) - { - ACE_NEW_RETURN (tio, - TAO_TIO (lb1, up1), - CosTime::OTNoOverlap); - overlap = tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTOverlap; - } - else if (lb1 > lb2 && up1 < up2) - { - ACE_NEW_RETURN (tio, - TAO_TIO (lb1, up1), - CosTime::OTNoOverlap); - - overlap = tio->_this (); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTContained; - } - else if (lb1 < lb2 && up1 > up2) - { - ACE_NEW_RETURN (tio, - TAO_TIO (lb2, up2), - CosTime::OTNoOverlap); - - overlap = tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTContained; - } - else if (lb1 < lb2) - { - if (up1 < lb2) - { - ACE_NEW_RETURN (tio, - TAO_TIO (0, 0), - CosTime::OTNoOverlap); - - overlap = tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTNoOverlap; - } - else - { - ACE_NEW_RETURN (tio, - TAO_TIO (lb2, up1), - CosTime::OTNoOverlap); - overlap = tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTOverlap; - } - } - else if (up2 < lb1) - { - - ACE_NEW_RETURN (tio, - TAO_TIO (0, 0), - CosTime::OTNoOverlap); - - overlap = tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTNoOverlap; - } - else - { - ACE_NEW_RETURN (tio, - TAO_TIO (lb1, up2), - CosTime::OTNoOverlap); - - overlap = tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception:"); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTNoOverlap; -} - -// This operation returns a value of type OverlapType depending on how -// the interval in the object and interval in the parameter TIO -// overlap. If OverlapType is not OTNoOverlap, then the out parameter -// overlap contains the overlap interval, otherwise the out parameter -// contains the gap between the two intervals. - -CosTime::OverlapType -TAO_TIO::overlaps (CosTime::TIO_ptr tio, - CosTime::TIO_out overlap - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_TIO *tio_i = 0; - - TimeBase::TimeT lb1 = - this->time_interval ().lower_bound; - - TimeBase::TimeT up1 = - this->time_interval ().upper_bound; - - TimeBase::TimeT lb2 = - tio->time_interval ().lower_bound; - - TimeBase::TimeT up2 = - tio->time_interval ().upper_bound; - - if (lb1 == lb2 && up1 == up2) - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (lb1, up1), - CORBA::NO_MEMORY ()); - - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - overlap = tio_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTOverlap; - } - else if (lb1 > lb2 && up1 < up2) - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (lb1, up1), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - overlap = tio_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTContained; - } - else if (lb1 < lb2 && up1 > up2) - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (lb2, up2), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - overlap = tio_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTContained; - } - else if (lb1 < lb2) - { - if (up1 < lb2) - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (0, 0), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - overlap = tio_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTNoOverlap; - } - else - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (lb2, up1), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - overlap = tio_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTOverlap; - } - } - else if (up2 < lb1) - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (0, 0), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - overlap = tio_i->_this (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - - return CosTime::OTNoOverlap; - } - else - { - ACE_NEW_THROW_EX (tio_i, - TAO_TIO (lb1, up2), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::OTNoOverlap); - overlap = tio_i->_this (); - } - - return CosTime::OTNoOverlap; -} - -CosTime::UTO_ptr -TAO_TIO::time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_UTO *uto = 0; - - ACE_NEW_THROW_EX (uto, - TAO_UTO ((this->time_interval ().upper_bound - - this->time_interval ().lower_bound) / 2, - this->time_interval ().upper_bound - - this->time_interval ().lower_bound, - 0), - CORBA::NO_MEMORY ()); - - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_TIO.h b/TAO/orbsvcs/orbsvcs/Time/TAO_TIO.h deleted file mode 100644 index ff4f0e8ab36..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_TIO.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file TAO_TIO.h - * - * $Id$ - * - * This class implements the CosTime::TIO IDL interface. - * - * - * @author Vishal Kachroo - */ -//============================================================================= - - -#ifndef TAO_TIO_H -#define TAO_TIO_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/TimeServiceS.h" -#include "orbsvcs/Time/TAO_UTO.h" -#include "orbsvcs/Time/time_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_TIO - * - * @brief Time Interval Object Implementation. - * - * The TIO represents a time interval and has operations to - * compare itself with a UTO or another TIO. It also has an - * operation to create a UTO from the value of it's time - * interval. - */ -class TAO_Time_Export TAO_TIO : public POA_CosTime::TIO -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_TIO (TimeBase::TimeT lower, - TimeBase::TimeT upper); - - /// Destructor. - ~TAO_TIO (void); - - /// This is the get method for the attribute time interval. - virtual TimeBase::IntervalT time_interval ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * This operation returns a value of type OverlapType depending on - * how the interval in the object and the time range represented by - * the parameter UTO overlap. If OverlapType is not OTNoOverlap, - * then the out parameter overlap contains the overlap interval, - * otherwise the out parameter contains the gap between the two - * intervals. - */ - virtual CosTime::OverlapType spans (CosTime::UTO_ptr time, - CosTime::TIO_out overlap - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * This operation returns a value of type OverlapType depending on - * how the interval in the object and interval in the parameter TIO - * overlap. If OverlapType is not OTNoOverlap, then the out - * parameter overlap contains the overlap interval, otherwise the - * out parameter contains the gap between the two intervals. - */ - virtual CosTime::OverlapType overlaps (CosTime::TIO_ptr interval, - CosTime::TIO_out overlap - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /** - * Returns a UTO in which the inaccuracy interval is equal to the - * time interval in the TIO and time value is the midpoint of the - * interval. - */ - virtual CosTime::UTO_ptr time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -private: - /// This attribute returns an IntervalT structure with the values of - /// its fields filled in with the corresponding values from the TIO. - TimeBase::IntervalT attr_time_interval; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_TIO_H */ diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp b/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp deleted file mode 100644 index 710c8fad7ee..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp +++ /dev/null @@ -1,181 +0,0 @@ -// -*- C++ -*- -// $Id$ - -#include "orbsvcs/Time/TAO_Time_Service_Clerk.h" -#include "orbsvcs/Time/TAO_TIO.h" -#include "orbsvcs/Time/TAO_UTO.h" - -#include "tao/ORB_Core.h" -#include "ace/OS_NS_sys_time.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Constructor. -TAO_Time_Service_Clerk::TAO_Time_Service_Clerk (int timer_value, - int timer_value_usecs, - const IORS& servers) - : server_ (servers), - helper_ (this) -{ - // Schedule the helper to be invoked by the reactor - // periodically. - - if (TAO_ORB_Core_instance ()->reactor ()->schedule_timer - (&helper_, - 0, - ACE_Time_Value::zero, - ACE_Time_Value(timer_value,timer_value_usecs)) == -1) - ACE_ERROR ((LM_ERROR, - "%p\n", - "schedule_timer ()")); -} - -// Destructor. - -TAO_Time_Service_Clerk::~TAO_Time_Service_Clerk (void) -{ -} - -// This method returns the global time and an estimate of inaccuracy -// in a UTO. - -CosTime::UTO_ptr -TAO_Time_Service_Clerk::universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)) -{ - TAO_UTO *uto = 0; - - ACE_NEW_THROW_EX (uto, - TAO_UTO (this->get_time (), - this->inaccuracy (), - this->time_displacement_factor ()), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - // Return the global time as a UTO. - - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// This method returns the global time in a UTO only if the time can -// be guaranteed to have been obtained securely. This method is not -// implemented currently. - -CosTime::UTO_ptr -TAO_Time_Service_Clerk::secure_universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - CosTime::UTO::_nil ()); -} - -// This creates a new UTO based on the given parameters. - -CosTime::UTO_ptr -TAO_Time_Service_Clerk::new_universal_time (TimeBase::TimeT time, - TimeBase::InaccuracyT inaccuracy, - TimeBase::TdfT tdf - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_UTO *uto = 0; - - ACE_NEW_THROW_EX (uto, - TAO_UTO (time, - inaccuracy, - tdf), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// This creates a new UTO given a time in the UtcT form. - -CosTime::UTO_ptr -TAO_Time_Service_Clerk::uto_from_utc (const TimeBase::UtcT &utc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_UTO *uto = 0; - - // Use the low and high values of inaccuracy - // to calculate the total inaccuracy. - - TimeBase::InaccuracyT inaccuracy = utc.inacchi; - inaccuracy <<= 32; - inaccuracy |= utc.inacclo; - - ACE_NEW_THROW_EX (uto, - TAO_UTO (utc.time, - inaccuracy, - utc.tdf), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// This creates a new TIO with the given parameters. - -CosTime::TIO_ptr -TAO_Time_Service_Clerk::new_interval (TimeBase::TimeT lower, - TimeBase::TimeT upper - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_TIO *tio = 0; - - ACE_NEW_THROW_EX (tio, - TAO_TIO (lower, - upper), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::TIO::_nil ()); - return tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -CORBA::ULongLong -TAO_Time_Service_Clerk::get_time (void) -{ - // Globally sync. time is the latest global time plus the time - // elapsed since last updation was done. - - const ACE_Time_Value timeofday = ACE_OS::gettimeofday (); - - return (CORBA::ULongLong) (static_cast (timeofday.sec ()) * - static_cast (10000000) + - static_cast (timeofday.usec () * 10)) - - this->update_timestamp_ - + this->time_; -} - -// Returns the time displacement factor in minutes. -// This is displacement from the GMT. -CORBA::Short -TAO_Time_Service_Clerk::time_displacement_factor (void) -{ - return time_displacement_factor_; -} - -// Sets the TDF. -void -TAO_Time_Service_Clerk::time_displacement_factor (CORBA::Short tdf) -{ - this->time_displacement_factor_ = tdf; -} - -// GET method for inaccuracy. -TimeBase::InaccuracyT -TAO_Time_Service_Clerk::inaccuracy (void) -{ - return this->inaccuracy_; -} - -// SET method for inaccuracy. -void -TAO_Time_Service_Clerk::inaccuracy (TimeBase::InaccuracyT inaccuracy) -{ - this->inaccuracy_ = inaccuracy; -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h b/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h deleted file mode 100644 index ef8d5a9a3dd..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h +++ /dev/null @@ -1,141 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file TAO_Time_Service_Clerk.h - * - * $Id$ - * - * This class implements the CosTime::TimeService IDL interface. - * - * - * @author Vishal Kachroo - */ -//============================================================================= - - -#ifndef TAO_TIME_SERVICE_CLERK_H -#define TAO_TIME_SERVICE_CLERK_H -#include /**/ "ace/pre.h" - -#include "ace/Reactor.h" - -#include "orbsvcs/TimeServiceS.h" -#include "orbsvcs/Time/Timer_Helper.h" -#include "orbsvcs/Time/time_export.h" - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Time_Service_Clerk - * - * @brief TimeService Object Implementation. - * - * The Object implementation implements methods to retrieve - * GLOBAL time as well as secure GLOBAL time. The times are - * retrieved as UTOs. The object also allows creation of a TIO - * for a given time interval. In general, the TimeService clerk - * manages the UTOs and the TIOs. The notion of time returned - * here is the globally synchronized time. - */ -class TAO_Time_Export TAO_Time_Service_Clerk : public POA_CosTime::TimeService -{ -public: - - /// Helper class to help in the updation of time. - friend class Timer_Helper; - - /// Unbounded set of IORs. - typedef ACE_Array_Base IORS; - - // = Initialization and termination methods. - /// Constructor. - TAO_Time_Service_Clerk (int timer_value, - int timer_value_usecs, - const IORS& server); - - /// Destructor. - ~TAO_Time_Service_Clerk (void); - - /// This operation returns the global time and an estimate of - /// inaccuracy in a UTO. - virtual CosTime::UTO_ptr universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)); - - /** - * This operation returns the global time in a UTO only if the time - * can be guaranteed to have been obtained securely. Currently this - * operation is not implemented and throws a CORBA::NO_IMPLEMENT - * exception, if called. - */ - virtual CosTime::UTO_ptr secure_universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)); - - /// This creates a new UTO based on the given parameters. - virtual CosTime::UTO_ptr new_universal_time (TimeBase::TimeT time, - TimeBase::InaccuracyT inaccuracy, - TimeBase::TdfT tdf - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This creates a new UTO given a time in the UtcT form. - virtual CosTime::UTO_ptr uto_from_utc (const TimeBase::UtcT &utc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This creates a new TIO with the given parameters. - virtual CosTime::TIO_ptr new_interval (TimeBase::TimeT lower, - TimeBase::TimeT upper - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// Return the globally synchronized time. - virtual CORBA::ULongLong get_time (void); - - /// Returns the time displacement factor. - CORBA::Short time_displacement_factor (void); - - /// Set the TDF. - void time_displacement_factor (CORBA::Short); - - /// Get method for inaccuracy. - TimeBase::InaccuracyT inaccuracy (void); - - /// Set method for inaccuracy. - void inaccuracy (TimeBase::InaccuracyT inaccuracy); - - /// Clerk's notion of time. - CORBA::ULongLong time_; - -private: - - /// Time displacement factor in minutes. - CORBA::Short time_displacement_factor_; - - /// Inaccuracy in the time. - TimeBase::InaccuracyT inaccuracy_; - - /// Set of server Time Server IORs. - IORS server_; - - /// Time when last global synchronization was done. - CORBA::ULongLong update_timestamp_; - - /** - * This is a friend class that inherits from the Event Handler - * class. The handle_timeout method of this class is scheduled for - * periodic invocation by the reactor. This method, in turn, updates - * the clerks notion of time. Using this class obviates the need for - * the clerk to multiple inherit from the servant base as well as - * the event handler. - */ - Timer_Helper helper_; -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TIME_SERVICE_CLERK_H */ diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp b/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp deleted file mode 100644 index 6fc4cf2b98e..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp +++ /dev/null @@ -1,127 +0,0 @@ -#include "orbsvcs/Time/TAO_UTO.h" -#include "orbsvcs/Time/TAO_TIO.h" -#include "orbsvcs/Time/TAO_Time_Service_Server.h" -#include "ace/OS_NS_sys_time.h" -#include "orbsvcs/Time_Utilities.h" - -#include "tao/debug.h" - - -ACE_RCSID (Time, - TAO_Time_Service_Server, - "$Id$") - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -// Constructor. -TAO_Time_Service_Server::TAO_Time_Service_Server (void) -{ -} - -// Destructor. -TAO_Time_Service_Server::~TAO_Time_Service_Server (void) -{ -} - -// This method returns the current system time and an estimate of -// inaccuracy in a UTO. - -CosTime::UTO_ptr -TAO_Time_Service_Server::universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)) -{ - TAO_UTO *uto = 0; - - TimeBase::TimeT timestamp; - ORBSVCS_Time::Absolute_Time_Value_to_TimeT(timestamp, ACE_OS::gettimeofday()); - - // Return the local time of the system as a UTO. - ACE_NEW_THROW_EX (uto, - TAO_UTO (timestamp, - 0, - 0), - CORBA::NO_MEMORY ()); - - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - - if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, - "Returning a UTO\n")); - - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// This method returns the current time in a UTO only if the time can -// be guaranteed to have been obtained securely. This method is not -// implemented currently. - -CosTime::UTO_ptr -TAO_Time_Service_Server::secure_universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)) -{ - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), - CosTime::UTO::_nil ()); -} - -// This creates a new UTO based on the given parameters. - -CosTime::UTO_ptr -TAO_Time_Service_Server::new_universal_time (TimeBase::TimeT time, - TimeBase::InaccuracyT inaccuracy, - TimeBase::TdfT tdf - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_UTO *uto = 0; - - ACE_NEW_THROW_EX (uto, - TAO_UTO (time, - inaccuracy, - tdf), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// This creates a new UTO given a time in the UtcT form. - -CosTime::UTO_ptr -TAO_Time_Service_Server::uto_from_utc (const TimeBase::UtcT &utc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_UTO *uto = 0; - - ACE_NEW_THROW_EX (uto, - TAO_UTO (utc.time, - utc.inacclo + utc.inacchi, - utc.tdf), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::UTO::_nil ()); - - return uto->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// This creates a new TIO with the given parameters. - -CosTime::TIO_ptr -TAO_Time_Service_Server::new_interval (TimeBase::TimeT lower, - TimeBase::TimeT upper - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_TIO *tio = 0; - - ACE_NEW_THROW_EX (tio, - TAO_TIO (lower, - upper), - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (CosTime::TIO::_nil ()); - - return tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h b/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h deleted file mode 100644 index c87d563935a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file TAO_Time_Service_Server.h - * - * $Id$ - * - * This class implements the CosTime::TimeService IDL interface. - * - * - * @author Vishal Kachroo - */ -//============================================================================= - - -#ifndef TAO_TIME_SERVICE_SERVER_H -#define TAO_TIME_SERVICE_SERVER_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/TimeServiceS.h" -#include "orbsvcs/Time/time_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_Time_Service_Server - * - * @brief TimeService Object Implementation. - * - * The Object implementation implements methods to retrieve - * current time as well as secure current time. The times are - * retrieved as UTOs. The object also allows creation of a TIO - * for a given time interval. In general, the TimeService - * manages the UTOs and the TIOs. The notion of time returned - * here is the local time of the system. - */ -class TAO_Time_Export TAO_Time_Service_Server : public POA_CosTime::TimeService -{ - -public: - // = Initialization and termination methods. - /// Constructor. - TAO_Time_Service_Server (void); - - /// Destructor. - ~TAO_Time_Service_Server (void); - - /// This operation returns the current system time and an estimate of - /// inaccuracy in a UTO. - virtual CosTime::UTO_ptr universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)); - - /** - * This operation returns the current time in a UTO only if the time - * can be guaranteed to have been obtained securely. Currently this operation - * is not implemented and throws a CORBA::NO_IMPLEMENT exception, if called. - */ - virtual CosTime::UTO_ptr secure_universal_time (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - CosTime::TimeUnavailable)); - - /// This creates a new UTO based on the given parameters. - virtual CosTime::UTO_ptr new_universal_time (TimeBase::TimeT time, - TimeBase::InaccuracyT inaccuracy, - TimeBase::TdfT tdf - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This creates a new UTO given a time in the UtcT form. - virtual CosTime::UTO_ptr uto_from_utc (const TimeBase::UtcT &utc - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - /// This creates a new TIO with the given parameters. - virtual CosTime::TIO_ptr new_interval (TimeBase::TimeT lower, - TimeBase::TimeT upper - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_TIME_SERVICE_SERVER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp b/TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp deleted file mode 100644 index c9ea818a549..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp +++ /dev/null @@ -1,246 +0,0 @@ -// -*- C++ -*- -// $Id$ - -#include "orbsvcs/Time/TAO_UTO.h" -#include "orbsvcs/Time/TAO_TIO.h" -#include "ace/OS.h" - - -ACE_RCSID (Time, - TAO_UTO, - "$Id$") - - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -TAO_UTO::TAO_UTO (TimeBase::TimeT time, - TimeBase::InaccuracyT inaccuracy, - TimeBase::TdfT tdf) -{ - - this->attr_utc_time_.time = time; - - // Extract the lower 32 bits in the inacclo. - this->attr_utc_time_.inacclo = (CORBA::ULong) ACE_U64_TO_U32 (inaccuracy); - - // Extract the lower 16 bits of the remaining bits. 'And'ing with 0xFFFF - // is only a sanity check. - -#if defined (ACE_LACKS_U_LONGLONG_T) - this->attr_utc_time_.inacchi = 0; -#else - this->attr_utc_time_.inacchi = - static_cast ((inaccuracy >> 32U) & 0xFFFF); - -#endif /* ACE_LACKS_U_LONGLONG_T */ - - this->attr_utc_time_.tdf = tdf; - -} - -// Destructor. - -TAO_UTO::~TAO_UTO (void) -{ -} - -// Get Method for the readonly attribute time. - -TimeBase::TimeT -TAO_UTO::time (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return attr_utc_time_.time; -} - -// Get method for the readonly attribute inaccuracy. - -TimeBase::InaccuracyT -TAO_UTO::inaccuracy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // Construct the Inaccuracy from the - // inacchi and inacclo. - - TimeBase::InaccuracyT inaccuracy = attr_utc_time_.inacchi; - inaccuracy <<= 32; - inaccuracy |= attr_utc_time_.inacclo; - return inaccuracy; -} - -// Get method for the readonly attribute tdf. - -TimeBase::TdfT -TAO_UTO::tdf (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return attr_utc_time_.tdf; -} - -// Get method for the readonly attribute utc_time. - -TimeBase::UtcT -TAO_UTO::utc_time (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return attr_utc_time_; -} - -// Absolute time = Relative time + Base time. ?? Find out more about -// the Base Time, UTC and Distributed Time Sync. Algos. [3]. - -CosTime::UTO_ptr -TAO_UTO::absolute_time (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return CosTime::UTO::_nil (); -} - -// Compares the time contained in the object with the time in the -// supplied uto according to the supplied comparison type. - -CosTime::TimeComparison -TAO_UTO::compare_time (CosTime::ComparisonType comparison_type, - CosTime::UTO_ptr uto - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TimeBase::TimeT uto_time = uto->time (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::TCIndeterminate); - - TimeBase::InaccuracyT this_inaccuracy = - this->inaccuracy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::TCIndeterminate); - - TimeBase::InaccuracyT uto_inaccuracy = - uto->inaccuracy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (CosTime::TCIndeterminate); - - if (comparison_type == CosTime::MidC) - { - if (this->time () == uto_time) - { - return CosTime::TCEqualTo; - } - else if (this->time () > uto_time) - { - return CosTime::TCGreaterThan; - } - else - return CosTime::TCLessThan; - } - else if (this->time () == uto_time) - { - if (this_inaccuracy == 0U - && uto_inaccuracy == 0U) - { - return CosTime::TCEqualTo; - } - } - else - { - if (this->time () > uto_time) - { - if (this->time () - this_inaccuracy - > uto_time - uto_inaccuracy) - { - return CosTime::TCGreaterThan; - } - } - else if (this->time () + this_inaccuracy - < uto_time - uto_inaccuracy) - { - return CosTime::TCLessThan; - } - } - - return CosTime::TCIndeterminate; -} - -// Returns a TIO representing the time interval between the time in -// the object and the time in the UTO passed as a parameter. The -// interval returned is the interval between the mid-points of the two -// UTOs. Inaccuracies are ignored. Note the result of this operation -// is meaningless if the base times of UTOs are different. - -CosTime::TIO_ptr -TAO_UTO::time_to_interval (CosTime::UTO_ptr uto - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_TIO *tio = 0; - - ACE_TRY - { - TimeBase::TimeT uto_time = uto->time (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (this->time () > uto_time) - { - ACE_NEW_THROW_EX (tio, - TAO_TIO (uto_time, - this->time ()), - CORBA::NO_MEMORY ()); - - ACE_TRY_CHECK; - } - else - { - ACE_NEW_THROW_EX (tio, - TAO_TIO (this->time (), - uto_time), - CORBA::NO_MEMORY ()); - - ACE_TRY_CHECK; - } - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception:"); - return CosTime::TIO::_nil (); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CosTime::TIO::_nil ()); - - return tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -// Returns a TIO object representing the error interval around the -// time value in the UTO. - -CosTime::TIO_ptr -TAO_UTO::interval (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - TAO_TIO *tio = 0; - - ACE_TRY - { - TimeBase::TimeT this_inaccuracy = - this->inaccuracy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - TimeBase::TimeT lower = - this->time () - this_inaccuracy; - - TimeBase::TimeT upper = - this->time () + this_inaccuracy; - - ACE_NEW_THROW_EX (tio, - TAO_TIO (lower, - upper), - CORBA::NO_MEMORY ()); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception:"); - return CosTime::TIO::_nil (); - } - ACE_ENDTRY; - ACE_CHECK_RETURN (CosTime::TIO::_nil ()); - - return tio->_this (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/orbsvcs/orbsvcs/Time/TAO_UTO.h b/TAO/orbsvcs/orbsvcs/Time/TAO_UTO.h deleted file mode 100644 index b4e72e090da..00000000000 --- a/TAO/orbsvcs/orbsvcs/Time/TAO_UTO.h +++ /dev/null @@ -1,119 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file TAO_UTO.h - * - * $Id$ - * - * This class implements the CosTime::UTO IDL interface. - * - * - * @author Vishal Kachroo - */ -//============================================================================= - - -#ifndef TAO_UTO_H -#define TAO_UTO_H -#include /**/ "ace/pre.h" - -#include "orbsvcs/TimeServiceS.h" -#include "orbsvcs/Time/time_export.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/** - * @class TAO_UTO - * - * @brief Universal Time Object Implementation. - * - * This is an encapsulation of the time. It provides the following - * operations on basic time. - * - Construction of a UTO from piece parts, and extraction of the - * piece parts from a UTO. The piece parts are the readonly - * attributes : - * time - * inaccuracy - * time displacement factor - * structure with all the above. - * - Comparison of time. - * - Conversion from relative to absolute time, and conversion to - * an interval (TIO). - */ -class TAO_Time_Export TAO_UTO : public POA_CosTime::UTO -{ -public: - // = Initialization and termination methods. - /// Constructor. - TAO_UTO (TimeBase::TimeT time, - TimeBase::InaccuracyT inaccuracy, - TimeBase::TdfT tdf); - - /// Destructor. - ~TAO_UTO (void); - - /// For the readonly attribute